From 76b3838adbfb92b940be7c3267c6391ff7ec3eb0 Mon Sep 17 00:00:00 2001 From: Petr Skoda Date: Sun, 25 Oct 2009 17:58:57 +0000 Subject: [PATCH] MDL-20632 crippling the Zend framework, only stuff needed for our /webservice/* kept :-( --- lib/zend/Zend/Acl.php | 1119 ---- lib/zend/Zend/Acl/Assert/Interface.php | 64 - lib/zend/Zend/Acl/Exception.php | 36 - lib/zend/Zend/Acl/Resource.php | 65 - lib/zend/Zend/Acl/Resource/Interface.php | 37 - lib/zend/Zend/Acl/Role.php | 65 - lib/zend/Zend/Acl/Role/Interface.php | 37 - lib/zend/Zend/Acl/Role/Registry.php | 271 - lib/zend/Zend/Acl/Role/Registry/Exception.php | 36 - lib/zend/Zend/Application.php | 397 -- .../Zend/Application/Bootstrap/Bootstrap.php | 79 - .../Bootstrap/BootstrapAbstract.php | 764 --- .../Application/Bootstrap/Bootstrapper.php | 94 - .../Zend/Application/Bootstrap/Exception.php | 38 - .../Bootstrap/ResourceBootstrapper.php | 95 - lib/zend/Zend/Application/Exception.php | 38 - .../Zend/Application/Module/Autoloader.php | 89 - .../Zend/Application/Module/Bootstrap.php | 143 - lib/zend/Zend/Application/Resource/Db.php | 156 - .../Zend/Application/Resource/Exception.php | 35 - .../Application/Resource/Frontcontroller.php | 134 - lib/zend/Zend/Application/Resource/Layout.php | 64 - lib/zend/Zend/Application/Resource/Locale.php | 77 - .../Zend/Application/Resource/Modules.php | 132 - .../Zend/Application/Resource/Navigation.php | 118 - .../Zend/Application/Resource/Resource.php | 80 - .../Application/Resource/ResourceAbstract.php | 159 - lib/zend/Zend/Application/Resource/Router.php | 78 - .../Zend/Application/Resource/Session.php | 112 - .../Zend/Application/Resource/Translate.php | 83 - lib/zend/Zend/Application/Resource/View.php | 67 - lib/zend/Zend/Auth.php | 169 - lib/zend/Zend/Auth/Adapter/DbTable.php | 484 -- lib/zend/Zend/Auth/Adapter/Digest.php | 230 - lib/zend/Zend/Auth/Adapter/Exception.php | 38 - lib/zend/Zend/Auth/Adapter/Http.php | 847 --- .../Auth/Adapter/Http/Resolver/Exception.php | 40 - .../Zend/Auth/Adapter/Http/Resolver/File.php | 167 - .../Auth/Adapter/Http/Resolver/Interface.php | 47 - lib/zend/Zend/Auth/Adapter/InfoCard.php | 261 - lib/zend/Zend/Auth/Adapter/Interface.php | 46 - lib/zend/Zend/Auth/Adapter/Ldap.php | 512 -- lib/zend/Zend/Auth/Adapter/OpenId.php | 284 - lib/zend/Zend/Auth/Exception.php | 36 - lib/zend/Zend/Auth/Result.php | 148 - lib/zend/Zend/Auth/Storage/Exception.php | 38 - lib/zend/Zend/Auth/Storage/Interface.php | 67 - lib/zend/Zend/Auth/Storage/NonPersistent.php | 96 - lib/zend/Zend/Auth/Storage/Session.php | 150 - lib/zend/Zend/Cache.php | 245 - lib/zend/Zend/Cache/Backend.php | 272 - lib/zend/Zend/Cache/Backend/Apc.php | 355 - .../Zend/Cache/Backend/ExtendedInterface.php | 126 - lib/zend/Zend/Cache/Backend/File.php | 999 --- lib/zend/Zend/Cache/Backend/Interface.php | 99 - lib/zend/Zend/Cache/Backend/Memcached.php | 502 -- lib/zend/Zend/Cache/Backend/Sqlite.php | 679 -- lib/zend/Zend/Cache/Backend/Test.php | 270 - lib/zend/Zend/Cache/Backend/TwoLevels.php | 506 -- lib/zend/Zend/Cache/Backend/Xcache.php | 216 - lib/zend/Zend/Cache/Backend/ZendPlatform.php | 317 - lib/zend/Zend/Cache/Backend/ZendServer.php | 207 - .../Zend/Cache/Backend/ZendServer/Disk.php | 100 - .../Zend/Cache/Backend/ZendServer/ShMem.php | 100 - lib/zend/Zend/Cache/Core.php | 683 -- lib/zend/Zend/Cache/Exception.php | 32 - lib/zend/Zend/Cache/Frontend/Class.php | 243 - lib/zend/Zend/Cache/Frontend/File.php | 209 - lib/zend/Zend/Cache/Frontend/Function.php | 131 - lib/zend/Zend/Cache/Frontend/Output.php | 106 - lib/zend/Zend/Cache/Frontend/Page.php | 402 -- lib/zend/Zend/Captcha/Adapter.php | 76 - lib/zend/Zend/Captcha/Base.php | 176 - lib/zend/Zend/Captcha/Dumb.php | 52 - lib/zend/Zend/Captcha/Exception.php | 34 - lib/zend/Zend/Captcha/Figlet.php | 85 - lib/zend/Zend/Captcha/Image.php | 600 -- lib/zend/Zend/Captcha/ReCaptcha.php | 267 - lib/zend/Zend/Captcha/Word.php | 373 -- lib/zend/Zend/CodeGenerator/Abstract.php | 147 - lib/zend/Zend/CodeGenerator/Exception.php | 35 - lib/zend/Zend/CodeGenerator/Php/Abstract.php | 97 - lib/zend/Zend/CodeGenerator/Php/Body.php | 73 - lib/zend/Zend/CodeGenerator/Php/Class.php | 513 -- lib/zend/Zend/CodeGenerator/Php/Docblock.php | 220 - .../Zend/CodeGenerator/Php/Docblock/Tag.php | 184 - .../Php/Docblock/Tag/License.php | 98 - .../CodeGenerator/Php/Docblock/Tag/Param.php | 128 - .../CodeGenerator/Php/Docblock/Tag/Return.php | 98 - lib/zend/Zend/CodeGenerator/Php/Exception.php | 37 - lib/zend/Zend/CodeGenerator/Php/File.php | 465 -- .../CodeGenerator/Php/Member/Abstract.php | 222 - .../CodeGenerator/Php/Member/Container.php | 55 - lib/zend/Zend/CodeGenerator/Php/Method.php | 234 - lib/zend/Zend/CodeGenerator/Php/Parameter.php | 250 - .../Php/Parameter/DefaultValue.php | 60 - lib/zend/Zend/CodeGenerator/Php/Property.php | 179 - .../Php/Property/DefaultValue.php | 323 - lib/zend/Zend/Config.php | 456 -- lib/zend/Zend/Config/Exception.php | 33 - lib/zend/Zend/Config/Ini.php | 293 - lib/zend/Zend/Config/Writer.php | 101 - lib/zend/Zend/Config/Writer/Array.php | 132 - lib/zend/Zend/Config/Writer/Ini.php | 212 - lib/zend/Zend/Config/Writer/Xml.php | 204 - lib/zend/Zend/Config/Xml.php | 315 - lib/zend/Zend/Console/Getopt.php | 957 --- lib/zend/Zend/Console/Getopt/Exception.php | 66 - lib/zend/Zend/Controller/Action.php | 688 -- lib/zend/Zend/Controller/Action/Exception.php | 38 - .../Controller/Action/Helper/Abstract.php | 158 - .../Controller/Action/Helper/ActionStack.php | 138 - .../Controller/Action/Helper/AjaxContext.php | 77 - .../Action/Helper/AutoComplete/Abstract.php | 149 - .../Action/Helper/AutoCompleteDojo.php | 87 - .../Helper/AutoCompleteScriptaculous.php | 82 - .../Action/Helper/ContextSwitch.php | 1394 ---- .../Action/Helper/FlashMessenger.php | 266 - .../Zend/Controller/Action/Helper/Json.php | 130 - .../Controller/Action/Helper/Redirector.php | 531 -- .../Zend/Controller/Action/Helper/Url.php | 117 - .../Controller/Action/Helper/ViewRenderer.php | 995 --- .../Zend/Controller/Action/HelperBroker.php | 381 -- .../Action/HelperBroker/PriorityStack.php | 280 - lib/zend/Zend/Controller/Action/Interface.php | 69 - .../Zend/Controller/Dispatcher/Abstract.php | 440 -- .../Zend/Controller/Dispatcher/Exception.php | 37 - .../Zend/Controller/Dispatcher/Interface.php | 206 - .../Zend/Controller/Dispatcher/Standard.php | 492 -- lib/zend/Zend/Controller/Exception.php | 35 - lib/zend/Zend/Controller/Front.php | 986 --- lib/zend/Zend/Controller/Plugin/Abstract.php | 151 - .../Zend/Controller/Plugin/ActionStack.php | 280 - lib/zend/Zend/Controller/Plugin/Broker.php | 363 - .../Zend/Controller/Plugin/ErrorHandler.php | 257 - .../Zend/Controller/Plugin/PutHandler.php | 60 - lib/zend/Zend/Controller/Request/Abstract.php | 356 - .../Zend/Controller/Request/Apache404.php | 82 - .../Zend/Controller/Request/Exception.php | 37 - lib/zend/Zend/Controller/Request/Http.php | 1043 --- .../Zend/Controller/Request/HttpTestCase.php | 276 - lib/zend/Zend/Controller/Request/Simple.php | 55 - .../Zend/Controller/Response/Abstract.php | 755 --- lib/zend/Zend/Controller/Response/Cli.php | 68 - .../Zend/Controller/Response/Exception.php | 36 - lib/zend/Zend/Controller/Response/Http.php | 38 - .../Zend/Controller/Response/HttpTestCase.php | 130 - lib/zend/Zend/Controller/Router/Abstract.php | 170 - lib/zend/Zend/Controller/Router/Exception.php | 36 - lib/zend/Zend/Controller/Router/Interface.php | 124 - lib/zend/Zend/Controller/Router/Rewrite.php | 484 -- lib/zend/Zend/Controller/Router/Route.php | 557 -- .../Zend/Controller/Router/Route/Abstract.php | 117 - .../Zend/Controller/Router/Route/Chain.php | 169 - .../Zend/Controller/Router/Route/Hostname.php | 342 - .../Controller/Router/Route/Interface.php | 37 - .../Zend/Controller/Router/Route/Module.php | 288 - .../Zend/Controller/Router/Route/Regex.php | 262 - .../Zend/Controller/Router/Route/Static.php | 125 - lib/zend/Zend/Crypt.php | 167 - lib/zend/Zend/Crypt/DiffieHellman.php | 380 -- .../Zend/Crypt/DiffieHellman/Exception.php | 36 - lib/zend/Zend/Crypt/Exception.php | 35 - lib/zend/Zend/Crypt/Hmac.php | 181 - lib/zend/Zend/Crypt/Hmac/Exception.php | 36 - lib/zend/Zend/Crypt/Math.php | 102 - lib/zend/Zend/Crypt/Math/BigInteger.php | 117 - .../Zend/Crypt/Math/BigInteger/Bcmath.php | 203 - .../Zend/Crypt/Math/BigInteger/Exception.php | 36 - lib/zend/Zend/Crypt/Math/BigInteger/Gmp.php | 196 - .../Zend/Crypt/Math/BigInteger/Interface.php | 51 - lib/zend/Zend/Crypt/Math/Exception.php | 36 - lib/zend/Zend/Crypt/Rsa.php | 298 - lib/zend/Zend/Crypt/Rsa/Key.php | 95 - lib/zend/Zend/Crypt/Rsa/Key/Private.php | 75 - lib/zend/Zend/Crypt/Rsa/Key/Public.php | 74 - lib/zend/Zend/Currency.php | 624 -- lib/zend/Zend/Currency/Exception.php | 37 - lib/zend/Zend/Db.php | 281 - lib/zend/Zend/Db/Adapter/Abstract.php | 1252 ---- lib/zend/Zend/Db/Adapter/Db2.php | 832 --- lib/zend/Zend/Db/Adapter/Db2/Exception.php | 45 - lib/zend/Zend/Db/Adapter/Exception.php | 58 - lib/zend/Zend/Db/Adapter/Mysqli.php | 549 -- lib/zend/Zend/Db/Adapter/Mysqli/Exception.php | 40 - lib/zend/Zend/Db/Adapter/Oracle.php | 682 -- lib/zend/Zend/Db/Adapter/Oracle/Exception.php | 60 - lib/zend/Zend/Db/Adapter/Pdo/Abstract.php | 401 -- lib/zend/Zend/Db/Adapter/Pdo/Ibm.php | 360 - lib/zend/Zend/Db/Adapter/Pdo/Ibm/Db2.php | 228 - lib/zend/Zend/Db/Adapter/Pdo/Ibm/Ids.php | 301 - lib/zend/Zend/Db/Adapter/Pdo/Mssql.php | 423 -- lib/zend/Zend/Db/Adapter/Pdo/Mysql.php | 257 - lib/zend/Zend/Db/Adapter/Pdo/Oci.php | 378 -- lib/zend/Zend/Db/Adapter/Pdo/Pgsql.php | 326 - lib/zend/Zend/Db/Adapter/Pdo/Sqlite.php | 297 - lib/zend/Zend/Db/Adapter/Sqlsrv.php | 661 -- lib/zend/Zend/Db/Adapter/Sqlsrv/Exception.php | 63 - lib/zend/Zend/Db/Exception.php | 35 - lib/zend/Zend/Db/Expr.php | 77 - lib/zend/Zend/Db/Profiler.php | 460 -- lib/zend/Zend/Db/Profiler/Exception.php | 40 - lib/zend/Zend/Db/Profiler/Firebug.php | 161 - lib/zend/Zend/Db/Profiler/Query.php | 199 - lib/zend/Zend/Db/Select.php | 1340 ---- lib/zend/Zend/Db/Select/Exception.php | 39 - lib/zend/Zend/Db/Statement.php | 485 -- lib/zend/Zend/Db/Statement/Db2.php | 360 - lib/zend/Zend/Db/Statement/Db2/Exception.php | 58 - lib/zend/Zend/Db/Statement/Exception.php | 73 - lib/zend/Zend/Db/Statement/Interface.php | 203 - lib/zend/Zend/Db/Statement/Mysqli.php | 362 - .../Zend/Db/Statement/Mysqli/Exception.php | 38 - lib/zend/Zend/Db/Statement/Oracle.php | 584 -- .../Zend/Db/Statement/Oracle/Exception.php | 59 - lib/zend/Zend/Db/Statement/Pdo.php | 439 -- lib/zend/Zend/Db/Statement/Pdo/Ibm.php | 94 - lib/zend/Zend/Db/Statement/Pdo/Oci.php | 69 - lib/zend/Zend/Db/Statement/Sqlsrv.php | 410 -- .../Zend/Db/Statement/Sqlsrv/Exception.php | 59 - lib/zend/Zend/Db/Table.php | 84 - lib/zend/Zend/Db/Table/Abstract.php | 1514 ----- lib/zend/Zend/Db/Table/Definition.php | 131 - lib/zend/Zend/Db/Table/Exception.php | 38 - lib/zend/Zend/Db/Table/Row.php | 42 - lib/zend/Zend/Db/Table/Row/Abstract.php | 1197 ---- lib/zend/Zend/Db/Table/Row/Exception.php | 38 - lib/zend/Zend/Db/Table/Rowset.php | 43 - lib/zend/Zend/Db/Table/Rowset/Abstract.php | 419 -- lib/zend/Zend/Db/Table/Rowset/Exception.php | 37 - lib/zend/Zend/Db/Table/Select.php | 224 - lib/zend/Zend/Db/Table/Select/Exception.php | 39 - lib/zend/Zend/Debug.php | 108 - lib/zend/Zend/Dojo.php | 87 - lib/zend/Zend/Dojo/BuildLayer.php | 536 -- lib/zend/Zend/Dojo/Data.php | 563 -- lib/zend/Zend/Dojo/Exception.php | 35 - lib/zend/Zend/Dojo/Form.php | 89 - .../Form/Decorator/AccordionContainer.php | 43 - .../Dojo/Form/Decorator/AccordionPane.php | 43 - .../Dojo/Form/Decorator/BorderContainer.php | 43 - .../Zend/Dojo/Form/Decorator/ContentPane.php | 43 - .../Dojo/Form/Decorator/DijitContainer.php | 200 - .../Zend/Dojo/Form/Decorator/DijitElement.php | 195 - .../Zend/Dojo/Form/Decorator/DijitForm.php | 61 - .../Dojo/Form/Decorator/SplitContainer.php | 43 - .../Dojo/Form/Decorator/StackContainer.php | 44 - .../Zend/Dojo/Form/Decorator/TabContainer.php | 43 - lib/zend/Zend/Dojo/Form/DisplayGroup.php | 68 - lib/zend/Zend/Dojo/Form/Element/Button.php | 121 - lib/zend/Zend/Dojo/Form/Element/CheckBox.php | 205 - lib/zend/Zend/Dojo/Form/Element/ComboBox.php | 186 - .../Dojo/Form/Element/CurrencyTextBox.php | 120 - .../Zend/Dojo/Form/Element/DateTextBox.php | 214 - lib/zend/Zend/Dojo/Form/Element/Dijit.php | 189 - .../Zend/Dojo/Form/Element/DijitMulti.php | 304 - lib/zend/Zend/Dojo/Form/Element/Editor.php | 599 -- .../Dojo/Form/Element/FilteringSelect.php | 48 - .../Dojo/Form/Element/HorizontalSlider.php | 208 - .../Zend/Dojo/Form/Element/NumberSpinner.php | 245 - .../Zend/Dojo/Form/Element/NumberTextBox.php | 173 - .../Dojo/Form/Element/PasswordTextBox.php | 42 - .../Zend/Dojo/Form/Element/RadioButton.php | 42 - .../Zend/Dojo/Form/Element/SimpleTextarea.php | 43 - lib/zend/Zend/Dojo/Form/Element/Slider.php | 199 - .../Zend/Dojo/Form/Element/SubmitButton.php | 42 - lib/zend/Zend/Dojo/Form/Element/TextBox.php | 164 - lib/zend/Zend/Dojo/Form/Element/Textarea.php | 42 - .../Zend/Dojo/Form/Element/TimeTextBox.php | 152 - .../Dojo/Form/Element/ValidationTextBox.php | 218 - .../Zend/Dojo/Form/Element/VerticalSlider.php | 208 - lib/zend/Zend/Dojo/Form/SubForm.php | 94 - lib/zend/Zend/Dojo/View/Exception.php | 37 - .../Dojo/View/Helper/AccordionContainer.php | 66 - .../Zend/Dojo/View/Helper/AccordionPane.php | 66 - .../Zend/Dojo/View/Helper/BorderContainer.php | 79 - lib/zend/Zend/Dojo/View/Helper/Button.php | 68 - lib/zend/Zend/Dojo/View/Helper/CheckBox.php | 100 - lib/zend/Zend/Dojo/View/Helper/ComboBox.php | 158 - .../Zend/Dojo/View/Helper/ContentPane.php | 66 - .../Zend/Dojo/View/Helper/CurrencyTextBox.php | 68 - .../Zend/Dojo/View/Helper/CustomDijit.php | 107 - .../Zend/Dojo/View/Helper/DateTextBox.php | 68 - lib/zend/Zend/Dojo/View/Helper/Dijit.php | 311 - .../Zend/Dojo/View/Helper/DijitContainer.php | 92 - lib/zend/Zend/Dojo/View/Helper/Dojo.php | 176 - .../Zend/Dojo/View/Helper/Dojo/Container.php | 1084 --- lib/zend/Zend/Dojo/View/Helper/Editor.php | 132 - .../Zend/Dojo/View/Helper/FilteringSelect.php | 63 - lib/zend/Zend/Dojo/View/Helper/Form.php | 96 - .../Dojo/View/Helper/HorizontalSlider.php | 62 - .../Zend/Dojo/View/Helper/NumberSpinner.php | 90 - .../Zend/Dojo/View/Helper/NumberTextBox.php | 68 - .../Zend/Dojo/View/Helper/PasswordTextBox.php | 56 - .../Zend/Dojo/View/Helper/RadioButton.php | 89 - .../Zend/Dojo/View/Helper/SimpleTextarea.php | 78 - lib/zend/Zend/Dojo/View/Helper/Slider.php | 251 - .../Zend/Dojo/View/Helper/SplitContainer.php | 66 - .../Zend/Dojo/View/Helper/StackContainer.php | 66 - .../Zend/Dojo/View/Helper/SubmitButton.php | 67 - .../Zend/Dojo/View/Helper/TabContainer.php | 66 - lib/zend/Zend/Dojo/View/Helper/TextBox.php | 68 - lib/zend/Zend/Dojo/View/Helper/Textarea.php | 80 - .../Zend/Dojo/View/Helper/TimeTextBox.php | 68 - .../Dojo/View/Helper/ValidationTextBox.php | 68 - .../Zend/Dojo/View/Helper/VerticalSlider.php | 62 - lib/zend/Zend/Dom/Exception.php | 35 - lib/zend/Zend/Dom/Query.php | 223 - lib/zend/Zend/Dom/Query/Css2Xpath.php | 141 - lib/zend/Zend/Dom/Query/Result.php | 183 - lib/zend/Zend/Feed.php | 411 -- lib/zend/Zend/Feed/Abstract.php | 259 - lib/zend/Zend/Feed/Atom.php | 390 -- lib/zend/Zend/Feed/Builder.php | 398 -- lib/zend/Zend/Feed/Builder/Entry.php | 297 - lib/zend/Zend/Feed/Builder/Exception.php | 40 - lib/zend/Zend/Feed/Builder/Header.php | 423 -- lib/zend/Zend/Feed/Builder/Header/Itunes.php | 288 - lib/zend/Zend/Feed/Builder/Interface.php | 52 - lib/zend/Zend/Feed/Element.php | 408 -- lib/zend/Zend/Feed/Entry/Abstract.php | 124 - lib/zend/Zend/Feed/Entry/Atom.php | 280 - lib/zend/Zend/Feed/Entry/Rss.php | 122 - lib/zend/Zend/Feed/Exception.php | 42 - lib/zend/Zend/Feed/Reader.php | 692 -- lib/zend/Zend/Feed/Reader/Entry/Atom.php | 357 - lib/zend/Zend/Feed/Reader/Entry/Rss.php | 614 -- lib/zend/Zend/Feed/Reader/EntryAbstract.php | 242 - lib/zend/Zend/Feed/Reader/EntryInterface.php | 136 - .../Zend/Feed/Reader/Extension/Atom/Entry.php | 506 -- .../Zend/Feed/Reader/Extension/Atom/Feed.php | 441 -- .../Feed/Reader/Extension/Content/Entry.php | 64 - .../Extension/CreativeCommons/Entry.php | 97 - .../Reader/Extension/CreativeCommons/Feed.php | 89 - .../Reader/Extension/DublinCore/Entry.php | 232 - .../Feed/Reader/Extension/DublinCore/Feed.php | 265 - .../Feed/Reader/Extension/EntryAbstract.php | 197 - .../Feed/Reader/Extension/FeedAbstract.php | 166 - .../Feed/Reader/Extension/Podcast/Entry.php | 202 - .../Feed/Reader/Extension/Podcast/Feed.php | 293 - .../Feed/Reader/Extension/Slash/Entry.php | 144 - .../Reader/Extension/Syndication/Feed.php | 168 - .../Feed/Reader/Extension/Thread/Entry.php | 91 - .../Reader/Extension/WellFormedWeb/Entry.php | 73 - lib/zend/Zend/Feed/Reader/Feed/Atom.php | 329 - lib/zend/Zend/Feed/Reader/Feed/Rss.php | 533 -- lib/zend/Zend/Feed/Reader/FeedAbstract.php | 304 - lib/zend/Zend/Feed/Reader/FeedInterface.php | 115 - lib/zend/Zend/Feed/Rss.php | 526 -- lib/zend/Zend/File/Transfer.php | 61 - .../Zend/File/Transfer/Adapter/Abstract.php | 1503 ----- lib/zend/Zend/File/Transfer/Adapter/Http.php | 453 -- lib/zend/Zend/File/Transfer/Exception.php | 55 - lib/zend/Zend/Filter.php | 192 - lib/zend/Zend/Filter/Alnum.php | 136 - lib/zend/Zend/Filter/Alpha.php | 136 - lib/zend/Zend/Filter/BaseName.php | 50 - lib/zend/Zend/Filter/Callback.php | 133 - lib/zend/Zend/Filter/Decrypt.php | 49 - lib/zend/Zend/Filter/Digits.php | 82 - lib/zend/Zend/Filter/Dir.php | 50 - lib/zend/Zend/Filter/Encrypt.php | 134 - lib/zend/Zend/Filter/Encrypt/Interface.php | 47 - lib/zend/Zend/Filter/Encrypt/Mcrypt.php | 282 - lib/zend/Zend/Filter/Encrypt/Openssl.php | 343 - lib/zend/Zend/Filter/Exception.php | 37 - lib/zend/Zend/Filter/File/Decrypt.php | 106 - lib/zend/Zend/Filter/File/Encrypt.php | 106 - lib/zend/Zend/Filter/File/LowerCase.php | 84 - lib/zend/Zend/Filter/File/Rename.php | 305 - lib/zend/Zend/Filter/File/UpperCase.php | 84 - lib/zend/Zend/Filter/HtmlEntities.php | 172 - lib/zend/Zend/Filter/Inflector.php | 506 -- lib/zend/Zend/Filter/Input.php | 1028 --- lib/zend/Zend/Filter/Int.php | 50 - lib/zend/Zend/Filter/Interface.php | 40 - .../Zend/Filter/LocalizedToNormalized.php | 108 - .../Zend/Filter/NormalizedToLocalized.php | 107 - lib/zend/Zend/Filter/PregReplace.php | 156 - lib/zend/Zend/Filter/RealPath.php | 134 - lib/zend/Zend/Filter/StringToLower.php | 76 - lib/zend/Zend/Filter/StringToUpper.php | 76 - lib/zend/Zend/Filter/StringTrim.php | 114 - lib/zend/Zend/Filter/StripNewlines.php | 48 - lib/zend/Zend/Filter/StripTags.php | 315 - lib/zend/Zend/Filter/Word/CamelCaseToDash.php | 44 - .../Zend/Filter/Word/CamelCaseToSeparator.php | 49 - .../Filter/Word/CamelCaseToUnderscore.php | 44 - lib/zend/Zend/Filter/Word/DashToCamelCase.php | 44 - lib/zend/Zend/Filter/Word/DashToSeparator.php | 42 - .../Zend/Filter/Word/DashToUnderscore.php | 45 - .../Zend/Filter/Word/Separator/Abstract.php | 76 - .../Zend/Filter/Word/SeparatorToCamelCase.php | 52 - lib/zend/Zend/Filter/Word/SeparatorToDash.php | 46 - .../Zend/Filter/Word/SeparatorToSeparator.php | 129 - .../Filter/Word/UnderscoreToCamelCase.php | 44 - .../Zend/Filter/Word/UnderscoreToDash.php | 45 - .../Filter/Word/UnderscoreToSeparator.php | 45 - lib/zend/Zend/Form.php | 3079 --------- lib/zend/Zend/Form/Decorator/Abstract.php | 254 - lib/zend/Zend/Form/Decorator/Callback.php | 128 - lib/zend/Zend/Form/Decorator/Captcha.php | 72 - lib/zend/Zend/Form/Decorator/Captcha/Word.php | 78 - lib/zend/Zend/Form/Decorator/Description.php | 199 - lib/zend/Zend/Form/Decorator/DtDdWrapper.php | 63 - lib/zend/Zend/Form/Decorator/Errors.php | 69 - lib/zend/Zend/Form/Decorator/Exception.php | 37 - lib/zend/Zend/Form/Decorator/Fieldset.php | 155 - lib/zend/Zend/Form/Decorator/File.php | 142 - lib/zend/Zend/Form/Decorator/Form.php | 134 - lib/zend/Zend/Form/Decorator/FormElements.php | 126 - lib/zend/Zend/Form/Decorator/FormErrors.php | 397 -- lib/zend/Zend/Form/Decorator/HtmlTag.php | 219 - lib/zend/Zend/Form/Decorator/Image.php | 154 - lib/zend/Zend/Form/Decorator/Interface.php | 123 - lib/zend/Zend/Form/Decorator/Label.php | 329 - .../Form/Decorator/Marker/File/Interface.php | 33 - .../Zend/Form/Decorator/PrepareElements.php | 90 - lib/zend/Zend/Form/Decorator/Tooltip.php | 58 - lib/zend/Zend/Form/Decorator/ViewHelper.php | 256 - lib/zend/Zend/Form/Decorator/ViewScript.php | 144 - lib/zend/Zend/Form/DisplayGroup.php | 1126 ---- lib/zend/Zend/Form/Element.php | 2136 ------ lib/zend/Zend/Form/Element/Button.php | 42 - lib/zend/Zend/Form/Element/Captcha.php | 304 - lib/zend/Zend/Form/Element/Checkbox.php | 203 - lib/zend/Zend/Form/Element/Exception.php | 37 - lib/zend/Zend/Form/Element/File.php | 902 --- lib/zend/Zend/Form/Element/Hash.php | 259 - lib/zend/Zend/Form/Element/Hidden.php | 42 - lib/zend/Zend/Form/Element/Image.php | 131 - lib/zend/Zend/Form/Element/Multi.php | 318 - lib/zend/Zend/Form/Element/MultiCheckbox.php | 52 - lib/zend/Zend/Form/Element/Multiselect.php | 54 - lib/zend/Zend/Form/Element/Password.php | 88 - lib/zend/Zend/Form/Element/Radio.php | 42 - lib/zend/Zend/Form/Element/Reset.php | 42 - lib/zend/Zend/Form/Element/Select.php | 42 - lib/zend/Zend/Form/Element/Submit.php | 122 - lib/zend/Zend/Form/Element/Text.php | 42 - lib/zend/Zend/Form/Element/Textarea.php | 42 - lib/zend/Zend/Form/Element/Xhtml.php | 37 - lib/zend/Zend/Form/Exception.php | 35 - lib/zend/Zend/Form/SubForm.php | 60 - lib/zend/Zend/InfoCard.php | 497 -- lib/zend/Zend/InfoCard/Adapter/Default.php | 79 - lib/zend/Zend/InfoCard/Adapter/Exception.php | 36 - lib/zend/Zend/InfoCard/Adapter/Interface.php | 63 - lib/zend/Zend/InfoCard/Cipher.php | 99 - lib/zend/Zend/InfoCard/Cipher/Exception.php | 38 - .../InfoCard/Cipher/Pki/Adapter/Abstract.php | 88 - .../Zend/InfoCard/Cipher/Pki/Adapter/Rsa.php | 120 - .../Zend/InfoCard/Cipher/Pki/Interface.php | 33 - .../InfoCard/Cipher/Pki/Rsa/Interface.php | 50 - .../Cipher/Symmetric/Adapter/Abstract.php | 38 - .../Cipher/Symmetric/Adapter/Aes128cbc.php | 40 - .../Cipher/Symmetric/Adapter/Aes256cbc.php | 111 - .../Cipher/Symmetric/Aes128cbc/Interface.php | 38 - .../Cipher/Symmetric/Aes256cbc/Interface.php | 33 - .../InfoCard/Cipher/Symmetric/Interface.php | 32 - lib/zend/Zend/InfoCard/Claims.php | 307 - lib/zend/Zend/InfoCard/Exception.php | 43 - lib/zend/Zend/InfoCard/Xml/Assertion.php | 88 - .../Zend/InfoCard/Xml/Assertion/Interface.php | 69 - lib/zend/Zend/InfoCard/Xml/Assertion/Saml.php | 284 - lib/zend/Zend/InfoCard/Xml/Element.php | 107 - .../Zend/InfoCard/Xml/Element/Interface.php | 44 - lib/zend/Zend/InfoCard/Xml/EncryptedData.php | 75 - .../InfoCard/Xml/EncryptedData/Abstract.php | 92 - .../InfoCard/Xml/EncryptedData/XmlEnc.php | 64 - lib/zend/Zend/InfoCard/Xml/EncryptedKey.php | 174 - lib/zend/Zend/InfoCard/Xml/Exception.php | 37 - lib/zend/Zend/InfoCard/Xml/KeyInfo.php | 90 - .../Zend/InfoCard/Xml/KeyInfo/Abstract.php | 37 - .../Zend/InfoCard/Xml/KeyInfo/Default.php | 64 - .../Zend/InfoCard/Xml/KeyInfo/Interface.php | 38 - .../Zend/InfoCard/Xml/KeyInfo/XmlDSig.php | 76 - lib/zend/Zend/InfoCard/Xml/Security.php | 305 - .../Zend/InfoCard/Xml/Security/Exception.php | 37 - .../Zend/InfoCard/Xml/Security/Transform.php | 116 - .../Security/Transform/EnvelopedSignature.php | 60 - .../Xml/Security/Transform/Exception.php | 37 - .../Xml/Security/Transform/Interface.php | 43 - .../Xml/Security/Transform/XmlExcC14N.php | 59 - .../InfoCard/Xml/SecurityTokenReference.php | 173 - lib/zend/Zend/Json.php | 339 - lib/zend/Zend/Json/Decoder.php | 578 -- lib/zend/Zend/Json/Encoder.php | 574 -- lib/zend/Zend/Json/Exception.php | 37 - lib/zend/Zend/Json/Expr.php | 80 - lib/zend/Zend/Json/Server.php | 538 -- lib/zend/Zend/Json/Server/Cache.php | 102 - lib/zend/Zend/Json/Server/Error.php | 198 - lib/zend/Zend/Json/Server/Exception.php | 36 - lib/zend/Zend/Json/Server/Request.php | 289 - lib/zend/Zend/Json/Server/Request/Http.php | 66 - lib/zend/Zend/Json/Server/Response.php | 248 - lib/zend/Zend/Json/Server/Response/Http.php | 81 - lib/zend/Zend/Json/Server/Smd.php | 480 -- lib/zend/Zend/Json/Server/Smd/Service.php | 473 -- lib/zend/Zend/Layout.php | 795 --- .../Controller/Action/Helper/Layout.php | 186 - .../Zend/Layout/Controller/Plugin/Layout.php | 155 - lib/zend/Zend/Layout/Exception.php | 35 - lib/zend/Zend/Ldap.php | 1476 ---- lib/zend/Zend/Ldap/Attribute.php | 420 -- lib/zend/Zend/Ldap/Collection.php | 195 - .../Zend/Ldap/Collection/Iterator/Default.php | 253 - .../Ldap/Collection/Iterator/Interface.php | 46 - lib/zend/Zend/Ldap/Converter.php | 71 - lib/zend/Zend/Ldap/Dn.php | 794 --- lib/zend/Zend/Ldap/Exception.php | 173 - lib/zend/Zend/Ldap/Filter.php | 265 - lib/zend/Zend/Ldap/Filter/Abstract.php | 157 - lib/zend/Zend/Ldap/Filter/And.php | 48 - lib/zend/Zend/Ldap/Filter/Exception.php | 37 - lib/zend/Zend/Ldap/Filter/Logical.php | 107 - lib/zend/Zend/Ldap/Filter/Mask.php | 66 - lib/zend/Zend/Ldap/Filter/Not.php | 75 - lib/zend/Zend/Ldap/Filter/Or.php | 48 - lib/zend/Zend/Ldap/Filter/String.php | 65 - lib/zend/Zend/Ldap/Ldif/Encoder.php | 304 - lib/zend/Zend/Ldap/Node.php | 1098 --- lib/zend/Zend/Ldap/Node/Abstract.php | 485 -- lib/zend/Zend/Ldap/Node/ChildrenIterator.php | 209 - lib/zend/Zend/Ldap/Node/Collection.php | 67 - lib/zend/Zend/Ldap/Node/RootDse.php | 158 - .../Ldap/Node/RootDse/ActiveDirectory.php | 247 - lib/zend/Zend/Ldap/Node/RootDse/OpenLdap.php | 102 - .../Zend/Ldap/Node/RootDse/eDirectory.php | 160 - lib/zend/Zend/Ldap/Node/Schema.php | 120 - .../Zend/Ldap/Node/Schema/ActiveDirectory.php | 103 - .../Schema/AttributeType/ActiveDirectory.php | 104 - .../Node/Schema/AttributeType/Interface.php | 75 - .../Node/Schema/AttributeType/OpenLdap.php | 129 - lib/zend/Zend/Ldap/Node/Schema/Item.php | 163 - .../Schema/ObjectClass/ActiveDirectory.php | 115 - .../Node/Schema/ObjectClass/Interface.php | 83 - .../Ldap/Node/Schema/ObjectClass/OpenLdap.php | 175 - lib/zend/Zend/Ldap/Node/Schema/OpenLdap.php | 502 -- lib/zend/Zend/Loader/Autoloader.php | 584 -- lib/zend/Zend/Loader/Autoloader/Interface.php | 34 - lib/zend/Zend/Loader/Autoloader/Resource.php | 439 -- lib/zend/Zend/Loader/Exception.php | 35 - lib/zend/Zend/Loader/PluginLoader.php | 480 -- .../Zend/Loader/PluginLoader/Exception.php | 39 - .../Zend/Loader/PluginLoader/Interface.php | 75 - lib/zend/Zend/Locale.php | 1019 --- lib/zend/Zend/Locale/Data.php | 1476 ---- lib/zend/Zend/Locale/Data/Translation.php | 96 - lib/zend/Zend/Locale/Data/aa.xml | 221 - lib/zend/Zend/Locale/Data/aa_DJ.xml | 26 - lib/zend/Zend/Locale/Data/aa_ER.xml | 11 - lib/zend/Zend/Locale/Data/aa_ER_SAAHO.xml | 39 - lib/zend/Zend/Locale/Data/aa_ET.xml | 10 - lib/zend/Zend/Locale/Data/af.xml | 822 --- lib/zend/Zend/Locale/Data/af_NA.xml | 75 - lib/zend/Zend/Locale/Data/af_ZA.xml | 10 - lib/zend/Zend/Locale/Data/ak.xml | 190 - lib/zend/Zend/Locale/Data/ak_GH.xml | 10 - lib/zend/Zend/Locale/Data/am.xml | 1409 ---- lib/zend/Zend/Locale/Data/am_ET.xml | 10 - lib/zend/Zend/Locale/Data/ar.xml | 3118 --------- lib/zend/Zend/Locale/Data/ar_AE.xml | 15 - lib/zend/Zend/Locale/Data/ar_BH.xml | 15 - lib/zend/Zend/Locale/Data/ar_DZ.xml | 44 - lib/zend/Zend/Locale/Data/ar_EG.xml | 10 - lib/zend/Zend/Locale/Data/ar_IQ.xml | 15 - lib/zend/Zend/Locale/Data/ar_JO.xml | 66 - lib/zend/Zend/Locale/Data/ar_KW.xml | 15 - lib/zend/Zend/Locale/Data/ar_LB.xml | 67 - lib/zend/Zend/Locale/Data/ar_LY.xml | 15 - lib/zend/Zend/Locale/Data/ar_MA.xml | 47 - lib/zend/Zend/Locale/Data/ar_OM.xml | 15 - lib/zend/Zend/Locale/Data/ar_QA.xml | 50 - lib/zend/Zend/Locale/Data/ar_SA.xml | 50 - lib/zend/Zend/Locale/Data/ar_SD.xml | 15 - lib/zend/Zend/Locale/Data/ar_SY.xml | 82 - lib/zend/Zend/Locale/Data/ar_TN.xml | 75 - lib/zend/Zend/Locale/Data/ar_YE.xml | 50 - lib/zend/Zend/Locale/Data/as.xml | 274 - lib/zend/Zend/Locale/Data/as_IN.xml | 10 - lib/zend/Zend/Locale/Data/az.xml | 2716 -------- lib/zend/Zend/Locale/Data/az_AZ.xml | 11 - lib/zend/Zend/Locale/Data/az_Cyrl.xml | 85 - lib/zend/Zend/Locale/Data/az_Cyrl_AZ.xml | 11 - lib/zend/Zend/Locale/Data/az_Latn.xml | 10 - lib/zend/Zend/Locale/Data/az_Latn_AZ.xml | 11 - lib/zend/Zend/Locale/Data/be.xml | 1091 --- lib/zend/Zend/Locale/Data/be_BY.xml | 10 - lib/zend/Zend/Locale/Data/bg.xml | 3966 ----------- lib/zend/Zend/Locale/Data/bg_BG.xml | 10 - lib/zend/Zend/Locale/Data/bn.xml | 2834 -------- lib/zend/Zend/Locale/Data/bn_BD.xml | 10 - lib/zend/Zend/Locale/Data/bn_IN.xml | 36 - lib/zend/Zend/Locale/Data/bo.xml | 441 -- lib/zend/Zend/Locale/Data/bo_CN.xml | 10 - lib/zend/Zend/Locale/Data/bo_IN.xml | 10 - lib/zend/Zend/Locale/Data/bs.xml | 330 - lib/zend/Zend/Locale/Data/bs_BA.xml | 10 - lib/zend/Zend/Locale/Data/byn.xml | 502 -- lib/zend/Zend/Locale/Data/byn_ER.xml | 10 - lib/zend/Zend/Locale/Data/ca.xml | 3253 --------- lib/zend/Zend/Locale/Data/ca_ES.xml | 10 - lib/zend/Zend/Locale/Data/cch.xml | 189 - lib/zend/Zend/Locale/Data/cch_NG.xml | 10 - lib/zend/Zend/Locale/Data/characters.xml | 482 -- lib/zend/Zend/Locale/Data/cop.xml | 198 - lib/zend/Zend/Locale/Data/cs.xml | 2440 ------- lib/zend/Zend/Locale/Data/cs_CZ.xml | 10 - lib/zend/Zend/Locale/Data/cy.xml | 783 --- lib/zend/Zend/Locale/Data/cy_GB.xml | 10 - lib/zend/Zend/Locale/Data/da.xml | 3130 --------- lib/zend/Zend/Locale/Data/da_DK.xml | 10 - lib/zend/Zend/Locale/Data/de.xml | 2950 -------- lib/zend/Zend/Locale/Data/de_AT.xml | 70 - lib/zend/Zend/Locale/Data/de_BE.xml | 115 - lib/zend/Zend/Locale/Data/de_CH.xml | 61 - lib/zend/Zend/Locale/Data/de_DE.xml | 10 - lib/zend/Zend/Locale/Data/de_LI.xml | 23 - lib/zend/Zend/Locale/Data/de_LU.xml | 19 - lib/zend/Zend/Locale/Data/dv.xml | 226 - lib/zend/Zend/Locale/Data/dv_MV.xml | 10 - lib/zend/Zend/Locale/Data/dz.xml | 407 -- lib/zend/Zend/Locale/Data/dz_BT.xml | 10 - lib/zend/Zend/Locale/Data/ee.xml | 193 - lib/zend/Zend/Locale/Data/ee_GH.xml | 10 - lib/zend/Zend/Locale/Data/ee_TG.xml | 10 - lib/zend/Zend/Locale/Data/el.xml | 4125 ------------ lib/zend/Zend/Locale/Data/el_CY.xml | 20 - lib/zend/Zend/Locale/Data/el_GR.xml | 10 - lib/zend/Zend/Locale/Data/el_POLYTON.xml | 542 -- lib/zend/Zend/Locale/Data/en.xml | 4095 ------------ lib/zend/Zend/Locale/Data/en_AS.xml | 10 - lib/zend/Zend/Locale/Data/en_AU.xml | 160 - lib/zend/Zend/Locale/Data/en_BE.xml | 158 - lib/zend/Zend/Locale/Data/en_BW.xml | 130 - lib/zend/Zend/Locale/Data/en_BZ.xml | 160 - lib/zend/Zend/Locale/Data/en_CA.xml | 127 - lib/zend/Zend/Locale/Data/en_Dsrt.xml | 1024 --- lib/zend/Zend/Locale/Data/en_Dsrt_US.xml | 11 - lib/zend/Zend/Locale/Data/en_GB.xml | 169 - lib/zend/Zend/Locale/Data/en_GU.xml | 10 - lib/zend/Zend/Locale/Data/en_HK.xml | 55 - lib/zend/Zend/Locale/Data/en_IE.xml | 157 - lib/zend/Zend/Locale/Data/en_IN.xml | 145 - lib/zend/Zend/Locale/Data/en_JM.xml | 27 - lib/zend/Zend/Locale/Data/en_MH.xml | 10 - lib/zend/Zend/Locale/Data/en_MP.xml | 10 - lib/zend/Zend/Locale/Data/en_MT.xml | 154 - lib/zend/Zend/Locale/Data/en_NA.xml | 27 - lib/zend/Zend/Locale/Data/en_NZ.xml | 157 - lib/zend/Zend/Locale/Data/en_PH.xml | 17 - lib/zend/Zend/Locale/Data/en_PK.xml | 153 - lib/zend/Zend/Locale/Data/en_SG.xml | 48 - lib/zend/Zend/Locale/Data/en_Shaw.xml | 186 - lib/zend/Zend/Locale/Data/en_TT.xml | 27 - lib/zend/Zend/Locale/Data/en_UM.xml | 10 - lib/zend/Zend/Locale/Data/en_US.xml | 10 - lib/zend/Zend/Locale/Data/en_US_POSIX.xml | 45 - lib/zend/Zend/Locale/Data/en_VI.xml | 10 - lib/zend/Zend/Locale/Data/en_ZA.xml | 152 - lib/zend/Zend/Locale/Data/en_ZW.xml | 145 - lib/zend/Zend/Locale/Data/eo.xml | 632 -- lib/zend/Zend/Locale/Data/es.xml | 3715 ---------- lib/zend/Zend/Locale/Data/es_AR.xml | 129 - lib/zend/Zend/Locale/Data/es_BO.xml | 10 - lib/zend/Zend/Locale/Data/es_CL.xml | 160 - lib/zend/Zend/Locale/Data/es_CO.xml | 128 - lib/zend/Zend/Locale/Data/es_CR.xml | 10 - lib/zend/Zend/Locale/Data/es_DO.xml | 16 - lib/zend/Zend/Locale/Data/es_EC.xml | 123 - lib/zend/Zend/Locale/Data/es_ES.xml | 10 - lib/zend/Zend/Locale/Data/es_GT.xml | 114 - lib/zend/Zend/Locale/Data/es_HN.xml | 114 - lib/zend/Zend/Locale/Data/es_MX.xml | 21 - lib/zend/Zend/Locale/Data/es_NI.xml | 16 - lib/zend/Zend/Locale/Data/es_PA.xml | 110 - lib/zend/Zend/Locale/Data/es_PE.xml | 111 - lib/zend/Zend/Locale/Data/es_PR.xml | 115 - lib/zend/Zend/Locale/Data/es_PY.xml | 19 - lib/zend/Zend/Locale/Data/es_SV.xml | 16 - lib/zend/Zend/Locale/Data/es_US.xml | 147 - lib/zend/Zend/Locale/Data/es_UY.xml | 24 - lib/zend/Zend/Locale/Data/es_VE.xml | 19 - lib/zend/Zend/Locale/Data/et.xml | 1984 ------ lib/zend/Zend/Locale/Data/et_EE.xml | 10 - lib/zend/Zend/Locale/Data/eu.xml | 1005 --- lib/zend/Zend/Locale/Data/eu_ES.xml | 10 - lib/zend/Zend/Locale/Data/fa.xml | 3309 --------- lib/zend/Zend/Locale/Data/fa_AF.xml | 305 - lib/zend/Zend/Locale/Data/fa_IR.xml | 10 - lib/zend/Zend/Locale/Data/fi.xml | 3830 ----------- lib/zend/Zend/Locale/Data/fi_FI.xml | 10 - lib/zend/Zend/Locale/Data/fil.xml | 1010 --- lib/zend/Zend/Locale/Data/fil_PH.xml | 10 - lib/zend/Zend/Locale/Data/fo.xml | 795 --- lib/zend/Zend/Locale/Data/fo_FO.xml | 10 - lib/zend/Zend/Locale/Data/fr.xml | 5461 --------------- lib/zend/Zend/Locale/Data/fr_BE.xml | 103 - lib/zend/Zend/Locale/Data/fr_CA.xml | 152 - lib/zend/Zend/Locale/Data/fr_CH.xml | 124 - lib/zend/Zend/Locale/Data/fr_FR.xml | 10 - lib/zend/Zend/Locale/Data/fr_LU.xml | 23 - lib/zend/Zend/Locale/Data/fr_MC.xml | 10 - lib/zend/Zend/Locale/Data/fr_SN.xml | 10 - lib/zend/Zend/Locale/Data/fur.xml | 1225 ---- lib/zend/Zend/Locale/Data/fur_IT.xml | 10 - lib/zend/Zend/Locale/Data/ga.xml | 1504 ----- lib/zend/Zend/Locale/Data/ga_IE.xml | 10 - lib/zend/Zend/Locale/Data/gaa.xml | 194 - lib/zend/Zend/Locale/Data/gaa_GH.xml | 10 - lib/zend/Zend/Locale/Data/gez.xml | 504 -- lib/zend/Zend/Locale/Data/gez_ER.xml | 10 - lib/zend/Zend/Locale/Data/gez_ET.xml | 10 - lib/zend/Zend/Locale/Data/gl.xml | 1361 ---- lib/zend/Zend/Locale/Data/gl_ES.xml | 10 - lib/zend/Zend/Locale/Data/gsw.xml | 2920 -------- lib/zend/Zend/Locale/Data/gsw_CH.xml | 10 - lib/zend/Zend/Locale/Data/gu.xml | 1160 ---- lib/zend/Zend/Locale/Data/gu_IN.xml | 10 - lib/zend/Zend/Locale/Data/gv.xml | 200 - lib/zend/Zend/Locale/Data/gv_GB.xml | 10 - lib/zend/Zend/Locale/Data/ha.xml | 371 - lib/zend/Zend/Locale/Data/ha_Arab.xml | 95 - lib/zend/Zend/Locale/Data/ha_Arab_NG.xml | 11 - lib/zend/Zend/Locale/Data/ha_Arab_SD.xml | 11 - lib/zend/Zend/Locale/Data/ha_GH.xml | 11 - lib/zend/Zend/Locale/Data/ha_Latn.xml | 10 - lib/zend/Zend/Locale/Data/ha_Latn_GH.xml | 11 - lib/zend/Zend/Locale/Data/ha_Latn_NE.xml | 11 - lib/zend/Zend/Locale/Data/ha_Latn_NG.xml | 11 - lib/zend/Zend/Locale/Data/ha_NE.xml | 11 - lib/zend/Zend/Locale/Data/ha_NG.xml | 11 - lib/zend/Zend/Locale/Data/ha_SD.xml | 11 - lib/zend/Zend/Locale/Data/haw.xml | 218 - lib/zend/Zend/Locale/Data/haw_US.xml | 10 - lib/zend/Zend/Locale/Data/he.xml | 2758 -------- lib/zend/Zend/Locale/Data/he_IL.xml | 10 - lib/zend/Zend/Locale/Data/hi.xml | 3344 --------- lib/zend/Zend/Locale/Data/hi_IN.xml | 10 - lib/zend/Zend/Locale/Data/hr.xml | 3705 ---------- lib/zend/Zend/Locale/Data/hr_HR.xml | 10 - lib/zend/Zend/Locale/Data/hu.xml | 3746 ----------- lib/zend/Zend/Locale/Data/hu_HU.xml | 10 - lib/zend/Zend/Locale/Data/hy.xml | 593 -- lib/zend/Zend/Locale/Data/hy_AM.xml | 10 - lib/zend/Zend/Locale/Data/hy_AM_REVISED.xml | 40 - lib/zend/Zend/Locale/Data/ia.xml | 553 -- lib/zend/Zend/Locale/Data/id.xml | 1334 ---- lib/zend/Zend/Locale/Data/id_ID.xml | 10 - lib/zend/Zend/Locale/Data/ig.xml | 191 - lib/zend/Zend/Locale/Data/ig_NG.xml | 10 - lib/zend/Zend/Locale/Data/ii.xml | 254 - lib/zend/Zend/Locale/Data/ii_CN.xml | 10 - lib/zend/Zend/Locale/Data/in.xml | 10 - lib/zend/Zend/Locale/Data/is.xml | 2180 ------ lib/zend/Zend/Locale/Data/is_IS.xml | 10 - lib/zend/Zend/Locale/Data/it.xml | 3008 --------- lib/zend/Zend/Locale/Data/it_CH.xml | 116 - lib/zend/Zend/Locale/Data/it_IT.xml | 10 - lib/zend/Zend/Locale/Data/iu.xml | 182 - lib/zend/Zend/Locale/Data/iw.xml | 10 - lib/zend/Zend/Locale/Data/ja.xml | 3799 ----------- lib/zend/Zend/Locale/Data/ja_JP.xml | 10 - lib/zend/Zend/Locale/Data/ka.xml | 2157 ------ lib/zend/Zend/Locale/Data/ka_GE.xml | 10 - lib/zend/Zend/Locale/Data/kaj.xml | 189 - lib/zend/Zend/Locale/Data/kaj_NG.xml | 10 - lib/zend/Zend/Locale/Data/kam.xml | 188 - lib/zend/Zend/Locale/Data/kam_KE.xml | 10 - lib/zend/Zend/Locale/Data/kcg.xml | 189 - lib/zend/Zend/Locale/Data/kcg_NG.xml | 10 - lib/zend/Zend/Locale/Data/kfo.xml | 189 - lib/zend/Zend/Locale/Data/kfo_CI.xml | 10 - lib/zend/Zend/Locale/Data/kk.xml | 388 -- lib/zend/Zend/Locale/Data/kk_Cyrl.xml | 10 - lib/zend/Zend/Locale/Data/kk_Cyrl_KZ.xml | 11 - lib/zend/Zend/Locale/Data/kk_KZ.xml | 11 - lib/zend/Zend/Locale/Data/kl.xml | 207 - lib/zend/Zend/Locale/Data/kl_GL.xml | 10 - lib/zend/Zend/Locale/Data/km.xml | 668 -- lib/zend/Zend/Locale/Data/km_KH.xml | 10 - lib/zend/Zend/Locale/Data/kn.xml | 1157 ---- lib/zend/Zend/Locale/Data/kn_IN.xml | 10 - lib/zend/Zend/Locale/Data/ko.xml | 3853 ----------- lib/zend/Zend/Locale/Data/ko_KR.xml | 10 - lib/zend/Zend/Locale/Data/kok.xml | 363 - lib/zend/Zend/Locale/Data/kok_IN.xml | 10 - lib/zend/Zend/Locale/Data/kpe.xml | 184 - lib/zend/Zend/Locale/Data/kpe_GN.xml | 17 - lib/zend/Zend/Locale/Data/kpe_LR.xml | 10 - lib/zend/Zend/Locale/Data/ku.xml | 159 - lib/zend/Zend/Locale/Data/ku_Arab.xml | 10 - lib/zend/Zend/Locale/Data/ku_Arab_IQ.xml | 11 - lib/zend/Zend/Locale/Data/ku_Arab_IR.xml | 11 - lib/zend/Zend/Locale/Data/ku_Arab_SY.xml | 11 - lib/zend/Zend/Locale/Data/ku_IQ.xml | 11 - lib/zend/Zend/Locale/Data/ku_IR.xml | 11 - lib/zend/Zend/Locale/Data/ku_Latn.xml | 189 - lib/zend/Zend/Locale/Data/ku_Latn_TR.xml | 11 - lib/zend/Zend/Locale/Data/ku_SY.xml | 11 - lib/zend/Zend/Locale/Data/ku_TR.xml | 11 - lib/zend/Zend/Locale/Data/kw.xml | 200 - lib/zend/Zend/Locale/Data/kw_GB.xml | 10 - lib/zend/Zend/Locale/Data/ky.xml | 276 - lib/zend/Zend/Locale/Data/ky_KG.xml | 10 - lib/zend/Zend/Locale/Data/likelySubtags.xml | 463 -- lib/zend/Zend/Locale/Data/ln.xml | 486 -- lib/zend/Zend/Locale/Data/ln_CD.xml | 10 - lib/zend/Zend/Locale/Data/ln_CG.xml | 10 - lib/zend/Zend/Locale/Data/lo.xml | 624 -- lib/zend/Zend/Locale/Data/lo_LA.xml | 10 - lib/zend/Zend/Locale/Data/lt.xml | 3328 --------- lib/zend/Zend/Locale/Data/lt_LT.xml | 10 - lib/zend/Zend/Locale/Data/lv.xml | 2987 --------- lib/zend/Zend/Locale/Data/lv_LV.xml | 10 - lib/zend/Zend/Locale/Data/metazoneInfo.xml | 1404 ---- lib/zend/Zend/Locale/Data/mk.xml | 2322 ------- lib/zend/Zend/Locale/Data/mk_MK.xml | 10 - lib/zend/Zend/Locale/Data/ml.xml | 4424 ------------ lib/zend/Zend/Locale/Data/ml_IN.xml | 10 - lib/zend/Zend/Locale/Data/mn.xml | 316 - lib/zend/Zend/Locale/Data/mn_CN.xml | 11 - lib/zend/Zend/Locale/Data/mn_Cyrl.xml | 10 - lib/zend/Zend/Locale/Data/mn_Cyrl_MN.xml | 11 - lib/zend/Zend/Locale/Data/mn_MN.xml | 11 - lib/zend/Zend/Locale/Data/mn_Mong.xml | 17 - lib/zend/Zend/Locale/Data/mn_Mong_CN.xml | 11 - lib/zend/Zend/Locale/Data/mo.xml | 10 - lib/zend/Zend/Locale/Data/mr.xml | 1191 ---- lib/zend/Zend/Locale/Data/mr_IN.xml | 10 - lib/zend/Zend/Locale/Data/ms.xml | 557 -- lib/zend/Zend/Locale/Data/ms_BN.xml | 134 - lib/zend/Zend/Locale/Data/ms_MY.xml | 10 - lib/zend/Zend/Locale/Data/mt.xml | 1141 ---- lib/zend/Zend/Locale/Data/mt_MT.xml | 10 - lib/zend/Zend/Locale/Data/my.xml | 1581 ----- lib/zend/Zend/Locale/Data/my_MM.xml | 10 - lib/zend/Zend/Locale/Data/nb.xml | 3082 --------- lib/zend/Zend/Locale/Data/nb_NO.xml | 10 - lib/zend/Zend/Locale/Data/nds.xml | 1149 ---- lib/zend/Zend/Locale/Data/nds_DE.xml | 10 - lib/zend/Zend/Locale/Data/ne.xml | 1383 ---- lib/zend/Zend/Locale/Data/ne_IN.xml | 10 - lib/zend/Zend/Locale/Data/ne_NP.xml | 10 - lib/zend/Zend/Locale/Data/nl.xml | 3798 ----------- lib/zend/Zend/Locale/Data/nl_BE.xml | 80 - lib/zend/Zend/Locale/Data/nl_NL.xml | 10 - lib/zend/Zend/Locale/Data/nn.xml | 2825 -------- lib/zend/Zend/Locale/Data/nn_NO.xml | 10 - lib/zend/Zend/Locale/Data/no.xml | 10 - lib/zend/Zend/Locale/Data/nr.xml | 227 - lib/zend/Zend/Locale/Data/nr_ZA.xml | 10 - lib/zend/Zend/Locale/Data/nso.xml | 229 - lib/zend/Zend/Locale/Data/nso_ZA.xml | 10 - .../Zend/Locale/Data/numberingSystems.xml | 42 - lib/zend/Zend/Locale/Data/ny.xml | 189 - lib/zend/Zend/Locale/Data/ny_MW.xml | 10 - lib/zend/Zend/Locale/Data/oc.xml | 280 - lib/zend/Zend/Locale/Data/oc_FR.xml | 10 - lib/zend/Zend/Locale/Data/om.xml | 328 - lib/zend/Zend/Locale/Data/om_ET.xml | 10 - lib/zend/Zend/Locale/Data/om_KE.xml | 10 - lib/zend/Zend/Locale/Data/or.xml | 1142 ---- lib/zend/Zend/Locale/Data/or_IN.xml | 10 - lib/zend/Zend/Locale/Data/pa.xml | 310 - lib/zend/Zend/Locale/Data/pa_Arab.xml | 134 - lib/zend/Zend/Locale/Data/pa_Arab_PK.xml | 11 - lib/zend/Zend/Locale/Data/pa_Guru.xml | 10 - lib/zend/Zend/Locale/Data/pa_Guru_IN.xml | 11 - lib/zend/Zend/Locale/Data/pa_IN.xml | 11 - lib/zend/Zend/Locale/Data/pa_PK.xml | 11 - lib/zend/Zend/Locale/Data/pl.xml | 3096 --------- lib/zend/Zend/Locale/Data/pl_PL.xml | 10 - lib/zend/Zend/Locale/Data/postalCodeData.xml | 166 - lib/zend/Zend/Locale/Data/ps.xml | 417 -- lib/zend/Zend/Locale/Data/ps_AF.xml | 10 - lib/zend/Zend/Locale/Data/pt.xml | 4338 ------------ lib/zend/Zend/Locale/Data/pt_BR.xml | 10 - lib/zend/Zend/Locale/Data/pt_PT.xml | 1867 ------ lib/zend/Zend/Locale/Data/ro.xml | 2479 ------- lib/zend/Zend/Locale/Data/ro_MD.xml | 10 - lib/zend/Zend/Locale/Data/ro_RO.xml | 10 - lib/zend/Zend/Locale/Data/root.xml | 3208 --------- lib/zend/Zend/Locale/Data/ru.xml | 3950 ----------- lib/zend/Zend/Locale/Data/ru_RU.xml | 10 - lib/zend/Zend/Locale/Data/ru_UA.xml | 116 - lib/zend/Zend/Locale/Data/rw.xml | 306 - lib/zend/Zend/Locale/Data/rw_RW.xml | 10 - lib/zend/Zend/Locale/Data/sa.xml | 150 - lib/zend/Zend/Locale/Data/sa_IN.xml | 10 - lib/zend/Zend/Locale/Data/se.xml | 741 -- lib/zend/Zend/Locale/Data/se_FI.xml | 247 - lib/zend/Zend/Locale/Data/se_NO.xml | 10 - lib/zend/Zend/Locale/Data/sh.xml | 10 - lib/zend/Zend/Locale/Data/sh_BA.xml | 11 - lib/zend/Zend/Locale/Data/sh_CS.xml | 11 - lib/zend/Zend/Locale/Data/sh_YU.xml | 11 - lib/zend/Zend/Locale/Data/si.xml | 242 - lib/zend/Zend/Locale/Data/si_LK.xml | 10 - lib/zend/Zend/Locale/Data/sid.xml | 248 - lib/zend/Zend/Locale/Data/sid_ET.xml | 10 - lib/zend/Zend/Locale/Data/sk.xml | 1901 ------ lib/zend/Zend/Locale/Data/sk_SK.xml | 10 - lib/zend/Zend/Locale/Data/sl.xml | 2544 ------- lib/zend/Zend/Locale/Data/sl_SI.xml | 10 - lib/zend/Zend/Locale/Data/so.xml | 560 -- lib/zend/Zend/Locale/Data/so_DJ.xml | 10 - lib/zend/Zend/Locale/Data/so_ET.xml | 10 - lib/zend/Zend/Locale/Data/so_KE.xml | 10 - lib/zend/Zend/Locale/Data/so_SO.xml | 10 - lib/zend/Zend/Locale/Data/sq.xml | 656 -- lib/zend/Zend/Locale/Data/sq_AL.xml | 10 - lib/zend/Zend/Locale/Data/sr.xml | 5950 ----------------- lib/zend/Zend/Locale/Data/sr_BA.xml | 11 - lib/zend/Zend/Locale/Data/sr_CS.xml | 11 - lib/zend/Zend/Locale/Data/sr_Cyrl.xml | 10 - lib/zend/Zend/Locale/Data/sr_Cyrl_BA.xml | 103 - lib/zend/Zend/Locale/Data/sr_Cyrl_CS.xml | 12 - lib/zend/Zend/Locale/Data/sr_Cyrl_ME.xml | 11 - lib/zend/Zend/Locale/Data/sr_Cyrl_RS.xml | 11 - lib/zend/Zend/Locale/Data/sr_Cyrl_YU.xml | 12 - lib/zend/Zend/Locale/Data/sr_Latn.xml | 5490 --------------- lib/zend/Zend/Locale/Data/sr_Latn_BA.xml | 11 - lib/zend/Zend/Locale/Data/sr_Latn_CS.xml | 12 - lib/zend/Zend/Locale/Data/sr_Latn_ME.xml | 62 - lib/zend/Zend/Locale/Data/sr_Latn_RS.xml | 11 - lib/zend/Zend/Locale/Data/sr_Latn_YU.xml | 12 - lib/zend/Zend/Locale/Data/sr_ME.xml | 11 - lib/zend/Zend/Locale/Data/sr_RS.xml | 11 - lib/zend/Zend/Locale/Data/sr_YU.xml | 11 - lib/zend/Zend/Locale/Data/ss.xml | 231 - lib/zend/Zend/Locale/Data/ss_SZ.xml | 11 - lib/zend/Zend/Locale/Data/ss_ZA.xml | 10 - lib/zend/Zend/Locale/Data/st.xml | 321 - lib/zend/Zend/Locale/Data/st_LS.xml | 17 - lib/zend/Zend/Locale/Data/st_ZA.xml | 10 - .../Zend/Locale/Data/supplementalData.xml | 5364 --------------- lib/zend/Zend/Locale/Data/sv.xml | 4723 ------------- lib/zend/Zend/Locale/Data/sv_FI.xml | 48 - lib/zend/Zend/Locale/Data/sv_SE.xml | 10 - lib/zend/Zend/Locale/Data/sw.xml | 400 -- lib/zend/Zend/Locale/Data/sw_KE.xml | 19 - lib/zend/Zend/Locale/Data/sw_TZ.xml | 10 - lib/zend/Zend/Locale/Data/syr.xml | 129 - lib/zend/Zend/Locale/Data/syr_SY.xml | 10 - lib/zend/Zend/Locale/Data/ta.xml | 1190 ---- lib/zend/Zend/Locale/Data/ta_IN.xml | 10 - lib/zend/Zend/Locale/Data/te.xml | 1154 ---- lib/zend/Zend/Locale/Data/te_IN.xml | 10 - .../Zend/Locale/Data/telephoneCodeData.xml | 747 --- lib/zend/Zend/Locale/Data/tg.xml | 221 - lib/zend/Zend/Locale/Data/tg_Cyrl.xml | 10 - lib/zend/Zend/Locale/Data/tg_Cyrl_TJ.xml | 11 - lib/zend/Zend/Locale/Data/tg_TJ.xml | 11 - lib/zend/Zend/Locale/Data/th.xml | 4438 ------------ lib/zend/Zend/Locale/Data/th_TH.xml | 10 - lib/zend/Zend/Locale/Data/ti.xml | 326 - lib/zend/Zend/Locale/Data/ti_ER.xml | 124 - lib/zend/Zend/Locale/Data/ti_ET.xml | 10 - lib/zend/Zend/Locale/Data/tig.xml | 501 -- lib/zend/Zend/Locale/Data/tig_ER.xml | 10 - lib/zend/Zend/Locale/Data/tl.xml | 10 - lib/zend/Zend/Locale/Data/tn.xml | 308 - lib/zend/Zend/Locale/Data/tn_ZA.xml | 10 - lib/zend/Zend/Locale/Data/to.xml | 611 -- lib/zend/Zend/Locale/Data/to_TO.xml | 10 - lib/zend/Zend/Locale/Data/tr.xml | 3775 ----------- lib/zend/Zend/Locale/Data/tr_TR.xml | 10 - lib/zend/Zend/Locale/Data/trv.xml | 561 -- lib/zend/Zend/Locale/Data/trv_TW.xml | 10 - lib/zend/Zend/Locale/Data/ts.xml | 173 - lib/zend/Zend/Locale/Data/ts_ZA.xml | 10 - lib/zend/Zend/Locale/Data/tt.xml | 104 - lib/zend/Zend/Locale/Data/tt_RU.xml | 10 - lib/zend/Zend/Locale/Data/ug.xml | 36 - lib/zend/Zend/Locale/Data/ug_Arab.xml | 10 - lib/zend/Zend/Locale/Data/ug_Arab_CN.xml | 11 - lib/zend/Zend/Locale/Data/ug_CN.xml | 11 - lib/zend/Zend/Locale/Data/uk.xml | 3814 ----------- lib/zend/Zend/Locale/Data/uk_UA.xml | 10 - lib/zend/Zend/Locale/Data/ur.xml | 1020 --- lib/zend/Zend/Locale/Data/ur_IN.xml | 33 - lib/zend/Zend/Locale/Data/ur_PK.xml | 10 - lib/zend/Zend/Locale/Data/uz.xml | 235 - lib/zend/Zend/Locale/Data/uz_AF.xml | 11 - lib/zend/Zend/Locale/Data/uz_Arab.xml | 167 - lib/zend/Zend/Locale/Data/uz_Arab_AF.xml | 11 - lib/zend/Zend/Locale/Data/uz_Cyrl.xml | 10 - lib/zend/Zend/Locale/Data/uz_Cyrl_UZ.xml | 11 - lib/zend/Zend/Locale/Data/uz_Latn.xml | 172 - lib/zend/Zend/Locale/Data/uz_Latn_UZ.xml | 11 - lib/zend/Zend/Locale/Data/uz_UZ.xml | 11 - lib/zend/Zend/Locale/Data/ve.xml | 194 - lib/zend/Zend/Locale/Data/ve_ZA.xml | 10 - lib/zend/Zend/Locale/Data/vi.xml | 1057 --- lib/zend/Zend/Locale/Data/vi_VN.xml | 10 - lib/zend/Zend/Locale/Data/wal.xml | 349 - lib/zend/Zend/Locale/Data/wal_ET.xml | 10 - lib/zend/Zend/Locale/Data/wo.xml | 37 - lib/zend/Zend/Locale/Data/wo_Latn.xml | 10 - lib/zend/Zend/Locale/Data/wo_Latn_SN.xml | 11 - lib/zend/Zend/Locale/Data/wo_SN.xml | 10 - lib/zend/Zend/Locale/Data/xh.xml | 261 - lib/zend/Zend/Locale/Data/xh_ZA.xml | 10 - lib/zend/Zend/Locale/Data/yo.xml | 230 - lib/zend/Zend/Locale/Data/yo_NG.xml | 10 - lib/zend/Zend/Locale/Data/zh.xml | 4438 ------------ lib/zend/Zend/Locale/Data/zh_CN.xml | 11 - lib/zend/Zend/Locale/Data/zh_HK.xml | 11 - lib/zend/Zend/Locale/Data/zh_Hans.xml | 10 - lib/zend/Zend/Locale/Data/zh_Hans_CN.xml | 11 - lib/zend/Zend/Locale/Data/zh_Hans_HK.xml | 18 - lib/zend/Zend/Locale/Data/zh_Hans_MO.xml | 11 - lib/zend/Zend/Locale/Data/zh_Hans_SG.xml | 88 - lib/zend/Zend/Locale/Data/zh_Hant.xml | 3664 ---------- lib/zend/Zend/Locale/Data/zh_Hant_HK.xml | 191 - lib/zend/Zend/Locale/Data/zh_Hant_MO.xml | 117 - lib/zend/Zend/Locale/Data/zh_Hant_TW.xml | 11 - lib/zend/Zend/Locale/Data/zh_MO.xml | 11 - lib/zend/Zend/Locale/Data/zh_SG.xml | 11 - lib/zend/Zend/Locale/Data/zh_TW.xml | 11 - lib/zend/Zend/Locale/Data/zu.xml | 329 - lib/zend/Zend/Locale/Data/zu_ZA.xml | 10 - lib/zend/Zend/Locale/Exception.php | 37 - lib/zend/Zend/Locale/Format.php | 1251 ---- lib/zend/Zend/Locale/Math.php | 312 - lib/zend/Zend/Locale/Math/Exception.php | 53 - lib/zend/Zend/Locale/Math/PhpMath.php | 247 - lib/zend/Zend/Log.php | 222 - lib/zend/Zend/Log/Exception.php | 33 - lib/zend/Zend/Log/Filter/Interface.php | 41 - lib/zend/Zend/Log/Filter/Message.php | 67 - lib/zend/Zend/Log/Filter/Priority.php | 76 - lib/zend/Zend/Log/Filter/Suppress.php | 66 - lib/zend/Zend/Log/Formatter/Firebug.php | 50 - lib/zend/Zend/Log/Formatter/Interface.php | 41 - lib/zend/Zend/Log/Formatter/Simple.php | 85 - lib/zend/Zend/Log/Formatter/Xml.php | 90 - lib/zend/Zend/Log/Writer/Abstract.php | 107 - lib/zend/Zend/Log/Writer/Db.php | 113 - lib/zend/Zend/Log/Writer/Firebug.php | 188 - lib/zend/Zend/Log/Writer/Mail.php | 295 - lib/zend/Zend/Log/Writer/Mock.php | 66 - lib/zend/Zend/Log/Writer/Null.php | 46 - lib/zend/Zend/Log/Writer/Stream.php | 104 - lib/zend/Zend/Log/Writer/Syslog.php | 175 - lib/zend/Zend/Mail.php | 1055 --- lib/zend/Zend/Mail/Exception.php | 37 - lib/zend/Zend/Mail/Message.php | 112 - lib/zend/Zend/Mail/Message/File.php | 96 - lib/zend/Zend/Mail/Message/Interface.php | 55 - lib/zend/Zend/Mail/Part.php | 520 -- lib/zend/Zend/Mail/Part/File.php | 198 - lib/zend/Zend/Mail/Part/Interface.php | 136 - lib/zend/Zend/Mail/Protocol/Abstract.php | 385 -- lib/zend/Zend/Mail/Protocol/Exception.php | 39 - lib/zend/Zend/Mail/Protocol/Imap.php | 837 --- lib/zend/Zend/Mail/Protocol/Pop3.php | 471 -- lib/zend/Zend/Mail/Protocol/Smtp.php | 443 -- .../Zend/Mail/Protocol/Smtp/Auth/Crammd5.php | 108 - .../Zend/Mail/Protocol/Smtp/Auth/Login.php | 98 - .../Zend/Mail/Protocol/Smtp/Auth/Plain.php | 96 - lib/zend/Zend/Mail/Storage.php | 39 - lib/zend/Zend/Mail/Storage/Abstract.php | 366 - lib/zend/Zend/Mail/Storage/Exception.php | 39 - lib/zend/Zend/Mail/Storage/Folder.php | 236 - .../Zend/Mail/Storage/Folder/Interface.php | 60 - lib/zend/Zend/Mail/Storage/Folder/Maildir.php | 265 - lib/zend/Zend/Mail/Storage/Folder/Mbox.php | 264 - lib/zend/Zend/Mail/Storage/Imap.php | 644 -- lib/zend/Zend/Mail/Storage/Maildir.php | 475 -- lib/zend/Zend/Mail/Storage/Mbox.php | 447 -- lib/zend/Zend/Mail/Storage/Pop3.php | 328 - .../Zend/Mail/Storage/Writable/Interface.php | 108 - .../Zend/Mail/Storage/Writable/Maildir.php | 1049 --- lib/zend/Zend/Mail/Transport/Abstract.php | 350 - lib/zend/Zend/Mail/Transport/Exception.php | 39 - lib/zend/Zend/Mail/Transport/Sendmail.php | 173 - lib/zend/Zend/Mail/Transport/Smtp.php | 239 - lib/zend/Zend/Measure/Abstract.php | 412 -- lib/zend/Zend/Measure/Acceleration.php | 91 - lib/zend/Zend/Measure/Angle.php | 78 - lib/zend/Zend/Measure/Area.php | 310 - lib/zend/Zend/Measure/Binary.php | 122 - lib/zend/Zend/Measure/Capacitance.php | 98 - lib/zend/Zend/Measure/Cooking/Volume.php | 190 - lib/zend/Zend/Measure/Cooking/Weight.php | 70 - lib/zend/Zend/Measure/Current.php | 102 - lib/zend/Zend/Measure/Density.php | 206 - lib/zend/Zend/Measure/Energy.php | 252 - lib/zend/Zend/Measure/Exception.php | 37 - lib/zend/Zend/Measure/Flow/Mass.php | 122 - lib/zend/Zend/Measure/Flow/Mole.php | 90 - lib/zend/Zend/Measure/Flow/Volume.php | 402 -- lib/zend/Zend/Measure/Force.php | 126 - lib/zend/Zend/Measure/Frequency.php | 86 - lib/zend/Zend/Measure/Illumination.php | 72 - lib/zend/Zend/Measure/Length.php | 674 -- lib/zend/Zend/Measure/Lightness.php | 80 - lib/zend/Zend/Measure/Number.php | 420 -- lib/zend/Zend/Measure/Power.php | 188 - lib/zend/Zend/Measure/Pressure.php | 250 - lib/zend/Zend/Measure/Speed.php | 190 - lib/zend/Zend/Measure/Temperature.php | 60 - lib/zend/Zend/Measure/Time.php | 117 - lib/zend/Zend/Measure/Torque.php | 82 - lib/zend/Zend/Measure/Viscosity/Dynamic.php | 120 - lib/zend/Zend/Measure/Viscosity/Kinematic.php | 106 - lib/zend/Zend/Measure/Volume.php | 213 - lib/zend/Zend/Measure/Weight.php | 480 -- lib/zend/Zend/Memory.php | 73 - lib/zend/Zend/Memory/AccessController.php | 148 - lib/zend/Zend/Memory/Container.php | 34 - lib/zend/Zend/Memory/Container/Interface.php | 65 - lib/zend/Zend/Memory/Container/Locked.php | 112 - lib/zend/Zend/Memory/Container/Movable.php | 296 - lib/zend/Zend/Memory/Exception.php | 34 - lib/zend/Zend/Memory/Manager.php | 462 -- lib/zend/Zend/Memory/Value.php | 176 - lib/zend/Zend/Navigation.php | 54 - lib/zend/Zend/Navigation/Container.php | 501 -- lib/zend/Zend/Navigation/Exception.php | 38 - lib/zend/Zend/Navigation/Page.php | 1119 ---- lib/zend/Zend/Navigation/Page/Mvc.php | 440 -- lib/zend/Zend/Navigation/Page/Uri.php | 100 - lib/zend/Zend/OpenId.php | 753 --- lib/zend/Zend/OpenId/Consumer.php | 958 --- lib/zend/Zend/OpenId/Consumer/Storage.php | 132 - .../Zend/OpenId/Consumer/Storage/File.php | 460 -- lib/zend/Zend/OpenId/Exception.php | 58 - lib/zend/Zend/OpenId/Extension.php | 137 - lib/zend/Zend/OpenId/Extension/Sreg.php | 300 - lib/zend/Zend/OpenId/Provider.php | 781 --- lib/zend/Zend/OpenId/Provider/Storage.php | 106 - .../Zend/OpenId/Provider/Storage/File.php | 397 -- lib/zend/Zend/OpenId/Provider/User.php | 57 - .../Zend/OpenId/Provider/User/Session.php | 104 - lib/zend/Zend/Paginator.php | 1107 --- lib/zend/Zend/Paginator/Adapter/Array.php | 81 - lib/zend/Zend/Paginator/Adapter/DbSelect.php | 262 - .../Zend/Paginator/Adapter/DbTableSelect.php | 48 - lib/zend/Zend/Paginator/Adapter/Interface.php | 47 - lib/zend/Zend/Paginator/Adapter/Iterator.php | 95 - lib/zend/Zend/Paginator/Adapter/Null.php | 73 - lib/zend/Zend/Paginator/AdapterAggregate.php | 40 - lib/zend/Zend/Paginator/Exception.php | 35 - .../Zend/Paginator/ScrollingStyle/All.php | 50 - .../Zend/Paginator/ScrollingStyle/Elastic.php | 61 - .../Paginator/ScrollingStyle/Interface.php | 38 - .../Zend/Paginator/ScrollingStyle/Jumping.php | 63 - .../Zend/Paginator/ScrollingStyle/Sliding.php | 78 - lib/zend/Zend/Pdf.php | 1429 ---- lib/zend/Zend/Pdf/Action.php | 398 -- lib/zend/Zend/Pdf/Action/GoTo.php | 114 - lib/zend/Zend/Pdf/Action/GoTo3DView.php | 39 - lib/zend/Zend/Pdf/Action/GoToE.php | 38 - lib/zend/Zend/Pdf/Action/GoToR.php | 38 - lib/zend/Zend/Pdf/Action/Hide.php | 39 - lib/zend/Zend/Pdf/Action/ImportData.php | 39 - lib/zend/Zend/Pdf/Action/JavaScript.php | 39 - lib/zend/Zend/Pdf/Action/Launch.php | 38 - lib/zend/Zend/Pdf/Action/Movie.php | 38 - lib/zend/Zend/Pdf/Action/Named.php | 39 - lib/zend/Zend/Pdf/Action/Rendition.php | 39 - lib/zend/Zend/Pdf/Action/ResetForm.php | 39 - lib/zend/Zend/Pdf/Action/SetOCGState.php | 39 - lib/zend/Zend/Pdf/Action/Sound.php | 39 - lib/zend/Zend/Pdf/Action/SubmitForm.php | 39 - lib/zend/Zend/Pdf/Action/Thread.php | 38 - lib/zend/Zend/Pdf/Action/Trans.php | 39 - lib/zend/Zend/Pdf/Action/URI.php | 37 - lib/zend/Zend/Pdf/Action/Unknown.php | 38 - lib/zend/Zend/Pdf/Annotation.php | 230 - .../Zend/Pdf/Annotation/FileAttachment.php | 93 - lib/zend/Zend/Pdf/Annotation/Link.php | 156 - lib/zend/Zend/Pdf/Annotation/Text.php | 87 - lib/zend/Zend/Pdf/Cmap.php | 343 - lib/zend/Zend/Pdf/Cmap/ByteEncoding.php | 444 -- .../Zend/Pdf/Cmap/ByteEncoding/Static.php | 61 - lib/zend/Zend/Pdf/Cmap/SegmentToDelta.php | 403 -- lib/zend/Zend/Pdf/Cmap/TrimmedTable.php | 226 - lib/zend/Zend/Pdf/Color.php | 53 - lib/zend/Zend/Pdf/Color/Cmyk.php | 125 - lib/zend/Zend/Pdf/Color/GrayScale.php | 82 - lib/zend/Zend/Pdf/Color/Html.php | 414 -- lib/zend/Zend/Pdf/Color/Rgb.php | 112 - lib/zend/Zend/Pdf/Destination.php | 113 - lib/zend/Zend/Pdf/Destination/Explicit.php | 121 - lib/zend/Zend/Pdf/Destination/Fit.php | 69 - .../Zend/Pdf/Destination/FitBoundingBox.php | 69 - .../FitBoundingBoxHorizontally.php | 92 - .../Destination/FitBoundingBoxVertically.php | 93 - .../Zend/Pdf/Destination/FitHorizontally.php | 92 - .../Zend/Pdf/Destination/FitRectangle.php | 165 - .../Zend/Pdf/Destination/FitVertically.php | 92 - lib/zend/Zend/Pdf/Destination/Named.php | 97 - lib/zend/Zend/Pdf/Destination/Unknown.php | 37 - lib/zend/Zend/Pdf/Destination/Zoom.php | 171 - lib/zend/Zend/Pdf/Element.php | 158 - lib/zend/Zend/Pdf/Element/Array.php | 146 - lib/zend/Zend/Pdf/Element/Boolean.php | 82 - lib/zend/Zend/Pdf/Element/Dictionary.php | 182 - lib/zend/Zend/Pdf/Element/Name.php | 160 - lib/zend/Zend/Pdf/Element/Null.php | 75 - lib/zend/Zend/Pdf/Element/Numeric.php | 95 - lib/zend/Zend/Pdf/Element/Object.php | 250 - lib/zend/Zend/Pdf/Element/Object/Stream.php | 410 -- lib/zend/Zend/Pdf/Element/Reference.php | 280 - .../Zend/Pdf/Element/Reference/Context.php | 90 - lib/zend/Zend/Pdf/Element/Reference/Table.php | 194 - lib/zend/Zend/Pdf/Element/Stream.php | 125 - lib/zend/Zend/Pdf/Element/String.php | 247 - lib/zend/Zend/Pdf/Element/String/Binary.php | 111 - lib/zend/Zend/Pdf/ElementFactory.php | 475 -- .../Zend/Pdf/ElementFactory/Interface.php | 152 - lib/zend/Zend/Pdf/ElementFactory/Proxy.php | 226 - lib/zend/Zend/Pdf/Exception.php | 343 - lib/zend/Zend/Pdf/FileParser.php | 485 -- lib/zend/Zend/Pdf/FileParser/Font.php | 213 - .../Zend/Pdf/FileParser/Font/OpenType.php | 1111 --- .../Pdf/FileParser/Font/OpenType/TrueType.php | 89 - lib/zend/Zend/Pdf/FileParser/Image.php | 59 - lib/zend/Zend/Pdf/FileParser/Image/Png.php | 326 - lib/zend/Zend/Pdf/FileParserDataSource.php | 204 - .../Zend/Pdf/FileParserDataSource/File.php | 190 - .../Zend/Pdf/FileParserDataSource/String.php | 128 - lib/zend/Zend/Pdf/Filter/Ascii85.php | 61 - lib/zend/Zend/Pdf/Filter/AsciiHex.php | 134 - lib/zend/Zend/Pdf/Filter/Compression.php | 382 -- .../Zend/Pdf/Filter/Compression/Flate.php | 99 - lib/zend/Zend/Pdf/Filter/Compression/Lzw.php | 93 - lib/zend/Zend/Pdf/Filter/Interface.php | 50 - lib/zend/Zend/Pdf/Font.php | 777 --- lib/zend/Zend/Pdf/Image.php | 246 - lib/zend/Zend/Pdf/NameTree.php | 154 - lib/zend/Zend/Pdf/Outline.php | 376 -- lib/zend/Zend/Pdf/Outline/Created.php | 317 - lib/zend/Zend/Pdf/Outline/Loaded.php | 462 -- lib/zend/Zend/Pdf/Page.php | 1646 ----- lib/zend/Zend/Pdf/Parser.php | 483 -- .../RecursivelyIteratableObjectsContainer.php | 45 - lib/zend/Zend/Pdf/Resource.php | 110 - lib/zend/Zend/Pdf/Resource/Font.php | 522 -- lib/zend/Zend/Pdf/Resource/Font/CidFont.php | 484 -- .../Pdf/Resource/Font/CidFont/TrueType.php | 83 - lib/zend/Zend/Pdf/Resource/Font/Extracted.php | 262 - .../Zend/Pdf/Resource/Font/FontDescriptor.php | 201 - lib/zend/Zend/Pdf/Resource/Font/Simple.php | 283 - .../Zend/Pdf/Resource/Font/Simple/Parsed.php | 103 - .../Resource/Font/Simple/Parsed/TrueType.php | 64 - .../Pdf/Resource/Font/Simple/Standard.php | 79 - .../Resource/Font/Simple/Standard/Courier.php | 291 - .../Font/Simple/Standard/CourierBold.php | 292 - .../Simple/Standard/CourierBoldOblique.php | 293 - .../Font/Simple/Standard/CourierOblique.php | 293 - .../Font/Simple/Standard/Helvetica.php | 301 - .../Font/Simple/Standard/HelveticaBold.php | 302 - .../Simple/Standard/HelveticaBoldOblique.php | 304 - .../Font/Simple/Standard/HelveticaOblique.php | 303 - .../Resource/Font/Simple/Standard/Symbol.php | 461 -- .../Font/Simple/Standard/TimesBold.php | 300 - .../Font/Simple/Standard/TimesBoldItalic.php | 301 - .../Font/Simple/Standard/TimesItalic.php | 301 - .../Font/Simple/Standard/TimesRoman.php | 301 - .../Font/Simple/Standard/ZapfDingbats.php | 487 -- lib/zend/Zend/Pdf/Resource/Font/Type0.php | 258 - lib/zend/Zend/Pdf/Resource/Image.php | 80 - lib/zend/Zend/Pdf/Resource/Image/Jpeg.php | 142 - lib/zend/Zend/Pdf/Resource/Image/Png.php | 365 - lib/zend/Zend/Pdf/Resource/Image/Tiff.php | 442 -- lib/zend/Zend/Pdf/Resource/ImageFactory.php | 70 - lib/zend/Zend/Pdf/StringParser.php | 722 -- lib/zend/Zend/Pdf/Style.php | 304 - lib/zend/Zend/Pdf/Target.php | 76 - lib/zend/Zend/Pdf/Trailer.php | 129 - lib/zend/Zend/Pdf/Trailer/Generator.php | 76 - lib/zend/Zend/Pdf/Trailer/Keeper.php | 147 - lib/zend/Zend/Pdf/UpdateInfoContainer.php | 139 - lib/zend/Zend/ProgressBar.php | 209 - lib/zend/Zend/ProgressBar/Adapter.php | 113 - lib/zend/Zend/ProgressBar/Adapter/Console.php | 534 -- .../Zend/ProgressBar/Adapter/Exception.php | 38 - lib/zend/Zend/ProgressBar/Adapter/JsPull.php | 117 - lib/zend/Zend/ProgressBar/Adapter/JsPush.php | 148 - lib/zend/Zend/ProgressBar/Exception.php | 38 - lib/zend/Zend/Queue.php | 569 -- lib/zend/Zend/Queue/Adapter/Activemq.php | 333 - .../Zend/Queue/Adapter/AdapterAbstract.php | 191 - .../Zend/Queue/Adapter/AdapterInterface.php | 174 - lib/zend/Zend/Queue/Adapter/Array.php | 350 - lib/zend/Zend/Queue/Adapter/Db.php | 481 -- lib/zend/Zend/Queue/Adapter/Db/Message.php | 51 - lib/zend/Zend/Queue/Adapter/Db/Queue.php | 51 - lib/zend/Zend/Queue/Adapter/Db/queue.sql | 75 - lib/zend/Zend/Queue/Adapter/Memcacheq.php | 405 -- lib/zend/Zend/Queue/Adapter/Null.php | 174 - .../Zend/Queue/Adapter/PlatformJobQueue.php | 343 - lib/zend/Zend/Queue/Exception.php | 35 - lib/zend/Zend/Queue/Message.php | 230 - lib/zend/Zend/Queue/Message/Iterator.php | 285 - lib/zend/Zend/Queue/Message/PlatformJob.php | 194 - lib/zend/Zend/Queue/Stomp/Client.php | 173 - .../Zend/Queue/Stomp/Client/Connection.php | 280 - .../Stomp/Client/ConnectionInterface.php | 103 - lib/zend/Zend/Queue/Stomp/Frame.php | 363 - lib/zend/Zend/Queue/Stomp/FrameInterface.php | 154 - lib/zend/Zend/Reflection/Class.php | 247 - lib/zend/Zend/Reflection/Docblock.php | 282 - lib/zend/Zend/Reflection/Docblock/Tag.php | 142 - .../Zend/Reflection/Docblock/Tag/Param.php | 93 - .../Zend/Reflection/Docblock/Tag/Return.php | 72 - lib/zend/Zend/Reflection/Exception.php | 36 - lib/zend/Zend/Reflection/Extension.php | 85 - lib/zend/Zend/Reflection/File.php | 411 -- lib/zend/Zend/Reflection/Function.php | 129 - lib/zend/Zend/Reflection/Method.php | 168 - lib/zend/Zend/Reflection/Parameter.php | 123 - lib/zend/Zend/Reflection/Property.php | 68 - lib/zend/Zend/Search/Exception.php | 37 - lib/zend/Zend/Search/Lucene.php | 1520 ----- .../Zend/Search/Lucene/Analysis/Analyzer.php | 177 - .../Lucene/Analysis/Analyzer/Common.php | 81 - .../Lucene/Analysis/Analyzer/Common/Text.php | 96 - .../Analyzer/Common/Text/CaseInsensitive.php | 47 - .../Analysis/Analyzer/Common/TextNum.php | 95 - .../Common/TextNum/CaseInsensitive.php | 47 - .../Lucene/Analysis/Analyzer/Common/Utf8.php | 126 - .../Analyzer/Common/Utf8/CaseInsensitive.php | 49 - .../Analysis/Analyzer/Common/Utf8Num.php | 126 - .../Common/Utf8Num/CaseInsensitive.php | 49 - .../Zend/Search/Lucene/Analysis/Token.php | 154 - .../Search/Lucene/Analysis/TokenFilter.php | 48 - .../Lucene/Analysis/TokenFilter/LowerCase.php | 58 - .../Analysis/TokenFilter/LowerCaseUtf8.php | 70 - .../Analysis/TokenFilter/ShortWords.php | 69 - .../Lucene/Analysis/TokenFilter/StopWords.php | 101 - lib/zend/Zend/Search/Lucene/Document.php | 131 - lib/zend/Zend/Search/Lucene/Document/Docx.php | 144 - .../Zend/Search/Lucene/Document/Exception.php | 37 - lib/zend/Zend/Search/Lucene/Document/Html.php | 454 -- .../Zend/Search/Lucene/Document/OpenXml.php | 132 - lib/zend/Zend/Search/Lucene/Document/Pptx.php | 193 - lib/zend/Zend/Search/Lucene/Document/Xlsx.php | 256 - lib/zend/Zend/Search/Lucene/Exception.php | 37 - lib/zend/Zend/Search/Lucene/FSM.php | 443 -- lib/zend/Zend/Search/Lucene/FSMAction.php | 66 - lib/zend/Zend/Search/Lucene/Field.php | 226 - .../Search/Lucene/Index/DictionaryLoader.php | 268 - .../Zend/Search/Lucene/Index/DocsFilter.php | 59 - .../Zend/Search/Lucene/Index/FieldInfo.php | 50 - .../Zend/Search/Lucene/Index/SegmentInfo.php | 2117 ------ .../Search/Lucene/Index/SegmentMerger.php | 271 - .../Search/Lucene/Index/SegmentWriter.php | 627 -- .../Index/SegmentWriter/DocumentWriter.php | 214 - .../Index/SegmentWriter/StreamWriter.php | 94 - lib/zend/Zend/Search/Lucene/Index/Term.php | 144 - .../Zend/Search/Lucene/Index/TermInfo.php | 80 - .../Lucene/Index/TermsPriorityQueue.php | 49 - .../Lucene/Index/TermsStream/Interface.php | 66 - lib/zend/Zend/Search/Lucene/Index/Writer.php | 842 --- lib/zend/Zend/Search/Lucene/Interface.php | 404 -- lib/zend/Zend/Search/Lucene/LockManager.php | 236 - lib/zend/Zend/Search/Lucene/MultiSearcher.php | 963 --- lib/zend/Zend/Search/Lucene/PriorityQueue.php | 171 - lib/zend/Zend/Search/Lucene/Proxy.php | 612 -- .../Search/BooleanExpressionRecognizer.php | 278 - .../Lucene/Search/Highlighter/Default.php | 94 - .../Lucene/Search/Highlighter/Interface.php | 53 - lib/zend/Zend/Search/Lucene/Search/Query.php | 234 - .../Search/Lucene/Search/Query/Boolean.php | 806 --- .../Zend/Search/Lucene/Search/Query/Empty.php | 140 - .../Zend/Search/Lucene/Search/Query/Fuzzy.php | 488 -- .../Lucene/Search/Query/Insignificant.php | 141 - .../Search/Lucene/Search/Query/MultiTerm.php | 661 -- .../Search/Lucene/Search/Query/Phrase.php | 571 -- .../Lucene/Search/Query/Preprocessing.php | 134 - .../Search/Query/Preprocessing/Fuzzy.php | 287 - .../Search/Query/Preprocessing/Phrase.php | 274 - .../Search/Query/Preprocessing/Term.php | 335 - .../Zend/Search/Lucene/Search/Query/Range.php | 374 -- .../Zend/Search/Lucene/Search/Query/Term.php | 227 - .../Search/Lucene/Search/Query/Wildcard.php | 351 - .../Zend/Search/Lucene/Search/QueryEntry.php | 79 - .../Lucene/Search/QueryEntry/Phrase.php | 120 - .../Lucene/Search/QueryEntry/Subquery.php | 80 - .../Search/Lucene/Search/QueryEntry/Term.php | 130 - .../Zend/Search/Lucene/Search/QueryHit.php | 109 - .../Zend/Search/Lucene/Search/QueryLexer.php | 510 -- .../Zend/Search/Lucene/Search/QueryParser.php | 636 -- .../Lucene/Search/QueryParserContext.php | 418 -- .../Lucene/Search/QueryParserException.php | 41 - .../Zend/Search/Lucene/Search/QueryToken.php | 225 - .../Zend/Search/Lucene/Search/Similarity.php | 554 -- .../Lucene/Search/Similarity/Default.php | 110 - lib/zend/Zend/Search/Lucene/Search/Weight.php | 85 - .../Search/Lucene/Search/Weight/Boolean.php | 137 - .../Search/Lucene/Search/Weight/Empty.php | 57 - .../Search/Lucene/Search/Weight/MultiTerm.php | 138 - .../Search/Lucene/Search/Weight/Phrase.php | 108 - .../Zend/Search/Lucene/Search/Weight/Term.php | 125 - .../Zend/Search/Lucene/Storage/Directory.php | 136 - .../Lucene/Storage/Directory/Filesystem.php | 363 - lib/zend/Zend/Search/Lucene/Storage/File.php | 473 -- .../Search/Lucene/Storage/File/Filesystem.php | 220 - .../Search/Lucene/Storage/File/Memory.php | 601 -- .../Lucene/TermStreamsPriorityQueue.php | 176 - lib/zend/Zend/Session.php | 878 --- lib/zend/Zend/Session/Abstract.php | 185 - lib/zend/Zend/Session/Exception.php | 74 - lib/zend/Zend/Session/Namespace.php | 517 -- lib/zend/Zend/Session/SaveHandler/DbTable.php | 591 -- .../Zend/Session/SaveHandler/Exception.php | 37 - .../Zend/Session/SaveHandler/Interface.php | 81 - lib/zend/Zend/Session/Validator/Abstract.php | 69 - .../Zend/Session/Validator/HttpUserAgent.php | 66 - lib/zend/Zend/Session/Validator/Interface.php | 52 - lib/zend/Zend/Tag/Cloud.php | 410 -- lib/zend/Zend/Tag/Cloud/Decorator/Cloud.php | 88 - .../Zend/Tag/Cloud/Decorator/Exception.php | 39 - .../Zend/Tag/Cloud/Decorator/HtmlCloud.php | 127 - lib/zend/Zend/Tag/Cloud/Decorator/HtmlTag.php | 278 - lib/zend/Zend/Tag/Cloud/Decorator/Tag.php | 88 - lib/zend/Zend/Tag/Cloud/Exception.php | 38 - lib/zend/Zend/Tag/Exception.php | 38 - lib/zend/Zend/Tag/Item.php | 220 - lib/zend/Zend/Tag/ItemList.php | 238 - lib/zend/Zend/Tag/Taggable.php | 60 - lib/zend/Zend/Test/DbAdapter.php | 333 - lib/zend/Zend/Test/DbStatement.php | 401 -- .../Zend/Test/PHPUnit/Constraint/DomQuery.php | 403 -- .../Test/PHPUnit/Constraint/Exception.php | 36 - .../Zend/Test/PHPUnit/Constraint/Redirect.php | 280 - .../PHPUnit/Constraint/ResponseHeader.php | 398 -- .../Zend/Test/PHPUnit/ControllerTestCase.php | 1143 ---- .../Zend/Test/PHPUnit/DatabaseTestCase.php | 151 - lib/zend/Zend/Test/PHPUnit/Db/Connection.php | 149 - .../Zend/Test/PHPUnit/Db/DataSet/DbRowset.php | 75 - .../Zend/Test/PHPUnit/Db/DataSet/DbTable.php | 123 - .../PHPUnit/Db/DataSet/DbTableDataSet.php | 103 - .../Test/PHPUnit/Db/DataSet/QueryDataSet.php | 86 - .../Test/PHPUnit/Db/DataSet/QueryTable.php | 86 - lib/zend/Zend/Test/PHPUnit/Db/Exception.php | 41 - .../Zend/Test/PHPUnit/Db/Metadata/Generic.php | 164 - .../Test/PHPUnit/Db/Operation/DeleteAll.php | 69 - .../Zend/Test/PHPUnit/Db/Operation/Insert.php | 92 - .../Test/PHPUnit/Db/Operation/Truncate.php | 114 - .../Zend/Test/PHPUnit/Db/SimpleTester.php | 95 - lib/zend/Zend/Text/Exception.php | 38 - lib/zend/Zend/Text/Figlet.php | 1232 ---- lib/zend/Zend/Text/Figlet/Exception.php | 38 - lib/zend/Zend/Text/Figlet/zend-framework.flf | 753 --- lib/zend/Zend/Text/MultiByte.php | 153 - lib/zend/Zend/Text/Table.php | 532 -- lib/zend/Zend/Text/Table/Column.php | 243 - lib/zend/Zend/Text/Table/Decorator/Ascii.php | 147 - .../Zend/Text/Table/Decorator/Interface.php | 108 - .../Zend/Text/Table/Decorator/Unicode.php | 176 - lib/zend/Zend/Text/Table/Exception.php | 38 - lib/zend/Zend/Text/Table/Row.php | 215 - lib/zend/Zend/TimeSync.php | 304 - lib/zend/Zend/TimeSync/Exception.php | 64 - lib/zend/Zend/TimeSync/Ntp.php | 400 -- lib/zend/Zend/TimeSync/Protocol.php | 148 - lib/zend/Zend/TimeSync/Sntp.php | 119 - lib/zend/Zend/Tool/Framework/Action/Base.php | 95 - .../Zend/Tool/Framework/Action/Exception.php | 37 - .../Zend/Tool/Framework/Action/Interface.php | 32 - .../Zend/Tool/Framework/Action/Repository.php | 135 - .../Zend/Tool/Framework/Client/Abstract.php | 317 - .../Zend/Tool/Framework/Client/Config.php | 105 - .../Zend/Tool/Framework/Client/Console.php | 294 - .../Client/Console/ArgumentParser.php | 503 -- .../Framework/Client/Console/HelpSystem.php | 375 -- .../Framework/Client/Console/Manifest.php | 209 - .../Console/ResponseDecorator/Colorizer.php | 92 - .../Zend/Tool/Framework/Client/Exception.php | 36 - .../Client/Interactive/InputHandler.php | 74 - .../Client/Interactive/InputInterface.php | 41 - .../Client/Interactive/InputRequest.php | 54 - .../Client/Interactive/InputResponse.php | 52 - .../Client/Interactive/OutputInterface.php | 33 - .../Zend/Tool/Framework/Client/Request.php | 299 - .../Zend/Tool/Framework/Client/Response.php | 223 - .../Response/ContentDecorator/Interface.php | 35 - .../Response/ContentDecorator/Separator.php | 93 - .../Zend/Tool/Framework/Client/Storage.php | 117 - .../Client/Storage/AdapterInterface.php | 42 - .../Framework/Client/Storage/Directory.php | 73 - lib/zend/Zend/Tool/Framework/Exception.php | 36 - .../Zend/Tool/Framework/Loader/Abstract.php | 146 - .../Framework/Loader/IncludePathLoader.php | 115 - .../RecursiveFilterIterator.php | 91 - .../Framework/Manifest/ActionManifestable.php | 47 - .../Tool/Framework/Manifest/Exception.php | 37 - .../Tool/Framework/Manifest/Indexable.php | 42 - .../Tool/Framework/Manifest/Interface.php | 82 - .../Manifest/MetadataManifestable.php | 47 - .../Manifest/ProviderManifestable.php | 47 - .../Tool/Framework/Manifest/Repository.php | 300 - .../Zend/Tool/Framework/Metadata/Basic.php | 221 - .../Zend/Tool/Framework/Metadata/Dynamic.php | 154 - .../Tool/Framework/Metadata/Interface.php | 52 - .../Zend/Tool/Framework/Metadata/Tool.php | 218 - .../Zend/Tool/Framework/Provider/Abstract.php | 68 - .../Provider/DocblockManifestable.php | 30 - .../Tool/Framework/Provider/Exception.php | 37 - .../Tool/Framework/Provider/Interactable.php | 30 - .../Tool/Framework/Provider/Interface.php | 31 - .../Tool/Framework/Provider/Pretendable.php | 31 - .../Tool/Framework/Provider/Repository.php | 265 - .../Tool/Framework/Provider/Signature.php | 390 -- lib/zend/Zend/Tool/Framework/Registry.php | 419 -- .../Framework/Registry/EnabledInterface.php | 40 - .../Tool/Framework/Registry/Exception.php | 33 - .../Tool/Framework/Registry/Interface.php | 137 - .../Tool/Framework/System/Action/Create.php | 44 - .../Tool/Framework/System/Action/Delete.php | 44 - .../Zend/Tool/Framework/System/Manifest.php | 61 - .../Framework/System/Provider/Manifest.php | 114 - .../Framework/System/Provider/Phpinfo.php | 38 - .../Framework/System/Provider/Version.php | 111 - .../Tool/Project/Context/Content/Engine.php | 106 - .../Context/Content/Engine/CodeGenerator.php | 98 - .../Project/Context/Content/Engine/Phtml.php | 89 - .../Zend/Tool/Project/Context/Exception.php | 33 - .../Project/Context/Filesystem/Abstract.php | 165 - .../Project/Context/Filesystem/Directory.php | 77 - .../Tool/Project/Context/Filesystem/File.php | 112 - .../Zend/Tool/Project/Context/Interface.php | 38 - .../Zend/Tool/Project/Context/Repository.php | 185 - .../Tool/Project/Context/System/Interface.php | 37 - .../Context/System/NotOverwritable.php | 37 - .../Context/System/ProjectDirectory.php | 128 - .../Context/System/ProjectProfileFile.php | 118 - .../System/ProjectProvidersDirectory.php | 97 - .../Context/System/TopLevelRestrictable.php | 37 - .../Tool/Project/Context/Zf/ActionMethod.php | 224 - .../Tool/Project/Context/Zf/ApisDirectory.php | 57 - .../Context/Zf/ApplicationConfigFile.php | 108 - .../Context/Zf/ApplicationDirectory.php | 49 - .../Tool/Project/Context/Zf/BootstrapFile.php | 103 - .../Project/Context/Zf/CacheDirectory.php | 57 - .../Tool/Project/Context/Zf/ConfigFile.php | 67 - .../Project/Context/Zf/ConfigsDirectory.php | 57 - .../Project/Context/Zf/ControllerFile.php | 206 - .../Context/Zf/ControllersDirectory.php | 57 - .../Tool/Project/Context/Zf/DataDirectory.php | 57 - .../Project/Context/Zf/DbTableDirectory.php | 57 - .../Tool/Project/Context/Zf/DbTableFile.php | 72 - .../Zend/Tool/Project/Context/Zf/FormFile.php | 52 - .../Project/Context/Zf/FormsDirectory.php | 57 - .../Tool/Project/Context/Zf/HtaccessFile.php | 78 - .../Project/Context/Zf/LayoutsDirectory.php | 57 - .../Project/Context/Zf/LibraryDirectory.php | 57 - .../Project/Context/Zf/LocalesDirectory.php | 57 - .../Tool/Project/Context/Zf/LogsDirectory.php | 57 - .../Tool/Project/Context/Zf/ModelFile.php | 52 - .../Project/Context/Zf/ModelsDirectory.php | 57 - .../Project/Context/Zf/ModuleDirectory.php | 97 - .../Project/Context/Zf/ModulesDirectory.php | 57 - .../Context/Zf/ProjectProviderFile.php | 152 - .../Project/Context/Zf/PublicDirectory.php | 57 - .../Context/Zf/PublicImagesDirectory.php | 57 - .../Project/Context/Zf/PublicIndexFile.php | 95 - .../Context/Zf/PublicScriptsDirectory.php | 57 - .../Context/Zf/PublicStylesheetsDirectory.php | 57 - .../Context/Zf/SearchIndexesDirectory.php | 57 - .../Project/Context/Zf/SessionsDirectory.php | 57 - .../Project/Context/Zf/TemporaryDirectory.php | 57 - .../Zf/TestApplicationBootstrapFile.php | 57 - .../Zf/TestApplicationControllerDirectory.php | 57 - .../Zf/TestApplicationControllerFile.php | 107 - .../Context/Zf/TestApplicationDirectory.php | 57 - .../Context/Zf/TestLibraryBootstrapFile.php | 57 - .../Context/Zf/TestLibraryDirectory.php | 57 - .../Project/Context/Zf/TestLibraryFile.php | 107 - .../Zf/TestLibraryNamespaceDirectory.php | 88 - .../Context/Zf/TestPHPUnitConfigFile.php | 57 - .../Project/Context/Zf/TestsDirectory.php | 57 - .../Project/Context/Zf/UploadsDirectory.php | 57 - .../Zf/ViewControllerScriptsDirectory.php | 87 - .../Context/Zf/ViewFiltersDirectory.php | 57 - .../Context/Zf/ViewHelpersDirectory.php | 57 - .../Project/Context/Zf/ViewScriptFile.php | 204 - .../Context/Zf/ViewScriptsDirectory.php | 57 - .../Project/Context/Zf/ViewsDirectory.php | 57 - .../Context/Zf/ZfStandardLibraryDirectory.php | 104 - lib/zend/Zend/Tool/Project/Exception.php | 37 - lib/zend/Zend/Tool/Project/Profile.php | 242 - .../Zend/Tool/Project/Profile/Exception.php | 37 - .../Project/Profile/FileParser/Interface.php | 54 - .../Tool/Project/Profile/FileParser/Xml.php | 223 - .../Profile/Iterator/ContextFilter.php | 203 - .../Iterator/EnabledResourceFilter.php | 43 - .../Zend/Tool/Project/Profile/Resource.php | 262 - .../Project/Profile/Resource/Container.php | 405 -- .../Profile/Resource/SearchConstraints.php | 117 - .../Zend/Tool/Project/Provider/Abstract.php | 238 - .../Zend/Tool/Project/Provider/Action.php | 168 - .../Zend/Tool/Project/Provider/Controller.php | 199 - .../Zend/Tool/Project/Provider/Exception.php | 37 - lib/zend/Zend/Tool/Project/Provider/Form.php | 38 - .../Zend/Tool/Project/Provider/Manifest.php | 90 - lib/zend/Zend/Tool/Project/Provider/Model.php | 43 - .../Zend/Tool/Project/Provider/Module.php | 165 - .../Zend/Tool/Project/Provider/Profile.php | 54 - .../Zend/Tool/Project/Provider/Project.php | 180 - .../Tool/Project/Provider/ProjectProvider.php | 97 - lib/zend/Zend/Tool/Project/Provider/Test.php | 174 - lib/zend/Zend/Tool/Project/Provider/View.php | 118 - lib/zend/Zend/Translate.php | 179 - lib/zend/Zend/Translate/Adapter.php | 761 --- lib/zend/Zend/Translate/Adapter/Array.php | 94 - lib/zend/Zend/Translate/Adapter/Csv.php | 104 - lib/zend/Zend/Translate/Adapter/Gettext.php | 178 - lib/zend/Zend/Translate/Adapter/Ini.php | 87 - lib/zend/Zend/Translate/Adapter/Qt.php | 175 - lib/zend/Zend/Translate/Adapter/Tbx.php | 179 - lib/zend/Zend/Translate/Adapter/Tmx.php | 181 - lib/zend/Zend/Translate/Adapter/Xliff.php | 220 - lib/zend/Zend/Translate/Adapter/XmlTm.php | 154 - lib/zend/Zend/Translate/Exception.php | 37 - lib/zend/Zend/Translate/Plural.php | 177 - lib/zend/Zend/Validate.php | 246 - lib/zend/Zend/View.php | 111 - lib/zend/Zend/View/Abstract.php | 1136 ---- lib/zend/Zend/View/Exception.php | 51 - lib/zend/Zend/View/Helper/Abstract.php | 64 - lib/zend/Zend/View/Helper/Action.php | 160 - lib/zend/Zend/View/Helper/BaseUrl.php | 116 - lib/zend/Zend/View/Helper/Cycle.php | 226 - lib/zend/Zend/View/Helper/DeclareVars.php | 95 - lib/zend/Zend/View/Helper/Doctype.php | 195 - lib/zend/Zend/View/Helper/Fieldset.php | 79 - lib/zend/Zend/View/Helper/Form.php | 71 - lib/zend/Zend/View/Helper/FormButton.php | 105 - lib/zend/Zend/View/Helper/FormCheckbox.php | 163 - lib/zend/Zend/View/Helper/FormElement.php | 202 - lib/zend/Zend/View/Helper/FormErrors.php | 157 - lib/zend/Zend/View/Helper/FormFile.php | 81 - lib/zend/Zend/View/Helper/FormHidden.php | 66 - lib/zend/Zend/View/Helper/FormImage.php | 101 - lib/zend/Zend/View/Helper/FormLabel.php | 66 - .../Zend/View/Helper/FormMultiCheckbox.php | 74 - lib/zend/Zend/View/Helper/FormNote.php | 61 - lib/zend/Zend/View/Helper/FormPassword.php | 95 - lib/zend/Zend/View/Helper/FormRadio.php | 183 - lib/zend/Zend/View/Helper/FormReset.php | 88 - lib/zend/Zend/View/Helper/FormSelect.php | 178 - lib/zend/Zend/View/Helper/FormSubmit.php | 84 - lib/zend/Zend/View/Helper/FormText.php | 84 - lib/zend/Zend/View/Helper/FormTextarea.php | 104 - lib/zend/Zend/View/Helper/HeadLink.php | 425 -- lib/zend/Zend/View/Helper/HeadMeta.php | 363 - lib/zend/Zend/View/Helper/HeadScript.php | 479 -- lib/zend/Zend/View/Helper/HeadStyle.php | 400 -- lib/zend/Zend/View/Helper/HeadTitle.php | 178 - lib/zend/Zend/View/Helper/HtmlElement.php | 141 - lib/zend/Zend/View/Helper/HtmlFlash.php | 60 - lib/zend/Zend/View/Helper/HtmlList.php | 88 - lib/zend/Zend/View/Helper/HtmlObject.php | 80 - lib/zend/Zend/View/Helper/HtmlPage.php | 75 - lib/zend/Zend/View/Helper/HtmlQuicktime.php | 82 - lib/zend/Zend/View/Helper/InlineScript.php | 61 - lib/zend/Zend/View/Helper/Interface.php | 46 - lib/zend/Zend/View/Helper/Json.php | 80 - lib/zend/Zend/View/Helper/Layout.php | 81 - lib/zend/Zend/View/Helper/Navigation.php | 336 - .../View/Helper/Navigation/Breadcrumbs.php | 325 - .../Zend/View/Helper/Navigation/Helper.php | 212 - .../View/Helper/Navigation/HelperAbstract.php | 851 --- .../Zend/View/Helper/Navigation/Links.php | 779 --- lib/zend/Zend/View/Helper/Navigation/Menu.php | 641 -- .../Zend/View/Helper/Navigation/Sitemap.php | 470 -- .../Zend/View/Helper/PaginationControl.php | 141 - lib/zend/Zend/View/Helper/Partial.php | 147 - .../Zend/View/Helper/Partial/Exception.php | 39 - lib/zend/Zend/View/Helper/PartialLoop.php | 96 - lib/zend/Zend/View/Helper/Placeholder.php | 87 - .../View/Helper/Placeholder/Container.php | 36 - .../Helper/Placeholder/Container/Abstract.php | 376 -- .../Placeholder/Container/Exception.php | 39 - .../Placeholder/Container/Standalone.php | 319 - .../Zend/View/Helper/Placeholder/Registry.php | 186 - .../Helper/Placeholder/Registry/Exception.php | 39 - .../Zend/View/Helper/RenderToPlaceholder.php | 53 - lib/zend/Zend/View/Helper/ServerUrl.php | 144 - lib/zend/Zend/View/Helper/Translate.php | 178 - lib/zend/Zend/View/Helper/Url.php | 51 - lib/zend/Zend/View/Interface.php | 137 - lib/zend/Zend/View/Stream.php | 183 - .../Zend/Wildfire/Channel/HttpHeaders.php | 336 - lib/zend/Zend/Wildfire/Channel/Interface.php | 38 - lib/zend/Zend/Wildfire/Exception.php | 35 - lib/zend/Zend/Wildfire/Plugin/FirePhp.php | 800 --- .../Zend/Wildfire/Plugin/FirePhp/Message.php | 246 - .../Wildfire/Plugin/FirePhp/TableMessage.php | 165 - lib/zend/Zend/Wildfire/Plugin/Interface.php | 48 - .../Zend/Wildfire/Protocol/JsonStream.php | 235 - lib/zend/readme_moodle.txt | 8 +- 1702 files changed, 5 insertions(+), 491192 deletions(-) delete mode 100644 lib/zend/Zend/Acl.php delete mode 100644 lib/zend/Zend/Acl/Assert/Interface.php delete mode 100644 lib/zend/Zend/Acl/Exception.php delete mode 100644 lib/zend/Zend/Acl/Resource.php delete mode 100644 lib/zend/Zend/Acl/Resource/Interface.php delete mode 100644 lib/zend/Zend/Acl/Role.php delete mode 100644 lib/zend/Zend/Acl/Role/Interface.php delete mode 100644 lib/zend/Zend/Acl/Role/Registry.php delete mode 100644 lib/zend/Zend/Acl/Role/Registry/Exception.php delete mode 100644 lib/zend/Zend/Application.php delete mode 100644 lib/zend/Zend/Application/Bootstrap/Bootstrap.php delete mode 100644 lib/zend/Zend/Application/Bootstrap/BootstrapAbstract.php delete mode 100644 lib/zend/Zend/Application/Bootstrap/Bootstrapper.php delete mode 100644 lib/zend/Zend/Application/Bootstrap/Exception.php delete mode 100644 lib/zend/Zend/Application/Bootstrap/ResourceBootstrapper.php delete mode 100644 lib/zend/Zend/Application/Exception.php delete mode 100644 lib/zend/Zend/Application/Module/Autoloader.php delete mode 100644 lib/zend/Zend/Application/Module/Bootstrap.php delete mode 100644 lib/zend/Zend/Application/Resource/Db.php delete mode 100644 lib/zend/Zend/Application/Resource/Exception.php delete mode 100644 lib/zend/Zend/Application/Resource/Frontcontroller.php delete mode 100644 lib/zend/Zend/Application/Resource/Layout.php delete mode 100644 lib/zend/Zend/Application/Resource/Locale.php delete mode 100644 lib/zend/Zend/Application/Resource/Modules.php delete mode 100644 lib/zend/Zend/Application/Resource/Navigation.php delete mode 100644 lib/zend/Zend/Application/Resource/Resource.php delete mode 100644 lib/zend/Zend/Application/Resource/ResourceAbstract.php delete mode 100644 lib/zend/Zend/Application/Resource/Router.php delete mode 100644 lib/zend/Zend/Application/Resource/Session.php delete mode 100644 lib/zend/Zend/Application/Resource/Translate.php delete mode 100644 lib/zend/Zend/Application/Resource/View.php delete mode 100644 lib/zend/Zend/Auth.php delete mode 100644 lib/zend/Zend/Auth/Adapter/DbTable.php delete mode 100644 lib/zend/Zend/Auth/Adapter/Digest.php delete mode 100644 lib/zend/Zend/Auth/Adapter/Exception.php delete mode 100644 lib/zend/Zend/Auth/Adapter/Http.php delete mode 100644 lib/zend/Zend/Auth/Adapter/Http/Resolver/Exception.php delete mode 100644 lib/zend/Zend/Auth/Adapter/Http/Resolver/File.php delete mode 100644 lib/zend/Zend/Auth/Adapter/Http/Resolver/Interface.php delete mode 100644 lib/zend/Zend/Auth/Adapter/InfoCard.php delete mode 100644 lib/zend/Zend/Auth/Adapter/Interface.php delete mode 100644 lib/zend/Zend/Auth/Adapter/Ldap.php delete mode 100644 lib/zend/Zend/Auth/Adapter/OpenId.php delete mode 100644 lib/zend/Zend/Auth/Exception.php delete mode 100644 lib/zend/Zend/Auth/Result.php delete mode 100644 lib/zend/Zend/Auth/Storage/Exception.php delete mode 100644 lib/zend/Zend/Auth/Storage/Interface.php delete mode 100644 lib/zend/Zend/Auth/Storage/NonPersistent.php delete mode 100644 lib/zend/Zend/Auth/Storage/Session.php delete mode 100644 lib/zend/Zend/Cache.php delete mode 100644 lib/zend/Zend/Cache/Backend.php delete mode 100644 lib/zend/Zend/Cache/Backend/Apc.php delete mode 100644 lib/zend/Zend/Cache/Backend/ExtendedInterface.php delete mode 100644 lib/zend/Zend/Cache/Backend/File.php delete mode 100644 lib/zend/Zend/Cache/Backend/Interface.php delete mode 100644 lib/zend/Zend/Cache/Backend/Memcached.php delete mode 100644 lib/zend/Zend/Cache/Backend/Sqlite.php delete mode 100644 lib/zend/Zend/Cache/Backend/Test.php delete mode 100644 lib/zend/Zend/Cache/Backend/TwoLevels.php delete mode 100644 lib/zend/Zend/Cache/Backend/Xcache.php delete mode 100644 lib/zend/Zend/Cache/Backend/ZendPlatform.php delete mode 100755 lib/zend/Zend/Cache/Backend/ZendServer.php delete mode 100755 lib/zend/Zend/Cache/Backend/ZendServer/Disk.php delete mode 100755 lib/zend/Zend/Cache/Backend/ZendServer/ShMem.php delete mode 100644 lib/zend/Zend/Cache/Core.php delete mode 100644 lib/zend/Zend/Cache/Exception.php delete mode 100644 lib/zend/Zend/Cache/Frontend/Class.php delete mode 100644 lib/zend/Zend/Cache/Frontend/File.php delete mode 100644 lib/zend/Zend/Cache/Frontend/Function.php delete mode 100644 lib/zend/Zend/Cache/Frontend/Output.php delete mode 100644 lib/zend/Zend/Cache/Frontend/Page.php delete mode 100644 lib/zend/Zend/Captcha/Adapter.php delete mode 100644 lib/zend/Zend/Captcha/Base.php delete mode 100644 lib/zend/Zend/Captcha/Dumb.php delete mode 100755 lib/zend/Zend/Captcha/Exception.php delete mode 100644 lib/zend/Zend/Captcha/Figlet.php delete mode 100644 lib/zend/Zend/Captcha/Image.php delete mode 100644 lib/zend/Zend/Captcha/ReCaptcha.php delete mode 100644 lib/zend/Zend/Captcha/Word.php delete mode 100644 lib/zend/Zend/CodeGenerator/Abstract.php delete mode 100644 lib/zend/Zend/CodeGenerator/Exception.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/Abstract.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/Body.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/Class.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/Docblock.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/Docblock/Tag.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/Docblock/Tag/License.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/Docblock/Tag/Param.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/Docblock/Tag/Return.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/Exception.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/File.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/Member/Abstract.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/Member/Container.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/Method.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/Parameter.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/Parameter/DefaultValue.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/Property.php delete mode 100644 lib/zend/Zend/CodeGenerator/Php/Property/DefaultValue.php delete mode 100644 lib/zend/Zend/Config.php delete mode 100644 lib/zend/Zend/Config/Exception.php delete mode 100644 lib/zend/Zend/Config/Ini.php delete mode 100644 lib/zend/Zend/Config/Writer.php delete mode 100644 lib/zend/Zend/Config/Writer/Array.php delete mode 100644 lib/zend/Zend/Config/Writer/Ini.php delete mode 100644 lib/zend/Zend/Config/Writer/Xml.php delete mode 100644 lib/zend/Zend/Config/Xml.php delete mode 100644 lib/zend/Zend/Console/Getopt.php delete mode 100644 lib/zend/Zend/Console/Getopt/Exception.php delete mode 100644 lib/zend/Zend/Controller/Action.php delete mode 100644 lib/zend/Zend/Controller/Action/Exception.php delete mode 100644 lib/zend/Zend/Controller/Action/Helper/Abstract.php delete mode 100644 lib/zend/Zend/Controller/Action/Helper/ActionStack.php delete mode 100644 lib/zend/Zend/Controller/Action/Helper/AjaxContext.php delete mode 100644 lib/zend/Zend/Controller/Action/Helper/AutoComplete/Abstract.php delete mode 100644 lib/zend/Zend/Controller/Action/Helper/AutoCompleteDojo.php delete mode 100644 lib/zend/Zend/Controller/Action/Helper/AutoCompleteScriptaculous.php delete mode 100644 lib/zend/Zend/Controller/Action/Helper/ContextSwitch.php delete mode 100644 lib/zend/Zend/Controller/Action/Helper/FlashMessenger.php delete mode 100644 lib/zend/Zend/Controller/Action/Helper/Json.php delete mode 100644 lib/zend/Zend/Controller/Action/Helper/Redirector.php delete mode 100644 lib/zend/Zend/Controller/Action/Helper/Url.php delete mode 100644 lib/zend/Zend/Controller/Action/Helper/ViewRenderer.php delete mode 100644 lib/zend/Zend/Controller/Action/HelperBroker.php delete mode 100644 lib/zend/Zend/Controller/Action/HelperBroker/PriorityStack.php delete mode 100644 lib/zend/Zend/Controller/Action/Interface.php delete mode 100644 lib/zend/Zend/Controller/Dispatcher/Abstract.php delete mode 100644 lib/zend/Zend/Controller/Dispatcher/Exception.php delete mode 100644 lib/zend/Zend/Controller/Dispatcher/Interface.php delete mode 100644 lib/zend/Zend/Controller/Dispatcher/Standard.php delete mode 100644 lib/zend/Zend/Controller/Exception.php delete mode 100644 lib/zend/Zend/Controller/Front.php delete mode 100644 lib/zend/Zend/Controller/Plugin/Abstract.php delete mode 100644 lib/zend/Zend/Controller/Plugin/ActionStack.php delete mode 100644 lib/zend/Zend/Controller/Plugin/Broker.php delete mode 100644 lib/zend/Zend/Controller/Plugin/ErrorHandler.php delete mode 100644 lib/zend/Zend/Controller/Plugin/PutHandler.php delete mode 100644 lib/zend/Zend/Controller/Request/Abstract.php delete mode 100644 lib/zend/Zend/Controller/Request/Apache404.php delete mode 100644 lib/zend/Zend/Controller/Request/Exception.php delete mode 100644 lib/zend/Zend/Controller/Request/Http.php delete mode 100644 lib/zend/Zend/Controller/Request/HttpTestCase.php delete mode 100644 lib/zend/Zend/Controller/Request/Simple.php delete mode 100644 lib/zend/Zend/Controller/Response/Abstract.php delete mode 100644 lib/zend/Zend/Controller/Response/Cli.php delete mode 100644 lib/zend/Zend/Controller/Response/Exception.php delete mode 100644 lib/zend/Zend/Controller/Response/Http.php delete mode 100644 lib/zend/Zend/Controller/Response/HttpTestCase.php delete mode 100644 lib/zend/Zend/Controller/Router/Abstract.php delete mode 100644 lib/zend/Zend/Controller/Router/Exception.php delete mode 100644 lib/zend/Zend/Controller/Router/Interface.php delete mode 100644 lib/zend/Zend/Controller/Router/Rewrite.php delete mode 100644 lib/zend/Zend/Controller/Router/Route.php delete mode 100644 lib/zend/Zend/Controller/Router/Route/Abstract.php delete mode 100644 lib/zend/Zend/Controller/Router/Route/Chain.php delete mode 100644 lib/zend/Zend/Controller/Router/Route/Hostname.php delete mode 100644 lib/zend/Zend/Controller/Router/Route/Interface.php delete mode 100644 lib/zend/Zend/Controller/Router/Route/Module.php delete mode 100644 lib/zend/Zend/Controller/Router/Route/Regex.php delete mode 100644 lib/zend/Zend/Controller/Router/Route/Static.php delete mode 100644 lib/zend/Zend/Crypt.php delete mode 100644 lib/zend/Zend/Crypt/DiffieHellman.php delete mode 100644 lib/zend/Zend/Crypt/DiffieHellman/Exception.php delete mode 100644 lib/zend/Zend/Crypt/Exception.php delete mode 100644 lib/zend/Zend/Crypt/Hmac.php delete mode 100644 lib/zend/Zend/Crypt/Hmac/Exception.php delete mode 100644 lib/zend/Zend/Crypt/Math.php delete mode 100644 lib/zend/Zend/Crypt/Math/BigInteger.php delete mode 100644 lib/zend/Zend/Crypt/Math/BigInteger/Bcmath.php delete mode 100644 lib/zend/Zend/Crypt/Math/BigInteger/Exception.php delete mode 100644 lib/zend/Zend/Crypt/Math/BigInteger/Gmp.php delete mode 100644 lib/zend/Zend/Crypt/Math/BigInteger/Interface.php delete mode 100644 lib/zend/Zend/Crypt/Math/Exception.php delete mode 100644 lib/zend/Zend/Crypt/Rsa.php delete mode 100644 lib/zend/Zend/Crypt/Rsa/Key.php delete mode 100644 lib/zend/Zend/Crypt/Rsa/Key/Private.php delete mode 100644 lib/zend/Zend/Crypt/Rsa/Key/Public.php delete mode 100644 lib/zend/Zend/Currency.php delete mode 100644 lib/zend/Zend/Currency/Exception.php delete mode 100644 lib/zend/Zend/Db.php delete mode 100644 lib/zend/Zend/Db/Adapter/Abstract.php delete mode 100644 lib/zend/Zend/Db/Adapter/Db2.php delete mode 100644 lib/zend/Zend/Db/Adapter/Db2/Exception.php delete mode 100644 lib/zend/Zend/Db/Adapter/Exception.php delete mode 100644 lib/zend/Zend/Db/Adapter/Mysqli.php delete mode 100644 lib/zend/Zend/Db/Adapter/Mysqli/Exception.php delete mode 100644 lib/zend/Zend/Db/Adapter/Oracle.php delete mode 100644 lib/zend/Zend/Db/Adapter/Oracle/Exception.php delete mode 100644 lib/zend/Zend/Db/Adapter/Pdo/Abstract.php delete mode 100644 lib/zend/Zend/Db/Adapter/Pdo/Ibm.php delete mode 100644 lib/zend/Zend/Db/Adapter/Pdo/Ibm/Db2.php delete mode 100644 lib/zend/Zend/Db/Adapter/Pdo/Ibm/Ids.php delete mode 100644 lib/zend/Zend/Db/Adapter/Pdo/Mssql.php delete mode 100644 lib/zend/Zend/Db/Adapter/Pdo/Mysql.php delete mode 100644 lib/zend/Zend/Db/Adapter/Pdo/Oci.php delete mode 100644 lib/zend/Zend/Db/Adapter/Pdo/Pgsql.php delete mode 100644 lib/zend/Zend/Db/Adapter/Pdo/Sqlite.php delete mode 100644 lib/zend/Zend/Db/Adapter/Sqlsrv.php delete mode 100644 lib/zend/Zend/Db/Adapter/Sqlsrv/Exception.php delete mode 100644 lib/zend/Zend/Db/Exception.php delete mode 100644 lib/zend/Zend/Db/Expr.php delete mode 100644 lib/zend/Zend/Db/Profiler.php delete mode 100644 lib/zend/Zend/Db/Profiler/Exception.php delete mode 100644 lib/zend/Zend/Db/Profiler/Firebug.php delete mode 100644 lib/zend/Zend/Db/Profiler/Query.php delete mode 100644 lib/zend/Zend/Db/Select.php delete mode 100644 lib/zend/Zend/Db/Select/Exception.php delete mode 100644 lib/zend/Zend/Db/Statement.php delete mode 100644 lib/zend/Zend/Db/Statement/Db2.php delete mode 100644 lib/zend/Zend/Db/Statement/Db2/Exception.php delete mode 100644 lib/zend/Zend/Db/Statement/Exception.php delete mode 100644 lib/zend/Zend/Db/Statement/Interface.php delete mode 100644 lib/zend/Zend/Db/Statement/Mysqli.php delete mode 100644 lib/zend/Zend/Db/Statement/Mysqli/Exception.php delete mode 100644 lib/zend/Zend/Db/Statement/Oracle.php delete mode 100644 lib/zend/Zend/Db/Statement/Oracle/Exception.php delete mode 100644 lib/zend/Zend/Db/Statement/Pdo.php delete mode 100644 lib/zend/Zend/Db/Statement/Pdo/Ibm.php delete mode 100644 lib/zend/Zend/Db/Statement/Pdo/Oci.php delete mode 100644 lib/zend/Zend/Db/Statement/Sqlsrv.php delete mode 100644 lib/zend/Zend/Db/Statement/Sqlsrv/Exception.php delete mode 100644 lib/zend/Zend/Db/Table.php delete mode 100644 lib/zend/Zend/Db/Table/Abstract.php delete mode 100644 lib/zend/Zend/Db/Table/Definition.php delete mode 100644 lib/zend/Zend/Db/Table/Exception.php delete mode 100644 lib/zend/Zend/Db/Table/Row.php delete mode 100644 lib/zend/Zend/Db/Table/Row/Abstract.php delete mode 100644 lib/zend/Zend/Db/Table/Row/Exception.php delete mode 100644 lib/zend/Zend/Db/Table/Rowset.php delete mode 100644 lib/zend/Zend/Db/Table/Rowset/Abstract.php delete mode 100644 lib/zend/Zend/Db/Table/Rowset/Exception.php delete mode 100644 lib/zend/Zend/Db/Table/Select.php delete mode 100644 lib/zend/Zend/Db/Table/Select/Exception.php delete mode 100644 lib/zend/Zend/Debug.php delete mode 100644 lib/zend/Zend/Dojo.php delete mode 100644 lib/zend/Zend/Dojo/BuildLayer.php delete mode 100644 lib/zend/Zend/Dojo/Data.php delete mode 100644 lib/zend/Zend/Dojo/Exception.php delete mode 100644 lib/zend/Zend/Dojo/Form.php delete mode 100644 lib/zend/Zend/Dojo/Form/Decorator/AccordionContainer.php delete mode 100644 lib/zend/Zend/Dojo/Form/Decorator/AccordionPane.php delete mode 100644 lib/zend/Zend/Dojo/Form/Decorator/BorderContainer.php delete mode 100644 lib/zend/Zend/Dojo/Form/Decorator/ContentPane.php delete mode 100644 lib/zend/Zend/Dojo/Form/Decorator/DijitContainer.php delete mode 100644 lib/zend/Zend/Dojo/Form/Decorator/DijitElement.php delete mode 100644 lib/zend/Zend/Dojo/Form/Decorator/DijitForm.php delete mode 100644 lib/zend/Zend/Dojo/Form/Decorator/SplitContainer.php delete mode 100644 lib/zend/Zend/Dojo/Form/Decorator/StackContainer.php delete mode 100644 lib/zend/Zend/Dojo/Form/Decorator/TabContainer.php delete mode 100644 lib/zend/Zend/Dojo/Form/DisplayGroup.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/Button.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/CheckBox.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/ComboBox.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/CurrencyTextBox.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/DateTextBox.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/Dijit.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/DijitMulti.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/Editor.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/FilteringSelect.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/HorizontalSlider.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/NumberSpinner.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/NumberTextBox.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/PasswordTextBox.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/RadioButton.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/SimpleTextarea.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/Slider.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/SubmitButton.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/TextBox.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/Textarea.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/TimeTextBox.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/ValidationTextBox.php delete mode 100644 lib/zend/Zend/Dojo/Form/Element/VerticalSlider.php delete mode 100644 lib/zend/Zend/Dojo/Form/SubForm.php delete mode 100644 lib/zend/Zend/Dojo/View/Exception.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/AccordionContainer.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/AccordionPane.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/BorderContainer.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/Button.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/CheckBox.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/ComboBox.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/ContentPane.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/CurrencyTextBox.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/CustomDijit.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/DateTextBox.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/Dijit.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/DijitContainer.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/Dojo.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/Dojo/Container.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/Editor.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/FilteringSelect.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/Form.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/HorizontalSlider.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/NumberSpinner.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/NumberTextBox.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/PasswordTextBox.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/RadioButton.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/SimpleTextarea.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/Slider.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/SplitContainer.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/StackContainer.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/SubmitButton.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/TabContainer.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/TextBox.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/Textarea.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/TimeTextBox.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/ValidationTextBox.php delete mode 100644 lib/zend/Zend/Dojo/View/Helper/VerticalSlider.php delete mode 100644 lib/zend/Zend/Dom/Exception.php delete mode 100644 lib/zend/Zend/Dom/Query.php delete mode 100644 lib/zend/Zend/Dom/Query/Css2Xpath.php delete mode 100644 lib/zend/Zend/Dom/Query/Result.php delete mode 100644 lib/zend/Zend/Feed.php delete mode 100644 lib/zend/Zend/Feed/Abstract.php delete mode 100644 lib/zend/Zend/Feed/Atom.php delete mode 100644 lib/zend/Zend/Feed/Builder.php delete mode 100644 lib/zend/Zend/Feed/Builder/Entry.php delete mode 100644 lib/zend/Zend/Feed/Builder/Exception.php delete mode 100644 lib/zend/Zend/Feed/Builder/Header.php delete mode 100644 lib/zend/Zend/Feed/Builder/Header/Itunes.php delete mode 100644 lib/zend/Zend/Feed/Builder/Interface.php delete mode 100644 lib/zend/Zend/Feed/Element.php delete mode 100644 lib/zend/Zend/Feed/Entry/Abstract.php delete mode 100644 lib/zend/Zend/Feed/Entry/Atom.php delete mode 100644 lib/zend/Zend/Feed/Entry/Rss.php delete mode 100644 lib/zend/Zend/Feed/Exception.php delete mode 100644 lib/zend/Zend/Feed/Reader.php delete mode 100644 lib/zend/Zend/Feed/Reader/Entry/Atom.php delete mode 100644 lib/zend/Zend/Feed/Reader/Entry/Rss.php delete mode 100644 lib/zend/Zend/Feed/Reader/EntryAbstract.php delete mode 100644 lib/zend/Zend/Feed/Reader/EntryInterface.php delete mode 100644 lib/zend/Zend/Feed/Reader/Extension/Atom/Entry.php delete mode 100644 lib/zend/Zend/Feed/Reader/Extension/Atom/Feed.php delete mode 100644 lib/zend/Zend/Feed/Reader/Extension/Content/Entry.php delete mode 100644 lib/zend/Zend/Feed/Reader/Extension/CreativeCommons/Entry.php delete mode 100644 lib/zend/Zend/Feed/Reader/Extension/CreativeCommons/Feed.php delete mode 100644 lib/zend/Zend/Feed/Reader/Extension/DublinCore/Entry.php delete mode 100644 lib/zend/Zend/Feed/Reader/Extension/DublinCore/Feed.php delete mode 100644 lib/zend/Zend/Feed/Reader/Extension/EntryAbstract.php delete mode 100644 lib/zend/Zend/Feed/Reader/Extension/FeedAbstract.php delete mode 100644 lib/zend/Zend/Feed/Reader/Extension/Podcast/Entry.php delete mode 100644 lib/zend/Zend/Feed/Reader/Extension/Podcast/Feed.php delete mode 100644 lib/zend/Zend/Feed/Reader/Extension/Slash/Entry.php delete mode 100644 lib/zend/Zend/Feed/Reader/Extension/Syndication/Feed.php delete mode 100644 lib/zend/Zend/Feed/Reader/Extension/Thread/Entry.php delete mode 100644 lib/zend/Zend/Feed/Reader/Extension/WellFormedWeb/Entry.php delete mode 100644 lib/zend/Zend/Feed/Reader/Feed/Atom.php delete mode 100644 lib/zend/Zend/Feed/Reader/Feed/Rss.php delete mode 100644 lib/zend/Zend/Feed/Reader/FeedAbstract.php delete mode 100644 lib/zend/Zend/Feed/Reader/FeedInterface.php delete mode 100644 lib/zend/Zend/Feed/Rss.php delete mode 100644 lib/zend/Zend/File/Transfer.php delete mode 100644 lib/zend/Zend/File/Transfer/Adapter/Abstract.php delete mode 100644 lib/zend/Zend/File/Transfer/Adapter/Http.php delete mode 100644 lib/zend/Zend/File/Transfer/Exception.php delete mode 100644 lib/zend/Zend/Filter.php delete mode 100644 lib/zend/Zend/Filter/Alnum.php delete mode 100644 lib/zend/Zend/Filter/Alpha.php delete mode 100644 lib/zend/Zend/Filter/BaseName.php delete mode 100644 lib/zend/Zend/Filter/Callback.php delete mode 100644 lib/zend/Zend/Filter/Decrypt.php delete mode 100644 lib/zend/Zend/Filter/Digits.php delete mode 100644 lib/zend/Zend/Filter/Dir.php delete mode 100644 lib/zend/Zend/Filter/Encrypt.php delete mode 100644 lib/zend/Zend/Filter/Encrypt/Interface.php delete mode 100644 lib/zend/Zend/Filter/Encrypt/Mcrypt.php delete mode 100644 lib/zend/Zend/Filter/Encrypt/Openssl.php delete mode 100644 lib/zend/Zend/Filter/Exception.php delete mode 100644 lib/zend/Zend/Filter/File/Decrypt.php delete mode 100644 lib/zend/Zend/Filter/File/Encrypt.php delete mode 100644 lib/zend/Zend/Filter/File/LowerCase.php delete mode 100644 lib/zend/Zend/Filter/File/Rename.php delete mode 100644 lib/zend/Zend/Filter/File/UpperCase.php delete mode 100644 lib/zend/Zend/Filter/HtmlEntities.php delete mode 100644 lib/zend/Zend/Filter/Inflector.php delete mode 100644 lib/zend/Zend/Filter/Input.php delete mode 100644 lib/zend/Zend/Filter/Int.php delete mode 100644 lib/zend/Zend/Filter/Interface.php delete mode 100644 lib/zend/Zend/Filter/LocalizedToNormalized.php delete mode 100644 lib/zend/Zend/Filter/NormalizedToLocalized.php delete mode 100644 lib/zend/Zend/Filter/PregReplace.php delete mode 100644 lib/zend/Zend/Filter/RealPath.php delete mode 100644 lib/zend/Zend/Filter/StringToLower.php delete mode 100644 lib/zend/Zend/Filter/StringToUpper.php delete mode 100644 lib/zend/Zend/Filter/StringTrim.php delete mode 100644 lib/zend/Zend/Filter/StripNewlines.php delete mode 100644 lib/zend/Zend/Filter/StripTags.php delete mode 100644 lib/zend/Zend/Filter/Word/CamelCaseToDash.php delete mode 100644 lib/zend/Zend/Filter/Word/CamelCaseToSeparator.php delete mode 100644 lib/zend/Zend/Filter/Word/CamelCaseToUnderscore.php delete mode 100644 lib/zend/Zend/Filter/Word/DashToCamelCase.php delete mode 100644 lib/zend/Zend/Filter/Word/DashToSeparator.php delete mode 100644 lib/zend/Zend/Filter/Word/DashToUnderscore.php delete mode 100644 lib/zend/Zend/Filter/Word/Separator/Abstract.php delete mode 100644 lib/zend/Zend/Filter/Word/SeparatorToCamelCase.php delete mode 100644 lib/zend/Zend/Filter/Word/SeparatorToDash.php delete mode 100644 lib/zend/Zend/Filter/Word/SeparatorToSeparator.php delete mode 100644 lib/zend/Zend/Filter/Word/UnderscoreToCamelCase.php delete mode 100644 lib/zend/Zend/Filter/Word/UnderscoreToDash.php delete mode 100644 lib/zend/Zend/Filter/Word/UnderscoreToSeparator.php delete mode 100644 lib/zend/Zend/Form.php delete mode 100644 lib/zend/Zend/Form/Decorator/Abstract.php delete mode 100644 lib/zend/Zend/Form/Decorator/Callback.php delete mode 100644 lib/zend/Zend/Form/Decorator/Captcha.php delete mode 100644 lib/zend/Zend/Form/Decorator/Captcha/Word.php delete mode 100644 lib/zend/Zend/Form/Decorator/Description.php delete mode 100644 lib/zend/Zend/Form/Decorator/DtDdWrapper.php delete mode 100644 lib/zend/Zend/Form/Decorator/Errors.php delete mode 100644 lib/zend/Zend/Form/Decorator/Exception.php delete mode 100644 lib/zend/Zend/Form/Decorator/Fieldset.php delete mode 100644 lib/zend/Zend/Form/Decorator/File.php delete mode 100644 lib/zend/Zend/Form/Decorator/Form.php delete mode 100644 lib/zend/Zend/Form/Decorator/FormElements.php delete mode 100644 lib/zend/Zend/Form/Decorator/FormErrors.php delete mode 100644 lib/zend/Zend/Form/Decorator/HtmlTag.php delete mode 100644 lib/zend/Zend/Form/Decorator/Image.php delete mode 100644 lib/zend/Zend/Form/Decorator/Interface.php delete mode 100644 lib/zend/Zend/Form/Decorator/Label.php delete mode 100644 lib/zend/Zend/Form/Decorator/Marker/File/Interface.php delete mode 100644 lib/zend/Zend/Form/Decorator/PrepareElements.php delete mode 100644 lib/zend/Zend/Form/Decorator/Tooltip.php delete mode 100644 lib/zend/Zend/Form/Decorator/ViewHelper.php delete mode 100644 lib/zend/Zend/Form/Decorator/ViewScript.php delete mode 100644 lib/zend/Zend/Form/DisplayGroup.php delete mode 100644 lib/zend/Zend/Form/Element.php delete mode 100644 lib/zend/Zend/Form/Element/Button.php delete mode 100644 lib/zend/Zend/Form/Element/Captcha.php delete mode 100644 lib/zend/Zend/Form/Element/Checkbox.php delete mode 100644 lib/zend/Zend/Form/Element/Exception.php delete mode 100644 lib/zend/Zend/Form/Element/File.php delete mode 100644 lib/zend/Zend/Form/Element/Hash.php delete mode 100644 lib/zend/Zend/Form/Element/Hidden.php delete mode 100644 lib/zend/Zend/Form/Element/Image.php delete mode 100644 lib/zend/Zend/Form/Element/Multi.php delete mode 100644 lib/zend/Zend/Form/Element/MultiCheckbox.php delete mode 100644 lib/zend/Zend/Form/Element/Multiselect.php delete mode 100644 lib/zend/Zend/Form/Element/Password.php delete mode 100644 lib/zend/Zend/Form/Element/Radio.php delete mode 100644 lib/zend/Zend/Form/Element/Reset.php delete mode 100644 lib/zend/Zend/Form/Element/Select.php delete mode 100644 lib/zend/Zend/Form/Element/Submit.php delete mode 100644 lib/zend/Zend/Form/Element/Text.php delete mode 100644 lib/zend/Zend/Form/Element/Textarea.php delete mode 100644 lib/zend/Zend/Form/Element/Xhtml.php delete mode 100644 lib/zend/Zend/Form/Exception.php delete mode 100644 lib/zend/Zend/Form/SubForm.php delete mode 100644 lib/zend/Zend/InfoCard.php delete mode 100644 lib/zend/Zend/InfoCard/Adapter/Default.php delete mode 100644 lib/zend/Zend/InfoCard/Adapter/Exception.php delete mode 100644 lib/zend/Zend/InfoCard/Adapter/Interface.php delete mode 100644 lib/zend/Zend/InfoCard/Cipher.php delete mode 100644 lib/zend/Zend/InfoCard/Cipher/Exception.php delete mode 100644 lib/zend/Zend/InfoCard/Cipher/Pki/Adapter/Abstract.php delete mode 100644 lib/zend/Zend/InfoCard/Cipher/Pki/Adapter/Rsa.php delete mode 100644 lib/zend/Zend/InfoCard/Cipher/Pki/Interface.php delete mode 100644 lib/zend/Zend/InfoCard/Cipher/Pki/Rsa/Interface.php delete mode 100644 lib/zend/Zend/InfoCard/Cipher/Symmetric/Adapter/Abstract.php delete mode 100644 lib/zend/Zend/InfoCard/Cipher/Symmetric/Adapter/Aes128cbc.php delete mode 100644 lib/zend/Zend/InfoCard/Cipher/Symmetric/Adapter/Aes256cbc.php delete mode 100644 lib/zend/Zend/InfoCard/Cipher/Symmetric/Aes128cbc/Interface.php delete mode 100644 lib/zend/Zend/InfoCard/Cipher/Symmetric/Aes256cbc/Interface.php delete mode 100644 lib/zend/Zend/InfoCard/Cipher/Symmetric/Interface.php delete mode 100644 lib/zend/Zend/InfoCard/Claims.php delete mode 100644 lib/zend/Zend/InfoCard/Exception.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/Assertion.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/Assertion/Interface.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/Assertion/Saml.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/Element.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/Element/Interface.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/EncryptedData.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/EncryptedData/Abstract.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/EncryptedData/XmlEnc.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/EncryptedKey.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/Exception.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/KeyInfo.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/KeyInfo/Abstract.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/KeyInfo/Default.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/KeyInfo/Interface.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/KeyInfo/XmlDSig.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/Security.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/Security/Exception.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/Security/Transform.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/Security/Transform/EnvelopedSignature.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/Security/Transform/Exception.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/Security/Transform/Interface.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/Security/Transform/XmlExcC14N.php delete mode 100644 lib/zend/Zend/InfoCard/Xml/SecurityTokenReference.php delete mode 100644 lib/zend/Zend/Json.php delete mode 100644 lib/zend/Zend/Json/Decoder.php delete mode 100644 lib/zend/Zend/Json/Encoder.php delete mode 100644 lib/zend/Zend/Json/Exception.php delete mode 100644 lib/zend/Zend/Json/Expr.php delete mode 100644 lib/zend/Zend/Json/Server.php delete mode 100644 lib/zend/Zend/Json/Server/Cache.php delete mode 100644 lib/zend/Zend/Json/Server/Error.php delete mode 100644 lib/zend/Zend/Json/Server/Exception.php delete mode 100644 lib/zend/Zend/Json/Server/Request.php delete mode 100644 lib/zend/Zend/Json/Server/Request/Http.php delete mode 100644 lib/zend/Zend/Json/Server/Response.php delete mode 100644 lib/zend/Zend/Json/Server/Response/Http.php delete mode 100644 lib/zend/Zend/Json/Server/Smd.php delete mode 100644 lib/zend/Zend/Json/Server/Smd/Service.php delete mode 100644 lib/zend/Zend/Layout.php delete mode 100644 lib/zend/Zend/Layout/Controller/Action/Helper/Layout.php delete mode 100644 lib/zend/Zend/Layout/Controller/Plugin/Layout.php delete mode 100644 lib/zend/Zend/Layout/Exception.php delete mode 100644 lib/zend/Zend/Ldap.php delete mode 100644 lib/zend/Zend/Ldap/Attribute.php delete mode 100644 lib/zend/Zend/Ldap/Collection.php delete mode 100644 lib/zend/Zend/Ldap/Collection/Iterator/Default.php delete mode 100644 lib/zend/Zend/Ldap/Collection/Iterator/Interface.php delete mode 100644 lib/zend/Zend/Ldap/Converter.php delete mode 100644 lib/zend/Zend/Ldap/Dn.php delete mode 100644 lib/zend/Zend/Ldap/Exception.php delete mode 100644 lib/zend/Zend/Ldap/Filter.php delete mode 100644 lib/zend/Zend/Ldap/Filter/Abstract.php delete mode 100644 lib/zend/Zend/Ldap/Filter/And.php delete mode 100644 lib/zend/Zend/Ldap/Filter/Exception.php delete mode 100644 lib/zend/Zend/Ldap/Filter/Logical.php delete mode 100644 lib/zend/Zend/Ldap/Filter/Mask.php delete mode 100644 lib/zend/Zend/Ldap/Filter/Not.php delete mode 100644 lib/zend/Zend/Ldap/Filter/Or.php delete mode 100644 lib/zend/Zend/Ldap/Filter/String.php delete mode 100644 lib/zend/Zend/Ldap/Ldif/Encoder.php delete mode 100644 lib/zend/Zend/Ldap/Node.php delete mode 100644 lib/zend/Zend/Ldap/Node/Abstract.php delete mode 100644 lib/zend/Zend/Ldap/Node/ChildrenIterator.php delete mode 100644 lib/zend/Zend/Ldap/Node/Collection.php delete mode 100644 lib/zend/Zend/Ldap/Node/RootDse.php delete mode 100644 lib/zend/Zend/Ldap/Node/RootDse/ActiveDirectory.php delete mode 100644 lib/zend/Zend/Ldap/Node/RootDse/OpenLdap.php delete mode 100644 lib/zend/Zend/Ldap/Node/RootDse/eDirectory.php delete mode 100644 lib/zend/Zend/Ldap/Node/Schema.php delete mode 100644 lib/zend/Zend/Ldap/Node/Schema/ActiveDirectory.php delete mode 100644 lib/zend/Zend/Ldap/Node/Schema/AttributeType/ActiveDirectory.php delete mode 100644 lib/zend/Zend/Ldap/Node/Schema/AttributeType/Interface.php delete mode 100644 lib/zend/Zend/Ldap/Node/Schema/AttributeType/OpenLdap.php delete mode 100644 lib/zend/Zend/Ldap/Node/Schema/Item.php delete mode 100644 lib/zend/Zend/Ldap/Node/Schema/ObjectClass/ActiveDirectory.php delete mode 100644 lib/zend/Zend/Ldap/Node/Schema/ObjectClass/Interface.php delete mode 100644 lib/zend/Zend/Ldap/Node/Schema/ObjectClass/OpenLdap.php delete mode 100644 lib/zend/Zend/Ldap/Node/Schema/OpenLdap.php delete mode 100644 lib/zend/Zend/Loader/Autoloader.php delete mode 100644 lib/zend/Zend/Loader/Autoloader/Interface.php delete mode 100644 lib/zend/Zend/Loader/Autoloader/Resource.php delete mode 100644 lib/zend/Zend/Loader/Exception.php delete mode 100644 lib/zend/Zend/Loader/PluginLoader.php delete mode 100644 lib/zend/Zend/Loader/PluginLoader/Exception.php delete mode 100644 lib/zend/Zend/Loader/PluginLoader/Interface.php delete mode 100644 lib/zend/Zend/Locale.php delete mode 100644 lib/zend/Zend/Locale/Data.php delete mode 100644 lib/zend/Zend/Locale/Data/Translation.php delete mode 100644 lib/zend/Zend/Locale/Data/aa.xml delete mode 100644 lib/zend/Zend/Locale/Data/aa_DJ.xml delete mode 100644 lib/zend/Zend/Locale/Data/aa_ER.xml delete mode 100644 lib/zend/Zend/Locale/Data/aa_ER_SAAHO.xml delete mode 100644 lib/zend/Zend/Locale/Data/aa_ET.xml delete mode 100644 lib/zend/Zend/Locale/Data/af.xml delete mode 100644 lib/zend/Zend/Locale/Data/af_NA.xml delete mode 100644 lib/zend/Zend/Locale/Data/af_ZA.xml delete mode 100644 lib/zend/Zend/Locale/Data/ak.xml delete mode 100644 lib/zend/Zend/Locale/Data/ak_GH.xml delete mode 100644 lib/zend/Zend/Locale/Data/am.xml delete mode 100644 lib/zend/Zend/Locale/Data/am_ET.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_AE.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_BH.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_DZ.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_EG.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_IQ.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_JO.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_KW.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_LB.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_LY.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_MA.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_OM.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_QA.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_SA.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_SD.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_SY.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_TN.xml delete mode 100644 lib/zend/Zend/Locale/Data/ar_YE.xml delete mode 100644 lib/zend/Zend/Locale/Data/as.xml delete mode 100644 lib/zend/Zend/Locale/Data/as_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/az.xml delete mode 100644 lib/zend/Zend/Locale/Data/az_AZ.xml delete mode 100644 lib/zend/Zend/Locale/Data/az_Cyrl.xml delete mode 100644 lib/zend/Zend/Locale/Data/az_Cyrl_AZ.xml delete mode 100644 lib/zend/Zend/Locale/Data/az_Latn.xml delete mode 100644 lib/zend/Zend/Locale/Data/az_Latn_AZ.xml delete mode 100644 lib/zend/Zend/Locale/Data/be.xml delete mode 100644 lib/zend/Zend/Locale/Data/be_BY.xml delete mode 100644 lib/zend/Zend/Locale/Data/bg.xml delete mode 100644 lib/zend/Zend/Locale/Data/bg_BG.xml delete mode 100644 lib/zend/Zend/Locale/Data/bn.xml delete mode 100644 lib/zend/Zend/Locale/Data/bn_BD.xml delete mode 100644 lib/zend/Zend/Locale/Data/bn_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/bo.xml delete mode 100644 lib/zend/Zend/Locale/Data/bo_CN.xml delete mode 100644 lib/zend/Zend/Locale/Data/bo_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/bs.xml delete mode 100644 lib/zend/Zend/Locale/Data/bs_BA.xml delete mode 100644 lib/zend/Zend/Locale/Data/byn.xml delete mode 100644 lib/zend/Zend/Locale/Data/byn_ER.xml delete mode 100644 lib/zend/Zend/Locale/Data/ca.xml delete mode 100644 lib/zend/Zend/Locale/Data/ca_ES.xml delete mode 100644 lib/zend/Zend/Locale/Data/cch.xml delete mode 100644 lib/zend/Zend/Locale/Data/cch_NG.xml delete mode 100644 lib/zend/Zend/Locale/Data/characters.xml delete mode 100644 lib/zend/Zend/Locale/Data/cop.xml delete mode 100644 lib/zend/Zend/Locale/Data/cs.xml delete mode 100644 lib/zend/Zend/Locale/Data/cs_CZ.xml delete mode 100644 lib/zend/Zend/Locale/Data/cy.xml delete mode 100644 lib/zend/Zend/Locale/Data/cy_GB.xml delete mode 100644 lib/zend/Zend/Locale/Data/da.xml delete mode 100644 lib/zend/Zend/Locale/Data/da_DK.xml delete mode 100644 lib/zend/Zend/Locale/Data/de.xml delete mode 100644 lib/zend/Zend/Locale/Data/de_AT.xml delete mode 100644 lib/zend/Zend/Locale/Data/de_BE.xml delete mode 100644 lib/zend/Zend/Locale/Data/de_CH.xml delete mode 100644 lib/zend/Zend/Locale/Data/de_DE.xml delete mode 100644 lib/zend/Zend/Locale/Data/de_LI.xml delete mode 100644 lib/zend/Zend/Locale/Data/de_LU.xml delete mode 100644 lib/zend/Zend/Locale/Data/dv.xml delete mode 100644 lib/zend/Zend/Locale/Data/dv_MV.xml delete mode 100644 lib/zend/Zend/Locale/Data/dz.xml delete mode 100644 lib/zend/Zend/Locale/Data/dz_BT.xml delete mode 100644 lib/zend/Zend/Locale/Data/ee.xml delete mode 100644 lib/zend/Zend/Locale/Data/ee_GH.xml delete mode 100644 lib/zend/Zend/Locale/Data/ee_TG.xml delete mode 100644 lib/zend/Zend/Locale/Data/el.xml delete mode 100644 lib/zend/Zend/Locale/Data/el_CY.xml delete mode 100644 lib/zend/Zend/Locale/Data/el_GR.xml delete mode 100644 lib/zend/Zend/Locale/Data/el_POLYTON.xml delete mode 100644 lib/zend/Zend/Locale/Data/en.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_AS.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_AU.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_BE.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_BW.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_BZ.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_CA.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_Dsrt.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_Dsrt_US.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_GB.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_GU.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_HK.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_IE.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_JM.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_MH.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_MP.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_MT.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_NA.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_NZ.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_PH.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_PK.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_SG.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_Shaw.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_TT.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_UM.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_US.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_US_POSIX.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_VI.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_ZA.xml delete mode 100644 lib/zend/Zend/Locale/Data/en_ZW.xml delete mode 100644 lib/zend/Zend/Locale/Data/eo.xml delete mode 100644 lib/zend/Zend/Locale/Data/es.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_AR.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_BO.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_CL.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_CO.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_CR.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_DO.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_EC.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_ES.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_GT.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_HN.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_MX.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_NI.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_PA.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_PE.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_PR.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_PY.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_SV.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_US.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_UY.xml delete mode 100644 lib/zend/Zend/Locale/Data/es_VE.xml delete mode 100644 lib/zend/Zend/Locale/Data/et.xml delete mode 100644 lib/zend/Zend/Locale/Data/et_EE.xml delete mode 100644 lib/zend/Zend/Locale/Data/eu.xml delete mode 100644 lib/zend/Zend/Locale/Data/eu_ES.xml delete mode 100644 lib/zend/Zend/Locale/Data/fa.xml delete mode 100644 lib/zend/Zend/Locale/Data/fa_AF.xml delete mode 100644 lib/zend/Zend/Locale/Data/fa_IR.xml delete mode 100644 lib/zend/Zend/Locale/Data/fi.xml delete mode 100644 lib/zend/Zend/Locale/Data/fi_FI.xml delete mode 100644 lib/zend/Zend/Locale/Data/fil.xml delete mode 100644 lib/zend/Zend/Locale/Data/fil_PH.xml delete mode 100644 lib/zend/Zend/Locale/Data/fo.xml delete mode 100644 lib/zend/Zend/Locale/Data/fo_FO.xml delete mode 100644 lib/zend/Zend/Locale/Data/fr.xml delete mode 100644 lib/zend/Zend/Locale/Data/fr_BE.xml delete mode 100644 lib/zend/Zend/Locale/Data/fr_CA.xml delete mode 100644 lib/zend/Zend/Locale/Data/fr_CH.xml delete mode 100644 lib/zend/Zend/Locale/Data/fr_FR.xml delete mode 100644 lib/zend/Zend/Locale/Data/fr_LU.xml delete mode 100644 lib/zend/Zend/Locale/Data/fr_MC.xml delete mode 100644 lib/zend/Zend/Locale/Data/fr_SN.xml delete mode 100644 lib/zend/Zend/Locale/Data/fur.xml delete mode 100644 lib/zend/Zend/Locale/Data/fur_IT.xml delete mode 100644 lib/zend/Zend/Locale/Data/ga.xml delete mode 100644 lib/zend/Zend/Locale/Data/ga_IE.xml delete mode 100644 lib/zend/Zend/Locale/Data/gaa.xml delete mode 100644 lib/zend/Zend/Locale/Data/gaa_GH.xml delete mode 100644 lib/zend/Zend/Locale/Data/gez.xml delete mode 100644 lib/zend/Zend/Locale/Data/gez_ER.xml delete mode 100644 lib/zend/Zend/Locale/Data/gez_ET.xml delete mode 100644 lib/zend/Zend/Locale/Data/gl.xml delete mode 100644 lib/zend/Zend/Locale/Data/gl_ES.xml delete mode 100644 lib/zend/Zend/Locale/Data/gsw.xml delete mode 100644 lib/zend/Zend/Locale/Data/gsw_CH.xml delete mode 100644 lib/zend/Zend/Locale/Data/gu.xml delete mode 100644 lib/zend/Zend/Locale/Data/gu_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/gv.xml delete mode 100644 lib/zend/Zend/Locale/Data/gv_GB.xml delete mode 100644 lib/zend/Zend/Locale/Data/ha.xml delete mode 100644 lib/zend/Zend/Locale/Data/ha_Arab.xml delete mode 100644 lib/zend/Zend/Locale/Data/ha_Arab_NG.xml delete mode 100644 lib/zend/Zend/Locale/Data/ha_Arab_SD.xml delete mode 100644 lib/zend/Zend/Locale/Data/ha_GH.xml delete mode 100644 lib/zend/Zend/Locale/Data/ha_Latn.xml delete mode 100644 lib/zend/Zend/Locale/Data/ha_Latn_GH.xml delete mode 100644 lib/zend/Zend/Locale/Data/ha_Latn_NE.xml delete mode 100644 lib/zend/Zend/Locale/Data/ha_Latn_NG.xml delete mode 100644 lib/zend/Zend/Locale/Data/ha_NE.xml delete mode 100644 lib/zend/Zend/Locale/Data/ha_NG.xml delete mode 100644 lib/zend/Zend/Locale/Data/ha_SD.xml delete mode 100644 lib/zend/Zend/Locale/Data/haw.xml delete mode 100644 lib/zend/Zend/Locale/Data/haw_US.xml delete mode 100644 lib/zend/Zend/Locale/Data/he.xml delete mode 100644 lib/zend/Zend/Locale/Data/he_IL.xml delete mode 100644 lib/zend/Zend/Locale/Data/hi.xml delete mode 100644 lib/zend/Zend/Locale/Data/hi_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/hr.xml delete mode 100644 lib/zend/Zend/Locale/Data/hr_HR.xml delete mode 100644 lib/zend/Zend/Locale/Data/hu.xml delete mode 100644 lib/zend/Zend/Locale/Data/hu_HU.xml delete mode 100644 lib/zend/Zend/Locale/Data/hy.xml delete mode 100644 lib/zend/Zend/Locale/Data/hy_AM.xml delete mode 100644 lib/zend/Zend/Locale/Data/hy_AM_REVISED.xml delete mode 100644 lib/zend/Zend/Locale/Data/ia.xml delete mode 100644 lib/zend/Zend/Locale/Data/id.xml delete mode 100644 lib/zend/Zend/Locale/Data/id_ID.xml delete mode 100644 lib/zend/Zend/Locale/Data/ig.xml delete mode 100644 lib/zend/Zend/Locale/Data/ig_NG.xml delete mode 100644 lib/zend/Zend/Locale/Data/ii.xml delete mode 100644 lib/zend/Zend/Locale/Data/ii_CN.xml delete mode 100644 lib/zend/Zend/Locale/Data/in.xml delete mode 100644 lib/zend/Zend/Locale/Data/is.xml delete mode 100644 lib/zend/Zend/Locale/Data/is_IS.xml delete mode 100644 lib/zend/Zend/Locale/Data/it.xml delete mode 100644 lib/zend/Zend/Locale/Data/it_CH.xml delete mode 100644 lib/zend/Zend/Locale/Data/it_IT.xml delete mode 100644 lib/zend/Zend/Locale/Data/iu.xml delete mode 100644 lib/zend/Zend/Locale/Data/iw.xml delete mode 100644 lib/zend/Zend/Locale/Data/ja.xml delete mode 100644 lib/zend/Zend/Locale/Data/ja_JP.xml delete mode 100644 lib/zend/Zend/Locale/Data/ka.xml delete mode 100644 lib/zend/Zend/Locale/Data/ka_GE.xml delete mode 100644 lib/zend/Zend/Locale/Data/kaj.xml delete mode 100644 lib/zend/Zend/Locale/Data/kaj_NG.xml delete mode 100644 lib/zend/Zend/Locale/Data/kam.xml delete mode 100644 lib/zend/Zend/Locale/Data/kam_KE.xml delete mode 100644 lib/zend/Zend/Locale/Data/kcg.xml delete mode 100644 lib/zend/Zend/Locale/Data/kcg_NG.xml delete mode 100644 lib/zend/Zend/Locale/Data/kfo.xml delete mode 100644 lib/zend/Zend/Locale/Data/kfo_CI.xml delete mode 100644 lib/zend/Zend/Locale/Data/kk.xml delete mode 100644 lib/zend/Zend/Locale/Data/kk_Cyrl.xml delete mode 100644 lib/zend/Zend/Locale/Data/kk_Cyrl_KZ.xml delete mode 100644 lib/zend/Zend/Locale/Data/kk_KZ.xml delete mode 100644 lib/zend/Zend/Locale/Data/kl.xml delete mode 100644 lib/zend/Zend/Locale/Data/kl_GL.xml delete mode 100644 lib/zend/Zend/Locale/Data/km.xml delete mode 100644 lib/zend/Zend/Locale/Data/km_KH.xml delete mode 100644 lib/zend/Zend/Locale/Data/kn.xml delete mode 100644 lib/zend/Zend/Locale/Data/kn_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/ko.xml delete mode 100644 lib/zend/Zend/Locale/Data/ko_KR.xml delete mode 100644 lib/zend/Zend/Locale/Data/kok.xml delete mode 100644 lib/zend/Zend/Locale/Data/kok_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/kpe.xml delete mode 100644 lib/zend/Zend/Locale/Data/kpe_GN.xml delete mode 100644 lib/zend/Zend/Locale/Data/kpe_LR.xml delete mode 100644 lib/zend/Zend/Locale/Data/ku.xml delete mode 100644 lib/zend/Zend/Locale/Data/ku_Arab.xml delete mode 100644 lib/zend/Zend/Locale/Data/ku_Arab_IQ.xml delete mode 100644 lib/zend/Zend/Locale/Data/ku_Arab_IR.xml delete mode 100644 lib/zend/Zend/Locale/Data/ku_Arab_SY.xml delete mode 100644 lib/zend/Zend/Locale/Data/ku_IQ.xml delete mode 100644 lib/zend/Zend/Locale/Data/ku_IR.xml delete mode 100644 lib/zend/Zend/Locale/Data/ku_Latn.xml delete mode 100644 lib/zend/Zend/Locale/Data/ku_Latn_TR.xml delete mode 100644 lib/zend/Zend/Locale/Data/ku_SY.xml delete mode 100644 lib/zend/Zend/Locale/Data/ku_TR.xml delete mode 100644 lib/zend/Zend/Locale/Data/kw.xml delete mode 100644 lib/zend/Zend/Locale/Data/kw_GB.xml delete mode 100644 lib/zend/Zend/Locale/Data/ky.xml delete mode 100644 lib/zend/Zend/Locale/Data/ky_KG.xml delete mode 100644 lib/zend/Zend/Locale/Data/likelySubtags.xml delete mode 100644 lib/zend/Zend/Locale/Data/ln.xml delete mode 100644 lib/zend/Zend/Locale/Data/ln_CD.xml delete mode 100644 lib/zend/Zend/Locale/Data/ln_CG.xml delete mode 100644 lib/zend/Zend/Locale/Data/lo.xml delete mode 100644 lib/zend/Zend/Locale/Data/lo_LA.xml delete mode 100644 lib/zend/Zend/Locale/Data/lt.xml delete mode 100644 lib/zend/Zend/Locale/Data/lt_LT.xml delete mode 100644 lib/zend/Zend/Locale/Data/lv.xml delete mode 100644 lib/zend/Zend/Locale/Data/lv_LV.xml delete mode 100644 lib/zend/Zend/Locale/Data/metazoneInfo.xml delete mode 100644 lib/zend/Zend/Locale/Data/mk.xml delete mode 100644 lib/zend/Zend/Locale/Data/mk_MK.xml delete mode 100644 lib/zend/Zend/Locale/Data/ml.xml delete mode 100644 lib/zend/Zend/Locale/Data/ml_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/mn.xml delete mode 100644 lib/zend/Zend/Locale/Data/mn_CN.xml delete mode 100644 lib/zend/Zend/Locale/Data/mn_Cyrl.xml delete mode 100644 lib/zend/Zend/Locale/Data/mn_Cyrl_MN.xml delete mode 100644 lib/zend/Zend/Locale/Data/mn_MN.xml delete mode 100644 lib/zend/Zend/Locale/Data/mn_Mong.xml delete mode 100644 lib/zend/Zend/Locale/Data/mn_Mong_CN.xml delete mode 100644 lib/zend/Zend/Locale/Data/mo.xml delete mode 100644 lib/zend/Zend/Locale/Data/mr.xml delete mode 100644 lib/zend/Zend/Locale/Data/mr_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/ms.xml delete mode 100644 lib/zend/Zend/Locale/Data/ms_BN.xml delete mode 100644 lib/zend/Zend/Locale/Data/ms_MY.xml delete mode 100644 lib/zend/Zend/Locale/Data/mt.xml delete mode 100644 lib/zend/Zend/Locale/Data/mt_MT.xml delete mode 100644 lib/zend/Zend/Locale/Data/my.xml delete mode 100644 lib/zend/Zend/Locale/Data/my_MM.xml delete mode 100644 lib/zend/Zend/Locale/Data/nb.xml delete mode 100644 lib/zend/Zend/Locale/Data/nb_NO.xml delete mode 100644 lib/zend/Zend/Locale/Data/nds.xml delete mode 100644 lib/zend/Zend/Locale/Data/nds_DE.xml delete mode 100644 lib/zend/Zend/Locale/Data/ne.xml delete mode 100644 lib/zend/Zend/Locale/Data/ne_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/ne_NP.xml delete mode 100644 lib/zend/Zend/Locale/Data/nl.xml delete mode 100644 lib/zend/Zend/Locale/Data/nl_BE.xml delete mode 100644 lib/zend/Zend/Locale/Data/nl_NL.xml delete mode 100644 lib/zend/Zend/Locale/Data/nn.xml delete mode 100644 lib/zend/Zend/Locale/Data/nn_NO.xml delete mode 100644 lib/zend/Zend/Locale/Data/no.xml delete mode 100644 lib/zend/Zend/Locale/Data/nr.xml delete mode 100644 lib/zend/Zend/Locale/Data/nr_ZA.xml delete mode 100644 lib/zend/Zend/Locale/Data/nso.xml delete mode 100644 lib/zend/Zend/Locale/Data/nso_ZA.xml delete mode 100644 lib/zend/Zend/Locale/Data/numberingSystems.xml delete mode 100644 lib/zend/Zend/Locale/Data/ny.xml delete mode 100644 lib/zend/Zend/Locale/Data/ny_MW.xml delete mode 100644 lib/zend/Zend/Locale/Data/oc.xml delete mode 100644 lib/zend/Zend/Locale/Data/oc_FR.xml delete mode 100644 lib/zend/Zend/Locale/Data/om.xml delete mode 100644 lib/zend/Zend/Locale/Data/om_ET.xml delete mode 100644 lib/zend/Zend/Locale/Data/om_KE.xml delete mode 100644 lib/zend/Zend/Locale/Data/or.xml delete mode 100644 lib/zend/Zend/Locale/Data/or_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/pa.xml delete mode 100644 lib/zend/Zend/Locale/Data/pa_Arab.xml delete mode 100644 lib/zend/Zend/Locale/Data/pa_Arab_PK.xml delete mode 100644 lib/zend/Zend/Locale/Data/pa_Guru.xml delete mode 100644 lib/zend/Zend/Locale/Data/pa_Guru_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/pa_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/pa_PK.xml delete mode 100644 lib/zend/Zend/Locale/Data/pl.xml delete mode 100644 lib/zend/Zend/Locale/Data/pl_PL.xml delete mode 100644 lib/zend/Zend/Locale/Data/postalCodeData.xml delete mode 100644 lib/zend/Zend/Locale/Data/ps.xml delete mode 100644 lib/zend/Zend/Locale/Data/ps_AF.xml delete mode 100644 lib/zend/Zend/Locale/Data/pt.xml delete mode 100644 lib/zend/Zend/Locale/Data/pt_BR.xml delete mode 100644 lib/zend/Zend/Locale/Data/pt_PT.xml delete mode 100644 lib/zend/Zend/Locale/Data/ro.xml delete mode 100644 lib/zend/Zend/Locale/Data/ro_MD.xml delete mode 100644 lib/zend/Zend/Locale/Data/ro_RO.xml delete mode 100644 lib/zend/Zend/Locale/Data/root.xml delete mode 100644 lib/zend/Zend/Locale/Data/ru.xml delete mode 100644 lib/zend/Zend/Locale/Data/ru_RU.xml delete mode 100644 lib/zend/Zend/Locale/Data/ru_UA.xml delete mode 100644 lib/zend/Zend/Locale/Data/rw.xml delete mode 100644 lib/zend/Zend/Locale/Data/rw_RW.xml delete mode 100644 lib/zend/Zend/Locale/Data/sa.xml delete mode 100644 lib/zend/Zend/Locale/Data/sa_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/se.xml delete mode 100644 lib/zend/Zend/Locale/Data/se_FI.xml delete mode 100644 lib/zend/Zend/Locale/Data/se_NO.xml delete mode 100644 lib/zend/Zend/Locale/Data/sh.xml delete mode 100644 lib/zend/Zend/Locale/Data/sh_BA.xml delete mode 100644 lib/zend/Zend/Locale/Data/sh_CS.xml delete mode 100644 lib/zend/Zend/Locale/Data/sh_YU.xml delete mode 100644 lib/zend/Zend/Locale/Data/si.xml delete mode 100644 lib/zend/Zend/Locale/Data/si_LK.xml delete mode 100644 lib/zend/Zend/Locale/Data/sid.xml delete mode 100644 lib/zend/Zend/Locale/Data/sid_ET.xml delete mode 100644 lib/zend/Zend/Locale/Data/sk.xml delete mode 100644 lib/zend/Zend/Locale/Data/sk_SK.xml delete mode 100644 lib/zend/Zend/Locale/Data/sl.xml delete mode 100644 lib/zend/Zend/Locale/Data/sl_SI.xml delete mode 100644 lib/zend/Zend/Locale/Data/so.xml delete mode 100644 lib/zend/Zend/Locale/Data/so_DJ.xml delete mode 100644 lib/zend/Zend/Locale/Data/so_ET.xml delete mode 100644 lib/zend/Zend/Locale/Data/so_KE.xml delete mode 100644 lib/zend/Zend/Locale/Data/so_SO.xml delete mode 100644 lib/zend/Zend/Locale/Data/sq.xml delete mode 100644 lib/zend/Zend/Locale/Data/sq_AL.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_BA.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_CS.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_Cyrl.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_Cyrl_BA.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_Cyrl_CS.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_Cyrl_ME.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_Cyrl_RS.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_Cyrl_YU.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_Latn.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_Latn_BA.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_Latn_CS.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_Latn_ME.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_Latn_RS.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_Latn_YU.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_ME.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_RS.xml delete mode 100644 lib/zend/Zend/Locale/Data/sr_YU.xml delete mode 100644 lib/zend/Zend/Locale/Data/ss.xml delete mode 100644 lib/zend/Zend/Locale/Data/ss_SZ.xml delete mode 100644 lib/zend/Zend/Locale/Data/ss_ZA.xml delete mode 100644 lib/zend/Zend/Locale/Data/st.xml delete mode 100644 lib/zend/Zend/Locale/Data/st_LS.xml delete mode 100644 lib/zend/Zend/Locale/Data/st_ZA.xml delete mode 100644 lib/zend/Zend/Locale/Data/supplementalData.xml delete mode 100644 lib/zend/Zend/Locale/Data/sv.xml delete mode 100644 lib/zend/Zend/Locale/Data/sv_FI.xml delete mode 100644 lib/zend/Zend/Locale/Data/sv_SE.xml delete mode 100644 lib/zend/Zend/Locale/Data/sw.xml delete mode 100644 lib/zend/Zend/Locale/Data/sw_KE.xml delete mode 100644 lib/zend/Zend/Locale/Data/sw_TZ.xml delete mode 100644 lib/zend/Zend/Locale/Data/syr.xml delete mode 100644 lib/zend/Zend/Locale/Data/syr_SY.xml delete mode 100644 lib/zend/Zend/Locale/Data/ta.xml delete mode 100644 lib/zend/Zend/Locale/Data/ta_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/te.xml delete mode 100644 lib/zend/Zend/Locale/Data/te_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/telephoneCodeData.xml delete mode 100644 lib/zend/Zend/Locale/Data/tg.xml delete mode 100644 lib/zend/Zend/Locale/Data/tg_Cyrl.xml delete mode 100644 lib/zend/Zend/Locale/Data/tg_Cyrl_TJ.xml delete mode 100644 lib/zend/Zend/Locale/Data/tg_TJ.xml delete mode 100644 lib/zend/Zend/Locale/Data/th.xml delete mode 100644 lib/zend/Zend/Locale/Data/th_TH.xml delete mode 100644 lib/zend/Zend/Locale/Data/ti.xml delete mode 100644 lib/zend/Zend/Locale/Data/ti_ER.xml delete mode 100644 lib/zend/Zend/Locale/Data/ti_ET.xml delete mode 100644 lib/zend/Zend/Locale/Data/tig.xml delete mode 100644 lib/zend/Zend/Locale/Data/tig_ER.xml delete mode 100644 lib/zend/Zend/Locale/Data/tl.xml delete mode 100644 lib/zend/Zend/Locale/Data/tn.xml delete mode 100644 lib/zend/Zend/Locale/Data/tn_ZA.xml delete mode 100644 lib/zend/Zend/Locale/Data/to.xml delete mode 100644 lib/zend/Zend/Locale/Data/to_TO.xml delete mode 100644 lib/zend/Zend/Locale/Data/tr.xml delete mode 100644 lib/zend/Zend/Locale/Data/tr_TR.xml delete mode 100644 lib/zend/Zend/Locale/Data/trv.xml delete mode 100644 lib/zend/Zend/Locale/Data/trv_TW.xml delete mode 100644 lib/zend/Zend/Locale/Data/ts.xml delete mode 100644 lib/zend/Zend/Locale/Data/ts_ZA.xml delete mode 100644 lib/zend/Zend/Locale/Data/tt.xml delete mode 100644 lib/zend/Zend/Locale/Data/tt_RU.xml delete mode 100644 lib/zend/Zend/Locale/Data/ug.xml delete mode 100644 lib/zend/Zend/Locale/Data/ug_Arab.xml delete mode 100644 lib/zend/Zend/Locale/Data/ug_Arab_CN.xml delete mode 100644 lib/zend/Zend/Locale/Data/ug_CN.xml delete mode 100644 lib/zend/Zend/Locale/Data/uk.xml delete mode 100644 lib/zend/Zend/Locale/Data/uk_UA.xml delete mode 100644 lib/zend/Zend/Locale/Data/ur.xml delete mode 100644 lib/zend/Zend/Locale/Data/ur_IN.xml delete mode 100644 lib/zend/Zend/Locale/Data/ur_PK.xml delete mode 100644 lib/zend/Zend/Locale/Data/uz.xml delete mode 100644 lib/zend/Zend/Locale/Data/uz_AF.xml delete mode 100644 lib/zend/Zend/Locale/Data/uz_Arab.xml delete mode 100644 lib/zend/Zend/Locale/Data/uz_Arab_AF.xml delete mode 100644 lib/zend/Zend/Locale/Data/uz_Cyrl.xml delete mode 100644 lib/zend/Zend/Locale/Data/uz_Cyrl_UZ.xml delete mode 100644 lib/zend/Zend/Locale/Data/uz_Latn.xml delete mode 100644 lib/zend/Zend/Locale/Data/uz_Latn_UZ.xml delete mode 100644 lib/zend/Zend/Locale/Data/uz_UZ.xml delete mode 100644 lib/zend/Zend/Locale/Data/ve.xml delete mode 100644 lib/zend/Zend/Locale/Data/ve_ZA.xml delete mode 100644 lib/zend/Zend/Locale/Data/vi.xml delete mode 100644 lib/zend/Zend/Locale/Data/vi_VN.xml delete mode 100644 lib/zend/Zend/Locale/Data/wal.xml delete mode 100644 lib/zend/Zend/Locale/Data/wal_ET.xml delete mode 100644 lib/zend/Zend/Locale/Data/wo.xml delete mode 100644 lib/zend/Zend/Locale/Data/wo_Latn.xml delete mode 100644 lib/zend/Zend/Locale/Data/wo_Latn_SN.xml delete mode 100644 lib/zend/Zend/Locale/Data/wo_SN.xml delete mode 100644 lib/zend/Zend/Locale/Data/xh.xml delete mode 100644 lib/zend/Zend/Locale/Data/xh_ZA.xml delete mode 100644 lib/zend/Zend/Locale/Data/yo.xml delete mode 100644 lib/zend/Zend/Locale/Data/yo_NG.xml delete mode 100644 lib/zend/Zend/Locale/Data/zh.xml delete mode 100644 lib/zend/Zend/Locale/Data/zh_CN.xml delete mode 100644 lib/zend/Zend/Locale/Data/zh_HK.xml delete mode 100644 lib/zend/Zend/Locale/Data/zh_Hans.xml delete mode 100644 lib/zend/Zend/Locale/Data/zh_Hans_CN.xml delete mode 100644 lib/zend/Zend/Locale/Data/zh_Hans_HK.xml delete mode 100644 lib/zend/Zend/Locale/Data/zh_Hans_MO.xml delete mode 100644 lib/zend/Zend/Locale/Data/zh_Hans_SG.xml delete mode 100644 lib/zend/Zend/Locale/Data/zh_Hant.xml delete mode 100644 lib/zend/Zend/Locale/Data/zh_Hant_HK.xml delete mode 100644 lib/zend/Zend/Locale/Data/zh_Hant_MO.xml delete mode 100644 lib/zend/Zend/Locale/Data/zh_Hant_TW.xml delete mode 100644 lib/zend/Zend/Locale/Data/zh_MO.xml delete mode 100644 lib/zend/Zend/Locale/Data/zh_SG.xml delete mode 100644 lib/zend/Zend/Locale/Data/zh_TW.xml delete mode 100644 lib/zend/Zend/Locale/Data/zu.xml delete mode 100644 lib/zend/Zend/Locale/Data/zu_ZA.xml delete mode 100644 lib/zend/Zend/Locale/Exception.php delete mode 100644 lib/zend/Zend/Locale/Format.php delete mode 100644 lib/zend/Zend/Locale/Math.php delete mode 100644 lib/zend/Zend/Locale/Math/Exception.php delete mode 100644 lib/zend/Zend/Locale/Math/PhpMath.php delete mode 100644 lib/zend/Zend/Log.php delete mode 100644 lib/zend/Zend/Log/Exception.php delete mode 100644 lib/zend/Zend/Log/Filter/Interface.php delete mode 100644 lib/zend/Zend/Log/Filter/Message.php delete mode 100644 lib/zend/Zend/Log/Filter/Priority.php delete mode 100644 lib/zend/Zend/Log/Filter/Suppress.php delete mode 100644 lib/zend/Zend/Log/Formatter/Firebug.php delete mode 100644 lib/zend/Zend/Log/Formatter/Interface.php delete mode 100644 lib/zend/Zend/Log/Formatter/Simple.php delete mode 100644 lib/zend/Zend/Log/Formatter/Xml.php delete mode 100644 lib/zend/Zend/Log/Writer/Abstract.php delete mode 100644 lib/zend/Zend/Log/Writer/Db.php delete mode 100644 lib/zend/Zend/Log/Writer/Firebug.php delete mode 100644 lib/zend/Zend/Log/Writer/Mail.php delete mode 100644 lib/zend/Zend/Log/Writer/Mock.php delete mode 100644 lib/zend/Zend/Log/Writer/Null.php delete mode 100644 lib/zend/Zend/Log/Writer/Stream.php delete mode 100644 lib/zend/Zend/Log/Writer/Syslog.php delete mode 100644 lib/zend/Zend/Mail.php delete mode 100644 lib/zend/Zend/Mail/Exception.php delete mode 100644 lib/zend/Zend/Mail/Message.php delete mode 100644 lib/zend/Zend/Mail/Message/File.php delete mode 100644 lib/zend/Zend/Mail/Message/Interface.php delete mode 100644 lib/zend/Zend/Mail/Part.php delete mode 100644 lib/zend/Zend/Mail/Part/File.php delete mode 100644 lib/zend/Zend/Mail/Part/Interface.php delete mode 100644 lib/zend/Zend/Mail/Protocol/Abstract.php delete mode 100644 lib/zend/Zend/Mail/Protocol/Exception.php delete mode 100644 lib/zend/Zend/Mail/Protocol/Imap.php delete mode 100644 lib/zend/Zend/Mail/Protocol/Pop3.php delete mode 100644 lib/zend/Zend/Mail/Protocol/Smtp.php delete mode 100644 lib/zend/Zend/Mail/Protocol/Smtp/Auth/Crammd5.php delete mode 100644 lib/zend/Zend/Mail/Protocol/Smtp/Auth/Login.php delete mode 100644 lib/zend/Zend/Mail/Protocol/Smtp/Auth/Plain.php delete mode 100644 lib/zend/Zend/Mail/Storage.php delete mode 100644 lib/zend/Zend/Mail/Storage/Abstract.php delete mode 100644 lib/zend/Zend/Mail/Storage/Exception.php delete mode 100644 lib/zend/Zend/Mail/Storage/Folder.php delete mode 100644 lib/zend/Zend/Mail/Storage/Folder/Interface.php delete mode 100644 lib/zend/Zend/Mail/Storage/Folder/Maildir.php delete mode 100644 lib/zend/Zend/Mail/Storage/Folder/Mbox.php delete mode 100644 lib/zend/Zend/Mail/Storage/Imap.php delete mode 100644 lib/zend/Zend/Mail/Storage/Maildir.php delete mode 100644 lib/zend/Zend/Mail/Storage/Mbox.php delete mode 100644 lib/zend/Zend/Mail/Storage/Pop3.php delete mode 100644 lib/zend/Zend/Mail/Storage/Writable/Interface.php delete mode 100644 lib/zend/Zend/Mail/Storage/Writable/Maildir.php delete mode 100644 lib/zend/Zend/Mail/Transport/Abstract.php delete mode 100644 lib/zend/Zend/Mail/Transport/Exception.php delete mode 100644 lib/zend/Zend/Mail/Transport/Sendmail.php delete mode 100644 lib/zend/Zend/Mail/Transport/Smtp.php delete mode 100644 lib/zend/Zend/Measure/Abstract.php delete mode 100644 lib/zend/Zend/Measure/Acceleration.php delete mode 100644 lib/zend/Zend/Measure/Angle.php delete mode 100644 lib/zend/Zend/Measure/Area.php delete mode 100644 lib/zend/Zend/Measure/Binary.php delete mode 100644 lib/zend/Zend/Measure/Capacitance.php delete mode 100644 lib/zend/Zend/Measure/Cooking/Volume.php delete mode 100644 lib/zend/Zend/Measure/Cooking/Weight.php delete mode 100644 lib/zend/Zend/Measure/Current.php delete mode 100644 lib/zend/Zend/Measure/Density.php delete mode 100644 lib/zend/Zend/Measure/Energy.php delete mode 100644 lib/zend/Zend/Measure/Exception.php delete mode 100644 lib/zend/Zend/Measure/Flow/Mass.php delete mode 100644 lib/zend/Zend/Measure/Flow/Mole.php delete mode 100644 lib/zend/Zend/Measure/Flow/Volume.php delete mode 100644 lib/zend/Zend/Measure/Force.php delete mode 100644 lib/zend/Zend/Measure/Frequency.php delete mode 100644 lib/zend/Zend/Measure/Illumination.php delete mode 100644 lib/zend/Zend/Measure/Length.php delete mode 100644 lib/zend/Zend/Measure/Lightness.php delete mode 100644 lib/zend/Zend/Measure/Number.php delete mode 100644 lib/zend/Zend/Measure/Power.php delete mode 100644 lib/zend/Zend/Measure/Pressure.php delete mode 100644 lib/zend/Zend/Measure/Speed.php delete mode 100644 lib/zend/Zend/Measure/Temperature.php delete mode 100644 lib/zend/Zend/Measure/Time.php delete mode 100644 lib/zend/Zend/Measure/Torque.php delete mode 100644 lib/zend/Zend/Measure/Viscosity/Dynamic.php delete mode 100644 lib/zend/Zend/Measure/Viscosity/Kinematic.php delete mode 100644 lib/zend/Zend/Measure/Volume.php delete mode 100644 lib/zend/Zend/Measure/Weight.php delete mode 100644 lib/zend/Zend/Memory.php delete mode 100644 lib/zend/Zend/Memory/AccessController.php delete mode 100644 lib/zend/Zend/Memory/Container.php delete mode 100644 lib/zend/Zend/Memory/Container/Interface.php delete mode 100644 lib/zend/Zend/Memory/Container/Locked.php delete mode 100644 lib/zend/Zend/Memory/Container/Movable.php delete mode 100644 lib/zend/Zend/Memory/Exception.php delete mode 100644 lib/zend/Zend/Memory/Manager.php delete mode 100644 lib/zend/Zend/Memory/Value.php delete mode 100644 lib/zend/Zend/Navigation.php delete mode 100644 lib/zend/Zend/Navigation/Container.php delete mode 100644 lib/zend/Zend/Navigation/Exception.php delete mode 100644 lib/zend/Zend/Navigation/Page.php delete mode 100644 lib/zend/Zend/Navigation/Page/Mvc.php delete mode 100644 lib/zend/Zend/Navigation/Page/Uri.php delete mode 100644 lib/zend/Zend/OpenId.php delete mode 100644 lib/zend/Zend/OpenId/Consumer.php delete mode 100644 lib/zend/Zend/OpenId/Consumer/Storage.php delete mode 100644 lib/zend/Zend/OpenId/Consumer/Storage/File.php delete mode 100644 lib/zend/Zend/OpenId/Exception.php delete mode 100644 lib/zend/Zend/OpenId/Extension.php delete mode 100644 lib/zend/Zend/OpenId/Extension/Sreg.php delete mode 100644 lib/zend/Zend/OpenId/Provider.php delete mode 100644 lib/zend/Zend/OpenId/Provider/Storage.php delete mode 100644 lib/zend/Zend/OpenId/Provider/Storage/File.php delete mode 100644 lib/zend/Zend/OpenId/Provider/User.php delete mode 100644 lib/zend/Zend/OpenId/Provider/User/Session.php delete mode 100644 lib/zend/Zend/Paginator.php delete mode 100644 lib/zend/Zend/Paginator/Adapter/Array.php delete mode 100644 lib/zend/Zend/Paginator/Adapter/DbSelect.php delete mode 100644 lib/zend/Zend/Paginator/Adapter/DbTableSelect.php delete mode 100644 lib/zend/Zend/Paginator/Adapter/Interface.php delete mode 100644 lib/zend/Zend/Paginator/Adapter/Iterator.php delete mode 100644 lib/zend/Zend/Paginator/Adapter/Null.php delete mode 100644 lib/zend/Zend/Paginator/AdapterAggregate.php delete mode 100644 lib/zend/Zend/Paginator/Exception.php delete mode 100644 lib/zend/Zend/Paginator/ScrollingStyle/All.php delete mode 100644 lib/zend/Zend/Paginator/ScrollingStyle/Elastic.php delete mode 100644 lib/zend/Zend/Paginator/ScrollingStyle/Interface.php delete mode 100644 lib/zend/Zend/Paginator/ScrollingStyle/Jumping.php delete mode 100644 lib/zend/Zend/Paginator/ScrollingStyle/Sliding.php delete mode 100644 lib/zend/Zend/Pdf.php delete mode 100644 lib/zend/Zend/Pdf/Action.php delete mode 100644 lib/zend/Zend/Pdf/Action/GoTo.php delete mode 100644 lib/zend/Zend/Pdf/Action/GoTo3DView.php delete mode 100644 lib/zend/Zend/Pdf/Action/GoToE.php delete mode 100644 lib/zend/Zend/Pdf/Action/GoToR.php delete mode 100644 lib/zend/Zend/Pdf/Action/Hide.php delete mode 100644 lib/zend/Zend/Pdf/Action/ImportData.php delete mode 100644 lib/zend/Zend/Pdf/Action/JavaScript.php delete mode 100644 lib/zend/Zend/Pdf/Action/Launch.php delete mode 100644 lib/zend/Zend/Pdf/Action/Movie.php delete mode 100644 lib/zend/Zend/Pdf/Action/Named.php delete mode 100644 lib/zend/Zend/Pdf/Action/Rendition.php delete mode 100644 lib/zend/Zend/Pdf/Action/ResetForm.php delete mode 100644 lib/zend/Zend/Pdf/Action/SetOCGState.php delete mode 100644 lib/zend/Zend/Pdf/Action/Sound.php delete mode 100644 lib/zend/Zend/Pdf/Action/SubmitForm.php delete mode 100644 lib/zend/Zend/Pdf/Action/Thread.php delete mode 100644 lib/zend/Zend/Pdf/Action/Trans.php delete mode 100644 lib/zend/Zend/Pdf/Action/URI.php delete mode 100644 lib/zend/Zend/Pdf/Action/Unknown.php delete mode 100644 lib/zend/Zend/Pdf/Annotation.php delete mode 100644 lib/zend/Zend/Pdf/Annotation/FileAttachment.php delete mode 100644 lib/zend/Zend/Pdf/Annotation/Link.php delete mode 100644 lib/zend/Zend/Pdf/Annotation/Text.php delete mode 100644 lib/zend/Zend/Pdf/Cmap.php delete mode 100644 lib/zend/Zend/Pdf/Cmap/ByteEncoding.php delete mode 100644 lib/zend/Zend/Pdf/Cmap/ByteEncoding/Static.php delete mode 100644 lib/zend/Zend/Pdf/Cmap/SegmentToDelta.php delete mode 100644 lib/zend/Zend/Pdf/Cmap/TrimmedTable.php delete mode 100644 lib/zend/Zend/Pdf/Color.php delete mode 100644 lib/zend/Zend/Pdf/Color/Cmyk.php delete mode 100644 lib/zend/Zend/Pdf/Color/GrayScale.php delete mode 100644 lib/zend/Zend/Pdf/Color/Html.php delete mode 100644 lib/zend/Zend/Pdf/Color/Rgb.php delete mode 100644 lib/zend/Zend/Pdf/Destination.php delete mode 100644 lib/zend/Zend/Pdf/Destination/Explicit.php delete mode 100644 lib/zend/Zend/Pdf/Destination/Fit.php delete mode 100644 lib/zend/Zend/Pdf/Destination/FitBoundingBox.php delete mode 100644 lib/zend/Zend/Pdf/Destination/FitBoundingBoxHorizontally.php delete mode 100644 lib/zend/Zend/Pdf/Destination/FitBoundingBoxVertically.php delete mode 100644 lib/zend/Zend/Pdf/Destination/FitHorizontally.php delete mode 100644 lib/zend/Zend/Pdf/Destination/FitRectangle.php delete mode 100644 lib/zend/Zend/Pdf/Destination/FitVertically.php delete mode 100644 lib/zend/Zend/Pdf/Destination/Named.php delete mode 100644 lib/zend/Zend/Pdf/Destination/Unknown.php delete mode 100644 lib/zend/Zend/Pdf/Destination/Zoom.php delete mode 100644 lib/zend/Zend/Pdf/Element.php delete mode 100644 lib/zend/Zend/Pdf/Element/Array.php delete mode 100644 lib/zend/Zend/Pdf/Element/Boolean.php delete mode 100644 lib/zend/Zend/Pdf/Element/Dictionary.php delete mode 100644 lib/zend/Zend/Pdf/Element/Name.php delete mode 100644 lib/zend/Zend/Pdf/Element/Null.php delete mode 100644 lib/zend/Zend/Pdf/Element/Numeric.php delete mode 100644 lib/zend/Zend/Pdf/Element/Object.php delete mode 100644 lib/zend/Zend/Pdf/Element/Object/Stream.php delete mode 100644 lib/zend/Zend/Pdf/Element/Reference.php delete mode 100644 lib/zend/Zend/Pdf/Element/Reference/Context.php delete mode 100644 lib/zend/Zend/Pdf/Element/Reference/Table.php delete mode 100644 lib/zend/Zend/Pdf/Element/Stream.php delete mode 100644 lib/zend/Zend/Pdf/Element/String.php delete mode 100644 lib/zend/Zend/Pdf/Element/String/Binary.php delete mode 100644 lib/zend/Zend/Pdf/ElementFactory.php delete mode 100644 lib/zend/Zend/Pdf/ElementFactory/Interface.php delete mode 100644 lib/zend/Zend/Pdf/ElementFactory/Proxy.php delete mode 100644 lib/zend/Zend/Pdf/Exception.php delete mode 100644 lib/zend/Zend/Pdf/FileParser.php delete mode 100644 lib/zend/Zend/Pdf/FileParser/Font.php delete mode 100644 lib/zend/Zend/Pdf/FileParser/Font/OpenType.php delete mode 100644 lib/zend/Zend/Pdf/FileParser/Font/OpenType/TrueType.php delete mode 100644 lib/zend/Zend/Pdf/FileParser/Image.php delete mode 100644 lib/zend/Zend/Pdf/FileParser/Image/Png.php delete mode 100644 lib/zend/Zend/Pdf/FileParserDataSource.php delete mode 100644 lib/zend/Zend/Pdf/FileParserDataSource/File.php delete mode 100644 lib/zend/Zend/Pdf/FileParserDataSource/String.php delete mode 100644 lib/zend/Zend/Pdf/Filter/Ascii85.php delete mode 100644 lib/zend/Zend/Pdf/Filter/AsciiHex.php delete mode 100644 lib/zend/Zend/Pdf/Filter/Compression.php delete mode 100644 lib/zend/Zend/Pdf/Filter/Compression/Flate.php delete mode 100644 lib/zend/Zend/Pdf/Filter/Compression/Lzw.php delete mode 100644 lib/zend/Zend/Pdf/Filter/Interface.php delete mode 100644 lib/zend/Zend/Pdf/Font.php delete mode 100644 lib/zend/Zend/Pdf/Image.php delete mode 100644 lib/zend/Zend/Pdf/NameTree.php delete mode 100644 lib/zend/Zend/Pdf/Outline.php delete mode 100644 lib/zend/Zend/Pdf/Outline/Created.php delete mode 100644 lib/zend/Zend/Pdf/Outline/Loaded.php delete mode 100644 lib/zend/Zend/Pdf/Page.php delete mode 100644 lib/zend/Zend/Pdf/Parser.php delete mode 100644 lib/zend/Zend/Pdf/RecursivelyIteratableObjectsContainer.php delete mode 100644 lib/zend/Zend/Pdf/Resource.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/CidFont.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/CidFont/TrueType.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Extracted.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/FontDescriptor.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Parsed.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Parsed/TrueType.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Standard.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/Courier.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/CourierBold.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/CourierBoldOblique.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/CourierOblique.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/Helvetica.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaBold.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaBoldOblique.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaOblique.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/Symbol.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/TimesBold.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/TimesBoldItalic.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/TimesItalic.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/TimesRoman.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/ZapfDingbats.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Font/Type0.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Image.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Image/Jpeg.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Image/Png.php delete mode 100644 lib/zend/Zend/Pdf/Resource/Image/Tiff.php delete mode 100644 lib/zend/Zend/Pdf/Resource/ImageFactory.php delete mode 100644 lib/zend/Zend/Pdf/StringParser.php delete mode 100644 lib/zend/Zend/Pdf/Style.php delete mode 100644 lib/zend/Zend/Pdf/Target.php delete mode 100644 lib/zend/Zend/Pdf/Trailer.php delete mode 100644 lib/zend/Zend/Pdf/Trailer/Generator.php delete mode 100644 lib/zend/Zend/Pdf/Trailer/Keeper.php delete mode 100644 lib/zend/Zend/Pdf/UpdateInfoContainer.php delete mode 100644 lib/zend/Zend/ProgressBar.php delete mode 100644 lib/zend/Zend/ProgressBar/Adapter.php delete mode 100644 lib/zend/Zend/ProgressBar/Adapter/Console.php delete mode 100644 lib/zend/Zend/ProgressBar/Adapter/Exception.php delete mode 100644 lib/zend/Zend/ProgressBar/Adapter/JsPull.php delete mode 100644 lib/zend/Zend/ProgressBar/Adapter/JsPush.php delete mode 100644 lib/zend/Zend/ProgressBar/Exception.php delete mode 100644 lib/zend/Zend/Queue.php delete mode 100644 lib/zend/Zend/Queue/Adapter/Activemq.php delete mode 100644 lib/zend/Zend/Queue/Adapter/AdapterAbstract.php delete mode 100644 lib/zend/Zend/Queue/Adapter/AdapterInterface.php delete mode 100644 lib/zend/Zend/Queue/Adapter/Array.php delete mode 100644 lib/zend/Zend/Queue/Adapter/Db.php delete mode 100644 lib/zend/Zend/Queue/Adapter/Db/Message.php delete mode 100644 lib/zend/Zend/Queue/Adapter/Db/Queue.php delete mode 100644 lib/zend/Zend/Queue/Adapter/Db/queue.sql delete mode 100644 lib/zend/Zend/Queue/Adapter/Memcacheq.php delete mode 100644 lib/zend/Zend/Queue/Adapter/Null.php delete mode 100644 lib/zend/Zend/Queue/Adapter/PlatformJobQueue.php delete mode 100644 lib/zend/Zend/Queue/Exception.php delete mode 100644 lib/zend/Zend/Queue/Message.php delete mode 100644 lib/zend/Zend/Queue/Message/Iterator.php delete mode 100644 lib/zend/Zend/Queue/Message/PlatformJob.php delete mode 100644 lib/zend/Zend/Queue/Stomp/Client.php delete mode 100644 lib/zend/Zend/Queue/Stomp/Client/Connection.php delete mode 100644 lib/zend/Zend/Queue/Stomp/Client/ConnectionInterface.php delete mode 100644 lib/zend/Zend/Queue/Stomp/Frame.php delete mode 100644 lib/zend/Zend/Queue/Stomp/FrameInterface.php delete mode 100644 lib/zend/Zend/Reflection/Class.php delete mode 100644 lib/zend/Zend/Reflection/Docblock.php delete mode 100644 lib/zend/Zend/Reflection/Docblock/Tag.php delete mode 100644 lib/zend/Zend/Reflection/Docblock/Tag/Param.php delete mode 100644 lib/zend/Zend/Reflection/Docblock/Tag/Return.php delete mode 100644 lib/zend/Zend/Reflection/Exception.php delete mode 100644 lib/zend/Zend/Reflection/Extension.php delete mode 100644 lib/zend/Zend/Reflection/File.php delete mode 100644 lib/zend/Zend/Reflection/Function.php delete mode 100644 lib/zend/Zend/Reflection/Method.php delete mode 100644 lib/zend/Zend/Reflection/Parameter.php delete mode 100644 lib/zend/Zend/Reflection/Property.php delete mode 100644 lib/zend/Zend/Search/Exception.php delete mode 100644 lib/zend/Zend/Search/Lucene.php delete mode 100644 lib/zend/Zend/Search/Lucene/Analysis/Analyzer.php delete mode 100644 lib/zend/Zend/Search/Lucene/Analysis/Analyzer/Common.php delete mode 100644 lib/zend/Zend/Search/Lucene/Analysis/Analyzer/Common/Text.php delete mode 100644 lib/zend/Zend/Search/Lucene/Analysis/Analyzer/Common/Text/CaseInsensitive.php delete mode 100644 lib/zend/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum.php delete mode 100644 lib/zend/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum/CaseInsensitive.php delete mode 100644 lib/zend/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8.php delete mode 100644 lib/zend/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8/CaseInsensitive.php delete mode 100644 lib/zend/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num.php delete mode 100644 lib/zend/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num/CaseInsensitive.php delete mode 100644 lib/zend/Zend/Search/Lucene/Analysis/Token.php delete mode 100644 lib/zend/Zend/Search/Lucene/Analysis/TokenFilter.php delete mode 100644 lib/zend/Zend/Search/Lucene/Analysis/TokenFilter/LowerCase.php delete mode 100644 lib/zend/Zend/Search/Lucene/Analysis/TokenFilter/LowerCaseUtf8.php delete mode 100644 lib/zend/Zend/Search/Lucene/Analysis/TokenFilter/ShortWords.php delete mode 100644 lib/zend/Zend/Search/Lucene/Analysis/TokenFilter/StopWords.php delete mode 100644 lib/zend/Zend/Search/Lucene/Document.php delete mode 100644 lib/zend/Zend/Search/Lucene/Document/Docx.php delete mode 100644 lib/zend/Zend/Search/Lucene/Document/Exception.php delete mode 100644 lib/zend/Zend/Search/Lucene/Document/Html.php delete mode 100644 lib/zend/Zend/Search/Lucene/Document/OpenXml.php delete mode 100644 lib/zend/Zend/Search/Lucene/Document/Pptx.php delete mode 100644 lib/zend/Zend/Search/Lucene/Document/Xlsx.php delete mode 100644 lib/zend/Zend/Search/Lucene/Exception.php delete mode 100644 lib/zend/Zend/Search/Lucene/FSM.php delete mode 100644 lib/zend/Zend/Search/Lucene/FSMAction.php delete mode 100644 lib/zend/Zend/Search/Lucene/Field.php delete mode 100644 lib/zend/Zend/Search/Lucene/Index/DictionaryLoader.php delete mode 100644 lib/zend/Zend/Search/Lucene/Index/DocsFilter.php delete mode 100644 lib/zend/Zend/Search/Lucene/Index/FieldInfo.php delete mode 100644 lib/zend/Zend/Search/Lucene/Index/SegmentInfo.php delete mode 100644 lib/zend/Zend/Search/Lucene/Index/SegmentMerger.php delete mode 100644 lib/zend/Zend/Search/Lucene/Index/SegmentWriter.php delete mode 100644 lib/zend/Zend/Search/Lucene/Index/SegmentWriter/DocumentWriter.php delete mode 100644 lib/zend/Zend/Search/Lucene/Index/SegmentWriter/StreamWriter.php delete mode 100644 lib/zend/Zend/Search/Lucene/Index/Term.php delete mode 100644 lib/zend/Zend/Search/Lucene/Index/TermInfo.php delete mode 100644 lib/zend/Zend/Search/Lucene/Index/TermsPriorityQueue.php delete mode 100644 lib/zend/Zend/Search/Lucene/Index/TermsStream/Interface.php delete mode 100644 lib/zend/Zend/Search/Lucene/Index/Writer.php delete mode 100644 lib/zend/Zend/Search/Lucene/Interface.php delete mode 100644 lib/zend/Zend/Search/Lucene/LockManager.php delete mode 100644 lib/zend/Zend/Search/Lucene/MultiSearcher.php delete mode 100644 lib/zend/Zend/Search/Lucene/PriorityQueue.php delete mode 100644 lib/zend/Zend/Search/Lucene/Proxy.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/BooleanExpressionRecognizer.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Highlighter/Default.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Highlighter/Interface.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Query.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Query/Boolean.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Query/Empty.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Query/Fuzzy.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Query/Insignificant.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Query/MultiTerm.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Query/Phrase.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Query/Preprocessing.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Query/Preprocessing/Fuzzy.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Query/Preprocessing/Phrase.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Query/Preprocessing/Term.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Query/Range.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Query/Term.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Query/Wildcard.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/QueryEntry.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/QueryEntry/Phrase.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/QueryEntry/Subquery.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/QueryEntry/Term.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/QueryHit.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/QueryLexer.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/QueryParser.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/QueryParserContext.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/QueryParserException.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/QueryToken.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Similarity.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Similarity/Default.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Weight.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Weight/Boolean.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Weight/Empty.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Weight/MultiTerm.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Weight/Phrase.php delete mode 100644 lib/zend/Zend/Search/Lucene/Search/Weight/Term.php delete mode 100644 lib/zend/Zend/Search/Lucene/Storage/Directory.php delete mode 100644 lib/zend/Zend/Search/Lucene/Storage/Directory/Filesystem.php delete mode 100644 lib/zend/Zend/Search/Lucene/Storage/File.php delete mode 100644 lib/zend/Zend/Search/Lucene/Storage/File/Filesystem.php delete mode 100644 lib/zend/Zend/Search/Lucene/Storage/File/Memory.php delete mode 100644 lib/zend/Zend/Search/Lucene/TermStreamsPriorityQueue.php delete mode 100644 lib/zend/Zend/Session.php delete mode 100644 lib/zend/Zend/Session/Abstract.php delete mode 100644 lib/zend/Zend/Session/Exception.php delete mode 100644 lib/zend/Zend/Session/Namespace.php delete mode 100644 lib/zend/Zend/Session/SaveHandler/DbTable.php delete mode 100644 lib/zend/Zend/Session/SaveHandler/Exception.php delete mode 100644 lib/zend/Zend/Session/SaveHandler/Interface.php delete mode 100644 lib/zend/Zend/Session/Validator/Abstract.php delete mode 100644 lib/zend/Zend/Session/Validator/HttpUserAgent.php delete mode 100644 lib/zend/Zend/Session/Validator/Interface.php delete mode 100644 lib/zend/Zend/Tag/Cloud.php delete mode 100644 lib/zend/Zend/Tag/Cloud/Decorator/Cloud.php delete mode 100644 lib/zend/Zend/Tag/Cloud/Decorator/Exception.php delete mode 100644 lib/zend/Zend/Tag/Cloud/Decorator/HtmlCloud.php delete mode 100644 lib/zend/Zend/Tag/Cloud/Decorator/HtmlTag.php delete mode 100644 lib/zend/Zend/Tag/Cloud/Decorator/Tag.php delete mode 100644 lib/zend/Zend/Tag/Cloud/Exception.php delete mode 100644 lib/zend/Zend/Tag/Exception.php delete mode 100644 lib/zend/Zend/Tag/Item.php delete mode 100644 lib/zend/Zend/Tag/ItemList.php delete mode 100644 lib/zend/Zend/Tag/Taggable.php delete mode 100644 lib/zend/Zend/Test/DbAdapter.php delete mode 100644 lib/zend/Zend/Test/DbStatement.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/Constraint/DomQuery.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/Constraint/Exception.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/Constraint/Redirect.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/Constraint/ResponseHeader.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/ControllerTestCase.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/DatabaseTestCase.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/Db/Connection.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/Db/DataSet/DbRowset.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/Db/DataSet/DbTable.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/Db/DataSet/DbTableDataSet.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/Db/DataSet/QueryDataSet.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/Db/DataSet/QueryTable.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/Db/Exception.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/Db/Metadata/Generic.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/Db/Operation/DeleteAll.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/Db/Operation/Insert.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/Db/Operation/Truncate.php delete mode 100644 lib/zend/Zend/Test/PHPUnit/Db/SimpleTester.php delete mode 100644 lib/zend/Zend/Text/Exception.php delete mode 100644 lib/zend/Zend/Text/Figlet.php delete mode 100644 lib/zend/Zend/Text/Figlet/Exception.php delete mode 100644 lib/zend/Zend/Text/Figlet/zend-framework.flf delete mode 100644 lib/zend/Zend/Text/MultiByte.php delete mode 100644 lib/zend/Zend/Text/Table.php delete mode 100644 lib/zend/Zend/Text/Table/Column.php delete mode 100644 lib/zend/Zend/Text/Table/Decorator/Ascii.php delete mode 100644 lib/zend/Zend/Text/Table/Decorator/Interface.php delete mode 100644 lib/zend/Zend/Text/Table/Decorator/Unicode.php delete mode 100644 lib/zend/Zend/Text/Table/Exception.php delete mode 100644 lib/zend/Zend/Text/Table/Row.php delete mode 100644 lib/zend/Zend/TimeSync.php delete mode 100644 lib/zend/Zend/TimeSync/Exception.php delete mode 100644 lib/zend/Zend/TimeSync/Ntp.php delete mode 100644 lib/zend/Zend/TimeSync/Protocol.php delete mode 100644 lib/zend/Zend/TimeSync/Sntp.php delete mode 100644 lib/zend/Zend/Tool/Framework/Action/Base.php delete mode 100644 lib/zend/Zend/Tool/Framework/Action/Exception.php delete mode 100644 lib/zend/Zend/Tool/Framework/Action/Interface.php delete mode 100644 lib/zend/Zend/Tool/Framework/Action/Repository.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Abstract.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Config.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Console.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Console/ArgumentParser.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Console/HelpSystem.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Console/Manifest.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Console/ResponseDecorator/Colorizer.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Exception.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Interactive/InputHandler.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Interactive/InputInterface.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Interactive/InputRequest.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Interactive/InputResponse.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Interactive/OutputInterface.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Request.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Response.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Response/ContentDecorator/Interface.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Response/ContentDecorator/Separator.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Storage.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Storage/AdapterInterface.php delete mode 100644 lib/zend/Zend/Tool/Framework/Client/Storage/Directory.php delete mode 100644 lib/zend/Zend/Tool/Framework/Exception.php delete mode 100644 lib/zend/Zend/Tool/Framework/Loader/Abstract.php delete mode 100644 lib/zend/Zend/Tool/Framework/Loader/IncludePathLoader.php delete mode 100644 lib/zend/Zend/Tool/Framework/Loader/IncludePathLoader/RecursiveFilterIterator.php delete mode 100644 lib/zend/Zend/Tool/Framework/Manifest/ActionManifestable.php delete mode 100644 lib/zend/Zend/Tool/Framework/Manifest/Exception.php delete mode 100644 lib/zend/Zend/Tool/Framework/Manifest/Indexable.php delete mode 100644 lib/zend/Zend/Tool/Framework/Manifest/Interface.php delete mode 100644 lib/zend/Zend/Tool/Framework/Manifest/MetadataManifestable.php delete mode 100644 lib/zend/Zend/Tool/Framework/Manifest/ProviderManifestable.php delete mode 100644 lib/zend/Zend/Tool/Framework/Manifest/Repository.php delete mode 100644 lib/zend/Zend/Tool/Framework/Metadata/Basic.php delete mode 100644 lib/zend/Zend/Tool/Framework/Metadata/Dynamic.php delete mode 100644 lib/zend/Zend/Tool/Framework/Metadata/Interface.php delete mode 100644 lib/zend/Zend/Tool/Framework/Metadata/Tool.php delete mode 100644 lib/zend/Zend/Tool/Framework/Provider/Abstract.php delete mode 100644 lib/zend/Zend/Tool/Framework/Provider/DocblockManifestable.php delete mode 100644 lib/zend/Zend/Tool/Framework/Provider/Exception.php delete mode 100644 lib/zend/Zend/Tool/Framework/Provider/Interactable.php delete mode 100644 lib/zend/Zend/Tool/Framework/Provider/Interface.php delete mode 100644 lib/zend/Zend/Tool/Framework/Provider/Pretendable.php delete mode 100644 lib/zend/Zend/Tool/Framework/Provider/Repository.php delete mode 100644 lib/zend/Zend/Tool/Framework/Provider/Signature.php delete mode 100644 lib/zend/Zend/Tool/Framework/Registry.php delete mode 100644 lib/zend/Zend/Tool/Framework/Registry/EnabledInterface.php delete mode 100644 lib/zend/Zend/Tool/Framework/Registry/Exception.php delete mode 100644 lib/zend/Zend/Tool/Framework/Registry/Interface.php delete mode 100644 lib/zend/Zend/Tool/Framework/System/Action/Create.php delete mode 100644 lib/zend/Zend/Tool/Framework/System/Action/Delete.php delete mode 100644 lib/zend/Zend/Tool/Framework/System/Manifest.php delete mode 100644 lib/zend/Zend/Tool/Framework/System/Provider/Manifest.php delete mode 100644 lib/zend/Zend/Tool/Framework/System/Provider/Phpinfo.php delete mode 100644 lib/zend/Zend/Tool/Framework/System/Provider/Version.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Content/Engine.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Content/Engine/CodeGenerator.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Content/Engine/Phtml.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Exception.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Filesystem/Abstract.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Filesystem/Directory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Filesystem/File.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Interface.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Repository.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/System/Interface.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/System/NotOverwritable.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/System/ProjectDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/System/ProjectProfileFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/System/ProjectProvidersDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/System/TopLevelRestrictable.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ActionMethod.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ApisDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ApplicationConfigFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ApplicationDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/BootstrapFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/CacheDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ConfigFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ConfigsDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ControllerFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ControllersDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/DataDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/DbTableDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/DbTableFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/FormFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/FormsDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/HtaccessFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/LayoutsDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/LibraryDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/LocalesDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/LogsDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ModelFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ModelsDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ModuleDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ModulesDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ProjectProviderFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/PublicDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/PublicImagesDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/PublicIndexFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/PublicScriptsDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/PublicStylesheetsDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/SearchIndexesDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/SessionsDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/TemporaryDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/TestApplicationBootstrapFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/TestApplicationControllerDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/TestApplicationControllerFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/TestApplicationDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/TestLibraryBootstrapFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/TestLibraryDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/TestLibraryFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/TestLibraryNamespaceDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/TestPHPUnitConfigFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/TestsDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/UploadsDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ViewControllerScriptsDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ViewFiltersDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ViewHelpersDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ViewScriptFile.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ViewScriptsDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ViewsDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Context/Zf/ZfStandardLibraryDirectory.php delete mode 100644 lib/zend/Zend/Tool/Project/Exception.php delete mode 100644 lib/zend/Zend/Tool/Project/Profile.php delete mode 100644 lib/zend/Zend/Tool/Project/Profile/Exception.php delete mode 100644 lib/zend/Zend/Tool/Project/Profile/FileParser/Interface.php delete mode 100644 lib/zend/Zend/Tool/Project/Profile/FileParser/Xml.php delete mode 100644 lib/zend/Zend/Tool/Project/Profile/Iterator/ContextFilter.php delete mode 100644 lib/zend/Zend/Tool/Project/Profile/Iterator/EnabledResourceFilter.php delete mode 100644 lib/zend/Zend/Tool/Project/Profile/Resource.php delete mode 100644 lib/zend/Zend/Tool/Project/Profile/Resource/Container.php delete mode 100644 lib/zend/Zend/Tool/Project/Profile/Resource/SearchConstraints.php delete mode 100644 lib/zend/Zend/Tool/Project/Provider/Abstract.php delete mode 100644 lib/zend/Zend/Tool/Project/Provider/Action.php delete mode 100644 lib/zend/Zend/Tool/Project/Provider/Controller.php delete mode 100644 lib/zend/Zend/Tool/Project/Provider/Exception.php delete mode 100644 lib/zend/Zend/Tool/Project/Provider/Form.php delete mode 100644 lib/zend/Zend/Tool/Project/Provider/Manifest.php delete mode 100644 lib/zend/Zend/Tool/Project/Provider/Model.php delete mode 100644 lib/zend/Zend/Tool/Project/Provider/Module.php delete mode 100644 lib/zend/Zend/Tool/Project/Provider/Profile.php delete mode 100644 lib/zend/Zend/Tool/Project/Provider/Project.php delete mode 100644 lib/zend/Zend/Tool/Project/Provider/ProjectProvider.php delete mode 100644 lib/zend/Zend/Tool/Project/Provider/Test.php delete mode 100644 lib/zend/Zend/Tool/Project/Provider/View.php delete mode 100644 lib/zend/Zend/Translate.php delete mode 100644 lib/zend/Zend/Translate/Adapter.php delete mode 100644 lib/zend/Zend/Translate/Adapter/Array.php delete mode 100644 lib/zend/Zend/Translate/Adapter/Csv.php delete mode 100644 lib/zend/Zend/Translate/Adapter/Gettext.php delete mode 100644 lib/zend/Zend/Translate/Adapter/Ini.php delete mode 100644 lib/zend/Zend/Translate/Adapter/Qt.php delete mode 100644 lib/zend/Zend/Translate/Adapter/Tbx.php delete mode 100644 lib/zend/Zend/Translate/Adapter/Tmx.php delete mode 100644 lib/zend/Zend/Translate/Adapter/Xliff.php delete mode 100644 lib/zend/Zend/Translate/Adapter/XmlTm.php delete mode 100644 lib/zend/Zend/Translate/Exception.php delete mode 100644 lib/zend/Zend/Translate/Plural.php delete mode 100644 lib/zend/Zend/Validate.php delete mode 100644 lib/zend/Zend/View.php delete mode 100644 lib/zend/Zend/View/Abstract.php delete mode 100644 lib/zend/Zend/View/Exception.php delete mode 100644 lib/zend/Zend/View/Helper/Abstract.php delete mode 100644 lib/zend/Zend/View/Helper/Action.php delete mode 100644 lib/zend/Zend/View/Helper/BaseUrl.php delete mode 100644 lib/zend/Zend/View/Helper/Cycle.php delete mode 100644 lib/zend/Zend/View/Helper/DeclareVars.php delete mode 100644 lib/zend/Zend/View/Helper/Doctype.php delete mode 100644 lib/zend/Zend/View/Helper/Fieldset.php delete mode 100644 lib/zend/Zend/View/Helper/Form.php delete mode 100644 lib/zend/Zend/View/Helper/FormButton.php delete mode 100644 lib/zend/Zend/View/Helper/FormCheckbox.php delete mode 100644 lib/zend/Zend/View/Helper/FormElement.php delete mode 100644 lib/zend/Zend/View/Helper/FormErrors.php delete mode 100644 lib/zend/Zend/View/Helper/FormFile.php delete mode 100644 lib/zend/Zend/View/Helper/FormHidden.php delete mode 100644 lib/zend/Zend/View/Helper/FormImage.php delete mode 100644 lib/zend/Zend/View/Helper/FormLabel.php delete mode 100644 lib/zend/Zend/View/Helper/FormMultiCheckbox.php delete mode 100644 lib/zend/Zend/View/Helper/FormNote.php delete mode 100644 lib/zend/Zend/View/Helper/FormPassword.php delete mode 100644 lib/zend/Zend/View/Helper/FormRadio.php delete mode 100644 lib/zend/Zend/View/Helper/FormReset.php delete mode 100644 lib/zend/Zend/View/Helper/FormSelect.php delete mode 100644 lib/zend/Zend/View/Helper/FormSubmit.php delete mode 100644 lib/zend/Zend/View/Helper/FormText.php delete mode 100644 lib/zend/Zend/View/Helper/FormTextarea.php delete mode 100644 lib/zend/Zend/View/Helper/HeadLink.php delete mode 100644 lib/zend/Zend/View/Helper/HeadMeta.php delete mode 100644 lib/zend/Zend/View/Helper/HeadScript.php delete mode 100644 lib/zend/Zend/View/Helper/HeadStyle.php delete mode 100644 lib/zend/Zend/View/Helper/HeadTitle.php delete mode 100644 lib/zend/Zend/View/Helper/HtmlElement.php delete mode 100644 lib/zend/Zend/View/Helper/HtmlFlash.php delete mode 100644 lib/zend/Zend/View/Helper/HtmlList.php delete mode 100644 lib/zend/Zend/View/Helper/HtmlObject.php delete mode 100644 lib/zend/Zend/View/Helper/HtmlPage.php delete mode 100644 lib/zend/Zend/View/Helper/HtmlQuicktime.php delete mode 100644 lib/zend/Zend/View/Helper/InlineScript.php delete mode 100644 lib/zend/Zend/View/Helper/Interface.php delete mode 100644 lib/zend/Zend/View/Helper/Json.php delete mode 100644 lib/zend/Zend/View/Helper/Layout.php delete mode 100644 lib/zend/Zend/View/Helper/Navigation.php delete mode 100644 lib/zend/Zend/View/Helper/Navigation/Breadcrumbs.php delete mode 100644 lib/zend/Zend/View/Helper/Navigation/Helper.php delete mode 100644 lib/zend/Zend/View/Helper/Navigation/HelperAbstract.php delete mode 100644 lib/zend/Zend/View/Helper/Navigation/Links.php delete mode 100644 lib/zend/Zend/View/Helper/Navigation/Menu.php delete mode 100644 lib/zend/Zend/View/Helper/Navigation/Sitemap.php delete mode 100644 lib/zend/Zend/View/Helper/PaginationControl.php delete mode 100644 lib/zend/Zend/View/Helper/Partial.php delete mode 100644 lib/zend/Zend/View/Helper/Partial/Exception.php delete mode 100644 lib/zend/Zend/View/Helper/PartialLoop.php delete mode 100644 lib/zend/Zend/View/Helper/Placeholder.php delete mode 100644 lib/zend/Zend/View/Helper/Placeholder/Container.php delete mode 100644 lib/zend/Zend/View/Helper/Placeholder/Container/Abstract.php delete mode 100644 lib/zend/Zend/View/Helper/Placeholder/Container/Exception.php delete mode 100644 lib/zend/Zend/View/Helper/Placeholder/Container/Standalone.php delete mode 100644 lib/zend/Zend/View/Helper/Placeholder/Registry.php delete mode 100644 lib/zend/Zend/View/Helper/Placeholder/Registry/Exception.php delete mode 100644 lib/zend/Zend/View/Helper/RenderToPlaceholder.php delete mode 100644 lib/zend/Zend/View/Helper/ServerUrl.php delete mode 100644 lib/zend/Zend/View/Helper/Translate.php delete mode 100644 lib/zend/Zend/View/Helper/Url.php delete mode 100644 lib/zend/Zend/View/Interface.php delete mode 100644 lib/zend/Zend/View/Stream.php delete mode 100644 lib/zend/Zend/Wildfire/Channel/HttpHeaders.php delete mode 100644 lib/zend/Zend/Wildfire/Channel/Interface.php delete mode 100644 lib/zend/Zend/Wildfire/Exception.php delete mode 100644 lib/zend/Zend/Wildfire/Plugin/FirePhp.php delete mode 100644 lib/zend/Zend/Wildfire/Plugin/FirePhp/Message.php delete mode 100644 lib/zend/Zend/Wildfire/Plugin/FirePhp/TableMessage.php delete mode 100644 lib/zend/Zend/Wildfire/Plugin/Interface.php delete mode 100644 lib/zend/Zend/Wildfire/Protocol/JsonStream.php diff --git a/lib/zend/Zend/Acl.php b/lib/zend/Zend/Acl.php deleted file mode 100644 index f39cfaf5e3..0000000000 --- a/lib/zend/Zend/Acl.php +++ /dev/null @@ -1,1119 +0,0 @@ - array( - 'allRoles' => array( - 'allPrivileges' => array( - 'type' => self::TYPE_DENY, - 'assert' => null - ), - 'byPrivilegeId' => array() - ), - 'byRoleId' => array() - ), - 'byResourceId' => array() - ); - - /** - * Adds a Role having an identifier unique to the registry - * - * The $parents parameter may be a reference to, or the string identifier for, - * a Role existing in the registry, or $parents may be passed as an array of - * these - mixing string identifiers and objects is ok - to indicate the Roles - * from which the newly added Role will directly inherit. - * - * In order to resolve potential ambiguities with conflicting rules inherited - * from different parents, the most recently added parent takes precedence over - * parents that were previously added. In other words, the first parent added - * will have the least priority, and the last parent added will have the - * highest priority. - * - * @param Zend_Acl_Role_Interface $role - * @param Zend_Acl_Role_Interface|string|array $parents - * @uses Zend_Acl_Role_Registry::add() - * @return Zend_Acl Provides a fluent interface - */ - public function addRole($role, $parents = null) - { - if (is_string($role)) { - $role = new Zend_Acl_Role($role); - } - - if (!$role instanceof Zend_Acl_Role_Interface) { - require_once 'Zend/Acl/Exception.php'; - throw new Zend_Acl_Exception('addRole() expects $role to be of type Zend_Acl_Role_Interface'); - } - - - $this->_getRoleRegistry()->add($role, $parents); - - return $this; - } - - /** - * Returns the identified Role - * - * The $role parameter can either be a Role or Role identifier. - * - * @param Zend_Acl_Role_Interface|string $role - * @uses Zend_Acl_Role_Registry::get() - * @return Zend_Acl_Role_Interface - */ - public function getRole($role) - { - return $this->_getRoleRegistry()->get($role); - } - - /** - * Returns true if and only if the Role exists in the registry - * - * The $role parameter can either be a Role or a Role identifier. - * - * @param Zend_Acl_Role_Interface|string $role - * @uses Zend_Acl_Role_Registry::has() - * @return boolean - */ - public function hasRole($role) - { - return $this->_getRoleRegistry()->has($role); - } - - /** - * Returns true if and only if $role inherits from $inherit - * - * Both parameters may be either a Role or a Role identifier. If - * $onlyParents is true, then $role must inherit directly from - * $inherit in order to return true. By default, this method looks - * through the entire inheritance DAG to determine whether $role - * inherits from $inherit through its ancestor Roles. - * - * @param Zend_Acl_Role_Interface|string $role - * @param Zend_Acl_Role_Interface|string $inherit - * @param boolean $onlyParents - * @uses Zend_Acl_Role_Registry::inherits() - * @return boolean - */ - public function inheritsRole($role, $inherit, $onlyParents = false) - { - return $this->_getRoleRegistry()->inherits($role, $inherit, $onlyParents); - } - - /** - * Removes the Role from the registry - * - * The $role parameter can either be a Role or a Role identifier. - * - * @param Zend_Acl_Role_Interface|string $role - * @uses Zend_Acl_Role_Registry::remove() - * @return Zend_Acl Provides a fluent interface - */ - public function removeRole($role) - { - $this->_getRoleRegistry()->remove($role); - - if ($role instanceof Zend_Acl_Role_Interface) { - $roleId = $role->getRoleId(); - } else { - $roleId = $role; - } - - foreach ($this->_rules['allResources']['byRoleId'] as $roleIdCurrent => $rules) { - if ($roleId === $roleIdCurrent) { - unset($this->_rules['allResources']['byRoleId'][$roleIdCurrent]); - } - } - foreach ($this->_rules['byResourceId'] as $resourceIdCurrent => $visitor) { - if (array_key_exists('byRoleId', $visitor)) { - foreach ($visitor['byRoleId'] as $roleIdCurrent => $rules) { - if ($roleId === $roleIdCurrent) { - unset($this->_rules['byResourceId'][$resourceIdCurrent]['byRoleId'][$roleIdCurrent]); - } - } - } - } - - return $this; - } - - /** - * Removes all Roles from the registry - * - * @uses Zend_Acl_Role_Registry::removeAll() - * @return Zend_Acl Provides a fluent interface - */ - public function removeRoleAll() - { - $this->_getRoleRegistry()->removeAll(); - - foreach ($this->_rules['allResources']['byRoleId'] as $roleIdCurrent => $rules) { - unset($this->_rules['allResources']['byRoleId'][$roleIdCurrent]); - } - foreach ($this->_rules['byResourceId'] as $resourceIdCurrent => $visitor) { - foreach ($visitor['byRoleId'] as $roleIdCurrent => $rules) { - unset($this->_rules['byResourceId'][$resourceIdCurrent]['byRoleId'][$roleIdCurrent]); - } - } - - return $this; - } - - /** - * Adds a Resource having an identifier unique to the ACL - * - * The $parent parameter may be a reference to, or the string identifier for, - * the existing Resource from which the newly added Resource will inherit. - * - * @param Zend_Acl_Resource_Interface|string $resource - * @param Zend_Acl_Resource_Interface|string $parent - * @throws Zend_Acl_Exception - * @return Zend_Acl Provides a fluent interface - */ - public function addResource($resource, $parent = null) - { - if (is_string($resource)) { - $resource = new Zend_Acl_Resource($resource); - } - - if (!$resource instanceof Zend_Acl_Resource_Interface) { - require_once 'Zend/Acl/Exception.php'; - throw new Zend_Acl_Exception('addResource() expects $resource to be of type Zend_Acl_Resource_Interface'); - } - - $resourceId = $resource->getResourceId(); - - if ($this->has($resourceId)) { - require_once 'Zend/Acl/Exception.php'; - throw new Zend_Acl_Exception("Resource id '$resourceId' already exists in the ACL"); - } - - $resourceParent = null; - - if (null !== $parent) { - try { - if ($parent instanceof Zend_Acl_Resource_Interface) { - $resourceParentId = $parent->getResourceId(); - } else { - $resourceParentId = $parent; - } - $resourceParent = $this->get($resourceParentId); - } catch (Zend_Acl_Exception $e) { - throw new Zend_Acl_Exception("Parent Resource id '$resourceParentId' does not exist"); - } - $this->_resources[$resourceParentId]['children'][$resourceId] = $resource; - } - - $this->_resources[$resourceId] = array( - 'instance' => $resource, - 'parent' => $resourceParent, - 'children' => array() - ); - - return $this; - } - - /** - * Adds a Resource having an identifier unique to the ACL - * - * The $parent parameter may be a reference to, or the string identifier for, - * the existing Resource from which the newly added Resource will inherit. - * - * @deprecated in version 1.9.1 and will be available till 2.0. New code - * should use addResource() instead. - * - * @param Zend_Acl_Resource_Interface $resource - * @param Zend_Acl_Resource_Interface|string $parent - * @throws Zend_Acl_Exception - * @return Zend_Acl Provides a fluent interface - */ - public function add(Zend_Acl_Resource_Interface $resource, $parent = null) - { - return $this->addResource($resource, $parent); - } - - /** - * Returns the identified Resource - * - * The $resource parameter can either be a Resource or a Resource identifier. - * - * @param Zend_Acl_Resource_Interface|string $resource - * @throws Zend_Acl_Exception - * @return Zend_Acl_Resource_Interface - */ - public function get($resource) - { - if ($resource instanceof Zend_Acl_Resource_Interface) { - $resourceId = $resource->getResourceId(); - } else { - $resourceId = (string) $resource; - } - - if (!$this->has($resource)) { - require_once 'Zend/Acl/Exception.php'; - throw new Zend_Acl_Exception("Resource '$resourceId' not found"); - } - - return $this->_resources[$resourceId]['instance']; - } - - /** - * Returns true if and only if the Resource exists in the ACL - * - * The $resource parameter can either be a Resource or a Resource identifier. - * - * @param Zend_Acl_Resource_Interface|string $resource - * @return boolean - */ - public function has($resource) - { - if ($resource instanceof Zend_Acl_Resource_Interface) { - $resourceId = $resource->getResourceId(); - } else { - $resourceId = (string) $resource; - } - - return isset($this->_resources[$resourceId]); - } - - /** - * Returns true if and only if $resource inherits from $inherit - * - * Both parameters may be either a Resource or a Resource identifier. If - * $onlyParent is true, then $resource must inherit directly from - * $inherit in order to return true. By default, this method looks - * through the entire inheritance tree to determine whether $resource - * inherits from $inherit through its ancestor Resources. - * - * @param Zend_Acl_Resource_Interface|string $resource - * @param Zend_Acl_Resource_Interface|string $inherit - * @param boolean $onlyParent - * @throws Zend_Acl_Resource_Registry_Exception - * @return boolean - */ - public function inherits($resource, $inherit, $onlyParent = false) - { - try { - $resourceId = $this->get($resource)->getResourceId(); - $inheritId = $this->get($inherit)->getResourceId(); - } catch (Zend_Acl_Exception $e) { - throw $e; - } - - if (null !== $this->_resources[$resourceId]['parent']) { - $parentId = $this->_resources[$resourceId]['parent']->getResourceId(); - if ($inheritId === $parentId) { - return true; - } else if ($onlyParent) { - return false; - } - } else { - return false; - } - - while (null !== $this->_resources[$parentId]['parent']) { - $parentId = $this->_resources[$parentId]['parent']->getResourceId(); - if ($inheritId === $parentId) { - return true; - } - } - - return false; - } - - /** - * Removes a Resource and all of its children - * - * The $resource parameter can either be a Resource or a Resource identifier. - * - * @param Zend_Acl_Resource_Interface|string $resource - * @throws Zend_Acl_Exception - * @return Zend_Acl Provides a fluent interface - */ - public function remove($resource) - { - try { - $resourceId = $this->get($resource)->getResourceId(); - } catch (Zend_Acl_Exception $e) { - throw $e; - } - - $resourcesRemoved = array($resourceId); - if (null !== ($resourceParent = $this->_resources[$resourceId]['parent'])) { - unset($this->_resources[$resourceParent->getResourceId()]['children'][$resourceId]); - } - foreach ($this->_resources[$resourceId]['children'] as $childId => $child) { - $this->remove($childId); - $resourcesRemoved[] = $childId; - } - - foreach ($resourcesRemoved as $resourceIdRemoved) { - foreach ($this->_rules['byResourceId'] as $resourceIdCurrent => $rules) { - if ($resourceIdRemoved === $resourceIdCurrent) { - unset($this->_rules['byResourceId'][$resourceIdCurrent]); - } - } - } - - unset($this->_resources[$resourceId]); - - return $this; - } - - /** - * Removes all Resources - * - * @return Zend_Acl Provides a fluent interface - */ - public function removeAll() - { - foreach ($this->_resources as $resourceId => $resource) { - foreach ($this->_rules['byResourceId'] as $resourceIdCurrent => $rules) { - if ($resourceId === $resourceIdCurrent) { - unset($this->_rules['byResourceId'][$resourceIdCurrent]); - } - } - } - - $this->_resources = array(); - - return $this; - } - - /** - * Adds an "allow" rule to the ACL - * - * @param Zend_Acl_Role_Interface|string|array $roles - * @param Zend_Acl_Resource_Interface|string|array $resources - * @param string|array $privileges - * @param Zend_Acl_Assert_Interface $assert - * @uses Zend_Acl::setRule() - * @return Zend_Acl Provides a fluent interface - */ - public function allow($roles = null, $resources = null, $privileges = null, Zend_Acl_Assert_Interface $assert = null) - { - return $this->setRule(self::OP_ADD, self::TYPE_ALLOW, $roles, $resources, $privileges, $assert); - } - - /** - * Adds a "deny" rule to the ACL - * - * @param Zend_Acl_Role_Interface|string|array $roles - * @param Zend_Acl_Resource_Interface|string|array $resources - * @param string|array $privileges - * @param Zend_Acl_Assert_Interface $assert - * @uses Zend_Acl::setRule() - * @return Zend_Acl Provides a fluent interface - */ - public function deny($roles = null, $resources = null, $privileges = null, Zend_Acl_Assert_Interface $assert = null) - { - return $this->setRule(self::OP_ADD, self::TYPE_DENY, $roles, $resources, $privileges, $assert); - } - - /** - * Removes "allow" permissions from the ACL - * - * @param Zend_Acl_Role_Interface|string|array $roles - * @param Zend_Acl_Resource_Interface|string|array $resources - * @param string|array $privileges - * @uses Zend_Acl::setRule() - * @return Zend_Acl Provides a fluent interface - */ - public function removeAllow($roles = null, $resources = null, $privileges = null) - { - return $this->setRule(self::OP_REMOVE, self::TYPE_ALLOW, $roles, $resources, $privileges); - } - - /** - * Removes "deny" restrictions from the ACL - * - * @param Zend_Acl_Role_Interface|string|array $roles - * @param Zend_Acl_Resource_Interface|string|array $resources - * @param string|array $privileges - * @uses Zend_Acl::setRule() - * @return Zend_Acl Provides a fluent interface - */ - public function removeDeny($roles = null, $resources = null, $privileges = null) - { - return $this->setRule(self::OP_REMOVE, self::TYPE_DENY, $roles, $resources, $privileges); - } - - /** - * Performs operations on ACL rules - * - * The $operation parameter may be either OP_ADD or OP_REMOVE, depending on whether the - * user wants to add or remove a rule, respectively: - * - * OP_ADD specifics: - * - * A rule is added that would allow one or more Roles access to [certain $privileges - * upon] the specified Resource(s). - * - * OP_REMOVE specifics: - * - * The rule is removed only in the context of the given Roles, Resources, and privileges. - * Existing rules to which the remove operation does not apply would remain in the - * ACL. - * - * The $type parameter may be either TYPE_ALLOW or TYPE_DENY, depending on whether the - * rule is intended to allow or deny permission, respectively. - * - * The $roles and $resources parameters may be references to, or the string identifiers for, - * existing Resources/Roles, or they may be passed as arrays of these - mixing string identifiers - * and objects is ok - to indicate the Resources and Roles to which the rule applies. If either - * $roles or $resources is null, then the rule applies to all Roles or all Resources, respectively. - * Both may be null in order to work with the default rule of the ACL. - * - * The $privileges parameter may be used to further specify that the rule applies only - * to certain privileges upon the Resource(s) in question. This may be specified to be a single - * privilege with a string, and multiple privileges may be specified as an array of strings. - * - * If $assert is provided, then its assert() method must return true in order for - * the rule to apply. If $assert is provided with $roles, $resources, and $privileges all - * equal to null, then a rule having a type of: - * - * TYPE_ALLOW will imply a type of TYPE_DENY, and - * - * TYPE_DENY will imply a type of TYPE_ALLOW - * - * when the rule's assertion fails. This is because the ACL needs to provide expected - * behavior when an assertion upon the default ACL rule fails. - * - * @param string $operation - * @param string $type - * @param Zend_Acl_Role_Interface|string|array $roles - * @param Zend_Acl_Resource_Interface|string|array $resources - * @param string|array $privileges - * @param Zend_Acl_Assert_Interface $assert - * @throws Zend_Acl_Exception - * @uses Zend_Acl_Role_Registry::get() - * @uses Zend_Acl::get() - * @return Zend_Acl Provides a fluent interface - */ - public function setRule($operation, $type, $roles = null, $resources = null, $privileges = null, - Zend_Acl_Assert_Interface $assert = null) - { - // ensure that the rule type is valid; normalize input to uppercase - $type = strtoupper($type); - if (self::TYPE_ALLOW !== $type && self::TYPE_DENY !== $type) { - require_once 'Zend/Acl/Exception.php'; - throw new Zend_Acl_Exception("Unsupported rule type; must be either '" . self::TYPE_ALLOW . "' or '" - . self::TYPE_DENY . "'"); - } - - // ensure that all specified Roles exist; normalize input to array of Role objects or null - if (!is_array($roles)) { - $roles = array($roles); - } else if (0 === count($roles)) { - $roles = array(null); - } - $rolesTemp = $roles; - $roles = array(); - foreach ($rolesTemp as $role) { - if (null !== $role) { - $roles[] = $this->_getRoleRegistry()->get($role); - } else { - $roles[] = null; - } - } - unset($rolesTemp); - - // ensure that all specified Resources exist; normalize input to array of Resource objects or null - if (!is_array($resources)) { - $resources = array($resources); - } else if (0 === count($resources)) { - $resources = array(null); - } - $resourcesTemp = $resources; - $resources = array(); - foreach ($resourcesTemp as $resource) { - if (null !== $resource) { - $resources[] = $this->get($resource); - } else { - $resources[] = null; - } - } - unset($resourcesTemp); - - // normalize privileges to array - if (null === $privileges) { - $privileges = array(); - } else if (!is_array($privileges)) { - $privileges = array($privileges); - } - - switch ($operation) { - - // add to the rules - case self::OP_ADD: - foreach ($resources as $resource) { - foreach ($roles as $role) { - $rules =& $this->_getRules($resource, $role, true); - if (0 === count($privileges)) { - $rules['allPrivileges']['type'] = $type; - $rules['allPrivileges']['assert'] = $assert; - if (!isset($rules['byPrivilegeId'])) { - $rules['byPrivilegeId'] = array(); - } - } else { - foreach ($privileges as $privilege) { - $rules['byPrivilegeId'][$privilege]['type'] = $type; - $rules['byPrivilegeId'][$privilege]['assert'] = $assert; - } - } - } - } - break; - - // remove from the rules - case self::OP_REMOVE: - foreach ($resources as $resource) { - foreach ($roles as $role) { - $rules =& $this->_getRules($resource, $role); - if (null === $rules) { - continue; - } - if (0 === count($privileges)) { - if (null === $resource && null === $role) { - if ($type === $rules['allPrivileges']['type']) { - $rules = array( - 'allPrivileges' => array( - 'type' => self::TYPE_DENY, - 'assert' => null - ), - 'byPrivilegeId' => array() - ); - } - continue; - } - if ($type === $rules['allPrivileges']['type']) { - unset($rules['allPrivileges']); - } - } else { - foreach ($privileges as $privilege) { - if (isset($rules['byPrivilegeId'][$privilege]) && - $type === $rules['byPrivilegeId'][$privilege]['type']) { - unset($rules['byPrivilegeId'][$privilege]); - } - } - } - } - } - break; - - default: - require_once 'Zend/Acl/Exception.php'; - throw new Zend_Acl_Exception("Unsupported operation; must be either '" . self::OP_ADD . "' or '" - . self::OP_REMOVE . "'"); - } - - return $this; - } - - /** - * Returns true if and only if the Role has access to the Resource - * - * The $role and $resource parameters may be references to, or the string identifiers for, - * an existing Resource and Role combination. - * - * If either $role or $resource is null, then the query applies to all Roles or all Resources, - * respectively. Both may be null to query whether the ACL has a "blacklist" rule - * (allow everything to all). By default, Zend_Acl creates a "whitelist" rule (deny - * everything to all), and this method would return false unless this default has - * been overridden (i.e., by executing $acl->allow()). - * - * If a $privilege is not provided, then this method returns false if and only if the - * Role is denied access to at least one privilege upon the Resource. In other words, this - * method returns true if and only if the Role is allowed all privileges on the Resource. - * - * This method checks Role inheritance using a depth-first traversal of the Role registry. - * The highest priority parent (i.e., the parent most recently added) is checked first, - * and its respective parents are checked similarly before the lower-priority parents of - * the Role are checked. - * - * @param Zend_Acl_Role_Interface|string $role - * @param Zend_Acl_Resource_Interface|string $resource - * @param string $privilege - * @uses Zend_Acl::get() - * @uses Zend_Acl_Role_Registry::get() - * @return boolean - */ - public function isAllowed($role = null, $resource = null, $privilege = null) - { - // reset role & resource to null - $this->_isAllowedRole = $this->_isAllowedResource = null; - - if (null !== $role) { - // keep track of originally called role - $this->_isAllowedRole = $role; - $role = $this->_getRoleRegistry()->get($role); - if (!$this->_isAllowedRole instanceof Zend_Acl_Role_Interface) { - $this->_isAllowedRole = $role; - } - } - - if (null !== $resource) { - // keep track of originally called resource - $this->_isAllowedResource = $resource; - $resource = $this->get($resource); - if (!$this->_isAllowedResource instanceof Zend_Acl_Resource_Interface) { - $this->_isAllowedResource = $resource; - } - } - - if (null === $privilege) { - // query on all privileges - do { - // depth-first search on $role if it is not 'allRoles' pseudo-parent - if (null !== $role && null !== ($result = $this->_roleDFSAllPrivileges($role, $resource, $privilege))) { - return $result; - } - - // look for rule on 'allRoles' psuedo-parent - if (null !== ($rules = $this->_getRules($resource, null))) { - foreach ($rules['byPrivilegeId'] as $privilege => $rule) { - if (self::TYPE_DENY === ($ruleTypeOnePrivilege = $this->_getRuleType($resource, null, $privilege))) { - return false; - } - } - if (null !== ($ruleTypeAllPrivileges = $this->_getRuleType($resource, null, null))) { - return self::TYPE_ALLOW === $ruleTypeAllPrivileges; - } - } - - // try next Resource - $resource = $this->_resources[$resource->getResourceId()]['parent']; - - } while (true); // loop terminates at 'allResources' pseudo-parent - } else { - // query on one privilege - do { - // depth-first search on $role if it is not 'allRoles' pseudo-parent - if (null !== $role && null !== ($result = $this->_roleDFSOnePrivilege($role, $resource, $privilege))) { - return $result; - } - - // look for rule on 'allRoles' pseudo-parent - if (null !== ($ruleType = $this->_getRuleType($resource, null, $privilege))) { - return self::TYPE_ALLOW === $ruleType; - } else if (null !== ($ruleTypeAllPrivileges = $this->_getRuleType($resource, null, null))) { - return self::TYPE_ALLOW === $ruleTypeAllPrivileges; - } - - // try next Resource - $resource = $this->_resources[$resource->getResourceId()]['parent']; - - } while (true); // loop terminates at 'allResources' pseudo-parent - } - } - - /** - * Returns the Role registry for this ACL - * - * If no Role registry has been created yet, a new default Role registry - * is created and returned. - * - * @return Zend_Acl_Role_Registry - */ - protected function _getRoleRegistry() - { - if (null === $this->_roleRegistry) { - $this->_roleRegistry = new Zend_Acl_Role_Registry(); - } - return $this->_roleRegistry; - } - - /** - * Performs a depth-first search of the Role DAG, starting at $role, in order to find a rule - * allowing/denying $role access to all privileges upon $resource - * - * This method returns true if a rule is found and allows access. If a rule exists and denies access, - * then this method returns false. If no applicable rule is found, then this method returns null. - * - * @param Zend_Acl_Role_Interface $role - * @param Zend_Acl_Resource_Interface $resource - * @return boolean|null - */ - protected function _roleDFSAllPrivileges(Zend_Acl_Role_Interface $role, Zend_Acl_Resource_Interface $resource = null) - { - $dfs = array( - 'visited' => array(), - 'stack' => array() - ); - - if (null !== ($result = $this->_roleDFSVisitAllPrivileges($role, $resource, $dfs))) { - return $result; - } - - while (null !== ($role = array_pop($dfs['stack']))) { - if (!isset($dfs['visited'][$role->getRoleId()])) { - if (null !== ($result = $this->_roleDFSVisitAllPrivileges($role, $resource, $dfs))) { - return $result; - } - } - } - - return null; - } - - /** - * Visits an $role in order to look for a rule allowing/denying $role access to all privileges upon $resource - * - * This method returns true if a rule is found and allows access. If a rule exists and denies access, - * then this method returns false. If no applicable rule is found, then this method returns null. - * - * This method is used by the internal depth-first search algorithm and may modify the DFS data structure. - * - * @param Zend_Acl_Role_Interface $role - * @param Zend_Acl_Resource_Interface $resource - * @param array $dfs - * @return boolean|null - * @throws Zend_Acl_Exception - */ - protected function _roleDFSVisitAllPrivileges(Zend_Acl_Role_Interface $role, Zend_Acl_Resource_Interface $resource = null, - &$dfs = null) - { - if (null === $dfs) { - /** - * @see Zend_Acl_Exception - */ - require_once 'Zend/Acl/Exception.php'; - throw new Zend_Acl_Exception('$dfs parameter may not be null'); - } - - if (null !== ($rules = $this->_getRules($resource, $role))) { - foreach ($rules['byPrivilegeId'] as $privilege => $rule) { - if (self::TYPE_DENY === ($ruleTypeOnePrivilege = $this->_getRuleType($resource, $role, $privilege))) { - return false; - } - } - if (null !== ($ruleTypeAllPrivileges = $this->_getRuleType($resource, $role, null))) { - return self::TYPE_ALLOW === $ruleTypeAllPrivileges; - } - } - - $dfs['visited'][$role->getRoleId()] = true; - foreach ($this->_getRoleRegistry()->getParents($role) as $roleParentId => $roleParent) { - $dfs['stack'][] = $roleParent; - } - - return null; - } - - /** - * Performs a depth-first search of the Role DAG, starting at $role, in order to find a rule - * allowing/denying $role access to a $privilege upon $resource - * - * This method returns true if a rule is found and allows access. If a rule exists and denies access, - * then this method returns false. If no applicable rule is found, then this method returns null. - * - * @param Zend_Acl_Role_Interface $role - * @param Zend_Acl_Resource_Interface $resource - * @param string $privilege - * @return boolean|null - * @throws Zend_Acl_Exception - */ - protected function _roleDFSOnePrivilege(Zend_Acl_Role_Interface $role, Zend_Acl_Resource_Interface $resource = null, - $privilege = null) - { - if (null === $privilege) { - /** - * @see Zend_Acl_Exception - */ - require_once 'Zend/Acl/Exception.php'; - throw new Zend_Acl_Exception('$privilege parameter may not be null'); - } - - $dfs = array( - 'visited' => array(), - 'stack' => array() - ); - - if (null !== ($result = $this->_roleDFSVisitOnePrivilege($role, $resource, $privilege, $dfs))) { - return $result; - } - - while (null !== ($role = array_pop($dfs['stack']))) { - if (!isset($dfs['visited'][$role->getRoleId()])) { - if (null !== ($result = $this->_roleDFSVisitOnePrivilege($role, $resource, $privilege, $dfs))) { - return $result; - } - } - } - - return null; - } - - /** - * Visits an $role in order to look for a rule allowing/denying $role access to a $privilege upon $resource - * - * This method returns true if a rule is found and allows access. If a rule exists and denies access, - * then this method returns false. If no applicable rule is found, then this method returns null. - * - * This method is used by the internal depth-first search algorithm and may modify the DFS data structure. - * - * @param Zend_Acl_Role_Interface $role - * @param Zend_Acl_Resource_Interface $resource - * @param string $privilege - * @param array $dfs - * @return boolean|null - * @throws Zend_Acl_Exception - */ - protected function _roleDFSVisitOnePrivilege(Zend_Acl_Role_Interface $role, Zend_Acl_Resource_Interface $resource = null, - $privilege = null, &$dfs = null) - { - if (null === $privilege) { - /** - * @see Zend_Acl_Exception - */ - require_once 'Zend/Acl/Exception.php'; - throw new Zend_Acl_Exception('$privilege parameter may not be null'); - } - - if (null === $dfs) { - /** - * @see Zend_Acl_Exception - */ - require_once 'Zend/Acl/Exception.php'; - throw new Zend_Acl_Exception('$dfs parameter may not be null'); - } - - if (null !== ($ruleTypeOnePrivilege = $this->_getRuleType($resource, $role, $privilege))) { - return self::TYPE_ALLOW === $ruleTypeOnePrivilege; - } else if (null !== ($ruleTypeAllPrivileges = $this->_getRuleType($resource, $role, null))) { - return self::TYPE_ALLOW === $ruleTypeAllPrivileges; - } - - $dfs['visited'][$role->getRoleId()] = true; - foreach ($this->_getRoleRegistry()->getParents($role) as $roleParentId => $roleParent) { - $dfs['stack'][] = $roleParent; - } - - return null; - } - - /** - * Returns the rule type associated with the specified Resource, Role, and privilege - * combination. - * - * If a rule does not exist or its attached assertion fails, which means that - * the rule is not applicable, then this method returns null. Otherwise, the - * rule type applies and is returned as either TYPE_ALLOW or TYPE_DENY. - * - * If $resource or $role is null, then this means that the rule must apply to - * all Resources or Roles, respectively. - * - * If $privilege is null, then the rule must apply to all privileges. - * - * If all three parameters are null, then the default ACL rule type is returned, - * based on whether its assertion method passes. - * - * @param Zend_Acl_Resource_Interface $resource - * @param Zend_Acl_Role_Interface $role - * @param string $privilege - * @return string|null - */ - protected function _getRuleType(Zend_Acl_Resource_Interface $resource = null, Zend_Acl_Role_Interface $role = null, - $privilege = null) - { - // get the rules for the $resource and $role - if (null === ($rules = $this->_getRules($resource, $role))) { - return null; - } - - // follow $privilege - if (null === $privilege) { - if (isset($rules['allPrivileges'])) { - $rule = $rules['allPrivileges']; - } else { - return null; - } - } else if (!isset($rules['byPrivilegeId'][$privilege])) { - return null; - } else { - $rule = $rules['byPrivilegeId'][$privilege]; - } - - // check assertion first - if ($rule['assert']) { - $assertion = $rule['assert']; - $assertionValue = $assertion->assert( - $this, - ($this->_isAllowedRole instanceof Zend_Acl_Role_Interface) ? $this->_isAllowedRole : $role, - ($this->_isAllowedResource instanceof Zend_Acl_Resource_Interface) ? $this->_isAllowedResource : $resource, - $privilege - ); - } - - if (null === $rule['assert'] || $assertionValue) { - return $rule['type']; - } else if (null !== $resource || null !== $role || null !== $privilege) { - return null; - } else if (self::TYPE_ALLOW === $rule['type']) { - return self::TYPE_DENY; - } else { - return self::TYPE_ALLOW; - } - } - - /** - * Returns the rules associated with a Resource and a Role, or null if no such rules exist - * - * If either $resource or $role is null, this means that the rules returned are for all Resources or all Roles, - * respectively. Both can be null to return the default rule set for all Resources and all Roles. - * - * If the $create parameter is true, then a rule set is first created and then returned to the caller. - * - * @param Zend_Acl_Resource_Interface $resource - * @param Zend_Acl_Role_Interface $role - * @param boolean $create - * @return array|null - */ - protected function &_getRules(Zend_Acl_Resource_Interface $resource = null, Zend_Acl_Role_Interface $role = null, - $create = false) - { - // create a reference to null - $null = null; - $nullRef =& $null; - - // follow $resource - do { - if (null === $resource) { - $visitor =& $this->_rules['allResources']; - break; - } - $resourceId = $resource->getResourceId(); - if (!isset($this->_rules['byResourceId'][$resourceId])) { - if (!$create) { - return $nullRef; - } - $this->_rules['byResourceId'][$resourceId] = array(); - } - $visitor =& $this->_rules['byResourceId'][$resourceId]; - } while (false); - - - // follow $role - if (null === $role) { - if (!isset($visitor['allRoles'])) { - if (!$create) { - return $nullRef; - } - $visitor['allRoles']['byPrivilegeId'] = array(); - } - return $visitor['allRoles']; - } - $roleId = $role->getRoleId(); - if (!isset($visitor['byRoleId'][$roleId])) { - if (!$create) { - return $nullRef; - } - $visitor['byRoleId'][$roleId]['byPrivilegeId'] = array(); - } - return $visitor['byRoleId'][$roleId]; - } - - - /** - * @return array of registered roles - * - */ - public function getRegisteredRoles() - { - return $this->_getRoleRegistry()->getRoles(); - } - -} diff --git a/lib/zend/Zend/Acl/Assert/Interface.php b/lib/zend/Zend/Acl/Assert/Interface.php deleted file mode 100644 index 091602938a..0000000000 --- a/lib/zend/Zend/Acl/Assert/Interface.php +++ /dev/null @@ -1,64 +0,0 @@ -_resourceId = (string) $resourceId; - } - - /** - * Defined by Zend_Acl_Resource_Interface; returns the Resource identifier - * - * @return string - */ - public function getResourceId() - { - return $this->_resourceId; - } - -} diff --git a/lib/zend/Zend/Acl/Resource/Interface.php b/lib/zend/Zend/Acl/Resource/Interface.php deleted file mode 100644 index 0ac82c5581..0000000000 --- a/lib/zend/Zend/Acl/Resource/Interface.php +++ /dev/null @@ -1,37 +0,0 @@ -_roleId = (string) $roleId; - } - - /** - * Defined by Zend_Acl_Role_Interface; returns the Role identifier - * - * @return string - */ - public function getRoleId() - { - return $this->_roleId; - } - -} diff --git a/lib/zend/Zend/Acl/Role/Interface.php b/lib/zend/Zend/Acl/Role/Interface.php deleted file mode 100644 index 6ddb42e827..0000000000 --- a/lib/zend/Zend/Acl/Role/Interface.php +++ /dev/null @@ -1,37 +0,0 @@ -getRoleId(); - - if ($this->has($roleId)) { - /** - * @see Zend_Acl_Role_Registry_Exception - */ - require_once 'Zend/Acl/Role/Registry/Exception.php'; - throw new Zend_Acl_Role_Registry_Exception("Role id '$roleId' already exists in the registry"); - } - - $roleParents = array(); - - if (null !== $parents) { - if (!is_array($parents)) { - $parents = array($parents); - } - /** - * @see Zend_Acl_Role_Registry_Exception - */ - require_once 'Zend/Acl/Role/Registry/Exception.php'; - foreach ($parents as $parent) { - try { - if ($parent instanceof Zend_Acl_Role_Interface) { - $roleParentId = $parent->getRoleId(); - } else { - $roleParentId = $parent; - } - $roleParent = $this->get($roleParentId); - } catch (Zend_Acl_Role_Registry_Exception $e) { - throw new Zend_Acl_Role_Registry_Exception("Parent Role id '$roleParentId' does not exist"); - } - $roleParents[$roleParentId] = $roleParent; - $this->_roles[$roleParentId]['children'][$roleId] = $role; - } - } - - $this->_roles[$roleId] = array( - 'instance' => $role, - 'parents' => $roleParents, - 'children' => array() - ); - - return $this; - } - - /** - * Returns the identified Role - * - * The $role parameter can either be a Role or a Role identifier. - * - * @param Zend_Acl_Role_Interface|string $role - * @throws Zend_Acl_Role_Registry_Exception - * @return Zend_Acl_Role_Interface - */ - public function get($role) - { - if ($role instanceof Zend_Acl_Role_Interface) { - $roleId = $role->getRoleId(); - } else { - $roleId = (string) $role; - } - - if (!$this->has($role)) { - /** - * @see Zend_Acl_Role_Registry_Exception - */ - require_once 'Zend/Acl/Role/Registry/Exception.php'; - throw new Zend_Acl_Role_Registry_Exception("Role '$roleId' not found"); - } - - return $this->_roles[$roleId]['instance']; - } - - /** - * Returns true if and only if the Role exists in the registry - * - * The $role parameter can either be a Role or a Role identifier. - * - * @param Zend_Acl_Role_Interface|string $role - * @return boolean - */ - public function has($role) - { - if ($role instanceof Zend_Acl_Role_Interface) { - $roleId = $role->getRoleId(); - } else { - $roleId = (string) $role; - } - - return isset($this->_roles[$roleId]); - } - - /** - * Returns an array of an existing Role's parents - * - * The array keys are the identifiers of the parent Roles, and the values are - * the parent Role instances. The parent Roles are ordered in this array by - * ascending priority. The highest priority parent Role, last in the array, - * corresponds with the parent Role most recently added. - * - * If the Role does not have any parents, then an empty array is returned. - * - * @param Zend_Acl_Role_Interface|string $role - * @uses Zend_Acl_Role_Registry::get() - * @return array - */ - public function getParents($role) - { - $roleId = $this->get($role)->getRoleId(); - - return $this->_roles[$roleId]['parents']; - } - - /** - * Returns true if and only if $role inherits from $inherit - * - * Both parameters may be either a Role or a Role identifier. If - * $onlyParents is true, then $role must inherit directly from - * $inherit in order to return true. By default, this method looks - * through the entire inheritance DAG to determine whether $role - * inherits from $inherit through its ancestor Roles. - * - * @param Zend_Acl_Role_Interface|string $role - * @param Zend_Acl_Role_Interface|string $inherit - * @param boolean $onlyParents - * @throws Zend_Acl_Role_Registry_Exception - * @return boolean - */ - public function inherits($role, $inherit, $onlyParents = false) - { - /** - * @see Zend_Acl_Role_Registry_Exception - */ - require_once 'Zend/Acl/Role/Registry/Exception.php'; - try { - $roleId = $this->get($role)->getRoleId(); - $inheritId = $this->get($inherit)->getRoleId(); - } catch (Zend_Acl_Role_Registry_Exception $e) { - throw $e; - } - - $inherits = isset($this->_roles[$roleId]['parents'][$inheritId]); - - if ($inherits || $onlyParents) { - return $inherits; - } - - foreach ($this->_roles[$roleId]['parents'] as $parentId => $parent) { - if ($this->inherits($parentId, $inheritId)) { - return true; - } - } - - return false; - } - - /** - * Removes the Role from the registry - * - * The $role parameter can either be a Role or a Role identifier. - * - * @param Zend_Acl_Role_Interface|string $role - * @throws Zend_Acl_Role_Registry_Exception - * @return Zend_Acl_Role_Registry Provides a fluent interface - */ - public function remove($role) - { - /** - * @see Zend_Acl_Role_Registry_Exception - */ - require_once 'Zend/Acl/Role/Registry/Exception.php'; - try { - $roleId = $this->get($role)->getRoleId(); - } catch (Zend_Acl_Role_Registry_Exception $e) { - throw $e; - } - - foreach ($this->_roles[$roleId]['children'] as $childId => $child) { - unset($this->_roles[$childId]['parents'][$roleId]); - } - foreach ($this->_roles[$roleId]['parents'] as $parentId => $parent) { - unset($this->_roles[$parentId]['children'][$roleId]); - } - - unset($this->_roles[$roleId]); - - return $this; - } - - /** - * Removes all Roles from the registry - * - * @return Zend_Acl_Role_Registry Provides a fluent interface - */ - public function removeAll() - { - $this->_roles = array(); - - return $this; - } - - public function getRoles() - { - return $this->_roles; - } - -} diff --git a/lib/zend/Zend/Acl/Role/Registry/Exception.php b/lib/zend/Zend/Acl/Role/Registry/Exception.php deleted file mode 100644 index cfa1ef7d44..0000000000 --- a/lib/zend/Zend/Acl/Role/Registry/Exception.php +++ /dev/null @@ -1,36 +0,0 @@ -_environment = (string) $environment; - - require_once 'Zend/Loader/Autoloader.php'; - $this->_autoloader = Zend_Loader_Autoloader::getInstance(); - - if (null !== $options) { - if (is_string($options)) { - $options = $this->_loadConfig($options); - } elseif ($options instanceof Zend_Config) { - $options = $options->toArray(); - } elseif (!is_array($options)) { - throw new Zend_Application_Exception('Invalid options provided; must be location of config file, a config object, or an array'); - } - - $this->setOptions($options); - } - } - - /** - * Retrieve current environment - * - * @return string - */ - public function getEnvironment() - { - return $this->_environment; - } - - /** - * Retrieve autoloader instance - * - * @return Zend_Loader_Autoloader - */ - public function getAutoloader() - { - return $this->_autoloader; - } - - /** - * Set application options - * - * @param array $options - * @throws Zend_Application_Exception When no bootstrap path is provided - * @throws Zend_Application_Exception When invalid bootstrap information are provided - * @return Zend_Application - */ - public function setOptions(array $options) - { - if (!empty($options['config'])) { - $options = $this->mergeOptions($options, $this->_loadConfig($options['config'])); - } - - $this->_options = $options; - - $options = array_change_key_case($options, CASE_LOWER); - - $this->_optionKeys = array_keys($options); - - if (!empty($options['phpsettings'])) { - $this->setPhpSettings($options['phpsettings']); - } - - if (!empty($options['includepaths'])) { - $this->setIncludePaths($options['includepaths']); - } - - if (!empty($options['autoloadernamespaces'])) { - $this->setAutoloaderNamespaces($options['autoloadernamespaces']); - } - - if (!empty($options['autoloaderzfpath'])) { - $autoloader = $this->getAutoloader(); - if (method_exists($autoloader, 'setZfPath')) { - $zfPath = $options['autoloaderzfpath']; - $zfVersion = !empty($options['autoloaderzfversion']) - ? $options['autoloaderzfversion'] - : 'latest'; - $autoloader->setZfPath($zfPath, $zfVersion); - } - } - - if (!empty($options['bootstrap'])) { - $bootstrap = $options['bootstrap']; - - if (is_string($bootstrap)) { - $this->setBootstrap($bootstrap); - } elseif (is_array($bootstrap)) { - if (empty($bootstrap['path'])) { - throw new Zend_Application_Exception('No bootstrap path provided'); - } - - $path = $bootstrap['path']; - $class = null; - - if (!empty($bootstrap['class'])) { - $class = $bootstrap['class']; - } - - $this->setBootstrap($path, $class); - } else { - throw new Zend_Application_Exception('Invalid bootstrap information provided'); - } - } - - return $this; - } - - /** - * Retrieve application options (for caching) - * - * @return array - */ - public function getOptions() - { - return $this->_options; - } - - /** - * Is an option present? - * - * @param string $key - * @return bool - */ - public function hasOption($key) - { - return in_array(strtolower($key), $this->_optionKeys); - } - - /** - * Retrieve a single option - * - * @param string $key - * @return mixed - */ - public function getOption($key) - { - if ($this->hasOption($key)) { - $options = $this->getOptions(); - $options = array_change_key_case($options, CASE_LOWER); - return $options[strtolower($key)]; - } - return null; - } - - /** - * Merge options recursively - * - * @param array $array1 - * @param mixed $array2 - * @return array - */ - public function mergeOptions(array $array1, $array2 = null) - { - if (is_array($array2)) { - foreach ($array2 as $key => $val) { - if (is_array($array2[$key])) { - $array1[$key] = (array_key_exists($key, $array1) && is_array($array1[$key])) - ? $this->mergeOptions($array1[$key], $array2[$key]) - : $array2[$key]; - } else { - $array1[$key] = $val; - } - } - } - return $array1; - } - - /** - * Set PHP configuration settings - * - * @param array $settings - * @param string $prefix Key prefix to prepend to array values (used to map . separated INI values) - * @return Zend_Application - */ - public function setPhpSettings(array $settings, $prefix = '') - { - foreach ($settings as $key => $value) { - $key = empty($prefix) ? $key : $prefix . $key; - if (is_scalar($value)) { - ini_set($key, $value); - } elseif (is_array($value)) { - $this->setPhpSettings($value, $key . '.'); - } - } - - return $this; - } - - /** - * Set include path - * - * @param array $paths - * @return Zend_Application - */ - public function setIncludePaths(array $paths) - { - $path = implode(PATH_SEPARATOR, $paths); - set_include_path($path . PATH_SEPARATOR . get_include_path()); - return $this; - } - - /** - * Set autoloader namespaces - * - * @param array $namespaces - * @return Zend_Application - */ - public function setAutoloaderNamespaces(array $namespaces) - { - $autoloader = $this->getAutoloader(); - - foreach ($namespaces as $namespace) { - $autoloader->registerNamespace($namespace); - } - - return $this; - } - - /** - * Set bootstrap path/class - * - * @param string $path - * @param string $class - * @return Zend_Application - */ - public function setBootstrap($path, $class = null) - { - // setOptions() can potentially send a null value; specify default - // here - if (null === $class) { - $class = 'Bootstrap'; - } - - if (!class_exists($class, false)) { - require_once $path; - if (!class_exists($class, false)) { - throw new Zend_Application_Exception('Bootstrap class not found'); - } - } - $this->_bootstrap = new $class($this); - - if (!$this->_bootstrap instanceof Zend_Application_Bootstrap_Bootstrapper) { - throw new Zend_Application_Exception('Bootstrap class does not implement Zend_Application_Bootstrap_Bootstrapper'); - } - - return $this; - } - - /** - * Get bootstrap object - * - * @return Zend_Application_Bootstrap_BootstrapAbstract - */ - public function getBootstrap() - { - if (null === $this->_bootstrap) { - $this->_bootstrap = new Zend_Application_Bootstrap_Bootstrap($this); - } - return $this->_bootstrap; - } - - /** - * Bootstrap application - * - * @param null|string|array $resource - * @return Zend_Application - */ - public function bootstrap($resource = null) - { - $this->getBootstrap()->bootstrap($resource); - return $this; - } - - /** - * Run the application - * - * @return void - */ - public function run() - { - $this->getBootstrap()->run(); - } - - /** - * Load configuration file of options - * - * @param string $file - * @throws Zend_Application_Exception When invalid configuration file is provided - * @return array - */ - protected function _loadConfig($file) - { - $environment = $this->getEnvironment(); - $suffix = strtolower(pathinfo($file, PATHINFO_EXTENSION)); - - switch ($suffix) { - case 'ini': - $config = new Zend_Config_Ini($file, $environment); - break; - - case 'xml': - $config = new Zend_Config_Xml($file, $environment); - break; - - case 'php': - case 'inc': - $config = include $file; - if (!is_array($config)) { - throw new Zend_Application_Exception('Invalid configuration file provided; PHP file does not return array value'); - } - return $config; - break; - - default: - throw new Zend_Application_Exception('Invalid configuration file provided; unknown config type'); - } - - return $config->toArray(); - } -} diff --git a/lib/zend/Zend/Application/Bootstrap/Bootstrap.php b/lib/zend/Zend/Application/Bootstrap/Bootstrap.php deleted file mode 100644 index 90b0dd605f..0000000000 --- a/lib/zend/Zend/Application/Bootstrap/Bootstrap.php +++ /dev/null @@ -1,79 +0,0 @@ -hasPluginResource('FrontController')) { - $this->registerPluginResource('FrontController'); - } - } - - /** - * Run the application - * - * Checks to see that we have a default controller directory. If not, an - * exception is thrown. - * - * If so, it registers the bootstrap with the 'bootstrap' parameter of - * the front controller, and dispatches the front controller. - * - * @return void - * @throws Zend_Application_Bootstrap_Exception - */ - public function run() - { - $front = $this->getResource('FrontController'); - $default = $front->getDefaultModule(); - if (null === $front->getControllerDirectory($default)) { - throw new Zend_Application_Bootstrap_Exception( - 'No default controller directory registered with front controller' - ); - } - - $front->setParam('bootstrap', $this); - $front->dispatch(); - } -} diff --git a/lib/zend/Zend/Application/Bootstrap/BootstrapAbstract.php b/lib/zend/Zend/Application/Bootstrap/BootstrapAbstract.php deleted file mode 100644 index 04b0bfcb23..0000000000 --- a/lib/zend/Zend/Application/Bootstrap/BootstrapAbstract.php +++ /dev/null @@ -1,764 +0,0 @@ -setApplication($application); - $options = $application->getOptions(); - $this->setOptions($options); - } - - /** - * Set class state - * - * @param array $options - * @return Zend_Application_Bootstrap_BootstrapAbstract - */ - public function setOptions(array $options) - { - $this->_options = $this->mergeOptions($this->_options, $options); - - $options = array_change_key_case($options, CASE_LOWER); - $this->_optionKeys = array_merge($this->_optionKeys, array_keys($options)); - - $methods = get_class_methods($this); - foreach ($methods as $key => $method) { - $methods[$key] = strtolower($method); - } - - if (array_key_exists('pluginpaths', $options)) { - $pluginLoader = $this->getPluginLoader(); - - foreach ($options['pluginpaths'] as $prefix => $path) { - $pluginLoader->addPrefixPath($prefix, $path); - } - unset($options['pluginpaths']); - } - - foreach ($options as $key => $value) { - $method = 'set' . strtolower($key); - - if (in_array($method, $methods)) { - $this->$method($value); - } elseif ('resources' == $key) { - foreach ($value as $resource => $resourceOptions) { - $this->registerPluginResource($resource, $resourceOptions); - } - } - } - return $this; - } - - /** - * Get current options from bootstrap - * - * @return array - */ - public function getOptions() - { - return $this->_options; - } - - /** - * Is an option present? - * - * @param string $key - * @return bool - */ - public function hasOption($key) - { - return in_array($key, $this->_optionKeys); - } - - /** - * Retrieve a single option - * - * @param string $key - * @return mixed - */ - public function getOption($key) - { - if ($this->hasOption($key)) { - $options = $this->getOptions(); - $options = array_change_key_case($options, CASE_LOWER); - return $options[strtolower($key)]; - } - return null; - } - - /** - * Merge options recursively - * - * @param array $array1 - * @param mixed $array2 - * @return array - */ - public function mergeOptions(array $array1, $array2 = null) - { - if (is_array($array2)) { - foreach ($array2 as $key => $val) { - if (is_array($array2[$key])) { - $array1[$key] = (array_key_exists($key, $array1) && is_array($array1[$key])) - ? $this->mergeOptions($array1[$key], $array2[$key]) - : $array2[$key]; - } else { - $array1[$key] = $val; - } - } - } - return $array1; - } - - /** - * Get class resources (as resource/method pairs) - * - * Uses get_class_methods() by default, reflection on prior to 5.2.6, - * as a bug prevents the usage of get_class_methods() there. - * - * @return array - */ - public function getClassResources() - { - if (null === $this->_classResources) { - if (version_compare(PHP_VERSION, '5.2.6') === -1) { - $class = new ReflectionObject($this); - $classMethods = $class->getMethods(); - $methodNames = array(); - - foreach ($classMethods as $method) { - $methodNames[] = $method->getName(); - } - } else { - $methodNames = get_class_methods($this); - } - - $this->_classResources = array(); - foreach ($methodNames as $method) { - if (5 < strlen($method) && '_init' === substr($method, 0, 5)) { - $this->_classResources[strtolower(substr($method, 5))] = $method; - } - } - } - - return $this->_classResources; - } - - /** - * Get class resource names - * - * @return array - */ - public function getClassResourceNames() - { - $resources = $this->getClassResources(); - return array_keys($resources); - } - - /** - * Register a new resource plugin - * - * @param string|Zend_Application_Resource_Resource $resource - * @param mixed $options - * @return Zend_Application_Bootstrap_BootstrapAbstract - * @throws Zend_Application_Bootstrap_Exception When invalid resource is provided - */ - public function registerPluginResource($resource, $options = null) - { - if ($resource instanceof Zend_Application_Resource_Resource) { - $resource->setBootstrap($this); - $pluginName = $this->_resolvePluginResourceName($resource); - $this->_pluginResources[$pluginName] = $resource; - return $this; - } - - if (!is_string($resource)) { - throw new Zend_Application_Bootstrap_Exception('Invalid resource provided to ' . __METHOD__); - } - - $this->_pluginResources[$resource] = $options; - return $this; - } - - /** - * Unregister a resource from the bootstrap - * - * @param string|Zend_Application_Resource_Resource $resource - * @return Zend_Application_Bootstrap_BootstrapAbstract - * @throws Zend_Application_Bootstrap_Exception When unknown resource type is provided - */ - public function unregisterPluginResource($resource) - { - if ($resource instanceof Zend_Application_Resource_Resource) { - if ($index = array_search($resource, $this->_pluginResources, true)) { - unset($this->_pluginResources[$index]); - } - return $this; - } - - if (!is_string($resource)) { - throw new Zend_Application_Bootstrap_Exception('Unknown resource type provided to ' . __METHOD__); - } - - $resource = strtolower($resource); - if (array_key_exists($resource, $this->_pluginResources)) { - unset($this->_pluginResources[$resource]); - } - - return $this; - } - - /** - * Is the requested plugin resource registered? - * - * @param string $resource - * @return bool - */ - public function hasPluginResource($resource) - { - return (null !== $this->getPluginResource($resource)); - } - - /** - * Get a registered plugin resource - * - * @param string $resourceName - * @return Zend_Application_Resource_Resource - */ - public function getPluginResource($resource) - { - if (array_key_exists(strtolower($resource), $this->_pluginResources)) { - $resource = strtolower($resource); - if (!$this->_pluginResources[$resource] instanceof Zend_Application_Resource_Resource) { - $resourceName = $this->_loadPluginResource($resource, $this->_pluginResources[$resource]); - if (!$resourceName) { - throw new Zend_Application_Bootstrap_Exception(sprintf('Unable to resolve plugin "%s"; no corresponding plugin with that name', $resource)); - } - $resource = $resourceName; - } - return $this->_pluginResources[$resource]; - } - - foreach ($this->_pluginResources as $plugin => $spec) { - if ($spec instanceof Zend_Application_Resource_Resource) { - $pluginName = $this->_resolvePluginResourceName($spec); - if (0 === strcasecmp($resource, $pluginName)) { - unset($this->_pluginResources[$plugin]); - $this->_pluginResources[$pluginName] = $spec; - return $spec; - } - continue; - } - - if (false !== $pluginName = $this->_loadPluginResource($plugin, $spec)) { - if (0 === strcasecmp($resource, $pluginName)) { - return $this->_pluginResources[$pluginName]; - } - } - - if (class_exists($plugin)) { - $spec = (array) $spec; - $spec['bootstrap'] = $this; - $instance = new $plugin($spec); - $pluginName = $this->_resolvePluginResourceName($instance); - unset($this->_pluginResources[$plugin]); - $this->_pluginResources[$pluginName] = $instance; - - if (0 === strcasecmp($resource, $pluginName)) { - return $instance; - } - } - } - - return null; - } - - /** - * Retrieve all plugin resources - * - * @return array - */ - public function getPluginResources() - { - foreach (array_keys($this->_pluginResources) as $resource) { - $this->getPluginResource($resource); - } - return $this->_pluginResources; - } - - /** - * Retrieve plugin resource names - * - * @return array - */ - public function getPluginResourceNames() - { - $this->getPluginResources(); - return array_keys($this->_pluginResources); - } - - /** - * Set plugin loader for loading resources - * - * @param Zend_Loader_PluginLoader_Interface $loader - * @return Zend_Application_Bootstrap_BootstrapAbstract - */ - public function setPluginLoader(Zend_Loader_PluginLoader_Interface $loader) - { - $this->_pluginLoader = $loader; - return $this; - } - - /** - * Get the plugin loader for resources - * - * @return Zend_Loader_PluginLoader_Interface - */ - public function getPluginLoader() - { - if ($this->_pluginLoader === null) { - $options = array( - 'Zend_Application_Resource' => 'Zend/Application/Resource' - ); - - $this->_pluginLoader = new Zend_Loader_PluginLoader($options); - } - - return $this->_pluginLoader; - } - - /** - * Set application/parent bootstrap - * - * @param Zend_Application|Zend_Application_Bootstrap_Bootstrapper $application - * @return Zend_Application_Bootstrap_BootstrapAbstract - */ - public function setApplication($application) - { - if (($application instanceof Zend_Application) - || ($application instanceof Zend_Application_Bootstrap_Bootstrapper) - ) { - $this->_application = $application; - } else { - throw new Zend_Application_Bootstrap_Exception('Invalid application provided to bootstrap constructor (received "' . get_class($application) . '" instance)'); - } - return $this; - } - - /** - * Retrieve parent application instance - * - * @return Zend_Application|Zend_Application_Bootstrap_Bootstrapper - */ - public function getApplication() - { - return $this->_application; - } - - /** - * Retrieve application environment - * - * @return string - */ - public function getEnvironment() - { - if (null === $this->_environment) { - $this->_environment = $this->getApplication()->getEnvironment(); - } - return $this->_environment; - } - - /** - * Set resource container - * - * By default, if a resource callback has a non-null return value, this - * value will be stored in a container using the resource name as the - * key. - * - * Containers must be objects, and must allow setting public properties. - * - * @param object $container - * @return Zend_Application_Bootstrap_BootstrapAbstract - */ - public function setContainer($container) - { - if (!is_object($container)) { - throw new Zend_Application_Bootstrap_Exception('Resource containers must be objects'); - } - $this->_container = $container; - return $this; - } - - /** - * Retrieve resource container - * - * @return object - */ - public function getContainer() - { - if (null === $this->_container) { - $this->setContainer(new Zend_Registry()); - } - return $this->_container; - } - - /** - * Determine if a resource has been stored in the container - * - * During bootstrap resource initialization, you may return a value. If - * you do, it will be stored in the {@link setContainer() container}. - * You can use this method to determine if a value was stored. - * - * @param string $name - * @return bool - */ - public function hasResource($name) - { - $resource = strtolower($name); - $container = $this->getContainer(); - return isset($container->{$resource}); - } - - /** - * Retrieve a resource from the container - * - * During bootstrap resource initialization, you may return a value. If - * you do, it will be stored in the {@link setContainer() container}. - * You can use this method to retrieve that value. - * - * If no value was returned, this will return a null value. - * - * @param string $name - * @return null|mixed - */ - public function getResource($name) - { - $resource = strtolower($name); - $container = $this->getContainer(); - if ($this->hasResource($resource)) { - return $container->{$resource}; - } - return null; - } - - /** - * Implement PHP's magic to retrieve a ressource - * in the bootstrap - * - * @param string $prop - * @return null|mixed - */ - public function __get($prop) - { - return $this->getResource($prop); - } - - /** - * Implement PHP's magic to ask for the - * existence of a ressource in the bootstrap - * - * @param string $prop - * @return bool - */ - public function __isset($prop) - { - return $this->hasResource($prop); - } - - /** - * Bootstrap individual, all, or multiple resources - * - * Marked as final to prevent issues when subclassing and naming the - * child class 'Bootstrap' (in which case, overriding this method - * would result in it being treated as a constructor). - * - * If you need to override this functionality, override the - * {@link _bootstrap()} method. - * - * @param null|string|array $resource - * @return Zend_Application_Bootstrap_BootstrapAbstract - * @throws Zend_Application_Bootstrap_Exception When invalid argument was passed - */ - final public function bootstrap($resource = null) - { - $this->_bootstrap($resource); - return $this; - } - - /** - * Overloading: intercept calls to bootstrap() methods - * - * @param string $method - * @param array $args - * @return void - * @throws Zend_Application_Bootstrap_Exception On invalid method name - */ - public function __call($method, $args) - { - if (9 < strlen($method) && 'bootstrap' === substr($method, 0, 9)) { - $resource = substr($method, 9); - return $this->bootstrap($resource); - } - - throw new Zend_Application_Bootstrap_Exception('Invalid method "' . $method . '"'); - } - - /** - * Bootstrap implementation - * - * This method may be overridden to provide custom bootstrapping logic. - * It is the sole method called by {@link bootstrap()}. - * - * @param null|string|array $resource - * @return void - * @throws Zend_Application_Bootstrap_Exception When invalid argument was passed - */ - protected function _bootstrap($resource = null) - { - if (null === $resource) { - foreach ($this->getClassResourceNames() as $resource) { - $this->_executeResource($resource); - } - - foreach ($this->getPluginResourceNames() as $resource) { - $this->_executeResource($resource); - } - } elseif (is_string($resource)) { - $this->_executeResource($resource); - } elseif (is_array($resource)) { - foreach ($resource as $r) { - $this->_executeResource($r); - } - } else { - throw new Zend_Application_Bootstrap_Exception('Invalid argument passed to ' . __METHOD__); - } - } - - /** - * Execute a resource - * - * Checks to see if the resource has already been run. If not, it searches - * first to see if a local method matches the resource, and executes that. - * If not, it checks to see if a plugin resource matches, and executes that - * if found. - * - * Finally, if not found, it throws an exception. - * - * @param string $resource - * @return void - * @throws Zend_Application_Bootstrap_Exception When resource not found - */ - protected function _executeResource($resource) - { - $resourceName = strtolower($resource); - - if (in_array($resourceName, $this->_run)) { - return; - } - - if (isset($this->_started[$resourceName]) && $this->_started[$resourceName]) { - throw new Zend_Application_Bootstrap_Exception('Circular resource dependency detected'); - } - - $classResources = $this->getClassResources(); - if (array_key_exists($resourceName, $classResources)) { - $this->_started[$resourceName] = true; - $method = $classResources[$resourceName]; - $return = $this->$method(); - unset($this->_started[$resourceName]); - $this->_markRun($resourceName); - - if (null !== $return) { - $this->getContainer()->{$resourceName} = $return; - } - - return; - } - - if ($this->hasPluginResource($resource)) { - $this->_started[$resourceName] = true; - $plugin = $this->getPluginResource($resource); - $return = $plugin->init(); - unset($this->_started[$resourceName]); - $this->_markRun($resourceName); - - if (null !== $return) { - $this->getContainer()->{$resourceName} = $return; - } - - return; - } - - throw new Zend_Application_Bootstrap_Exception('Resource matching "' . $resource . '" not found'); - } - - /** - * Load a plugin resource - * - * @param string $resource - * @param array|object|null $options - * @return string|false - */ - protected function _loadPluginResource($resource, $options) - { - $options = (array) $options; - $options['bootstrap'] = $this; - $className = $this->getPluginLoader()->load(strtolower($resource), false); - - if (!$className) { - return false; - } - - $instance = new $className($options); - - unset($this->_pluginResources[$resource]); - - if (isset($instance->_explicitType)) { - $resource = $instance->_explicitType; - } - $resource = strtolower($resource); - $this->_pluginResources[$resource] = $instance; - - return $resource; - } - - /** - * Mark a resource as having run - * - * @param string $resource - * @return void - */ - protected function _markRun($resource) - { - if (!in_array($resource, $this->_run)) { - $this->_run[] = $resource; - } - } - - /** - * Resolve a plugin resource name - * - * Uses, in order of preference - * - $_explicitType property of resource - * - Short name of resource (if a matching prefix path is found) - * - class name (if none of the above are true) - * - * The name is then cast to lowercase. - * - * @param Zend_Application_Resource_Resource $resource - * @return string - */ - protected function _resolvePluginResourceName($resource) - { - if (isset($resource->_explicitType)) { - $pluginName = $resource->_explicitType; - } else { - $className = get_class($resource); - $pluginName = $className; - $loader = $this->getPluginLoader(); - foreach ($loader->getPaths() as $prefix => $paths) { - if (0 === strpos($className, $prefix)) { - $pluginName = substr($className, strlen($prefix)); - $pluginName = trim($pluginName, '_'); - } - } - } - $pluginName = strtolower($pluginName); - return $pluginName; - } -} diff --git a/lib/zend/Zend/Application/Bootstrap/Bootstrapper.php b/lib/zend/Zend/Application/Bootstrap/Bootstrapper.php deleted file mode 100644 index 56c422081b..0000000000 --- a/lib/zend/Zend/Application/Bootstrap/Bootstrapper.php +++ /dev/null @@ -1,94 +0,0 @@ -initDefaultResourceTypes(); - } - - /** - * Initialize default resource types for module resource classes - * - * @return void - */ - public function initDefaultResourceTypes() - { - $basePath = $this->getBasePath(); - $this->addResourceTypes(array( - 'dbtable' => array( - 'namespace' => 'Model_DbTable', - 'path' => 'models/DbTable', - ), - 'form' => array( - 'namespace' => 'Form', - 'path' => 'forms', - ), - 'model' => array( - 'namespace' => 'Model', - 'path' => 'models', - ), - 'plugin' => array( - 'namespace' => 'Plugin', - 'path' => 'plugins', - ), - 'service' => array( - 'namespace' => 'Service', - 'path' => 'services', - ), - 'viewhelper' => array( - 'namespace' => 'View_Helper', - 'path' => 'views/helpers', - ), - 'viewfilter' => array( - 'namespace' => 'View_Filter', - 'path' => 'views/filters', - ), - )); - $this->setDefaultResourceType('model'); - } -} diff --git a/lib/zend/Zend/Application/Module/Bootstrap.php b/lib/zend/Zend/Application/Module/Bootstrap.php deleted file mode 100644 index 2ac27b950b..0000000000 --- a/lib/zend/Zend/Application/Module/Bootstrap.php +++ /dev/null @@ -1,143 +0,0 @@ -setApplication($application); - - // Use same plugin loader as parent bootstrap - if ($application instanceof Zend_Application_Bootstrap_ResourceBootstrapper) { - $this->setPluginLoader($application->getPluginLoader()); - } - - $key = strtolower($this->getModuleName()); - if ($application->hasOption($key)) { - // Don't run via setOptions() to prevent duplicate initialization - $this->setOptions($application->getOption($key)); - } - - if ($application->hasOption('resourceloader')) { - $this->setOptions(array( - 'resourceloader' => $application->getOption('resourceloader') - )); - } - $this->initResourceLoader(); - - // ZF-6545: ensure front controller resource is loaded - if (!$this->hasPluginResource('FrontController')) { - $this->registerPluginResource('FrontController'); - } - - // ZF-6545: prevent recursive registration of modules - if ($this->hasPluginResource('modules')) { - $this->unregisterPluginResource('modules'); - } - } - - /** - * Set module resource loader - * - * @param Zend_Loader_Autoloader_Resource $loader - * @return Zend_Application_Module_Bootstrap - */ - public function setResourceLoader(Zend_Loader_Autoloader_Resource $loader) - { - $this->_resourceLoader = $loader; - return $this; - } - - /** - * Retrieve module resource loader - * - * @return Zend_Loader_Autoloader_Resource - */ - public function getResourceLoader() - { - if (null === $this->_resourceLoader) { - $r = new ReflectionClass($this); - $path = $r->getFileName(); - $this->setResourceLoader(new Zend_Application_Module_Autoloader(array( - 'namespace' => $this->getModuleName(), - 'basePath' => dirname($path), - ))); - } - return $this->_resourceLoader; - } - - /** - * Ensure resource loader is loaded - * - * @return void - */ - public function initResourceLoader() - { - $this->getResourceLoader(); - } - - /** - * Retrieve module name - * - * @return string - */ - public function getModuleName() - { - if (empty($this->_moduleName)) { - $class = get_class($this); - if (preg_match('/^([a-z][a-z0-9]*)_/i', $class, $matches)) { - $prefix = $matches[1]; - } else { - $prefix = $class; - } - $this->_moduleName = $prefix; - } - return $this->_moduleName; - } -} diff --git a/lib/zend/Zend/Application/Resource/Db.php b/lib/zend/Zend/Application/Resource/Db.php deleted file mode 100644 index 9009a1a0e5..0000000000 --- a/lib/zend/Zend/Application/Resource/Db.php +++ /dev/null @@ -1,156 +0,0 @@ -_adapter = $adapter; - return $this; - } - - /** - * Adapter type to use - * - * @return string - */ - public function getAdapter() - { - return $this->_adapter; - } - - /** - * Set the adapter params - * - * @param $adapter string - * @return Zend_Application_Resource_Db - */ - public function setParams(array $params) - { - $this->_params = $params; - return $this; - } - - /** - * Adapter parameters - * - * @return array - */ - public function getParams() - { - return $this->_params; - } - - /** - * Set whether to use this as default table adapter - * - * @param boolean $defaultTableAdapter - * @return Zend_Application_Resource_Db - */ - public function setIsDefaultTableAdapter($isDefaultTableAdapter) - { - $this->_isDefaultTableAdapter = $isDefaultTableAdapter; - return $this; - } - - /** - * Is this adapter the default table adapter? - * - * @return void - */ - public function isDefaultTableAdapter() - { - return $this->_isDefaultTableAdapter; - } - - /** - * Retrieve initialized DB connection - * - * @return null|Zend_Db_Adapter_Interface - */ - public function getDbAdapter() - { - if ((null === $this->_db) - && (null !== ($adapter = $this->getAdapter())) - ) { - $this->_db = Zend_Db::factory($adapter, $this->getParams()); - } - return $this->_db; - } - - /** - * Defined by Zend_Application_Resource_Resource - * - * @return Zend_Db_Adapter_Abstract|null - */ - public function init() - { - if (null !== ($db = $this->getDbAdapter())) { - if ($this->isDefaultTableAdapter()) { - Zend_Db_Table::setDefaultAdapter($db); - } - return $db; - } - } -} diff --git a/lib/zend/Zend/Application/Resource/Exception.php b/lib/zend/Zend/Application/Resource/Exception.php deleted file mode 100644 index ca07290a77..0000000000 --- a/lib/zend/Zend/Application/Resource/Exception.php +++ /dev/null @@ -1,35 +0,0 @@ -getFrontController(); - - foreach ($this->getOptions() as $key => $value) { - switch (strtolower($key)) { - case 'controllerdirectory': - if (is_string($value)) { - $front->setControllerDirectory($value); - } elseif (is_array($value)) { - foreach ($value as $module => $directory) { - $front->addControllerDirectory($directory, $module); - } - } - break; - - case 'modulecontrollerdirectoryname': - $front->setModuleControllerDirectoryName($value); - break; - - case 'moduledirectory': - $front->addModuleDirectory($value); - break; - - case 'defaultcontrollername': - $front->setDefaultControllerName($value); - break; - - case 'defaultaction': - $front->setDefaultAction($value); - break; - - case 'defaultmodule': - $front->setDefaultModule($value); - break; - - case 'baseurl': - if (!empty($value)) { - $front->setBaseUrl($value); - } - break; - - case 'params': - $front->setParams($value); - break; - - case 'plugins': - foreach ((array) $value as $pluginClass) { - $plugin = new $pluginClass(); - $front->registerPlugin($plugin); - } - break; - - case 'throwexceptions': - $front->throwExceptions((bool) $value); - break; - - case 'actionhelperpaths': - if (is_array($value)) { - foreach ($value as $helperPrefix => $helperPath) { - Zend_Controller_Action_HelperBroker::addPath($helperPath, $helperPrefix); - } - } - break; - - default: - $front->setParam($key, $value); - break; - } - } - - if (null !== ($bootstrap = $this->getBootstrap())) { - $this->getBootstrap()->frontController = $front; - } - - return $front; - } - - /** - * Retrieve front controller instance - * - * @return Zend_Controller_Front - */ - public function getFrontController() - { - if (null === $this->_front) { - $this->_front = Zend_Controller_Front::getInstance(); - } - return $this->_front; - } -} diff --git a/lib/zend/Zend/Application/Resource/Layout.php b/lib/zend/Zend/Application/Resource/Layout.php deleted file mode 100644 index ce5ff10129..0000000000 --- a/lib/zend/Zend/Application/Resource/Layout.php +++ /dev/null @@ -1,64 +0,0 @@ -getBootstrap()->bootstrap('FrontController'); - return $this->getLayout(); - } - - /** - * Retrieve layout object - * - * @return Zend_Layout - */ - public function getLayout() - { - if (null === $this->_layout) { - $this->_layout = Zend_Layout::startMvc($this->getOptions()); - } - return $this->_layout; - } -} diff --git a/lib/zend/Zend/Application/Resource/Locale.php b/lib/zend/Zend/Application/Resource/Locale.php deleted file mode 100644 index 1f6679eb00..0000000000 --- a/lib/zend/Zend/Application/Resource/Locale.php +++ /dev/null @@ -1,77 +0,0 @@ -getLocale(); - } - - - /** - * Retrieve locale object - * - * @return Zend_Locale - */ - public function getLocale() - { - if (null === $this->_locale) { - $options = $this->getOptions(); - if (!isset($options['default'])) { - $this->_locale = new Zend_Locale(); - } else { - Zend_Locale::setDefault($options['default']); - $this->_locale = new Zend_Locale($options['default']); - } - - $key = (isset($options['registry_key']) && !is_numeric($options['registry_key'])) - ? $options['registry_key'] - : self::DEFAULT_REGISTRY_KEY; - Zend_Registry::set($key, $this->_locale); - } - return $this->_locale; - } -} diff --git a/lib/zend/Zend/Application/Resource/Modules.php b/lib/zend/Zend/Application/Resource/Modules.php deleted file mode 100644 index f6e4b9426d..0000000000 --- a/lib/zend/Zend/Application/Resource/Modules.php +++ /dev/null @@ -1,132 +0,0 @@ -_bootstraps = new ArrayObject(array(), ArrayObject::ARRAY_AS_PROPS); - parent::__construct($options); - } - - /** - * Initialize modules - * - * @return array - * @throws Zend_Application_Resource_Exception When bootstrap class was not found - */ - public function init() - { - $bootstrap = $this->getBootstrap(); - $bootstrap->bootstrap('FrontController'); - $front = $bootstrap->getResource('FrontController'); - - $modules = $front->getControllerDirectory(); - $default = $front->getDefaultModule(); - $curBootstrapClass = get_class($bootstrap); - foreach ($modules as $module => $moduleDirectory) { - $bootstrapClass = $this->_formatModuleName($module) . '_Bootstrap'; - if (!class_exists($bootstrapClass, false)) { - $bootstrapPath = dirname($moduleDirectory) . '/Bootstrap.php'; - if (file_exists($bootstrapPath)) { - $eMsgTpl = 'Bootstrap file found for module "%s" but bootstrap class "%s" not found'; - include_once $bootstrapPath; - if (($default != $module) - && !class_exists($bootstrapClass, false) - ) { - throw new Zend_Application_Resource_Exception(sprintf( - $eMsgTpl, $module, $bootstrapClass - )); - } elseif ($default == $module) { - if (!class_exists($bootstrapClass, false)) { - $bootstrapClass = 'Bootstrap'; - if (!class_exists($bootstrapClass, false)) { - throw new Zend_Application_Resource_Exception(sprintf( - $eMsgTpl, $module, $bootstrapClass - )); - } - } - } - } else { - continue; - } - } - - if ($bootstrapClass == $curBootstrapClass) { - // If the found bootstrap class matches the one calling this - // resource, don't re-execute. - continue; - } - - $moduleBootstrap = new $bootstrapClass($bootstrap); - $moduleBootstrap->bootstrap(); - $this->_bootstraps[$module] = $moduleBootstrap; - } - - return $this->_bootstraps; - } - - /** - * Get bootstraps that have been run - * - * @return ArrayObject - */ - public function getExecutedBootstraps() - { - return $this->_bootstraps; - } - - /** - * Format a module name to the module class prefix - * - * @param string $name - * @return string - */ - protected function _formatModuleName($name) - { - $name = strtolower($name); - $name = str_replace(array('-', '.'), ' ', $name); - $name = ucwords($name); - $name = str_replace(' ', '', $name); - return $name; - } -} diff --git a/lib/zend/Zend/Application/Resource/Navigation.php b/lib/zend/Zend/Application/Resource/Navigation.php deleted file mode 100644 index 8213b34169..0000000000 --- a/lib/zend/Zend/Application/Resource/Navigation.php +++ /dev/null @@ -1,118 +0,0 @@ -_container) { - $options = $this->getOptions(); - $pages = isset($options['pages']) ? $options['pages'] : array(); - $this->_container = new Zend_Navigation($pages); - } - - $this->store(); - return $this->_container; - } - - /** - * Stores navigation container in registry or Navigation view helper - * - * @return void - */ - public function store() - { - $options = $this->getOptions(); - if (isset($options['storage']['registry']) && - $options['storage']['registry'] == true) { - $this->_storeRegistry(); - } else { - $this->_storeHelper(); - } - } - - /** - * Stores navigation container in the registry - * - * @return void - */ - protected function _storeRegistry() - { - $options = $this->getOptions(); - if(isset($options['storage']) && - isset($options['storage']['registry']) && - isset($options['storage']['registry']['key'])) - { - $key = $options['storage']['registry']['key']; - } else { - $key = self::DEFAULT_REGISTRY_KEY; - } - - Zend_Registry::set($key,$this->getContainer()); - } - - /** - * Stores navigation container in the Navigation helper - * - * @return void - */ - protected function _storeHelper() - { - $this->getBootstrap()->bootstrap('view'); - $view = $this->getBootstrap()->view; - $view->getHelper('navigation')->navigation($this->getContainer()); - } - - /** - * Returns navigation container - * - * @return Zend_Navigation - */ - public function getContainer() - { - return $this->_container; - } -} diff --git a/lib/zend/Zend/Application/Resource/Resource.php b/lib/zend/Zend/Application/Resource/Resource.php deleted file mode 100644 index cc6bab566b..0000000000 --- a/lib/zend/Zend/Application/Resource/Resource.php +++ /dev/null @@ -1,80 +0,0 @@ -setOptions($options); - } else if ($options instanceof Zend_Config) { - $this->setOptions($options->toArray()); - } - } - - /** - * Set options from array - * - * @param array $options Configuration for resource - * @return Zend_Application_Resource_ResourceAbstract - */ - public function setOptions(array $options) - { - foreach ($options as $key => $value) { - if (in_array(strtolower($key), $this->_skipOptions)) { - continue; - } - - $method = 'set' . strtolower($key); - if (method_exists($this, $method)) { - $this->$method($value); - } - if ('bootstrap' == $key) { - unset($options[$key]); - } - } - - $this->_options = $this->mergeOptions($this->_options, $options); - - return $this; - } - - /** - * Retrieve resource options - * - * @return array - */ - public function getOptions() - { - return $this->_options; - } - - /** - * Merge options recursively - * - * @param array $array1 - * @param mixed $array2 - * @return array - */ - public function mergeOptions(array $array1, $array2 = null) - { - if (is_array($array2)) { - foreach ($array2 as $key => $val) { - if (is_array($array2[$key])) { - $array1[$key] = (array_key_exists($key, $array1) && is_array($array1[$key])) - ? $this->mergeOptions($array1[$key], $array2[$key]) - : $array2[$key]; - } else { - $array1[$key] = $val; - } - } - } - return $array1; - } - - /** - * Set the bootstrap to which the resource is attached - * - * @param Zend_Application_Bootstrap_Bootstrapper $bootstrap - * @return Zend_Application_Resource_Resource - */ - public function setBootstrap(Zend_Application_Bootstrap_Bootstrapper $bootstrap) - { - $this->_bootstrap = $bootstrap; - return $this; - } - - /** - * Retrieve the bootstrap to which the resource is attached - * - * @return null|Zend_Application_Bootstrap_Bootstrapper - */ - public function getBootstrap() - { - return $this->_bootstrap; - } -} diff --git a/lib/zend/Zend/Application/Resource/Router.php b/lib/zend/Zend/Application/Resource/Router.php deleted file mode 100644 index 5887ee8915..0000000000 --- a/lib/zend/Zend/Application/Resource/Router.php +++ /dev/null @@ -1,78 +0,0 @@ -getRouter(); - } - - /** - * Retrieve router object - * - * @return Zend_Controller_Router_Rewrite - */ - public function getRouter() - { - if (null === $this->_router) { - $bootstrap = $this->getBootstrap(); - $bootstrap->bootstrap('FrontController'); - $this->_router = $bootstrap->getContainer()->frontcontroller->getRouter(); - - $options = $this->getOptions(); - if (!isset($options['routes'])) { - $options['routes'] = array(); - } - - - if (isset($options['chainNameSeparator'])) { - $this->_router->setChainNameSeparator($options['chainNameSeparator']); - } - - - $this->_router->addConfig(new Zend_Config($options['routes'])); - } - return $this->_router; - } -} diff --git a/lib/zend/Zend/Application/Resource/Session.php b/lib/zend/Zend/Application/Resource/Session.php deleted file mode 100644 index 89fbcdc74d..0000000000 --- a/lib/zend/Zend/Application/Resource/Session.php +++ /dev/null @@ -1,112 +0,0 @@ -_saveHandler = $saveHandler; - return $this; - } - - /** - * Get session save handler - * - * @return Zend_Session_SaveHandler_Interface - */ - public function getSaveHandler() - { - if (!$this->_saveHandler instanceof Zend_Session_SaveHandler_Interface) { - if (is_array($this->_saveHandler)) { - if (!array_key_exists('class', $this->_saveHandler)) { - throw new Zend_Application_Resource_Exception('Session save handler class not provided in options'); - } - $options = array(); - if (array_key_exists('options', $this->_saveHandler)) { - $options = $this->_saveHandler['options']; - } - $this->_saveHandler = $this->_saveHandler['class']; - $this->_saveHandler = new $this->_saveHandler($options); - } elseif (is_string($this->_saveHandler)) { - $this->_saveHandler = new $this->_saveHandler(); - } - - if (!$this->_saveHandler instanceof Zend_Session_SaveHandler_Interface) { - throw new Zend_Application_Resource_Exception('Invalid session save handler'); - } - } - return $this->_saveHandler; - } - - /** - * @return bool - */ - protected function _hasSaveHandler() - { - return ($this->_saveHandler !== null); - } - - /** - * Defined by Zend_Application_Resource_Resource - * - * @return void - */ - public function init() - { - $options = array_change_key_case($this->getOptions(), CASE_LOWER); - if (isset($options['savehandler'])) { - unset($options['savehandler']); - } - - if (count($options) > 0) { - Zend_Session::setOptions($options); - } - - if ($this->_hasSaveHandler()) { - Zend_Session::setSaveHandler($this->getSaveHandler()); - } - } -} diff --git a/lib/zend/Zend/Application/Resource/Translate.php b/lib/zend/Zend/Application/Resource/Translate.php deleted file mode 100644 index ec42d04bdd..0000000000 --- a/lib/zend/Zend/Application/Resource/Translate.php +++ /dev/null @@ -1,83 +0,0 @@ -getTranslate(); - } - - /** - * Retrieve translate object - * - * @return Zend_Translate - */ - public function getTranslate() - { - if (null === $this->_translate) { - $options = $this->getOptions(); - - if (!isset($options['data'])) { - throw new Zend_Application_Resource_Exception('No translation source data provided.'); - } - - $adapter = isset($options['adapter']) ? $options['adapter'] : Zend_Translate::AN_ARRAY; - $locale = isset($options['locale']) ? $options['locale'] : null; - $translateOptions = isset($options['options']) ? $options['options'] : array(); - - $this->_translate = new Zend_Translate( - $adapter, $options['data'], $locale, $translateOptions - ); - - $key = (isset($options['registry_key']) && !is_numeric($options['registry_key'])) - ? $options['registry_key'] - : self::DEFAULT_REGISTRY_KEY; - - Zend_Registry::set($key, $this->_translate); - } - - return $this->_translate; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Application/Resource/View.php b/lib/zend/Zend/Application/Resource/View.php deleted file mode 100644 index 367ab8a485..0000000000 --- a/lib/zend/Zend/Application/Resource/View.php +++ /dev/null @@ -1,67 +0,0 @@ -getView(); - - $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer(); - $viewRenderer->setView($view); - Zend_Controller_Action_HelperBroker::addHelper($viewRenderer); - return $view; - } - - /** - * Retrieve view object - * - * @return Zend_View - */ - public function getView() - { - if (null === $this->_view) { - $this->_view = new Zend_View($this->getOptions()); - } - return $this->_view; - } -} diff --git a/lib/zend/Zend/Auth.php b/lib/zend/Zend/Auth.php deleted file mode 100644 index 7fbd5bfa16..0000000000 --- a/lib/zend/Zend/Auth.php +++ /dev/null @@ -1,169 +0,0 @@ -_storage) { - /** - * @see Zend_Auth_Storage_Session - */ - require_once 'Zend/Auth/Storage/Session.php'; - $this->setStorage(new Zend_Auth_Storage_Session()); - } - - return $this->_storage; - } - - /** - * Sets the persistent storage handler - * - * @param Zend_Auth_Storage_Interface $storage - * @return Zend_Auth Provides a fluent interface - */ - public function setStorage(Zend_Auth_Storage_Interface $storage) - { - $this->_storage = $storage; - return $this; - } - - /** - * Authenticates against the supplied adapter - * - * @param Zend_Auth_Adapter_Interface $adapter - * @return Zend_Auth_Result - */ - public function authenticate(Zend_Auth_Adapter_Interface $adapter) - { - $result = $adapter->authenticate(); - - /** - * ZF-7546 - prevent multiple succesive calls from storing inconsistent results - * Ensure storage has clean state - */ - if ($this->hasIdentity()) { - $this->clearIdentity(); - } - - if ($result->isValid()) { - $this->getStorage()->write($result->getIdentity()); - } - - return $result; - } - - /** - * Returns true if and only if an identity is available from storage - * - * @return boolean - */ - public function hasIdentity() - { - return !$this->getStorage()->isEmpty(); - } - - /** - * Returns the identity from storage or null if no identity is available - * - * @return mixed|null - */ - public function getIdentity() - { - $storage = $this->getStorage(); - - if ($storage->isEmpty()) { - return null; - } - - return $storage->read(); - } - - /** - * Clears the identity from persistent storage - * - * @return void - */ - public function clearIdentity() - { - $this->getStorage()->clear(); - } -} diff --git a/lib/zend/Zend/Auth/Adapter/DbTable.php b/lib/zend/Zend/Auth/Adapter/DbTable.php deleted file mode 100644 index e50bdd0e4b..0000000000 --- a/lib/zend/Zend/Auth/Adapter/DbTable.php +++ /dev/null @@ -1,484 +0,0 @@ -_zendDb = $zendDb; - - if (null !== $tableName) { - $this->setTableName($tableName); - } - - if (null !== $identityColumn) { - $this->setIdentityColumn($identityColumn); - } - - if (null !== $credentialColumn) { - $this->setCredentialColumn($credentialColumn); - } - - if (null !== $credentialTreatment) { - $this->setCredentialTreatment($credentialTreatment); - } - } - - /** - * setTableName() - set the table name to be used in the select query - * - * @param string $tableName - * @return Zend_Auth_Adapter_DbTable Provides a fluent interface - */ - public function setTableName($tableName) - { - $this->_tableName = $tableName; - return $this; - } - - /** - * setIdentityColumn() - set the column name to be used as the identity column - * - * @param string $identityColumn - * @return Zend_Auth_Adapter_DbTable Provides a fluent interface - */ - public function setIdentityColumn($identityColumn) - { - $this->_identityColumn = $identityColumn; - return $this; - } - - /** - * setCredentialColumn() - set the column name to be used as the credential column - * - * @param string $credentialColumn - * @return Zend_Auth_Adapter_DbTable Provides a fluent interface - */ - public function setCredentialColumn($credentialColumn) - { - $this->_credentialColumn = $credentialColumn; - return $this; - } - - /** - * setCredentialTreatment() - allows the developer to pass a parameterized string that is - * used to transform or treat the input credential data - * - * In many cases, passwords and other sensitive data are encrypted, hashed, encoded, - * obscured, or otherwise treated through some function or algorithm. By specifying a - * parameterized treatment string with this method, a developer may apply arbitrary SQL - * upon input credential data. - * - * Examples: - * - * 'PASSWORD(?)' - * 'MD5(?)' - * - * @param string $treatment - * @return Zend_Auth_Adapter_DbTable Provides a fluent interface - */ - public function setCredentialTreatment($treatment) - { - $this->_credentialTreatment = $treatment; - return $this; - } - - /** - * setIdentity() - set the value to be used as the identity - * - * @param string $value - * @return Zend_Auth_Adapter_DbTable Provides a fluent interface - */ - public function setIdentity($value) - { - $this->_identity = $value; - return $this; - } - - /** - * setCredential() - set the credential value to be used, optionally can specify a treatment - * to be used, should be supplied in parameterized form, such as 'MD5(?)' or 'PASSWORD(?)' - * - * @param string $credential - * @return Zend_Auth_Adapter_DbTable Provides a fluent interface - */ - public function setCredential($credential) - { - $this->_credential = $credential; - return $this; - } - - /** - * getDbSelect() - Return the preauthentication Db Select object for userland select query modification - * - * @return Zend_Db_Select - */ - public function getDbSelect() - { - if ($this->_dbSelect == null) { - $this->_dbSelect = $this->_zendDb->select(); - } - - return $this->_dbSelect; - } - - /** - * getResultRowObject() - Returns the result row as a stdClass object - * - * @param string|array $returnColumns - * @param string|array $omitColumns - * @return stdClass|boolean - */ - public function getResultRowObject($returnColumns = null, $omitColumns = null) - { - if (!$this->_resultRow) { - return false; - } - - $returnObject = new stdClass(); - - if (null !== $returnColumns) { - - $availableColumns = array_keys($this->_resultRow); - foreach ( (array) $returnColumns as $returnColumn) { - if (in_array($returnColumn, $availableColumns)) { - $returnObject->{$returnColumn} = $this->_resultRow[$returnColumn]; - } - } - return $returnObject; - - } elseif (null !== $omitColumns) { - - $omitColumns = (array) $omitColumns; - foreach ($this->_resultRow as $resultColumn => $resultValue) { - if (!in_array($resultColumn, $omitColumns)) { - $returnObject->{$resultColumn} = $resultValue; - } - } - return $returnObject; - - } else { - - foreach ($this->_resultRow as $resultColumn => $resultValue) { - $returnObject->{$resultColumn} = $resultValue; - } - return $returnObject; - - } - } - - /** - * authenticate() - defined by Zend_Auth_Adapter_Interface. This method is called to - * attempt an authenication. Previous to this call, this adapter would have already - * been configured with all nessissary information to successfully connect to a database - * table and attempt to find a record matching the provided identity. - * - * @throws Zend_Auth_Adapter_Exception if answering the authentication query is impossible - * @return Zend_Auth_Result - */ - public function authenticate() - { - $this->_authenticateSetup(); - $dbSelect = $this->_authenticateCreateSelect(); - $resultIdentities = $this->_authenticateQuerySelect($dbSelect); - - if ( ($authResult = $this->_authenticateValidateResultset($resultIdentities)) instanceof Zend_Auth_Result) { - return $authResult; - } - - $authResult = $this->_authenticateValidateResult(array_shift($resultIdentities)); - return $authResult; - } - - /** - * _authenticateSetup() - This method abstracts the steps involved with making sure - * that this adapter was indeed setup properly with all required peices of information. - * - * @throws Zend_Auth_Adapter_Exception - in the event that setup was not done properly - * @return true - */ - protected function _authenticateSetup() - { - $exception = null; - - if ($this->_tableName == '') { - $exception = 'A table must be supplied for the Zend_Auth_Adapter_DbTable authentication adapter.'; - } elseif ($this->_identityColumn == '') { - $exception = 'An identity column must be supplied for the Zend_Auth_Adapter_DbTable authentication adapter.'; - } elseif ($this->_credentialColumn == '') { - $exception = 'A credential column must be supplied for the Zend_Auth_Adapter_DbTable authentication adapter.'; - } elseif ($this->_identity == '') { - $exception = 'A value for the identity was not provided prior to authentication with Zend_Auth_Adapter_DbTable.'; - } elseif ($this->_credential === null) { - $exception = 'A credential value was not provided prior to authentication with Zend_Auth_Adapter_DbTable.'; - } - - if (null !== $exception) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception($exception); - } - - $this->_authenticateResultInfo = array( - 'code' => Zend_Auth_Result::FAILURE, - 'identity' => $this->_identity, - 'messages' => array() - ); - - return true; - } - - /** - * _authenticateCreateSelect() - This method creates a Zend_Db_Select object that - * is completely configured to be queried against the database. - * - * @return Zend_Db_Select - */ - protected function _authenticateCreateSelect() - { - // build credential expression - if (empty($this->_credentialTreatment) || (strpos($this->_credentialTreatment, '?') === false)) { - $this->_credentialTreatment = '?'; - } - - $credentialExpression = new Zend_Db_Expr( - '(CASE WHEN ' . - $this->_zendDb->quoteInto( - $this->_zendDb->quoteIdentifier($this->_credentialColumn, true) - . ' = ' . $this->_credentialTreatment, $this->_credential - ) - . ' THEN 1 ELSE 0 END) AS ' - . $this->_zendDb->quoteIdentifier( - $this->_zendDb->foldCase('zend_auth_credential_match') - ) - ); - - // get select - $dbSelect = clone $this->getDbSelect(); - $dbSelect->from($this->_tableName, array('*', $credentialExpression)) - ->where($this->_zendDb->quoteIdentifier($this->_identityColumn, true) . ' = ?', $this->_identity); - - return $dbSelect; - } - - /** - * _authenticateQuerySelect() - This method accepts a Zend_Db_Select object and - * performs a query against the database with that object. - * - * @param Zend_Db_Select $dbSelect - * @throws Zend_Auth_Adapter_Exception - when a invalid select object is encoutered - * @return array - */ - protected function _authenticateQuerySelect(Zend_Db_Select $dbSelect) - { - try { - if ($this->_zendDb->getFetchMode() != Zend_DB::FETCH_ASSOC) { - $origDbFetchMode = $this->_zendDb->getFetchMode(); - $this->_zendDb->setFetchMode(Zend_DB::FETCH_ASSOC); - } - $resultIdentities = $this->_zendDb->fetchAll($dbSelect->__toString()); - if (isset($origDbFetchMode)) { - $this->_zendDb->setFetchMode($origDbFetchMode); - unset($origDbFetchMode); - } - } catch (Exception $e) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception('The supplied parameters to Zend_Auth_Adapter_DbTable failed to ' - . 'produce a valid sql statement, please check table and column names ' - . 'for validity.'); - } - return $resultIdentities; - } - - /** - * _authenticateValidateResultSet() - This method attempts to make certian that only one - * record was returned in the result set - * - * @param array $resultIdentities - * @return true|Zend_Auth_Result - */ - protected function _authenticateValidateResultSet(array $resultIdentities) - { - - if (count($resultIdentities) < 1) { - $this->_authenticateResultInfo['code'] = Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND; - $this->_authenticateResultInfo['messages'][] = 'A record with the supplied identity could not be found.'; - return $this->_authenticateCreateAuthResult(); - } elseif (count($resultIdentities) > 1) { - $this->_authenticateResultInfo['code'] = Zend_Auth_Result::FAILURE_IDENTITY_AMBIGUOUS; - $this->_authenticateResultInfo['messages'][] = 'More than one record matches the supplied identity.'; - return $this->_authenticateCreateAuthResult(); - } - - return true; - } - - /** - * _authenticateValidateResult() - This method attempts to validate that the record in the - * result set is indeed a record that matched the identity provided to this adapter. - * - * @param array $resultIdentity - * @return Zend_Auth_Result - */ - protected function _authenticateValidateResult($resultIdentity) - { - $zendAuthCredentialMatchColumn = $this->_zendDb->foldCase('zend_auth_credential_match'); - - if ($resultIdentity[$zendAuthCredentialMatchColumn] != '1') { - $this->_authenticateResultInfo['code'] = Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID; - $this->_authenticateResultInfo['messages'][] = 'Supplied credential is invalid.'; - return $this->_authenticateCreateAuthResult(); - } - - unset($resultIdentity[$zendAuthCredentialMatchColumn]); - $this->_resultRow = $resultIdentity; - - $this->_authenticateResultInfo['code'] = Zend_Auth_Result::SUCCESS; - $this->_authenticateResultInfo['messages'][] = 'Authentication successful.'; - return $this->_authenticateCreateAuthResult(); - } - - /** - * _authenticateCreateAuthResult() - This method creates a Zend_Auth_Result object - * from the information that has been collected during the authenticate() attempt. - * - * @return Zend_Auth_Result - */ - protected function _authenticateCreateAuthResult() - { - return new Zend_Auth_Result( - $this->_authenticateResultInfo['code'], - $this->_authenticateResultInfo['identity'], - $this->_authenticateResultInfo['messages'] - ); - } - -} diff --git a/lib/zend/Zend/Auth/Adapter/Digest.php b/lib/zend/Zend/Auth/Adapter/Digest.php deleted file mode 100644 index 3d3859b235..0000000000 --- a/lib/zend/Zend/Auth/Adapter/Digest.php +++ /dev/null @@ -1,230 +0,0 @@ -$methodName($$option); - } - } - } - - /** - * Returns the filename option value or null if it has not yet been set - * - * @return string|null - */ - public function getFilename() - { - return $this->_filename; - } - - /** - * Sets the filename option value - * - * @param mixed $filename - * @return Zend_Auth_Adapter_Digest Provides a fluent interface - */ - public function setFilename($filename) - { - $this->_filename = (string) $filename; - return $this; - } - - /** - * Returns the realm option value or null if it has not yet been set - * - * @return string|null - */ - public function getRealm() - { - return $this->_realm; - } - - /** - * Sets the realm option value - * - * @param mixed $realm - * @return Zend_Auth_Adapter_Digest Provides a fluent interface - */ - public function setRealm($realm) - { - $this->_realm = (string) $realm; - return $this; - } - - /** - * Returns the username option value or null if it has not yet been set - * - * @return string|null - */ - public function getUsername() - { - return $this->_username; - } - - /** - * Sets the username option value - * - * @param mixed $username - * @return Zend_Auth_Adapter_Digest Provides a fluent interface - */ - public function setUsername($username) - { - $this->_username = (string) $username; - return $this; - } - - /** - * Returns the password option value or null if it has not yet been set - * - * @return string|null - */ - public function getPassword() - { - return $this->_password; - } - - /** - * Sets the password option value - * - * @param mixed $password - * @return Zend_Auth_Adapter_Digest Provides a fluent interface - */ - public function setPassword($password) - { - $this->_password = (string) $password; - return $this; - } - - /** - * Defined by Zend_Auth_Adapter_Interface - * - * @throws Zend_Auth_Adapter_Exception - * @return Zend_Auth_Result - */ - public function authenticate() - { - $optionsRequired = array('filename', 'realm', 'username', 'password'); - foreach ($optionsRequired as $optionRequired) { - if (null === $this->{"_$optionRequired"}) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception("Option '$optionRequired' must be set before authentication"); - } - } - - if (false === ($fileHandle = @fopen($this->_filename, 'r'))) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception("Cannot open '$this->_filename' for reading"); - } - - $id = "$this->_username:$this->_realm"; - $idLength = strlen($id); - - $result = array( - 'code' => Zend_Auth_Result::FAILURE, - 'identity' => array( - 'realm' => $this->_realm, - 'username' => $this->_username, - ), - 'messages' => array() - ); - - while ($line = trim(fgets($fileHandle))) { - if (substr($line, 0, $idLength) === $id) { - if (substr($line, -32) === md5("$this->_username:$this->_realm:$this->_password")) { - $result['code'] = Zend_Auth_Result::SUCCESS; - } else { - $result['code'] = Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID; - $result['messages'][] = 'Password incorrect'; - } - return new Zend_Auth_Result($result['code'], $result['identity'], $result['messages']); - } - } - - $result['code'] = Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND; - $result['messages'][] = "Username '$this->_username' and realm '$this->_realm' combination not found"; - return new Zend_Auth_Result($result['code'], $result['identity'], $result['messages']); - } -} diff --git a/lib/zend/Zend/Auth/Adapter/Exception.php b/lib/zend/Zend/Auth/Adapter/Exception.php deleted file mode 100644 index aa002a6203..0000000000 --- a/lib/zend/Zend/Auth/Adapter/Exception.php +++ /dev/null @@ -1,38 +0,0 @@ - 'basic'|'digest'|'basic digest' - * 'realm' => - * 'digest_domains' => Space-delimited list of URIs - * 'nonce_timeout' => - * 'use_opaque' => Whether to send the opaque value in the header - * 'alogrithm' => See $_supportedAlgos. Default: MD5 - * 'proxy_auth' => Whether to do authentication as a Proxy - * @throws Zend_Auth_Adapter_Exception - * @return void - */ - public function __construct(array $config) - { - if (!extension_loaded('hash')) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception(__CLASS__ . ' requires the \'hash\' extension'); - } - - $this->_request = null; - $this->_response = null; - $this->_ieNoOpaque = false; - - - if (empty($config['accept_schemes'])) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception('Config key \'accept_schemes\' is required'); - } - - $schemes = explode(' ', $config['accept_schemes']); - $this->_acceptSchemes = array_intersect($schemes, $this->_supportedSchemes); - if (empty($this->_acceptSchemes)) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception('No supported schemes given in \'accept_schemes\'. Valid values: ' - . implode(', ', $this->_supportedSchemes)); - } - - // Double-quotes are used to delimit the realm string in the HTTP header, - // and colons are field delimiters in the password file. - if (empty($config['realm']) || - !ctype_print($config['realm']) || - strpos($config['realm'], ':') !== false || - strpos($config['realm'], '"') !== false) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception('Config key \'realm\' is required, and must contain only printable ' - . 'characters, excluding quotation marks and colons'); - } else { - $this->_realm = $config['realm']; - } - - if (in_array('digest', $this->_acceptSchemes)) { - if (empty($config['digest_domains']) || - !ctype_print($config['digest_domains']) || - strpos($config['digest_domains'], '"') !== false) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception('Config key \'digest_domains\' is required, and must contain ' - . 'only printable characters, excluding quotation marks'); - } else { - $this->_domains = $config['digest_domains']; - } - - if (empty($config['nonce_timeout']) || - !is_numeric($config['nonce_timeout'])) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception('Config key \'nonce_timeout\' is required, and must be an ' - . 'integer'); - } else { - $this->_nonceTimeout = (int) $config['nonce_timeout']; - } - - // We use the opaque value unless explicitly told not to - if (isset($config['use_opaque']) && false == (bool) $config['use_opaque']) { - $this->_useOpaque = false; - } else { - $this->_useOpaque = true; - } - - if (isset($config['algorithm']) && in_array($config['algorithm'], $this->_supportedAlgos)) { - $this->_algo = $config['algorithm']; - } else { - $this->_algo = 'MD5'; - } - } - - // Don't be a proxy unless explicitly told to do so - if (isset($config['proxy_auth']) && true == (bool) $config['proxy_auth']) { - $this->_imaProxy = true; // I'm a Proxy - } else { - $this->_imaProxy = false; - } - } - - /** - * Setter for the _basicResolver property - * - * @param Zend_Auth_Adapter_Http_Resolver_Interface $resolver - * @return Zend_Auth_Adapter_Http Provides a fluent interface - */ - public function setBasicResolver(Zend_Auth_Adapter_Http_Resolver_Interface $resolver) - { - $this->_basicResolver = $resolver; - - return $this; - } - - /** - * Getter for the _basicResolver property - * - * @return Zend_Auth_Adapter_Http_Resolver_Interface - */ - public function getBasicResolver() - { - return $this->_basicResolver; - } - - /** - * Setter for the _digestResolver property - * - * @param Zend_Auth_Adapter_Http_Resolver_Interface $resolver - * @return Zend_Auth_Adapter_Http Provides a fluent interface - */ - public function setDigestResolver(Zend_Auth_Adapter_Http_Resolver_Interface $resolver) - { - $this->_digestResolver = $resolver; - - return $this; - } - - /** - * Getter for the _digestResolver property - * - * @return Zend_Auth_Adapter_Http_Resolver_Interface - */ - public function getDigestResolver() - { - return $this->_digestResolver; - } - - /** - * Setter for the Request object - * - * @param Zend_Controller_Request_Http $request - * @return Zend_Auth_Adapter_Http Provides a fluent interface - */ - public function setRequest(Zend_Controller_Request_Http $request) - { - $this->_request = $request; - - return $this; - } - - /** - * Getter for the Request object - * - * @return Zend_Controller_Request_Http - */ - public function getRequest() - { - return $this->_request; - } - - /** - * Setter for the Response object - * - * @param Zend_Controller_Response_Http $response - * @return Zend_Auth_Adapter_Http Provides a fluent interface - */ - public function setResponse(Zend_Controller_Response_Http $response) - { - $this->_response = $response; - - return $this; - } - - /** - * Getter for the Response object - * - * @return Zend_Controller_Response_Http - */ - public function getResponse() - { - return $this->_response; - } - - /** - * Authenticate - * - * @throws Zend_Auth_Adapter_Exception - * @return Zend_Auth_Result - */ - public function authenticate() - { - if (empty($this->_request) || - empty($this->_response)) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception('Request and Response objects must be set before calling ' - . 'authenticate()'); - } - - if ($this->_imaProxy) { - $getHeader = 'Proxy-Authorization'; - } else { - $getHeader = 'Authorization'; - } - - $authHeader = $this->_request->getHeader($getHeader); - if (!$authHeader) { - return $this->_challengeClient(); - } - - list($clientScheme) = explode(' ', $authHeader); - $clientScheme = strtolower($clientScheme); - - // The server can issue multiple challenges, but the client should - // answer with only the selected auth scheme. - if (!in_array($clientScheme, $this->_supportedSchemes)) { - $this->_response->setHttpResponseCode(400); - return new Zend_Auth_Result( - Zend_Auth_Result::FAILURE_UNCATEGORIZED, - array(), - array('Client requested an incorrect or unsupported authentication scheme') - ); - } - - // client sent a scheme that is not the one required - if (!in_array($clientScheme, $this->_acceptSchemes)) { - // challenge again the client - return $this->_challengeClient(); - } - - switch ($clientScheme) { - case 'basic': - $result = $this->_basicAuth($authHeader); - break; - case 'digest': - $result = $this->_digestAuth($authHeader); - break; - default: - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception('Unsupported authentication scheme'); - } - - return $result; - } - - /** - * Challenge Client - * - * Sets a 401 or 407 Unauthorized response code, and creates the - * appropriate Authenticate header(s) to prompt for credentials. - * - * @return Zend_Auth_Result Always returns a non-identity Auth result - */ - protected function _challengeClient() - { - if ($this->_imaProxy) { - $statusCode = 407; - $headerName = 'Proxy-Authenticate'; - } else { - $statusCode = 401; - $headerName = 'WWW-Authenticate'; - } - - $this->_response->setHttpResponseCode($statusCode); - - // Send a challenge in each acceptable authentication scheme - if (in_array('basic', $this->_acceptSchemes)) { - $this->_response->setHeader($headerName, $this->_basicHeader()); - } - if (in_array('digest', $this->_acceptSchemes)) { - $this->_response->setHeader($headerName, $this->_digestHeader()); - } - return new Zend_Auth_Result( - Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID, - array(), - array('Invalid or absent credentials; challenging client') - ); - } - - /** - * Basic Header - * - * Generates a Proxy- or WWW-Authenticate header value in the Basic - * authentication scheme. - * - * @return string Authenticate header value - */ - protected function _basicHeader() - { - return 'Basic realm="' . $this->_realm . '"'; - } - - /** - * Digest Header - * - * Generates a Proxy- or WWW-Authenticate header value in the Digest - * authentication scheme. - * - * @return string Authenticate header value - */ - protected function _digestHeader() - { - $wwwauth = 'Digest realm="' . $this->_realm . '", ' - . 'domain="' . $this->_domains . '", ' - . 'nonce="' . $this->_calcNonce() . '", ' - . ($this->_useOpaque ? 'opaque="' . $this->_calcOpaque() . '", ' : '') - . 'algorithm="' . $this->_algo . '", ' - . 'qop="' . implode(',', $this->_supportedQops) . '"'; - - return $wwwauth; - } - - /** - * Basic Authentication - * - * @param string $header Client's Authorization header - * @throws Zend_Auth_Adapter_Exception - * @return Zend_Auth_Result - */ - protected function _basicAuth($header) - { - if (empty($header)) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception('The value of the client Authorization header is required'); - } - if (empty($this->_basicResolver)) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception('A basicResolver object must be set before doing Basic ' - . 'authentication'); - } - - // Decode the Authorization header - $auth = substr($header, strlen('Basic ')); - $auth = base64_decode($auth); - if (!$auth) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception('Unable to base64_decode Authorization header value'); - } - - // See ZF-1253. Validate the credentials the same way the digest - // implementation does. If invalid credentials are detected, - // re-challenge the client. - if (!ctype_print($auth)) { - return $this->_challengeClient(); - } - // Fix for ZF-1515: Now re-challenges on empty username or password - $creds = array_filter(explode(':', $auth)); - if (count($creds) != 2) { - return $this->_challengeClient(); - } - - $password = $this->_basicResolver->resolve($creds[0], $this->_realm); - if ($password && $password == $creds[1]) { - $identity = array('username'=>$creds[0], 'realm'=>$this->_realm); - return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $identity); - } else { - return $this->_challengeClient(); - } - } - - /** - * Digest Authentication - * - * @param string $header Client's Authorization header - * @throws Zend_Auth_Adapter_Exception - * @return Zend_Auth_Result Valid auth result only on successful auth - */ - protected function _digestAuth($header) - { - if (empty($header)) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception('The value of the client Authorization header is required'); - } - if (empty($this->_digestResolver)) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception('A digestResolver object must be set before doing Digest authentication'); - } - - $data = $this->_parseDigestAuth($header); - if ($data === false) { - $this->_response->setHttpResponseCode(400); - return new Zend_Auth_Result( - Zend_Auth_Result::FAILURE_UNCATEGORIZED, - array(), - array('Invalid Authorization header format') - ); - } - - // See ZF-1052. This code was a bit too unforgiving of invalid - // usernames. Now, if the username is bad, we re-challenge the client. - if ('::invalid::' == $data['username']) { - return $this->_challengeClient(); - } - - // Verify that the client sent back the same nonce - if ($this->_calcNonce() != $data['nonce']) { - return $this->_challengeClient(); - } - // The opaque value is also required to match, but of course IE doesn't - // play ball. - if (!$this->_ieNoOpaque && $this->_calcOpaque() != $data['opaque']) { - return $this->_challengeClient(); - } - - // Look up the user's password hash. If not found, deny access. - // This makes no assumptions about how the password hash was - // constructed beyond that it must have been built in such a way as - // to be recreatable with the current settings of this object. - $ha1 = $this->_digestResolver->resolve($data['username'], $data['realm']); - if ($ha1 === false) { - return $this->_challengeClient(); - } - - // If MD5-sess is used, a1 value is made of the user's password - // hash with the server and client nonce appended, separated by - // colons. - if ($this->_algo == 'MD5-sess') { - $ha1 = hash('md5', $ha1 . ':' . $data['nonce'] . ':' . $data['cnonce']); - } - - // Calculate h(a2). The value of this hash depends on the qop - // option selected by the client and the supported hash functions - switch ($data['qop']) { - case 'auth': - $a2 = $this->_request->getMethod() . ':' . $data['uri']; - break; - case 'auth-int': - // Should be REQUEST_METHOD . ':' . uri . ':' . hash(entity-body), - // but this isn't supported yet, so fall through to default case - default: - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception('Client requested an unsupported qop option'); - } - // Using hash() should make parameterizing the hash algorithm - // easier - $ha2 = hash('md5', $a2); - - - // Calculate the server's version of the request-digest. This must - // match $data['response']. See RFC 2617, section 3.2.2.1 - $message = $data['nonce'] . ':' . $data['nc'] . ':' . $data['cnonce'] . ':' . $data['qop'] . ':' . $ha2; - $digest = hash('md5', $ha1 . ':' . $message); - - // If our digest matches the client's let them in, otherwise return - // a 401 code and exit to prevent access to the protected resource. - if ($digest == $data['response']) { - $identity = array('username'=>$data['username'], 'realm'=>$data['realm']); - return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $identity); - } else { - return $this->_challengeClient(); - } - } - - /** - * Calculate Nonce - * - * @return string The nonce value - */ - protected function _calcNonce() - { - // Once subtle consequence of this timeout calculation is that it - // actually divides all of time into _nonceTimeout-sized sections, such - // that the value of timeout is the point in time of the next - // approaching "boundary" of a section. This allows the server to - // consistently generate the same timeout (and hence the same nonce - // value) across requests, but only as long as one of those - // "boundaries" is not crossed between requests. If that happens, the - // nonce will change on its own, and effectively log the user out. This - // would be surprising if the user just logged in. - $timeout = ceil(time() / $this->_nonceTimeout) * $this->_nonceTimeout; - - $nonce = hash('md5', $timeout . ':' . $this->_request->getServer('HTTP_USER_AGENT') . ':' . __CLASS__); - return $nonce; - } - - /** - * Calculate Opaque - * - * The opaque string can be anything; the client must return it exactly as - * it was sent. It may be useful to store data in this string in some - * applications. Ideally, a new value for this would be generated each time - * a WWW-Authenticate header is sent (in order to reduce predictability), - * but we would have to be able to create the same exact value across at - * least two separate requests from the same client. - * - * @return string The opaque value - */ - protected function _calcOpaque() - { - return hash('md5', 'Opaque Data:' . __CLASS__); - } - - /** - * Parse Digest Authorization header - * - * @param string $header Client's Authorization: HTTP header - * @return array|false Data elements from header, or false if any part of - * the header is invalid - */ - protected function _parseDigestAuth($header) - { - $temp = null; - $data = array(); - - // See ZF-1052. Detect invalid usernames instead of just returning a - // 400 code. - $ret = preg_match('/username="([^"]+)"/', $header, $temp); - if (!$ret || empty($temp[1]) - || !ctype_print($temp[1]) - || strpos($temp[1], ':') !== false) { - $data['username'] = '::invalid::'; - } else { - $data['username'] = $temp[1]; - } - $temp = null; - - $ret = preg_match('/realm="([^"]+)"/', $header, $temp); - if (!$ret || empty($temp[1])) { - return false; - } - if (!ctype_print($temp[1]) || strpos($temp[1], ':') !== false) { - return false; - } else { - $data['realm'] = $temp[1]; - } - $temp = null; - - $ret = preg_match('/nonce="([^"]+)"/', $header, $temp); - if (!$ret || empty($temp[1])) { - return false; - } - if (!ctype_xdigit($temp[1])) { - return false; - } else { - $data['nonce'] = $temp[1]; - } - $temp = null; - - $ret = preg_match('/uri="([^"]+)"/', $header, $temp); - if (!$ret || empty($temp[1])) { - return false; - } - // Section 3.2.2.5 in RFC 2617 says the authenticating server must - // verify that the URI field in the Authorization header is for the - // same resource requested in the Request Line. - $rUri = @parse_url($this->_request->getRequestUri()); - $cUri = @parse_url($temp[1]); - if (false === $rUri || false === $cUri) { - return false; - } else { - // Make sure the path portion of both URIs is the same - if ($rUri['path'] != $cUri['path']) { - return false; - } - // Section 3.2.2.5 seems to suggest that the value of the URI - // Authorization field should be made into an absolute URI if the - // Request URI is absolute, but it's vague, and that's a bunch of - // code I don't want to write right now. - $data['uri'] = $temp[1]; - } - $temp = null; - - $ret = preg_match('/response="([^"]+)"/', $header, $temp); - if (!$ret || empty($temp[1])) { - return false; - } - if (32 != strlen($temp[1]) || !ctype_xdigit($temp[1])) { - return false; - } else { - $data['response'] = $temp[1]; - } - $temp = null; - - // The spec says this should default to MD5 if omitted. OK, so how does - // that square with the algo we send out in the WWW-Authenticate header, - // if it can easily be overridden by the client? - $ret = preg_match('/algorithm="?(' . $this->_algo . ')"?/', $header, $temp); - if ($ret && !empty($temp[1]) - && in_array($temp[1], $this->_supportedAlgos)) { - $data['algorithm'] = $temp[1]; - } else { - $data['algorithm'] = 'MD5'; // = $this->_algo; ? - } - $temp = null; - - // Not optional in this implementation - $ret = preg_match('/cnonce="([^"]+)"/', $header, $temp); - if (!$ret || empty($temp[1])) { - return false; - } - if (!ctype_print($temp[1])) { - return false; - } else { - $data['cnonce'] = $temp[1]; - } - $temp = null; - - // If the server sent an opaque value, the client must send it back - if ($this->_useOpaque) { - $ret = preg_match('/opaque="([^"]+)"/', $header, $temp); - if (!$ret || empty($temp[1])) { - - // Big surprise: IE isn't RFC 2617-compliant. - if (false !== strpos($this->_request->getHeader('User-Agent'), 'MSIE')) { - $temp[1] = ''; - $this->_ieNoOpaque = true; - } else { - return false; - } - } - // This implementation only sends MD5 hex strings in the opaque value - if (!$this->_ieNoOpaque && - (32 != strlen($temp[1]) || !ctype_xdigit($temp[1]))) { - return false; - } else { - $data['opaque'] = $temp[1]; - } - $temp = null; - } - - // Not optional in this implementation, but must be one of the supported - // qop types - $ret = preg_match('/qop="?(' . implode('|', $this->_supportedQops) . ')"?/', $header, $temp); - if (!$ret || empty($temp[1])) { - return false; - } - if (!in_array($temp[1], $this->_supportedQops)) { - return false; - } else { - $data['qop'] = $temp[1]; - } - $temp = null; - - // Not optional in this implementation. The spec says this value - // shouldn't be a quoted string, but apparently some implementations - // quote it anyway. See ZF-1544. - $ret = preg_match('/nc="?([0-9A-Fa-f]{8})"?/', $header, $temp); - if (!$ret || empty($temp[1])) { - return false; - } - if (8 != strlen($temp[1]) || !ctype_xdigit($temp[1])) { - return false; - } else { - $data['nc'] = $temp[1]; - } - $temp = null; - - return $data; - } -} diff --git a/lib/zend/Zend/Auth/Adapter/Http/Resolver/Exception.php b/lib/zend/Zend/Auth/Adapter/Http/Resolver/Exception.php deleted file mode 100644 index da8b5a7f7f..0000000000 --- a/lib/zend/Zend/Auth/Adapter/Http/Resolver/Exception.php +++ /dev/null @@ -1,40 +0,0 @@ -setFile($path); - } - } - - /** - * Set the path to the credentials file - * - * @param string $path - * @throws Zend_Auth_Adapter_Http_Resolver_Exception - * @return Zend_Auth_Adapter_Http_Resolver_File Provides a fluent interface - */ - public function setFile($path) - { - if (empty($path) || !is_readable($path)) { - /** - * @see Zend_Auth_Adapter_Http_Resolver_Exception - */ - require_once 'Zend/Auth/Adapter/Http/Resolver/Exception.php'; - throw new Zend_Auth_Adapter_Http_Resolver_Exception('Path not readable: ' . $path); - } - $this->_file = $path; - - return $this; - } - - /** - * Returns the path to the credentials file - * - * @return string - */ - public function getFile() - { - return $this->_file; - } - - /** - * Resolve credentials - * - * Only the first matching username/realm combination in the file is - * returned. If the file contains credentials for Digest authentication, - * the returned string is the password hash, or h(a1) from RFC 2617. The - * returned string is the plain-text password for Basic authentication. - * - * The expected format of the file is: - * username:realm:sharedSecret - * - * That is, each line consists of the user's username, the applicable - * authentication realm, and the password or hash, each delimited by - * colons. - * - * @param string $username Username - * @param string $realm Authentication Realm - * @throws Zend_Auth_Adapter_Http_Resolver_Exception - * @return string|false User's shared secret, if the user is found in the - * realm, false otherwise. - */ - public function resolve($username, $realm) - { - if (empty($username)) { - /** - * @see Zend_Auth_Adapter_Http_Resolver_Exception - */ - require_once 'Zend/Auth/Adapter/Http/Resolver/Exception.php'; - throw new Zend_Auth_Adapter_Http_Resolver_Exception('Username is required'); - } else if (!ctype_print($username) || strpos($username, ':') !== false) { - /** - * @see Zend_Auth_Adapter_Http_Resolver_Exception - */ - require_once 'Zend/Auth/Adapter/Http/Resolver/Exception.php'; - throw new Zend_Auth_Adapter_Http_Resolver_Exception('Username must consist only of printable characters, ' - . 'excluding the colon'); - } - if (empty($realm)) { - /** - * @see Zend_Auth_Adapter_Http_Resolver_Exception - */ - require_once 'Zend/Auth/Adapter/Http/Resolver/Exception.php'; - throw new Zend_Auth_Adapter_Http_Resolver_Exception('Realm is required'); - } else if (!ctype_print($realm) || strpos($realm, ':') !== false) { - /** - * @see Zend_Auth_Adapter_Http_Resolver_Exception - */ - require_once 'Zend/Auth/Adapter/Http/Resolver/Exception.php'; - throw new Zend_Auth_Adapter_Http_Resolver_Exception('Realm must consist only of printable characters, ' - . 'excluding the colon.'); - } - - // Open file, read through looking for matching credentials - $fp = @fopen($this->_file, 'r'); - if (!$fp) { - /** - * @see Zend_Auth_Adapter_Http_Resolver_Exception - */ - require_once 'Zend/Auth/Adapter/Http/Resolver/Exception.php'; - throw new Zend_Auth_Adapter_Http_Resolver_Exception('Unable to open password file: ' . $this->_file); - } - - // No real validation is done on the contents of the password file. The - // assumption is that we trust the administrators to keep it secure. - while (($line = fgetcsv($fp, 512, ':')) !== false) { - if ($line[0] == $username && $line[1] == $realm) { - $password = $line[2]; - fclose($fp); - return $password; - } - } - - fclose($fp); - return false; - } -} diff --git a/lib/zend/Zend/Auth/Adapter/Http/Resolver/Interface.php b/lib/zend/Zend/Auth/Adapter/Http/Resolver/Interface.php deleted file mode 100644 index fa573ddb82..0000000000 --- a/lib/zend/Zend/Auth/Adapter/Http/Resolver/Interface.php +++ /dev/null @@ -1,47 +0,0 @@ -_xmlToken = $strXmlDocument; - $this->_infoCard = new Zend_InfoCard(); - } - - /** - * Sets the InfoCard component Adapter to use - * - * @param Zend_InfoCard_Adapter_Interface $a - * @return Zend_Auth_Adapter_InfoCard Provides a fluent interface - */ - public function setAdapter(Zend_InfoCard_Adapter_Interface $a) - { - $this->_infoCard->setAdapter($a); - return $this; - } - - /** - * Retrieves the InfoCard component adapter being used - * - * @return Zend_InfoCard_Adapter_Interface - */ - public function getAdapter() - { - return $this->_infoCard->getAdapter(); - } - - /** - * Retrieves the InfoCard public key cipher object being used - * - * @return Zend_InfoCard_Cipher_PKI_Interface - */ - public function getPKCipherObject() - { - return $this->_infoCard->getPKCipherObject(); - } - - /** - * Sets the InfoCard public key cipher object to use - * - * @param Zend_InfoCard_Cipher_PKI_Interface $cipherObj - * @return Zend_Auth_Adapter_InfoCard Provides a fluent interface - */ - public function setPKICipherObject(Zend_InfoCard_Cipher_PKI_Interface $cipherObj) - { - $this->_infoCard->setPKICipherObject($cipherObj); - return $this; - } - - /** - * Retrieves the Symmetric cipher object being used - * - * @return Zend_InfoCard_Cipher_Symmetric_Interface - */ - public function getSymCipherObject() - { - return $this->_infoCard->getSymCipherObject(); - } - - /** - * Sets the InfoCard symmetric cipher object to use - * - * @param Zend_InfoCard_Cipher_Symmetric_Interface $cipherObj - * @return Zend_Auth_Adapter_InfoCard Provides a fluent interface - */ - public function setSymCipherObject(Zend_InfoCard_Cipher_Symmetric_Interface $cipherObj) - { - $this->_infoCard->setSymCipherObject($cipherObj); - return $this; - } - - /** - * Remove a Certificate Pair by Key ID from the search list - * - * @param string $key_id The Certificate Key ID returned from adding the certificate pair - * @throws Zend_InfoCard_Exception - * @return Zend_Auth_Adapter_InfoCard Provides a fluent interface - */ - public function removeCertificatePair($key_id) - { - $this->_infoCard->removeCertificatePair($key_id); - return $this; - } - - /** - * Add a Certificate Pair to the list of certificates searched by the component - * - * @param string $private_key_file The path to the private key file for the pair - * @param string $public_key_file The path to the certificate / public key for the pair - * @param string $type (optional) The URI for the type of key pair this is (default RSA with OAEP padding) - * @param string $password (optional) The password for the private key file if necessary - * @throws Zend_InfoCard_Exception - * @return string A key ID representing this key pair in the component - */ - public function addCertificatePair($private_key_file, $public_key_file, $type = Zend_InfoCard_Cipher::ENC_RSA_OAEP_MGF1P, $password = null) - { - return $this->_infoCard->addCertificatePair($private_key_file, $public_key_file, $type, $password); - } - - /** - * Return a Certificate Pair from a key ID - * - * @param string $key_id The Key ID of the certificate pair in the component - * @throws Zend_InfoCard_Exception - * @return array An array containing the path to the private/public key files, - * the type URI and the password if provided - */ - public function getCertificatePair($key_id) - { - return $this->_infoCard->getCertificatePair($key_id); - } - - /** - * Set the XML Token to be processed - * - * @param string $strXmlToken The XML token to process - * @return Zend_Auth_Adapter_InfoCard Provides a fluent interface - */ - public function setXmlToken($strXmlToken) - { - $this->_xmlToken = $strXmlToken; - return $this; - } - - /** - * Get the XML Token being processed - * - * @return string The XML token to be processed - */ - public function getXmlToken() - { - return $this->_xmlToken; - } - - /** - * Authenticates the XML token - * - * @return Zend_Auth_Result The result of the authentication - */ - public function authenticate() - { - try { - $claims = $this->_infoCard->process($this->getXmlToken()); - } catch(Exception $e) { - return new Zend_Auth_Result(Zend_Auth_Result::FAILURE , null, array('Exception Thrown', - $e->getMessage(), - $e->getTraceAsString(), - serialize($e))); - } - - if(!$claims->isValid()) { - switch($claims->getCode()) { - case Zend_infoCard_Claims::RESULT_PROCESSING_FAILURE: - return new Zend_Auth_Result( - Zend_Auth_Result::FAILURE, - $claims, - array( - 'Processing Failure', - $claims->getErrorMsg() - ) - ); - break; - case Zend_InfoCard_Claims::RESULT_VALIDATION_FAILURE: - return new Zend_Auth_Result( - Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID, - $claims, - array( - 'Validation Failure', - $claims->getErrorMsg() - ) - ); - break; - default: - return new Zend_Auth_Result( - Zend_Auth_Result::FAILURE, - $claims, - array( - 'Unknown Failure', - $claims->getErrorMsg() - ) - ); - break; - } - } - - return new Zend_Auth_Result( - Zend_Auth_Result::SUCCESS, - $claims - ); - } -} diff --git a/lib/zend/Zend/Auth/Adapter/Interface.php b/lib/zend/Zend/Auth/Adapter/Interface.php deleted file mode 100644 index db7c42e660..0000000000 --- a/lib/zend/Zend/Auth/Adapter/Interface.php +++ /dev/null @@ -1,46 +0,0 @@ -setOptions($options); - if ($username !== null) { - $this->setUsername($username); - } - if ($password !== null) { - $this->setPassword($password); - } - } - - /** - * Returns the array of arrays of Zend_Ldap options of this adapter. - * - * @return array|null - */ - public function getOptions() - { - return $this->_options; - } - - /** - * Sets the array of arrays of Zend_Ldap options to be used by - * this adapter. - * - * @param array $options The array of arrays of Zend_Ldap options - * @return Zend_Auth_Adapter_Ldap Provides a fluent interface - */ - public function setOptions($options) - { - $this->_options = is_array($options) ? $options : array(); - return $this; - } - - /** - * Returns the username of the account being authenticated, or - * NULL if none is set. - * - * @return string|null - */ - public function getUsername() - { - return $this->_username; - } - - /** - * Sets the username for binding - * - * @param string $username The username for binding - * @return Zend_Auth_Adapter_Ldap Provides a fluent interface - */ - public function setUsername($username) - { - $this->_username = (string) $username; - return $this; - } - - /** - * Returns the password of the account being authenticated, or - * NULL if none is set. - * - * @return string|null - */ - public function getPassword() - { - return $this->_password; - } - - /** - * Sets the passwort for the account - * - * @param string $password The password of the account being authenticated - * @return Zend_Auth_Adapter_Ldap Provides a fluent interface - */ - public function setPassword($password) - { - $this->_password = (string) $password; - return $this; - } - - /** - * setIdentity() - set the identity (username) to be used - * - * Proxies to {@see setPassword()} - * - * Closes ZF-6813 - * - * @param string $identity - * @return Zend_Auth_Adapter_Ldap Provides a fluent interface - */ - public function setIdentity($identity) - { - return $this->setUsername($identity); - } - - /** - * setCredential() - set the credential (password) value to be used - * - * Proxies to {@see setPassword()} - * - * Closes ZF-6813 - * - * @param string $credential - * @return Zend_Auth_Adapter_Ldap Provides a fluent interface - */ - public function setCredential($credential) - { - return $this->setPassword($credential); - } - - /** - * Returns the LDAP Object - * - * @return Zend_Ldap The Zend_Ldap object used to authenticate the credentials - */ - public function getLdap() - { - if ($this->_ldap === null) { - /** - * @see Zend_Ldap - */ - require_once 'Zend/Ldap.php'; - $this->_ldap = new Zend_Ldap(); - } - - return $this->_ldap; - } - - /** - * Set an Ldap connection - * - * @param Zend_Ldap $ldap An existing Ldap object - * @return Zend_Auth_Adapter_Ldap Provides a fluent interface - */ - public function setLdap(Zend_Ldap $ldap) - { - $this->_ldap = $ldap; - - $this->setOptions(array($ldap->getOptions())); - - return $this; - } - - /** - * Returns a domain name for the current LDAP options. This is used - * for skipping redundant operations (e.g. authentications). - * - * @return string - */ - protected function _getAuthorityName() - { - $options = $this->getLdap()->getOptions(); - $name = $options['accountDomainName']; - if (!$name) - $name = $options['accountDomainNameShort']; - return $name ? $name : ''; - } - - /** - * Authenticate the user - * - * @throws Zend_Auth_Adapter_Exception - * @return Zend_Auth_Result - */ - public function authenticate() - { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - - $messages = array(); - $messages[0] = ''; // reserved - $messages[1] = ''; // reserved - - $username = $this->_username; - $password = $this->_password; - - if (!$username) { - $code = Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND; - $messages[0] = 'A username is required'; - return new Zend_Auth_Result($code, '', $messages); - } - if (!$password) { - /* A password is required because some servers will - * treat an empty password as an anonymous bind. - */ - $code = Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID; - $messages[0] = 'A password is required'; - return new Zend_Auth_Result($code, '', $messages); - } - - $ldap = $this->getLdap(); - - $code = Zend_Auth_Result::FAILURE; - $messages[0] = "Authority not found: $username"; - $failedAuthorities = array(); - - /* Iterate through each server and try to authenticate the supplied - * credentials against it. - */ - foreach ($this->_options as $name => $options) { - - if (!is_array($options)) { - /** - * @see Zend_Auth_Adapter_Exception - */ - require_once 'Zend/Auth/Adapter/Exception.php'; - throw new Zend_Auth_Adapter_Exception('Adapter options array not in array'); - } - $adapterOptions = $this->_prepareOptions($ldap, $options); - $dname = ''; - - try { - if ($messages[1]) - $messages[] = $messages[1]; - $messages[1] = ''; - $messages[] = $this->_optionsToString($options); - - $dname = $this->_getAuthorityName(); - if (isset($failedAuthorities[$dname])) { - /* If multiple sets of server options for the same domain - * are supplied, we want to skip redundant authentications - * where the identity or credentials where found to be - * invalid with another server for the same domain. The - * $failedAuthorities array tracks this condition (and also - * serves to supply the original error message). - * This fixes issue ZF-4093. - */ - $messages[1] = $failedAuthorities[$dname]; - $messages[] = "Skipping previously failed authority: $dname"; - continue; - } - - $canonicalName = $ldap->getCanonicalAccountName($username); - $ldap->bind($canonicalName, $password); - $dn = $ldap->getCanonicalAccountName($canonicalName, Zend_Ldap::ACCTNAME_FORM_DN); - - $groupResult = $this->_checkGroupMembership($ldap, $canonicalName, $dn, $adapterOptions); - if ($groupResult === true) { - $this->_authenticatedDn = $dn; - $messages[0] = ''; - $messages[1] = ''; - $messages[] = "$canonicalName authentication successful"; - return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $canonicalName, $messages); - } else { - $messages[0] = 'Account is not a member of the specified group'; - $messages[1] = $groupResult; - $failedAuthorities[$dname] = $groupResult; - } - } catch (Zend_Ldap_Exception $zle) { - - /* LDAP based authentication is notoriously difficult to diagnose. Therefore - * we bend over backwards to capture and record every possible bit of - * information when something goes wrong. - */ - - $err = $zle->getCode(); - - if ($err == Zend_Ldap_Exception::LDAP_X_DOMAIN_MISMATCH) { - /* This error indicates that the domain supplied in the - * username did not match the domains in the server options - * and therefore we should just skip to the next set of - * server options. - */ - continue; - } else if ($err == Zend_Ldap_Exception::LDAP_NO_SUCH_OBJECT) { - $code = Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND; - $messages[0] = "Account not found: $username"; - $failedAuthorities[$dname] = $zle->getMessage(); - } else if ($err == Zend_Ldap_Exception::LDAP_INVALID_CREDENTIALS) { - $code = Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID; - $messages[0] = 'Invalid credentials'; - $failedAuthorities[$dname] = $zle->getMessage(); - } else { - $line = $zle->getLine(); - $messages[] = $zle->getFile() . "($line): " . $zle->getMessage(); - $messages[] = str_replace($password, '*****', $zle->getTraceAsString()); - $messages[0] = 'An unexpected failure occurred'; - } - $messages[1] = $zle->getMessage(); - } - } - - $msg = isset($messages[1]) ? $messages[1] : $messages[0]; - $messages[] = "$username authentication failed: $msg"; - - return new Zend_Auth_Result($code, $username, $messages); - } - - /** - * Sets the LDAP specific options on the Zend_Ldap instance - * - * @param Zend_Ldap $ldap - * @param array $options - * @return array of auth-adapter specific options - */ - protected function _prepareOptions(Zend_Ldap $ldap, array $options) - { - $adapterOptions = array( - 'group' => null, - 'groupDn' => $ldap->getBaseDn(), - 'groupScope' => Zend_Ldap::SEARCH_SCOPE_SUB, - 'groupAttr' => 'cn', - 'groupFilter' => 'objectClass=groupOfUniqueNames', - 'memberAttr' => 'uniqueMember', - 'memberIsDn' => true - ); - foreach ($adapterOptions as $key => $value) { - if (array_key_exists($key, $options)) { - $value = $options[$key]; - unset($options[$key]); - switch ($key) { - case 'groupScope': - $value = (int)$value; - if (in_array($value, array(Zend_Ldap::SEARCH_SCOPE_BASE, - Zend_Ldap::SEARCH_SCOPE_ONE, Zend_Ldap::SEARCH_SCOPE_SUB), true)) { - $adapterOptions[$key] = $value; - } - break; - case 'memberIsDn': - $adapterOptions[$key] = ($value === true || - $value === '1' || strcasecmp($value, 'true') == 0); - break; - default: - $adapterOptions[$key] = trim($value); - break; - } - } - } - - $ldap->setOptions($options); - return $adapterOptions; - } - - /** - * Checks the group membership of the bound user - * - * @param Zend_Ldap $ldap - * @param string $canonicalName - * @param string $dn - * @param array $adapterOptions - * @return string|true - */ - protected function _checkGroupMembership(Zend_Ldap $ldap, $canonicalName, $dn, array $adapterOptions) - { - if ($adapterOptions['group'] === null) { - return true; - } - - if ($adapterOptions['memberIsDn'] === false) { - $user = $canonicalName; - } else { - $user = $dn; - } - - /** - * @see Zend_Ldap_Filter - */ - require_once 'Zend/Ldap/Filter.php'; - $groupName = Zend_Ldap_Filter::equals($adapterOptions['groupAttr'], $adapterOptions['group']); - $membership = Zend_Ldap_Filter::equals($adapterOptions['memberAttr'], $user); - $group = Zend_Ldap_Filter::andFilter($groupName, $membership); - $groupFilter = $adapterOptions['groupFilter']; - if (!empty($groupFilter)) { - $group = $group->addAnd($groupFilter); - } - - /* - * Fixes problem when authenticated user is not allowed to retrieve - * group-membership information. - * This requires that the user specified with "username" and "password" - * in the Zend_Ldap options is able to retrieve the required information. - */ - $ldap->bind(); - - $result = $ldap->count($group, $adapterOptions['groupDn'], $adapterOptions['groupScope']); - - if ($result === 1) { - return true; - } else { - return 'Failed to verify group membership with ' . $group->toString(); - } - } - - /** - * getAccountObject() - Returns the result entry as a stdClass object - * - * This ressembles the feature {@see Zend_Auth_Adapter_DbTable::getResultRowObject()}. - * Closes ZF-6813 - * - * @param array $returnAttribs - * @return stdClass|boolean - */ - public function getAccountObject(array $returnAttribs = array()) - { - if (!$this->_authenticatedDn) { - return false; - } - - $returnObject = new stdClass(); - - $entry = $this->getLdap()->getEntry($this->_authenticatedDn, $returnAttribs, true); - foreach ($entry as $attr => $value) { - if (is_array($value)) { - $returnObject->$attr = (count($value) > 1) ? $value : $value[0]; - } else { - $returnObject->$attr = $value; - } - } - return $returnObject; - } - - /** - * Converts options to string - * - * @param array $options - * @return string - */ - private function _optionsToString(array $options) - { - $str = ''; - foreach ($options as $key => $val) { - if ($key === 'password') - $val = '*****'; - if ($str) - $str .= ','; - $str .= $key . '=' . $val; - } - return $str; - } -} diff --git a/lib/zend/Zend/Auth/Adapter/OpenId.php b/lib/zend/Zend/Auth/Adapter/OpenId.php deleted file mode 100644 index 6c99758625..0000000000 --- a/lib/zend/Zend/Auth/Adapter/OpenId.php +++ /dev/null @@ -1,284 +0,0 @@ -_id = $id; - $this->_storage = $storage; - $this->_returnTo = $returnTo; - $this->_root = $root; - $this->_extensions = $extensions; - $this->_response = $response; - } - - /** - * Sets the value to be used as the identity - * - * @param string $id the identity value - * @return Zend_Auth_Adapter_OpenId Provides a fluent interface - */ - public function setIdentity($id) - { - $this->_id = $id; - return $this; - } - - /** - * Sets the storage implementation which will be use by OpenId - * - * @param Zend_OpenId_Consumer_Storage $storage - * @return Zend_Auth_Adapter_OpenId Provides a fluent interface - */ - public function setStorage(Zend_OpenId_Consumer_Storage $storage) - { - $this->_storage = $storage; - return $this; - } - - /** - * Sets the HTTP URL to redirect response from server to - * - * @param string $returnTo - * @return Zend_Auth_Adapter_OpenId Provides a fluent interface - */ - public function setReturnTo($returnTo) - { - $this->_returnTo = $returnTo; - return $this; - } - - /** - * Sets HTTP URL to identify consumer on server - * - * @param string $root - * @return Zend_Auth_Adapter_OpenId Provides a fluent interface - */ - public function setRoot($root) - { - $this->_root = $root; - return $this; - } - - /** - * Sets OpenID extension(s) - * - * @param mixed $extensions - * @return Zend_Auth_Adapter_OpenId Provides a fluent interface - */ - public function setExtensions($extensions) - { - $this->_extensions = $extensions; - return $this; - } - - /** - * Sets an optional response object to perform HTTP or HTML form redirection - * - * @param string $root - * @return Zend_Auth_Adapter_OpenId Provides a fluent interface - */ - public function setResponse($response) - { - $this->_response = $response; - return $this; - } - - /** - * Enables or disables interaction with user during authentication on - * OpenID provider. - * - * @param bool $check_immediate - * @return Zend_Auth_Adapter_OpenId Provides a fluent interface - */ - public function setCheckImmediate($check_immediate) - { - $this->_check_immediate = $check_immediate; - return $this; - } - - /** - * Sets HTTP client object to make HTTP requests - * - * @param Zend_Http_Client $client HTTP client object to be used - */ - public function setHttpClient($client) { - $this->_httpClient = $client; - } - - /** - * Authenticates the given OpenId identity. - * Defined by Zend_Auth_Adapter_Interface. - * - * @throws Zend_Auth_Adapter_Exception If answering the authentication query is impossible - * @return Zend_Auth_Result - */ - public function authenticate() { - $id = $this->_id; - if (!empty($id)) { - $consumer = new Zend_OpenId_Consumer($this->_storage); - $consumer->setHttpClient($this->_httpClient); - /* login() is never returns on success */ - if (!$this->_check_immediate) { - if (!$consumer->login($id, - $this->_returnTo, - $this->_root, - $this->_extensions, - $this->_response)) { - return new Zend_Auth_Result( - Zend_Auth_Result::FAILURE, - $id, - array("Authentication failed", $consumer->getError())); - } - } else { - if (!$consumer->check($id, - $this->_returnTo, - $this->_root, - $this->_extensions, - $this->_response)) { - return new Zend_Auth_Result( - Zend_Auth_Result::FAILURE, - $id, - array("Authentication failed", $consumer->getError())); - } - } - } else { - $params = (isset($_SERVER['REQUEST_METHOD']) && - $_SERVER['REQUEST_METHOD']=='POST') ? $_POST: $_GET; - $consumer = new Zend_OpenId_Consumer($this->_storage); - $consumer->setHttpClient($this->_httpClient); - if ($consumer->verify( - $params, - $id, - $this->_extensions)) { - return new Zend_Auth_Result( - Zend_Auth_Result::SUCCESS, - $id, - array("Authentication successful")); - } else { - return new Zend_Auth_Result( - Zend_Auth_Result::FAILURE, - $id, - array("Authentication failed", $consumer->getError())); - } - } - } - -} diff --git a/lib/zend/Zend/Auth/Exception.php b/lib/zend/Zend/Auth/Exception.php deleted file mode 100644 index c705df2b40..0000000000 --- a/lib/zend/Zend/Auth/Exception.php +++ /dev/null @@ -1,36 +0,0 @@ - self::SUCCESS ) { - $code = 1; - } - - $this->_code = $code; - $this->_identity = $identity; - $this->_messages = $messages; - } - - /** - * Returns whether the result represents a successful authentication attempt - * - * @return boolean - */ - public function isValid() - { - return ($this->_code > 0) ? true : false; - } - - /** - * getCode() - Get the result code for this authentication attempt - * - * @return int - */ - public function getCode() - { - return $this->_code; - } - - /** - * Returns the identity used in the authentication attempt - * - * @return mixed - */ - public function getIdentity() - { - return $this->_identity; - } - - /** - * Returns an array of string reasons why the authentication attempt was unsuccessful - * - * If authentication was successful, this method returns an empty array. - * - * @return array - */ - public function getMessages() - { - return $this->_messages; - } -} diff --git a/lib/zend/Zend/Auth/Storage/Exception.php b/lib/zend/Zend/Auth/Storage/Exception.php deleted file mode 100644 index 68a506468b..0000000000 --- a/lib/zend/Zend/Auth/Storage/Exception.php +++ /dev/null @@ -1,38 +0,0 @@ -_data); - } - - /** - * Returns the contents of storage - * Behavior is undefined when storage is empty. - * - * @throws Zend_Auth_Storage_Exception If reading contents from storage is impossible - * @return mixed - */ - public function read() - { - return $this->_data; - } - - /** - * Writes $contents to storage - * - * @param mixed $contents - * @throws Zend_Auth_Storage_Exception If writing $contents to storage is impossible - * @return void - */ - public function write($contents) - { - $this->_data = $contents; - } - - /** - * Clears contents from storage - * - * @throws Zend_Auth_Storage_Exception If clearing contents from storage is impossible - * @return void - */ - public function clear() - { - $this->_data = null; - } -} diff --git a/lib/zend/Zend/Auth/Storage/Session.php b/lib/zend/Zend/Auth/Storage/Session.php deleted file mode 100644 index 713fd48618..0000000000 --- a/lib/zend/Zend/Auth/Storage/Session.php +++ /dev/null @@ -1,150 +0,0 @@ -_namespace = $namespace; - $this->_member = $member; - $this->_session = new Zend_Session_Namespace($this->_namespace); - } - - /** - * Returns the session namespace - * - * @return string - */ - public function getNamespace() - { - return $this->_namespace; - } - - /** - * Returns the name of the session object member - * - * @return string - */ - public function getMember() - { - return $this->_member; - } - - /** - * Defined by Zend_Auth_Storage_Interface - * - * @return boolean - */ - public function isEmpty() - { - return !isset($this->_session->{$this->_member}); - } - - /** - * Defined by Zend_Auth_Storage_Interface - * - * @return mixed - */ - public function read() - { - return $this->_session->{$this->_member}; - } - - /** - * Defined by Zend_Auth_Storage_Interface - * - * @param mixed $contents - * @return void - */ - public function write($contents) - { - $this->_session->{$this->_member} = $contents; - } - - /** - * Defined by Zend_Auth_Storage_Interface - * - * @return void - */ - public function clear() - { - unset($this->_session->{$this->_member}); - } -} diff --git a/lib/zend/Zend/Cache.php b/lib/zend/Zend/Cache.php deleted file mode 100644 index 7853437f13..0000000000 --- a/lib/zend/Zend/Cache.php +++ /dev/null @@ -1,245 +0,0 @@ -setBackend($backendObject); - return $frontendObject; - } - - /** - * Frontend Constructor - * - * @param string $backend - * @param array $backendOptions - * @param boolean $customBackendNaming - * @param boolean $autoload - * @return Zend_Cache_Backend - */ - public static function _makeBackend($backend, $backendOptions, $customBackendNaming = false, $autoload = false) - { - if (!$customBackendNaming) { - $backend = self::_normalizeName($backend); - } - if (in_array($backend, Zend_Cache::$standardBackends)) { - // we use a standard backend - $backendClass = 'Zend_Cache_Backend_' . $backend; - // security controls are explicit - require_once str_replace('_', DIRECTORY_SEPARATOR, $backendClass) . '.php'; - } else { - // we use a custom backend - if (!preg_match('~^[\w]+$~D', $backend)) { - Zend_Cache::throwException("Invalid backend name [$backend]"); - } - if (!$customBackendNaming) { - // we use this boolean to avoid an API break - $backendClass = 'Zend_Cache_Backend_' . $backend; - } else { - $backendClass = $backend; - } - if (!$autoload) { - $file = str_replace('_', DIRECTORY_SEPARATOR, $backendClass) . '.php'; - if (!(self::_isReadable($file))) { - self::throwException("file $file not found in include_path"); - } - require_once $file; - } - } - return new $backendClass($backendOptions); - } - - /** - * Backend Constructor - * - * @param string $frontend - * @param array $frontendOptions - * @param boolean $customFrontendNaming - * @param boolean $autoload - * @return Zend_Cache_Core|Zend_Cache_Frontend - */ - public static function _makeFrontend($frontend, $frontendOptions = array(), $customFrontendNaming = false, $autoload = false) - { - if (!$customFrontendNaming) { - $frontend = self::_normalizeName($frontend); - } - if (in_array($frontend, self::$standardFrontends)) { - // we use a standard frontend - // For perfs reasons, with frontend == 'Core', we can interact with the Core itself - $frontendClass = 'Zend_Cache_' . ($frontend != 'Core' ? 'Frontend_' : '') . $frontend; - // security controls are explicit - require_once str_replace('_', DIRECTORY_SEPARATOR, $frontendClass) . '.php'; - } else { - // we use a custom frontend - if (!preg_match('~^[\w]+$~D', $frontend)) { - Zend_Cache::throwException("Invalid frontend name [$frontend]"); - } - if (!$customFrontendNaming) { - // we use this boolean to avoid an API break - $frontendClass = 'Zend_Cache_Frontend_' . $frontend; - } else { - $frontendClass = $frontend; - } - if (!$autoload) { - $file = str_replace('_', DIRECTORY_SEPARATOR, $frontendClass) . '.php'; - if (!(self::_isReadable($file))) { - self::throwException("file $file not found in include_path"); - } - require_once $file; - } - } - return new $frontendClass($frontendOptions); - } - - /** - * Throw an exception - * - * Note : for perf reasons, the "load" of Zend/Cache/Exception is dynamic - * @param string $msg Message for the exception - * @throws Zend_Cache_Exception - */ - public static function throwException($msg) - { - // For perfs reasons, we use this dynamic inclusion - require_once 'Zend/Cache/Exception.php'; - throw new Zend_Cache_Exception($msg); - } - - /** - * Normalize frontend and backend names to allow multiple words TitleCased - * - * @param string $name Name to normalize - * @return string - */ - protected static function _normalizeName($name) - { - $name = ucfirst(strtolower($name)); - $name = str_replace(array('-', '_', '.'), ' ', $name); - $name = ucwords($name); - $name = str_replace(' ', '', $name); - return $name; - } - - /** - * Returns TRUE if the $filename is readable, or FALSE otherwise. - * This function uses the PHP include_path, where PHP's is_readable() - * does not. - * - * Note : this method comes from Zend_Loader (see #ZF-2891 for details) - * - * @param string $filename - * @return boolean - */ - private static function _isReadable($filename) - { - if (!$fh = @fopen($filename, 'r', true)) { - return false; - } - @fclose($fh); - return true; - } - -} diff --git a/lib/zend/Zend/Cache/Backend.php b/lib/zend/Zend/Cache/Backend.php deleted file mode 100644 index cf74e2585b..0000000000 --- a/lib/zend/Zend/Cache/Backend.php +++ /dev/null @@ -1,272 +0,0 @@ - (int) lifetime : - * - Cache lifetime (in seconds) - * - If null, the cache is valid forever - * - * =====> (int) logging : - * - if set to true, a logging is activated throw Zend_Log - * - * @var array directives - */ - protected $_directives = array( - 'lifetime' => 3600, - 'logging' => false, - 'logger' => null - ); - - /** - * Available options - * - * @var array available options - */ - protected $_options = array(); - - /** - * Constructor - * - * @param array $options Associative array of options - * @throws Zend_Cache_Exception - * @return void - */ - public function __construct(array $options = array()) - { - while (list($name, $value) = each($options)) { - $this->setOption($name, $value); - } - } - - /** - * Set the frontend directives - * - * @param array $directives Assoc of directives - * @throws Zend_Cache_Exception - * @return void - */ - public function setDirectives($directives) - { - if (!is_array($directives)) Zend_Cache::throwException('Directives parameter must be an array'); - while (list($name, $value) = each($directives)) { - if (!is_string($name)) { - Zend_Cache::throwException("Incorrect option name : $name"); - } - $name = strtolower($name); - if (array_key_exists($name, $this->_directives)) { - $this->_directives[$name] = $value; - } - - } - - $this->_loggerSanity(); - } - - /** - * Set an option - * - * @param string $name - * @param mixed $value - * @throws Zend_Cache_Exception - * @return void - */ - public function setOption($name, $value) - { - if (!is_string($name)) { - Zend_Cache::throwException("Incorrect option name : $name"); - } - $name = strtolower($name); - if (array_key_exists($name, $this->_options)) { - $this->_options[$name] = $value; - } - } - - /** - * Get the life time - * - * if $specificLifetime is not false, the given specific life time is used - * else, the global lifetime is used - * - * @param int $specificLifetime - * @return int Cache life time - */ - public function getLifetime($specificLifetime) - { - if ($specificLifetime === false) { - return $this->_directives['lifetime']; - } - return $specificLifetime; - } - - /** - * Return true if the automatic cleaning is available for the backend - * - * DEPRECATED : use getCapabilities() instead - * - * @deprecated - * @return boolean - */ - public function isAutomaticCleaningAvailable() - { - return true; - } - - /** - * Determine system TMP directory and detect if we have read access - * - * inspired from Zend_File_Transfer_Adapter_Abstract - * - * @return string - * @throws Zend_Cache_Exception if unable to determine directory - */ - public function getTmpDir() - { - $tmpdir = array(); - foreach (array($_ENV, $_SERVER) as $tab) { - foreach (array('TMPDIR', 'TEMP', 'TMP', 'windir', 'SystemRoot') as $key) { - if (isset($tab[$key])) { - if (($key == 'windir') or ($key == 'SystemRoot')) { - $dir = realpath($tab[$key] . '\\temp'); - } else { - $dir = realpath($tab[$key]); - } - if ($this->_isGoodTmpDir($dir)) { - return $dir; - } - } - } - } - $upload = ini_get('upload_tmp_dir'); - if ($upload) { - $dir = realpath($upload); - if ($this->_isGoodTmpDir($dir)) { - return $dir; - } - } - if (function_exists('sys_get_temp_dir')) { - $dir = sys_get_temp_dir(); - if ($this->_isGoodTmpDir($dir)) { - return $dir; - } - } - // Attemp to detect by creating a temporary file - $tempFile = tempnam(md5(uniqid(rand(), TRUE)), ''); - if ($tempFile) { - $dir = realpath(dirname($tempFile)); - unlink($tempFile); - if ($this->_isGoodTmpDir($dir)) { - return $dir; - } - } - if ($this->_isGoodTmpDir('/tmp')) { - return '/tmp'; - } - if ($this->_isGoodTmpDir('\\temp')) { - return '\\temp'; - } - Zend_Cache::throwException('Could not determine temp directory, please specify a cache_dir manually'); - } - - /** - * Verify if the given temporary directory is readable and writable - * - * @param $dir temporary directory - * @return boolean true if the directory is ok - */ - protected function _isGoodTmpDir($dir) - { - if (is_readable($dir)) { - if (is_writable($dir)) { - return true; - } - } - return false; - } - - /** - * Make sure if we enable logging that the Zend_Log class - * is available. - * Create a default log object if none is set. - * - * @throws Zend_Cache_Exception - * @return void - */ - protected function _loggerSanity() - { - if (!isset($this->_directives['logging']) || !$this->_directives['logging']) { - return; - } - try { - /** - * @see Zend_Log - */ - require_once 'Zend/Log.php'; - } catch (Zend_Exception $e) { - Zend_Cache::throwException('Logging feature is enabled but the Zend_Log class is not available'); - } - if (isset($this->_directives['logger'])) { - if ($this->_directives['logger'] instanceof Zend_Log) { - return; - } else { - Zend_Cache::throwException('Logger object is not an instance of Zend_Log class.'); - } - } - // Create a default logger to the standard output stream - require_once 'Zend/Log/Writer/Stream.php'; - $logger = new Zend_Log(new Zend_Log_Writer_Stream('php://output')); - $this->_directives['logger'] = $logger; - } - - /** - * Log a message at the WARN (4) priority. - * - * @param string $message - * @throws Zend_Cache_Exception - * @return void - */ - protected function _log($message, $priority = 4) - { - if (!$this->_directives['logging']) { - return; - } - - if (!isset($this->_directives['logger'])) { - Zend_Cache::throwException('Logging is enabled but logger is not set.'); - } - $logger = $this->_directives['logger']; - if (!$logger instanceof Zend_Log) { - Zend_Cache::throwException('Logger object is not an instance of Zend_Log class.'); - } - $logger->log($message, $priority); - } -} diff --git a/lib/zend/Zend/Cache/Backend/Apc.php b/lib/zend/Zend/Cache/Backend/Apc.php deleted file mode 100644 index 01a86bd903..0000000000 --- a/lib/zend/Zend/Cache/Backend/Apc.php +++ /dev/null @@ -1,355 +0,0 @@ - infinite lifetime) - * @return boolean true if no problem - */ - public function save($data, $id, $tags = array(), $specificLifetime = false) - { - $lifetime = $this->getLifetime($specificLifetime); - $result = apc_store($id, array($data, time(), $lifetime), $lifetime); - if (count($tags) > 0) { - $this->_log(self::TAGS_UNSUPPORTED_BY_SAVE_OF_APC_BACKEND); - } - return $result; - } - - /** - * Remove a cache record - * - * @param string $id cache id - * @return boolean true if no problem - */ - public function remove($id) - { - return apc_delete($id); - } - - /** - * Clean some cache records - * - * Available modes are : - * 'all' (default) => remove all cache entries ($tags is not used) - * 'old' => unsupported - * 'matchingTag' => unsupported - * 'notMatchingTag' => unsupported - * 'matchingAnyTag' => unsupported - * - * @param string $mode clean mode - * @param array $tags array of tags - * @throws Zend_Cache_Exception - * @return boolean true if no problem - */ - public function clean($mode = Zend_Cache::CLEANING_MODE_ALL, $tags = array()) - { - switch ($mode) { - case Zend_Cache::CLEANING_MODE_ALL: - return apc_clear_cache('user'); - break; - case Zend_Cache::CLEANING_MODE_OLD: - $this->_log("Zend_Cache_Backend_Apc::clean() : CLEANING_MODE_OLD is unsupported by the Apc backend"); - break; - case Zend_Cache::CLEANING_MODE_MATCHING_TAG: - case Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG: - case Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG: - $this->_log(self::TAGS_UNSUPPORTED_BY_CLEAN_OF_APC_BACKEND); - break; - default: - Zend_Cache::throwException('Invalid mode for clean() method'); - break; - } - } - - /** - * Return true if the automatic cleaning is available for the backend - * - * DEPRECATED : use getCapabilities() instead - * - * @deprecated - * @return boolean - */ - public function isAutomaticCleaningAvailable() - { - return false; - } - - /** - * Return the filling percentage of the backend storage - * - * @throws Zend_Cache_Exception - * @return int integer between 0 and 100 - */ - public function getFillingPercentage() - { - $mem = apc_sma_info(true); - $memSize = $mem['num_seg'] * $mem['seg_size']; - $memAvailable= $mem['avail_mem']; - $memUsed = $memSize - $memAvailable; - if ($memSize == 0) { - Zend_Cache::throwException('can\'t get apc memory size'); - } - if ($memUsed > $memSize) { - return 100; - } - return ((int) (100. * ($memUsed / $memSize))); - } - - /** - * Return an array of stored tags - * - * @return array array of stored tags (string) - */ - public function getTags() - { - $this->_log(self::TAGS_UNSUPPORTED_BY_SAVE_OF_APC_BACKEND); - return array(); - } - - /** - * Return an array of stored cache ids which match given tags - * - * In case of multiple tags, a logical AND is made between tags - * - * @param array $tags array of tags - * @return array array of matching cache ids (string) - */ - public function getIdsMatchingTags($tags = array()) - { - $this->_log(self::TAGS_UNSUPPORTED_BY_SAVE_OF_APC_BACKEND); - return array(); - } - - /** - * Return an array of stored cache ids which don't match given tags - * - * In case of multiple tags, a logical OR is made between tags - * - * @param array $tags array of tags - * @return array array of not matching cache ids (string) - */ - public function getIdsNotMatchingTags($tags = array()) - { - $this->_log(self::TAGS_UNSUPPORTED_BY_SAVE_OF_APC_BACKEND); - return array(); - } - - /** - * Return an array of stored cache ids which match any given tags - * - * In case of multiple tags, a logical AND is made between tags - * - * @param array $tags array of tags - * @return array array of any matching cache ids (string) - */ - public function getIdsMatchingAnyTags($tags = array()) - { - $this->_log(self::TAGS_UNSUPPORTED_BY_SAVE_OF_APC_BACKEND); - return array(); - } - - /** - * Return an array of stored cache ids - * - * @return array array of stored cache ids (string) - */ - public function getIds() - { - $res = array(); - $array = apc_cache_info('user', false); - $records = $array['cache_list']; - foreach ($records as $record) { - $res[] = $record['info']; - } - return $res; - } - - /** - * Return an array of metadatas for the given cache id - * - * The array must include these keys : - * - expire : the expire timestamp - * - tags : a string array of tags - * - mtime : timestamp of last modification time - * - * @param string $id cache id - * @return array array of metadatas (false if the cache id is not found) - */ - public function getMetadatas($id) - { - $tmp = apc_fetch($id); - if (is_array($tmp)) { - $data = $tmp[0]; - $mtime = $tmp[1]; - if (!isset($tmp[2])) { - // because this record is only with 1.7 release - // if old cache records are still there... - return false; - } - $lifetime = $tmp[2]; - return array( - 'expire' => $mtime + $lifetime, - 'tags' => array(), - 'mtime' => $mtime - ); - } - return false; - } - - /** - * Give (if possible) an extra lifetime to the given cache id - * - * @param string $id cache id - * @param int $extraLifetime - * @return boolean true if ok - */ - public function touch($id, $extraLifetime) - { - $tmp = apc_fetch($id); - if (is_array($tmp)) { - $data = $tmp[0]; - $mtime = $tmp[1]; - if (!isset($tmp[2])) { - // because this record is only with 1.7 release - // if old cache records are still there... - return false; - } - $lifetime = $tmp[2]; - $newLifetime = $lifetime - (time() - $mtime) + $extraLifetime; - if ($newLifetime <=0) { - return false; - } - apc_store($id, array($data, time(), $newLifetime), $newLifetime); - return true; - } - return false; - } - - /** - * Return an associative array of capabilities (booleans) of the backend - * - * The array must include these keys : - * - automatic_cleaning (is automating cleaning necessary) - * - tags (are tags supported) - * - expired_read (is it possible to read expired cache records - * (for doNotTestCacheValidity option for example)) - * - priority does the backend deal with priority when saving - * - infinite_lifetime (is infinite lifetime can work with this backend) - * - get_list (is it possible to get the list of cache ids and the complete list of tags) - * - * @return array associative of with capabilities - */ - public function getCapabilities() - { - return array( - 'automatic_cleaning' => false, - 'tags' => false, - 'expired_read' => false, - 'priority' => false, - 'infinite_lifetime' => false, - 'get_list' => true - ); - } - -} diff --git a/lib/zend/Zend/Cache/Backend/ExtendedInterface.php b/lib/zend/Zend/Cache/Backend/ExtendedInterface.php deleted file mode 100644 index cae8f504fa..0000000000 --- a/lib/zend/Zend/Cache/Backend/ExtendedInterface.php +++ /dev/null @@ -1,126 +0,0 @@ - (string) cache_dir : - * - Directory where to put the cache files - * - * =====> (boolean) file_locking : - * - Enable / disable file_locking - * - Can avoid cache corruption under bad circumstances but it doesn't work on multithread - * webservers and on NFS filesystems for example - * - * =====> (boolean) read_control : - * - Enable / disable read control - * - If enabled, a control key is embeded in cache file and this key is compared with the one - * calculated after the reading. - * - * =====> (string) read_control_type : - * - Type of read control (only if read control is enabled). Available values are : - * 'md5' for a md5 hash control (best but slowest) - * 'crc32' for a crc32 hash control (lightly less safe but faster, better choice) - * 'adler32' for an adler32 hash control (excellent choice too, faster than crc32) - * 'strlen' for a length only test (fastest) - * - * =====> (int) hashed_directory_level : - * - Hashed directory level - * - Set the hashed directory structure level. 0 means "no hashed directory - * structure", 1 means "one level of directory", 2 means "two levels"... - * This option can speed up the cache only when you have many thousands of - * cache file. Only specific benchs can help you to choose the perfect value - * for you. Maybe, 1 or 2 is a good start. - * - * =====> (int) hashed_directory_umask : - * - Umask for hashed directory structure - * - * =====> (string) file_name_prefix : - * - prefix for cache files - * - be really carefull with this option because a too generic value in a system cache dir - * (like /tmp) can cause disasters when cleaning the cache - * - * =====> (int) cache_file_umask : - * - Umask for cache files - * - * =====> (int) metatadatas_array_max_size : - * - max size for the metadatas array (don't change this value unless you - * know what you are doing) - * - * @var array available options - */ - protected $_options = array( - 'cache_dir' => null, - 'file_locking' => true, - 'read_control' => true, - 'read_control_type' => 'crc32', - 'hashed_directory_level' => 0, - 'hashed_directory_umask' => 0700, - 'file_name_prefix' => 'zend_cache', - 'cache_file_umask' => 0600, - 'metadatas_array_max_size' => 100 - ); - - /** - * Array of metadatas (each item is an associative array) - * - * @var array - */ - protected $_metadatasArray = array(); - - - /** - * Constructor - * - * @param array $options associative array of options - * @throws Zend_Cache_Exception - * @return void - */ - public function __construct(array $options = array()) - { - parent::__construct($options); - if ($this->_options['cache_dir'] !== null) { // particular case for this option - $this->setCacheDir($this->_options['cache_dir']); - } else { - $this->setCacheDir(self::getTmpDir() . DIRECTORY_SEPARATOR, false); - } - if (isset($this->_options['file_name_prefix'])) { // particular case for this option - if (!preg_match('~^[\w]+$~', $this->_options['file_name_prefix'])) { - Zend_Cache::throwException('Invalid file_name_prefix : must use only [a-zA-A0-9_]'); - } - } - if ($this->_options['metadatas_array_max_size'] < 10) { - Zend_Cache::throwException('Invalid metadatas_array_max_size, must be > 10'); - } - if (isset($options['hashed_directory_umask']) && is_string($options['hashed_directory_umask'])) { - // See #ZF-4422 - $this->_options['hashed_directory_umask'] = octdec($this->_options['hashed_directory_umask']); - } - if (isset($options['cache_file_umask']) && is_string($options['cache_file_umask'])) { - // See #ZF-4422 - $this->_options['cache_file_umask'] = octdec($this->_options['cache_file_umask']); - } - } - - /** - * Set the cache_dir (particular case of setOption() method) - * - * @param string $value - * @param boolean $trailingSeparator If true, add a trailing separator is necessary - * @throws Zend_Cache_Exception - * @return void - */ - public function setCacheDir($value, $trailingSeparator = true) - { - if (!is_dir($value)) { - Zend_Cache::throwException('cache_dir must be a directory'); - } - if (!is_writable($value)) { - Zend_Cache::throwException('cache_dir is not writable'); - } - if ($trailingSeparator) { - // add a trailing DIRECTORY_SEPARATOR if necessary - $value = rtrim(realpath($value), '\\/') . DIRECTORY_SEPARATOR; - } - $this->_options['cache_dir'] = $value; - } - - /** - * Test if a cache is available for the given id and (if yes) return it (false else) - * - * @param string $id cache id - * @param boolean $doNotTestCacheValidity if set to true, the cache validity won't be tested - * @return string|false cached datas - */ - public function load($id, $doNotTestCacheValidity = false) - { - if (!($this->_test($id, $doNotTestCacheValidity))) { - // The cache is not hit ! - return false; - } - $metadatas = $this->_getMetadatas($id); - $file = $this->_file($id); - $data = $this->_fileGetContents($file); - if ($this->_options['read_control']) { - $hashData = $this->_hash($data, $this->_options['read_control_type']); - $hashControl = $metadatas['hash']; - if ($hashData != $hashControl) { - // Problem detected by the read control ! - $this->_log('Zend_Cache_Backend_File::load() / read_control : stored hash and computed hash do not match'); - $this->remove($id); - return false; - } - } - return $data; - } - - /** - * Test if a cache is available or not (for the given id) - * - * @param string $id cache id - * @return mixed false (a cache is not available) or "last modified" timestamp (int) of the available cache record - */ - public function test($id) - { - clearstatcache(); - return $this->_test($id, false); - } - - /** - * Save some string datas into a cache record - * - * Note : $data is always "string" (serialization is done by the - * core not by the backend) - * - * @param string $data Datas to cache - * @param string $id Cache id - * @param array $tags Array of strings, the cache record will be tagged by each string entry - * @param int $specificLifetime If != false, set a specific lifetime for this cache record (null => infinite lifetime) - * @return boolean true if no problem - */ - public function save($data, $id, $tags = array(), $specificLifetime = false) - { - clearstatcache(); - $file = $this->_file($id); - $path = $this->_path($id); - if ($this->_options['hashed_directory_level'] > 0) { - if (!is_writable($path)) { - // maybe, we just have to build the directory structure - $this->_recursiveMkdirAndChmod($id); - } - if (!is_writable($path)) { - return false; - } - } - if ($this->_options['read_control']) { - $hash = $this->_hash($data, $this->_options['read_control_type']); - } else { - $hash = ''; - } - $metadatas = array( - 'hash' => $hash, - 'mtime' => time(), - 'expire' => $this->_expireTime($this->getLifetime($specificLifetime)), - 'tags' => $tags - ); - $res = $this->_setMetadatas($id, $metadatas); - if (!$res) { - $this->_log('Zend_Cache_Backend_File::save() / error on saving metadata'); - return false; - } - $res = $this->_filePutContents($file, $data); - return $res; - } - - /** - * Remove a cache record - * - * @param string $id cache id - * @return boolean true if no problem - */ - public function remove($id) - { - $file = $this->_file($id); - $boolRemove = $this->_remove($file); - $boolMetadata = $this->_delMetadatas($id); - return $boolMetadata && $boolRemove; - } - - /** - * Clean some cache records - * - * Available modes are : - * 'all' (default) => remove all cache entries ($tags is not used) - * 'old' => remove too old cache entries ($tags is not used) - * 'matchingTag' => remove cache entries matching all given tags - * ($tags can be an array of strings or a single string) - * 'notMatchingTag' => remove cache entries not matching one of the given tags - * ($tags can be an array of strings or a single string) - * 'matchingAnyTag' => remove cache entries matching any given tags - * ($tags can be an array of strings or a single string) - * - * @param string $mode clean mode - * @param tags array $tags array of tags - * @return boolean true if no problem - */ - public function clean($mode = Zend_Cache::CLEANING_MODE_ALL, $tags = array()) - { - // We use this protected method to hide the recursive stuff - clearstatcache(); - return $this->_clean($this->_options['cache_dir'], $mode, $tags); - } - - /** - * Return an array of stored cache ids - * - * @return array array of stored cache ids (string) - */ - public function getIds() - { - return $this->_get($this->_options['cache_dir'], 'ids', array()); - } - - /** - * Return an array of stored tags - * - * @return array array of stored tags (string) - */ - public function getTags() - { - return $this->_get($this->_options['cache_dir'], 'tags', array()); - } - - /** - * Return an array of stored cache ids which match given tags - * - * In case of multiple tags, a logical AND is made between tags - * - * @param array $tags array of tags - * @return array array of matching cache ids (string) - */ - public function getIdsMatchingTags($tags = array()) - { - return $this->_get($this->_options['cache_dir'], 'matching', $tags); - } - - /** - * Return an array of stored cache ids which don't match given tags - * - * In case of multiple tags, a logical OR is made between tags - * - * @param array $tags array of tags - * @return array array of not matching cache ids (string) - */ - public function getIdsNotMatchingTags($tags = array()) - { - return $this->_get($this->_options['cache_dir'], 'notMatching', $tags); - } - - /** - * Return an array of stored cache ids which match any given tags - * - * In case of multiple tags, a logical AND is made between tags - * - * @param array $tags array of tags - * @return array array of any matching cache ids (string) - */ - public function getIdsMatchingAnyTags($tags = array()) - { - return $this->_get($this->_options['cache_dir'], 'matchingAny', $tags); - } - - /** - * Return the filling percentage of the backend storage - * - * @throws Zend_Cache_Exception - * @return int integer between 0 and 100 - */ - public function getFillingPercentage() - { - $free = disk_free_space($this->_options['cache_dir']); - $total = disk_total_space($this->_options['cache_dir']); - if ($total == 0) { - Zend_Cache::throwException('can\'t get disk_total_space'); - } else { - if ($free >= $total) { - return 100; - } - return ((int) (100. * ($total - $free) / $total)); - } - } - - /** - * Return an array of metadatas for the given cache id - * - * The array must include these keys : - * - expire : the expire timestamp - * - tags : a string array of tags - * - mtime : timestamp of last modification time - * - * @param string $id cache id - * @return array array of metadatas (false if the cache id is not found) - */ - public function getMetadatas($id) - { - $metadatas = $this->_getMetadatas($id); - if (!$metadatas) { - return false; - } - if (time() > $metadatas['expire']) { - return false; - } - return array( - 'expire' => $metadatas['expire'], - 'tags' => $metadatas['tags'], - 'mtime' => $metadatas['mtime'] - ); - } - - /** - * Give (if possible) an extra lifetime to the given cache id - * - * @param string $id cache id - * @param int $extraLifetime - * @return boolean true if ok - */ - public function touch($id, $extraLifetime) - { - $metadatas = $this->_getMetadatas($id); - if (!$metadatas) { - return false; - } - if (time() > $metadatas['expire']) { - return false; - } - $newMetadatas = array( - 'hash' => $metadatas['hash'], - 'mtime' => time(), - 'expire' => $metadatas['expire'] + $extraLifetime, - 'tags' => $metadatas['tags'] - ); - $res = $this->_setMetadatas($id, $newMetadatas); - if (!$res) { - return false; - } - return true; - } - - /** - * Return an associative array of capabilities (booleans) of the backend - * - * The array must include these keys : - * - automatic_cleaning (is automating cleaning necessary) - * - tags (are tags supported) - * - expired_read (is it possible to read expired cache records - * (for doNotTestCacheValidity option for example)) - * - priority does the backend deal with priority when saving - * - infinite_lifetime (is infinite lifetime can work with this backend) - * - get_list (is it possible to get the list of cache ids and the complete list of tags) - * - * @return array associative of with capabilities - */ - public function getCapabilities() - { - return array( - 'automatic_cleaning' => true, - 'tags' => true, - 'expired_read' => true, - 'priority' => false, - 'infinite_lifetime' => true, - 'get_list' => true - ); - } - - /** - * PUBLIC METHOD FOR UNIT TESTING ONLY ! - * - * Force a cache record to expire - * - * @param string $id cache id - */ - public function ___expire($id) - { - $metadatas = $this->_getMetadatas($id); - if ($metadatas) { - $metadatas['expire'] = 1; - $this->_setMetadatas($id, $metadatas); - } - } - - /** - * Get a metadatas record - * - * @param string $id Cache id - * @return array|false Associative array of metadatas - */ - protected function _getMetadatas($id) - { - if (isset($this->_metadatasArray[$id])) { - return $this->_metadatasArray[$id]; - } else { - $metadatas = $this->_loadMetadatas($id); - if (!$metadatas) { - return false; - } - $this->_setMetadatas($id, $metadatas, false); - return $metadatas; - } - } - - /** - * Set a metadatas record - * - * @param string $id Cache id - * @param array $metadatas Associative array of metadatas - * @param boolean $save optional pass false to disable saving to file - * @return boolean True if no problem - */ - protected function _setMetadatas($id, $metadatas, $save = true) - { - if (count($this->_metadatasArray) >= $this->_options['metadatas_array_max_size']) { - $n = (int) ($this->_options['metadatas_array_max_size'] / 10); - $this->_metadatasArray = array_slice($this->_metadatasArray, $n); - } - if ($save) { - $result = $this->_saveMetadatas($id, $metadatas); - if (!$result) { - return false; - } - } - $this->_metadatasArray[$id] = $metadatas; - return true; - } - - /** - * Drop a metadata record - * - * @param string $id Cache id - * @return boolean True if no problem - */ - protected function _delMetadatas($id) - { - if (isset($this->_metadatasArray[$id])) { - unset($this->_metadatasArray[$id]); - } - $file = $this->_metadatasFile($id); - return $this->_remove($file); - } - - /** - * Clear the metadatas array - * - * @return void - */ - protected function _cleanMetadatas() - { - $this->_metadatasArray = array(); - } - - /** - * Load metadatas from disk - * - * @param string $id Cache id - * @return array|false Metadatas associative array - */ - protected function _loadMetadatas($id) - { - $file = $this->_metadatasFile($id); - $result = $this->_fileGetContents($file); - if (!$result) { - return false; - } - $tmp = @unserialize($result); - return $tmp; - } - - /** - * Save metadatas to disk - * - * @param string $id Cache id - * @param array $metadatas Associative array - * @return boolean True if no problem - */ - protected function _saveMetadatas($id, $metadatas) - { - $file = $this->_metadatasFile($id); - $result = $this->_filePutContents($file, serialize($metadatas)); - if (!$result) { - return false; - } - return true; - } - - /** - * Make and return a file name (with path) for metadatas - * - * @param string $id Cache id - * @return string Metadatas file name (with path) - */ - protected function _metadatasFile($id) - { - $path = $this->_path($id); - $fileName = $this->_idToFileName('internal-metadatas---' . $id); - return $path . $fileName; - } - - /** - * Check if the given filename is a metadatas one - * - * @param string $fileName File name - * @return boolean True if it's a metadatas one - */ - protected function _isMetadatasFile($fileName) - { - $id = $this->_fileNameToId($fileName); - if (substr($id, 0, 21) == 'internal-metadatas---') { - return true; - } else { - return false; - } - } - - /** - * Remove a file - * - * If we can't remove the file (because of locks or any problem), we will touch - * the file to invalidate it - * - * @param string $file Complete file path - * @return boolean True if ok - */ - protected function _remove($file) - { - if (!is_file($file)) { - return false; - } - if (!@unlink($file)) { - # we can't remove the file (because of locks or any problem) - $this->_log("Zend_Cache_Backend_File::_remove() : we can't remove $file"); - return false; - } - return true; - } - - /** - * Clean some cache records (protected method used for recursive stuff) - * - * Available modes are : - * Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used) - * Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used) - * Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags - * ($tags can be an array of strings or a single string) - * Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags} - * ($tags can be an array of strings or a single string) - * Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags - * ($tags can be an array of strings or a single string) - * - * @param string $dir Directory to clean - * @param string $mode Clean mode - * @param array $tags Array of tags - * @throws Zend_Cache_Exception - * @return boolean True if no problem - */ - protected function _clean($dir, $mode = Zend_Cache::CLEANING_MODE_ALL, $tags = array()) - { - if (!is_dir($dir)) { - return false; - } - $result = true; - $prefix = $this->_options['file_name_prefix']; - $glob = @glob($dir . $prefix . '--*'); - if ($glob === false) { - return true; - } - foreach ($glob as $file) { - if (is_file($file)) { - $fileName = basename($file); - if ($this->_isMetadatasFile($fileName)) { - // in CLEANING_MODE_ALL, we drop anything, even remainings old metadatas files - if ($mode != Zend_Cache::CLEANING_MODE_ALL) { - continue; - } - } - $id = $this->_fileNameToId($fileName); - $metadatas = $this->_getMetadatas($id); - if ($metadatas === FALSE) { - $metadatas = array('expire' => 1, 'tags' => array()); - } - switch ($mode) { - case Zend_Cache::CLEANING_MODE_ALL: - $res = $this->remove($id); - if (!$res) { - // in this case only, we accept a problem with the metadatas file drop - $res = $this->_remove($file); - } - $result = $result && $res; - break; - case Zend_Cache::CLEANING_MODE_OLD: - if (time() > $metadatas['expire']) { - $result = $this->remove($id) && $result; - } - break; - case Zend_Cache::CLEANING_MODE_MATCHING_TAG: - $matching = true; - foreach ($tags as $tag) { - if (!in_array($tag, $metadatas['tags'])) { - $matching = false; - break; - } - } - if ($matching) { - $result = $this->remove($id) && $result; - } - break; - case Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG: - $matching = false; - foreach ($tags as $tag) { - if (in_array($tag, $metadatas['tags'])) { - $matching = true; - break; - } - } - if (!$matching) { - $result = $this->remove($id) && $result; - } - break; - case Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG: - $matching = false; - foreach ($tags as $tag) { - if (in_array($tag, $metadatas['tags'])) { - $matching = true; - break; - } - } - if ($matching) { - $result = $this->remove($id) && $result; - } - break; - default: - Zend_Cache::throwException('Invalid mode for clean() method'); - break; - } - } - if ((is_dir($file)) and ($this->_options['hashed_directory_level']>0)) { - // Recursive call - $result = $this->_clean($file . DIRECTORY_SEPARATOR, $mode, $tags) && $result; - if ($mode=='all') { - // if mode=='all', we try to drop the structure too - @rmdir($file); - } - } - } - return $result; - } - - protected function _get($dir, $mode, $tags = array()) - { - if (!is_dir($dir)) { - return false; - } - $result = array(); - $prefix = $this->_options['file_name_prefix']; - $glob = @glob($dir . $prefix . '--*'); - if ($glob === false) { - return true; - } - foreach ($glob as $file) { - if (is_file($file)) { - $fileName = basename($file); - $id = $this->_fileNameToId($fileName); - $metadatas = $this->_getMetadatas($id); - if ($metadatas === FALSE) { - continue; - } - if (time() > $metadatas['expire']) { - continue; - } - switch ($mode) { - case 'ids': - $result[] = $id; - break; - case 'tags': - $result = array_unique(array_merge($result, $metadatas['tags'])); - break; - case 'matching': - $matching = true; - foreach ($tags as $tag) { - if (!in_array($tag, $metadatas['tags'])) { - $matching = false; - break; - } - } - if ($matching) { - $result[] = $id; - } - break; - case 'notMatching': - $matching = false; - foreach ($tags as $tag) { - if (in_array($tag, $metadatas['tags'])) { - $matching = true; - break; - } - } - if (!$matching) { - $result[] = $id; - } - break; - case 'matchingAny': - $matching = false; - foreach ($tags as $tag) { - if (in_array($tag, $metadatas['tags'])) { - $matching = true; - break; - } - } - if ($matching) { - $result[] = $id; - } - break; - default: - Zend_Cache::throwException('Invalid mode for _get() method'); - break; - } - } - if ((is_dir($file)) and ($this->_options['hashed_directory_level']>0)) { - // Recursive call - $result = array_unique(array_merge($result, $this->_get($file . DIRECTORY_SEPARATOR, $mode, $tags))); - } - } - return array_unique($result); - } - - /** - * Compute & return the expire time - * - * @return int expire time (unix timestamp) - */ - protected function _expireTime($lifetime) - { - if ($lifetime === null) { - return 9999999999; - } - return time() + $lifetime; - } - - /** - * Make a control key with the string containing datas - * - * @param string $data Data - * @param string $controlType Type of control 'md5', 'crc32' or 'strlen' - * @throws Zend_Cache_Exception - * @return string Control key - */ - protected function _hash($data, $controlType) - { - switch ($controlType) { - case 'md5': - return md5($data); - case 'crc32': - return crc32($data); - case 'strlen': - return strlen($data); - case 'adler32': - return hash('adler32', $data); - default: - Zend_Cache::throwException("Incorrect hash function : $controlType"); - } - } - - /** - * Transform a cache id into a file name and return it - * - * @param string $id Cache id - * @return string File name - */ - protected function _idToFileName($id) - { - $prefix = $this->_options['file_name_prefix']; - $result = $prefix . '---' . $id; - return $result; - } - - /** - * Make and return a file name (with path) - * - * @param string $id Cache id - * @return string File name (with path) - */ - protected function _file($id) - { - $path = $this->_path($id); - $fileName = $this->_idToFileName($id); - return $path . $fileName; - } - - /** - * Return the complete directory path of a filename (including hashedDirectoryStructure) - * - * @param string $id Cache id - * @param boolean $parts if true, returns array of directory parts instead of single string - * @return string Complete directory path - */ - protected function _path($id, $parts = false) - { - $partsArray = array(); - $root = $this->_options['cache_dir']; - $prefix = $this->_options['file_name_prefix']; - if ($this->_options['hashed_directory_level']>0) { - $hash = hash('adler32', $id); - for ($i=0 ; $i < $this->_options['hashed_directory_level'] ; $i++) { - $root = $root . $prefix . '--' . substr($hash, 0, $i + 1) . DIRECTORY_SEPARATOR; - $partsArray[] = $root; - } - } - if ($parts) { - return $partsArray; - } else { - return $root; - } - } - - /** - * Make the directory strucuture for the given id - * - * @param string $id cache id - * @return boolean true - */ - protected function _recursiveMkdirAndChmod($id) - { - if ($this->_options['hashed_directory_level'] <=0) { - return true; - } - $partsArray = $this->_path($id, true); - foreach ($partsArray as $part) { - if (!is_dir($part)) { - @mkdir($part, $this->_options['hashed_directory_umask']); - @chmod($part, $this->_options['hashed_directory_umask']); // see #ZF-320 (this line is required in some configurations) - } - } - return true; - } - - /** - * Test if the given cache id is available (and still valid as a cache record) - * - * @param string $id Cache id - * @param boolean $doNotTestCacheValidity If set to true, the cache validity won't be tested - * @return boolean|mixed false (a cache is not available) or "last modified" timestamp (int) of the available cache record - */ - protected function _test($id, $doNotTestCacheValidity) - { - $metadatas = $this->_getMetadatas($id); - if (!$metadatas) { - return false; - } - if ($doNotTestCacheValidity || (time() <= $metadatas['expire'])) { - return $metadatas['mtime']; - } - return false; - } - - /** - * Return the file content of the given file - * - * @param string $file File complete path - * @return string File content (or false if problem) - */ - protected function _fileGetContents($file) - { - $result = false; - if (!is_file($file)) { - return false; - } - $f = @fopen($file, 'rb'); - if ($f) { - if ($this->_options['file_locking']) @flock($f, LOCK_SH); - $result = stream_get_contents($f); - if ($this->_options['file_locking']) @flock($f, LOCK_UN); - @fclose($f); - } - return $result; - } - - /** - * Put the given string into the given file - * - * @param string $file File complete path - * @param string $string String to put in file - * @return boolean true if no problem - */ - protected function _filePutContents($file, $string) - { - $result = false; - $f = @fopen($file, 'ab+'); - if ($f) { - if ($this->_options['file_locking']) @flock($f, LOCK_EX); - fseek($f, 0); - ftruncate($f, 0); - $tmp = @fwrite($f, $string); - if (!($tmp === FALSE)) { - $result = true; - } - @fclose($f); - } - @chmod($file, $this->_options['cache_file_umask']); - return $result; - } - - /** - * Transform a file name into cache id and return it - * - * @param string $fileName File name - * @return string Cache id - */ - protected function _fileNameToId($fileName) - { - $prefix = $this->_options['file_name_prefix']; - return preg_replace('~^' . $prefix . '---(.*)$~', '$1', $fileName); - } - -} diff --git a/lib/zend/Zend/Cache/Backend/Interface.php b/lib/zend/Zend/Cache/Backend/Interface.php deleted file mode 100644 index 99d15fa227..0000000000 --- a/lib/zend/Zend/Cache/Backend/Interface.php +++ /dev/null @@ -1,99 +0,0 @@ - infinite lifetime) - * @return boolean true if no problem - */ - public function save($data, $id, $tags = array(), $specificLifetime = false); - - /** - * Remove a cache record - * - * @param string $id Cache id - * @return boolean True if no problem - */ - public function remove($id); - - /** - * Clean some cache records - * - * Available modes are : - * Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used) - * Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used) - * Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags - * ($tags can be an array of strings or a single string) - * Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags} - * ($tags can be an array of strings or a single string) - * Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags - * ($tags can be an array of strings or a single string) - * - * @param string $mode Clean mode - * @param array $tags Array of tags - * @return boolean true if no problem - */ - public function clean($mode = Zend_Cache::CLEANING_MODE_ALL, $tags = array()); - -} diff --git a/lib/zend/Zend/Cache/Backend/Memcached.php b/lib/zend/Zend/Cache/Backend/Memcached.php deleted file mode 100644 index bc899292ae..0000000000 --- a/lib/zend/Zend/Cache/Backend/Memcached.php +++ /dev/null @@ -1,502 +0,0 @@ - (array) servers : - * an array of memcached server ; each memcached server is described by an associative array : - * 'host' => (string) : the name of the memcached server - * 'port' => (int) : the port of the memcached server - * 'persistent' => (bool) : use or not persistent connections to this memcached server - * 'weight' => (int) : number of buckets to create for this server which in turn control its - * probability of it being selected. The probability is relative to the total - * weight of all servers. - * 'timeout' => (int) : value in seconds which will be used for connecting to the daemon. Think twice - * before changing the default value of 1 second - you can lose all the - * advantages of caching if your connection is too slow. - * 'retry_interval' => (int) : controls how often a failed server will be retried, the default value - * is 15 seconds. Setting this parameter to -1 disables automatic retry. - * 'status' => (bool) : controls if the server should be flagged as online. - * 'failure_callback' => (callback) : Allows the user to specify a callback function to run upon - * encountering an error. The callback is run before failover - * is attempted. The function takes two parameters, the hostname - * and port of the failed server. - * - * =====> (boolean) compression : - * true if you want to use on-the-fly compression - * - * =====> (boolean) compatibility : - * true if you use old memcache server or extension - * - * @var array available options - */ - protected $_options = array( - 'servers' => array(array( - 'host' => self::DEFAULT_HOST, - 'port' => self::DEFAULT_PORT, - 'persistent' => self::DEFAULT_PERSISTENT, - 'weight' => self::DEFAULT_WEIGHT, - 'timeout' => self::DEFAULT_TIMEOUT, - 'retry_interval' => self::DEFAULT_RETRY_INTERVAL, - 'status' => self::DEFAULT_STATUS, - 'failure_callback' => self::DEFAULT_FAILURE_CALLBACK - )), - 'compression' => false, - 'compatibility' => false, - ); - - /** - * Memcache object - * - * @var mixed memcache object - */ - protected $_memcache = null; - - /** - * Constructor - * - * @param array $options associative array of options - * @throws Zend_Cache_Exception - * @return void - */ - public function __construct(array $options = array()) - { - if (!extension_loaded('memcache')) { - Zend_Cache::throwException('The memcache extension must be loaded for using this backend !'); - } - parent::__construct($options); - if (isset($this->_options['servers'])) { - $value= $this->_options['servers']; - if (isset($value['host'])) { - // in this case, $value seems to be a simple associative array (one server only) - $value = array(0 => $value); // let's transform it into a classical array of associative arrays - } - $this->setOption('servers', $value); - } - $this->_memcache = new Memcache; - foreach ($this->_options['servers'] as $server) { - if (!array_key_exists('port', $server)) { - $server['port'] = self::DEFAULT_PORT; - } - if (!array_key_exists('persistent', $server)) { - $server['persistent'] = self::DEFAULT_PERSISTENT; - } - if (!array_key_exists('weight', $server)) { - $server['weight'] = self::DEFAULT_WEIGHT; - } - if (!array_key_exists('timeout', $server)) { - $server['timeout'] = self::DEFAULT_TIMEOUT; - } - if (!array_key_exists('retry_interval', $server)) { - $server['retry_interval'] = self::DEFAULT_RETRY_INTERVAL; - } - if (!array_key_exists('status', $server)) { - $server['status'] = self::DEFAULT_STATUS; - } - if (!array_key_exists('failure_callback', $server)) { - $server['failure_callback'] = self::DEFAULT_FAILURE_CALLBACK; - } - if ($this->_options['compatibility']) { - // No status for compatibility mode (#ZF-5887) - $this->_memcache->addServer($server['host'], $server['port'], $server['persistent'], - $server['weight'], $server['timeout'], - $server['retry_interval']); - } else { - $this->_memcache->addServer($server['host'], $server['port'], $server['persistent'], - $server['weight'], $server['timeout'], - $server['retry_interval'], - $server['status'], $server['failure_callback']); - } - } - } - - /** - * Test if a cache is available for the given id and (if yes) return it (false else) - * - * @param string $id Cache id - * @param boolean $doNotTestCacheValidity If set to true, the cache validity won't be tested - * @return string|false cached datas - */ - public function load($id, $doNotTestCacheValidity = false) - { - $tmp = $this->_memcache->get($id); - if (is_array($tmp)) { - return $tmp[0]; - } - return false; - } - - /** - * Test if a cache is available or not (for the given id) - * - * @param string $id Cache id - * @return mixed|false (a cache is not available) or "last modified" timestamp (int) of the available cache record - */ - public function test($id) - { - $tmp = $this->_memcache->get($id); - if (is_array($tmp)) { - return $tmp[1]; - } - return false; - } - - /** - * Save some string datas into a cache record - * - * Note : $data is always "string" (serialization is done by the - * core not by the backend) - * - * @param string $data Datas to cache - * @param string $id Cache id - * @param array $tags Array of strings, the cache record will be tagged by each string entry - * @param int $specificLifetime If != false, set a specific lifetime for this cache record (null => infinite lifetime) - * @return boolean True if no problem - */ - public function save($data, $id, $tags = array(), $specificLifetime = false) - { - $lifetime = $this->getLifetime($specificLifetime); - if ($this->_options['compression']) { - $flag = MEMCACHE_COMPRESSED; - } else { - $flag = 0; - } - // #ZF-5702 : we try add() first becase set() seems to be slower - if (!($result = $this->_memcache->add($id, array($data, time(), $lifetime), $flag, $lifetime))) { - $result = $this->_memcache->set($id, array($data, time(), $lifetime), $flag, $lifetime); - } - if (count($tags) > 0) { - $this->_log("Zend_Cache_Backend_Memcached::save() : tags are unsupported by the Memcached backend"); - } - return $result; - } - - /** - * Remove a cache record - * - * @param string $id Cache id - * @return boolean True if no problem - */ - public function remove($id) - { - return $this->_memcache->delete($id); - } - - /** - * Clean some cache records - * - * Available modes are : - * 'all' (default) => remove all cache entries ($tags is not used) - * 'old' => unsupported - * 'matchingTag' => unsupported - * 'notMatchingTag' => unsupported - * 'matchingAnyTag' => unsupported - * - * @param string $mode Clean mode - * @param array $tags Array of tags - * @throws Zend_Cache_Exception - * @return boolean True if no problem - */ - public function clean($mode = Zend_Cache::CLEANING_MODE_ALL, $tags = array()) - { - switch ($mode) { - case Zend_Cache::CLEANING_MODE_ALL: - return $this->_memcache->flush(); - break; - case Zend_Cache::CLEANING_MODE_OLD: - $this->_log("Zend_Cache_Backend_Memcached::clean() : CLEANING_MODE_OLD is unsupported by the Memcached backend"); - break; - case Zend_Cache::CLEANING_MODE_MATCHING_TAG: - case Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG: - case Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG: - $this->_log(self::TAGS_UNSUPPORTED_BY_CLEAN_OF_MEMCACHED_BACKEND); - break; - default: - Zend_Cache::throwException('Invalid mode for clean() method'); - break; - } - } - - /** - * Return true if the automatic cleaning is available for the backend - * - * @return boolean - */ - public function isAutomaticCleaningAvailable() - { - return false; - } - - /** - * Set the frontend directives - * - * @param array $directives Assoc of directives - * @throws Zend_Cache_Exception - * @return void - */ - public function setDirectives($directives) - { - parent::setDirectives($directives); - $lifetime = $this->getLifetime(false); - if ($lifetime > 2592000) { - // #ZF-3490 : For the memcached backend, there is a lifetime limit of 30 days (2592000 seconds) - $this->_log('memcached backend has a limit of 30 days (2592000 seconds) for the lifetime'); - } - if ($lifetime === null) { - // #ZF-4614 : we tranform null to zero to get the maximal lifetime - parent::setDirectives(array('lifetime' => 0)); - } - } - - /** - * Return an array of stored cache ids - * - * @return array array of stored cache ids (string) - */ - public function getIds() - { - $this->_log("Zend_Cache_Backend_Memcached::save() : getting the list of cache ids is unsupported by the Memcache backend"); - return array(); - } - - /** - * Return an array of stored tags - * - * @return array array of stored tags (string) - */ - public function getTags() - { - $this->_log(self::TAGS_UNSUPPORTED_BY_SAVE_OF_MEMCACHED_BACKEND); - return array(); - } - - /** - * Return an array of stored cache ids which match given tags - * - * In case of multiple tags, a logical AND is made between tags - * - * @param array $tags array of tags - * @return array array of matching cache ids (string) - */ - public function getIdsMatchingTags($tags = array()) - { - $this->_log(self::TAGS_UNSUPPORTED_BY_SAVE_OF_MEMCACHED_BACKEND); - return array(); - } - - /** - * Return an array of stored cache ids which don't match given tags - * - * In case of multiple tags, a logical OR is made between tags - * - * @param array $tags array of tags - * @return array array of not matching cache ids (string) - */ - public function getIdsNotMatchingTags($tags = array()) - { - $this->_log(self::TAGS_UNSUPPORTED_BY_SAVE_OF_MEMCACHED_BACKEND); - return array(); - } - - /** - * Return an array of stored cache ids which match any given tags - * - * In case of multiple tags, a logical AND is made between tags - * - * @param array $tags array of tags - * @return array array of any matching cache ids (string) - */ - public function getIdsMatchingAnyTags($tags = array()) - { - $this->_log(self::TAGS_UNSUPPORTED_BY_SAVE_OF_MEMCACHED_BACKEND); - return array(); - } - - /** - * Return the filling percentage of the backend storage - * - * @throws Zend_Cache_Exception - * @return int integer between 0 and 100 - */ - public function getFillingPercentage() - { - $mems = $this->_memcache->getExtendedStats(); - - $memSize = 0; - $memUsed = 0; - foreach ($mems as $key => $mem) { - if ($mem === false) { - Zend_Cache::throwException('can\'t get stat from ' . $key); - } else { - $eachSize = $mem['limit_maxbytes']; - if ($eachSize == 0) { - Zend_Cache::throwException('can\'t get memory size from ' . $key); - } - - $eachUsed = $mem['bytes']; - if ($eachUsed > $eachSize) { - $eachUsed = $eachSize; - } - - $memSize += $eachSize; - $memUsed += $eachUsed; - } - } - - return ((int) (100. * ($memUsed / $memSize))); - } - - /** - * Return an array of metadatas for the given cache id - * - * The array must include these keys : - * - expire : the expire timestamp - * - tags : a string array of tags - * - mtime : timestamp of last modification time - * - * @param string $id cache id - * @return array array of metadatas (false if the cache id is not found) - */ - public function getMetadatas($id) - { - $tmp = $this->_memcache->get($id); - if (is_array($tmp)) { - $data = $tmp[0]; - $mtime = $tmp[1]; - if (!isset($tmp[2])) { - // because this record is only with 1.7 release - // if old cache records are still there... - return false; - } - $lifetime = $tmp[2]; - return array( - 'expire' => $mtime + $lifetime, - 'tags' => array(), - 'mtime' => $mtime - ); - } - return false; - } - - /** - * Give (if possible) an extra lifetime to the given cache id - * - * @param string $id cache id - * @param int $extraLifetime - * @return boolean true if ok - */ - public function touch($id, $extraLifetime) - { - if ($this->_options['compression']) { - $flag = MEMCACHE_COMPRESSED; - } else { - $flag = 0; - } - $tmp = $this->_memcache->get($id); - if (is_array($tmp)) { - $data = $tmp[0]; - $mtime = $tmp[1]; - if (!isset($tmp[2])) { - // because this record is only with 1.7 release - // if old cache records are still there... - return false; - } - $lifetime = $tmp[2]; - $newLifetime = $lifetime - (time() - $mtime) + $extraLifetime; - if ($newLifetime <=0) { - return false; - } - // #ZF-5702 : we try replace() first becase set() seems to be slower - if (!($result = $this->_memcache->replace($id, array($data, time(), $newLifetime), $flag, $newLifetime))) { - $result = $this->_memcache->set($id, array($data, time(), $newLifetime), $flag, $newLifetime); - } - return $result; - } - return false; - } - - /** - * Return an associative array of capabilities (booleans) of the backend - * - * The array must include these keys : - * - automatic_cleaning (is automating cleaning necessary) - * - tags (are tags supported) - * - expired_read (is it possible to read expired cache records - * (for doNotTestCacheValidity option for example)) - * - priority does the backend deal with priority when saving - * - infinite_lifetime (is infinite lifetime can work with this backend) - * - get_list (is it possible to get the list of cache ids and the complete list of tags) - * - * @return array associative of with capabilities - */ - public function getCapabilities() - { - return array( - 'automatic_cleaning' => false, - 'tags' => false, - 'expired_read' => false, - 'priority' => false, - 'infinite_lifetime' => false, - 'get_list' => false - ); - } - -} diff --git a/lib/zend/Zend/Cache/Backend/Sqlite.php b/lib/zend/Zend/Cache/Backend/Sqlite.php deleted file mode 100644 index 286fbfc951..0000000000 --- a/lib/zend/Zend/Cache/Backend/Sqlite.php +++ /dev/null @@ -1,679 +0,0 @@ - (string) cache_db_complete_path : - * - the complete path (filename included) of the SQLITE database - * - * ====> (int) automatic_vacuum_factor : - * - Disable / Tune the automatic vacuum process - * - The automatic vacuum process defragment the database file (and make it smaller) - * when a clean() or delete() is called - * 0 => no automatic vacuum - * 1 => systematic vacuum (when delete() or clean() methods are called) - * x (integer) > 1 => automatic vacuum randomly 1 times on x clean() or delete() - * - * @var array Available options - */ - protected $_options = array( - 'cache_db_complete_path' => null, - 'automatic_vacuum_factor' => 10 - ); - - /** - * DB ressource - * - * @var mixed $_db - */ - private $_db = null; - - /** - * Boolean to store if the structure has benn checked or not - * - * @var boolean $_structureChecked - */ - private $_structureChecked = false; - - /** - * Constructor - * - * @param array $options Associative array of options - * @throws Zend_cache_Exception - * @return void - */ - public function __construct(array $options = array()) - { - parent::__construct($options); - if ($this->_options['cache_db_complete_path'] === null) { - Zend_Cache::throwException('cache_db_complete_path option has to set'); - } - if (!extension_loaded('sqlite')) { - Zend_Cache::throwException("Cannot use SQLite storage because the 'sqlite' extension is not loaded in the current PHP environment"); - } - $this->_getConnection(); - } - - /** - * Destructor - * - * @return void - */ - public function __destruct() - { - @sqlite_close($this->_getConnection()); - } - - /** - * Test if a cache is available for the given id and (if yes) return it (false else) - * - * @param string $id Cache id - * @param boolean $doNotTestCacheValidity If set to true, the cache validity won't be tested - * @return string|false Cached datas - */ - public function load($id, $doNotTestCacheValidity = false) - { - $this->_checkAndBuildStructure(); - $sql = "SELECT content FROM cache WHERE id='$id'"; - if (!$doNotTestCacheValidity) { - $sql = $sql . " AND (expire=0 OR expire>" . time() . ')'; - } - $result = $this->_query($sql); - $row = @sqlite_fetch_array($result); - if ($row) { - return $row['content']; - } - return false; - } - - /** - * Test if a cache is available or not (for the given id) - * - * @param string $id Cache id - * @return mixed|false (a cache is not available) or "last modified" timestamp (int) of the available cache record - */ - public function test($id) - { - $this->_checkAndBuildStructure(); - $sql = "SELECT lastModified FROM cache WHERE id='$id' AND (expire=0 OR expire>" . time() . ')'; - $result = $this->_query($sql); - $row = @sqlite_fetch_array($result); - if ($row) { - return ((int) $row['lastModified']); - } - return false; - } - - /** - * Save some string datas into a cache record - * - * Note : $data is always "string" (serialization is done by the - * core not by the backend) - * - * @param string $data Datas to cache - * @param string $id Cache id - * @param array $tags Array of strings, the cache record will be tagged by each string entry - * @param int $specificLifetime If != false, set a specific lifetime for this cache record (null => infinite lifetime) - * @throws Zend_Cache_Exception - * @return boolean True if no problem - */ - public function save($data, $id, $tags = array(), $specificLifetime = false) - { - $this->_checkAndBuildStructure(); - $lifetime = $this->getLifetime($specificLifetime); - $data = @sqlite_escape_string($data); - $mktime = time(); - if ($lifetime === null) { - $expire = 0; - } else { - $expire = $mktime + $lifetime; - } - $this->_query("DELETE FROM cache WHERE id='$id'"); - $sql = "INSERT INTO cache (id, content, lastModified, expire) VALUES ('$id', '$data', $mktime, $expire)"; - $res = $this->_query($sql); - if (!$res) { - $this->_log("Zend_Cache_Backend_Sqlite::save() : impossible to store the cache id=$id"); - return false; - } - $res = true; - foreach ($tags as $tag) { - $res = $this->_registerTag($id, $tag) && $res; - } - return $res; - } - - /** - * Remove a cache record - * - * @param string $id Cache id - * @return boolean True if no problem - */ - public function remove($id) - { - $this->_checkAndBuildStructure(); - $res = $this->_query("SELECT COUNT(*) AS nbr FROM cache WHERE id='$id'"); - $result1 = @sqlite_fetch_single($res); - $result2 = $this->_query("DELETE FROM cache WHERE id='$id'"); - $result3 = $this->_query("DELETE FROM tag WHERE id='$id'"); - $this->_automaticVacuum(); - return ($result1 && $result2 && $result3); - } - - /** - * Clean some cache records - * - * Available modes are : - * Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used) - * Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used) - * Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags - * ($tags can be an array of strings or a single string) - * Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags} - * ($tags can be an array of strings or a single string) - * Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags - * ($tags can be an array of strings or a single string) - * - * @param string $mode Clean mode - * @param array $tags Array of tags - * @return boolean True if no problem - */ - public function clean($mode = Zend_Cache::CLEANING_MODE_ALL, $tags = array()) - { - $this->_checkAndBuildStructure(); - $return = $this->_clean($mode, $tags); - $this->_automaticVacuum(); - return $return; - } - - /** - * Return an array of stored cache ids - * - * @return array array of stored cache ids (string) - */ - public function getIds() - { - $this->_checkAndBuildStructure(); - $res = $this->_query("SELECT id FROM cache WHERE (expire=0 OR expire>" . time() . ")"); - $result = array(); - while ($id = @sqlite_fetch_single($res)) { - $result[] = $id; - } - return $result; - } - - /** - * Return an array of stored tags - * - * @return array array of stored tags (string) - */ - public function getTags() - { - $this->_checkAndBuildStructure(); - $res = $this->_query("SELECT DISTINCT(name) AS name FROM tag"); - $result = array(); - while ($id = @sqlite_fetch_single($res)) { - $result[] = $id; - } - return $result; - } - - /** - * Return an array of stored cache ids which match given tags - * - * In case of multiple tags, a logical AND is made between tags - * - * @param array $tags array of tags - * @return array array of matching cache ids (string) - */ - public function getIdsMatchingTags($tags = array()) - { - $first = true; - $ids = array(); - foreach ($tags as $tag) { - $res = $this->_query("SELECT DISTINCT(id) AS id FROM tag WHERE name='$tag'"); - if (!$res) { - return array(); - } - $rows = @sqlite_fetch_all($res, SQLITE_ASSOC); - $ids2 = array(); - foreach ($rows as $row) { - $ids2[] = $row['id']; - } - if ($first) { - $ids = $ids2; - $first = false; - } else { - $ids = array_intersect($ids, $ids2); - } - } - $result = array(); - foreach ($ids as $id) { - $result[] = $id; - } - return $result; - } - - /** - * Return an array of stored cache ids which don't match given tags - * - * In case of multiple tags, a logical OR is made between tags - * - * @param array $tags array of tags - * @return array array of not matching cache ids (string) - */ - public function getIdsNotMatchingTags($tags = array()) - { - $res = $this->_query("SELECT id FROM cache"); - $rows = @sqlite_fetch_all($res, SQLITE_ASSOC); - $result = array(); - foreach ($rows as $row) { - $id = $row['id']; - $matching = false; - foreach ($tags as $tag) { - $res = $this->_query("SELECT COUNT(*) AS nbr FROM tag WHERE name='$tag' AND id='$id'"); - if (!$res) { - return array(); - } - $nbr = (int) @sqlite_fetch_single($res); - if ($nbr > 0) { - $matching = true; - } - } - if (!$matching) { - $result[] = $id; - } - } - return $result; - } - - /** - * Return an array of stored cache ids which match any given tags - * - * In case of multiple tags, a logical AND is made between tags - * - * @param array $tags array of tags - * @return array array of any matching cache ids (string) - */ - public function getIdsMatchingAnyTags($tags = array()) - { - $first = true; - $ids = array(); - foreach ($tags as $tag) { - $res = $this->_query("SELECT DISTINCT(id) AS id FROM tag WHERE name='$tag'"); - if (!$res) { - return array(); - } - $rows = @sqlite_fetch_all($res, SQLITE_ASSOC); - $ids2 = array(); - foreach ($rows as $row) { - $ids2[] = $row['id']; - } - if ($first) { - $ids = $ids2; - $first = false; - } else { - $ids = array_merge($ids, $ids2); - } - } - $result = array(); - foreach ($ids as $id) { - $result[] = $id; - } - return $result; - } - - /** - * Return the filling percentage of the backend storage - * - * @throws Zend_Cache_Exception - * @return int integer between 0 and 100 - */ - public function getFillingPercentage() - { - $dir = dirname($this->_options['cache_db_complete_path']); - $free = disk_free_space($dir); - $total = disk_total_space($dir); - if ($total == 0) { - Zend_Cache::throwException('can\'t get disk_total_space'); - } else { - if ($free >= $total) { - return 100; - } - return ((int) (100. * ($total - $free) / $total)); - } - } - - /** - * Return an array of metadatas for the given cache id - * - * The array must include these keys : - * - expire : the expire timestamp - * - tags : a string array of tags - * - mtime : timestamp of last modification time - * - * @param string $id cache id - * @return array array of metadatas (false if the cache id is not found) - */ - public function getMetadatas($id) - { - $tags = array(); - $res = $this->_query("SELECT name FROM tag WHERE id='$id'"); - if ($res) { - $rows = @sqlite_fetch_all($res, SQLITE_ASSOC); - foreach ($rows as $row) { - $tags[] = $row['name']; - } - } - $this->_query('CREATE TABLE cache (id TEXT PRIMARY KEY, content BLOB, lastModified INTEGER, expire INTEGER)'); - $res = $this->_query("SELECT lastModified,expire FROM cache WHERE id='$id'"); - if (!$res) { - return false; - } - $row = @sqlite_fetch_array($res, SQLITE_ASSOC); - return array( - 'tags' => $tags, - 'mtime' => $row['lastModified'], - 'expire' => $row['expire'] - ); - } - - /** - * Give (if possible) an extra lifetime to the given cache id - * - * @param string $id cache id - * @param int $extraLifetime - * @return boolean true if ok - */ - public function touch($id, $extraLifetime) - { - $sql = "SELECT expire FROM cache WHERE id='$id' AND (expire=0 OR expire>" . time() . ')'; - $res = $this->_query($sql); - if (!$res) { - return false; - } - $expire = @sqlite_fetch_single($res); - $newExpire = $expire + $extraLifetime; - $res = $this->_query("UPDATE cache SET lastModified=" . time() . ", expire=$newExpire WHERE id='$id'"); - if ($res) { - return true; - } else { - return false; - } - } - - /** - * Return an associative array of capabilities (booleans) of the backend - * - * The array must include these keys : - * - automatic_cleaning (is automating cleaning necessary) - * - tags (are tags supported) - * - expired_read (is it possible to read expired cache records - * (for doNotTestCacheValidity option for example)) - * - priority does the backend deal with priority when saving - * - infinite_lifetime (is infinite lifetime can work with this backend) - * - get_list (is it possible to get the list of cache ids and the complete list of tags) - * - * @return array associative of with capabilities - */ - public function getCapabilities() - { - return array( - 'automatic_cleaning' => true, - 'tags' => true, - 'expired_read' => true, - 'priority' => false, - 'infinite_lifetime' => true, - 'get_list' => true - ); - } - - /** - * PUBLIC METHOD FOR UNIT TESTING ONLY ! - * - * Force a cache record to expire - * - * @param string $id Cache id - */ - public function ___expire($id) - { - $time = time() - 1; - $this->_query("UPDATE cache SET lastModified=$time, expire=$time WHERE id='$id'"); - } - - /** - * Return the connection resource - * - * If we are not connected, the connection is made - * - * @throws Zend_Cache_Exception - * @return resource Connection resource - */ - private function _getConnection() - { - if (is_resource($this->_db)) { - return $this->_db; - } else { - $this->_db = @sqlite_open($this->_options['cache_db_complete_path']); - if (!(is_resource($this->_db))) { - Zend_Cache::throwException("Impossible to open " . $this->_options['cache_db_complete_path'] . " cache DB file"); - } - return $this->_db; - } - } - - /** - * Execute an SQL query silently - * - * @param string $query SQL query - * @return mixed|false query results - */ - private function _query($query) - { - $db = $this->_getConnection(); - if (is_resource($db)) { - $res = @sqlite_query($db, $query); - if ($res === false) { - return false; - } else { - return $res; - } - } - return false; - } - - /** - * Deal with the automatic vacuum process - * - * @return void - */ - private function _automaticVacuum() - { - if ($this->_options['automatic_vacuum_factor'] > 0) { - $rand = rand(1, $this->_options['automatic_vacuum_factor']); - if ($rand == 1) { - $this->_query('VACUUM'); - @sqlite_close($this->_getConnection()); - } - } - } - - /** - * Register a cache id with the given tag - * - * @param string $id Cache id - * @param string $tag Tag - * @return boolean True if no problem - */ - private function _registerTag($id, $tag) { - $res = $this->_query("DELETE FROM TAG WHERE name='$tag' AND id='$id'"); - $res = $this->_query("INSERT INTO tag (name, id) VALUES ('$tag', '$id')"); - if (!$res) { - $this->_log("Zend_Cache_Backend_Sqlite::_registerTag() : impossible to register tag=$tag on id=$id"); - return false; - } - return true; - } - - /** - * Build the database structure - * - * @return false - */ - private function _buildStructure() - { - $this->_query('DROP INDEX tag_id_index'); - $this->_query('DROP INDEX tag_name_index'); - $this->_query('DROP INDEX cache_id_expire_index'); - $this->_query('DROP TABLE version'); - $this->_query('DROP TABLE cache'); - $this->_query('DROP TABLE tag'); - $this->_query('CREATE TABLE version (num INTEGER PRIMARY KEY)'); - $this->_query('CREATE TABLE cache (id TEXT PRIMARY KEY, content BLOB, lastModified INTEGER, expire INTEGER)'); - $this->_query('CREATE TABLE tag (name TEXT, id TEXT)'); - $this->_query('CREATE INDEX tag_id_index ON tag(id)'); - $this->_query('CREATE INDEX tag_name_index ON tag(name)'); - $this->_query('CREATE INDEX cache_id_expire_index ON cache(id, expire)'); - $this->_query('INSERT INTO version (num) VALUES (1)'); - } - - /** - * Check if the database structure is ok (with the good version) - * - * @return boolean True if ok - */ - private function _checkStructureVersion() - { - $result = $this->_query("SELECT num FROM version"); - if (!$result) return false; - $row = @sqlite_fetch_array($result); - if (!$row) { - return false; - } - if (((int) $row['num']) != 1) { - // old cache structure - $this->_log('Zend_Cache_Backend_Sqlite::_checkStructureVersion() : old cache structure version detected => the cache is going to be dropped'); - return false; - } - return true; - } - - /** - * Clean some cache records - * - * Available modes are : - * Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used) - * Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used) - * Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags - * ($tags can be an array of strings or a single string) - * Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags} - * ($tags can be an array of strings or a single string) - * Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags - * ($tags can be an array of strings or a single string) - * - * @param string $mode Clean mode - * @param array $tags Array of tags - * @return boolean True if no problem - */ - private function _clean($mode = Zend_Cache::CLEANING_MODE_ALL, $tags = array()) - { - switch ($mode) { - case Zend_Cache::CLEANING_MODE_ALL: - $res1 = $this->_query('DELETE FROM cache'); - $res2 = $this->_query('DELETE FROM tag'); - return $res1 && $res2; - break; - case Zend_Cache::CLEANING_MODE_OLD: - $mktime = time(); - $res1 = $this->_query("DELETE FROM tag WHERE id IN (SELECT id FROM cache WHERE expire>0 AND expire<=$mktime)"); - $res2 = $this->_query("DELETE FROM cache WHERE expire>0 AND expire<=$mktime"); - return $res1 && $res2; - break; - case Zend_Cache::CLEANING_MODE_MATCHING_TAG: - $ids = $this->getIdsMatchingTags($tags); - $result = true; - foreach ($ids as $id) { - $result = $this->remove($id) && $result; - } - return $result; - break; - case Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG: - $ids = $this->getIdsNotMatchingTags($tags); - $result = true; - foreach ($ids as $id) { - $result = $this->remove($id) && $result; - } - return $result; - break; - case Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG: - $ids = $this->getIdsMatchingAnyTags($tags); - $result = true; - foreach ($ids as $id) { - $result = $this->remove($id) && $result; - } - return $result; - break; - default: - break; - } - return false; - } - - /** - * Check if the database structure is ok (with the good version), if no : build it - * - * @throws Zend_Cache_Exception - * @return boolean True if ok - */ - private function _checkAndBuildStructure() - { - if (!($this->_structureChecked)) { - if (!$this->_checkStructureVersion()) { - $this->_buildStructure(); - if (!$this->_checkStructureVersion()) { - Zend_Cache::throwException("Impossible to build cache structure in " . $this->_options['cache_db_complete_path']); - } - } - $this->_structureChecked = true; - } - return true; - } - -} diff --git a/lib/zend/Zend/Cache/Backend/Test.php b/lib/zend/Zend/Cache/Backend/Test.php deleted file mode 100644 index 49cfd44231..0000000000 --- a/lib/zend/Zend/Cache/Backend/Test.php +++ /dev/null @@ -1,270 +0,0 @@ -_addLog('construct', array($options)); - } - - /** - * Set the frontend directives - * - * @param array $directives assoc of directives - * @return void - */ - public function setDirectives($directives) - { - $this->_addLog('setDirectives', array($directives)); - } - - /** - * Test if a cache is available for the given id and (if yes) return it (false else) - * - * For this test backend only, if $id == 'false', then the method will return false - * if $id == 'serialized', the method will return a serialized array - * ('foo' else) - * - * @param string $id Cache id - * @param boolean $doNotTestCacheValidity If set to true, the cache validity won't be tested - * @return string Cached datas (or false) - */ - public function load($id, $doNotTestCacheValidity = false) - { - $this->_addLog('get', array($id, $doNotTestCacheValidity)); - if ($id=='false') { - return false; - } - if ($id=='serialized') { - return serialize(array('foo')); - } - if ($id=='serialized2') { - return serialize(array('headers' => array(), 'data' => 'foo')); - } - if (($id=='71769f39054f75894288e397df04e445') or ($id=='615d222619fb20b527168340cebd0578')) { - return serialize(array('foo', 'bar')); - } - if (($id=='8a02d218a5165c467e7a5747cc6bd4b6') or ($id=='648aca1366211d17cbf48e65dc570bee')) { - return serialize(array('foo', 'bar')); - } - return 'foo'; - } - - /** - * Test if a cache is available or not (for the given id) - * - * For this test backend only, if $id == 'false', then the method will return false - * (123456 else) - * - * @param string $id Cache id - * @return mixed|false false (a cache is not available) or "last modified" timestamp (int) of the available cache record - */ - public function test($id) - { - $this->_addLog('test', array($id)); - if ($id=='false') { - return false; - } - if (($id=='d8523b3ee441006261eeffa5c3d3a0a7') or ($id=='3c439c922209e2cb0b54d6deffccd75a')) { - return false; - } - if (($id=='40f649b94977c0a6e76902e2a0b43587') or ($id=='e83249ea22178277d5befc2c5e2e9ace')) { - return false; - } - return 123456; - } - - /** - * Save some string datas into a cache record - * - * For this test backend only, if $id == 'false', then the method will return false - * (true else) - * - * @param string $data Datas to cache - * @param string $id Cache id - * @param array $tags Array of strings, the cache record will be tagged by each string entry - * @param int $specificLifetime If != false, set a specific lifetime for this cache record (null => infinite lifetime) - * @return boolean True if no problem - */ - public function save($data, $id, $tags = array(), $specificLifetime = false) - { - $this->_addLog('save', array($data, $id, $tags)); - if ($id=='false') { - return false; - } - return true; - } - - /** - * Remove a cache record - * - * For this test backend only, if $id == 'false', then the method will return false - * (true else) - * - * @param string $id Cache id - * @return boolean True if no problem - */ - public function remove($id) - { - $this->_addLog('remove', array($id)); - if ($id=='false') { - return false; - } - return true; - } - - /** - * Clean some cache records - * - * For this test backend only, if $mode == 'false', then the method will return false - * (true else) - * - * Available modes are : - * Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used) - * Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used) - * Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags - * ($tags can be an array of strings or a single string) - * Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags} - * ($tags can be an array of strings or a single string) - * - * @param string $mode Clean mode - * @param array $tags Array of tags - * @return boolean True if no problem - */ - public function clean($mode = Zend_Cache::CLEANING_MODE_ALL, $tags = array()) - { - $this->_addLog('clean', array($mode, $tags)); - if ($mode=='false') { - return false; - } - return true; - } - - /** - * Get the last log - * - * @return string The last log - */ - public function getLastLog() - { - return $this->_log[$this->_index - 1]; - } - - /** - * Get the log index - * - * @return int Log index - */ - public function getLogIndex() - { - return $this->_index; - } - - /** - * Get the complete log array - * - * @return array Complete log array - */ - public function getAllLogs() - { - return $this->_log; - } - - /** - * Return true if the automatic cleaning is available for the backend - * - * @return boolean - */ - public function isAutomaticCleaningAvailable() - { - return true; - } - - /** - * Add an event to the log array - * - * @param string $methodName MethodName - * @param array $args Arguments - * @return void - */ - private function _addLog($methodName, $args) - { - $this->_log[$this->_index] = array( - 'methodName' => $methodName, - 'args' => $args - ); - $this->_index = $this->_index + 1; - } - -} diff --git a/lib/zend/Zend/Cache/Backend/TwoLevels.php b/lib/zend/Zend/Cache/Backend/TwoLevels.php deleted file mode 100644 index f21ef05e80..0000000000 --- a/lib/zend/Zend/Cache/Backend/TwoLevels.php +++ /dev/null @@ -1,506 +0,0 @@ - (string) slow_backend : - * - Slow backend name - * - Must implement the Zend_Cache_Backend_ExtendedInterface - * - Should provide a big storage - * - * =====> (string) fast_backend : - * - Flow backend name - * - Must implement the Zend_Cache_Backend_ExtendedInterface - * - Must be much faster than slow_backend - * - * =====> (array) slow_backend_options : - * - Slow backend options (see corresponding backend) - * - * =====> (array) fast_backend_options : - * - Fast backend options (see corresponding backend) - * - * =====> (int) stats_update_factor : - * - Disable / Tune the computation of the fast backend filling percentage - * - When saving a record into cache : - * 1 => systematic computation of the fast backend filling percentage - * x (integer) > 1 => computation of the fast backend filling percentage randomly 1 times on x cache write - * - * =====> (boolean) slow_backend_custom_naming : - * =====> (boolean) fast_backend_custom_naming : - * =====> (boolean) slow_backend_autoload : - * =====> (boolean) fast_backend_autoload : - * - See Zend_Cache::factory() method - * - * =====> (boolean) auto_refresh_fast_cache - * - If true, auto refresh the fast cache when a cache record is hit - * - * @var array available options - */ - protected $_options = array( - 'slow_backend' => 'File', - 'fast_backend' => 'Apc', - 'slow_backend_options' => array(), - 'fast_backend_options' => array(), - 'stats_update_factor' => 10, - 'slow_backend_custom_naming' => false, - 'fast_backend_custom_naming' => false, - 'slow_backend_autoload' => false, - 'fast_backend_autoload' => false, - 'auto_refresh_fast_cache' => true - ); - - /** - * Slow Backend - * - * @var Zend_Cache_Backend - */ - private $_slowBackend; - - /** - * Fast Backend - * - * @var Zend_Cache_Backend - */ - private $_fastBackend; - - /** - * Cache for the fast backend filling percentage - * - * @var int - */ - private $_fastBackendFillingPercentage = null; - - /** - * Constructor - * - * @param array $options Associative array of options - * @throws Zend_Cache_Exception - * @return void - */ - public function __construct(array $options = array()) - { - parent::__construct($options); - if ($this->_options['slow_backend'] === null) { - Zend_Cache::throwException('slow_backend option has to set'); - } - if ($this->_options['fast_backend'] === null) { - Zend_Cache::throwException('fast_backend option has to set'); - } - $this->_slowBackend = Zend_Cache::_makeBackend($this->_options['slow_backend'], $this->_options['slow_backend_options'], $this->_options['slow_backend_custom_naming'], $this->_options['slow_backend_autoload']); - $this->_fastBackend = Zend_Cache::_makeBackend($this->_options['fast_backend'], $this->_options['fast_backend_options'], $this->_options['fast_backend_custom_naming'], $this->_options['fast_backend_autoload']); - if (!in_array('Zend_Cache_Backend_ExtendedInterface', class_implements($this->_slowBackend))) { - Zend_Cache::throwException('slow_backend must implement the Zend_Cache_Backend_ExtendedInterface interface'); - } - if (!in_array('Zend_Cache_Backend_ExtendedInterface', class_implements($this->_fastBackend))) { - Zend_Cache::throwException('fast_backend must implement the Zend_Cache_Backend_ExtendedInterface interface'); - } - $this->_slowBackend->setDirectives($this->_directives); - $this->_fastBackend->setDirectives($this->_directives); - } - - /** - * Test if a cache is available or not (for the given id) - * - * @param string $id cache id - * @return mixed|false (a cache is not available) or "last modified" timestamp (int) of the available cache record - */ - public function test($id) - { - $fastTest = $this->_fastBackend->test($id); - if ($fastTest) { - return $fastTest; - } else { - return $this->_slowBackend->test($id); - } - } - - /** - * Save some string datas into a cache record - * - * Note : $data is always "string" (serialization is done by the - * core not by the backend) - * - * @param string $data Datas to cache - * @param string $id Cache id - * @param array $tags Array of strings, the cache record will be tagged by each string entry - * @param int $specificLifetime If != false, set a specific lifetime for this cache record (null => infinite lifetime) - * @param int $priority integer between 0 (very low priority) and 10 (maximum priority) used by some particular backends - * @return boolean true if no problem - */ - public function save($data, $id, $tags = array(), $specificLifetime = false, $priority = 8) - { - $usage = $this->_getFastFillingPercentage('saving'); - $boolFast = true; - $lifetime = $this->getLifetime($specificLifetime); - $preparedData = $this->_prepareData($data, $lifetime, $priority); - if (($priority > 0) && (10 * $priority >= $usage)) { - $fastLifetime = $this->_getFastLifetime($lifetime, $priority); - $boolFast = $this->_fastBackend->save($preparedData, $id, array(), $fastLifetime); - } - $boolSlow = $this->_slowBackend->save($preparedData, $id, $tags, $lifetime); - return ($boolFast && $boolSlow); - } - - /** - * Test if a cache is available for the given id and (if yes) return it (false else) - * - * Note : return value is always "string" (unserialization is done by the core not by the backend) - * - * @param string $id Cache id - * @param boolean $doNotTestCacheValidity If set to true, the cache validity won't be tested - * @return string|false cached datas - */ - public function load($id, $doNotTestCacheValidity = false) - { - $res = $this->_fastBackend->load($id, $doNotTestCacheValidity); - if ($res === false) { - $res = $this->_slowBackend->load($id, $doNotTestCacheValidity); - if ($res === false) { - // there is no cache at all for this id - return false; - } - } - $array = unserialize($res); - // maybe, we have to refresh the fast cache ? - if ($this->_options['auto_refresh_fast_cache']) { - if ($array['priority'] == 10) { - // no need to refresh the fast cache with priority = 10 - return $array['data']; - } - $newFastLifetime = $this->_getFastLifetime($array['lifetime'], $array['priority'], time() - $array['expire']); - // we have the time to refresh the fast cache - $usage = $this->_getFastFillingPercentage('loading'); - if (($array['priority'] > 0) && (10 * $array['priority'] >= $usage)) { - // we can refresh the fast cache - $preparedData = $this->_prepareData($array['data'], $array['lifetime'], $array['priority']); - $this->_fastBackend->save($preparedData, $id, array(), $newFastLifetime); - } - } - return $array['data']; - } - - /** - * Remove a cache record - * - * @param string $id Cache id - * @return boolean True if no problem - */ - public function remove($id) - { - $boolFast = $this->_fastBackend->remove($id); - $boolSlow = $this->_slowBackend->remove($id); - return $boolFast && $boolSlow; - } - - /** - * Clean some cache records - * - * Available modes are : - * Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used) - * Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used) - * Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags - * ($tags can be an array of strings or a single string) - * Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags} - * ($tags can be an array of strings or a single string) - * Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags - * ($tags can be an array of strings or a single string) - * - * @param string $mode Clean mode - * @param array $tags Array of tags - * @throws Zend_Cache_Exception - * @return boolean true if no problem - */ - public function clean($mode = Zend_Cache::CLEANING_MODE_ALL, $tags = array()) - { - switch($mode) { - case Zend_Cache::CLEANING_MODE_ALL: - $boolFast = $this->_fastBackend->clean(Zend_Cache::CLEANING_MODE_ALL); - $boolSlow = $this->_slowBackend->clean(Zend_Cache::CLEANING_MODE_ALL); - return $boolFast && $boolSlow; - break; - case Zend_Cache::CLEANING_MODE_OLD: - return $this->_slowBackend->clean(Zend_Cache::CLEANING_MODE_OLD); - case Zend_Cache::CLEANING_MODE_MATCHING_TAG: - $ids = $this->_slowBackend->getIdsMatchingTags($tags); - $res = true; - foreach ($ids as $id) { - $bool = $this->remove($id); - $res = $res && $bool; - } - return $res; - break; - case Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG: - $ids = $this->_slowBackend->getIdsNotMatchingTags($tags); - $res = true; - foreach ($ids as $id) { - $bool = $this->remove($id); - $res = $res && $bool; - } - return $res; - break; - case Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG: - $ids = $this->_slowBackend->getIdsMatchingAnyTags($tags); - $res = true; - foreach ($ids as $id) { - $bool = $this->remove($id); - $res = $res && $bool; - } - return $res; - break; - default: - Zend_Cache::throwException('Invalid mode for clean() method'); - break; - } - } - - /** - * Return an array of stored cache ids - * - * @return array array of stored cache ids (string) - */ - public function getIds() - { - return $this->_slowBackend->getIds(); - } - - /** - * Return an array of stored tags - * - * @return array array of stored tags (string) - */ - public function getTags() - { - return $this->_slowBackend->getTags(); - } - - /** - * Return an array of stored cache ids which match given tags - * - * In case of multiple tags, a logical AND is made between tags - * - * @param array $tags array of tags - * @return array array of matching cache ids (string) - */ - public function getIdsMatchingTags($tags = array()) - { - return $this->_slowBackend->getIdsMatchingTags($tags); - } - - /** - * Return an array of stored cache ids which don't match given tags - * - * In case of multiple tags, a logical OR is made between tags - * - * @param array $tags array of tags - * @return array array of not matching cache ids (string) - */ - public function getIdsNotMatchingTags($tags = array()) - { - return $this->_slowBackend->getIdsNotMatchingTags($tags); - } - - /** - * Return an array of stored cache ids which match any given tags - * - * In case of multiple tags, a logical AND is made between tags - * - * @param array $tags array of tags - * @return array array of any matching cache ids (string) - */ - public function getIdsMatchingAnyTags($tags = array()) - { - return $this->_slowBackend->getIdsMatchingAnyTags($tags); - } - - - /** - * Return the filling percentage of the backend storage - * - * @return int integer between 0 and 100 - */ - public function getFillingPercentage() - { - return $this->_slowBackend->getFillingPercentage(); - } - - /** - * Return an array of metadatas for the given cache id - * - * The array must include these keys : - * - expire : the expire timestamp - * - tags : a string array of tags - * - mtime : timestamp of last modification time - * - * @param string $id cache id - * @return array array of metadatas (false if the cache id is not found) - */ - public function getMetadatas($id) - { - return $this->_slowBackend->getMetadatas($id); - } - - /** - * Give (if possible) an extra lifetime to the given cache id - * - * @param string $id cache id - * @param int $extraLifetime - * @return boolean true if ok - */ - public function touch($id, $extraLifetime) - { - return $this->_slowBackend->touch($id, $extraLifetime); - } - - /** - * Return an associative array of capabilities (booleans) of the backend - * - * The array must include these keys : - * - automatic_cleaning (is automating cleaning necessary) - * - tags (are tags supported) - * - expired_read (is it possible to read expired cache records - * (for doNotTestCacheValidity option for example)) - * - priority does the backend deal with priority when saving - * - infinite_lifetime (is infinite lifetime can work with this backend) - * - get_list (is it possible to get the list of cache ids and the complete list of tags) - * - * @return array associative of with capabilities - */ - public function getCapabilities() - { - $slowBackendCapabilities = $this->_slowBackend->getCapabilities(); - return array( - 'automatic_cleaning' => $slowBackendCapabilities['automatic_cleaning'], - 'tags' => $slowBackendCapabilities['tags'], - 'expired_read' => $slowBackendCapabilities['expired_read'], - 'priority' => $slowBackendCapabilities['priority'], - 'infinite_lifetime' => $slowBackendCapabilities['infinite_lifetime'], - 'get_list' => $slowBackendCapabilities['get_list'] - ); - } - - /** - * Prepare a serialized array to store datas and metadatas informations - * - * @param string $data data to store - * @param int $lifetime original lifetime - * @param int $priority priority - * @return string serialize array to store into cache - */ - private function _prepareData($data, $lifetime, $priority) - { - $lt = $lifetime; - if ($lt === null) { - $lt = 9999999999; - } - return serialize(array( - 'data' => $data, - 'lifetime' => $lifetime, - 'expire' => time() + $lt, - 'priority' => $priority - )); - } - - /** - * Compute and return the lifetime for the fast backend - * - * @param int $lifetime original lifetime - * @param int $priority priority - * @param int $maxLifetime maximum lifetime - * @return int lifetime for the fast backend - */ - private function _getFastLifetime($lifetime, $priority, $maxLifetime = null) - { - if ($lifetime === null) { - // if lifetime is null, we have an infinite lifetime - // we need to use arbitrary lifetimes - $fastLifetime = (int) (2592000 / (11 - $priority)); - } else { - $fastLifetime = (int) ($lifetime / (11 - $priority)); - } - if (($maxLifetime !== null) && ($maxLifetime >= 0)) { - if ($fastLifetime > $maxLifetime) { - return $maxLifetime; - } - } - return $fastLifetime; - } - - /** - * PUBLIC METHOD FOR UNIT TESTING ONLY ! - * - * Force a cache record to expire - * - * @param string $id cache id - */ - public function ___expire($id) - { - $this->_fastBackend->remove($id); - $this->_slowBackend->___expire($id); - } - - private function _getFastFillingPercentage($mode) - { - - if ($mode == 'saving') { - // mode saving - if ($this->_fastBackendFillingPercentage === null) { - $this->_fastBackendFillingPercentage = $this->_fastBackend->getFillingPercentage(); - } else { - $rand = rand(1, $this->_options['stats_update_factor']); - if ($rand == 1) { - // we force a refresh - $this->_fastBackendFillingPercentage = $this->_fastBackend->getFillingPercentage(); - } - } - } else { - // mode loading - // we compute the percentage only if it's not available in cache - if ($this->_fastBackendFillingPercentage === null) { - $this->_fastBackendFillingPercentage = $this->_fastBackend->getFillingPercentage(); - } - } - return $this->_fastBackendFillingPercentage; - } - -} diff --git a/lib/zend/Zend/Cache/Backend/Xcache.php b/lib/zend/Zend/Cache/Backend/Xcache.php deleted file mode 100644 index 4cdabff172..0000000000 --- a/lib/zend/Zend/Cache/Backend/Xcache.php +++ /dev/null @@ -1,216 +0,0 @@ - (string) user : - * xcache.admin.user (necessary for the clean() method) - * - * =====> (string) password : - * xcache.admin.pass (clear, not MD5) (necessary for the clean() method) - * - * @var array available options - */ - protected $_options = array( - 'user' => null, - 'password' => null - ); - - /** - * Constructor - * - * @param array $options associative array of options - * @throws Zend_Cache_Exception - * @return void - */ - public function __construct(array $options = array()) - { - if (!extension_loaded('xcache')) { - Zend_Cache::throwException('The xcache extension must be loaded for using this backend !'); - } - parent::__construct($options); - } - - /** - * Test if a cache is available for the given id and (if yes) return it (false else) - * - * WARNING $doNotTestCacheValidity=true is unsupported by the Xcache backend - * - * @param string $id cache id - * @param boolean $doNotTestCacheValidity if set to true, the cache validity won't be tested - * @return string cached datas (or false) - */ - public function load($id, $doNotTestCacheValidity = false) - { - if ($doNotTestCacheValidity) { - $this->_log("Zend_Cache_Backend_Xcache::load() : \$doNotTestCacheValidity=true is unsupported by the Xcache backend"); - } - $tmp = xcache_get($id); - if (is_array($tmp)) { - return $tmp[0]; - } - return false; - } - - /** - * Test if a cache is available or not (for the given id) - * - * @param string $id cache id - * @return mixed false (a cache is not available) or "last modified" timestamp (int) of the available cache record - */ - public function test($id) - { - if (xcache_isset($id)) { - $tmp = xcache_get($id); - if (is_array($tmp)) { - return $tmp[1]; - } - } - return false; - } - - /** - * Save some string datas into a cache record - * - * Note : $data is always "string" (serialization is done by the - * core not by the backend) - * - * @param string $data datas to cache - * @param string $id cache id - * @param array $tags array of strings, the cache record will be tagged by each string entry - * @param int $specificLifetime if != false, set a specific lifetime for this cache record (null => infinite lifetime) - * @return boolean true if no problem - */ - public function save($data, $id, $tags = array(), $specificLifetime = false) - { - $lifetime = $this->getLifetime($specificLifetime); - $result = xcache_set($id, array($data, time()), $lifetime); - if (count($tags) > 0) { - $this->_log(self::TAGS_UNSUPPORTED_BY_SAVE_OF_XCACHE_BACKEND); - } - return $result; - } - - /** - * Remove a cache record - * - * @param string $id cache id - * @return boolean true if no problem - */ - public function remove($id) - { - return xcache_unset($id); - } - - /** - * Clean some cache records - * - * Available modes are : - * 'all' (default) => remove all cache entries ($tags is not used) - * 'old' => unsupported - * 'matchingTag' => unsupported - * 'notMatchingTag' => unsupported - * 'matchingAnyTag' => unsupported - * - * @param string $mode clean mode - * @param array $tags array of tags - * @throws Zend_Cache_Exception - * @return boolean true if no problem - */ - public function clean($mode = Zend_Cache::CLEANING_MODE_ALL, $tags = array()) - { - switch ($mode) { - case Zend_Cache::CLEANING_MODE_ALL: - // Necessary because xcache_clear_cache() need basic authentification - $backup = array(); - if (isset($_SERVER['PHP_AUTH_USER'])) { - $backup['PHP_AUTH_USER'] = $_SERVER['PHP_AUTH_USER']; - } - if (isset($_SERVER['PHP_AUTH_PW'])) { - $backup['PHP_AUTH_PW'] = $_SERVER['PHP_AUTH_PW']; - } - if ($this->_options['user']) { - $_SERVER['PHP_AUTH_USER'] = $this->_options['user']; - } - if ($this->_options['password']) { - $_SERVER['PHP_AUTH_PW'] = $this->_options['password']; - } - xcache_clear_cache(XC_TYPE_VAR, 0); - if (isset($backup['PHP_AUTH_USER'])) { - $_SERVER['PHP_AUTH_USER'] = $backup['PHP_AUTH_USER']; - $_SERVER['PHP_AUTH_PW'] = $backup['PHP_AUTH_PW']; - } - return true; - break; - case Zend_Cache::CLEANING_MODE_OLD: - $this->_log("Zend_Cache_Backend_Xcache::clean() : CLEANING_MODE_OLD is unsupported by the Xcache backend"); - break; - case Zend_Cache::CLEANING_MODE_MATCHING_TAG: - case Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG: - case Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG: - $this->_log(self::TAGS_UNSUPPORTED_BY_CLEAN_OF_XCACHE_BACKEND); - break; - default: - Zend_Cache::throwException('Invalid mode for clean() method'); - break; - } - } - - /** - * Return true if the automatic cleaning is available for the backend - * - * @return boolean - */ - public function isAutomaticCleaningAvailable() - { - return false; - } - -} diff --git a/lib/zend/Zend/Cache/Backend/ZendPlatform.php b/lib/zend/Zend/Cache/Backend/ZendPlatform.php deleted file mode 100644 index 4e55bda6a0..0000000000 --- a/lib/zend/Zend/Cache/Backend/ZendPlatform.php +++ /dev/null @@ -1,317 +0,0 @@ -_directives['lifetime']; - } - $res = output_cache_get($id, $lifetime); - if($res) { - return $res[0]; - } else { - return false; - } - } - - - /** - * Test if a cache is available or not (for the given id) - * - * @param string $id Cache id - * @return mixed|false false (a cache is not available) or "last modified" timestamp (int) of the available cache record - */ - public function test($id) - { - $result = output_cache_get($id, $this->_directives['lifetime']); - if ($result) { - return $result[1]; - } - return false; - } - - /** - * Save some string datas into a cache record - * - * Note : $data is always "string" (serialization is done by the - * core not by the backend) - * - * @param string $data Data to cache - * @param string $id Cache id - * @param array $tags Array of strings, the cache record will be tagged by each string entry - * @param int $specificLifetime If != false, set a specific lifetime for this cache record (null => infinite lifetime) - * @return boolean true if no problem - */ - public function save($data, $id, $tags = array(), $specificLifetime = false) - { - if (!($specificLifetime === false)) { - $this->_log("Zend_Cache_Backend_ZendPlatform::save() : non false specifc lifetime is unsuported for this backend"); - } - - $lifetime = $this->_directives['lifetime']; - $result1 = output_cache_put($id, array($data, time())); - $result2 = (count($tags) == 0); - - foreach ($tags as $tag) { - $tagid = self::TAGS_PREFIX.$tag; - $old_tags = output_cache_get($tagid, $lifetime); - if ($old_tags === false) { - $old_tags = array(); - } - $old_tags[$id] = $id; - output_cache_remove_key($tagid); - $result2 = output_cache_put($tagid, $old_tags); - } - - return $result1 && $result2; - } - - - /** - * Remove a cache record - * - * @param string $id Cache id - * @return boolean True if no problem - */ - public function remove($id) - { - return output_cache_remove_key($id); - } - - - /** - * Clean some cache records - * - * Available modes are : - * Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used) - * Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used) - * This mode is not supported in this backend - * Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags - * ($tags can be an array of strings or a single string) - * Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => unsupported - * Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags - * ($tags can be an array of strings or a single string) - * - * @param string $mode Clean mode - * @param array $tags Array of tags - * @throws Zend_Cache_Exception - * @return boolean True if no problem - */ - public function clean($mode = Zend_Cache::CLEANING_MODE_ALL, $tags = array()) - { - switch ($mode) { - case Zend_Cache::CLEANING_MODE_ALL: - case Zend_Cache::CLEANING_MODE_OLD: - $cache_dir = ini_get('zend_accelerator.output_cache_dir'); - if (!$cache_dir) { - return false; - } - $cache_dir .= '/.php_cache_api/'; - return $this->_clean($cache_dir, $mode); - break; - case Zend_Cache::CLEANING_MODE_MATCHING_TAG: - $idlist = null; - foreach ($tags as $tag) { - $next_idlist = output_cache_get(self::TAGS_PREFIX.$tag, $this->_directives['lifetime']); - if ($idlist) { - $idlist = array_intersect_assoc($idlist, $next_idlist); - } else { - $idlist = $next_idlist; - } - if (count($idlist) == 0) { - // if ID list is already empty - we may skip checking other IDs - $idlist = null; - break; - } - } - if ($idlist) { - foreach ($idlist as $id) { - output_cache_remove_key($id); - } - } - return true; - break; - case Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG: - $this->_log("Zend_Cache_Backend_ZendPlatform::clean() : CLEANING_MODE_NOT_MATCHING_TAG is not supported by the Zend Platform backend"); - return false; - break; - case Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG: - $idlist = null; - foreach ($tags as $tag) { - $next_idlist = output_cache_get(self::TAGS_PREFIX.$tag, $this->_directives['lifetime']); - if ($idlist) { - $idlist = array_merge_recursive($idlist, $next_idlist); - } else { - $idlist = $next_idlist; - } - if (count($idlist) == 0) { - // if ID list is already empty - we may skip checking other IDs - $idlist = null; - break; - } - } - if ($idlist) { - foreach ($idlist as $id) { - output_cache_remove_key($id); - } - } - return true; - break; - default: - Zend_Cache::throwException('Invalid mode for clean() method'); - break; - } - } - - /** - * Clean a directory and recursivly go over it's subdirectories - * - * Remove all the cached files that need to be cleaned (according to mode and files mtime) - * - * @param string $dir Path of directory ot clean - * @param string $mode The same parameter as in Zend_Cache_Backend_ZendPlatform::clean() - * @return boolean True if ok - */ - private function _clean($dir, $mode) - { - $d = @dir($dir); - if (!$d) { - return false; - } - $result = true; - while (false !== ($file = $d->read())) { - if ($file == '.' || $file == '..') { - continue; - } - $file = $d->path . $file; - if (is_dir($file)) { - $result = ($this->_clean($file .'/', $mode)) && ($result); - } else { - if ($mode == Zend_Cache::CLEANING_MODE_ALL) { - $result = ($this->_remove($file)) && ($result); - } else if ($mode == Zend_Cache::CLEANING_MODE_OLD) { - // Files older than lifetime get deleted from cache - if ($this->_directives['lifetime'] !== null) { - if ((time() - @filemtime($file)) > $this->_directives['lifetime']) { - $result = ($this->_remove($file)) && ($result); - } - } - } - } - } - $d->close(); - return $result; - } - - /** - * Remove a file - * - * If we can't remove the file (because of locks or any problem), we will touch - * the file to invalidate it - * - * @param string $file Complete file path - * @return boolean True if ok - */ - private function _remove($file) - { - if (!@unlink($file)) { - # If we can't remove the file (because of locks or any problem), we will touch - # the file to invalidate it - $this->_log("Zend_Cache_Backend_ZendPlatform::_remove() : we can't remove $file => we are going to try to invalidate it"); - if ($this->_directives['lifetime'] === null) { - return false; - } - if (!file_exists($file)) { - return false; - } - return @touch($file, time() - 2*abs($this->_directives['lifetime'])); - } - return true; - } - -} diff --git a/lib/zend/Zend/Cache/Backend/ZendServer.php b/lib/zend/Zend/Cache/Backend/ZendServer.php deleted file mode 100755 index 808fd42383..0000000000 --- a/lib/zend/Zend/Cache/Backend/ZendServer.php +++ /dev/null @@ -1,207 +0,0 @@ - (string) namespace : - * Namespace to be used for chaching operations - * - * @var array available options - */ - protected $_options = array( - 'namespace' => 'zendframework' - ); - - /** - * Store data - * - * @param mixed $data Object to store - * @param string $id Cache id - * @param int $timeToLive Time to live in seconds - * @throws Zend_Cache_Exception - */ - abstract protected function _store($data, $id, $timeToLive); - - /** - * Fetch data - * - * @param string $id Cache id - * @throws Zend_Cache_Exception - */ - abstract protected function _fetch($id); - - /** - * Unset data - * - * @param string $id Cache id - */ - abstract protected function _unset($id); - - /** - * Clear cache - */ - abstract protected function _clear(); - - /** - * Test if a cache is available for the given id and (if yes) return it (false else) - * - * @param string $id cache id - * @param boolean $doNotTestCacheValidity if set to true, the cache validity won't be tested - * @return string cached datas (or false) - */ - public function load($id, $doNotTestCacheValidity = false) - { - $tmp = $this->_fetch($id); - if ($tmp !== null) { - return $tmp; - } - return false; - } - - /** - * Test if a cache is available or not (for the given id) - * - * @param string $id cache id - * @return mixed false (a cache is not available) or "last modified" timestamp (int) of the available cache record - * @throws Zend_Cache_Exception - */ - public function test($id) - { - $tmp = $this->_fetch('internal-metadatas---' . $id); - if ($tmp !== false) { - if (!is_array($tmp) || !isset($tmp['mtime'])) { - Zend_Cache::throwException('Cache metadata for \'' . $id . '\' id is corrupted' ); - } - return $tmp['mtime']; - } - return false; - } - - /** - * Compute & return the expire time - * - * @return int expire time (unix timestamp) - */ - private function _expireTime($lifetime) - { - if ($lifetime === null) { - return 9999999999; - } - return time() + $lifetime; - } - - /** - * Save some string datas into a cache record - * - * Note : $data is always "string" (serialization is done by the - * core not by the backend) - * - * @param string $data datas to cache - * @param string $id cache id - * @param array $tags array of strings, the cache record will be tagged by each string entry - * @param int $specificLifetime if != false, set a specific lifetime for this cache record (null => infinite lifetime) - * @return boolean true if no problem - */ - public function save($data, $id, $tags = array(), $specificLifetime = false) - { - $lifetime = $this->getLifetime($specificLifetime); - $metadatas = array( - 'mtime' => time(), - 'expire' => $this->_expireTime($lifetime), - ); - - if (count($tags) > 0) { - $this->_log('Zend_Cache_Backend_ZendServer::save() : tags are unsupported by the ZendServer backends'); - } - - return $this->_store($data, $id, $lifetime) && - $this->_store($metadatas, 'internal-metadatas---' . $id, $lifetime); - } - - /** - * Remove a cache record - * - * @param string $id cache id - * @return boolean true if no problem - */ - public function remove($id) - { - $result1 = $this->_unset($id); - $result2 = $this->_unset('internal-metadatas---' . $id); - - return $result1 && $result2; - } - - /** - * Clean some cache records - * - * Available modes are : - * 'all' (default) => remove all cache entries ($tags is not used) - * 'old' => unsupported - * 'matchingTag' => unsupported - * 'notMatchingTag' => unsupported - * 'matchingAnyTag' => unsupported - * - * @param string $mode clean mode - * @param array $tags array of tags - * @throws Zend_Cache_Exception - * @return boolean true if no problem - */ - public function clean($mode = Zend_Cache::CLEANING_MODE_ALL, $tags = array()) - { - switch ($mode) { - case Zend_Cache::CLEANING_MODE_ALL: - $this->_clear(); - return true; - break; - case Zend_Cache::CLEANING_MODE_OLD: - $this->_log("Zend_Cache_Backend_ZendServer::clean() : CLEANING_MODE_OLD is unsupported by the Zend Server backends."); - break; - case Zend_Cache::CLEANING_MODE_MATCHING_TAG: - case Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG: - case Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG: - $this->_clear(); - $this->_log('Zend_Cache_Backend_ZendServer::clean() : tags are unsupported by the Zend Server backends.'); - break; - default: - Zend_Cache::throwException('Invalid mode for clean() method'); - break; - } - } -} diff --git a/lib/zend/Zend/Cache/Backend/ZendServer/Disk.php b/lib/zend/Zend/Cache/Backend/ZendServer/Disk.php deleted file mode 100755 index 30f5e06e78..0000000000 --- a/lib/zend/Zend/Cache/Backend/ZendServer/Disk.php +++ /dev/null @@ -1,100 +0,0 @@ -_options['namespace'] . '::' . $id, - $data, - $timeToLive) === false) { - $this->_log('Store operation failed.'); - return false; - } - return true; - } - - /** - * Fetch data - * - * @param string $id Cache id - */ - protected function _fetch($id) - { - return zend_disk_cache_fetch($this->_options['namespace'] . '::' . $id); - } - - /** - * Unset data - * - * @param string $id Cache id - * @return boolean true if no problem - */ - protected function _unset($id) - { - return zend_disk_cache_delete($this->_options['namespace'] . '::' . $id); - } - - /** - * Clear cache - */ - protected function _clear() - { - zend_disk_cache_clear($this->_options['namespace']); - } -} diff --git a/lib/zend/Zend/Cache/Backend/ZendServer/ShMem.php b/lib/zend/Zend/Cache/Backend/ZendServer/ShMem.php deleted file mode 100755 index 8cfc0344bf..0000000000 --- a/lib/zend/Zend/Cache/Backend/ZendServer/ShMem.php +++ /dev/null @@ -1,100 +0,0 @@ -_options['namespace'] . '::' . $id, - $data, - $timeToLive) === false) { - $this->_log('Store operation failed.'); - return false; - } - return true; - } - - /** - * Fetch data - * - * @param string $id Cache id - */ - protected function _fetch($id) - { - return zend_shm_cache_fetch($this->_options['namespace'] . '::' . $id); - } - - /** - * Unset data - * - * @param string $id Cache id - * @return boolean true if no problem - */ - protected function _unset($id) - { - return zend_shm_cache_delete($this->_options['namespace'] . '::' . $id); - } - - /** - * Clear cache - */ - protected function _clear() - { - zend_shm_cache_clear($this->_options['namespace']); - } -} diff --git a/lib/zend/Zend/Cache/Core.php b/lib/zend/Zend/Cache/Core.php deleted file mode 100644 index 84b77733de..0000000000 --- a/lib/zend/Zend/Cache/Core.php +++ /dev/null @@ -1,683 +0,0 @@ - (boolean) write_control : - * - Enable / disable write control (the cache is read just after writing to detect corrupt entries) - * - Enable write control will lightly slow the cache writing but not the cache reading - * Write control can detect some corrupt cache files but maybe it's not a perfect control - * - * ====> (boolean) caching : - * - Enable / disable caching - * (can be very useful for the debug of cached scripts) - * - * =====> (string) cache_id_prefix : - * - prefix for cache ids (namespace) - * - * ====> (boolean) automatic_serialization : - * - Enable / disable automatic serialization - * - It can be used to save directly datas which aren't strings (but it's slower) - * - * ====> (int) automatic_cleaning_factor : - * - Disable / Tune the automatic cleaning process - * - The automatic cleaning process destroy too old (for the given life time) - * cache files when a new cache file is written : - * 0 => no automatic cache cleaning - * 1 => systematic cache cleaning - * x (integer) > 1 => automatic cleaning randomly 1 times on x cache write - * - * ====> (int) lifetime : - * - Cache lifetime (in seconds) - * - If null, the cache is valid forever. - * - * ====> (boolean) logging : - * - If set to true, logging is activated (but the system is slower) - * - * ====> (boolean) ignore_user_abort - * - If set to true, the core will set the ignore_user_abort PHP flag inside the - * save() method to avoid cache corruptions in some cases (default false) - * - * @var array $_options available options - */ - protected $_options = array( - 'write_control' => true, - 'caching' => true, - 'cache_id_prefix' => null, - 'automatic_serialization' => false, - 'automatic_cleaning_factor' => 10, - 'lifetime' => 3600, - 'logging' => false, - 'logger' => null, - 'ignore_user_abort' => false - ); - - /** - * Array of options which have to be transfered to backend - * - * @var array $_directivesList - */ - protected static $_directivesList = array('lifetime', 'logging', 'logger'); - - /** - * Not used for the core, just a sort a hint to get a common setOption() method (for the core and for frontends) - * - * @var array $_specificOptions - */ - protected $_specificOptions = array(); - - /** - * Last used cache id - * - * @var string $_lastId - */ - private $_lastId = null; - - /** - * True if the backend implements Zend_Cache_Backend_ExtendedInterface - * - * @var boolean $_extendedBackend - */ - protected $_extendedBackend = false; - - /** - * Array of capabilities of the backend (only if it implements Zend_Cache_Backend_ExtendedInterface) - * - * @var array - */ - protected $_backendCapabilities = array(); - - /** - * Constructor - * - * @param array|Zend_Config $options Associative array of options or Zend_Config instance - * @throws Zend_Cache_Exception - * @return void - */ - public function __construct($options = array()) - { - if ($options instanceof Zend_Config) { - $options = $options->toArray(); - } - if (!is_array($options)) { - Zend_Cache::throwException("Options passed were not an array" - . " or Zend_Config instance."); - } - while (list($name, $value) = each($options)) { - $this->setOption($name, $value); - } - $this->_loggerSanity(); - } - - /** - * Set options using an instance of type Zend_Config - * - * @param Zend_Config $config - * @return Zend_Cache_Core - */ - public function setConfig(Zend_Config $config) - { - $options = $config->toArray(); - while (list($name, $value) = each($options)) { - $this->setOption($name, $value); - } - return $this; - } - - /** - * Set the backend - * - * @param object $backendObject - * @throws Zend_Cache_Exception - * @return void - */ - public function setBackend(Zend_Cache_Backend $backendObject) - { - $this->_backend= $backendObject; - // some options (listed in $_directivesList) have to be given - // to the backend too (even if they are not "backend specific") - $directives = array(); - foreach (Zend_Cache_Core::$_directivesList as $directive) { - $directives[$directive] = $this->_options[$directive]; - } - $this->_backend->setDirectives($directives); - if (in_array('Zend_Cache_Backend_ExtendedInterface', class_implements($this->_backend))) { - $this->_extendedBackend = true; - $this->_backendCapabilities = $this->_backend->getCapabilities(); - } - - } - - /** - * Returns the backend - * - * @return object backend object - */ - public function getBackend() - { - return $this->_backend; - } - - /** - * Public frontend to set an option - * - * There is an additional validation (relatively to the protected _setOption method) - * - * @param string $name Name of the option - * @param mixed $value Value of the option - * @throws Zend_Cache_Exception - * @return void - */ - public function setOption($name, $value) - { - if (!is_string($name)) { - Zend_Cache::throwException("Incorrect option name : $name"); - } - $name = strtolower($name); - if (array_key_exists($name, $this->_options)) { - // This is a Core option - $this->_setOption($name, $value); - return; - } - if (array_key_exists($name, $this->_specificOptions)) { - // This a specic option of this frontend - $this->_specificOptions[$name] = $value; - return; - } - } - - /** - * Public frontend to get an option value - * - * @param string $name Name of the option - * @throws Zend_Cache_Exception - * @return mixed option value - */ - public function getOption($name) - { - if (is_string($name)) { - $name = strtolower($name); - if (array_key_exists($name, $this->_options)) { - // This is a Core option - return $this->_options[$name]; - } - if (array_key_exists($name, $this->_specificOptions)) { - // This a specic option of this frontend - return $this->_specificOptions[$name]; - } - } - Zend_Cache::throwException("Incorrect option name : $name"); - } - - /** - * Set an option - * - * @param string $name Name of the option - * @param mixed $value Value of the option - * @throws Zend_Cache_Exception - * @return void - */ - private function _setOption($name, $value) - { - if (!is_string($name) || !array_key_exists($name, $this->_options)) { - Zend_Cache::throwException("Incorrect option name : $name"); - } - $this->_options[$name] = $value; - } - - /** - * Force a new lifetime - * - * The new value is set for the core/frontend but for the backend too (directive) - * - * @param int $newLifetime New lifetime (in seconds) - * @return void - */ - public function setLifetime($newLifetime) - { - $this->_options['lifetime'] = $newLifetime; - $this->_backend->setDirectives(array( - 'lifetime' => $newLifetime - )); - } - - /** - * Test if a cache is available for the given id and (if yes) return it (false else) - * - * @param string $id Cache id - * @param boolean $doNotTestCacheValidity If set to true, the cache validity won't be tested - * @param boolean $doNotUnserialize Do not serialize (even if automatic_serialization is true) => for internal use - * @return mixed|false Cached datas - */ - public function load($id, $doNotTestCacheValidity = false, $doNotUnserialize = false) - { - if (!$this->_options['caching']) { - return false; - } - $id = $this->_id($id); // cache id may need prefix - $this->_lastId = $id; - self::_validateIdOrTag($id); - $data = $this->_backend->load($id, $doNotTestCacheValidity); - if ($data===false) { - // no cache available - return false; - } - if ((!$doNotUnserialize) && $this->_options['automatic_serialization']) { - // we need to unserialize before sending the result - return unserialize($data); - } - return $data; - } - - /** - * Test if a cache is available for the given id - * - * @param string $id Cache id - * @return boolean True is a cache is available, false else - */ - public function test($id) - { - if (!$this->_options['caching']) { - return false; - } - $id = $this->_id($id); // cache id may need prefix - self::_validateIdOrTag($id); - $this->_lastId = $id; - return $this->_backend->test($id); - } - - /** - * Save some data in a cache - * - * @param mixed $data Data to put in cache (can be another type than string if automatic_serialization is on) - * @param string $id Cache id (if not set, the last cache id will be used) - * @param array $tags Cache tags - * @param int $specificLifetime If != false, set a specific lifetime for this cache record (null => infinite lifetime) - * @param int $priority integer between 0 (very low priority) and 10 (maximum priority) used by some particular backends - * @throws Zend_Cache_Exception - * @return boolean True if no problem - */ - public function save($data, $id = null, $tags = array(), $specificLifetime = false, $priority = 8) - { - if (!$this->_options['caching']) { - return true; - } - if ($id === null) { - $id = $this->_lastId; - } else { - $id = $this->_id($id); - } - self::_validateIdOrTag($id); - self::_validateTagsArray($tags); - if ($this->_options['automatic_serialization']) { - // we need to serialize datas before storing them - $data = serialize($data); - } else { - if (!is_string($data)) { - Zend_Cache::throwException("Datas must be string or set automatic_serialization = true"); - } - } - // automatic cleaning - if ($this->_options['automatic_cleaning_factor'] > 0) { - $rand = rand(1, $this->_options['automatic_cleaning_factor']); - if ($rand==1) { - if ($this->_extendedBackend) { - // New way - if ($this->_backendCapabilities['automatic_cleaning']) { - $this->clean(Zend_Cache::CLEANING_MODE_OLD); - } else { - $this->_log('Zend_Cache_Core::save() / automatic cleaning is not available/necessary with this backend'); - } - } else { - // Deprecated way (will be removed in next major version) - if (method_exists($this->_backend, 'isAutomaticCleaningAvailable') && ($this->_backend->isAutomaticCleaningAvailable())) { - $this->clean(Zend_Cache::CLEANING_MODE_OLD); - } else { - $this->_log('Zend_Cache_Core::save() / automatic cleaning is not available/necessary with this backend'); - } - } - } - } - if ($this->_options['ignore_user_abort']) { - $abort = ignore_user_abort(true); - } - if (($this->_extendedBackend) && ($this->_backendCapabilities['priority'])) { - $result = $this->_backend->save($data, $id, $tags, $specificLifetime, $priority); - } else { - $result = $this->_backend->save($data, $id, $tags, $specificLifetime); - } - if ($this->_options['ignore_user_abort']) { - ignore_user_abort($abort); - } - if (!$result) { - // maybe the cache is corrupted, so we remove it ! - if ($this->_options['logging']) { - $this->_log("Zend_Cache_Core::save() : impossible to save cache (id=$id)"); - } - $this->remove($id); - return false; - } - if ($this->_options['write_control']) { - $data2 = $this->_backend->load($id, true); - if ($data!=$data2) { - $this->_log('Zend_Cache_Core::save() / write_control : written and read data do not match'); - $this->_backend->remove($id); - return false; - } - } - return true; - } - - /** - * Remove a cache - * - * @param string $id Cache id to remove - * @return boolean True if ok - */ - public function remove($id) - { - if (!$this->_options['caching']) { - return true; - } - $id = $this->_id($id); // cache id may need prefix - self::_validateIdOrTag($id); - return $this->_backend->remove($id); - } - - /** - * Clean cache entries - * - * Available modes are : - * 'all' (default) => remove all cache entries ($tags is not used) - * 'old' => remove too old cache entries ($tags is not used) - * 'matchingTag' => remove cache entries matching all given tags - * ($tags can be an array of strings or a single string) - * 'notMatchingTag' => remove cache entries not matching one of the given tags - * ($tags can be an array of strings or a single string) - * 'matchingAnyTag' => remove cache entries matching any given tags - * ($tags can be an array of strings or a single string) - * - * @param string $mode - * @param array|string $tags - * @throws Zend_Cache_Exception - * @return boolean True if ok - */ - public function clean($mode = 'all', $tags = array()) - { - if (!$this->_options['caching']) { - return true; - } - if (!in_array($mode, array(Zend_Cache::CLEANING_MODE_ALL, - Zend_Cache::CLEANING_MODE_OLD, - Zend_Cache::CLEANING_MODE_MATCHING_TAG, - Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG, - Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG))) { - Zend_Cache::throwException('Invalid cleaning mode'); - } - self::_validateTagsArray($tags); - return $this->_backend->clean($mode, $tags); - } - - /** - * Return an array of stored cache ids which match given tags - * - * In case of multiple tags, a logical AND is made between tags - * - * @param array $tags array of tags - * @return array array of matching cache ids (string) - */ - public function getIdsMatchingTags($tags = array()) - { - if (!$this->_extendedBackend) { - Zend_Cache::throwException('Current backend doesn\'t implement the Zend_Cache_Backend_ExtendedInterface, so this method is not available'); - } - if (!($this->_backendCapabilities['tags'])) { - Zend_Cache::throwException('tags are not supported by the current backend'); - } - return $this->_backend->getIdsMatchingTags($tags); - } - - /** - * Return an array of stored cache ids which don't match given tags - * - * In case of multiple tags, a logical OR is made between tags - * - * @param array $tags array of tags - * @return array array of not matching cache ids (string) - */ - public function getIdsNotMatchingTags($tags = array()) - { - if (!$this->_extendedBackend) { - Zend_Cache::throwException('Current backend doesn\'t implement the Zend_Cache_Backend_ExtendedInterface, so this method is not available'); - } - if (!($this->_backendCapabilities['tags'])) { - Zend_Cache::throwException('tags are not supported by the current backend'); - } - return $this->_backend->getIdsNotMatchingTags($tags); - } - - /** - * Return an array of stored cache ids - * - * @return array array of stored cache ids (string) - */ - public function getIds() - { - if (!$this->_extendedBackend) { - Zend_Cache::throwException('Current backend doesn\'t implement the Zend_Cache_Backend_ExtendedInterface, so this method is not available'); - } - $array = $this->_backend->getIds(); - if ((!isset($this->_options['cache_id_prefix'])) || ($this->_options['cache_id_prefix'] == '')) return $array; - // we need to remove cache_id_prefix from ids (see #ZF-6178) - $res = array(); - while (list(,$id) = each($array)) { - if (strpos($id, $this->_options['cache_id_prefix']) === 0) { - $res[] = preg_replace("~^{$this->_options['cache_id_prefix']}~", '', $id); - } else { - $res[] = $id; - } - } - return $res; - } - - /** - * Return an array of stored tags - * - * @return array array of stored tags (string) - */ - public function getTags() - { - if (!$this->_extendedBackend) { - Zend_Cache::throwException('Current backend doesn\'t implement the Zend_Cache_Backend_ExtendedInterface, so this method is not available'); - } - if (!($this->_backendCapabilities['tags'])) { - Zend_Cache::throwException('tags are not supported by the current backend'); - } - return $this->_backend->getTags(); - } - - /** - * Return the filling percentage of the backend storage - * - * @return int integer between 0 and 100 - */ - public function getFillingPercentage() - { - if (!$this->_extendedBackend) { - Zend_Cache::throwException('Current backend doesn\'t implement the Zend_Cache_Backend_ExtendedInterface, so this method is not available'); - } - return $this->_backend->getFillingPercentage(); - } - - /** - * Return an array of metadatas for the given cache id - * - * The array will include these keys : - * - expire : the expire timestamp - * - tags : a string array of tags - * - mtime : timestamp of last modification time - * - * @param string $id cache id - * @return array array of metadatas (false if the cache id is not found) - */ - public function getMetadatas($id) - { - if (!$this->_extendedBackend) { - Zend_Cache::throwException('Current backend doesn\'t implement the Zend_Cache_Backend_ExtendedInterface, so this method is not available'); - } - $id = $this->_id($id); // cache id may need prefix - return $this->_backend->getMetadatas($id); - } - - /** - * Give (if possible) an extra lifetime to the given cache id - * - * @param string $id cache id - * @param int $extraLifetime - * @return boolean true if ok - */ - public function touch($id, $extraLifetime) - { - if (!$this->_extendedBackend) { - Zend_Cache::throwException('Current backend doesn\'t implement the Zend_Cache_Backend_ExtendedInterface, so this method is not available'); - } - $id = $this->_id($id); // cache id may need prefix - return $this->_backend->touch($id, $extraLifetime); - } - - /** - * Validate a cache id or a tag (security, reliable filenames, reserved prefixes...) - * - * Throw an exception if a problem is found - * - * @param string $string Cache id or tag - * @throws Zend_Cache_Exception - * @return void - */ - protected static function _validateIdOrTag($string) - { - if (!is_string($string)) { - Zend_Cache::throwException('Invalid id or tag : must be a string'); - } - if (substr($string, 0, 9) == 'internal-') { - Zend_Cache::throwException('"internal-*" ids or tags are reserved'); - } - if (!preg_match('~^[\w]+$~D', $string)) { - Zend_Cache::throwException("Invalid id or tag '$string' : must use only [a-zA-Z0-9_]"); - } - } - - /** - * Validate a tags array (security, reliable filenames, reserved prefixes...) - * - * Throw an exception if a problem is found - * - * @param array $tags Array of tags - * @throws Zend_Cache_Exception - * @return void - */ - protected static function _validateTagsArray($tags) - { - if (!is_array($tags)) { - Zend_Cache::throwException('Invalid tags array : must be an array'); - } - foreach($tags as $tag) { - self::_validateIdOrTag($tag); - } - reset($tags); - } - - /** - * Make sure if we enable logging that the Zend_Log class - * is available. - * Create a default log object if none is set. - * - * @throws Zend_Cache_Exception - * @return void - */ - protected function _loggerSanity() - { - if (!isset($this->_options['logging']) || !$this->_options['logging']) { - return; - } - - if (isset($this->_options['logger']) && $this->_options['logger'] instanceof Zend_Log) { - return; - } - - // Create a default logger to the standard output stream - require_once 'Zend/Log/Writer/Stream.php'; - $logger = new Zend_Log(new Zend_Log_Writer_Stream('php://output')); - $this->_options['logger'] = $logger; - } - - /** - * Log a message at the WARN (4) priority. - * - * @param string $message - * @throws Zend_Cache_Exception - * @return void - */ - protected function _log($message, $priority = 4) - { - if (!$this->_options['logging']) { - return; - } - if (!(isset($this->_options['logger']) || $this->_options['logger'] instanceof Zend_Log)) { - Zend_Cache::throwException('Logging is enabled but logger is not set'); - } - $logger = $this->_options['logger']; - $logger->log($message, $priority); - } - - /** - * Make and return a cache id - * - * Checks 'cache_id_prefix' and returns new id with prefix or simply the id if null - * - * @param string $id Cache id - * @return string Cache id (with or without prefix) - */ - protected function _id($id) - { - if (($id !== null) && isset($this->_options['cache_id_prefix'])) { - return $this->_options['cache_id_prefix'] . $id; // return with prefix - } - return $id; // no prefix, just return the $id passed - } - -} diff --git a/lib/zend/Zend/Cache/Exception.php b/lib/zend/Zend/Cache/Exception.php deleted file mode 100644 index 7c2d56f61d..0000000000 --- a/lib/zend/Zend/Cache/Exception.php +++ /dev/null @@ -1,32 +0,0 @@ - (mixed) cached_entity : - * - if set to a class name, we will cache an abstract class and will use only static calls - * - if set to an object, we will cache this object methods - * - * ====> (boolean) cache_by_default : - * - if true, method calls will be cached by default - * - * ====> (array) cached_methods : - * - an array of method names which will be cached (even if cache_by_default = false) - * - * ====> (array) non_cached_methods : - * - an array of method names which won't be cached (even if cache_by_default = true) - * - * @var array available options - */ - protected $_specificOptions = array( - 'cached_entity' => null, - 'cache_by_default' => true, - 'cached_methods' => array(), - 'non_cached_methods' => array() - ); - - /** - * Tags array - * - * @var array - */ - private $_tags = array(); - - /** - * SpecificLifetime value - * - * false => no specific life time - * - * @var int - */ - private $_specificLifetime = false; - - /** - * The cached object or the name of the cached abstract class - * - * @var mixed - */ - private $_cachedEntity = null; - - /** - * The class name of the cached object or cached abstract class - * - * Used to differentiate between different classes with the same method calls. - * - * @var string - */ - private $_cachedEntityLabel = ''; - - /** - * Priority (used by some particular backends) - * - * @var int - */ - private $_priority = 8; - - /** - * Constructor - * - * @param array $options Associative array of options - * @throws Zend_Cache_Exception - * @return void - */ - public function __construct(array $options = array()) - { - while (list($name, $value) = each($options)) { - $this->setOption($name, $value); - } - if ($this->_specificOptions['cached_entity'] === null) { - Zend_Cache::throwException('cached_entity must be set !'); - } - $this->setCachedEntity($this->_specificOptions['cached_entity']); - $this->setOption('automatic_serialization', true); - } - - /** - * Set a specific life time - * - * @param int $specificLifetime - * @return void - */ - public function setSpecificLifetime($specificLifetime = false) - { - $this->_specificLifetime = $specificLifetime; - } - - /** - * Set the priority (used by some particular backends) - * - * @param int $priority integer between 0 (very low priority) and 10 (maximum priority) - */ - public function setPriority($priority) - { - $this->_priority = $priority; - } - - /** - * Public frontend to set an option - * - * Just a wrapper to get a specific behaviour for cached_entity - * - * @param string $name Name of the option - * @param mixed $value Value of the option - * @throws Zend_Cache_Exception - * @return void - */ - public function setOption($name, $value) - { - if ($name == 'cached_entity') { - $this->setCachedEntity($value); - } else { - parent::setOption($name, $value); - } - } - - /** - * Specific method to set the cachedEntity - * - * if set to a class name, we will cache an abstract class and will use only static calls - * if set to an object, we will cache this object methods - * - * @param mixed $cachedEntity - */ - public function setCachedEntity($cachedEntity) - { - if (!is_string($cachedEntity) && !is_object($cachedEntity)) { - Zend_Cache::throwException('cached_entity must be an object or a class name'); - } - $this->_cachedEntity = $cachedEntity; - $this->_specificOptions['cached_entity'] = $cachedEntity; - if (is_string($this->_cachedEntity)){ - $this->_cachedEntityLabel = $this->_cachedEntity; - } else { - $ro = new ReflectionObject($this->_cachedEntity); - $this->_cachedEntityLabel = $ro->getName(); - } - } - - /** - * Set the cache array - * - * @param array $tags - * @return void - */ - public function setTagsArray($tags = array()) - { - $this->_tags = $tags; - } - - /** - * Main method : call the specified method or get the result from cache - * - * @param string $name Method name - * @param array $parameters Method parameters - * @return mixed Result - */ - public function __call($name, $parameters) - { - $cacheBool1 = $this->_specificOptions['cache_by_default']; - $cacheBool2 = in_array($name, $this->_specificOptions['cached_methods']); - $cacheBool3 = in_array($name, $this->_specificOptions['non_cached_methods']); - $cache = (($cacheBool1 || $cacheBool2) && (!$cacheBool3)); - if (!$cache) { - // We do not have not cache - return call_user_func_array(array($this->_cachedEntity, $name), $parameters); - } - $id = $this->_makeId($name, $parameters); - if ($this->test($id)) { - // A cache is available - $result = $this->load($id); - $output = $result[0]; - $return = $result[1]; - } else { - // A cache is not available - ob_start(); - ob_implicit_flush(false); - $return = call_user_func_array(array($this->_cachedEntity, $name), $parameters); - $output = ob_get_contents(); - ob_end_clean(); - $data = array($output, $return); - $this->save($data, $id, $this->_tags, $this->_specificLifetime, $this->_priority); - } - echo $output; - return $return; - } - - /** - * Make a cache id from the method name and parameters - * - * @param string $name Method name - * @param array $parameters Method parameters - * @return string Cache id - */ - private function _makeId($name, $parameters) - { - return md5($this->_cachedEntityLabel . '__' . $name . '__' . serialize($parameters)); - } - -} diff --git a/lib/zend/Zend/Cache/Frontend/File.php b/lib/zend/Zend/Cache/Frontend/File.php deleted file mode 100644 index 84fa84dd6b..0000000000 --- a/lib/zend/Zend/Cache/Frontend/File.php +++ /dev/null @@ -1,209 +0,0 @@ - (string) master_file : - * - a complete path of the master file - * - deprecated (see master_files) - * - * ====> (array) master_files : - * - an array of complete path of master files - * - this option has to be set ! - * - * ====> (string) master_files_mode : - * - Zend_Cache_Frontend_File::MODE_AND or Zend_Cache_Frontend_File::MODE_OR - * - if MODE_AND, then all master files have to be touched to get a cache invalidation - * - if MODE_OR (default), then a single touched master file is enough to get a cache invalidation - * - * ====> (boolean) ignore_missing_master_files - * - if set to true, missing master files are ignored silently - * - if set to false (default), an exception is thrown if there is a missing master file - * @var array available options - */ - protected $_specificOptions = array( - 'master_file' => null, - 'master_files' => null, - 'master_files_mode' => 'OR', - 'ignore_missing_master_files' => false - ); - - /** - * Master file mtimes - * - * Array of int - * - * @var array - */ - private $_masterFile_mtimes = null; - - /** - * Constructor - * - * @param array $options Associative array of options - * @throws Zend_Cache_Exception - * @return void - */ - public function __construct(array $options = array()) - { - while (list($name, $value) = each($options)) { - $this->setOption($name, $value); - } - if (!isset($this->_specificOptions['master_files'])) { - Zend_Cache::throwException('master_files option must be set'); - } - } - - /** - * Change the master_file option - * - * @param string $masterFile the complete path and name of the master file - */ - public function setMasterFiles($masterFiles) - { - clearstatcache(); - $this->_specificOptions['master_file'] = $masterFiles[0]; // to keep a compatibility - $this->_specificOptions['master_files'] = $masterFiles; - $this->_masterFile_mtimes = array(); - $i = 0; - foreach ($masterFiles as $masterFile) { - $this->_masterFile_mtimes[$i] = @filemtime($masterFile); - if ((!($this->_specificOptions['ignore_missing_master_files'])) && (!($this->_masterFile_mtimes[$i]))) { - Zend_Cache::throwException('Unable to read master_file : '.$masterFile); - } - $i++; - } - } - - /** - * Change the master_file option - * - * To keep the compatibility - * - * @deprecated - * @param string $masterFile the complete path and name of the master file - */ - public function setMasterFile($masterFile) - { - $this->setMasterFiles(array(0 => $masterFile)); - } - - /** - * Public frontend to set an option - * - * Just a wrapper to get a specific behaviour for master_file - * - * @param string $name Name of the option - * @param mixed $value Value of the option - * @throws Zend_Cache_Exception - * @return void - */ - public function setOption($name, $value) - { - if ($name == 'master_file') { - $this->setMasterFile($value); - } else if ($name == 'master_files') { - $this->setMasterFiles($value); - } else { - parent::setOption($name, $value); - } - } - - /** - * Test if a cache is available for the given id and (if yes) return it (false else) - * - * @param string $id Cache id - * @param boolean $doNotTestCacheValidity If set to true, the cache validity won't be tested - * @param boolean $doNotUnserialize Do not serialize (even if automatic_serialization is true) => for internal use - * @return mixed|false Cached datas - */ - public function load($id, $doNotTestCacheValidity = false, $doNotUnserialize = false) - { - if (!$doNotTestCacheValidity) { - if ($this->test($id)) { - return parent::load($id, true, $doNotUnserialize); - } - return false; - } - return parent::load($id, true, $doNotUnserialize); - } - - /** - * Test if a cache is available for the given id - * - * @param string $id Cache id - * @return boolean True is a cache is available, false else - */ - public function test($id) - { - $lastModified = parent::test($id); - if ($lastModified) { - if ($this->_specificOptions['master_files_mode'] == self::MODE_AND) { - // MODE_AND - foreach($this->_masterFile_mtimes as $masterFileMTime) { - if ($masterFileMTime) { - if ($lastModified > $masterFileMTime) { - return $lastModified; - } - } - } - } else { - // MODE_OR - $res = true; - foreach($this->_masterFile_mtimes as $masterFileMTime) { - if ($masterFileMTime) { - if ($lastModified <= $masterFileMTime) { - return false; - } - } - } - return $lastModified; - } - } - return false; - } - -} - diff --git a/lib/zend/Zend/Cache/Frontend/Function.php b/lib/zend/Zend/Cache/Frontend/Function.php deleted file mode 100644 index 36a8d93e85..0000000000 --- a/lib/zend/Zend/Cache/Frontend/Function.php +++ /dev/null @@ -1,131 +0,0 @@ - (boolean) cache_by_default : - * - if true, function calls will be cached by default - * - * ====> (array) cached_functions : - * - an array of function names which will be cached (even if cache_by_default = false) - * - * ====> (array) non_cached_functions : - * - an array of function names which won't be cached (even if cache_by_default = true) - * - * @var array options - */ - protected $_specificOptions = array( - 'cache_by_default' => true, - 'cached_functions' => array(), - 'non_cached_functions' => array() - ); - - /** - * Constructor - * - * @param array $options Associative array of options - * @return void - */ - public function __construct(array $options = array()) - { - while (list($name, $value) = each($options)) { - $this->setOption($name, $value); - } - $this->setOption('automatic_serialization', true); - } - - /** - * Main method : call the specified function or get the result from cache - * - * @param string $name Function name - * @param array $parameters Function parameters - * @param array $tags Cache tags - * @param int $specificLifetime If != false, set a specific lifetime for this cache record (null => infinite lifetime) - * @param int $priority integer between 0 (very low priority) and 10 (maximum priority) used by some particular backends - * @return mixed Result - */ - public function call($name, $parameters = array(), $tags = array(), $specificLifetime = false, $priority = 8) - { - $cacheBool1 = $this->_specificOptions['cache_by_default']; - $cacheBool2 = in_array($name, $this->_specificOptions['cached_functions']); - $cacheBool3 = in_array($name, $this->_specificOptions['non_cached_functions']); - $cache = (($cacheBool1 || $cacheBool2) && (!$cacheBool3)); - if (!$cache) { - // We do not have not cache - return call_user_func_array($name, $parameters); - } - $id = $this->_makeId($name, $parameters); - if ($this->test($id)) { - // A cache is available - $result = $this->load($id); - $output = $result[0]; - $return = $result[1]; - } else { - // A cache is not available - ob_start(); - ob_implicit_flush(false); - $return = call_user_func_array($name, $parameters); - $output = ob_get_contents(); - ob_end_clean(); - $data = array($output, $return); - $this->save($data, $id, $tags, $specificLifetime, $priority); - } - echo $output; - return $return; - } - - /** - * Make a cache id from the function name and parameters - * - * @param string $name Function name - * @param array $parameters Function parameters - * @throws Zend_Cache_Exception - * @return string Cache id - */ - private function _makeId($name, $parameters) - { - if (!is_string($name)) { - Zend_Cache::throwException('Incorrect function name'); - } - if (!is_array($parameters)) { - Zend_Cache::throwException('parameters argument must be an array'); - } - return md5($name . serialize($parameters)); - } - -} diff --git a/lib/zend/Zend/Cache/Frontend/Output.php b/lib/zend/Zend/Cache/Frontend/Output.php deleted file mode 100644 index 8b5d925c45..0000000000 --- a/lib/zend/Zend/Cache/Frontend/Output.php +++ /dev/null @@ -1,106 +0,0 @@ -_idStack = array(); - } - - /** - * Start the cache - * - * @param string $id Cache id - * @param boolean $doNotTestCacheValidity If set to true, the cache validity won't be tested - * @param boolean $echoData If set to true, datas are sent to the browser if the cache is hit (simpy returned else) - * @return mixed True if the cache is hit (false else) with $echoData=true (default) ; string else (datas) - */ - public function start($id, $doNotTestCacheValidity = false, $echoData = true) - { - $data = $this->load($id, $doNotTestCacheValidity); - if ($data !== false) { - if ( $echoData ) { - echo($data); - return true; - } else { - return $data; - } - } - ob_start(); - ob_implicit_flush(false); - $this->_idStack[] = $id; - return false; - } - - /** - * Stop the cache - * - * @param array $tags Tags array - * @param int $specificLifetime If != false, set a specific lifetime for this cache record (null => infinite lifetime) - * @param string $forcedDatas If not null, force written datas with this - * @param boolean $echoData If set to true, datas are sent to the browser - * @param int $priority integer between 0 (very low priority) and 10 (maximum priority) used by some particular backends - * @return void - */ - public function end($tags = array(), $specificLifetime = false, $forcedDatas = null, $echoData = true, $priority = 8) - { - if ($forcedDatas === null) { - $data = ob_get_contents(); - ob_end_clean(); - } else { - $data =& $forcedDatas; - } - $id = array_pop($this->_idStack); - if ($id === null) { - Zend_Cache::throwException('use of end() without a start()'); - } - $this->save($data, $id, $tags, $specificLifetime, $priority); - if ($echoData) { - echo($data); - } - } - -} diff --git a/lib/zend/Zend/Cache/Frontend/Page.php b/lib/zend/Zend/Cache/Frontend/Page.php deleted file mode 100644 index da68855edd..0000000000 --- a/lib/zend/Zend/Cache/Frontend/Page.php +++ /dev/null @@ -1,402 +0,0 @@ - (boolean) http_conditional : - * - if true, http conditional mode is on - * WARNING : http_conditional OPTION IS NOT IMPLEMENTED FOR THE MOMENT (TODO) - * - * ====> (boolean) debug_header : - * - if true, a debug text is added before each cached pages - * - * ====> (boolean) content_type_memorization : - * - deprecated => use memorize_headers instead - * - if the Content-Type header is sent after the cache was started, the - * corresponding value can be memorized and replayed when the cache is hit - * (if false (default), the frontend doesn't take care of Content-Type header) - * - * ====> (array) memorize_headers : - * - an array of strings corresponding to some HTTP headers name. Listed headers - * will be stored with cache datas and "replayed" when the cache is hit - * - * ====> (array) default_options : - * - an associative array of default options : - * - (boolean) cache : cache is on by default if true - * - (boolean) cacheWithXXXVariables (XXXX = 'Get', 'Post', 'Session', 'Files' or 'Cookie') : - * if true, cache is still on even if there are some variables in this superglobal array - * if false, cache is off if there are some variables in this superglobal array - * - (boolean) makeIdWithXXXVariables (XXXX = 'Get', 'Post', 'Session', 'Files' or 'Cookie') : - * if true, we have to use the content of this superglobal array to make a cache id - * if false, the cache id won't be dependent of the content of this superglobal array - * - (int) specific_lifetime : cache specific lifetime - * (false => global lifetime is used, null => infinite lifetime, - * integer => this lifetime is used), this "lifetime" is probably only - * usefull when used with "regexps" array - * - (array) tags : array of tags (strings) - * - (int) priority : integer between 0 (very low priority) and 10 (maximum priority) used by - * some particular backends - * - * ====> (array) regexps : - * - an associative array to set options only for some REQUEST_URI - * - keys are (pcre) regexps - * - values are associative array with specific options to set if the regexp matchs on $_SERVER['REQUEST_URI'] - * (see default_options for the list of available options) - * - if several regexps match the $_SERVER['REQUEST_URI'], only the last one will be used - * - * @var array options - */ - protected $_specificOptions = array( - 'http_conditional' => false, - 'debug_header' => false, - 'content_type_memorization' => false, - 'memorize_headers' => array(), - 'default_options' => array( - 'cache_with_get_variables' => false, - 'cache_with_post_variables' => false, - 'cache_with_session_variables' => false, - 'cache_with_files_variables' => false, - 'cache_with_cookie_variables' => false, - 'make_id_with_get_variables' => true, - 'make_id_with_post_variables' => true, - 'make_id_with_session_variables' => true, - 'make_id_with_files_variables' => true, - 'make_id_with_cookie_variables' => true, - 'cache' => true, - 'specific_lifetime' => false, - 'tags' => array(), - 'priority' => null - ), - 'regexps' => array() - ); - - /** - * Internal array to store some options - * - * @var array associative array of options - */ - protected $_activeOptions = array(); - - /** - * If true, the page won't be cached - * - * @var boolean - */ - protected $_cancel = false; - - /** - * Constructor - * - * @param array $options Associative array of options - * @param boolean $doNotTestCacheValidity If set to true, the cache validity won't be tested - * @throws Zend_Cache_Exception - * @return void - */ - public function __construct(array $options = array()) - { - while (list($name, $value) = each($options)) { - $name = strtolower($name); - switch ($name) { - case 'regexps': - $this->_setRegexps($value); - break; - case 'default_options': - $this->_setDefaultOptions($value); - break; - case 'content_type_memorization': - $this->_setContentTypeMemorization($value); - break; - default: - $this->setOption($name, $value); - } - } - if (isset($this->_specificOptions['http_conditional'])) { - if ($this->_specificOptions['http_conditional']) { - Zend_Cache::throwException('http_conditional is not implemented for the moment !'); - } - } - $this->setOption('automatic_serialization', true); - } - - /** - * Specific setter for the 'default_options' option (with some additional tests) - * - * @param array $options Associative array - * @throws Zend_Cache_Exception - * @return void - */ - protected function _setDefaultOptions($options) - { - if (!is_array($options)) { - Zend_Cache::throwException('default_options must be an array !'); - } - foreach ($options as $key=>$value) { - if (!is_string($key)) { - Zend_Cache::throwException("invalid option [$key] !"); - } - $key = strtolower($key); - if (isset($this->_specificOptions['default_options'][$key])) { - $this->_specificOptions['default_options'][$key] = $value; - } - } - } - - /** - * Set the deprecated contentTypeMemorization option - * - * @param boolean $value value - * @return void - * @deprecated - */ - protected function _setContentTypeMemorization($value) - { - $found = null; - foreach ($this->_specificOptions['memorize_headers'] as $key => $value) { - if (strtolower($value) == 'content-type') { - $found = $key; - } - } - if ($value) { - if (!$found) { - $this->_specificOptions['memorize_headers'][] = 'Content-Type'; - } - } else { - if ($found) { - unset($this->_specificOptions['memorize_headers'][$found]); - } - } - } - - /** - * Specific setter for the 'regexps' option (with some additional tests) - * - * @param array $options Associative array - * @throws Zend_Cache_Exception - * @return void - */ - protected function _setRegexps($regexps) - { - if (!is_array($regexps)) { - Zend_Cache::throwException('regexps option must be an array !'); - } - foreach ($regexps as $regexp=>$conf) { - if (!is_array($conf)) { - Zend_Cache::throwException('regexps option must be an array of arrays !'); - } - $validKeys = array_keys($this->_specificOptions['default_options']); - foreach ($conf as $key=>$value) { - if (!is_string($key)) { - Zend_Cache::throwException("unknown option [$key] !"); - } - $key = strtolower($key); - if (!in_array($key, $validKeys)) { - unset($regexps[$regexp][$key]); - } - } - } - $this->setOption('regexps', $regexps); - } - - /** - * Start the cache - * - * @param string $id (optional) A cache id (if you set a value here, maybe you have to use Output frontend instead) - * @param boolean $doNotDie For unit testing only ! - * @return boolean True if the cache is hit (false else) - */ - public function start($id = false, $doNotDie = false) - { - $this->_cancel = false; - $lastMatchingRegexp = null; - foreach ($this->_specificOptions['regexps'] as $regexp => $conf) { - if (preg_match("`$regexp`", $_SERVER['REQUEST_URI'])) { - $lastMatchingRegexp = $regexp; - } - } - $this->_activeOptions = $this->_specificOptions['default_options']; - if ($lastMatchingRegexp !== null) { - $conf = $this->_specificOptions['regexps'][$lastMatchingRegexp]; - foreach ($conf as $key=>$value) { - $this->_activeOptions[$key] = $value; - } - } - if (!($this->_activeOptions['cache'])) { - return false; - } - if (!$id) { - $id = $this->_makeId(); - if (!$id) { - return false; - } - } - $array = $this->load($id); - if ($array !== false) { - $data = $array['data']; - $headers = $array['headers']; - if (!headers_sent()) { - foreach ($headers as $key=>$headerCouple) { - $name = $headerCouple[0]; - $value = $headerCouple[1]; - header("$name: $value"); - } - } - if ($this->_specificOptions['debug_header']) { - echo 'DEBUG HEADER : This is a cached page !'; - } - echo $data; - if ($doNotDie) { - return true; - } - die(); - } - ob_start(array($this, '_flush')); - ob_implicit_flush(false); - return false; - } - - /** - * Cancel the current caching process - */ - public function cancel() - { - $this->_cancel = true; - } - - /** - * callback for output buffering - * (shouldn't really be called manually) - * - * @param string $data Buffered output - * @return string Data to send to browser - */ - public function _flush($data) - { - if ($this->_cancel) { - return $data; - } - $contentType = null; - $storedHeaders = array(); - $headersList = headers_list(); - foreach($this->_specificOptions['memorize_headers'] as $key=>$headerName) { - foreach ($headersList as $headerSent) { - $tmp = explode(':', $headerSent); - $headerSentName = trim(array_shift($tmp)); - if (strtolower($headerName) == strtolower($headerSentName)) { - $headerSentValue = trim(implode(':', $tmp)); - $storedHeaders[] = array($headerSentName, $headerSentValue); - } - } - } - $array = array( - 'data' => $data, - 'headers' => $storedHeaders - ); - $this->save($array, null, $this->_activeOptions['tags'], $this->_activeOptions['specific_lifetime'], $this->_activeOptions['priority']); - return $data; - } - - /** - * Make an id depending on REQUEST_URI and superglobal arrays (depending on options) - * - * @return mixed|false a cache id (string), false if the cache should have not to be used - */ - protected function _makeId() - { - $tmp = $_SERVER['REQUEST_URI']; - $array = explode('?', $tmp, 2); - $tmp = $array[0]; - foreach (array('Get', 'Post', 'Session', 'Files', 'Cookie') as $arrayName) { - $tmp2 = $this->_makePartialId($arrayName, $this->_activeOptions['cache_with_' . strtolower($arrayName) . '_variables'], $this->_activeOptions['make_id_with_' . strtolower($arrayName) . '_variables']); - if ($tmp2===false) { - return false; - } - $tmp = $tmp . $tmp2; - } - return md5($tmp); - } - - /** - * Make a partial id depending on options - * - * @param string $arrayName Superglobal array name - * @param bool $bool1 If true, cache is still on even if there are some variables in the superglobal array - * @param bool $bool2 If true, we have to use the content of the superglobal array to make a partial id - * @return mixed|false Partial id (string) or false if the cache should have not to be used - */ - protected function _makePartialId($arrayName, $bool1, $bool2) - { - switch ($arrayName) { - case 'Get': - $var = $_GET; - break; - case 'Post': - $var = $_POST; - break; - case 'Session': - if (isset($_SESSION)) { - $var = $_SESSION; - } else { - $var = null; - } - break; - case 'Cookie': - if (isset($_COOKIE)) { - $var = $_COOKIE; - } else { - $var = null; - } - break; - case 'Files': - $var = $_FILES; - break; - default: - return false; - } - if ($bool1) { - if ($bool2) { - return serialize($var); - } - return ''; - } - if (count($var) > 0) { - return false; - } - return ''; - } - -} diff --git a/lib/zend/Zend/Captcha/Adapter.php b/lib/zend/Zend/Captcha/Adapter.php deleted file mode 100644 index f7a6b62fee..0000000000 --- a/lib/zend/Zend/Captcha/Adapter.php +++ /dev/null @@ -1,76 +0,0 @@ -_name; - } - - /** - * Set name - * - * @param string $name - */ - public function setName($name) - { - $this->_name = $name; - return $this; - } - - /** - * Constructor - * - * @param array|Zend_Config $options - * @return void - */ - public function __construct($options = null) - { - // Set options - if (is_array($options)) { - $this->setOptions($options); - } else if ($options instanceof Zend_Config) { - $this->setConfig($options); - } - } - - /** - * Set single option for the object - * - * @param string $key - * @param string $value - * @return Zend_Form_Element - */ - public function setOption($key, $value) - { - if (in_array(strtolower($key), $this->_skipOptions)) { - return $this; - } - - $method = 'set' . ucfirst ($key); - if (method_exists ($this, $method)) { - // Setter exists; use it - $this->$method ($value); - $this->_options[$key] = $value; - } elseif (property_exists($this, $key)) { - // Assume it's metadata - $this->$key = $value; - $this->_options[$key] = $value; - } - return $this; - } - - /** - * Set object state from options array - * - * @param array $options - * @return Zend_Form_Element - */ - public function setOptions($options = null) - { - foreach ($options as $key => $value) { - $this->setOption($key, $value); - } - return $this; - } - - /** - * Retrieve options representing object state - * - * @return array - */ - public function getOptions() - { - return $this->_options; - } - - /** - * Set object state from config object - * - * @param Zend_Config $config - * @return Zend_Captcha_Base - */ - public function setConfig(Zend_Config $config) - { - return $this->setOptions($config->toArray()); - } - - /** - * Get optional decorator - * - * By default, return null, indicating no extra decorator needed. - * - * @return null - */ - public function getDecorator() - { - return null; - } -} diff --git a/lib/zend/Zend/Captcha/Dumb.php b/lib/zend/Zend/Captcha/Dumb.php deleted file mode 100644 index 6db34c4bba..0000000000 --- a/lib/zend/Zend/Captcha/Dumb.php +++ /dev/null @@ -1,52 +0,0 @@ -' - . strrev($this->getWord()) - . ''; - } -} diff --git a/lib/zend/Zend/Captcha/Exception.php b/lib/zend/Zend/Captcha/Exception.php deleted file mode 100755 index fc2d88cb7d..0000000000 --- a/lib/zend/Zend/Captcha/Exception.php +++ /dev/null @@ -1,34 +0,0 @@ -_figlet = new Zend_Text_Figlet($options); - } - - /** - * Generate new captcha - * - * @return string - */ - public function generate() - { - $this->_useNumbers = false; - return parent::generate(); - } - - /** - * Display the captcha - * - * @param Zend_View_Interface $view - * @param mixed $element - * @return string - */ - public function render(Zend_View_Interface $view = null, $element = null) - { - return '
'
-             . $this->_figlet->render($this->getWord())
-             . "
\n"; - } -} diff --git a/lib/zend/Zend/Captcha/Image.php b/lib/zend/Zend/Captcha/Image.php deleted file mode 100644 index 8f10837129..0000000000 --- a/lib/zend/Zend/Captcha/Image.php +++ /dev/null @@ -1,600 +0,0 @@ -_imgAlt; - } - /** - * @return string - */ - public function getStartImage () - { - return $this->_startImage; - } - /** - * @return int - */ - public function getDotNoiseLevel () - { - return $this->_dotNoiseLevel; - } - /** - * @return int - */ - public function getLineNoiseLevel () - { - return $this->_lineNoiseLevel; - } - /** - * Get captcha expiration - * - * @return int - */ - public function getExpiration() - { - return $this->_expiration; - } - - /** - * Get garbage collection frequency - * - * @return int - */ - public function getGcFreq() - { - return $this->_gcFreq; - } - /** - * Get font to use when generating captcha - * - * @return string - */ - public function getFont() - { - return $this->_font; - } - - /** - * Get font size - * - * @return int - */ - public function getFontSize() - { - return $this->_fsize; - } - - /** - * Get captcha image height - * - * @return int - */ - public function getHeight() - { - return $this->_height; - } - - /** - * Get captcha image directory - * - * @return string - */ - public function getImgDir() - { - return $this->_imgDir; - } - /** - * Get captcha image base URL - * - * @return string - */ - public function getImgUrl() - { - return $this->_imgUrl; - } - /** - * Get captcha image file suffix - * - * @return string - */ - public function getSuffix() - { - return $this->_suffix; - } - /** - * Get captcha image width - * - * @return int - */ - public function getWidth() - { - return $this->_width; - } - /** - * @param string $startImage - */ - public function setStartImage ($startImage) - { - $this->_startImage = $startImage; - return $this; - } - /** - * @param int $dotNoiseLevel - */ - public function setDotNoiseLevel ($dotNoiseLevel) - { - $this->_dotNoiseLevel = $dotNoiseLevel; - return $this; - } - /** - * @param int $lineNoiseLevel - */ - public function setLineNoiseLevel ($lineNoiseLevel) - { - $this->_lineNoiseLevel = $lineNoiseLevel; - return $this; - } - - /** - * Set captcha expiration - * - * @param int $expiration - * @return Zend_Captcha_Image - */ - public function setExpiration($expiration) - { - $this->_expiration = $expiration; - return $this; - } - - /** - * Set garbage collection frequency - * - * @param int $gcFreq - * @return Zend_Captcha_Image - */ - public function setGcFreq($gcFreq) - { - $this->_gcFreq = $gcFreq; - return $this; - } - - /** - * Set captcha font - * - * @param string $font - * @return Zend_Captcha_Image - */ - public function setFont($font) - { - $this->_font = $font; - return $this; - } - - /** - * Set captcha font size - * - * @param int $fsize - * @return Zend_Captcha_Image - */ - public function setFontSize($fsize) - { - $this->_fsize = $fsize; - return $this; - } - - /** - * Set captcha image height - * - * @param int $height - * @return Zend_Captcha_Image - */ - public function setHeight($height) - { - $this->_height = $height; - return $this; - } - - /** - * Set captcha image storage directory - * - * @param string $imgDir - * @return Zend_Captcha_Image - */ - public function setImgDir($imgDir) - { - $this->_imgDir = rtrim($imgDir, "/\\") . '/'; - return $this; - } - - /** - * Set captcha image base URL - * - * @param string $imgUrl - * @return Zend_Captcha_Image - */ - public function setImgUrl($imgUrl) - { - $this->_imgUrl = rtrim($imgUrl, "/\\") . '/'; - return $this; - } - /** - * @param string $imgAlt - */ - public function setImgAlt ($imgAlt) - { - $this->_imgAlt = $imgAlt; - return $this; - } - - /** - * Set captch image filename suffix - * - * @param string $suffix - * @return Zend_Captcha_Image - */ - public function setSuffix($suffix) - { - $this->_suffix = $suffix; - return $this; - } - - /** - * Set captcha image width - * - * @param int $width - * @return Zend_Captcha_Image - */ - public function setWidth($width) - { - $this->_width = $width; - return $this; - } - - /** - * Generate random frequency - * - * @return float - */ - protected function _randomFreq() - { - return mt_rand(700000, 1000000) / 15000000; - } - - /** - * Generate random phase - * - * @return float - */ - protected function _randomPhase() - { - // random phase from 0 to pi - return mt_rand(0, 3141592) / 1000000; - } - - /** - * Generate random character size - * - * @return int - */ - protected function _randomSize() - { - return mt_rand(300, 700) / 100; - } - - /** - * Generate captcha - * - * @return string captcha ID - */ - public function generate() - { - $id = parent::generate(); - $tries = 5; - // If there's already such file, try creating a new ID - while($tries-- && file_exists($this->getImgDir() . $id . $this->getSuffix())) { - $id = $this->_generateRandomId(); - $this->_setId($id); - } - $this->_generateImage($id, $this->getWord()); - - if (mt_rand(1, $this->getGcFreq()) == 1) { - $this->_gc(); - } - return $id; - } - - /** - * Generate image captcha - * - * Override this function if you want different image generator - * Wave transform from http://www.captcha.ru/captchas/multiwave/ - * - * @param string $id Captcha ID - * @param string $word Captcha word - */ - protected function _generateImage($id, $word) - { - if (!extension_loaded("gd")) { - require_once 'Zend/Captcha/Exception.php'; - throw new Zend_Captcha_Exception("Image CAPTCHA requires GD extension"); - } - - if (!function_exists("imagepng")) { - require_once 'Zend/Captcha/Exception.php'; - throw new Zend_Captcha_Exception("Image CAPTCHA requires PNG support"); - } - - if (!function_exists("imageftbbox")) { - require_once 'Zend/Captcha/Exception.php'; - throw new Zend_Captcha_Exception("Image CAPTCHA requires FT fonts support"); - } - - $font = $this->getFont(); - - if (empty($font)) { - require_once 'Zend/Captcha/Exception.php'; - throw new Zend_Captcha_Exception("Image CAPTCHA requires font"); - } - - $w = $this->getWidth(); - $h = $this->getHeight(); - $fsize = $this->getFontSize(); - - $img_file = $this->getImgDir() . $id . $this->getSuffix(); - if(empty($this->_startImage)) { - $img = imagecreatetruecolor($w, $h); - } else { - $img = imagecreatefrompng($this->_startImage); - if(!$img) { - require_once 'Zend/Captcha/Exception.php'; - throw new Zend_Captcha_Exception("Can not load start image"); - } - $w = imagesx($img); - $h = imagesy($img); - } - $text_color = imagecolorallocate($img, 0, 0, 0); - $bg_color = imagecolorallocate($img, 255, 255, 255); - imagefilledrectangle($img, 0, 0, $w-1, $h-1, $bg_color); - $textbox = imageftbbox($fsize, 0, $font, $word); - $x = ($w - ($textbox[2] - $textbox[0])) / 2; - $y = ($h - ($textbox[7] - $textbox[1])) / 2; - imagefttext($img, $fsize, 0, $x, $y, $text_color, $font, $word); - - // generate noise - for ($i=0; $i<$this->_dotNoiseLevel; $i++) { - imagefilledellipse($img, mt_rand(0,$w), mt_rand(0,$h), 2, 2, $text_color); - } - for($i=0; $i<$this->_lineNoiseLevel; $i++) { - imageline($img, mt_rand(0,$w), mt_rand(0,$h), mt_rand(0,$w), mt_rand(0,$h), $text_color); - } - - // transformed image - $img2 = imagecreatetruecolor($w, $h); - $bg_color = imagecolorallocate($img2, 255, 255, 255); - imagefilledrectangle($img2, 0, 0, $w-1, $h-1, $bg_color); - // apply wave transforms - $freq1 = $this->_randomFreq(); - $freq2 = $this->_randomFreq(); - $freq3 = $this->_randomFreq(); - $freq4 = $this->_randomFreq(); - - $ph1 = $this->_randomPhase(); - $ph2 = $this->_randomPhase(); - $ph3 = $this->_randomPhase(); - $ph4 = $this->_randomPhase(); - - $szx = $this->_randomSize(); - $szy = $this->_randomSize(); - - for ($x = 0; $x < $w; $x++) { - for ($y = 0; $y < $h; $y++) { - $sx = $x + (sin($x*$freq1 + $ph1) + sin($y*$freq3 + $ph3)) * $szx; - $sy = $y + (sin($x*$freq2 + $ph2) + sin($y*$freq4 + $ph4)) * $szy; - - if ($sx < 0 || $sy < 0 || $sx >= $w - 1 || $sy >= $h - 1) { - continue; - } else { - $color = (imagecolorat($img, $sx, $sy) >> 16) & 0xFF; - $color_x = (imagecolorat($img, $sx + 1, $sy) >> 16) & 0xFF; - $color_y = (imagecolorat($img, $sx, $sy + 1) >> 16) & 0xFF; - $color_xy = (imagecolorat($img, $sx + 1, $sy + 1) >> 16) & 0xFF; - } - if ($color == 255 && $color_x == 255 && $color_y == 255 && $color_xy == 255) { - // ignore background - continue; - } elseif ($color == 0 && $color_x == 0 && $color_y == 0 && $color_xy == 0) { - // transfer inside of the image as-is - $newcolor = 0; - } else { - // do antialiasing for border items - $frac_x = $sx-floor($sx); - $frac_y = $sy-floor($sy); - $frac_x1 = 1-$frac_x; - $frac_y1 = 1-$frac_y; - - $newcolor = $color * $frac_x1 * $frac_y1 - + $color_x * $frac_x * $frac_y1 - + $color_y * $frac_x1 * $frac_y - + $color_xy * $frac_x * $frac_y; - } - imagesetpixel($img2, $x, $y, imagecolorallocate($img2, $newcolor, $newcolor, $newcolor)); - } - } - - // generate noise - for ($i=0; $i<$this->_dotNoiseLevel; $i++) { - imagefilledellipse($img2, mt_rand(0,$w), mt_rand(0,$h), 2, 2, $text_color); - } - for ($i=0; $i<$this->_lineNoiseLevel; $i++) { - imageline($img2, mt_rand(0,$w), mt_rand(0,$h), mt_rand(0,$w), mt_rand(0,$h), $text_color); - } - - imagepng($img2, $img_file); - imagedestroy($img); - imagedestroy($img2); - } - - /** - * Remove old files from image directory - * - */ - protected function _gc() - { - $expire = time() - $this->getExpiration(); - $imgdir = $this->getImgDir(); - if(!$imgdir || strlen($imgdir) < 2) { - // safety guard - return; - } - foreach (new DirectoryIterator($imgdir) as $file) { - if (!$file->isDot() && !$file->isDir()) { - if ($file->getMTime() < $expire) { - unlink($file->getPathname()); - } - } - } - } - - /** - * Display the captcha - * - * @param Zend_View_Interface $view - * @param mixed $element - * @return string - */ - public function render(Zend_View_Interface $view = null, $element = null) - { - return ''.$this->getImgAlt().'
'; - } -} diff --git a/lib/zend/Zend/Captcha/ReCaptcha.php b/lib/zend/Zend/Captcha/ReCaptcha.php deleted file mode 100644 index 95c02ff35e..0000000000 --- a/lib/zend/Zend/Captcha/ReCaptcha.php +++ /dev/null @@ -1,267 +0,0 @@ - 'Missing captcha fields', - self::ERR_CAPTCHA => 'Failed to validate captcha', - self::BAD_CAPTCHA => 'Captcha value is wrong: %value%', - ); - - /** - * Retrieve ReCaptcha Private key - * - * @return string - */ - public function getPrivkey() - { - return $this->getService()->getPrivateKey(); - } - - /** - * Retrieve ReCaptcha Public key - * - * @return string - */ - public function getPubkey() - { - return $this->getService()->getPublicKey(); - } - - /** - * Set ReCaptcha Private key - * - * @param string $privkey - * @return Zend_Captcha_ReCaptcha - */ - public function setPrivkey($privkey) - { - $this->getService()->setPrivateKey($privkey); - return $this; - } - - /** - * Set ReCaptcha public key - * - * @param string $pubkey - * @return Zend_Captcha_ReCaptcha - */ - public function setPubkey($pubkey) - { - $this->getService()->setPublicKey($pubkey); - return $this; - } - - /** - * Constructor - * - * @param array|Zend_Config $options - * @return void - */ - public function __construct($options = null) - { - $this->setService(new Zend_Service_ReCaptcha()); - $this->_serviceParams = $this->getService()->getParams(); - $this->_serviceOptions = $this->getService()->getOptions(); - - parent::__construct($options); - - if ($options instanceof Zend_Config) { - $options = $options->toArray(); - } - if (!empty($options)) { - $this->setOptions($options); - } - } - - /** - * Set service object - * - * @param Zend_Service_ReCaptcha $service - * @return Zend_Captcha_ReCaptcha - */ - public function setService(Zend_Service_ReCaptcha $service) - { - $this->_service = $service; - return $this; - } - - /** - * Retrieve ReCaptcha service object - * - * @return Zend_Service_ReCaptcha - */ - public function getService() - { - return $this->_service; - } - - /** - * Set option - * - * If option is a service parameter, proxies to the service. The same - * goes for any service options (distinct from service params) - * - * @param string $key - * @param mixed $value - * @return Zend_Captcha_ReCaptcha - */ - public function setOption($key, $value) - { - $service = $this->getService(); - if (isset($this->_serviceParams[$key])) { - $service->setParam($key, $value); - return $this; - } - if (isset($this->_serviceOptions[$key])) { - $service->setOption($key, $value); - return $this; - } - return parent::setOption($key, $value); - } - - /** - * Generate captcha - * - * @see Zend_Form_Captcha_Adapter::generate() - * @return string - */ - public function generate() - { - return ""; - } - - /** - * Validate captcha - * - * @see Zend_Validate_Interface::isValid() - * @param mixed $value - * @return boolean - */ - public function isValid($value, $context = null) - { - if (!is_array($value) && !is_array($context)) { - $this->_error(self::MISSING_VALUE); - return false; - } - - if (!is_array($value) && is_array($context)) { - $value = $context; - } - - if (empty($value[$this->_CHALLENGE]) || empty($value[$this->_RESPONSE])) { - $this->_error(self::MISSING_VALUE); - return false; - } - - $service = $this->getService(); - - $res = $service->verify($value[$this->_CHALLENGE], $value[$this->_RESPONSE]); - - if (!$res) { - $this->_error(self::ERR_CAPTCHA); - return false; - } - - if (!$res->isValid()) { - $this->_error(self::BAD_CAPTCHA, $res->getErrorCode()); - $service->setParam('error', $res->getErrorCode()); - return false; - } - - return true; - } - - /** - * Render captcha - * - * @param Zend_View_Interface $view - * @param mixed $element - * @return string - */ - public function render(Zend_View_Interface $view = null, $element = null) - { - return $this->getService()->getHTML(); - } -} diff --git a/lib/zend/Zend/Captcha/Word.php b/lib/zend/Zend/Captcha/Word.php deleted file mode 100644 index 0c1d1f579d..0000000000 --- a/lib/zend/Zend/Captcha/Word.php +++ /dev/null @@ -1,373 +0,0 @@ - 'Empty captcha value', - self::MISSING_ID => 'Captcha ID field is missing', - self::BAD_CAPTCHA => 'Captcha value is wrong', - ); - - /** - * Length of the word to generate - * - * @var integer - */ - protected $_wordlen = 8; - - /** - * Retrieve session class to utilize - * - * @return string - */ - public function getSessionClass() - { - return $this->_sessionClass; - } - - /** - * Set session class for persistence - * - * @param string $_sessionClass - * @return Zend_Captcha_Word - */ - public function setSessionClass($_sessionClass) - { - $this->_sessionClass = $_sessionClass; - return $this; - } - - /** - * Retrieve word length to use when genrating captcha - * - * @return integer - */ - public function getWordlen() - { - return $this->_wordlen; - } - - /** - * Set word length of captcha - * - * @param integer $wordlen - * @return Zend_Captcha_Word - */ - public function setWordlen($wordlen) - { - $this->_wordlen = $wordlen; - return $this; - } - - /** - * Retrieve captcha ID - * - * @return string - */ - public function getId () - { - if (null === $this->_id) { - $this->_setId($this->_generateRandomId()); - } - return $this->_id; - } - - /** - * Set captcha identifier - * - * @param string $id - * return Zend_Captcha_Word - */ - protected function _setId ($id) - { - $this->_id = $id; - return $this; - } - - /** - * Set timeout for session token - * - * @param int $ttl - * @return Zend_Captcha_Word - */ - public function setTimeout($ttl) - { - $this->_timeout = (int) $ttl; - return $this; - } - - /** - * Get session token timeout - * - * @return int - */ - public function getTimeout() - { - return $this->_timeout; - } - - /** - * Get session object - * - * @return Zend_Session_Namespace - */ - public function getSession() - { - if (!isset($this->_session) || (null === $this->_session)) { - $id = $this->getId(); - if (!class_exists($this->_sessionClass)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($this->_sessionClass); - } - $this->_session = new $this->_sessionClass('Zend_Form_Captcha_' . $id); - $this->_session->setExpirationHops(1, null, true); - $this->_session->setExpirationSeconds($this->getTimeout()); - } - return $this->_session; - } - - /** - * Set session namespace object - * - * @param Zend_Session_Namespace $session - * @return Zend_Captcha_Word - */ - public function setSession(Zend_Session_Namespace $session) - { - $this->_session = $session; - return $this; - } - - /** - * Get captcha word - * - * @return string - */ - public function getWord() - { - if (empty($this->_word)) { - $session = $this->getSession(); - $this->_word = $session->word; - } - return $this->_word; - } - - /** - * Set captcha word - * - * @param string $word - * @return Zend_Captcha_Word - */ - protected function _setWord($word) - { - $session = $this->getSession(); - $session->word = $word; - $this->_word = $word; - return $this; - } - - /** - * Generate new random word - * - * @return string - */ - protected function _generateWord() - { - $word = ''; - $wordLen = $this->getWordLen(); - $vowels = $this->_useNumbers ? self::$VN : self::$V; - $consonants = $this->_useNumbers ? self::$CN : self::$C; - - for ($i=0; $i < $wordLen; $i = $i + 2) { - // generate word with mix of vowels and consonants - $consonant = $consonants[array_rand($consonants)]; - $vowel = $vowels[array_rand($vowels)]; - $word .= $consonant . $vowel; - } - - if (strlen($word) > $wordLen) { - $word = substr($word, 0, $wordLen); - } - - return $word; - } - - /** - * Generate new session ID and new word - * - * @return string session ID - */ - public function generate() - { - $this->_session = null; - $id = $this->_generateRandomId(); - $this->_setId($id); - $word = $this->_generateWord(); - $this->_setWord($word); - return $id; - } - - protected function _generateRandomId() - { - return md5(mt_rand(0, 1000) . microtime(true)); - } - - /** - * Validate the word - * - * @see Zend_Validate_Interface::isValid() - * @param mixed $value - * @return boolean - */ - public function isValid($value, $context = null) - { - if (!is_array($value) && !is_array($context)) { - $this->_error(self::MISSING_VALUE); - return false; - } - if (!is_array($value) && is_array($context)) { - $value = $context; - } - - $name = $this->getName(); - - if (isset($value[$name])) { - $value = $value[$name]; - } - - if (!isset($value['input'])) { - $this->_error(self::MISSING_VALUE); - return false; - } - $input = strtolower($value['input']); - $this->_setValue($input); - - if (!isset($value['id'])) { - $this->_error(self::MISSING_ID); - return false; - } - - $this->_id = $value['id']; - if ($input !== $this->getWord()) { - $this->_error(self::BAD_CAPTCHA); - return false; - } - - return true; - } - - /** - * Get captcha decorator - * - * @return string - */ - public function getDecorator() - { - return "Captcha_Word"; - } -} diff --git a/lib/zend/Zend/CodeGenerator/Abstract.php b/lib/zend/Zend/CodeGenerator/Abstract.php deleted file mode 100644 index 55fba869f0..0000000000 --- a/lib/zend/Zend/CodeGenerator/Abstract.php +++ /dev/null @@ -1,147 +0,0 @@ -_init(); - if ($options != null) { - // use Zend_Config objects if provided - if ($options instanceof Zend_Config) { - $options = $options->toArray(); - } - // pass arrays to setOptions - if (is_array($options)) { - $this->setOptions($options); - } - } - $this->_prepare(); - } - - /** - * setConfig() - * - * @param Zend_Config $config - * @return Zend_CodeGenerator_Abstract - */ - public function setConfig(Zend_Config $config) - { - $this->setOptions($config->toArray()); - return $this; - } - - /** - * setOptions() - * - * @param array $options - * @return Zend_CodeGenerator_Abstract - */ - public function setOptions(Array $options) - { - foreach ($options as $optionName => $optionValue) { - $methodName = 'set' . $optionName; - if (method_exists($this, $methodName)) { - $this->{$methodName}($optionValue); - } - } - return $this; - } - - /** - * setSourceContent() - * - * @param string $sourceContent - */ - public function setSourceContent($sourceContent) - { - $this->_sourceContent = $sourceContent; - return; - } - - /** - * getSourceContent() - * - * @return string - */ - public function getSourceContent() - { - return $this->_sourceContent; - } - - /** - * _init() - this is called before the constuctor - * - */ - protected function _init() - { - - } - - /** - * _prepare() - this is called at construction completion - * - */ - protected function _prepare() - { - - } - - /** - * generate() - must be implemented by the child - * - */ - abstract public function generate(); - - /** - * __toString() - casting to a string will in turn call generate() - * - * @return string - */ - final public function __toString() - { - return $this->generate(); - } - -} diff --git a/lib/zend/Zend/CodeGenerator/Exception.php b/lib/zend/Zend/CodeGenerator/Exception.php deleted file mode 100644 index 8d0ae7fc21..0000000000 --- a/lib/zend/Zend/CodeGenerator/Exception.php +++ /dev/null @@ -1,35 +0,0 @@ -_isSourceDirty = ($isSourceDirty) ? true : false; - return $this; - } - - /** - * isSourceDirty() - * - * @return bool - */ - public function isSourceDirty() - { - return $this->_isSourceDirty; - } - - /** - * setIndentation() - * - * @param string|int $indentation - * @return Zend_CodeGenerator_Php_Abstract - */ - public function setIndentation($indentation) - { - $this->_indentation = $indentation; - return $this; - } - - /** - * getIndentation() - * - * @return string|int - */ - public function getIndentation() - { - return $this->_indentation; - } - -} diff --git a/lib/zend/Zend/CodeGenerator/Php/Body.php b/lib/zend/Zend/CodeGenerator/Php/Body.php deleted file mode 100644 index e7d4f3c5e1..0000000000 --- a/lib/zend/Zend/CodeGenerator/Php/Body.php +++ /dev/null @@ -1,73 +0,0 @@ -_content = $content; - return $this; - } - - /** - * getContent() - * - * @return string - */ - public function getContent() - { - return (string) $this->_content; - } - - /** - * generate() - * - * @return string - */ - public function generate() - { - return $this->getContent(); - } -} diff --git a/lib/zend/Zend/CodeGenerator/Php/Class.php b/lib/zend/Zend/CodeGenerator/Php/Class.php deleted file mode 100644 index 70a5797af2..0000000000 --- a/lib/zend/Zend/CodeGenerator/Php/Class.php +++ /dev/null @@ -1,513 +0,0 @@ -setSourceContent($class->getSourceContent()); - $class->setSourceDirty(false); - - if ($reflectionClass->getDocComment() != '') { - $class->setDocblock(Zend_CodeGenerator_Php_Docblock::fromReflection($reflectionClass->getDocblock())); - } - - $class->setAbstract($reflectionClass->isAbstract()); - $class->setName($reflectionClass->getName()); - - if ($parentClass = $reflectionClass->getParentClass()) { - $class->setExtendedClass($parentClass->getName()); - $interfaces = array_diff($reflectionClass->getInterfaces(), $parentClass->getInterfaces()); - } else { - $interfaces = $reflectionClass->getInterfaces(); - } - - $interfaceNames = array(); - foreach($interfaces AS $interface) { - $interfaceNames[] = $interface->getName(); - } - - $class->setImplementedInterfaces($interfaceNames); - - $properties = array(); - foreach ($reflectionClass->getProperties() as $reflectionProperty) { - if ($reflectionProperty->getDeclaringClass()->getName() == $class->getName()) { - $properties[] = Zend_CodeGenerator_Php_Property::fromReflection($reflectionProperty); - } - } - $class->setProperties($properties); - - $methods = array(); - foreach ($reflectionClass->getMethods() as $reflectionMethod) { - if ($reflectionMethod->getDeclaringClass()->getName() == $class->getName()) { - $methods[] = Zend_CodeGenerator_Php_Method::fromReflection($reflectionMethod); - } - } - $class->setMethods($methods); - - return $class; - } - - /** - * setDocblock() Set the docblock - * - * @param Zend_CodeGenerator_Php_Docblock|array|string $docblock - * @return Zend_CodeGenerator_Php_File - */ - public function setDocblock($docblock) - { - if (is_string($docblock)) { - $docblock = array('shortDescription' => $docblock); - } - - if (is_array($docblock)) { - $docblock = new Zend_CodeGenerator_Php_Docblock($docblock); - } elseif (!$docblock instanceof Zend_CodeGenerator_Php_Docblock) { - require_once 'Zend/CodeGenerator/Php/Exception.php'; - throw new Zend_CodeGenerator_Php_Exception('setDocblock() is expecting either a string, array or an instance of Zend_CodeGenerator_Php_Docblock'); - } - - $this->_docblock = $docblock; - return $this; - } - - /** - * getDocblock() - * - * @return Zend_CodeGenerator_Php_Docblock - */ - public function getDocblock() - { - return $this->_docblock; - } - - /** - * setName() - * - * @param string $name - * @return Zend_CodeGenerator_Php_Class - */ - public function setName($name) - { - $this->_name = $name; - return $this; - } - - /** - * getName() - * - * @return string - */ - public function getName() - { - return $this->_name; - } - - /** - * setAbstract() - * - * @param bool $isAbstract - * @return Zend_CodeGenerator_Php_Class - */ - public function setAbstract($isAbstract) - { - $this->_isAbstract = ($isAbstract) ? true : false; - return $this; - } - - /** - * isAbstract() - * - * @return bool - */ - public function isAbstract() - { - return $this->_isAbstract; - } - - /** - * setExtendedClass() - * - * @param string $extendedClass - * @return Zend_CodeGenerator_Php_Class - */ - public function setExtendedClass($extendedClass) - { - $this->_extendedClass = $extendedClass; - return $this; - } - - /** - * getExtendedClass() - * - * @return string - */ - public function getExtendedClass() - { - return $this->_extendedClass; - } - - /** - * setImplementedInterfaces() - * - * @param array $implementedInterfaces - * @return Zend_CodeGenerator_Php_Class - */ - public function setImplementedInterfaces(Array $implementedInterfaces) - { - $this->_implementedInterfaces = $implementedInterfaces; - return $this; - } - - /** - * getImplementedInterfaces - * - * @return array - */ - public function getImplementedInterfaces() - { - return $this->_implementedInterfaces; - } - - /** - * setProperties() - * - * @param array $properties - * @return Zend_CodeGenerator_Php_Class - */ - public function setProperties(Array $properties) - { - foreach ($properties as $property) { - $this->setProperty($property); - } - - return $this; - } - - /** - * setProperty() - * - * @param array|Zend_CodeGenerator_Php_Property $property - * @return Zend_CodeGenerator_Php_Class - */ - public function setProperty($property) - { - if (is_array($property)) { - $property = new Zend_CodeGenerator_Php_Property($property); - $propertyName = $property->getName(); - } elseif ($property instanceof Zend_CodeGenerator_Php_Property) { - $propertyName = $property->getName(); - } else { - require_once 'Zend/CodeGenerator/Php/Exception.php'; - throw new Zend_CodeGenerator_Php_Exception('setProperty() expects either an array of property options or an instance of Zend_CodeGenerator_Php_Property'); - } - - if (isset($this->_properties[$propertyName])) { - require_once 'Zend/CodeGenerator/Php/Exception.php'; - throw new Zend_CodeGenerator_Php_Exception('A property by name ' . $propertyName . ' already exists in this class.'); - } - - $this->_properties[$propertyName] = $property; - return $this; - } - - /** - * getProperties() - * - * @return array - */ - public function getProperties() - { - return $this->_properties; - } - - /** - * getProperty() - * - * @param string $propertyName - * @return Zend_CodeGenerator_Php_Property - */ - public function getProperty($propertyName) - { - foreach ($this->_properties as $property) { - if ($property->getName() == $propertyName) { - return $property; - } - } - return false; - } - - /** - * hasProperty() - * - * @param string $propertyName - * @return bool - */ - public function hasProperty($propertyName) - { - return isset($this->_properties[$propertyName]); - } - - /** - * setMethods() - * - * @param array $methods - * @return Zend_CodeGenerator_Php_Class - */ - public function setMethods(Array $methods) - { - foreach ($methods as $method) { - $this->setMethod($method); - } - return $this; - } - - /** - * setMethod() - * - * @param array|Zend_CodeGenerator_Php_Method $method - * @return Zend_CodeGenerator_Php_Class - */ - public function setMethod($method) - { - if (is_array($method)) { - $method = new Zend_CodeGenerator_Php_Method($method); - $methodName = $method->getName(); - } elseif ($method instanceof Zend_CodeGenerator_Php_Method) { - $methodName = $method->getName(); - } else { - require_once 'Zend/CodeGenerator/Php/Exception.php'; - throw new Zend_CodeGenerator_Php_Exception('setMethod() expects either an array of method options or an instance of Zend_CodeGenerator_Php_Method'); - } - - if (isset($this->_methods[$methodName])) { - require_once 'Zend/CodeGenerator/Php/Exception.php'; - throw new Zend_CodeGenerator_Php_Exception('A method by name ' . $methodName . ' already exists in this class.'); - } - - $this->_methods[$methodName] = $method; - return $this; - } - - /** - * getMethods() - * - * @return array - */ - public function getMethods() - { - return $this->_methods; - } - - /** - * getMethod() - * - * @param string $methodName - * @return Zend_CodeGenerator_Php_Method - */ - public function getMethod($methodName) - { - foreach ($this->_methods as $method) { - if ($method->getName() == $methodName) { - return $method; - } - } - return false; - } - - /** - * hasMethod() - * - * @param string $methodName - * @return bool - */ - public function hasMethod($methodName) - { - return isset($this->_methods[$methodName]); - } - - /** - * isSourceDirty() - * - * @return bool - */ - public function isSourceDirty() - { - if (($docblock = $this->getDocblock()) && $docblock->isSourceDirty()) { - return true; - } - - foreach ($this->_properties as $property) { - if ($property->isSourceDirty()) { - return true; - } - } - - foreach ($this->_methods as $method) { - if ($method->isSourceDirty()) { - return true; - } - } - - return parent::isSourceDirty(); - } - - /** - * generate() - * - * @return string - */ - public function generate() - { - if (!$this->isSourceDirty()) { - return $this->getSourceContent(); - } - - $output = ''; - - if (null !== ($docblock = $this->getDocblock())) { - $docblock->setIndentation(''); - $output .= $docblock->generate(); - } - - if ($this->isAbstract()) { - $output .= 'abstract '; - } - - $output .= 'class ' . $this->getName(); - - if (null !== ($ec = $this->_extendedClass)) { - $output .= ' extends ' . $ec; - } - - $implemented = $this->getImplementedInterfaces(); - if (!empty($implemented)) { - $output .= ' implements ' . implode(', ', $implemented); - } - - $output .= self::LINE_FEED . '{' . self::LINE_FEED . self::LINE_FEED; - - $properties = $this->getProperties(); - if (!empty($properties)) { - foreach ($properties as $property) { - $output .= $property->generate() . self::LINE_FEED . self::LINE_FEED; - } - } - - $methods = $this->getMethods(); - if (!empty($methods)) { - foreach ($methods as $method) { - $output .= $method->generate() . self::LINE_FEED; - } - } - - $output .= self::LINE_FEED . '}' . self::LINE_FEED; - - return $output; - } - - /** - * _init() - is called at construction time - * - */ - protected function _init() - { - $this->_properties = new Zend_CodeGenerator_Php_Member_Container(Zend_CodeGenerator_Php_Member_Container::TYPE_PROPERTY); - $this->_methods = new Zend_CodeGenerator_Php_Member_Container(Zend_CodeGenerator_Php_Member_Container::TYPE_METHOD); - } - -} diff --git a/lib/zend/Zend/CodeGenerator/Php/Docblock.php b/lib/zend/Zend/CodeGenerator/Php/Docblock.php deleted file mode 100644 index d10a5d9e91..0000000000 --- a/lib/zend/Zend/CodeGenerator/Php/Docblock.php +++ /dev/null @@ -1,220 +0,0 @@ -setSourceContent($reflectionDocblock->getContents()); - $docblock->setSourceDirty(false); - - $docblock->setShortDescription($reflectionDocblock->getShortDescription()); - $docblock->setLongDescription($reflectionDocblock->getLongDescription()); - - foreach ($reflectionDocblock->getTags() as $tag) { - $docblock->setTag(Zend_CodeGenerator_Php_Docblock_Tag::fromReflection($tag)); - } - - return $docblock; - } - - /** - * setShortDescription() - * - * @param string $shortDescription - * @return Zend_CodeGenerator_Php_Docblock - */ - public function setShortDescription($shortDescription) - { - $this->_shortDescription = $shortDescription; - return $this; - } - - /** - * getShortDescription() - * - * @return string - */ - public function getShortDescription() - { - return $this->_shortDescription; - } - - /** - * setLongDescription() - * - * @param string $longDescription - * @return Zend_CodeGenerator_Php_Docblock - */ - public function setLongDescription($longDescription) - { - $this->_longDescription = $longDescription; - return $this; - } - - /** - * getLongDescription() - * - * @return string - */ - public function getLongDescription() - { - return $this->_longDescription; - } - - /** - * setTags() - * - * @param array $tags - * @return Zend_CodeGenerator_Php_Docblock - */ - public function setTags(Array $tags) - { - foreach ($tags as $tag) { - $this->setTag($tag); - } - - return $this; - } - - /** - * setTag() - * - * @param array|Zend_CodeGenerator_Php_Docblock_Tag $tag - * @return Zend_CodeGenerator_Php_Docblock - */ - public function setTag($tag) - { - if (is_array($tag)) { - $tag = new Zend_CodeGenerator_Php_Docblock_Tag($tag); - } elseif (!$tag instanceof Zend_CodeGenerator_Php_Docblock_Tag) { - require_once 'Zend/CodeGenerator/Php/Exception.php'; - throw new Zend_CodeGenerator_Php_Exception( - 'setTag() expects either an array of method options or an ' - . 'instance of Zend_CodeGenerator_Php_Docblock_Tag' - ); - } - - $this->_tags[] = $tag; - return $this; - } - - /** - * getTags - * - * @return array Array of Zend_CodeGenerator_Php_Docblock_Tag - */ - public function getTags() - { - return $this->_tags; - } - - /** - * generate() - * - * @return string - */ - public function generate() - { - if (!$this->isSourceDirty()) { - return $this->_docCommentize($this->getSourceContent()); - } - - $output = ''; - if (null !== ($sd = $this->getShortDescription())) { - $output .= $sd . self::LINE_FEED . self::LINE_FEED; - } - if (null !== ($ld = $this->getLongDescription())) { - $output .= $ld . self::LINE_FEED . self::LINE_FEED; - } - - foreach ($this->getTags() as $tag) { - $output .= $tag->generate() . self::LINE_FEED; - } - - return $this->_docCommentize(trim($output)); - } - - /** - * _docCommentize() - * - * @param string $content - * @return string - */ - protected function _docCommentize($content) - { - $indent = $this->getIndentation(); - $output = $indent . '/**' . self::LINE_FEED; - $content = wordwrap($content, 80, self::LINE_FEED); - $lines = explode(self::LINE_FEED, $content); - foreach ($lines as $line) { - $output .= $indent . ' * ' . $line . self::LINE_FEED; - } - $output .= $indent . ' */' . self::LINE_FEED; - return $output; - } - -} diff --git a/lib/zend/Zend/CodeGenerator/Php/Docblock/Tag.php b/lib/zend/Zend/CodeGenerator/Php/Docblock/Tag.php deleted file mode 100644 index b277b3ece2..0000000000 --- a/lib/zend/Zend/CodeGenerator/Php/Docblock/Tag.php +++ /dev/null @@ -1,184 +0,0 @@ -getName(); - - $codeGenDocblockTag = self::factory($tagName); - - // transport any properties via accessors and mutators from reflection to codegen object - $reflectionClass = new ReflectionClass($reflectionTag); - foreach ($reflectionClass->getMethods(ReflectionMethod::IS_PUBLIC) as $method) { - if (substr($method->getName(), 0, 3) == 'get') { - $propertyName = substr($method->getName(), 3); - if (method_exists($codeGenDocblockTag, 'set' . $propertyName)) { - $codeGenDocblockTag->{'set' . $propertyName}($reflectionTag->{'get' . $propertyName}()); - } - } - } - - return $codeGenDocblockTag; - } - - /** - * setPluginLoader() - * - * @param Zend_Loader_PluginLoader $pluginLoader - */ - public static function setPluginLoader(Zend_Loader_PluginLoader $pluginLoader) - { - self::$_pluginLoader = $pluginLoader; - return; - } - - /** - * getPluginLoader() - * - * @return Zend_Loader_PluginLoader - */ - public static function getPluginLoader() - { - if (self::$_pluginLoader == null) { - require_once 'Zend/Loader/PluginLoader.php'; - self::setPluginLoader(new Zend_Loader_PluginLoader(array( - 'Zend_CodeGenerator_Php_Docblock_Tag' => dirname(__FILE__) . '/Tag/')) - ); - } - - return self::$_pluginLoader; - } - - public static function factory($tagName) - { - $pluginLoader = self::getPluginLoader(); - - try { - $tagClass = $pluginLoader->load($tagName); - } catch (Zend_Loader_Exception $exception) { - $tagClass = 'Zend_CodeGenerator_Php_Docblock_Tag'; - } - - $tag = new $tagClass(array('name' => $tagName)); - return $tag; - } - - /** - * setName() - * - * @param string $name - * @return Zend_CodeGenerator_Php_Docblock_Tag - */ - public function setName($name) - { - $this->_name = ltrim($name, '@'); - return $this; - } - - /** - * getName() - * - * @return string - */ - public function getName() - { - return $this->_name; - } - - /** - * setDescription() - * - * @param string $description - * @return Zend_CodeGenerator_Php_Docblock_Tag - */ - public function setDescription($description) - { - $this->_description = $description; - return $this; - } - - /** - * getDescription() - * - * @return string - */ - public function getDescription() - { - return $this->_description; - } - - /** - * generate() - * - * @return string - */ - public function generate() - { - return '@' . $this->_name . ' ' . $this->_description; - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/CodeGenerator/Php/Docblock/Tag/License.php b/lib/zend/Zend/CodeGenerator/Php/Docblock/Tag/License.php deleted file mode 100644 index 4a69410f43..0000000000 --- a/lib/zend/Zend/CodeGenerator/Php/Docblock/Tag/License.php +++ /dev/null @@ -1,98 +0,0 @@ -setName('license'); - $returnTag->setUrl($reflectionTagLicense->getUrl()); - $returnTag->setDescription($reflectionTagLicense->getDescription()); - - return $returnTag; - } - - /** - * setUrl() - * - * @param string $url - * @return Zend_CodeGenerator_Php_Docblock_Tag_License - */ - public function setUrl($url) - { - $this->_url = $url; - return $this; - } - - /** - * getUrl() - * - * @return string - */ - public function getUrl() - { - return $this->_url; - } - - - /** - * generate() - * - * @return string - */ - public function generate() - { - $output = '@license ' . $this->_url . ' ' . $this->_description . self::LINE_FEED; - return $output; - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/CodeGenerator/Php/Docblock/Tag/Param.php b/lib/zend/Zend/CodeGenerator/Php/Docblock/Tag/Param.php deleted file mode 100644 index 5f7b8268aa..0000000000 --- a/lib/zend/Zend/CodeGenerator/Php/Docblock/Tag/Param.php +++ /dev/null @@ -1,128 +0,0 @@ -setName('param'); - $paramTag->setDatatype($reflectionTagParam->getType()); // @todo rename - $paramTag->setParamName($reflectionTagParam->getVariableName()); - $paramTag->setDescription($reflectionTagParam->getDescription()); - - return $paramTag; - } - - /** - * setDatatype() - * - * @param string $datatype - * @return Zend_CodeGenerator_Php_Docblock_Tag_Param - */ - public function setDatatype($datatype) - { - $this->_datatype = $datatype; - return $this; - } - - /** - * getDatatype - * - * @return string - */ - public function getDatatype() - { - return $this->_datatype; - } - - /** - * setParamName() - * - * @param string $paramName - * @return Zend_CodeGenerator_Php_Docblock_Tag_Param - */ - public function setParamName($paramName) - { - $this->_paramName = $paramName; - return $this; - } - - /** - * getParamName() - * - * @return string - */ - public function getParamName() - { - return $this->_paramName; - } - - /** - * generate() - * - * @return string - */ - public function generate() - { - $output = '@param ' - . (($this->_datatype != null) ? $this->_datatype : 'unknown') - . (($this->_paramName != null) ? ' $' . $this->_paramName : '') - . (($this->_description != null) ? ' ' . $this->_description : ''); - return $output; - } - -} diff --git a/lib/zend/Zend/CodeGenerator/Php/Docblock/Tag/Return.php b/lib/zend/Zend/CodeGenerator/Php/Docblock/Tag/Return.php deleted file mode 100644 index a04f689488..0000000000 --- a/lib/zend/Zend/CodeGenerator/Php/Docblock/Tag/Return.php +++ /dev/null @@ -1,98 +0,0 @@ -setName('return'); - $returnTag->setDatatype($reflectionTagReturn->getType()); // @todo rename - $returnTag->setDescription($reflectionTagReturn->getDescription()); - - return $returnTag; - } - - /** - * setDatatype() - * - * @param string $datatype - * @return Zend_CodeGenerator_Php_Docblock_Tag_Return - */ - public function setDatatype($datatype) - { - $this->_datatype = $datatype; - return $this; - } - - /** - * getDatatype() - * - * @return string - */ - public function getDatatype() - { - return $this->_datatype; - } - - - /** - * generate() - * - * @return string - */ - public function generate() - { - $output = '@return ' . $this->_datatype . ' ' . $this->_description; - return $output; - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/CodeGenerator/Php/Exception.php b/lib/zend/Zend/CodeGenerator/Php/Exception.php deleted file mode 100644 index 913bd7415f..0000000000 --- a/lib/zend/Zend/CodeGenerator/Php/Exception.php +++ /dev/null @@ -1,37 +0,0 @@ -getFilename(); - } - - if ($fileName == '') { - require_once 'Zend/CodeGenerator/Php/Exception.php'; - throw new Zend_CodeGenerator_Php_Exception('FileName does not exist.'); - } - - // cannot use realpath since the file might not exist, but we do need to have the index - // in the same DIRECTORY_SEPARATOR that realpath would use: - $fileName = str_replace(array('\\', '/'), DIRECTORY_SEPARATOR, $fileName); - - self::$_fileCodeGenerators[$fileName] = $fileCodeGenerator; - - } - - /** - * fromReflectedFilePath() - use this if you intend on generating code generation objects based on the same file. - * This will keep previous changes to the file in tact during the same PHP process - * - * @param string $filePath - * @param bool $usePreviousCodeGeneratorIfItExists - * @param bool $includeIfNotAlreadyIncluded - * @return Zend_CodeGenerator_Php_File - */ - public static function fromReflectedFileName($filePath, $usePreviousCodeGeneratorIfItExists = true, $includeIfNotAlreadyIncluded = true) - { - $realpath = realpath($filePath); - - if ($realpath === false) { - if ( ($realpath = Zend_Reflection_file::findRealpathInIncludePath($filePath)) === false) { - require_once 'Zend/CodeGenerator/Php/Exception.php'; - throw new Zend_CodeGenerator_Php_Exception('No file for ' . $realpath . ' was found.'); - } - } - - if ($usePreviousCodeGeneratorIfItExists && isset(self::$_fileCodeGenerators[$realpath])) { - return self::$_fileCodeGenerators[$realpath]; - } - - if ($includeIfNotAlreadyIncluded && !in_array($realpath, get_included_files())) { - include $realpath; - } - - $codeGenerator = self::fromReflection(($fileReflector = new Zend_Reflection_File($realpath))); - - if (!isset(self::$_fileCodeGenerators[$fileReflector->getFileName()])) { - self::$_fileCodeGenerators[$fileReflector->getFileName()] = $codeGenerator; - } - - return $codeGenerator; - } - - /** - * fromReflection() - * - * @param Zend_Reflection_File $reflectionFile - * @return Zend_CodeGenerator_Php_File - */ - public static function fromReflection(Zend_Reflection_File $reflectionFile) - { - $file = new self(); - - $file->setSourceContent($reflectionFile->getContents()); - $file->setSourceDirty(false); - - $body = $reflectionFile->getContents(); - - // @todo this whole area needs to be reworked with respect to how body lines are processed - foreach ($reflectionFile->getClasses() as $class) { - $file->setClass(Zend_CodeGenerator_Php_Class::fromReflection($class)); - $classStartLine = $class->getStartLine(true); - $classEndLine = $class->getEndLine(); - - $bodyLines = explode("\n", $body); - $bodyReturn = array(); - for ($lineNum = 1; $lineNum <= count($bodyLines); $lineNum++) { - if ($lineNum == $classStartLine) { - $bodyReturn[] = str_replace('?', $class->getName(), self::$_markerClass); //'/* Zend_CodeGenerator_Php_File-ClassMarker: {' . $class->getName() . '} */'; - $lineNum = $classEndLine; - } else { - $bodyReturn[] = $bodyLines[$lineNum - 1]; // adjust for index -> line conversion - } - } - $body = implode("\n", $bodyReturn); - unset($bodyLines, $bodyReturn, $classStartLine, $classEndLine); - } - - if (($reflectionFile->getDocComment() != '')) { - $docblock = $reflectionFile->getDocblock(); - $file->setDocblock(Zend_CodeGenerator_Php_Docblock::fromReflection($docblock)); - - $bodyLines = explode("\n", $body); - $bodyReturn = array(); - for ($lineNum = 1; $lineNum <= count($bodyLines); $lineNum++) { - if ($lineNum == $docblock->getStartLine()) { - $bodyReturn[] = str_replace('?', $class->getName(), self::$_markerDocblock); //'/* Zend_CodeGenerator_Php_File-ClassMarker: {' . $class->getName() . '} */'; - $lineNum = $docblock->getEndLine(); - } else { - $bodyReturn[] = $bodyLines[$lineNum - 1]; // adjust for index -> line conversion - } - } - $body = implode("\n", $bodyReturn); - unset($bodyLines, $bodyReturn, $classStartLine, $classEndLine); - } - - $file->setBody($body); - - return $file; - } - - /** - * setDocblock() Set the docblock - * - * @param Zend_CodeGenerator_Php_Docblock|array|string $docblock - * @return Zend_CodeGenerator_Php_File - */ - public function setDocblock($docblock) - { - if (is_string($docblock)) { - $docblock = array('shortDescription' => $docblock); - } - - if (is_array($docblock)) { - $docblock = new Zend_CodeGenerator_Php_Docblock($docblock); - } elseif (!$docblock instanceof Zend_CodeGenerator_Php_Docblock) { - require_once 'Zend/CodeGenerator/Php/Exception.php'; - throw new Zend_CodeGenerator_Php_Exception('setDocblock() is expecting either a string, array or an instance of Zend_CodeGenerator_Php_Docblock'); - } - - $this->_docblock = $docblock; - return $this; - } - - /** - * Get docblock - * - * @return Zend_CodeGenerator_Php_Docblock - */ - public function getDocblock() - { - return $this->_docblock; - } - - /** - * setRequiredFiles - * - * @param array $requiredFiles - * @return Zend_CodeGenerator_Php_File - */ - public function setRequiredFiles($requiredFiles) - { - $this->_requiredFiles = $requiredFiles; - return $this; - } - - /** - * getRequiredFiles() - * - * @return array - */ - public function getRequiredFiles() - { - return $this->_requiredFiles; - } - - /** - * setClasses() - * - * @param array $classes - * @return Zend_CodeGenerator_Php_File - */ - public function setClasses(Array $classes) - { - foreach ($classes as $class) { - $this->setClass($class); - } - return $this; - } - - /** - * getClass() - * - * @param string $name - * @return Zend_CodeGenerator_Php_Class - */ - public function getClass($name = null) - { - if ($name == null) { - reset($this->_classes); - return current($this->_classes); - } - - return $this->_classes[$name]; - } - - /** - * setClass() - * - * @param Zend_CodeGenerator_Php_Class|array $class - * @return Zend_CodeGenerator_Php_File - */ - public function setClass($class) - { - if (is_array($class)) { - $class = new Zend_CodeGenerator_Php_Class($class); - $className = $class->getName(); - } elseif ($class instanceof Zend_CodeGenerator_Php_Class) { - $className = $class->getName(); - } else { - require_once 'Zend/CodeGenerator/Php/Exception.php'; - throw new Zend_CodeGenerator_Php_Exception('Expecting either an array or an instance of Zend_CodeGenerator_Php_Class'); - } - - // @todo check for dup here - - $this->_classes[$className] = $class; - return $this; - } - - /** - * setFilename() - * - * @param string $filename - * @return Zend_CodeGenerator_Php_File - */ - public function setFilename($filename) - { - $this->_filename = $filename; - return $this; - } - - /** - * getFilename() - * - * @return string - */ - public function getFilename() - { - return $this->_filename; - } - - /** - * getClasses() - * - * @return array Array of Zend_CodeGenerator_Php_Class - */ - public function getClasses() - { - return $this->_classes; - } - - /** - * setBody() - * - * @param string $body - * @return Zend_CodeGenerator_Php_File - */ - public function setBody($body) - { - $this->_body = $body; - return $this; - } - - /** - * getBody() - * - * @return string - */ - public function getBody() - { - return $this->_body; - } - - /** - * isSourceDirty() - * - * @return bool - */ - public function isSourceDirty() - { - if (($docblock = $this->getDocblock()) && $docblock->isSourceDirty()) { - return true; - } - - foreach ($this->_classes as $class) { - if ($class->isSourceDirty()) { - return true; - } - } - - return parent::isSourceDirty(); - } - - /** - * generate() - * - * @return string - */ - public function generate() - { - if ($this->isSourceDirty() === false) { - return $this->_sourceContent; - } - - $output = ''; - - // start with the body (if there), or open tag - if (preg_match('#(?:\s*)<\?php#', $this->getBody()) == false) { - $output = 'getBody(); - if (preg_match('#/\* Zend_CodeGenerator_Php_File-(.*?)Marker:#', $body)) { - $output .= $body; - $body = ''; - } - - // Add file docblock, if any - if (null !== ($docblock = $this->getDocblock())) { - $docblock->setIndentation(''); - $regex = preg_quote(self::$_markerDocblock, '#'); - if (preg_match('#'.$regex.'#', $output)) { - $output = preg_replace('#'.$regex.'#', $docblock->generate(), $output, 1); - } else { - $output .= $docblock->generate() . self::LINE_FEED; - } - } - - // newline - $output .= self::LINE_FEED; - - // process required files - // @todo marker replacement for required files - $requiredFiles = $this->getRequiredFiles(); - if (!empty($requiredFiles)) { - foreach ($requiredFiles as $requiredFile) { - $output .= 'require_once \'' . $requiredFile . '\';' . self::LINE_FEED; - } - - $output .= self::LINE_FEED; - } - - // process classes - $classes = $this->getClasses(); - if (!empty($classes)) { - foreach ($classes as $class) { - $regex = str_replace('?', $class->getName(), self::$_markerClass); - $regex = preg_quote($regex, '#'); - if (preg_match('#'.$regex.'#', $output)) { - $output = preg_replace('#'.$regex.'#', $class->generate(), $output, 1); - } else { - $output .= $class->generate() . self::LINE_FEED; - } - } - - } - - if (!empty($body)) { - - // add an extra space betwee clsses and - if (!empty($classes)) { - $output .= self::LINE_FEED; - } - - $output .= $body; - } - - return $output; - } - - public function write() - { - if ($this->_filename == '' || !is_writable(dirname($this->_filename))) { - require_once 'Zend/CodeGenerator/Php/Exception.php'; - throw new Zend_CodeGenerator_Php_Exception('This code generator object is not writable.'); - } - file_put_contents($this->_filename, $this->generate()); - return $this; - } - -} diff --git a/lib/zend/Zend/CodeGenerator/Php/Member/Abstract.php b/lib/zend/Zend/CodeGenerator/Php/Member/Abstract.php deleted file mode 100644 index da707a3546..0000000000 --- a/lib/zend/Zend/CodeGenerator/Php/Member/Abstract.php +++ /dev/null @@ -1,222 +0,0 @@ - $docblock); - } - - if (is_array($docblock)) { - $docblock = new Zend_CodeGenerator_Php_Docblock($docblock); - } elseif (!$docblock instanceof Zend_CodeGenerator_Php_Docblock) { - require_once 'Zend/CodeGenerator/Php/Exception.php'; - throw new Zend_CodeGenerator_Php_Exception('setDocblock() is expecting either a string, array or an instance of Zend_CodeGenerator_Php_Docblock'); - } - - $this->_docblock = $docblock; - return $this; - } - - /** - * getDocblock() - * - * @return Zend_CodeGenerator_Php_Docblock - */ - public function getDocblock() - { - return $this->_docblock; - } - - /** - * setAbstract() - * - * @param bool $isAbstract - * @return Zend_CodeGenerator_Php_Member_Abstract - */ - public function setAbstract($isAbstract) - { - $this->_isAbstract = ($isAbstract) ? true : false; - return $this; - } - - /** - * isAbstract() - * - * @return bool - */ - public function isAbstract() - { - return $this->_isAbstract; - } - - /** - * setFinal() - * - * @param bool $isFinal - * @return Zend_CodeGenerator_Php_Member_Abstract - */ - public function setFinal($isFinal) - { - $this->_isFinal = ($isFinal) ? true : false; - return $this; - } - - /** - * isFinal() - * - * @return bool - */ - public function isFinal() - { - return $this->_isFinal; - } - - /** - * setStatic() - * - * @param bool $isStatic - * @return Zend_CodeGenerator_Php_Member_Abstract - */ - public function setStatic($isStatic) - { - $this->_isStatic = ($isStatic) ? true : false; - return $this; - } - - /** - * isStatic() - * - * @return bool - */ - public function isStatic() - { - return $this->_isStatic; - } - - /** - * setVisitibility() - * - * @param const $visibility - * @return Zend_CodeGenerator_Php_Member_Abstract - */ - public function setVisibility($visibility) - { - $this->_visibility = $visibility; - return $this; - } - - /** - * getVisibility() - * - * @return const - */ - public function getVisibility() - { - return $this->_visibility; - } - - /** - * setName() - * - * @param string $name - * @return Zend_CodeGenerator_Php_Member_Abstract - */ - public function setName($name) - { - $this->_name = $name; - return $this; - } - - /** - * getName() - * - * @return string - */ - public function getName() - { - return $this->_name; - } -} diff --git a/lib/zend/Zend/CodeGenerator/Php/Member/Container.php b/lib/zend/Zend/CodeGenerator/Php/Member/Container.php deleted file mode 100644 index 75565b8f9b..0000000000 --- a/lib/zend/Zend/CodeGenerator/Php/Member/Container.php +++ /dev/null @@ -1,55 +0,0 @@ -_type = $type; - parent::__construct(array(), self::ARRAY_AS_PROPS); - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/CodeGenerator/Php/Method.php b/lib/zend/Zend/CodeGenerator/Php/Method.php deleted file mode 100644 index 3b50060517..0000000000 --- a/lib/zend/Zend/CodeGenerator/Php/Method.php +++ /dev/null @@ -1,234 +0,0 @@ -setSourceContent($reflectionMethod->getContents(false)); - $method->setSourceDirty(false); - - if ($reflectionMethod->getDocComment() != '') { - $method->setDocblock(Zend_CodeGenerator_Php_Docblock::fromReflection($reflectionMethod->getDocblock())); - } - - $method->setFinal($reflectionMethod->isFinal()); - - if ($reflectionMethod->isPrivate()) { - $method->setVisibility(self::VISIBILITY_PRIVATE); - } elseif ($reflectionMethod->isProtected()) { - $method->setVisibility(self::VISIBILITY_PROTECTED); - } else { - $method->setVisibility(self::VISIBILITY_PUBLIC); - } - - $method->setStatic($reflectionMethod->isStatic()); - - $method->setName($reflectionMethod->getName()); - - foreach ($reflectionMethod->getParameters() as $reflectionParameter) { - $method->setParameter(Zend_CodeGenerator_Php_Parameter::fromReflection($reflectionParameter)); - } - - $method->setBody($reflectionMethod->getBody()); - - return $method; - } - - /** - * setFinal() - * - * @param bool $isFinal - */ - public function setFinal($isFinal) - { - $this->_isFinal = ($isFinal) ? true : false; - } - - /** - * setParameters() - * - * @param array $parameters - * @return Zend_CodeGenerator_Php_Method - */ - public function setParameters(Array $parameters) - { - foreach ($parameters as $parameter) { - $this->setParameter($parameter); - } - return $this; - } - - /** - * setParameter() - * - * @param Zend_CodeGenerator_Php_Parameter|array $parameter - * @return Zend_CodeGenerator_Php_Method - */ - public function setParameter($parameter) - { - if (is_array($parameter)) { - $parameter = new Zend_CodeGenerator_Php_Parameter($parameter); - $parameterName = $parameter->getName(); - } elseif ($parameter instanceof Zend_CodeGenerator_Php_Parameter) { - $parameterName = $parameter->getName(); - } else { - require_once 'Zend/CodeGenerator/Php/Exception.php'; - throw new Zend_CodeGenerator_Php_Exception('setParameter() expects either an array of method options or an instance of Zend_CodeGenerator_Php_Parameter'); - } - - $this->_parameters[$parameterName] = $parameter; - return $this; - } - - /** - * getParameters() - * - * @return array Array of Zend_CodeGenerator_Php_Parameter - */ - public function getParameters() - { - return $this->_parameters; - } - - /** - * setBody() - * - * @param string $body - * @return Zend_CodeGenerator_Php_Method - */ - public function setBody($body) - { - $this->_body = $body; - return $this; - } - - /** - * getBody() - * - * @return string - */ - public function getBody() - { - return $this->_body; - } - - /** - * generate() - * - * @return string - */ - public function generate() - { - $output = ''; - - $indent = $this->getIndentation(); - - if (($docblock = $this->getDocblock()) !== null) { - $docblock->setIndentation($indent); - $output .= $docblock->generate(); - } - - $output .= $indent; - - if ($this->isAbstract()) { - $output .= 'abstract '; - } else { - $output .= (($this->isFinal()) ? 'final ' : ''); - } - - $output .= $this->getVisibility() - . (($this->isStatic()) ? ' static' : '') - . ' function ' . $this->getName() . '('; - - $parameters = $this->getParameters(); - if (!empty($parameters)) { - foreach ($parameters as $parameter) { - $parameterOuput[] = $parameter->generate(); - } - - $output .= implode(', ', $parameterOuput); - } - - $output .= ')' . self::LINE_FEED . $indent . '{' . self::LINE_FEED; - - if ($this->_body) { - $output .= ' ' - . str_replace(self::LINE_FEED, self::LINE_FEED . $indent . $indent, trim($this->_body)) - . self::LINE_FEED; - } - - $output .= $indent . '}' . self::LINE_FEED; - - return $output; - } - -} diff --git a/lib/zend/Zend/CodeGenerator/Php/Parameter.php b/lib/zend/Zend/CodeGenerator/Php/Parameter.php deleted file mode 100644 index 693432866f..0000000000 --- a/lib/zend/Zend/CodeGenerator/Php/Parameter.php +++ /dev/null @@ -1,250 +0,0 @@ -setName($reflectionParameter->getName()); - - if($reflectionParameter->isArray()) { - $param->setType('array'); - } else { - $typeClass = $reflectionParameter->getClass(); - if($typeClass !== null) { - $param->setType($typeClass->getName()); - } - } - - $param->setPosition($reflectionParameter->getPosition()); - - if($reflectionParameter->isOptional()) { - $param->setDefaultValue($reflectionParameter->getDefaultValue()); - } - $param->setPassedByReference($reflectionParameter->isPassedByReference()); - - return $param; - } - - /** - * setType() - * - * @param string $type - * @return Zend_CodeGenerator_Php_Parameter - */ - public function setType($type) - { - $this->_type = $type; - return $this; - } - - /** - * getType() - * - * @return string - */ - public function getType() - { - return $this->_type; - } - - /** - * setName() - * - * @param string $name - * @return Zend_CodeGenerator_Php_Parameter - */ - public function setName($name) - { - $this->_name = $name; - return $this; - } - - /** - * getName() - * - * @return string - */ - public function getName() - { - return $this->_name; - } - - /** - * Set the default value of the parameter. - * - * Certain variables are difficult to expres - * - * @param null|bool|string|int|float|Zend_CodeGenerator_Php_Parameter_DefaultValue $defaultValue - * @return Zend_CodeGenerator_Php_Parameter - */ - public function setDefaultValue($defaultValue) - { - if($defaultValue === null) { - $this->_defaultValue = new Zend_CodeGenerator_Php_Parameter_DefaultValue("null"); - } else if(is_array($defaultValue)) { - $defaultValue = str_replace(array("\r", "\n"), "", var_export($defaultValue, true)); - $this->_defaultValue = new Zend_CodeGenerator_Php_Parameter_DefaultValue($defaultValue); - } else if(is_bool($defaultValue)) { - if($defaultValue == true) { - $this->_defaultValue = new Zend_CodeGenerator_Php_Parameter_DefaultValue("true"); - } else { - $this->_defaultValue = new Zend_CodeGenerator_Php_Parameter_DefaultValue("false"); - } - } else { - $this->_defaultValue = $defaultValue; - } - return $this; - } - - /** - * getDefaultValue() - * - * @return string - */ - public function getDefaultValue() - { - return $this->_defaultValue; - } - - /** - * setPosition() - * - * @param int $position - * @return Zend_CodeGenerator_Php_Parameter - */ - public function setPosition($position) - { - $this->_position = $position; - return $this; - } - - /** - * getPosition() - * - * @return int - */ - public function getPosition() - { - return $this->_position; - } - - /** - * @return bool - */ - public function getPassedByReference() - { - return $this->_passedByReference; - } - - /** - * @param bool $passedByReference - * @return Zend_CodeGenerator_Php_Parameter - */ - public function setPassedByReference($passedByReference) - { - $this->_passedByReference = $passedByReference; - return $this; - } - - /** - * generate() - * - * @return string - */ - public function generate() - { - $output = ''; - - if ($this->_type) { - $output .= $this->_type . ' '; - } - - if($this->_passedByReference === true) { - $output .= '&'; - } - - $output .= '$' . $this->_name; - - if ($this->_defaultValue !== null) { - $output .= ' = '; - if (is_string($this->_defaultValue)) { - $output .= '\'' . $this->_defaultValue . '\''; - } else if($this->_defaultValue instanceof Zend_CodeGenerator_Php_ParameterDefaultValue) { - $output .= (string)$this->_defaultValue; - } else { - $output .= $this->_defaultValue; - } - } - - return $output; - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/CodeGenerator/Php/Parameter/DefaultValue.php b/lib/zend/Zend/CodeGenerator/Php/Parameter/DefaultValue.php deleted file mode 100644 index 1104696e9e..0000000000 --- a/lib/zend/Zend/CodeGenerator/Php/Parameter/DefaultValue.php +++ /dev/null @@ -1,60 +0,0 @@ -_defaultValue = $defaultValue; - } - - public function __toString() - { - return $this->_defaultValue; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/CodeGenerator/Php/Property.php b/lib/zend/Zend/CodeGenerator/Php/Property.php deleted file mode 100644 index 7ae9a4371e..0000000000 --- a/lib/zend/Zend/CodeGenerator/Php/Property.php +++ /dev/null @@ -1,179 +0,0 @@ -setName($reflectionProperty->getName()); - - $allDefaultProperties = $reflectionProperty->getDeclaringClass()->getDefaultProperties(); - - $property->setDefaultValue($allDefaultProperties[$reflectionProperty->getName()]); - - if ($reflectionProperty->getDocComment() != '') { - $property->setDocblock(Zend_CodeGenerator_Php_Docblock::fromReflection($reflectionProperty->getDocComment())); - } - - if ($reflectionProperty->isStatic()) { - $property->setStatic(true); - } - - if ($reflectionProperty->isPrivate()) { - $property->setVisibility(self::VISIBILITY_PRIVATE); - } elseif ($reflectionProperty->isProtected()) { - $property->setVisibility(self::VISIBILITY_PROTECTED); - } else { - $property->setVisibility(self::VISIBILITY_PUBLIC); - } - - $property->setSourceDirty(false); - - return $property; - } - - /** - * setConst() - * - * @param bool $const - * @return Zend_CodeGenerator_Php_Property - */ - public function setConst($const) - { - $this->_isConst = $const; - return $this; - } - - /** - * isConst() - * - * @return bool - */ - public function isConst() - { - return ($this->_isConst) ? true : false; - } - - /** - * setDefaultValue() - * - * @param Zend_CodeGenerator_Php_Property_DefaultValue|string|array $defaultValue - * @return Zend_CodeGenerator_Php_Property - */ - public function setDefaultValue($defaultValue) - { - // if it looks like - if (is_array($defaultValue) - && array_key_exists('value', $defaultValue) - && array_key_exists('type', $defaultValue)) { - $defaultValue = new Zend_CodeGenerator_Php_Property_DefaultValue($defaultValue); - } - - if (!($defaultValue instanceof Zend_CodeGenerator_Php_Property_DefaultValue)) { - $defaultValue = new Zend_CodeGenerator_Php_Property_DefaultValue(array('value' => $defaultValue)); - } - - $this->_defaultValue = $defaultValue; - return $this; - } - - /** - * getDefaultValue() - * - * @return Zend_CodeGenerator_Php_Property_DefaultValue - */ - public function getDefaultValue() - { - return $this->_defaultValue; - } - - /** - * generate() - * - * @return string - */ - public function generate() - { - $name = $this->getName(); - $defaultValue = $this->getDefaultValue(); - - $output = ''; - - if (($docblock = $this->getDocblock()) !== null) { - $docblock->setIndentation(' '); - $output .= $docblock->generate(); - } - - if ($this->isConst()) { - if ($defaultValue != null && !$defaultValue->isValidConstantType()) { - require_once 'Zend/CodeGenerator/Php/Exception.php'; - throw new Zend_CodeGenerator_Php_Exception('The property ' . $this->_name . ' is said to be ' - . 'constant but does not have a valid constant value.'); - } - $output .= $this->_indentation . 'const ' . $name . ' = ' - . (($defaultValue !== null) ? $defaultValue->generate() : 'null;'); - } else { - $output .= $this->_indentation - . $this->getVisibility() - . (($this->isStatic()) ? ' static' : '') - . ' $' . $name . ' = ' - . (($defaultValue !== null) ? $defaultValue->generate() : 'null;'); - } - return $output; - } - -} diff --git a/lib/zend/Zend/CodeGenerator/Php/Property/DefaultValue.php b/lib/zend/Zend/CodeGenerator/Php/Property/DefaultValue.php deleted file mode 100644 index e230e6e203..0000000000 --- a/lib/zend/Zend/CodeGenerator/Php/Property/DefaultValue.php +++ /dev/null @@ -1,323 +0,0 @@ -getConstants(); - unset($reflect); - } - } - - /** - * isValidConstantType() - * - * @return bool - */ - public function isValidConstantType() - { - if ($this->_type == self::TYPE_AUTO) { - $type = $this->_getAutoDeterminedType($this->_value); - } - - // valid types for constants - $scalarTypes = array( - self::TYPE_BOOLEAN, - self::TYPE_BOOL, - self::TYPE_NUMBER, - self::TYPE_INTEGER, - self::TYPE_INT, - self::TYPE_FLOAT, - self::TYPE_DOUBLE, - self::TYPE_STRING, - self::TYPE_CONSTANT, - self::TYPE_NULL - ); - - return in_array($type, $scalarTypes); - } - - /** - * setValue() - * - * @param mixed $value - * @return Zend_CodeGenerator_Php_Property_DefaultValue - */ - public function setValue($value) - { - $this->_value = $value; - return $this; - } - - /** - * getValue() - * - * @return mixed - */ - public function getValue() - { - return $this->_value; - } - - /** - * setType() - * - * @param string $type - * @return Zend_CodeGenerator_Php_Property_DefaultValue - */ - public function setType($type) - { - $this->_type = $type; - return $this; - } - - /** - * getType() - * - * @return string - */ - public function getType() - { - return $this->_type; - } - - /** - * setArrayDepth() - * - * @param int $arrayDepth - * @return Zend_CodeGenerator_Php_Property_DefaultValue - */ - public function setArrayDepth($arrayDepth) - { - $this->_arrayDepth = $arrayDepth; - return $this; - } - - /** - * getArrayDepth() - * - * @return int - */ - public function getArrayDepth() - { - return $this->_arrayDepth; - } - - /** - * _getValidatedType() - * - * @param string $type - * @return string - */ - protected function _getValidatedType($type) - { - if (($constName = array_search($type, self::$_constants)) !== false) { - return $type; - } - - return self::TYPE_AUTO; - } - - /** - * _getAutoDeterminedType() - * - * @param mixed $value - * @return string - */ - public function _getAutoDeterminedType($value) - { - switch (gettype($value)) { - case 'boolean': - return self::TYPE_BOOLEAN; - case 'integer': - return self::TYPE_INT; - case 'string': - return self::TYPE_STRING; - case 'double': - case 'float': - case 'integer': - return self::TYPE_NUMBER; - case 'array': - return self::TYPE_ARRAY; - case 'NULL': - return self::TYPE_NULL; - case 'object': - case 'resource': - case 'unknown type': - default: - return self::TYPE_OTHER; - } - } - - /** - * generate() - * - * @return string - */ - public function generate() - { - $type = $this->_type; - - if ($type != self::TYPE_AUTO) { - $type = $this->_getValidatedType($type); - } - - $value = $this->_value; - - if ($type == self::TYPE_AUTO) { - $type = $this->_getAutoDeterminedType($value); - - if ($type == self::TYPE_ARRAY) { - $rii = new RecursiveIteratorIterator( - $it = new RecursiveArrayIterator($value), - RecursiveIteratorIterator::SELF_FIRST - ); - foreach ($rii as $curKey => $curValue) { - if (!$curValue instanceof Zend_CodeGenerator_Php_Property_DefaultValue) { - $curValue = new self(array('value' => $curValue)); - $rii->getSubIterator()->offsetSet($curKey, $curValue); - } - $curValue->setArrayDepth($rii->getDepth()); - } - $value = $rii->getSubIterator()->getArrayCopy(); - } - - } - - $output = ''; - - switch ($type) { - case self::TYPE_BOOLEAN: - case self::TYPE_BOOL: - $output .= ( $value ? 'true' : 'false' ); - break; - case self::TYPE_STRING: - $output .= "'" . addcslashes($value, "'") . "'"; - break; - case self::TYPE_NULL: - $output .= 'null'; - break; - case self::TYPE_NUMBER: - case self::TYPE_INTEGER: - case self::TYPE_INT: - case self::TYPE_FLOAT: - case self::TYPE_DOUBLE: - case self::TYPE_CONSTANT: - $output .= $value; - break; - case self::TYPE_ARRAY: - $output .= 'array('; - $curArrayMultiblock = false; - if (count($value) > 1) { - $curArrayMultiblock = true; - $output .= PHP_EOL . str_repeat($this->_indentation, $this->_arrayDepth+1); - } - $outputParts = array(); - $noKeyIndex = 0; - foreach ($value as $n => $v) { - $v->setArrayDepth($this->_arrayDepth + 1); - $partV = $v->generate(); - $partV = substr($partV, 0, strlen($partV)-1); - if ($n === $noKeyIndex) { - $outputParts[] = $partV; - $noKeyIndex++; - } else { - $outputParts[] = (is_int($n) ? $n : "'" . addcslashes($n, "'") . "'") . ' => ' . $partV; - } - - } - $output .= implode(',' . PHP_EOL . str_repeat($this->_indentation, $this->_arrayDepth+1), $outputParts); - if ($curArrayMultiblock == true) { - $output .= PHP_EOL . str_repeat($this->_indentation, $this->_arrayDepth+1); - } - $output .= ')'; - break; - case self::TYPE_OTHER: - default: - require_once "Zend/CodeGenerator/Php/Exception.php"; - throw new Zend_CodeGenerator_Php_Exception( - "Type '".get_class($value)."' is unknown or cannot be used as property default value." - ); - } - - $output .= ';'; - - return $output; - } -} diff --git a/lib/zend/Zend/Config.php b/lib/zend/Zend/Config.php deleted file mode 100644 index 5a10b6dfb5..0000000000 --- a/lib/zend/Zend/Config.php +++ /dev/null @@ -1,456 +0,0 @@ -_allowModifications = (boolean) $allowModifications; - $this->_loadedSection = null; - $this->_index = 0; - $this->_data = array(); - foreach ($array as $key => $value) { - if (is_array($value)) { - $this->_data[$key] = new self($value, $this->_allowModifications); - } else { - $this->_data[$key] = $value; - } - } - $this->_count = count($this->_data); - } - - /** - * Retrieve a value and return $default if there is no element set. - * - * @param string $name - * @param mixed $default - * @return mixed - */ - public function get($name, $default = null) - { - $result = $default; - if (array_key_exists($name, $this->_data)) { - $result = $this->_data[$name]; - } - return $result; - } - - /** - * Magic function so that $obj->value will work. - * - * @param string $name - * @return mixed - */ - public function __get($name) - { - return $this->get($name); - } - - /** - * Only allow setting of a property if $allowModifications - * was set to true on construction. Otherwise, throw an exception. - * - * @param string $name - * @param mixed $value - * @throws Zend_Config_Exception - * @return void - */ - public function __set($name, $value) - { - if ($this->_allowModifications) { - if (is_array($value)) { - $this->_data[$name] = new self($value, true); - } else { - $this->_data[$name] = $value; - } - $this->_count = count($this->_data); - } else { - /** @see Zend_Config_Exception */ - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('Zend_Config is read only'); - } - } - - /** - * Deep clone of this instance to ensure that nested Zend_Configs - * are also cloned. - * - * @return void - */ - public function __clone() - { - $array = array(); - foreach ($this->_data as $key => $value) { - if ($value instanceof Zend_Config) { - $array[$key] = clone $value; - } else { - $array[$key] = $value; - } - } - $this->_data = $array; - } - - /** - * Return an associative array of the stored data. - * - * @return array - */ - public function toArray() - { - $array = array(); - $data = $this->_data; - foreach ($data as $key => $value) { - if ($value instanceof Zend_Config) { - $array[$key] = $value->toArray(); - } else { - $array[$key] = $value; - } - } - return $array; - } - - /** - * Support isset() overloading on PHP 5.1 - * - * @param string $name - * @return boolean - */ - public function __isset($name) - { - return isset($this->_data[$name]); - } - - /** - * Support unset() overloading on PHP 5.1 - * - * @param string $name - * @throws Zend_Config_Exception - * @return void - */ - public function __unset($name) - { - if ($this->_allowModifications) { - unset($this->_data[$name]); - $this->_count = count($this->_data); - $this->_skipNextIteration = true; - } else { - /** @see Zend_Config_Exception */ - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('Zend_Config is read only'); - } - - } - - /** - * Defined by Countable interface - * - * @return int - */ - public function count() - { - return $this->_count; - } - - /** - * Defined by Iterator interface - * - * @return mixed - */ - public function current() - { - $this->_skipNextIteration = false; - return current($this->_data); - } - - /** - * Defined by Iterator interface - * - * @return mixed - */ - public function key() - { - return key($this->_data); - } - - /** - * Defined by Iterator interface - * - */ - public function next() - { - if ($this->_skipNextIteration) { - $this->_skipNextIteration = false; - return; - } - next($this->_data); - $this->_index++; - } - - /** - * Defined by Iterator interface - * - */ - public function rewind() - { - $this->_skipNextIteration = false; - reset($this->_data); - $this->_index = 0; - } - - /** - * Defined by Iterator interface - * - * @return boolean - */ - public function valid() - { - return $this->_index < $this->_count; - } - - /** - * Returns the section name(s) loaded. - * - * @return mixed - */ - public function getSectionName() - { - if(is_array($this->_loadedSection) && count($this->_loadedSection) == 1) { - $this->_loadedSection = $this->_loadedSection[0]; - } - return $this->_loadedSection; - } - - /** - * Returns true if all sections were loaded - * - * @return boolean - */ - public function areAllSectionsLoaded() - { - return $this->_loadedSection === null; - } - - - /** - * Merge another Zend_Config with this one. The items - * in $merge will override the same named items in - * the current config. - * - * @param Zend_Config $merge - * @return Zend_Config - */ - public function merge(Zend_Config $merge) - { - foreach($merge as $key => $item) { - if(array_key_exists($key, $this->_data)) { - if($item instanceof Zend_Config && $this->$key instanceof Zend_Config) { - $this->$key = $this->$key->merge(new Zend_Config($item->toArray(), !$this->readOnly())); - } else { - $this->$key = $item; - } - } else { - if($item instanceof Zend_Config) { - $this->$key = new Zend_Config($item->toArray(), !$this->readOnly()); - } else { - $this->$key = $item; - } - } - } - - return $this; - } - - /** - * Prevent any more modifications being made to this instance. Useful - * after merge() has been used to merge multiple Zend_Config objects - * into one object which should then not be modified again. - * - */ - public function setReadOnly() - { - $this->_allowModifications = false; - foreach ($this->_data as $key => $value) { - if ($value instanceof Zend_Config) { - $value->setReadOnly(); - } - } - } - - /** - * Returns if this Zend_Config object is read only or not. - * - * @return boolean - */ - public function readOnly() - { - return !$this->_allowModifications; - } - - /** - * Get the current extends - * - * @return array - */ - public function getExtends() - { - return $this->_extends; - } - - /** - * Set an extend for Zend_Config_Writer - * - * @param string $extendingSection - * @param string $extendedSection - * @return void - */ - public function setExtend($extendingSection, $extendedSection = null) - { - if ($extendedSection === null && isset($this->_extends[$extendingSection])) { - unset($this->_extends[$extendingSection]); - } else if ($extendedSection !== null) { - $this->_extends[$extendingSection] = $extendedSection; - } - } - - /** - * Throws an exception if $extendingSection may not extend $extendedSection, - * and tracks the section extension if it is valid. - * - * @param string $extendingSection - * @param string $extendedSection - * @throws Zend_Config_Exception - * @return void - */ - protected function _assertValidExtend($extendingSection, $extendedSection) - { - // detect circular section inheritance - $extendedSectionCurrent = $extendedSection; - while (array_key_exists($extendedSectionCurrent, $this->_extends)) { - if ($this->_extends[$extendedSectionCurrent] == $extendingSection) { - /** @see Zend_Config_Exception */ - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('Illegal circular inheritance detected'); - } - $extendedSectionCurrent = $this->_extends[$extendedSectionCurrent]; - } - // remember that this section extends another section - $this->_extends[$extendingSection] = $extendedSection; - } - - /** - * Handle any errors from simplexml_load_file or parse_ini_file - * - * @param integer $errno - * @param string $errstr - * @param string $errfile - * @param integer $errline - */ - protected function _loadFileErrorHandler($errno, $errstr, $errfile, $errline) - { - if ($this->_loadFileErrorStr === null) { - $this->_loadFileErrorStr = $errstr; - } else { - $this->_loadFileErrorStr .= (PHP_EOL . $errstr); - } - } - -} diff --git a/lib/zend/Zend/Config/Exception.php b/lib/zend/Zend/Config/Exception.php deleted file mode 100644 index 10961e210c..0000000000 --- a/lib/zend/Zend/Config/Exception.php +++ /dev/null @@ -1,33 +0,0 @@ -hostname === "staging" - * $data->db->connection === "database" - * - * The $options parameter may be provided as either a boolean or an array. - * If provided as a boolean, this sets the $allowModifications option of - * Zend_Config. If provided as an array, there are two configuration - * directives that may be set. For example: - * - * $options = array( - * 'allowModifications' => false, - * 'nestSeparator' => '->' - * ); - * - * @param string $filename - * @param string|null $section - * @param boolean|array $options - * @throws Zend_Config_Exception - * @return void - */ - public function __construct($filename, $section = null, $options = false) - { - if (empty($filename)) { - /** - * @see Zend_Config_Exception - */ - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('Filename is not set'); - } - - $allowModifications = false; - if (is_bool($options)) { - $allowModifications = $options; - } elseif (is_array($options)) { - if (isset($options['allowModifications'])) { - $allowModifications = (bool) $options['allowModifications']; - } - if (isset($options['nestSeparator'])) { - $this->_nestSeparator = (string) $options['nestSeparator']; - } - if (isset($options['skipExtends'])) { - $this->_skipExtends = (bool) $options['skipExtends']; - } - } - - $iniArray = $this->_loadIniFile($filename); - - if (null === $section) { - // Load entire file - $dataArray = array(); - foreach ($iniArray as $sectionName => $sectionData) { - if(!is_array($sectionData)) { - $dataArray = array_merge_recursive($dataArray, $this->_processKey(array(), $sectionName, $sectionData)); - } else { - $dataArray[$sectionName] = $this->_processSection($iniArray, $sectionName); - } - } - parent::__construct($dataArray, $allowModifications); - } else { - // Load one or more sections - if (!is_array($section)) { - $section = array($section); - } - $dataArray = array(); - foreach ($section as $sectionName) { - if (!isset($iniArray[$sectionName])) { - /** - * @see Zend_Config_Exception - */ - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception("Section '$sectionName' cannot be found in $filename"); - } - $dataArray = array_merge($this->_processSection($iniArray, $sectionName), $dataArray); - - } - parent::__construct($dataArray, $allowModifications); - } - - $this->_loadedSection = $section; - } - - /** - * Load the ini file and preprocess the section separator (':' in the - * section name (that is used for section extension) so that the resultant - * array has the correct section names and the extension information is - * stored in a sub-key called ';extends'. We use ';extends' as this can - * never be a valid key name in an INI file that has been loaded using - * parse_ini_file(). - * - * @param string $filename - * @throws Zend_Config_Exception - * @return array - */ - protected function _loadIniFile($filename) - { - set_error_handler(array($this, '_loadFileErrorHandler')); - $loaded = parse_ini_file($filename, true); // Warnings and errors are suppressed - restore_error_handler(); - // Check if there was a error while loading file - if ($this->_loadFileErrorStr !== null) { - /** - * @see Zend_Config_Exception - */ - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception($this->_loadFileErrorStr); - } - - $iniArray = array(); - foreach ($loaded as $key => $data) - { - $pieces = explode($this->_sectionSeparator, $key); - $thisSection = trim($pieces[0]); - switch (count($pieces)) { - case 1: - $iniArray[$thisSection] = $data; - break; - - case 2: - $extendedSection = trim($pieces[1]); - $iniArray[$thisSection] = array_merge(array(';extends'=>$extendedSection), $data); - break; - - default: - /** - * @see Zend_Config_Exception - */ - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception("Section '$thisSection' may not extend multiple sections in $filename"); - } - } - - return $iniArray; - } - - /** - * Process each element in the section and handle the ";extends" inheritance - * key. Passes control to _processKey() to handle the nest separator - * sub-property syntax that may be used within the key name. - * - * @param array $iniArray - * @param string $section - * @param array $config - * @throws Zend_Config_Exception - * @return array - */ - protected function _processSection($iniArray, $section, $config = array()) - { - $thisSection = $iniArray[$section]; - - foreach ($thisSection as $key => $value) { - if (strtolower($key) == ';extends') { - if (isset($iniArray[$value])) { - $this->_assertValidExtend($section, $value); - - if (!$this->_skipExtends) { - $config = $this->_processSection($iniArray, $value, $config); - } - } else { - /** - * @see Zend_Config_Exception - */ - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception("Parent section '$section' cannot be found"); - } - } else { - $config = $this->_processKey($config, $key, $value); - } - } - return $config; - } - - /** - * Assign the key's value to the property list. Handles the - * nest separator for sub-properties. - * - * @param array $config - * @param string $key - * @param string $value - * @throws Zend_Config_Exception - * @return array - */ - protected function _processKey($config, $key, $value) - { - if (strpos($key, $this->_nestSeparator) !== false) { - $pieces = explode($this->_nestSeparator, $key, 2); - if (strlen($pieces[0]) && strlen($pieces[1])) { - if (!isset($config[$pieces[0]])) { - if ($pieces[0] === '0' && !empty($config)) { - // convert the current values in $config into an array - $config = array($pieces[0] => $config); - } else { - $config[$pieces[0]] = array(); - } - } elseif (!is_array($config[$pieces[0]])) { - /** - * @see Zend_Config_Exception - */ - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception("Cannot create sub-key for '{$pieces[0]}' as key already exists"); - } - $config[$pieces[0]] = $this->_processKey($config[$pieces[0]], $pieces[1], $value); - } else { - /** - * @see Zend_Config_Exception - */ - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception("Invalid key '$key'"); - } - } else { - $config[$key] = $value; - } - return $config; - } -} diff --git a/lib/zend/Zend/Config/Writer.php b/lib/zend/Zend/Config/Writer.php deleted file mode 100644 index 475e507b7f..0000000000 --- a/lib/zend/Zend/Config/Writer.php +++ /dev/null @@ -1,101 +0,0 @@ -setOptions($options); - } - } - - /** - * Set options via a Zend_Config instance - * - * @param Zend_Config $config - * @return Zend_Config_Writer - */ - public function setConfig(Zend_Config $config) - { - $this->_config = $config; - - return $this; - } - - /** - * Set options via an array - * - * @param array $options - * @return Zend_Config_Writer - */ - public function setOptions(array $options) - { - foreach ($options as $key => $value) { - if (in_array(strtolower($key), $this->_skipOptions)) { - continue; - } - - $method = 'set' . ucfirst($key); - if (method_exists($this, $method)) { - $this->$method($value); - } - } - - return $this; - } - - /** - * Write a Zend_Config object to it's target - * - * @return void - */ - abstract public function write(); -} diff --git a/lib/zend/Zend/Config/Writer/Array.php b/lib/zend/Zend/Config/Writer/Array.php deleted file mode 100644 index 4671814bd6..0000000000 --- a/lib/zend/Zend/Config/Writer/Array.php +++ /dev/null @@ -1,132 +0,0 @@ -_filename = $filename; - - return $this; - } - - /** - * Set wether to exclusively lock the file or not - * - * @param boolean $exclusiveLock - * @return Zend_Config_Writer_Array - */ - public function setExclusiveLock($exclusiveLock) - { - $this->_exclusiveLock = $exclusiveLock; - - return $this; - } - - /** - * Defined by Zend_Config_Writer - * - * @param string $filename - * @param Zend_Config $config - * @param boolean $exclusiveLock - * @throws Zend_Config_Exception When filename was not set - * @throws Zend_Config_Exception When filename is not writable - * @return void - */ - public function write($filename = null, Zend_Config $config = null, $exclusiveLock = null) - { - if ($filename !== null) { - $this->setFilename($filename); - } - - if ($config !== null) { - $this->setConfig($config); - } - - if ($exclusiveLock !== null) { - $this->setExclusiveLock($exclusiveLock); - } - - if ($this->_filename === null) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('No filename was set'); - } - - if ($this->_config === null) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('No config was set'); - } - - $data = $this->_config->toArray(); - $sectionName = $this->_config->getSectionName(); - - if (is_string($sectionName)) { - $data = array($sectionName => $data); - } - - $arrayString = "_exclusiveLock) { - $flags |= LOCK_EX; - } - - $result = @file_put_contents($this->_filename, $arrayString, $flags); - - if ($result === false) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('Could not write to file "' . $this->_filename . '"'); - } - } -} diff --git a/lib/zend/Zend/Config/Writer/Ini.php b/lib/zend/Zend/Config/Writer/Ini.php deleted file mode 100644 index 7069f43e99..0000000000 --- a/lib/zend/Zend/Config/Writer/Ini.php +++ /dev/null @@ -1,212 +0,0 @@ -_filename = $filename; - - return $this; - } - - /** - * Set wether to exclusively lock the file or not - * - * @param boolean $exclusiveLock - * @return Zend_Config_Writer_Array - */ - public function setExclusiveLock($exclusiveLock) - { - $this->_exclusiveLock = $exclusiveLock; - - return $this; - } - - /** - * Set the nest separator - * - * @param string $filename - * @return Zend_Config_Writer_Ini - */ - public function setNestSeparator($separator) - { - $this->_nestSeparator = $separator; - - return $this; - } - - /** - * Defined by Zend_Config_Writer - * - * @param string $filename - * @param Zend_Config $config - * @param boolean $exclusiveLock - * @throws Zend_Config_Exception When filename was not set - * @throws Zend_Config_Exception When filename is not writable - * @return void - */ - public function write($filename = null, Zend_Config $config = null, $exclusiveLock = null) - { - if ($filename !== null) { - $this->setFilename($filename); - } - - if ($config !== null) { - $this->setConfig($config); - } - - if ($exclusiveLock !== null) { - $this->setExclusiveLock($exclusiveLock); - } - - if ($this->_filename === null) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('No filename was set'); - } - - if ($this->_config === null) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('No config was set'); - } - - $iniString = ''; - $extends = $this->_config->getExtends(); - $sectionName = $this->_config->getSectionName(); - - if (is_string($sectionName)) { - $iniString .= '[' . $sectionName . ']' . "\n" - . $this->_addBranch($this->_config) - . "\n"; - } else { - foreach ($this->_config as $sectionName => $data) { - if (!($data instanceof Zend_Config)) { - $iniString .= $sectionName - . ' = ' - . $this->_prepareValue($data) - . "\n"; - } else { - if (isset($extends[$sectionName])) { - $sectionName .= ' : ' . $extends[$sectionName]; - } - - $iniString .= '[' . $sectionName . ']' . "\n" - . $this->_addBranch($data) - . "\n"; - } - } - } - - $flags = 0; - - if ($this->_exclusiveLock) { - $flags |= LOCK_EX; - } - - $result = @file_put_contents($this->_filename, $iniString, $flags); - - if ($result === false) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('Could not write to file "' . $this->_filename . '"'); - } - } - - /** - * Add a branch to an INI string recursively - * - * @param Zend_Config $config - * @return void - */ - protected function _addBranch(Zend_Config $config, $parents = array()) - { - $iniString = ''; - - foreach ($config as $key => $value) { - $group = array_merge($parents, array($key)); - - if ($value instanceof Zend_Config) { - $iniString .= $this->_addBranch($value, $group); - } else { - $iniString .= implode($this->_nestSeparator, $group) - . ' = ' - . $this->_prepareValue($value) - . "\n"; - } - } - - return $iniString; - } - - /** - * Prepare a value for INI - * - * @param mixed $value - * @return string - */ - protected function _prepareValue($value) - { - if (is_integer($value) || is_float($value)) { - return $value; - } elseif (is_bool($value)) { - return ($value ? 'true' : 'false'); - } else { - return '"' . addslashes($value) . '"'; - } - } -} diff --git a/lib/zend/Zend/Config/Writer/Xml.php b/lib/zend/Zend/Config/Writer/Xml.php deleted file mode 100644 index 09758c6157..0000000000 --- a/lib/zend/Zend/Config/Writer/Xml.php +++ /dev/null @@ -1,204 +0,0 @@ -_filename = $filename; - - return $this; - } - - /** - * Set wether to exclusively lock the file or not - * - * @param boolean $exclusiveLock - * @return Zend_Config_Writer_Array - */ - public function setExclusiveLock($exclusiveLock) - { - $this->_exclusiveLock = $exclusiveLock; - - return $this; - } - - /** - * Defined by Zend_Config_Writer - * - * @param string $filename - * @param Zend_Config $config - * @param boolean $exclusiveLock - * @throws Zend_Config_Exception When filename was not set - * @throws Zend_Config_Exception When filename is not writable - * @return void - */ - public function write($filename = null, Zend_Config $config = null, $exclusiveLock = null) - { - if ($filename !== null) { - $this->setFilename($filename); - } - - if ($config !== null) { - $this->setConfig($config); - } - - if ($exclusiveLock !== null) { - $this->setExclusiveLock($exclusiveLock); - } - - if ($this->_filename === null) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('No filename was set'); - } - - if ($this->_config === null) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('No config was set'); - } - - $xml = new SimpleXMLElement(''); - $extends = $this->_config->getExtends(); - $sectionName = $this->_config->getSectionName(); - - if (is_string($sectionName)) { - $child = $xml->addChild($sectionName); - - $this->_addBranch($this->_config, $child, $xml); - } else { - foreach ($this->_config as $sectionName => $data) { - if (!($data instanceof Zend_Config)) { - $xml->addChild($sectionName, (string) $data); - } else { - $child = $xml->addChild($sectionName); - - if (isset($extends[$sectionName])) { - $child->addAttribute('zf:extends', $extends[$sectionName], Zend_Config_Xml::XML_NAMESPACE); - } - - $this->_addBranch($data, $child, $xml); - } - } - } - - $dom = dom_import_simplexml($xml)->ownerDocument; - $dom->formatOutput = true; - - $xmlString = $dom->saveXML(); - - $flags = 0; - - if ($this->_exclusiveLock) { - $flags |= LOCK_EX; - } - - $result = @file_put_contents($this->_filename, $xmlString, $flags); - - if ($result === false) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('Could not write to file "' . $this->_filename . '"'); - } - } - - /** - * Add a branch to an XML object recursively - * - * @param Zend_Config $config - * @param SimpleXMLElement $xml - * @param SimpleXMLElement $parent - * @return void - */ - protected function _addBranch(Zend_Config $config, SimpleXMLElement $xml, SimpleXMLElement $parent) - { - $branchType = null; - - foreach ($config as $key => $value) { - if ($branchType === null) { - if (is_numeric($key)) { - $branchType = 'numeric'; - $branchName = $xml->getName(); - $xml = $parent; - - unset($parent->{$branchName}); - } else { - $branchType = 'string'; - } - } else if ($branchType !== (is_numeric($key) ? 'numeric' : 'string')) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception('Mixing of string and numeric keys is not allowed'); - } - - if ($branchType === 'numeric') { - if ($value instanceof Zend_Config) { - $child = $parent->addChild($branchName, (string) $value); - - $this->_addBranch($value, $child, $parent); - } else { - $parent->addChild($branchName, (string) $value); - } - } else { - if ($value instanceof Zend_Config) { - $child = $xml->addChild($key); - - $this->_addBranch($value, $child, $xml); - } else { - $xml->addChild($key, (string) $value); - } - } - } - } -} diff --git a/lib/zend/Zend/Config/Xml.php b/lib/zend/Zend/Config/Xml.php deleted file mode 100644 index 80785636a6..0000000000 --- a/lib/zend/Zend/Config/Xml.php +++ /dev/null @@ -1,315 +0,0 @@ -_skipExtends = (bool) $options['skipExtends']; - } - } - - set_error_handler(array($this, '_loadFileErrorHandler')); // Warnings and errors are suppressed - if (strstr($xml, '_loadFileErrorStr !== null) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception($this->_loadFileErrorStr); - } - - if ($section === null) { - $dataArray = array(); - foreach ($config as $sectionName => $sectionData) { - $dataArray[$sectionName] = $this->_processExtends($config, $sectionName); - } - - parent::__construct($dataArray, $allowModifications); - } else if (is_array($section)) { - $dataArray = array(); - foreach ($section as $sectionName) { - if (!isset($config->$sectionName)) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception("Section '$sectionName' cannot be found in $xml"); - } - - $dataArray = array_merge($this->_processExtends($config, $sectionName), $dataArray); - } - - parent::__construct($dataArray, $allowModifications); - } else { - if (!isset($config->$section)) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception("Section '$section' cannot be found in $xml"); - } - - $dataArray = $this->_processExtends($config, $section); - if (!is_array($dataArray)) { - // Section in the XML file contains just one top level string - $dataArray = array($section => $dataArray); - } - - parent::__construct($dataArray, $allowModifications); - } - - $this->_loadedSection = $section; - } - - /** - * Helper function to process each element in the section and handle - * the "extends" inheritance attribute. - * - * @param SimpleXMLElement $element XML Element to process - * @param string $section Section to process - * @param array $config Configuration which was parsed yet - * @throws Zend_Config_Exception When $section cannot be found - * @return array - */ - protected function _processExtends(SimpleXMLElement $element, $section, array $config = array()) - { - if (!isset($element->$section)) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception("Section '$section' cannot be found"); - } - - $thisSection = $element->$section; - $nsAttributes = $thisSection->attributes(self::XML_NAMESPACE); - - if (isset($thisSection['extends']) || isset($nsAttributes['extends'])) { - $extendedSection = (string) (isset($nsAttributes['extends']) ? $nsAttributes['extends'] : $thisSection['extends']); - $this->_assertValidExtend($section, $extendedSection); - - if (!$this->_skipExtends) { - $config = $this->_processExtends($element, $extendedSection, $config); - } - } - - $config = $this->_arrayMergeRecursive($config, $this->_toArray($thisSection)); - - return $config; - } - - /** - * Returns a string or an associative and possibly multidimensional array from - * a SimpleXMLElement. - * - * @param SimpleXMLElement $xmlObject Convert a SimpleXMLElement into an array - * @return array|string - */ - protected function _toArray(SimpleXMLElement $xmlObject) - { - $config = array(); - $nsAttributes = $xmlObject->attributes(self::XML_NAMESPACE); - - // Search for parent node values - if (count($xmlObject->attributes()) > 0) { - foreach ($xmlObject->attributes() as $key => $value) { - if ($key === 'extends') { - continue; - } - - $value = (string) $value; - - if (array_key_exists($key, $config)) { - if (!is_array($config[$key])) { - $config[$key] = array($config[$key]); - } - - $config[$key][] = $value; - } else { - $config[$key] = $value; - } - } - } - - // Search for local 'const' nodes and replace them - if (count($xmlObject->children(self::XML_NAMESPACE)) > 0) { - if (count($xmlObject->children()) > 0) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception("A node with a 'const' childnode may not have any other children"); - } - - $dom = dom_import_simplexml($xmlObject); - $namespaceChildNodes = array(); - - // We have to store them in an array, as replacing nodes will - // confuse the DOMNodeList later - foreach ($dom->childNodes as $node) { - if ($node instanceof DOMElement && $node->namespaceURI === self::XML_NAMESPACE) { - $namespaceChildNodes[] = $node; - } - } - - foreach ($namespaceChildNodes as $node) { - switch ($node->localName) { - case 'const': - if (!$node->hasAttributeNS(self::XML_NAMESPACE, 'name')) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception("Misssing 'name' attribute in 'const' node"); - } - - $constantName = $node->getAttributeNS(self::XML_NAMESPACE, 'name'); - - if (!defined($constantName)) { - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception("Constant with name '$constantName' was not defined"); - } - - $constantValue = constant($constantName); - - $dom->replaceChild($dom->ownerDocument->createTextNode($constantValue), $node); - break; - - default: - require_once 'Zend/Config/Exception.php'; - throw new Zend_Config_Exception("Unknown node with name '$node->localName' found"); - } - } - - return (string) simplexml_import_dom($dom); - } - - // Search for children - if (count($xmlObject->children()) > 0) { - foreach ($xmlObject->children() as $key => $value) { - if (count($value->children()) > 0 || count($value->children(self::XML_NAMESPACE)) > 0) { - $value = $this->_toArray($value); - } else if (count($value->attributes()) > 0) { - $attributes = $value->attributes(); - if (isset($attributes['value'])) { - $value = (string) $attributes['value']; - } else { - $value = $this->_toArray($value); - } - } else { - $value = (string) $value; - } - - if (array_key_exists($key, $config)) { - if (!is_array($config[$key]) || !array_key_exists(0, $config[$key])) { - $config[$key] = array($config[$key]); - } - - $config[$key][] = $value; - } else { - $config[$key] = $value; - } - } - } else if (!isset($xmlObject['extends']) && !isset($nsAttributes['extends']) && (count($config) === 0)) { - // Object has no children nor attributes and doesn't use the extends - // attribute: it's a string - $config = (string) $xmlObject; - } - - return $config; - } - - /** - * Merge two arrays recursively, overwriting keys of the same name - * in $firstArray with the value in $secondArray. - * - * @param mixed $firstArray First array - * @param mixed $secondArray Second array to merge into first array - * @return array - */ - protected function _arrayMergeRecursive($firstArray, $secondArray) - { - if (is_array($firstArray) && is_array($secondArray)) { - foreach ($secondArray as $key => $value) { - if (isset($firstArray[$key])) { - $firstArray[$key] = $this->_arrayMergeRecursive($firstArray[$key], $value); - } else { - if($key === 0) { - $firstArray= array(0=>$this->_arrayMergeRecursive($firstArray, $value)); - } else { - $firstArray[$key] = $value; - } - } - } - } else { - $firstArray = $secondArray; - } - - return $firstArray; - } -} diff --git a/lib/zend/Zend/Console/Getopt.php b/lib/zend/Zend/Console/Getopt.php deleted file mode 100644 index 0936a3e487..0000000000 --- a/lib/zend/Zend/Console/Getopt.php +++ /dev/null @@ -1,957 +0,0 @@ - self::MODE_ZEND, - self::CONFIG_DASHDASH => true, - self::CONFIG_IGNORECASE => false, - self::CONFIG_PARSEALL => true, - ); - - /** - * Stores the command-line arguments for the calling applicaion. - * - * @var array - */ - protected $_argv = array(); - - /** - * Stores the name of the calling applicaion. - * - * @var string - */ - protected $_progname = ''; - - /** - * Stores the list of legal options for this application. - * - * @var array - */ - protected $_rules = array(); - - /** - * Stores alternate spellings of legal options. - * - * @var array - */ - protected $_ruleMap = array(); - - /** - * Stores options given by the user in the current invocation - * of the application, as well as parameters given in options. - * - * @var array - */ - protected $_options = array(); - - /** - * Stores the command-line arguments other than options. - * - * @var array - */ - protected $_remainingArgs = array(); - - /** - * State of the options: parsed or not yet parsed? - * - * @var boolean - */ - protected $_parsed = false; - - /** - * The constructor takes one to three parameters. - * - * The first parameter is $rules, which may be a string for - * gnu-style format, or a structured array for Zend-style format. - * - * The second parameter is $argv, and it is optional. If not - * specified, $argv is inferred from the global argv. - * - * The third parameter is an array of configuration parameters - * to control the behavior of this instance of Getopt; it is optional. - * - * @param array $rules - * @param array $argv - * @param array $getoptConfig - * @return void - */ - public function __construct($rules, $argv = null, $getoptConfig = array()) - { - if (!isset($_SERVER['argv'])) { - require_once 'Zend/Console/Getopt/Exception.php'; - if (ini_get('register_argc_argv') == false) { - throw new Zend_Console_Getopt_Exception( - "argv is not available, because ini option 'register_argc_argv' is set Off" - ); - } else { - throw new Zend_Console_Getopt_Exception( - '$_SERVER["argv"] is not set, but Zend_Console_Getopt cannot work without this information.' - ); - } - } - - $this->_progname = $_SERVER['argv'][0]; - $this->setOptions($getoptConfig); - $this->addRules($rules); - if (!is_array($argv)) { - $argv = array_slice($_SERVER['argv'], 1); - } - if (isset($argv)) { - $this->addArguments((array)$argv); - } - } - - /** - * Return the state of the option seen on the command line of the - * current application invocation. This function returns true, or the - * parameter to the option, if any. If the option was not given, - * this function returns null. - * - * The magic __get method works in the context of naming the option - * as a virtual member of this class. - * - * @param string $key - * @return string - */ - public function __get($key) - { - return $this->getOption($key); - } - - /** - * Test whether a given option has been seen. - * - * @param string $key - * @return boolean - */ - public function __isset($key) - { - $this->parse(); - if (isset($this->_ruleMap[$key])) { - $key = $this->_ruleMap[$key]; - return isset($this->_options[$key]); - } - return false; - } - - /** - * Set the value for a given option. - * - * @param string $key - * @param string $value - * @return void - */ - public function __set($key, $value) - { - $this->parse(); - if (isset($this->_ruleMap[$key])) { - $key = $this->_ruleMap[$key]; - $this->_options[$key] = $value; - } - } - - /** - * Return the current set of options and parameters seen as a string. - * - * @return string - */ - public function __toString() - { - return $this->toString(); - } - - /** - * Unset an option. - * - * @param string $key - * @return void - */ - public function __unset($key) - { - $this->parse(); - if (isset($this->_ruleMap[$key])) { - $key = $this->_ruleMap[$key]; - unset($this->_options[$key]); - } - } - - /** - * Define additional command-line arguments. - * These are appended to those defined when the constructor was called. - * - * @param array $argv - * @return Zend_Console_Getopt Provides a fluent interface - */ - public function addArguments($argv) - { - $this->_argv = array_merge($this->_argv, $argv); - $this->_parsed = false; - return $this; - } - - /** - * Define full set of command-line arguments. - * These replace any currently defined. - * - * @param array $argv - * @return Zend_Console_Getopt Provides a fluent interface - */ - public function setArguments($argv) - { - $this->_argv = $argv; - $this->_parsed = false; - return $this; - } - - /** - * Define multiple configuration options from an associative array. - * These are not program options, but properties to configure - * the behavior of Zend_Console_Getopt. - * - * @param array $getoptConfig - * @return Zend_Console_Getopt Provides a fluent interface - */ - public function setOptions($getoptConfig) - { - if (isset($getoptConfig)) { - foreach ($getoptConfig as $key => $value) { - $this->setOption($key, $value); - } - } - return $this; - } - - /** - * Define one configuration option as a key/value pair. - * These are not program options, but properties to configure - * the behavior of Zend_Console_Getopt. - * - * @param string $configKey - * @param string $configValue - * @return Zend_Console_Getopt Provides a fluent interface - */ - public function setOption($configKey, $configValue) - { - if ($configKey !== null) { - $this->_getoptConfig[$configKey] = $configValue; - } - return $this; - } - - /** - * Define additional option rules. - * These are appended to the rules defined when the constructor was called. - * - * @param array $rules - * @return Zend_Console_Getopt Provides a fluent interface - */ - public function addRules($rules) - { - $ruleMode = $this->_getoptConfig['ruleMode']; - switch ($this->_getoptConfig['ruleMode']) { - case self::MODE_ZEND: - if (is_array($rules)) { - $this->_addRulesModeZend($rules); - break; - } - // intentional fallthrough - case self::MODE_GNU: - $this->_addRulesModeGnu($rules); - break; - default: - /** - * Call addRulesModeFoo() for ruleMode 'foo'. - * The developer should subclass Getopt and - * provide this method. - */ - $method = '_addRulesMode' . ucfirst($ruleMode); - $this->$method($rules); - } - $this->_parsed = false; - return $this; - } - - /** - * Return the current set of options and parameters seen as a string. - * - * @return string - */ - public function toString() - { - $this->parse(); - $s = array(); - foreach ($this->_options as $flag => $value) { - $s[] = $flag . '=' . ($value === true ? 'true' : $value); - } - return implode(' ', $s); - } - - /** - * Return the current set of options and parameters seen - * as an array of canonical options and parameters. - * - * Clusters have been expanded, and option aliases - * have been mapped to their primary option names. - * - * @return array - */ - public function toArray() - { - $this->parse(); - $s = array(); - foreach ($this->_options as $flag => $value) { - $s[] = $flag; - if ($value !== true) { - $s[] = $value; - } - } - return $s; - } - - /** - * Return the current set of options and parameters seen in Json format. - * - * @return string - */ - public function toJson() - { - $this->parse(); - $j = array(); - foreach ($this->_options as $flag => $value) { - $j['options'][] = array( - 'option' => array( - 'flag' => $flag, - 'parameter' => $value - ) - ); - } - - /** - * @see Zend_Json - */ - require_once 'Zend/Json.php'; - $json = Zend_Json::encode($j); - - return $json; - } - - /** - * Return the current set of options and parameters seen in XML format. - * - * @return string - */ - public function toXml() - { - $this->parse(); - $doc = new DomDocument('1.0', 'utf-8'); - $optionsNode = $doc->createElement('options'); - $doc->appendChild($optionsNode); - foreach ($this->_options as $flag => $value) { - $optionNode = $doc->createElement('option'); - $optionNode->setAttribute('flag', utf8_encode($flag)); - if ($value !== true) { - $optionNode->setAttribute('parameter', utf8_encode($value)); - } - $optionsNode->appendChild($optionNode); - } - $xml = $doc->saveXML(); - return $xml; - } - - /** - * Return a list of options that have been seen in the current argv. - * - * @return array - */ - public function getOptions() - { - $this->parse(); - return array_keys($this->_options); - } - - /** - * Return the state of the option seen on the command line of the - * current application invocation. - * - * This function returns true, or the parameter value to the option, if any. - * If the option was not given, this function returns false. - * - * @param string $flag - * @return mixed - */ - public function getOption($flag) - { - $this->parse(); - if ($this->_getoptConfig[self::CONFIG_IGNORECASE]) { - $flag = strtolower($flag); - } - if (isset($this->_ruleMap[$flag])) { - $flag = $this->_ruleMap[$flag]; - if (isset($this->_options[$flag])) { - return $this->_options[$flag]; - } - } - return null; - } - - /** - * Return the arguments from the command-line following all options found. - * - * @return array - */ - public function getRemainingArgs() - { - $this->parse(); - return $this->_remainingArgs; - } - - /** - * Return a useful option reference, formatted for display in an - * error message. - * - * Note that this usage information is provided in most Exceptions - * generated by this class. - * - * @return string - */ - public function getUsageMessage() - { - $usage = "Usage: {$this->_progname} [ options ]\n"; - $maxLen = 20; - foreach ($this->_rules as $rule) { - $flags = array(); - if (is_array($rule['alias'])) { - foreach ($rule['alias'] as $flag) { - $flags[] = (strlen($flag) == 1 ? '-' : '--') . $flag; - } - } - $linepart['name'] = implode('|', $flags); - if (isset($rule['param']) && $rule['param'] != 'none') { - $linepart['name'] .= ' '; - switch ($rule['param']) { - case 'optional': - $linepart['name'] .= "[ <{$rule['paramType']}> ]"; - break; - case 'required': - $linepart['name'] .= "<{$rule['paramType']}>"; - break; - } - } - if (strlen($linepart['name']) > $maxLen) { - $maxLen = strlen($linepart['name']); - } - $linepart['help'] = ''; - if (isset($rule['help'])) { - $linepart['help'] .= $rule['help']; - } - $lines[] = $linepart; - } - foreach ($lines as $linepart) { - $usage .= sprintf("%s %s\n", - str_pad($linepart['name'], $maxLen), - $linepart['help']); - } - return $usage; - } - - /** - * Define aliases for options. - * - * The parameter $aliasMap is an associative array - * mapping option name (short or long) to an alias. - * - * @param array $aliasMap - * @throws Zend_Console_Getopt_Exception - * @return Zend_Console_Getopt Provides a fluent interface - */ - public function setAliases($aliasMap) - { - foreach ($aliasMap as $flag => $alias) - { - if ($this->_getoptConfig[self::CONFIG_IGNORECASE]) { - $flag = strtolower($flag); - $alias = strtolower($alias); - } - if (!isset($this->_ruleMap[$flag])) { - continue; - } - $flag = $this->_ruleMap[$flag]; - if (isset($this->_rules[$alias]) || isset($this->_ruleMap[$alias])) { - $o = (strlen($alias) == 1 ? '-' : '--') . $alias; - require_once 'Zend/Console/Getopt/Exception.php'; - throw new Zend_Console_Getopt_Exception( - "Option \"$o\" is being defined more than once."); - } - $this->_rules[$flag]['alias'][] = $alias; - $this->_ruleMap[$alias] = $flag; - } - return $this; - } - - /** - * Define help messages for options. - * - * The parameter $help_map is an associative array - * mapping option name (short or long) to the help string. - * - * @param array $helpMap - * @return Zend_Console_Getopt Provides a fluent interface - */ - public function setHelp($helpMap) - { - foreach ($helpMap as $flag => $help) - { - if (!isset($this->_ruleMap[$flag])) { - continue; - } - $flag = $this->_ruleMap[$flag]; - $this->_rules[$flag]['help'] = $help; - } - return $this; - } - - /** - * Parse command-line arguments and find both long and short - * options. - * - * Also find option parameters, and remaining arguments after - * all options have been parsed. - * - * @return Zend_Console_Getopt|null Provides a fluent interface - */ - public function parse() - { - if ($this->_parsed === true) { - return; - } - $argv = $this->_argv; - $this->_options = array(); - $this->_remainingArgs = array(); - while (count($argv) > 0) { - if ($argv[0] == '--') { - array_shift($argv); - if ($this->_getoptConfig[self::CONFIG_DASHDASH]) { - $this->_remainingArgs = array_merge($this->_remainingArgs, $argv); - break; - } - } - if (substr($argv[0], 0, 2) == '--') { - $this->_parseLongOption($argv); - } else if (substr($argv[0], 0, 1) == '-' && ('-' != $argv[0] || count($argv) >1)) { - $this->_parseShortOptionCluster($argv); - } else if($this->_getoptConfig[self::CONFIG_PARSEALL]) { - $this->_remainingArgs[] = array_shift($argv); - } else { - /* - * We should put all other arguments in _remainingArgs and stop parsing - * since CONFIG_PARSEALL is false. - */ - $this->_remainingArgs = array_merge($this->_remainingArgs, $argv); - break; - } - } - $this->_parsed = true; - return $this; - } - - /** - * Parse command-line arguments for a single long option. - * A long option is preceded by a double '--' character. - * Long options may not be clustered. - * - * @param mixed &$argv - * @return void - */ - protected function _parseLongOption(&$argv) - { - $optionWithParam = ltrim(array_shift($argv), '-'); - $l = explode('=', $optionWithParam, 2); - $flag = array_shift($l); - $param = array_shift($l); - if (isset($param)) { - array_unshift($argv, $param); - } - $this->_parseSingleOption($flag, $argv); - } - - /** - * Parse command-line arguments for short options. - * Short options are those preceded by a single '-' character. - * Short options may be clustered. - * - * @param mixed &$argv - * @return void - */ - protected function _parseShortOptionCluster(&$argv) - { - $flagCluster = ltrim(array_shift($argv), '-'); - foreach (str_split($flagCluster) as $flag) { - $this->_parseSingleOption($flag, $argv); - } - } - - /** - * Parse command-line arguments for a single option. - * - * @param string $flag - * @param mixed $argv - * @throws Zend_Console_Getopt_Exception - * @return void - */ - protected function _parseSingleOption($flag, &$argv) - { - if ($this->_getoptConfig[self::CONFIG_IGNORECASE]) { - $flag = strtolower($flag); - } - if (!isset($this->_ruleMap[$flag])) { - require_once 'Zend/Console/Getopt/Exception.php'; - throw new Zend_Console_Getopt_Exception( - "Option \"$flag\" is not recognized.", - $this->getUsageMessage()); - } - $realFlag = $this->_ruleMap[$flag]; - switch ($this->_rules[$realFlag]['param']) { - case 'required': - if (count($argv) > 0) { - $param = array_shift($argv); - $this->_checkParameterType($realFlag, $param); - } else { - require_once 'Zend/Console/Getopt/Exception.php'; - throw new Zend_Console_Getopt_Exception( - "Option \"$flag\" requires a parameter.", - $this->getUsageMessage()); - } - break; - case 'optional': - if (count($argv) > 0 && substr($argv[0], 0, 1) != '-') { - $param = array_shift($argv); - $this->_checkParameterType($realFlag, $param); - } else { - $param = true; - } - break; - default: - $param = true; - } - $this->_options[$realFlag] = $param; - } - - /** - * Return true if the parameter is in a valid format for - * the option $flag. - * Throw an exception in most other cases. - * - * @param string $flag - * @param string $param - * @throws Zend_Console_Getopt_Exception - * @return bool - */ - protected function _checkParameterType($flag, $param) - { - $type = 'string'; - if (isset($this->_rules[$flag]['paramType'])) { - $type = $this->_rules[$flag]['paramType']; - } - switch ($type) { - case 'word': - if (preg_match('/\W/', $param)) { - require_once 'Zend/Console/Getopt/Exception.php'; - throw new Zend_Console_Getopt_Exception( - "Option \"$flag\" requires a single-word parameter, but was given \"$param\".", - $this->getUsageMessage()); - } - break; - case 'integer': - if (preg_match('/\D/', $param)) { - require_once 'Zend/Console/Getopt/Exception.php'; - throw new Zend_Console_Getopt_Exception( - "Option \"$flag\" requires an integer parameter, but was given \"$param\".", - $this->getUsageMessage()); - } - break; - case 'string': - default: - break; - } - return true; - } - - /** - * Define legal options using the gnu-style format. - * - * @param string $rules - * @return void - */ - protected function _addRulesModeGnu($rules) - { - $ruleArray = array(); - - /** - * Options may be single alphanumeric characters. - * Options may have a ':' which indicates a required string parameter. - * No long options or option aliases are supported in GNU style. - */ - preg_match_all('/([a-zA-Z0-9]:?)/', $rules, $ruleArray); - foreach ($ruleArray[1] as $rule) { - $r = array(); - $flag = substr($rule, 0, 1); - if ($this->_getoptConfig[self::CONFIG_IGNORECASE]) { - $flag = strtolower($flag); - } - $r['alias'][] = $flag; - if (substr($rule, 1, 1) == ':') { - $r['param'] = 'required'; - $r['paramType'] = 'string'; - } else { - $r['param'] = 'none'; - } - $this->_rules[$flag] = $r; - $this->_ruleMap[$flag] = $flag; - } - } - - /** - * Define legal options using the Zend-style format. - * - * @param array $rules - * @throws Zend_Console_Getopt_Exception - * @return void - */ - protected function _addRulesModeZend($rules) - { - foreach ($rules as $ruleCode => $helpMessage) - { - // this may have to translate the long parm type if there - // are any complaints that =string will not work (even though that use - // case is not documented) - if (in_array(substr($ruleCode, -2, 1), array('-', '='))) { - $flagList = substr($ruleCode, 0, -2); - $delimiter = substr($ruleCode, -2, 1); - $paramType = substr($ruleCode, -1); - } else { - $flagList = $ruleCode; - $delimiter = $paramType = null; - } - if ($this->_getoptConfig[self::CONFIG_IGNORECASE]) { - $flagList = strtolower($flagList); - } - $flags = explode('|', $flagList); - $rule = array(); - $mainFlag = $flags[0]; - foreach ($flags as $flag) { - if (empty($flag)) { - require_once 'Zend/Console/Getopt/Exception.php'; - throw new Zend_Console_Getopt_Exception( - "Blank flag not allowed in rule \"$ruleCode\"."); - } - if (strlen($flag) == 1) { - if (isset($this->_ruleMap[$flag])) { - require_once 'Zend/Console/Getopt/Exception.php'; - throw new Zend_Console_Getopt_Exception( - "Option \"-$flag\" is being defined more than once."); - } - $this->_ruleMap[$flag] = $mainFlag; - $rule['alias'][] = $flag; - } else { - if (isset($this->_rules[$flag]) || isset($this->_ruleMap[$flag])) { - require_once 'Zend/Console/Getopt/Exception.php'; - throw new Zend_Console_Getopt_Exception( - "Option \"--$flag\" is being defined more than once."); - } - $this->_ruleMap[$flag] = $mainFlag; - $rule['alias'][] = $flag; - } - } - if (isset($delimiter)) { - switch ($delimiter) { - case self::PARAM_REQUIRED: - $rule['param'] = 'required'; - break; - case self::PARAM_OPTIONAL: - default: - $rule['param'] = 'optional'; - } - switch (substr($paramType, 0, 1)) { - case self::TYPE_WORD: - $rule['paramType'] = 'word'; - break; - case self::TYPE_INTEGER: - $rule['paramType'] = 'integer'; - break; - case self::TYPE_STRING: - default: - $rule['paramType'] = 'string'; - } - } else { - $rule['param'] = 'none'; - } - $rule['help'] = $helpMessage; - $this->_rules[$mainFlag] = $rule; - } - } - -} diff --git a/lib/zend/Zend/Console/Getopt/Exception.php b/lib/zend/Zend/Console/Getopt/Exception.php deleted file mode 100644 index 053200eeda..0000000000 --- a/lib/zend/Zend/Console/Getopt/Exception.php +++ /dev/null @@ -1,66 +0,0 @@ -usage = $usage; - parent::__construct($message); - } - - /** - * Returns the usage - * - * @return string - */ - public function getUsageMessage() - { - return $this->usage; - } -} diff --git a/lib/zend/Zend/Controller/Action.php b/lib/zend/Zend/Controller/Action.php deleted file mode 100644 index 016b40adca..0000000000 --- a/lib/zend/Zend/Controller/Action.php +++ /dev/null @@ -1,688 +0,0 @@ -setRequest($request) - ->setResponse($response) - ->_setInvokeArgs($invokeArgs); - $this->_helper = new Zend_Controller_Action_HelperBroker($this); - $this->init(); - } - - /** - * Initialize object - * - * Called from {@link __construct()} as final step of object instantiation. - * - * @return void - */ - public function init() - { - } - - /** - * Initialize View object - * - * Initializes {@link $view} if not otherwise a Zend_View_Interface. - * - * If {@link $view} is not otherwise set, instantiates a new Zend_View - * object, using the 'views' subdirectory at the same level as the - * controller directory for the current module as the base directory. - * It uses this to set the following: - * - script path = views/scripts/ - * - helper path = views/helpers/ - * - filter path = views/filters/ - * - * @return Zend_View_Interface - * @throws Zend_Controller_Exception if base view directory does not exist - */ - public function initView() - { - if (!$this->getInvokeArg('noViewRenderer') && $this->_helper->hasHelper('viewRenderer')) { - return $this->view; - } - - require_once 'Zend/View/Interface.php'; - if (isset($this->view) && ($this->view instanceof Zend_View_Interface)) { - return $this->view; - } - - $request = $this->getRequest(); - $module = $request->getModuleName(); - $dirs = $this->getFrontController()->getControllerDirectory(); - if (empty($module) || !isset($dirs[$module])) { - $module = $this->getFrontController()->getDispatcher()->getDefaultModule(); - } - $baseDir = dirname($dirs[$module]) . DIRECTORY_SEPARATOR . 'views'; - if (!file_exists($baseDir) || !is_dir($baseDir)) { - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception('Missing base view directory ("' . $baseDir . '")'); - } - - require_once 'Zend/View.php'; - $this->view = new Zend_View(array('basePath' => $baseDir)); - - return $this->view; - } - - /** - * Render a view - * - * Renders a view. By default, views are found in the view script path as - * /.phtml. You may change the script suffix by - * resetting {@link $viewSuffix}. You may omit the controller directory - * prefix by specifying boolean true for $noController. - * - * By default, the rendered contents are appended to the response. You may - * specify the named body content segment to set by specifying a $name. - * - * @see Zend_Controller_Response_Abstract::appendBody() - * @param string|null $action Defaults to action registered in request object - * @param string|null $name Response object named path segment to use; defaults to null - * @param bool $noController Defaults to false; i.e. use controller name as subdir in which to search for view script - * @return void - */ - public function render($action = null, $name = null, $noController = false) - { - if (!$this->getInvokeArg('noViewRenderer') && $this->_helper->hasHelper('viewRenderer')) { - return $this->_helper->viewRenderer->render($action, $name, $noController); - } - - $view = $this->initView(); - $script = $this->getViewScript($action, $noController); - - $this->getResponse()->appendBody( - $view->render($script), - $name - ); - } - - /** - * Render a given view script - * - * Similar to {@link render()}, this method renders a view script. Unlike render(), - * however, it does not autodetermine the view script via {@link getViewScript()}, - * but instead renders the script passed to it. Use this if you know the - * exact view script name and path you wish to use, or if using paths that do not - * conform to the spec defined with getViewScript(). - * - * By default, the rendered contents are appended to the response. You may - * specify the named body content segment to set by specifying a $name. - * - * @param string $script - * @param string $name - * @return void - */ - public function renderScript($script, $name = null) - { - if (!$this->getInvokeArg('noViewRenderer') && $this->_helper->hasHelper('viewRenderer')) { - return $this->_helper->viewRenderer->renderScript($script, $name); - } - - $view = $this->initView(); - $this->getResponse()->appendBody( - $view->render($script), - $name - ); - } - - /** - * Construct view script path - * - * Used by render() to determine the path to the view script. - * - * @param string $action Defaults to action registered in request object - * @param bool $noController Defaults to false; i.e. use controller name as subdir in which to search for view script - * @return string - * @throws Zend_Controller_Exception with bad $action - */ - public function getViewScript($action = null, $noController = null) - { - if (!$this->getInvokeArg('noViewRenderer') && $this->_helper->hasHelper('viewRenderer')) { - $viewRenderer = $this->_helper->getHelper('viewRenderer'); - if (null !== $noController) { - $viewRenderer->setNoController($noController); - } - return $viewRenderer->getViewScript($action); - } - - $request = $this->getRequest(); - if (null === $action) { - $action = $request->getActionName(); - } elseif (!is_string($action)) { - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception('Invalid action specifier for view render'); - } - - if (null === $this->_delimiters) { - $dispatcher = Zend_Controller_Front::getInstance()->getDispatcher(); - $wordDelimiters = $dispatcher->getWordDelimiter(); - $pathDelimiters = $dispatcher->getPathDelimiter(); - $this->_delimiters = array_unique(array_merge($wordDelimiters, (array) $pathDelimiters)); - } - - $action = str_replace($this->_delimiters, '-', $action); - $script = $action . '.' . $this->viewSuffix; - - if (!$noController) { - $controller = $request->getControllerName(); - $controller = str_replace($this->_delimiters, '-', $controller); - $script = $controller . DIRECTORY_SEPARATOR . $script; - } - - return $script; - } - - /** - * Return the Request object - * - * @return Zend_Controller_Request_Abstract - */ - public function getRequest() - { - return $this->_request; - } - - /** - * Set the Request object - * - * @param Zend_Controller_Request_Abstract $request - * @return Zend_Controller_Action - */ - public function setRequest(Zend_Controller_Request_Abstract $request) - { - $this->_request = $request; - return $this; - } - - /** - * Return the Response object - * - * @return Zend_Controller_Response_Abstract - */ - public function getResponse() - { - return $this->_response; - } - - /** - * Set the Response object - * - * @param Zend_Controller_Response_Abstract $response - * @return Zend_Controller_Action - */ - public function setResponse(Zend_Controller_Response_Abstract $response) - { - $this->_response = $response; - return $this; - } - - /** - * Set invocation arguments - * - * @param array $args - * @return Zend_Controller_Action - */ - protected function _setInvokeArgs(array $args = array()) - { - $this->_invokeArgs = $args; - return $this; - } - - /** - * Return the array of constructor arguments (minus the Request object) - * - * @return array - */ - public function getInvokeArgs() - { - return $this->_invokeArgs; - } - - /** - * Return a single invocation argument - * - * @param string $key - * @return mixed - */ - public function getInvokeArg($key) - { - if (isset($this->_invokeArgs[$key])) { - return $this->_invokeArgs[$key]; - } - - return null; - } - - /** - * Get a helper by name - * - * @param string $helperName - * @return Zend_Controller_Action_Helper_Abstract - */ - public function getHelper($helperName) - { - return $this->_helper->{$helperName}; - } - - /** - * Get a clone of a helper by name - * - * @param string $helperName - * @return Zend_Controller_Action_Helper_Abstract - */ - public function getHelperCopy($helperName) - { - return clone $this->_helper->{$helperName}; - } - - /** - * Set the front controller instance - * - * @param Zend_Controller_Front $front - * @return Zend_Controller_Action - */ - public function setFrontController(Zend_Controller_Front $front) - { - $this->_frontController = $front; - return $this; - } - - /** - * Retrieve Front Controller - * - * @return Zend_Controller_Front - */ - public function getFrontController() - { - // Used cache version if found - if (null !== $this->_frontController) { - return $this->_frontController; - } - - // Grab singleton instance, if class has been loaded - if (class_exists('Zend_Controller_Front')) { - $this->_frontController = Zend_Controller_Front::getInstance(); - return $this->_frontController; - } - - // Throw exception in all other cases - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception('Front controller class has not been loaded'); - } - - /** - * Pre-dispatch routines - * - * Called before action method. If using class with - * {@link Zend_Controller_Front}, it may modify the - * {@link $_request Request object} and reset its dispatched flag in order - * to skip processing the current action. - * - * @return void - */ - public function preDispatch() - { - } - - /** - * Post-dispatch routines - * - * Called after action method execution. If using class with - * {@link Zend_Controller_Front}, it may modify the - * {@link $_request Request object} and reset its dispatched flag in order - * to process an additional action. - * - * Common usages for postDispatch() include rendering content in a sitewide - * template, link url correction, setting headers, etc. - * - * @return void - */ - public function postDispatch() - { - } - - /** - * Proxy for undefined methods. Default behavior is to throw an - * exception on undefined methods, however this function can be - * overridden to implement magic (dynamic) actions, or provide run-time - * dispatching. - * - * @param string $methodName - * @param array $args - * @return void - * @throws Zend_Controller_Action_Exception - */ - public function __call($methodName, $args) - { - require_once 'Zend/Controller/Action/Exception.php'; - if ('Action' == substr($methodName, -6)) { - $action = substr($methodName, 0, strlen($methodName) - 6); - throw new Zend_Controller_Action_Exception(sprintf('Action "%s" does not exist and was not trapped in __call()', $action), 404); - } - - throw new Zend_Controller_Action_Exception(sprintf('Method "%s" does not exist and was not trapped in __call()', $methodName), 500); - } - - /** - * Dispatch the requested action - * - * @param string $action Method name of action - * @return void - */ - public function dispatch($action) - { - // Notify helpers of action preDispatch state - $this->_helper->notifyPreDispatch(); - - $this->preDispatch(); - if ($this->getRequest()->isDispatched()) { - if (null === $this->_classMethods) { - $this->_classMethods = get_class_methods($this); - } - - // preDispatch() didn't change the action, so we can continue - if ($this->getInvokeArg('useCaseSensitiveActions') || in_array($action, $this->_classMethods)) { - if ($this->getInvokeArg('useCaseSensitiveActions')) { - trigger_error('Using case sensitive actions without word separators is deprecated; please do not rely on this "feature"'); - } - $this->$action(); - } else { - $this->__call($action, array()); - } - $this->postDispatch(); - } - - // whats actually important here is that this action controller is - // shutting down, regardless of dispatching; notify the helpers of this - // state - $this->_helper->notifyPostDispatch(); - } - - /** - * Call the action specified in the request object, and return a response - * - * Not used in the Action Controller implementation, but left for usage in - * Page Controller implementations. Dispatches a method based on the - * request. - * - * Returns a Zend_Controller_Response_Abstract object, instantiating one - * prior to execution if none exists in the controller. - * - * {@link preDispatch()} is called prior to the action, - * {@link postDispatch()} is called following it. - * - * @param null|Zend_Controller_Request_Abstract $request Optional request - * object to use - * @param null|Zend_Controller_Response_Abstract $response Optional response - * object to use - * @return Zend_Controller_Response_Abstract - */ - public function run(Zend_Controller_Request_Abstract $request = null, Zend_Controller_Response_Abstract $response = null) - { - if (null !== $request) { - $this->setRequest($request); - } else { - $request = $this->getRequest(); - } - - if (null !== $response) { - $this->setResponse($response); - } - - $action = $request->getActionName(); - if (empty($action)) { - $action = 'index'; - } - $action = $action . 'Action'; - - $request->setDispatched(true); - $this->dispatch($action); - - return $this->getResponse(); - } - - /** - * Gets a parameter from the {@link $_request Request object}. If the - * parameter does not exist, NULL will be returned. - * - * If the parameter does not exist and $default is set, then - * $default will be returned instead of NULL. - * - * @param string $paramName - * @param mixed $default - * @return mixed - */ - protected function _getParam($paramName, $default = null) - { - $value = $this->getRequest()->getParam($paramName); - if ((null == $value) && (null !== $default)) { - $value = $default; - } - - return $value; - } - - /** - * Set a parameter in the {@link $_request Request object}. - * - * @param string $paramName - * @param mixed $value - * @return Zend_Controller_Action - */ - protected function _setParam($paramName, $value) - { - $this->getRequest()->setParam($paramName, $value); - - return $this; - } - - /** - * Determine whether a given parameter exists in the - * {@link $_request Request object}. - * - * @param string $paramName - * @return boolean - */ - protected function _hasParam($paramName) - { - return null !== $this->getRequest()->getParam($paramName); - } - - /** - * Return all parameters in the {@link $_request Request object} - * as an associative array. - * - * @return array - */ - protected function _getAllParams() - { - return $this->getRequest()->getParams(); - } - - - /** - * Forward to another controller/action. - * - * It is important to supply the unformatted names, i.e. "article" - * rather than "ArticleController". The dispatcher will do the - * appropriate formatting when the request is received. - * - * If only an action name is provided, forwards to that action in this - * controller. - * - * If an action and controller are specified, forwards to that action and - * controller in this module. - * - * Specifying an action, controller, and module is the most specific way to - * forward. - * - * A fourth argument, $params, will be used to set the request parameters. - * If either the controller or module are unnecessary for forwarding, - * simply pass null values for them before specifying the parameters. - * - * @param string $action - * @param string $controller - * @param string $module - * @param array $params - * @return void - */ - final protected function _forward($action, $controller = null, $module = null, array $params = null) - { - $request = $this->getRequest(); - - if (null !== $params) { - $request->setParams($params); - } - - if (null !== $controller) { - $request->setControllerName($controller); - - // Module should only be reset if controller has been specified - if (null !== $module) { - $request->setModuleName($module); - } - } - - $request->setActionName($action) - ->setDispatched(false); - } - - /** - * Redirect to another URL - * - * Proxies to {@link Zend_Controller_Action_Helper_Redirector::gotoUrl()}. - * - * @param string $url - * @param array $options Options to be used when redirecting - * @return void - */ - protected function _redirect($url, array $options = array()) - { - $this->_helper->redirector->gotoUrl($url, $options); - } -} diff --git a/lib/zend/Zend/Controller/Action/Exception.php b/lib/zend/Zend/Controller/Action/Exception.php deleted file mode 100644 index 386fbe08e9..0000000000 --- a/lib/zend/Zend/Controller/Action/Exception.php +++ /dev/null @@ -1,38 +0,0 @@ -_actionController = $actionController; - return $this; - } - - /** - * Retrieve current action controller - * - * @return Zend_Controller_Action - */ - public function getActionController() - { - return $this->_actionController; - } - - /** - * Retrieve front controller instance - * - * @return Zend_Controller_Front - */ - public function getFrontController() - { - if (null === $this->_frontController) { - $this->_frontController = Zend_Controller_Front::getInstance(); - } - - return $this->_frontController; - } - - /** - * Hook into action controller initialization - * - * @return void - */ - public function init() - { - } - - /** - * Hook into action controller preDispatch() workflow - * - * @return void - */ - public function preDispatch() - { - } - - /** - * Hook into action controller postDispatch() workflow - * - * @return void - */ - public function postDispatch() - { - } - - /** - * getRequest() - - * - * @return Zend_Controller_Request_Abstract $request - */ - public function getRequest() - { - $controller = $this->getActionController(); - if (null === $controller) { - $controller = $this->getFrontController(); - } - - return $controller->getRequest(); - } - - /** - * getResponse() - - * - * @return Zend_Controller_Response_Abstract $response - */ - public function getResponse() - { - $controller = $this->getActionController(); - if (null === $controller) { - $controller = $this->getFrontController(); - } - - return $controller->getResponse(); - } - - /** - * getName() - * - * @return string - */ - public function getName() - { - $full_class_name = get_class($this); - - if (strpos($full_class_name, '_') !== false) { - $helper_name = strrchr($full_class_name, '_'); - return ltrim($helper_name, '_'); - } else { - return $full_class_name; - } - } -} diff --git a/lib/zend/Zend/Controller/Action/Helper/ActionStack.php b/lib/zend/Zend/Controller/Action/Helper/ActionStack.php deleted file mode 100644 index 8edccfdfd7..0000000000 --- a/lib/zend/Zend/Controller/Action/Helper/ActionStack.php +++ /dev/null @@ -1,138 +0,0 @@ -hasPlugin('Zend_Controller_Plugin_ActionStack')) { - /** - * @see Zend_Controller_Plugin_ActionStack - */ - require_once 'Zend/Controller/Plugin/ActionStack.php'; - $this->_actionStack = new Zend_Controller_Plugin_ActionStack(); - $front->registerPlugin($this->_actionStack, 97); - } else { - $this->_actionStack = $front->getPlugin('Zend_Controller_Plugin_ActionStack'); - } - } - - /** - * Push onto the stack - * - * @param Zend_Controller_Request_Abstract $next - * @return Zend_Controller_Action_Helper_ActionStack Provides a fluent interface - */ - public function pushStack(Zend_Controller_Request_Abstract $next) - { - $this->_actionStack->pushStack($next); - return $this; - } - - /** - * Push a new action onto the stack - * - * @param string $action - * @param string $controller - * @param string $module - * @param array $params - * @throws Zend_Controller_Action_Exception - * @return Zend_Controller_Action_Helper_ActionStack - */ - public function actionToStack($action, $controller = null, $module = null, array $params = array()) - { - if ($action instanceof Zend_Controller_Request_Abstract) { - return $this->pushStack($action); - } elseif (!is_string($action)) { - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('ActionStack requires either a request object or minimally a string action'); - } - - $request = $this->getRequest(); - - if ($request instanceof Zend_Controller_Request_Abstract === false){ - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('Request object not set yet'); - } - - $controller = (null === $controller) ? $request->getControllerName() : $controller; - $module = (null === $module) ? $request->getModuleName() : $module; - - /** - * @see Zend_Controller_Request_Simple - */ - require_once 'Zend/Controller/Request/Simple.php'; - $newRequest = new Zend_Controller_Request_Simple($action, $controller, $module, $params); - - return $this->pushStack($newRequest); - } - - /** - * Perform helper when called as $this->_helper->actionStack() from an action controller - * - * Proxies to {@link simple()} - * - * @param string $action - * @param string $controller - * @param string $module - * @param array $params - * @return boolean - */ - public function direct($action, $controller = null, $module = null, array $params = array()) - { - return $this->actionToStack($action, $controller, $module, $params); - } -} diff --git a/lib/zend/Zend/Controller/Action/Helper/AjaxContext.php b/lib/zend/Zend/Controller/Action/Helper/AjaxContext.php deleted file mode 100644 index 06394902f6..0000000000 --- a/lib/zend/Zend/Controller/Action/Helper/AjaxContext.php +++ /dev/null @@ -1,77 +0,0 @@ -addContext('html', array('suffix' => 'ajax')); - } - - /** - * Initialize AJAX context switching - * - * Checks for XHR requests; if detected, attempts to perform context switch. - * - * @param string $format - * @return void - */ - public function initContext($format = null) - { - $this->_currentContext = null; - - if (!$this->getRequest()->isXmlHttpRequest()) { - return; - } - - return parent::initContext($format); - } -} diff --git a/lib/zend/Zend/Controller/Action/Helper/AutoComplete/Abstract.php b/lib/zend/Zend/Controller/Action/Helper/AutoComplete/Abstract.php deleted file mode 100644 index 0306d93b15..0000000000 --- a/lib/zend/Zend/Controller/Action/Helper/AutoComplete/Abstract.php +++ /dev/null @@ -1,149 +0,0 @@ -disableLayout(); - } - - Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->setNoRender(true); - - return $this; - } - - /** - * Encode data to JSON - * - * @param mixed $data - * @param bool $keepLayouts - * @throws Zend_Controller_Action_Exception - * @return string - */ - public function encodeJson($data, $keepLayouts = false) - { - if ($this->validateData($data)) { - return Zend_Controller_Action_HelperBroker::getStaticHelper('Json')->encodeJson($data, $keepLayouts); - } - - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('Invalid data passed for autocompletion'); - } - - /** - * Send autocompletion data - * - * Calls prepareAutoCompletion, populates response body with this - * information, and sends response. - * - * @param mixed $data - * @param bool $keepLayouts - * @return string|void - */ - public function sendAutoCompletion($data, $keepLayouts = false) - { - $data = $this->prepareAutoCompletion($data, $keepLayouts); - - $response = $this->getResponse(); - $response->setBody($data); - - if (!$this->suppressExit) { - $response->sendResponse(); - exit; - } - - return $data; - } - - /** - * Strategy pattern: allow calling helper as broker method - * - * Prepares autocompletion data and, if $sendNow is true, immediately sends - * response. - * - * @param mixed $data - * @param bool $sendNow - * @param bool $keepLayouts - * @return string|void - */ - public function direct($data, $sendNow = true, $keepLayouts = false) - { - if ($sendNow) { - return $this->sendAutoCompletion($data, $keepLayouts); - } - - return $this->prepareAutoCompletion($data, $keepLayouts); - } -} diff --git a/lib/zend/Zend/Controller/Action/Helper/AutoCompleteDojo.php b/lib/zend/Zend/Controller/Action/Helper/AutoCompleteDojo.php deleted file mode 100644 index 447c0b26d7..0000000000 --- a/lib/zend/Zend/Controller/Action/Helper/AutoCompleteDojo.php +++ /dev/null @@ -1,87 +0,0 @@ - $value) { - $items[] = array('label' => $value, 'name' => $value); - } - $data = new Zend_Dojo_Data('name', $items); - } - - if (!$keepLayouts) { - require_once 'Zend/Controller/Action/HelperBroker.php'; - Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->setNoRender(true); - - require_once 'Zend/Layout.php'; - $layout = Zend_Layout::getMvcInstance(); - if ($layout instanceof Zend_Layout) { - $layout->disableLayout(); - } - } - - $response = Zend_Controller_Front::getInstance()->getResponse(); - $response->setHeader('Content-Type', 'application/json'); - - return $data->toJson(); - } -} diff --git a/lib/zend/Zend/Controller/Action/Helper/AutoCompleteScriptaculous.php b/lib/zend/Zend/Controller/Action/Helper/AutoCompleteScriptaculous.php deleted file mode 100644 index 27356577f7..0000000000 --- a/lib/zend/Zend/Controller/Action/Helper/AutoCompleteScriptaculous.php +++ /dev/null @@ -1,82 +0,0 @@ -validateData($data)) { - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('Invalid data passed for autocompletion'); - } - - $data = (array) $data; - $data = '
  • ' . implode('
  • ', $data) . '
'; - - if (!$keepLayouts) { - $this->disableLayouts(); - } - - return $data; - } -} diff --git a/lib/zend/Zend/Controller/Action/Helper/ContextSwitch.php b/lib/zend/Zend/Controller/Action/Helper/ContextSwitch.php deleted file mode 100644 index 239ab3e718..0000000000 --- a/lib/zend/Zend/Controller/Action/Helper/ContextSwitch.php +++ /dev/null @@ -1,1394 +0,0 @@ -setConfig($options); - } elseif (is_array($options)) { - $this->setOptions($options); - } - - if (empty($this->_contexts)) { - $this->addContexts(array( - 'json' => array( - 'suffix' => 'json', - 'headers' => array('Content-Type' => 'application/json'), - 'callbacks' => array( - 'init' => 'initJsonContext', - 'post' => 'postJsonContext' - ) - ), - 'xml' => array( - 'suffix' => 'xml', - 'headers' => array('Content-Type' => 'application/xml'), - ) - )); - } - - $this->init(); - } - - /** - * Initialize at start of action controller - * - * Reset the view script suffix to the original state, or store the - * original state. - * - * @return void - */ - public function init() - { - if (null === $this->_viewSuffixOrig) { - $this->_viewSuffixOrig = $this->_getViewRenderer()->getViewSuffix(); - } else { - $this->_getViewRenderer()->setViewSuffix($this->_viewSuffixOrig); - } - } - - /** - * Configure object from array of options - * - * @param array $options - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function setOptions(array $options) - { - if (isset($options['contexts'])) { - $this->setContexts($options['contexts']); - unset($options['contexts']); - } - - foreach ($options as $key => $value) { - $method = 'set' . ucfirst($key); - if (in_array($method, $this->_unconfigurable)) { - continue; - } - - if (in_array($method, $this->_specialConfig)) { - $method = '_' . $method; - } - - if (method_exists($this, $method)) { - $this->$method($value); - } - } - return $this; - } - - /** - * Set object state from config object - * - * @param Zend_Config $config - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function setConfig(Zend_Config $config) - { - return $this->setOptions($config->toArray()); - } - - /** - * Strategy pattern: return object - * - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function direct() - { - return $this; - } - - /** - * Initialize context detection and switching - * - * @param mixed $format - * @throws Zend_Controller_Action_Exception - * @return void - */ - public function initContext($format = null) - { - $this->_currentContext = null; - - $controller = $this->getActionController(); - $request = $this->getRequest(); - $action = $request->getActionName(); - - // Return if no context switching enabled, or no context switching - // enabled for this action - $contexts = $this->getActionContexts($action); - if (empty($contexts)) { - return; - } - - // Return if no context parameter provided - if (!$context = $request->getParam($this->getContextParam())) { - if ($format === null) { - return; - } - $context = $format; - $format = null; - } - - // Check if context allowed by action controller - if (!$this->hasActionContext($action, $context)) { - return; - } - - // Return if invalid context parameter provided and no format or invalid - // format provided - if (!$this->hasContext($context)) { - if (empty($format) || !$this->hasContext($format)) { - - return; - } - } - - // Use provided format if passed - if (!empty($format) && $this->hasContext($format)) { - $context = $format; - } - - $suffix = $this->getSuffix($context); - - $this->_getViewRenderer()->setViewSuffix($suffix); - - $headers = $this->getHeaders($context); - if (!empty($headers)) { - $response = $this->getResponse(); - foreach ($headers as $header => $content) { - $response->setHeader($header, $content); - } - } - - if ($this->getAutoDisableLayout()) { - /** - * @see Zend_Layout - */ - require_once 'Zend/Layout.php'; - $layout = Zend_Layout::getMvcInstance(); - if (null !== $layout) { - $layout->disableLayout(); - } - } - - if (null !== ($callback = $this->getCallback($context, self::TRIGGER_INIT))) { - if (is_string($callback) && method_exists($this, $callback)) { - $this->$callback(); - } elseif (is_string($callback) && function_exists($callback)) { - $callback(); - } elseif (is_array($callback)) { - call_user_func($callback); - } else { - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception(sprintf('Invalid context callback registered for context "%s"', $context)); - } - } - - $this->_currentContext = $context; - } - - /** - * JSON context extra initialization - * - * Turns off viewRenderer auto-rendering - * - * @return void - */ - public function initJsonContext() - { - if (!$this->getAutoJsonSerialization()) { - return; - } - - $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); - $view = $viewRenderer->view; - if ($view instanceof Zend_View_Interface) { - $viewRenderer->setNoRender(true); - } - } - - /** - * Should JSON contexts auto-serialize? - * - * @param boolean $flag - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function setAutoJsonSerialization($flag) - { - $this->_autoJsonSerialization = (bool) $flag; - return $this; - } - - /** - * Get JSON context auto-serialization flag - * - * @return boolean - */ - public function getAutoJsonSerialization() - { - return $this->_autoJsonSerialization; - } - - /** - * Set suffix from array - * - * @param array $spec - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - protected function _setSuffix(array $spec) - { - foreach ($spec as $context => $suffixInfo) { - if (!is_string($context)) { - $context = null; - } - - if (is_string($suffixInfo)) { - $this->setSuffix($context, $suffixInfo); - continue; - } elseif (is_array($suffixInfo)) { - if (isset($suffixInfo['suffix'])) { - $suffix = $suffixInfo['suffix']; - $prependViewRendererSuffix = true; - - if ((null === $context) && isset($suffixInfo['context'])) { - $context = $suffixInfo['context']; - } - - if (isset($suffixInfo['prependViewRendererSuffix'])) { - $prependViewRendererSuffix = $suffixInfo['prependViewRendererSuffix']; - } - - $this->setSuffix($context, $suffix, $prependViewRendererSuffix); - continue; - } - - $count = count($suffixInfo); - switch (true) { - case (($count < 2) && (null === $context)): - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('Invalid suffix information provided in config'); - case ($count < 2): - $suffix = array_shift($suffixInfo); - $this->setSuffix($context, $suffix); - break; - case (($count < 3) && (null === $context)): - $context = array_shift($suffixInfo); - $suffix = array_shift($suffixInfo); - $this->setSuffix($context, $suffix); - break; - case (($count == 3) && (null === $context)): - $context = array_shift($suffixInfo); - $suffix = array_shift($suffixInfo); - $prependViewRendererSuffix = array_shift($suffixInfo); - $this->setSuffix($context, $suffix, $prependViewRendererSuffix); - break; - case ($count >= 2): - $suffix = array_shift($suffixInfo); - $prependViewRendererSuffix = array_shift($suffixInfo); - $this->setSuffix($context, $suffix, $prependViewRendererSuffix); - break; - } - } - } - return $this; - } - - /** - * Customize view script suffix to use when switching context. - * - * Passing an empty suffix value to the setters disables the view script - * suffix change. - * - * @param string $context Context type for which to set suffix - * @param string $suffix Suffix to use - * @param boolean $prependViewRendererSuffix Whether or not to prepend the new suffix to the viewrenderer suffix - * @throws Zend_Controller_Action_Exception - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function setSuffix($context, $suffix, $prependViewRendererSuffix = true) - { - if (!isset($this->_contexts[$context])) { - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception(sprintf('Cannot set suffix; invalid context type "%s"', $context)); - } - - if (empty($suffix)) { - $suffix = ''; - } - - if (is_array($suffix)) { - if (isset($suffix['prependViewRendererSuffix'])) { - $prependViewRendererSuffix = $suffix['prependViewRendererSuffix']; - } - if (isset($suffix['suffix'])) { - $suffix = $suffix['suffix']; - } else { - $suffix = ''; - } - } - - $suffix = (string) $suffix; - - if ($prependViewRendererSuffix) { - if (empty($suffix)) { - $suffix = $this->_getViewRenderer()->getViewSuffix(); - } else { - $suffix .= '.' . $this->_getViewRenderer()->getViewSuffix(); - } - } - - $this->_contexts[$context]['suffix'] = $suffix; - return $this; - } - - /** - * Retrieve suffix for given context type - * - * @param string $type Context type - * @throws Zend_Controller_Action_Exception - * @return string - */ - public function getSuffix($type) - { - if (!isset($this->_contexts[$type])) { - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception(sprintf('Cannot retrieve suffix; invalid context type "%s"', $type)); - } - - return $this->_contexts[$type]['suffix']; - } - - /** - * Does the given context exist? - * - * @param string $context - * @param boolean $throwException - * @throws Zend_Controller_Action_Exception if context does not exist and throwException is true - * @return bool - */ - public function hasContext($context, $throwException = false) - { - if (is_string($context)) { - if (isset($this->_contexts[$context])) { - return true; - } - } elseif (is_array($context)) { - $error = false; - foreach ($context as $test) { - if (!isset($this->_contexts[$test])) { - $error = (string) $test; - break; - } - } - if (false === $error) { - return true; - } - $context = $error; - } elseif (true === $context) { - return true; - } - - if ($throwException) { - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception(sprintf('Context "%s" does not exist', $context)); - } - - return false; - } - - /** - * Add header to context - * - * @param string $context - * @param string $header - * @param string $content - * @throws Zend_Controller_Action_Exception - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function addHeader($context, $header, $content) - { - $context = (string) $context; - $this->hasContext($context, true); - - $header = (string) $header; - $content = (string) $content; - - if (isset($this->_contexts[$context]['headers'][$header])) { - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception(sprintf('Cannot add "%s" header to context "%s": already exists', $header, $context)); - } - - $this->_contexts[$context]['headers'][$header] = $content; - return $this; - } - - /** - * Customize response header to use when switching context - * - * Passing an empty header value to the setters disables the response - * header. - * - * @param string $type Context type for which to set suffix - * @param string $header Header to set - * @param string $content Header content - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function setHeader($context, $header, $content) - { - $this->hasContext($context, true); - $context = (string) $context; - $header = (string) $header; - $content = (string) $content; - - $this->_contexts[$context]['headers'][$header] = $content; - return $this; - } - - /** - * Add multiple headers at once for a given context - * - * @param string $context - * @param array $headers - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function addHeaders($context, array $headers) - { - foreach ($headers as $header => $content) { - $this->addHeader($context, $header, $content); - } - - return $this; - } - - /** - * Set headers from context => headers pairs - * - * @param array $options - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - protected function _setHeaders(array $options) - { - foreach ($options as $context => $headers) { - if (!is_array($headers)) { - continue; - } - $this->setHeaders($context, $headers); - } - - return $this; - } - - /** - * Set multiple headers at once for a given context - * - * @param string $context - * @param array $headers - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function setHeaders($context, array $headers) - { - $this->clearHeaders($context); - foreach ($headers as $header => $content) { - $this->setHeader($context, $header, $content); - } - - return $this; - } - - /** - * Retrieve context header - * - * Returns the value of a given header for a given context type - * - * @param string $context - * @param string $header - * @return string|null - */ - public function getHeader($context, $header) - { - $this->hasContext($context, true); - $context = (string) $context; - $header = (string) $header; - if (isset($this->_contexts[$context]['headers'][$header])) { - return $this->_contexts[$context]['headers'][$header]; - } - - return null; - } - - /** - * Retrieve context headers - * - * Returns all headers for a context as key/value pairs - * - * @param string $context - * @return array - */ - public function getHeaders($context) - { - $this->hasContext($context, true); - $context = (string) $context; - return $this->_contexts[$context]['headers']; - } - - /** - * Remove a single header from a context - * - * @param string $context - * @param string $header - * @return boolean - */ - public function removeHeader($context, $header) - { - $this->hasContext($context, true); - $context = (string) $context; - $header = (string) $header; - if (isset($this->_contexts[$context]['headers'][$header])) { - unset($this->_contexts[$context]['headers'][$header]); - return true; - } - - return false; - } - - /** - * Clear all headers for a given context - * - * @param string $context - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function clearHeaders($context) - { - $this->hasContext($context, true); - $context = (string) $context; - $this->_contexts[$context]['headers'] = array(); - return $this; - } - - /** - * Validate trigger and return in normalized form - * - * @param string $trigger - * @throws Zend_Controller_Action_Exception - * @return string - */ - protected function _validateTrigger($trigger) - { - $trigger = strtoupper($trigger); - if ('TRIGGER_' !== substr($trigger, 0, 8)) { - $trigger = 'TRIGGER_' . $trigger; - } - - if (!in_array($trigger, array(self::TRIGGER_INIT, self::TRIGGER_POST))) { - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception(sprintf('Invalid trigger "%s"', $trigger)); - } - - return $trigger; - } - - /** - * Set a callback for a given context and trigger - * - * @param string $context - * @param string $trigger - * @param string|array $callback - * @throws Zend_Controller_Action_Exception - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function setCallback($context, $trigger, $callback) - { - $this->hasContext($context, true); - $trigger = $this->_validateTrigger($trigger); - - if (!is_string($callback)) { - if (!is_array($callback) || (2 != count($callback))) { - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('Invalid callback specified'); - } - } - - $this->_contexts[$context]['callbacks'][$trigger] = $callback; - return $this; - } - - /** - * Set callbacks from array of context => callbacks pairs - * - * @param array $options - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - protected function _setCallbacks(array $options) - { - foreach ($options as $context => $callbacks) { - if (!is_array($callbacks)) { - continue; - } - - $this->setCallbacks($context, $callbacks); - } - return $this; - } - - /** - * Set callbacks for a given context - * - * Callbacks should be in trigger/callback pairs. - * - * @param string $context - * @param array $callbacks - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function setCallbacks($context, array $callbacks) - { - $this->hasContext($context, true); - $context = (string) $context; - if (!isset($this->_contexts[$context]['callbacks'])) { - $this->_contexts[$context]['callbacks'] = array(); - } - - foreach ($callbacks as $trigger => $callback) { - $this->setCallback($context, $trigger, $callback); - } - return $this; - } - - /** - * Get a single callback for a given context and trigger - * - * @param string $context - * @param string $trigger - * @return string|array|null - */ - public function getCallback($context, $trigger) - { - $this->hasContext($context, true); - $trigger = $this->_validateTrigger($trigger); - if (isset($this->_contexts[$context]['callbacks'][$trigger])) { - return $this->_contexts[$context]['callbacks'][$trigger]; - } - - return null; - } - - /** - * Get all callbacks for a given context - * - * @param string $context - * @return array - */ - public function getCallbacks($context) - { - $this->hasContext($context, true); - return $this->_contexts[$context]['callbacks']; - } - - /** - * Clear a callback for a given context and trigger - * - * @param string $context - * @param string $trigger - * @return boolean - */ - public function removeCallback($context, $trigger) - { - $this->hasContext($context, true); - $trigger = $this->_validateTrigger($trigger); - if (isset($this->_contexts[$context]['callbacks'][$trigger])) { - unset($this->_contexts[$context]['callbacks'][$trigger]); - return true; - } - - return false; - } - - /** - * Clear all callbacks for a given context - * - * @param string $context - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function clearCallbacks($context) - { - $this->hasContext($context, true); - $this->_contexts[$context]['callbacks'] = array(); - return $this; - } - - /** - * Set name of parameter to use when determining context format - * - * @param string $name - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function setContextParam($name) - { - $this->_contextParam = (string) $name; - return $this; - } - - /** - * Return context format request parameter name - * - * @return string - */ - public function getContextParam() - { - return $this->_contextParam; - } - - /** - * Indicate default context to use when no context format provided - * - * @param string $type - * @throws Zend_Controller_Action_Exception - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function setDefaultContext($type) - { - if (!isset($this->_contexts[$type])) { - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception(sprintf('Cannot set default context; invalid context type "%s"', $type)); - } - - $this->_defaultContext = $type; - return $this; - } - - /** - * Return default context - * - * @return string - */ - public function getDefaultContext() - { - return $this->_defaultContext; - } - - /** - * Set flag indicating if layout should be disabled - * - * @param boolean $flag - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function setAutoDisableLayout($flag) - { - $this->_disableLayout = ($flag) ? true : false; - return $this; - } - - /** - * Retrieve auto layout disable flag - * - * @return boolean - */ - public function getAutoDisableLayout() - { - return $this->_disableLayout; - } - - /** - * Add new context - * - * @param string $context Context type - * @param array $spec Context specification - * @throws Zend_Controller_Action_Exception - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function addContext($context, array $spec) - { - if ($this->hasContext($context)) { - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception(sprintf('Cannot add context "%s"; already exists', $context)); - } - $context = (string) $context; - - $this->_contexts[$context] = array(); - - $this->setSuffix($context, (isset($spec['suffix']) ? $spec['suffix'] : '')) - ->setHeaders($context, (isset($spec['headers']) ? $spec['headers'] : array())) - ->setCallbacks($context, (isset($spec['callbacks']) ? $spec['callbacks'] : array())); - return $this; - } - - /** - * Overwrite existing context - * - * @param string $context Context type - * @param array $spec Context specification - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function setContext($context, array $spec) - { - $this->removeContext($context); - return $this->addContext($context, $spec); - } - - /** - * Add multiple contexts - * - * @param array $contexts - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function addContexts(array $contexts) - { - foreach ($contexts as $context => $spec) { - $this->addContext($context, $spec); - } - return $this; - } - - /** - * Set multiple contexts, after first removing all - * - * @param array $contexts - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function setContexts(array $contexts) - { - $this->clearContexts(); - foreach ($contexts as $context => $spec) { - $this->addContext($context, $spec); - } - return $this; - } - - /** - * Retrieve context specification - * - * @param string $context - * @return array|null - */ - public function getContext($context) - { - if ($this->hasContext($context)) { - return $this->_contexts[(string) $context]; - } - return null; - } - - /** - * Retrieve context definitions - * - * @return array - */ - public function getContexts() - { - return $this->_contexts; - } - - /** - * Remove a context - * - * @param string $context - * @return boolean - */ - public function removeContext($context) - { - if ($this->hasContext($context)) { - unset($this->_contexts[(string) $context]); - return true; - } - return false; - } - - /** - * Remove all contexts - * - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function clearContexts() - { - $this->_contexts = array(); - return $this; - } - - /** - * Return current context, if any - * - * @return null|string - */ - public function getCurrentContext() - { - return $this->_currentContext; - } - - /** - * Post dispatch processing - * - * Execute postDispatch callback for current context, if available - * - * @throws Zend_Controller_Action_Exception - * @return void - */ - public function postDispatch() - { - $context = $this->getCurrentContext(); - if (null !== $context) { - if (null !== ($callback = $this->getCallback($context, self::TRIGGER_POST))) { - if (is_string($callback) && method_exists($this, $callback)) { - $this->$callback(); - } elseif (is_string($callback) && function_exists($callback)) { - $callback(); - } elseif (is_array($callback)) { - call_user_func($callback); - } else { - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception(sprintf('Invalid postDispatch context callback registered for context "%s"', $context)); - } - } - } - } - - /** - * JSON post processing - * - * JSON serialize view variables to response body - * - * @return void - */ - public function postJsonContext() - { - if (!$this->getAutoJsonSerialization()) { - return; - } - - $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); - $view = $viewRenderer->view; - if ($view instanceof Zend_View_Interface) { - /** - * @see Zend_Json - */ - if(method_exists($view, 'getVars')) { - require_once 'Zend/Json.php'; - $vars = Zend_Json::encode($view->getVars()); - $this->getResponse()->setBody($vars); - } else { - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('View does not implement the getVars() method needed to encode the view into JSON'); - } - } - } - - /** - * Add one or more contexts to an action - * - * @param string $action - * @param string|array $context - * @return Zend_Controller_Action_Helper_ContextSwitch|void Provides a fluent interface - */ - public function addActionContext($action, $context) - { - $this->hasContext($context, true); - $controller = $this->getActionController(); - if (null === $controller) { - return; - } - $action = (string) $action; - $contextKey = $this->_contextKey; - - if (!isset($controller->$contextKey)) { - $controller->$contextKey = array(); - } - - if (true === $context) { - $contexts = $this->getContexts(); - $controller->{$contextKey}[$action] = array_keys($contexts); - return $this; - } - - $context = (array) $context; - if (!isset($controller->{$contextKey}[$action])) { - $controller->{$contextKey}[$action] = $context; - } else { - $controller->{$contextKey}[$action] = array_merge( - $controller->{$contextKey}[$action], - $context - ); - } - - return $this; - } - - /** - * Set a context as available for a given controller action - * - * @param string $action - * @param string|array $context - * @return Zend_Controller_Action_Helper_ContextSwitch|void Provides a fluent interface - */ - public function setActionContext($action, $context) - { - $this->hasContext($context, true); - $controller = $this->getActionController(); - if (null === $controller) { - return; - } - $action = (string) $action; - $contextKey = $this->_contextKey; - - if (!isset($controller->$contextKey)) { - $controller->$contextKey = array(); - } - - if (true === $context) { - $contexts = $this->getContexts(); - $controller->{$contextKey}[$action] = array_keys($contexts); - } else { - $controller->{$contextKey}[$action] = (array) $context; - } - - return $this; - } - - /** - * Add multiple action/context pairs at once - * - * @param array $contexts - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function addActionContexts(array $contexts) - { - foreach ($contexts as $action => $context) { - $this->addActionContext($action, $context); - } - return $this; - } - - /** - * Overwrite and set multiple action contexts at once - * - * @param array $contexts - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function setActionContexts(array $contexts) - { - foreach ($contexts as $action => $context) { - $this->setActionContext($action, $context); - } - return $this; - } - - /** - * Does a particular controller action have the given context(s)? - * - * @param string $action - * @param string|array $context - * @throws Zend_Controller_Action_Exception - * @return boolean - */ - public function hasActionContext($action, $context) - { - $this->hasContext($context, true); - $controller = $this->getActionController(); - if (null === $controller) { - return false; - } - $action = (string) $action; - $contextKey = $this->_contextKey; - - if (!isset($controller->{$contextKey})) { - return false; - } - - $allContexts = $controller->{$contextKey}; - - if (!is_array($allContexts)) { - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception("Invalid contexts found for controller"); - } - - if (!isset($allContexts[$action])) { - return false; - } - - if (true === $allContexts[$action]) { - return true; - } - - $contexts = $allContexts[$action]; - - if (!is_array($contexts)) { - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception(sprintf("Invalid contexts found for action '%s'", $action)); - } - - if (is_string($context) && in_array($context, $contexts)) { - return true; - } elseif (is_array($context)) { - $found = true; - foreach ($context as $test) { - if (!in_array($test, $contexts)) { - $found = false; - break; - } - } - return $found; - } - - return false; - } - - /** - * Get contexts for a given action or all actions in the controller - * - * @param string $action - * @return array - */ - public function getActionContexts($action = null) - { - $controller = $this->getActionController(); - if (null === $controller) { - return array(); - } - $action = (string) $action; - $contextKey = $this->_contextKey; - - if (!isset($controller->$contextKey)) { - return array(); - } - - if (null !== $action) { - if (isset($controller->{$contextKey}[$action])) { - return $controller->{$contextKey}[$action]; - } else { - return array(); - } - } - - return $controller->$contextKey; - } - - /** - * Remove one or more contexts for a given controller action - * - * @param string $action - * @param string|array $context - * @return boolean - */ - public function removeActionContext($action, $context) - { - if ($this->hasActionContext($action, $context)) { - $controller = $this->getActionController(); - $contextKey = $this->_contextKey; - $action = (string) $action; - $contexts = $controller->$contextKey; - $actionContexts = $contexts[$action]; - $contexts = (array) $context; - foreach ($contexts as $context) { - $index = array_search($context, $actionContexts); - if (false !== $index) { - unset($controller->{$contextKey}[$action][$index]); - } - } - return true; - } - return false; - } - - /** - * Clear all contexts for a given controller action or all actions - * - * @param string $action - * @return Zend_Controller_Action_Helper_ContextSwitch Provides a fluent interface - */ - public function clearActionContexts($action = null) - { - $controller = $this->getActionController(); - $contextKey = $this->_contextKey; - - if (!isset($controller->$contextKey) || empty($controller->$contextKey)) { - return $this; - } - - if (null === $action) { - $controller->$contextKey = array(); - return $this; - } - - $action = (string) $action; - if (isset($controller->{$contextKey}[$action])) { - unset($controller->{$contextKey}[$action]); - } - - return $this; - } - - /** - * Retrieve ViewRenderer - * - * @return Zend_Controller_Action_Helper_ViewRenderer Provides a fluent interface - */ - protected function _getViewRenderer() - { - if (null === $this->_viewRenderer) { - $this->_viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); - } - - return $this->_viewRenderer; - } -} - diff --git a/lib/zend/Zend/Controller/Action/Helper/FlashMessenger.php b/lib/zend/Zend/Controller/Action/Helper/FlashMessenger.php deleted file mode 100644 index 45b38a5038..0000000000 --- a/lib/zend/Zend/Controller/Action/Helper/FlashMessenger.php +++ /dev/null @@ -1,266 +0,0 @@ -getName()); - foreach (self::$_session as $namespace => $messages) { - self::$_messages[$namespace] = $messages; - unset(self::$_session->{$namespace}); - } - } - } - - /** - * postDispatch() - runs after action is dispatched, in this - * case, it is resetting the namespace in case we have forwarded to a different - * action, Flashmessage will be 'clean' (default namespace) - * - * @return Zend_Controller_Action_Helper_FlashMessenger Provides a fluent interface - */ - public function postDispatch() - { - $this->resetNamespace(); - return $this; - } - - /** - * setNamespace() - change the namespace messages are added to, useful for - * per action controller messaging between requests - * - * @param string $namespace - * @return Zend_Controller_Action_Helper_FlashMessenger Provides a fluent interface - */ - public function setNamespace($namespace = 'default') - { - $this->_namespace = $namespace; - return $this; - } - - /** - * resetNamespace() - reset the namespace to the default - * - * @return Zend_Controller_Action_Helper_FlashMessenger Provides a fluent interface - */ - public function resetNamespace() - { - $this->setNamespace(); - return $this; - } - - /** - * addMessage() - Add a message to flash message - * - * @param string $message - * @return Zend_Controller_Action_Helper_FlashMessenger Provides a fluent interface - */ - public function addMessage($message) - { - if (self::$_messageAdded === false) { - self::$_session->setExpirationHops(1, null, true); - } - - if (!is_array(self::$_session->{$this->_namespace})) { - self::$_session->{$this->_namespace} = array(); - } - - self::$_session->{$this->_namespace}[] = $message; - - return $this; - } - - /** - * hasMessages() - Wether a specific namespace has messages - * - * @return boolean - */ - public function hasMessages() - { - return isset(self::$_messages[$this->_namespace]); - } - - /** - * getMessages() - Get messages from a specific namespace - * - * @return array - */ - public function getMessages() - { - if ($this->hasMessages()) { - return self::$_messages[$this->_namespace]; - } - - return array(); - } - - /** - * Clear all messages from the previous request & current namespace - * - * @return boolean True if messages were cleared, false if none existed - */ - public function clearMessages() - { - if ($this->hasMessages()) { - unset(self::$_messages[$this->_namespace]); - return true; - } - - return false; - } - - /** - * hasCurrentMessages() - check to see if messages have been added to current - * namespace within this request - * - * @return boolean - */ - public function hasCurrentMessages() - { - return isset(self::$_session->{$this->_namespace}); - } - - /** - * getCurrentMessages() - get messages that have been added to the current - * namespace within this request - * - * @return array - */ - public function getCurrentMessages() - { - if ($this->hasCurrentMessages()) { - return self::$_session->{$this->_namespace}; - } - - return array(); - } - - /** - * clear messages from the current request & current namespace - * - * @return boolean - */ - public function clearCurrentMessages() - { - if ($this->hasCurrentMessages()) { - unset(self::$_session->{$this->_namespace}); - return true; - } - - return false; - } - - /** - * getIterator() - complete the IteratorAggregate interface, for iterating - * - * @return ArrayObject - */ - public function getIterator() - { - if ($this->hasMessages()) { - return new ArrayObject($this->getMessages()); - } - - return new ArrayObject(); - } - - /** - * count() - Complete the countable interface - * - * @return int - */ - public function count() - { - if ($this->hasMessages()) { - return count($this->getMessages()); - } - - return 0; - } - - /** - * Strategy pattern: proxy to addMessage() - * - * @param string $message - * @return void - */ - public function direct($message) - { - return $this->addMessage($message); - } -} diff --git a/lib/zend/Zend/Controller/Action/Helper/Json.php b/lib/zend/Zend/Controller/Action/Helper/Json.php deleted file mode 100644 index 58834dbdc3..0000000000 --- a/lib/zend/Zend/Controller/Action/Helper/Json.php +++ /dev/null @@ -1,130 +0,0 @@ -true|false - * if $keepLayouts and parmas for Zend_Json::encode are required - * then, the array can contains a 'keepLayout'=>true|false - * that will not be passed to Zend_Json::encode method but will be passed - * to Zend_View_Helper_Json - * @throws Zend_Controller_Action_Helper_Json - * @return string - */ - public function encodeJson($data, $keepLayouts = false) - { - /** - * @see Zend_View_Helper_Json - */ - require_once 'Zend/View/Helper/Json.php'; - $jsonHelper = new Zend_View_Helper_Json(); - $data = $jsonHelper->json($data, $keepLayouts); - - if (!$keepLayouts) { - /** - * @see Zend_Controller_Action_HelperBroker - */ - require_once 'Zend/Controller/Action/HelperBroker.php'; - Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->setNoRender(true); - } - - return $data; - } - - /** - * Encode JSON response and immediately send - * - * @param mixed $data - * @param boolean|array $keepLayouts - * NOTE: if boolean, establish $keepLayouts to true|false - * if array, admit params for Zend_Json::encode as enableJsonExprFinder=>true|false - * if $keepLayouts and parmas for Zend_Json::encode are required - * then, the array can contains a 'keepLayout'=>true|false - * that will not be passed to Zend_Json::encode method but will be passed - * to Zend_View_Helper_Json - * @return string|void - */ - public function sendJson($data, $keepLayouts = false) - { - $data = $this->encodeJson($data, $keepLayouts); - $response = $this->getResponse(); - $response->setBody($data); - - if (!$this->suppressExit) { - $response->sendResponse(); - exit; - } - - return $data; - } - - /** - * Strategy pattern: call helper as helper broker method - * - * Allows encoding JSON. If $sendNow is true, immediately sends JSON - * response. - * - * @param mixed $data - * @param boolean $sendNow - * @param boolean $keepLayouts - * @return string|void - */ - public function direct($data, $sendNow = true, $keepLayouts = false) - { - if ($sendNow) { - return $this->sendJson($data, $keepLayouts); - } - return $this->encodeJson($data, $keepLayouts); - } -} diff --git a/lib/zend/Zend/Controller/Action/Helper/Redirector.php b/lib/zend/Zend/Controller/Action/Helper/Redirector.php deleted file mode 100644 index a7bdfa3f04..0000000000 --- a/lib/zend/Zend/Controller/Action/Helper/Redirector.php +++ /dev/null @@ -1,531 +0,0 @@ -_code; - } - - /** - * Validate HTTP status redirect code - * - * @param int $code - * @throws Zend_Controller_Action_Exception on invalid HTTP status code - * @return true - */ - protected function _checkCode($code) - { - $code = (int)$code; - if ((300 > $code) || (307 < $code) || (304 == $code) || (306 == $code)) { - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('Invalid redirect HTTP status code (' . $code . ')'); - } - - return true; - } - - /** - * Retrieve HTTP status code for {@link _redirect()} behaviour - * - * @param int $code - * @return Zend_Controller_Action_Helper_Redirector Provides a fluent interface - */ - public function setCode($code) - { - $this->_checkCode($code); - $this->_code = $code; - return $this; - } - - /** - * Retrieve flag for whether or not {@link _redirect()} will exit when finished. - * - * @return boolean - */ - public function getExit() - { - return $this->_exit; - } - - /** - * Retrieve exit flag for {@link _redirect()} behaviour - * - * @param boolean $flag - * @return Zend_Controller_Action_Helper_Redirector Provides a fluent interface - */ - public function setExit($flag) - { - $this->_exit = ($flag) ? true : false; - return $this; - } - - /** - * Retrieve flag for whether or not {@link _redirect()} will prepend the - * base URL on relative URLs - * - * @return boolean - */ - public function getPrependBase() - { - return $this->_prependBase; - } - - /** - * Retrieve 'prepend base' flag for {@link _redirect()} behaviour - * - * @param boolean $flag - * @return Zend_Controller_Action_Helper_Redirector Provides a fluent interface - */ - public function setPrependBase($flag) - { - $this->_prependBase = ($flag) ? true : false; - return $this; - } - - /** - * Retrieve flag for whether or not {@link redirectAndExit()} shall close the session before - * exiting. - * - * @return boolean - */ - public function getCloseSessionOnExit() - { - return $this->_closeSessionOnExit; - } - - /** - * Set flag for whether or not {@link redirectAndExit()} shall close the session before exiting. - * - * @param boolean $flag - * @return Zend_Controller_Action_Helper_Redirector Provides a fluent interface - */ - public function setCloseSessionOnExit($flag) - { - $this->_closeSessionOnExit = ($flag) ? true : false; - return $this; - } - - /** - * Return use absolute URI flag - * - * @return boolean - */ - public function getUseAbsoluteUri() - { - return $this->_useAbsoluteUri; - } - - /** - * Set use absolute URI flag - * - * @param boolean $flag - * @return Zend_Controller_Action_Helper_Redirector Provides a fluent interface - */ - public function setUseAbsoluteUri($flag = true) - { - $this->_useAbsoluteUri = ($flag) ? true : false; - return $this; - } - - /** - * Set redirect in response object - * - * @return void - */ - protected function _redirect($url) - { - if ($this->getUseAbsoluteUri() && !preg_match('#^(https?|ftp)://#', $url)) { - $host = (isset($_SERVER['HTTP_HOST'])?$_SERVER['HTTP_HOST']:''); - $proto = (isset($_SERVER['HTTPS'])&&$_SERVER['HTTPS']!=="off") ? 'https' : 'http'; - $port = (isset($_SERVER['SERVER_PORT'])?$_SERVER['SERVER_PORT']:80); - $uri = $proto . '://' . $host; - if ((('http' == $proto) && (80 != $port)) || (('https' == $proto) && (443 != $port))) { - $uri .= ':' . $port; - } - $url = $uri . '/' . ltrim($url, '/'); - } - $this->_redirectUrl = $url; - $this->getResponse()->setRedirect($url, $this->getCode()); - } - - /** - * Retrieve currently set URL for redirect - * - * @return string - */ - public function getRedirectUrl() - { - return $this->_redirectUrl; - } - - /** - * Determine if the baseUrl should be prepended, and prepend if necessary - * - * @param string $url - * @return string - */ - protected function _prependBase($url) - { - if ($this->getPrependBase()) { - $request = $this->getRequest(); - if ($request instanceof Zend_Controller_Request_Http) { - $base = rtrim($request->getBaseUrl(), '/'); - if (!empty($base) && ('/' != $base)) { - $url = $base . '/' . ltrim($url, '/'); - } else { - $url = '/' . ltrim($url, '/'); - } - } - } - - return $url; - } - - /** - * Set a redirect URL of the form /module/controller/action/params - * - * @param string $action - * @param string $controller - * @param string $module - * @param array $params - * @return void - */ - public function setGotoSimple($action, $controller = null, $module = null, array $params = array()) - { - $dispatcher = $this->getFrontController()->getDispatcher(); - $request = $this->getRequest(); - $curModule = $request->getModuleName(); - $useDefaultController = false; - - if (null === $controller && null !== $module) { - $useDefaultController = true; - } - - if (null === $module) { - $module = $curModule; - } - - if ($module == $dispatcher->getDefaultModule()) { - $module = ''; - } - - if (null === $controller && !$useDefaultController) { - $controller = $request->getControllerName(); - if (empty($controller)) { - $controller = $dispatcher->getDefaultControllerName(); - } - } - - $params['module'] = $module; - $params['controller'] = $controller; - $params['action'] = $action; - - $router = $this->getFrontController()->getRouter(); - $url = $router->assemble($params, 'default', true); - - $this->_redirect($url); - } - - /** - * Build a URL based on a route - * - * @param array $urlOptions - * @param string $name Route name - * @param boolean $reset - * @param boolean $encode - * @return void - */ - public function setGotoRoute(array $urlOptions = array(), $name = null, $reset = false, $encode = true) - { - $router = $this->getFrontController()->getRouter(); - $url = $router->assemble($urlOptions, $name, $reset, $encode); - - $this->_redirect($url); - } - - /** - * Set a redirect URL string - * - * By default, emits a 302 HTTP status header, prepends base URL as defined - * in request object if url is relative, and halts script execution by - * calling exit(). - * - * $options is an optional associative array that can be used to control - * redirect behaviour. The available option keys are: - * - exit: boolean flag indicating whether or not to halt script execution when done - * - prependBase: boolean flag indicating whether or not to prepend the base URL when a relative URL is provided - * - code: integer HTTP status code to use with redirect. Should be between 300 and 307. - * - * _redirect() sets the Location header in the response object. If you set - * the exit flag to false, you can override this header later in code - * execution. - * - * If the exit flag is true (true by default), _redirect() will write and - * close the current session, if any. - * - * @param string $url - * @param array $options - * @return void - */ - public function setGotoUrl($url, array $options = array()) - { - // prevent header injections - $url = str_replace(array("\n", "\r"), '', $url); - - if (null !== $options) { - if (isset($options['exit'])) { - $this->setExit(($options['exit']) ? true : false); - } - if (isset($options['prependBase'])) { - $this->setPrependBase(($options['prependBase']) ? true : false); - } - if (isset($options['code'])) { - $this->setCode($options['code']); - } - } - - // If relative URL, decide if we should prepend base URL - if (!preg_match('|^[a-z]+://|', $url)) { - $url = $this->_prependBase($url); - } - - $this->_redirect($url); - } - - /** - * Perform a redirect to an action/controller/module with params - * - * @param string $action - * @param string $controller - * @param string $module - * @param array $params - * @return void - */ - public function gotoSimple($action, $controller = null, $module = null, array $params = array()) - { - $this->setGotoSimple($action, $controller, $module, $params); - - if ($this->getExit()) { - $this->redirectAndExit(); - } - } - - /** - * Perform a redirect to an action/controller/module with params, forcing an immdiate exit - * - * @param mixed $action - * @param mixed $controller - * @param mixed $module - * @param array $params - * @return void - */ - public function gotoSimpleAndExit($action, $controller = null, $module = null, array $params = array()) - { - $this->setGotoSimple($action, $controller, $module, $params); - $this->redirectAndExit(); - } - - /** - * Redirect to a route-based URL - * - * Uses route's assemble method tobuild the URL; route is specified by $name; - * default route is used if none provided. - * - * @param array $urlOptions Array of key/value pairs used to assemble URL - * @param string $name - * @param boolean $reset - * @param boolean $encode - * @return void - */ - public function gotoRoute(array $urlOptions = array(), $name = null, $reset = false, $encode = true) - { - $this->setGotoRoute($urlOptions, $name, $reset, $encode); - - if ($this->getExit()) { - $this->redirectAndExit(); - } - } - - /** - * Redirect to a route-based URL, and immediately exit - * - * Uses route's assemble method tobuild the URL; route is specified by $name; - * default route is used if none provided. - * - * @param array $urlOptions Array of key/value pairs used to assemble URL - * @param string $name - * @param boolean $reset - * @return void - */ - public function gotoRouteAndExit(array $urlOptions = array(), $name = null, $reset = false) - { - $this->setGotoRoute($urlOptions, $name, $reset); - $this->redirectAndExit(); - } - - /** - * Perform a redirect to a url - * - * @param string $url - * @param array $options - * @return void - */ - public function gotoUrl($url, array $options = array()) - { - $this->setGotoUrl($url, $options); - - if ($this->getExit()) { - $this->redirectAndExit(); - } - } - - /** - * Set a URL string for a redirect, perform redirect, and immediately exit - * - * @param string $url - * @param array $options - * @return void - */ - public function gotoUrlAndExit($url, array $options = array()) - { - $this->gotoUrl($url, $options); - $this->redirectAndExit(); - } - - /** - * exit(): Perform exit for redirector - * - * @return void - */ - public function redirectAndExit() - { - if ($this->getCloseSessionOnExit()) { - // Close session, if started - if (class_exists('Zend_Session', false) && Zend_Session::isStarted()) { - Zend_Session::writeClose(); - } elseif (isset($_SESSION)) { - session_write_close(); - } - } - - $this->getResponse()->sendHeaders(); - exit(); - } - - /** - * direct(): Perform helper when called as - * $this->_helper->redirector($action, $controller, $module, $params) - * - * @param string $action - * @param string $controller - * @param string $module - * @param array $params - * @return void - */ - public function direct($action, $controller = null, $module = null, array $params = array()) - { - $this->gotoSimple($action, $controller, $module, $params); - } - - /** - * Overloading - * - * Overloading for old 'goto', 'setGoto', and 'gotoAndExit' methods - * - * @param string $method - * @param array $args - * @return mixed - * @throws Zend_Controller_Action_Exception for invalid methods - */ - public function __call($method, $args) - { - $method = strtolower($method); - if ('goto' == $method) { - return call_user_func_array(array($this, 'gotoSimple'), $args); - } - if ('setgoto' == $method) { - return call_user_func_array(array($this, 'setGotoSimple'), $args); - } - if ('gotoandexit' == $method) { - return call_user_func_array(array($this, 'gotoSimpleAndExit'), $args); - } - - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception(sprintf('Invalid method "%s" called on redirector', $method)); - } -} diff --git a/lib/zend/Zend/Controller/Action/Helper/Url.php b/lib/zend/Zend/Controller/Action/Helper/Url.php deleted file mode 100644 index 21f11a0f37..0000000000 --- a/lib/zend/Zend/Controller/Action/Helper/Url.php +++ /dev/null @@ -1,117 +0,0 @@ -getRequest(); - - if (null === $controller) { - $controller = $request->getControllerName(); - } - - if (null === $module) { - $module = $request->getModuleName(); - } - - $url = $controller . '/' . $action; - if ($module != $this->getFrontController()->getDispatcher()->getDefaultModule()) { - $url = $module . '/' . $url; - } - - if ('' !== ($baseUrl = $this->getFrontController()->getBaseUrl())) { - $url = $baseUrl . '/' . $url; - } - - if (null !== $params) { - $paramPairs = array(); - foreach ($params as $key => $value) { - $paramPairs[] = urlencode($key) . '/' . urlencode($value); - } - $paramString = implode('/', $paramPairs); - $url .= '/' . $paramString; - } - - $url = '/' . ltrim($url, '/'); - - return $url; - } - - /** - * Assembles a URL based on a given route - * - * This method will typically be used for more complex operations, as it - * ties into the route objects registered with the router. - * - * @param array $urlOptions Options passed to the assemble method of the Route object. - * @param mixed $name The name of a Route to use. If null it will use the current Route - * @param boolean $reset - * @param boolean $encode - * @return string Url for the link href attribute. - */ - public function url($urlOptions = array(), $name = null, $reset = false, $encode = true) - { - $router = $this->getFrontController()->getRouter(); - return $router->assemble($urlOptions, $name, $reset, $encode); - } - - /** - * Perform helper when called as $this->_helper->url() from an action controller - * - * Proxies to {@link simple()} - * - * @param string $action - * @param string $controller - * @param string $module - * @param array $params - * @return string - */ - public function direct($action, $controller = null, $module = null, array $params = null) - { - return $this->simple($action, $controller, $module, $params); - } -} diff --git a/lib/zend/Zend/Controller/Action/Helper/ViewRenderer.php b/lib/zend/Zend/Controller/Action/Helper/ViewRenderer.php deleted file mode 100644 index d0be76405c..0000000000 --- a/lib/zend/Zend/Controller/Action/Helper/ViewRenderer.php +++ /dev/null @@ -1,995 +0,0 @@ - - * // In your bootstrap: - * Zend_Controller_Action_HelperBroker::addHelper(new Zend_Controller_Action_Helper_ViewRenderer()); - * - * // In your action controller methods: - * $viewHelper = $this->_helper->getHelper('view'); - * - * // Don't use controller subdirectories - * $viewHelper->setNoController(true); - * - * // Specify a different script to render: - * $this->_helper->viewRenderer('form'); - * - * - * - * @uses Zend_Controller_Action_Helper_Abstract - * @package Zend_Controller - * @subpackage Zend_Controller_Action_Helper - * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - */ -class Zend_Controller_Action_Helper_ViewRenderer extends Zend_Controller_Action_Helper_Abstract -{ - /** - * @var Zend_View_Interface - */ - public $view; - - /** - * Word delimiters - * @var array - */ - protected $_delimiters; - - /** - * Front controller instance - * @var Zend_Controller_Front - */ - protected $_frontController; - - /** - * @var Zend_Filter_Inflector - */ - protected $_inflector; - - /** - * Inflector target - * @var string - */ - protected $_inflectorTarget = ''; - - /** - * Current module directory - * @var string - */ - protected $_moduleDir = ''; - - /** - * Whether or not to autorender using controller name as subdirectory; - * global setting (not reset at next invocation) - * @var boolean - */ - protected $_neverController = false; - - /** - * Whether or not to autorender postDispatch; global setting (not reset at - * next invocation) - * @var boolean - */ - protected $_neverRender = false; - - /** - * Whether or not to use a controller name as a subdirectory when rendering - * @var boolean - */ - protected $_noController = false; - - /** - * Whether or not to autorender postDispatch; per controller/action setting (reset - * at next invocation) - * @var boolean - */ - protected $_noRender = false; - - /** - * Characters representing path delimiters in the controller - * @var string|array - */ - protected $_pathDelimiters; - - /** - * Which named segment of the response to utilize - * @var string - */ - protected $_responseSegment = null; - - /** - * Which action view script to render - * @var string - */ - protected $_scriptAction = null; - - /** - * View object basePath - * @var string - */ - protected $_viewBasePathSpec = ':moduleDir/views'; - - /** - * View script path specification string - * @var string - */ - protected $_viewScriptPathSpec = ':controller/:action.:suffix'; - - /** - * View script path specification string, minus controller segment - * @var string - */ - protected $_viewScriptPathNoControllerSpec = ':action.:suffix'; - - /** - * View script suffix - * @var string - */ - protected $_viewSuffix = 'phtml'; - - /** - * Constructor - * - * Optionally set view object and options. - * - * @param Zend_View_Interface $view - * @param array $options - * @return void - */ - public function __construct(Zend_View_Interface $view = null, array $options = array()) - { - if (null !== $view) { - $this->setView($view); - } - - if (!empty($options)) { - $this->_setOptions($options); - } - } - - /** - * Clone - also make sure the view is cloned. - * - * @return void - */ - public function __clone() - { - if (isset($this->view) && $this->view instanceof Zend_View_Interface) { - $this->view = clone $this->view; - - } - } - - /** - * Set the view object - * - * @param Zend_View_Interface $view - * @return Zend_Controller_Action_Helper_ViewRenderer Provides a fluent interface - */ - public function setView(Zend_View_Interface $view) - { - $this->view = $view; - return $this; - } - - /** - * Get current module name - * - * @return string - */ - public function getModule() - { - $request = $this->getRequest(); - $module = $request->getModuleName(); - if (null === $module) { - $module = $this->getFrontController()->getDispatcher()->getDefaultModule(); - } - - return $module; - } - - /** - * Get module directory - * - * @throws Zend_Controller_Action_Exception - * @return string - */ - public function getModuleDirectory() - { - $module = $this->getModule(); - $moduleDir = $this->getFrontController()->getControllerDirectory($module); - if ((null === $moduleDir) || is_array($moduleDir)) { - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('ViewRenderer cannot locate module directory'); - } - $this->_moduleDir = dirname($moduleDir); - return $this->_moduleDir; - } - - /** - * Get inflector - * - * @return Zend_Filter_Inflector - */ - public function getInflector() - { - if (null === $this->_inflector) { - /** - * @see Zend_Filter_Inflector - */ - require_once 'Zend/Filter/Inflector.php'; - /** - * @see Zend_Filter_PregReplace - */ - require_once 'Zend/Filter/PregReplace.php'; - /** - * @see Zend_Filter_Word_UnderscoreToSeparator - */ - require_once 'Zend/Filter/Word/UnderscoreToSeparator.php'; - $this->_inflector = new Zend_Filter_Inflector(); - $this->_inflector->setStaticRuleReference('moduleDir', $this->_moduleDir) // moduleDir must be specified before the less specific 'module' - ->addRules(array( - ':module' => array('Word_CamelCaseToDash', 'StringToLower'), - ':controller' => array('Word_CamelCaseToDash', new Zend_Filter_Word_UnderscoreToSeparator('/'), 'StringToLower', new Zend_Filter_PregReplace('/\./', '-')), - ':action' => array('Word_CamelCaseToDash', new Zend_Filter_PregReplace('#[^a-z0-9' . preg_quote('/', '#') . ']+#i', '-'), 'StringToLower'), - )) - ->setStaticRuleReference('suffix', $this->_viewSuffix) - ->setTargetReference($this->_inflectorTarget); - } - - // Ensure that module directory is current - $this->getModuleDirectory(); - - return $this->_inflector; - } - - /** - * Set inflector - * - * @param Zend_Filter_Inflector $inflector - * @param boolean $reference Whether the moduleDir, target, and suffix should be set as references to ViewRenderer properties - * @return Zend_Controller_Action_Helper_ViewRenderer Provides a fluent interface - */ - public function setInflector(Zend_Filter_Inflector $inflector, $reference = false) - { - $this->_inflector = $inflector; - if ($reference) { - $this->_inflector->setStaticRuleReference('suffix', $this->_viewSuffix) - ->setStaticRuleReference('moduleDir', $this->_moduleDir) - ->setTargetReference($this->_inflectorTarget); - } - return $this; - } - - /** - * Set inflector target - * - * @param string $target - * @return void - */ - protected function _setInflectorTarget($target) - { - $this->_inflectorTarget = (string) $target; - } - - /** - * Set internal module directory representation - * - * @param string $dir - * @return void - */ - protected function _setModuleDir($dir) - { - $this->_moduleDir = (string) $dir; - } - - /** - * Get internal module directory representation - * - * @return string - */ - protected function _getModuleDir() - { - return $this->_moduleDir; - } - - /** - * Generate a class prefix for helper and filter classes - * - * @return string - */ - protected function _generateDefaultPrefix() - { - $default = 'Zend_View'; - if (null === $this->_actionController) { - return $default; - } - - $class = get_class($this->_actionController); - - if (!strstr($class, '_')) { - return $default; - } - - $module = $this->getModule(); - if ('default' == $module) { - return $default; - } - - $prefix = substr($class, 0, strpos($class, '_')) . '_View'; - - return $prefix; - } - - /** - * Retrieve base path based on location of current action controller - * - * @return string - */ - protected function _getBasePath() - { - if (null === $this->_actionController) { - return './views'; - } - - $inflector = $this->getInflector(); - $this->_setInflectorTarget($this->getViewBasePathSpec()); - - $dispatcher = $this->_frontController->getDispatcher(); - $request = $this->getRequest(); - - $parts = array( - 'module' => (($moduleName = $request->getModuleName()) != '') ? $dispatcher->formatModuleName($moduleName) : $moduleName, - 'controller' => $request->getControllerName(), - 'action' => $dispatcher->formatActionName($request->getActionName()) - ); - - $path = $inflector->filter($parts); - return $path; - } - - /** - * Set options - * - * @param array $options - * @return Zend_Controller_Action_Helper_ViewRenderer Provides a fluent interface - */ - protected function _setOptions(array $options) - { - foreach ($options as $key => $value) - { - switch ($key) { - case 'neverRender': - case 'neverController': - case 'noController': - case 'noRender': - $property = '_' . $key; - $this->{$property} = ($value) ? true : false; - break; - case 'responseSegment': - case 'scriptAction': - case 'viewBasePathSpec': - case 'viewScriptPathSpec': - case 'viewScriptPathNoControllerSpec': - case 'viewSuffix': - $property = '_' . $key; - $this->{$property} = (string) $value; - break; - default: - break; - } - } - - return $this; - } - - /** - * Initialize the view object - * - * $options may contain the following keys: - * - neverRender - flag dis/enabling postDispatch() autorender (affects all subsequent calls) - * - noController - flag indicating whether or not to look for view scripts in subdirectories named after the controller - * - noRender - flag indicating whether or not to autorender postDispatch() - * - responseSegment - which named response segment to render a view script to - * - scriptAction - what action script to render - * - viewBasePathSpec - specification to use for determining view base path - * - viewScriptPathSpec - specification to use for determining view script paths - * - viewScriptPathNoControllerSpec - specification to use for determining view script paths when noController flag is set - * - viewSuffix - what view script filename suffix to use - * - * @param string $path - * @param string $prefix - * @param array $options - * @throws Zend_Controller_Action_Exception - * @return void - */ - public function initView($path = null, $prefix = null, array $options = array()) - { - if (null === $this->view) { - $this->setView(new Zend_View()); - } - - // Reset some flags every time - $options['noController'] = (isset($options['noController'])) ? $options['noController'] : false; - $options['noRender'] = (isset($options['noRender'])) ? $options['noRender'] : false; - $this->_scriptAction = null; - $this->_responseSegment = null; - - // Set options first; may be used to determine other initializations - $this->_setOptions($options); - - // Get base view path - if (empty($path)) { - $path = $this->_getBasePath(); - if (empty($path)) { - /** - * @see Zend_Controller_Action_Exception - */ - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('ViewRenderer initialization failed: retrieved view base path is empty'); - } - } - - if (null === $prefix) { - $prefix = $this->_generateDefaultPrefix(); - } - - // Determine if this path has already been registered - $currentPaths = $this->view->getScriptPaths(); - $path = str_replace(array('/', '\\'), '/', $path); - $pathExists = false; - foreach ($currentPaths as $tmpPath) { - $tmpPath = str_replace(array('/', '\\'), '/', $tmpPath); - if (strstr($tmpPath, $path)) { - $pathExists = true; - break; - } - } - if (!$pathExists) { - $this->view->addBasePath($path, $prefix); - } - - // Register view with action controller (unless already registered) - if ((null !== $this->_actionController) && (null === $this->_actionController->view)) { - $this->_actionController->view = $this->view; - $this->_actionController->viewSuffix = $this->_viewSuffix; - } - } - - /** - * init - initialize view - * - * @return void - */ - public function init() - { - if ($this->getFrontController()->getParam('noViewRenderer')) { - return; - } - - $this->initView(); - } - - /** - * Set view basePath specification - * - * Specification can contain one or more of the following: - * - :moduleDir - current module directory - * - :controller - name of current controller in the request - * - :action - name of current action in the request - * - :module - name of current module in the request - * - * @param string $path - * @return Zend_Controller_Action_Helper_ViewRenderer Provides a fluent interface - */ - public function setViewBasePathSpec($path) - { - $this->_viewBasePathSpec = (string) $path; - return $this; - } - - /** - * Retrieve the current view basePath specification string - * - * @return string - */ - public function getViewBasePathSpec() - { - return $this->_viewBasePathSpec; - } - - /** - * Set view script path specification - * - * Specification can contain one or more of the following: - * - :moduleDir - current module directory - * - :controller - name of current controller in the request - * - :action - name of current action in the request - * - :module - name of current module in the request - * - * @param string $path - * @return Zend_Controller_Action_Helper_ViewRenderer Provides a fluent interface - */ - public function setViewScriptPathSpec($path) - { - $this->_viewScriptPathSpec = (string) $path; - return $this; - } - - /** - * Retrieve the current view script path specification string - * - * @return string - */ - public function getViewScriptPathSpec() - { - return $this->_viewScriptPathSpec; - } - - /** - * Set view script path specification (no controller variant) - * - * Specification can contain one or more of the following: - * - :moduleDir - current module directory - * - :controller - name of current controller in the request - * - :action - name of current action in the request - * - :module - name of current module in the request - * - * :controller will likely be ignored in this variant. - * - * @param string $path - * @return Zend_Controller_Action_Helper_ViewRenderer Provides a fluent interface - */ - public function setViewScriptPathNoControllerSpec($path) - { - $this->_viewScriptPathNoControllerSpec = (string) $path; - return $this; - } - - /** - * Retrieve the current view script path specification string (no controller variant) - * - * @return string - */ - public function getViewScriptPathNoControllerSpec() - { - return $this->_viewScriptPathNoControllerSpec; - } - - /** - * Get a view script based on an action and/or other variables - * - * Uses values found in current request if no values passed in $vars. - * - * If {@link $_noController} is set, uses {@link $_viewScriptPathNoControllerSpec}; - * otherwise, uses {@link $_viewScriptPathSpec}. - * - * @param string $action - * @param array $vars - * @return string - */ - public function getViewScript($action = null, array $vars = array()) - { - $request = $this->getRequest(); - if ((null === $action) && (!isset($vars['action']))) { - $action = $this->getScriptAction(); - if (null === $action) { - $action = $request->getActionName(); - } - $vars['action'] = $action; - } elseif (null !== $action) { - $vars['action'] = $action; - } - - $inflector = $this->getInflector(); - if ($this->getNoController() || $this->getNeverController()) { - $this->_setInflectorTarget($this->getViewScriptPathNoControllerSpec()); - } else { - $this->_setInflectorTarget($this->getViewScriptPathSpec()); - } - return $this->_translateSpec($vars); - } - - /** - * Set the neverRender flag (i.e., globally dis/enable autorendering) - * - * @param boolean $flag - * @return Zend_Controller_Action_Helper_ViewRenderer Provides a fluent interface - */ - public function setNeverRender($flag = true) - { - $this->_neverRender = ($flag) ? true : false; - return $this; - } - - /** - * Retrieve neverRender flag value - * - * @return boolean - */ - public function getNeverRender() - { - return $this->_neverRender; - } - - /** - * Set the noRender flag (i.e., whether or not to autorender) - * - * @param boolean $flag - * @return Zend_Controller_Action_Helper_ViewRenderer Provides a fluent interface - */ - public function setNoRender($flag = true) - { - $this->_noRender = ($flag) ? true : false; - return $this; - } - - /** - * Retrieve noRender flag value - * - * @return boolean - */ - public function getNoRender() - { - return $this->_noRender; - } - - /** - * Set the view script to use - * - * @param string $name - * @return Zend_Controller_Action_Helper_ViewRenderer Provides a fluent interface - */ - public function setScriptAction($name) - { - $this->_scriptAction = (string) $name; - return $this; - } - - /** - * Retrieve view script name - * - * @return string - */ - public function getScriptAction() - { - return $this->_scriptAction; - } - - /** - * Set the response segment name - * - * @param string $name - * @return Zend_Controller_Action_Helper_ViewRenderer Provides a fluent interface - */ - public function setResponseSegment($name) - { - if (null === $name) { - $this->_responseSegment = null; - } else { - $this->_responseSegment = (string) $name; - } - - return $this; - } - - /** - * Retrieve named response segment name - * - * @return string - */ - public function getResponseSegment() - { - return $this->_responseSegment; - } - - /** - * Set the noController flag (i.e., whether or not to render into controller subdirectories) - * - * @param boolean $flag - * @return Zend_Controller_Action_Helper_ViewRenderer Provides a fluent interface - */ - public function setNoController($flag = true) - { - $this->_noController = ($flag) ? true : false; - return $this; - } - - /** - * Retrieve noController flag value - * - * @return boolean - */ - public function getNoController() - { - return $this->_noController; - } - - /** - * Set the neverController flag (i.e., whether or not to render into controller subdirectories) - * - * @param boolean $flag - * @return Zend_Controller_Action_Helper_ViewRenderer Provides a fluent interface - */ - public function setNeverController($flag = true) - { - $this->_neverController = ($flag) ? true : false; - return $this; - } - - /** - * Retrieve neverController flag value - * - * @return boolean - */ - public function getNeverController() - { - return $this->_neverController; - } - - /** - * Set view script suffix - * - * @param string $suffix - * @return Zend_Controller_Action_Helper_ViewRenderer Provides a fluent interface - */ - public function setViewSuffix($suffix) - { - $this->_viewSuffix = (string) $suffix; - return $this; - } - - /** - * Get view script suffix - * - * @return string - */ - public function getViewSuffix() - { - return $this->_viewSuffix; - } - - /** - * Set options for rendering a view script - * - * @param string $action View script to render - * @param string $name Response named segment to render to - * @param boolean $noController Whether or not to render within a subdirectory named after the controller - * @return Zend_Controller_Action_Helper_ViewRenderer Provides a fluent interface - */ - public function setRender($action = null, $name = null, $noController = null) - { - if (null !== $action) { - $this->setScriptAction($action); - } - - if (null !== $name) { - $this->setResponseSegment($name); - } - - if (null !== $noController) { - $this->setNoController($noController); - } - - return $this; - } - - /** - * Inflect based on provided vars - * - * Allowed variables are: - * - :moduleDir - current module directory - * - :module - current module name - * - :controller - current controller name - * - :action - current action name - * - :suffix - view script file suffix - * - * @param array $vars - * @return string - */ - protected function _translateSpec(array $vars = array()) - { - $inflector = $this->getInflector(); - $request = $this->getRequest(); - $dispatcher = $this->_frontController->getDispatcher(); - $module = $dispatcher->formatModuleName($request->getModuleName()); - $controller = $request->getControllerName(); - $action = $dispatcher->formatActionName($request->getActionName()); - - $params = compact('module', 'controller', 'action'); - foreach ($vars as $key => $value) { - switch ($key) { - case 'module': - case 'controller': - case 'action': - case 'moduleDir': - case 'suffix': - $params[$key] = (string) $value; - break; - default: - break; - } - } - - if (isset($params['suffix'])) { - $origSuffix = $this->getViewSuffix(); - $this->setViewSuffix($params['suffix']); - } - if (isset($params['moduleDir'])) { - $origModuleDir = $this->_getModuleDir(); - $this->_setModuleDir($params['moduleDir']); - } - - $filtered = $inflector->filter($params); - - if (isset($params['suffix'])) { - $this->setViewSuffix($origSuffix); - } - if (isset($params['moduleDir'])) { - $this->_setModuleDir($origModuleDir); - } - - return $filtered; - } - - /** - * Render a view script (optionally to a named response segment) - * - * Sets the noRender flag to true when called. - * - * @param string $script - * @param string $name - * @return void - */ - public function renderScript($script, $name = null) - { - if (null === $name) { - $name = $this->getResponseSegment(); - } - - $this->getResponse()->appendBody( - $this->view->render($script), - $name - ); - - $this->setNoRender(); - } - - /** - * Render a view based on path specifications - * - * Renders a view based on the view script path specifications. - * - * @param string $action - * @param string $name - * @param boolean $noController - * @return void - */ - public function render($action = null, $name = null, $noController = null) - { - $this->setRender($action, $name, $noController); - $path = $this->getViewScript(); - $this->renderScript($path, $name); - } - - /** - * Render a script based on specification variables - * - * Pass an action, and one or more specification variables (view script suffix) - * to determine the view script path, and render that script. - * - * @param string $action - * @param array $vars - * @param string $name - * @return void - */ - public function renderBySpec($action = null, array $vars = array(), $name = null) - { - if (null !== $name) { - $this->setResponseSegment($name); - } - - $path = $this->getViewScript($action, $vars); - - $this->renderScript($path); - } - - /** - * postDispatch - auto render a view - * - * Only autorenders if: - * - _noRender is false - * - action controller is present - * - request has not been re-dispatched (i.e., _forward() has not been called) - * - response is not a redirect - * - * @return void - */ - public function postDispatch() - { - if ($this->_shouldRender()) { - $this->render(); - } - } - - /** - * Should the ViewRenderer render a view script? - * - * @return boolean - */ - protected function _shouldRender() - { - return (!$this->getFrontController()->getParam('noViewRenderer') - && !$this->_neverRender - && !$this->_noRender - && (null !== $this->_actionController) - && $this->getRequest()->isDispatched() - && !$this->getResponse()->isRedirect() - ); - } - - /** - * Use this helper as a method; proxies to setRender() - * - * @param string $action - * @param string $name - * @param boolean $noController - * @return void - */ - public function direct($action = null, $name = null, $noController = null) - { - $this->setRender($action, $name, $noController); - } -} diff --git a/lib/zend/Zend/Controller/Action/HelperBroker.php b/lib/zend/Zend/Controller/Action/HelperBroker.php deleted file mode 100644 index c0db09c8da..0000000000 --- a/lib/zend/Zend/Controller/Action/HelperBroker.php +++ /dev/null @@ -1,381 +0,0 @@ - 'Zend/Controller/Action/Helper/', - )); - } - return self::$_pluginLoader; - } - - /** - * addPrefix() - Add repository of helpers by prefix - * - * @param string $prefix - */ - static public function addPrefix($prefix) - { - $prefix = rtrim($prefix, '_'); - $path = str_replace('_', DIRECTORY_SEPARATOR, $prefix); - self::getPluginLoader()->addPrefixPath($prefix, $path); - } - - /** - * addPath() - Add path to repositories where Action_Helpers could be found. - * - * @param string $path - * @param string $prefix Optional; defaults to 'Zend_Controller_Action_Helper' - * @return void - */ - static public function addPath($path, $prefix = 'Zend_Controller_Action_Helper') - { - self::getPluginLoader()->addPrefixPath($prefix, $path); - } - - /** - * addHelper() - Add helper objects - * - * @param Zend_Controller_Action_Helper_Abstract $helper - * @return void - */ - static public function addHelper(Zend_Controller_Action_Helper_Abstract $helper) - { - self::getStack()->push($helper); - return; - } - - /** - * resetHelpers() - * - * @return void - */ - static public function resetHelpers() - { - self::$_stack = null; - return; - } - - /** - * Retrieve or initialize a helper statically - * - * Retrieves a helper object statically, loading on-demand if the helper - * does not already exist in the stack. Always returns a helper, unless - * the helper class cannot be found. - * - * @param string $name - * @return Zend_Controller_Action_Helper_Abstract - */ - public static function getStaticHelper($name) - { - $name = self::_normalizeHelperName($name); - $stack = self::getStack(); - - if (!isset($stack->{$name})) { - self::_loadHelper($name); - } - - return $stack->{$name}; - } - - /** - * getExistingHelper() - get helper by name - * - * Static method to retrieve helper object. Only retrieves helpers already - * initialized with the broker (either via addHelper() or on-demand loading - * via getHelper()). - * - * Throws an exception if the referenced helper does not exist in the - * stack; use {@link hasHelper()} to check if the helper is registered - * prior to retrieving it. - * - * @param string $name - * @return Zend_Controller_Action_Helper_Abstract - * @throws Zend_Controller_Action_Exception - */ - public static function getExistingHelper($name) - { - $name = self::_normalizeHelperName($name); - $stack = self::getStack(); - - if (!isset($stack->{$name})) { - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('Action helper "' . $name . '" has not been registered with the helper broker'); - } - - return $stack->{$name}; - } - - /** - * Return all registered helpers as helper => object pairs - * - * @return array - */ - public static function getExistingHelpers() - { - return self::getStack()->getHelpersByName(); - } - - /** - * Is a particular helper loaded in the broker? - * - * @param string $name - * @return boolean - */ - public static function hasHelper($name) - { - $name = self::_normalizeHelperName($name); - return isset(self::getStack()->{$name}); - } - - /** - * Remove a particular helper from the broker - * - * @param string $name - * @return boolean - */ - public static function removeHelper($name) - { - $name = self::_normalizeHelperName($name); - $stack = self::getStack(); - if (isset($stack->{$name})) { - unset($stack->{$name}); - } - - return false; - } - - /** - * Lazy load the priority stack and return it - * - * @return Zend_Controller_Action_HelperBroker_PriorityStack - */ - public static function getStack() - { - if (self::$_stack == null) { - self::$_stack = new Zend_Controller_Action_HelperBroker_PriorityStack(); - } - - return self::$_stack; - } - - /** - * Constructor - * - * @param Zend_Controller_Action $actionController - * @return void - */ - public function __construct(Zend_Controller_Action $actionController) - { - $this->_actionController = $actionController; - foreach (self::getStack() as $helper) { - $helper->setActionController($actionController); - $helper->init(); - } - } - - /** - * notifyPreDispatch() - called by action controller dispatch method - * - * @return void - */ - public function notifyPreDispatch() - { - foreach (self::getStack() as $helper) { - $helper->preDispatch(); - } - } - - /** - * notifyPostDispatch() - called by action controller dispatch method - * - * @return void - */ - public function notifyPostDispatch() - { - foreach (self::getStack() as $helper) { - $helper->postDispatch(); - } - } - - /** - * getHelper() - get helper by name - * - * @param string $name - * @return Zend_Controller_Action_Helper_Abstract - */ - public function getHelper($name) - { - $name = self::_normalizeHelperName($name); - $stack = self::getStack(); - - if (!isset($stack->{$name})) { - self::_loadHelper($name); - } - - $helper = $stack->{$name}; - - $initialize = false; - if (null === ($actionController = $helper->getActionController())) { - $initialize = true; - } elseif ($actionController !== $this->_actionController) { - $initialize = true; - } - - if ($initialize) { - $helper->setActionController($this->_actionController) - ->init(); - } - - return $helper; - } - - /** - * Method overloading - * - * @param string $method - * @param array $args - * @return mixed - * @throws Zend_Controller_Action_Exception if helper does not have a direct() method - */ - public function __call($method, $args) - { - $helper = $this->getHelper($method); - if (!method_exists($helper, 'direct')) { - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('Helper "' . $method . '" does not support overloading via direct()'); - } - return call_user_func_array(array($helper, 'direct'), $args); - } - - /** - * Retrieve helper by name as object property - * - * @param string $name - * @return Zend_Controller_Action_Helper_Abstract - */ - public function __get($name) - { - return $this->getHelper($name); - } - - /** - * Normalize helper name for lookups - * - * @param string $name - * @return string - */ - protected static function _normalizeHelperName($name) - { - if (strpos($name, '_') !== false) { - $name = str_replace(' ', '', ucwords(str_replace('_', ' ', $name))); - } - - return ucfirst($name); - } - - /** - * Load a helper - * - * @param string $name - * @return void - */ - protected static function _loadHelper($name) - { - try { - $class = self::getPluginLoader()->load($name); - } catch (Zend_Loader_PluginLoader_Exception $e) { - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('Action Helper by name ' . $name . ' not found'); - } - - $helper = new $class(); - - if (!$helper instanceof Zend_Controller_Action_Helper_Abstract) { - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('Helper name ' . $name . ' -> class ' . $class . ' is not of type Zend_Controller_Action_Helper_Abstract'); - } - - self::getStack()->push($helper); - } -} diff --git a/lib/zend/Zend/Controller/Action/HelperBroker/PriorityStack.php b/lib/zend/Zend/Controller/Action/HelperBroker/PriorityStack.php deleted file mode 100644 index b52860335e..0000000000 --- a/lib/zend/Zend/Controller/Action/HelperBroker/PriorityStack.php +++ /dev/null @@ -1,280 +0,0 @@ -_helpersByNameRef)) { - return false; - } - - return $this->_helpersByNameRef[$helperName]; - } - - /** - * Magic property overloading for returning if helper is set by name - * - * @param string $helperName The helper name - * @return Zend_Controller_Action_Helper_Abstract - */ - public function __isset($helperName) - { - return array_key_exists($helperName, $this->_helpersByNameRef); - } - - /** - * Magic property overloading for unsetting if helper is exists by name - * - * @param string $helperName The helper name - * @return Zend_Controller_Action_Helper_Abstract - */ - public function __unset($helperName) - { - return $this->offsetUnset($helperName); - } - - /** - * push helper onto the stack - * - * @param Zend_Controller_Action_Helper_Abstract $helper - * @return Zend_Controller_Action_HelperBroker_PriorityStack - */ - public function push(Zend_Controller_Action_Helper_Abstract $helper) - { - $this->offsetSet($this->getNextFreeHigherPriority(), $helper); - return $this; - } - - /** - * Return something iterable - * - * @return array - */ - public function getIterator() - { - return new ArrayObject($this->_helpersByPriority); - } - - /** - * offsetExists() - * - * @param int|string $priorityOrHelperName - * @return Zend_Controller_Action_HelperBroker_PriorityStack - */ - public function offsetExists($priorityOrHelperName) - { - if (is_string($priorityOrHelperName)) { - return array_key_exists($priorityOrHelperName, $this->_helpersByNameRef); - } else { - return array_key_exists($priorityOrHelperName, $this->_helpersByPriority); - } - } - - /** - * offsetGet() - * - * @param int|string $priorityOrHelperName - * @return Zend_Controller_Action_HelperBroker_PriorityStack - */ - public function offsetGet($priorityOrHelperName) - { - if (!$this->offsetExists($priorityOrHelperName)) { - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('A helper with priority ' . $priorityOrHelperName . ' does not exist.'); - } - - if (is_string($priorityOrHelperName)) { - return $this->_helpersByNameRef[$priorityOrHelperName]; - } else { - return $this->_helpersByPriority[$priorityOrHelperName]; - } - } - - /** - * offsetSet() - * - * @param int $priority - * @param Zend_Controller_Action_Helper_Abstract $helper - * @return Zend_Controller_Action_HelperBroker_PriorityStack - */ - public function offsetSet($priority, $helper) - { - $priority = (int) $priority; - - if (!$helper instanceof Zend_Controller_Action_Helper_Abstract) { - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('$helper must extend Zend_Controller_Action_Helper_Abstract.'); - } - - if (array_key_exists($helper->getName(), $this->_helpersByNameRef)) { - // remove any object with the same name to retain BC compailitbility - // @todo At ZF 2.0 time throw an exception here. - $this->offsetUnset($helper->getName()); - } - - if (array_key_exists($priority, $this->_helpersByPriority)) { - $priority = $this->getNextFreeHigherPriority($priority); // ensures LIFO - trigger_error("A helper with the same priority already exists, reassigning to $priority", E_USER_WARNING); - } - - $this->_helpersByPriority[$priority] = $helper; - $this->_helpersByNameRef[$helper->getName()] = $helper; - - if ($priority == ($nextFreeDefault = $this->getNextFreeHigherPriority($this->_nextDefaultPriority))) { - $this->_nextDefaultPriority = $nextFreeDefault; - } - - krsort($this->_helpersByPriority); // always make sure priority and LIFO are both enforced - return $this; - } - - /** - * offsetUnset() - * - * @param int|string $priorityOrHelperName Priority integer or the helper name - * @return Zend_Controller_Action_HelperBroker_PriorityStack - */ - public function offsetUnset($priorityOrHelperName) - { - if (!$this->offsetExists($priorityOrHelperName)) { - require_once 'Zend/Controller/Action/Exception.php'; - throw new Zend_Controller_Action_Exception('A helper with priority or name ' . $priorityOrHelperName . ' does not exist.'); - } - - if (is_string($priorityOrHelperName)) { - $helperName = $priorityOrHelperName; - $helper = $this->_helpersByNameRef[$helperName]; - $priority = array_search($helper, $this->_helpersByPriority, true); - } else { - $priority = $priorityOrHelperName; - $helperName = $this->_helpersByPriority[$priorityOrHelperName]->getName(); - } - - unset($this->_helpersByNameRef[$helperName]); - unset($this->_helpersByPriority[$priority]); - return $this; - } - - /** - * return the count of helpers - * - * @return int - */ - public function count() - { - return count($this->_helpersByPriority); - } - - /** - * Find the next free higher priority. If an index is given, it will - * find the next free highest priority after it. - * - * @param int $indexPriority OPTIONAL - * @return int - */ - public function getNextFreeHigherPriority($indexPriority = null) - { - if ($indexPriority == null) { - $indexPriority = $this->_nextDefaultPriority; - } - - $priorities = array_keys($this->_helpersByPriority); - - while (in_array($indexPriority, $priorities)) { - $indexPriority++; - } - - return $indexPriority; - } - - /** - * Find the next free lower priority. If an index is given, it will - * find the next free lower priority before it. - * - * @param int $indexPriority - * @return int - */ - public function getNextFreeLowerPriority($indexPriority = null) - { - if ($indexPriority == null) { - $indexPriority = $this->_nextDefaultPriority; - } - - $priorities = array_keys($this->_helpersByPriority); - - while (in_array($indexPriority, $priorities)) { - $indexPriority--; - } - - return $indexPriority; - } - - /** - * return the highest priority - * - * @return int - */ - public function getHighestPriority() - { - return max(array_keys($this->_helpersByPriority)); - } - - /** - * return the lowest priority - * - * @return int - */ - public function getLowestPriority() - { - return min(array_keys($this->_helpersByPriority)); - } - - /** - * return the helpers referenced by name - * - * @return array - */ - public function getHelpersByName() - { - return $this->_helpersByNameRef; - } - -} diff --git a/lib/zend/Zend/Controller/Action/Interface.php b/lib/zend/Zend/Controller/Action/Interface.php deleted file mode 100644 index 147f823620..0000000000 --- a/lib/zend/Zend/Controller/Action/Interface.php +++ /dev/null @@ -1,69 +0,0 @@ -setParams($params); - } - - /** - * Formats a string into a controller name. This is used to take a raw - * controller name, such as one stored inside a Zend_Controller_Request_Abstract - * object, and reformat it to a proper class name that a class extending - * Zend_Controller_Action would use. - * - * @param string $unformatted - * @return string - */ - public function formatControllerName($unformatted) - { - return ucfirst($this->_formatName($unformatted)) . 'Controller'; - } - - /** - * Formats a string into an action name. This is used to take a raw - * action name, such as one that would be stored inside a Zend_Controller_Request_Abstract - * object, and reformat into a proper method name that would be found - * inside a class extending Zend_Controller_Action. - * - * @param string $unformatted - * @return string - */ - public function formatActionName($unformatted) - { - $formatted = $this->_formatName($unformatted, true); - return strtolower(substr($formatted, 0, 1)) . substr($formatted, 1) . 'Action'; - } - - /** - * Verify delimiter - * - * Verify a delimiter to use in controllers or actions. May be a single - * string or an array of strings. - * - * @param string|array $spec - * @return array - * @throws Zend_Controller_Dispatcher_Exception with invalid delimiters - */ - public function _verifyDelimiter($spec) - { - if (is_string($spec)) { - return (array) $spec; - } elseif (is_array($spec)) { - $allStrings = true; - foreach ($spec as $delim) { - if (!is_string($delim)) { - $allStrings = false; - break; - } - } - - if (!$allStrings) { - require_once 'Zend/Controller/Dispatcher/Exception.php'; - throw new Zend_Controller_Dispatcher_Exception('Word delimiter array must contain only strings'); - } - - return $spec; - } - - require_once 'Zend/Controller/Dispatcher/Exception.php'; - throw new Zend_Controller_Dispatcher_Exception('Invalid word delimiter'); - } - - /** - * Retrieve the word delimiter character(s) used in - * controller or action names - * - * @return array - */ - public function getWordDelimiter() - { - return $this->_wordDelimiter; - } - - /** - * Set word delimiter - * - * Set the word delimiter to use in controllers and actions. May be a - * single string or an array of strings. - * - * @param string|array $spec - * @return Zend_Controller_Dispatcher_Abstract - */ - public function setWordDelimiter($spec) - { - $spec = $this->_verifyDelimiter($spec); - $this->_wordDelimiter = $spec; - - return $this; - } - - /** - * Retrieve the path delimiter character(s) used in - * controller names - * - * @return array - */ - public function getPathDelimiter() - { - return $this->_pathDelimiter; - } - - /** - * Set path delimiter - * - * Set the path delimiter to use in controllers. May be a single string or - * an array of strings. - * - * @param string $spec - * @return Zend_Controller_Dispatcher_Abstract - */ - public function setPathDelimiter($spec) - { - if (!is_string($spec)) { - require_once 'Zend/Controller/Dispatcher/Exception.php'; - throw new Zend_Controller_Dispatcher_Exception('Invalid path delimiter'); - } - $this->_pathDelimiter = $spec; - - return $this; - } - - /** - * Formats a string from a URI into a PHP-friendly name. - * - * By default, replaces words separated by the word separator character(s) - * with camelCaps. If $isAction is false, it also preserves replaces words - * separated by the path separation character with an underscore, making - * the following word Title cased. All non-alphanumeric characters are - * removed. - * - * @param string $unformatted - * @param boolean $isAction Defaults to false - * @return string - */ - protected function _formatName($unformatted, $isAction = false) - { - // preserve directories - if (!$isAction) { - $segments = explode($this->getPathDelimiter(), $unformatted); - } else { - $segments = (array) $unformatted; - } - - foreach ($segments as $key => $segment) { - $segment = str_replace($this->getWordDelimiter(), ' ', strtolower($segment)); - $segment = preg_replace('/[^a-z0-9 ]/', '', $segment); - $segments[$key] = str_replace(' ', '', ucwords($segment)); - } - - return implode('_', $segments); - } - - /** - * Retrieve front controller instance - * - * @return Zend_Controller_Front - */ - public function getFrontController() - { - if (null === $this->_frontController) { - require_once 'Zend/Controller/Front.php'; - $this->_frontController = Zend_Controller_Front::getInstance(); - } - - return $this->_frontController; - } - - /** - * Set front controller instance - * - * @param Zend_Controller_Front $controller - * @return Zend_Controller_Dispatcher_Abstract - */ - public function setFrontController(Zend_Controller_Front $controller) - { - $this->_frontController = $controller; - return $this; - } - - /** - * Add or modify a parameter to use when instantiating an action controller - * - * @param string $name - * @param mixed $value - * @return Zend_Controller_Dispatcher_Abstract - */ - public function setParam($name, $value) - { - $name = (string) $name; - $this->_invokeParams[$name] = $value; - return $this; - } - - /** - * Set parameters to pass to action controller constructors - * - * @param array $params - * @return Zend_Controller_Dispatcher_Abstract - */ - public function setParams(array $params) - { - $this->_invokeParams = array_merge($this->_invokeParams, $params); - return $this; - } - - /** - * Retrieve a single parameter from the controller parameter stack - * - * @param string $name - * @return mixed - */ - public function getParam($name) - { - if(isset($this->_invokeParams[$name])) { - return $this->_invokeParams[$name]; - } - - return null; - } - - /** - * Retrieve action controller instantiation parameters - * - * @return array - */ - public function getParams() - { - return $this->_invokeParams; - } - - /** - * Clear the controller parameter stack - * - * By default, clears all parameters. If a parameter name is given, clears - * only that parameter; if an array of parameter names is provided, clears - * each. - * - * @param null|string|array single key or array of keys for params to clear - * @return Zend_Controller_Dispatcher_Abstract - */ - public function clearParams($name = null) - { - if (null === $name) { - $this->_invokeParams = array(); - } elseif (is_string($name) && isset($this->_invokeParams[$name])) { - unset($this->_invokeParams[$name]); - } elseif (is_array($name)) { - foreach ($name as $key) { - if (is_string($key) && isset($this->_invokeParams[$key])) { - unset($this->_invokeParams[$key]); - } - } - } - - return $this; - } - - /** - * Set response object to pass to action controllers - * - * @param Zend_Controller_Response_Abstract|null $response - * @return Zend_Controller_Dispatcher_Abstract - */ - public function setResponse(Zend_Controller_Response_Abstract $response = null) - { - $this->_response = $response; - return $this; - } - - /** - * Return the registered response object - * - * @return Zend_Controller_Response_Abstract|null - */ - public function getResponse() - { - return $this->_response; - } - - /** - * Set the default controller (minus any formatting) - * - * @param string $controller - * @return Zend_Controller_Dispatcher_Abstract - */ - public function setDefaultControllerName($controller) - { - $this->_defaultController = (string) $controller; - return $this; - } - - /** - * Retrieve the default controller name (minus formatting) - * - * @return string - */ - public function getDefaultControllerName() - { - return $this->_defaultController; - } - - /** - * Set the default action (minus any formatting) - * - * @param string $action - * @return Zend_Controller_Dispatcher_Abstract - */ - public function setDefaultAction($action) - { - $this->_defaultAction = (string) $action; - return $this; - } - - /** - * Retrieve the default action name (minus formatting) - * - * @return string - */ - public function getDefaultAction() - { - return $this->_defaultAction; - } - - /** - * Set the default module - * - * @param string $module - * @return Zend_Controller_Dispatcher_Abstract - */ - public function setDefaultModule($module) - { - $this->_defaultModule = (string) $module; - return $this; - } - - /** - * Retrieve the default module - * - * @return string - */ - public function getDefaultModule() - { - return $this->_defaultModule; - } -} diff --git a/lib/zend/Zend/Controller/Dispatcher/Exception.php b/lib/zend/Zend/Controller/Dispatcher/Exception.php deleted file mode 100644 index 3df382ac81..0000000000 --- a/lib/zend/Zend/Controller/Dispatcher/Exception.php +++ /dev/null @@ -1,37 +0,0 @@ -_curModule = $this->getDefaultModule(); - } - - /** - * Add a single path to the controller directory stack - * - * @param string $path - * @param string $module - * @return Zend_Controller_Dispatcher_Standard - */ - public function addControllerDirectory($path, $module = null) - { - if (null === $module) { - $module = $this->_defaultModule; - } - - $module = (string) $module; - $path = rtrim((string) $path, '/\\'); - - $this->_controllerDirectory[$module] = $path; - return $this; - } - - /** - * Set controller directory - * - * @param array|string $directory - * @return Zend_Controller_Dispatcher_Standard - */ - public function setControllerDirectory($directory, $module = null) - { - $this->_controllerDirectory = array(); - - if (is_string($directory)) { - $this->addControllerDirectory($directory, $module); - } elseif (is_array($directory)) { - foreach ((array) $directory as $module => $path) { - $this->addControllerDirectory($path, $module); - } - } else { - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception('Controller directory spec must be either a string or an array'); - } - - return $this; - } - - /** - * Return the currently set directories for Zend_Controller_Action class - * lookup - * - * If a module is specified, returns just that directory. - * - * @param string $module Module name - * @return array|string Returns array of all directories by default, single - * module directory if module argument provided - */ - public function getControllerDirectory($module = null) - { - if (null === $module) { - return $this->_controllerDirectory; - } - - $module = (string) $module; - if (array_key_exists($module, $this->_controllerDirectory)) { - return $this->_controllerDirectory[$module]; - } - - return null; - } - - /** - * Remove a controller directory by module name - * - * @param string $module - * @return bool - */ - public function removeControllerDirectory($module) - { - $module = (string) $module; - if (array_key_exists($module, $this->_controllerDirectory)) { - unset($this->_controllerDirectory[$module]); - return true; - } - return false; - } - - /** - * Format the module name. - * - * @param string $unformatted - * @return string - */ - public function formatModuleName($unformatted) - { - if (($this->_defaultModule == $unformatted) && !$this->getParam('prefixDefaultModule')) { - return $unformatted; - } - - return ucfirst($this->_formatName($unformatted)); - } - - /** - * Format action class name - * - * @param string $moduleName Name of the current module - * @param string $className Name of the action class - * @return string Formatted class name - */ - public function formatClassName($moduleName, $className) - { - return $this->formatModuleName($moduleName) . '_' . $className; - } - - /** - * Convert a class name to a filename - * - * @param string $class - * @return string - */ - public function classToFilename($class) - { - return str_replace('_', DIRECTORY_SEPARATOR, $class) . '.php'; - } - - /** - * Returns TRUE if the Zend_Controller_Request_Abstract object can be - * dispatched to a controller. - * - * Use this method wisely. By default, the dispatcher will fall back to the - * default controller (either in the module specified or the global default) - * if a given controller does not exist. This method returning false does - * not necessarily indicate the dispatcher will not still dispatch the call. - * - * @param Zend_Controller_Request_Abstract $action - * @return boolean - */ - public function isDispatchable(Zend_Controller_Request_Abstract $request) - { - $className = $this->getControllerClass($request); - if (!$className) { - return false; - } - - if (class_exists($className, false)) { - return true; - } - - $fileSpec = $this->classToFilename($className); - $dispatchDir = $this->getDispatchDirectory(); - $test = $dispatchDir . DIRECTORY_SEPARATOR . $fileSpec; - return Zend_Loader::isReadable($test); - } - - /** - * Dispatch to a controller/action - * - * By default, if a controller is not dispatchable, dispatch() will throw - * an exception. If you wish to use the default controller instead, set the - * param 'useDefaultControllerAlways' via {@link setParam()}. - * - * @param Zend_Controller_Request_Abstract $request - * @param Zend_Controller_Response_Abstract $response - * @return void - * @throws Zend_Controller_Dispatcher_Exception - */ - public function dispatch(Zend_Controller_Request_Abstract $request, Zend_Controller_Response_Abstract $response) - { - $this->setResponse($response); - - /** - * Get controller class - */ - if (!$this->isDispatchable($request)) { - $controller = $request->getControllerName(); - if (!$this->getParam('useDefaultControllerAlways') && !empty($controller)) { - require_once 'Zend/Controller/Dispatcher/Exception.php'; - throw new Zend_Controller_Dispatcher_Exception('Invalid controller specified (' . $request->getControllerName() . ')'); - } - - $className = $this->getDefaultControllerClass($request); - } else { - $className = $this->getControllerClass($request); - if (!$className) { - $className = $this->getDefaultControllerClass($request); - } - } - - /** - * Load the controller class file - */ - $className = $this->loadClass($className); - - /** - * Instantiate controller with request, response, and invocation - * arguments; throw exception if it's not an action controller - */ - $controller = new $className($request, $this->getResponse(), $this->getParams()); - if (!($controller instanceof Zend_Controller_Action_Interface) && - !($controller instanceof Zend_Controller_Action)) { - require_once 'Zend/Controller/Dispatcher/Exception.php'; - throw new Zend_Controller_Dispatcher_Exception( - 'Controller "' . $className . '" is not an instance of Zend_Controller_Action_Interface' - ); - } - - /** - * Retrieve the action name - */ - $action = $this->getActionMethod($request); - - /** - * Dispatch the method call - */ - $request->setDispatched(true); - - // by default, buffer output - $disableOb = $this->getParam('disableOutputBuffering'); - $obLevel = ob_get_level(); - if (empty($disableOb)) { - ob_start(); - } - - try { - $controller->dispatch($action); - } catch (Exception $e) { - // Clean output buffer on error - $curObLevel = ob_get_level(); - if ($curObLevel > $obLevel) { - do { - ob_get_clean(); - $curObLevel = ob_get_level(); - } while ($curObLevel > $obLevel); - } - - throw $e; - } - - if (empty($disableOb)) { - $content = ob_get_clean(); - $response->appendBody($content); - } - - // Destroy the page controller instance and reflection objects - $controller = null; - } - - /** - * Load a controller class - * - * Attempts to load the controller class file from - * {@link getControllerDirectory()}. If the controller belongs to a - * module, looks for the module prefix to the controller class. - * - * @param string $className - * @return string Class name loaded - * @throws Zend_Controller_Dispatcher_Exception if class not loaded - */ - public function loadClass($className) - { - $finalClass = $className; - if (($this->_defaultModule != $this->_curModule) - || $this->getParam('prefixDefaultModule')) - { - $finalClass = $this->formatClassName($this->_curModule, $className); - } - if (class_exists($finalClass, false)) { - return $finalClass; - } - - $dispatchDir = $this->getDispatchDirectory(); - $loadFile = $dispatchDir . DIRECTORY_SEPARATOR . $this->classToFilename($className); - - if (!include_once $loadFile) { - require_once 'Zend/Controller/Dispatcher/Exception.php'; - throw new Zend_Controller_Dispatcher_Exception('Cannot load controller class "' . $className . '" from file "' . $loadFile . "'"); - } - - if (!class_exists($finalClass, false)) { - require_once 'Zend/Controller/Dispatcher/Exception.php'; - throw new Zend_Controller_Dispatcher_Exception('Invalid controller class ("' . $finalClass . '")'); - } - - return $finalClass; - } - - /** - * Get controller class name - * - * Try request first; if not found, try pulling from request parameter; - * if still not found, fallback to default - * - * @param Zend_Controller_Request_Abstract $request - * @return string|false Returns class name on success - */ - public function getControllerClass(Zend_Controller_Request_Abstract $request) - { - $controllerName = $request->getControllerName(); - if (empty($controllerName)) { - if (!$this->getParam('useDefaultControllerAlways')) { - return false; - } - $controllerName = $this->getDefaultControllerName(); - $request->setControllerName($controllerName); - } - - $className = $this->formatControllerName($controllerName); - - $controllerDirs = $this->getControllerDirectory(); - $module = $request->getModuleName(); - if ($this->isValidModule($module)) { - $this->_curModule = $module; - $this->_curDirectory = $controllerDirs[$module]; - } elseif ($this->isValidModule($this->_defaultModule)) { - $request->setModuleName($this->_defaultModule); - $this->_curModule = $this->_defaultModule; - $this->_curDirectory = $controllerDirs[$this->_defaultModule]; - } else { - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception('No default module defined for this application'); - } - - return $className; - } - - /** - * Determine if a given module is valid - * - * @param string $module - * @return bool - */ - public function isValidModule($module) - { - if (!is_string($module)) { - return false; - } - - $module = strtolower($module); - $controllerDir = $this->getControllerDirectory(); - foreach (array_keys($controllerDir) as $moduleName) { - if ($module == strtolower($moduleName)) { - return true; - } - } - - return false; - } - - /** - * Retrieve default controller class - * - * Determines whether the default controller to use lies within the - * requested module, or if the global default should be used. - * - * By default, will only use the module default unless that controller does - * not exist; if this is the case, it falls back to the default controller - * in the default module. - * - * @param Zend_Controller_Request_Abstract $request - * @return string - */ - public function getDefaultControllerClass(Zend_Controller_Request_Abstract $request) - { - $controller = $this->getDefaultControllerName(); - $default = $this->formatControllerName($controller); - $request->setControllerName($controller) - ->setActionName(null); - - $module = $request->getModuleName(); - $controllerDirs = $this->getControllerDirectory(); - $this->_curModule = $this->_defaultModule; - $this->_curDirectory = $controllerDirs[$this->_defaultModule]; - if ($this->isValidModule($module)) { - $found = false; - if (class_exists($default, false)) { - $found = true; - } else { - $moduleDir = $controllerDirs[$module]; - $fileSpec = $moduleDir . DIRECTORY_SEPARATOR . $this->classToFilename($default); - if (Zend_Loader::isReadable($fileSpec)) { - $found = true; - $this->_curDirectory = $moduleDir; - } - } - if ($found) { - $request->setModuleName($module); - $this->_curModule = $this->formatModuleName($module); - } - } else { - $request->setModuleName($this->_defaultModule); - } - - return $default; - } - - /** - * Return the value of the currently selected dispatch directory (as set by - * {@link getController()}) - * - * @return string - */ - public function getDispatchDirectory() - { - return $this->_curDirectory; - } - - /** - * Determine the action name - * - * First attempt to retrieve from request; then from request params - * using action key; default to default action - * - * Returns formatted action name - * - * @param Zend_Controller_Request_Abstract $request - * @return string - */ - public function getActionMethod(Zend_Controller_Request_Abstract $request) - { - $action = $request->getActionName(); - if (empty($action)) { - $action = $this->getDefaultAction(); - $request->setActionName($action); - } - - return $this->formatActionName($action); - } -} diff --git a/lib/zend/Zend/Controller/Exception.php b/lib/zend/Zend/Controller/Exception.php deleted file mode 100644 index d2fa66abfb..0000000000 --- a/lib/zend/Zend/Controller/Exception.php +++ /dev/null @@ -1,35 +0,0 @@ -_plugins = new Zend_Controller_Plugin_Broker(); - } - - /** - * Enforce singleton; disallow cloning - * - * @return void - */ - private function __clone() - { - } - - /** - * Singleton instance - * - * @return Zend_Controller_Front - */ - public static function getInstance() - { - if (null === self::$_instance) { - self::$_instance = new self(); - } - - return self::$_instance; - } - - /** - * Resets all object properties of the singleton instance - * - * Primarily used for testing; could be used to chain front controllers. - * - * Also resets action helper broker, clearing all registered helpers. - * - * @return void - */ - public function resetInstance() - { - $reflection = new ReflectionObject($this); - foreach ($reflection->getProperties() as $property) { - $name = $property->getName(); - switch ($name) { - case '_instance': - break; - case '_controllerDir': - case '_invokeParams': - $this->{$name} = array(); - break; - case '_plugins': - $this->{$name} = new Zend_Controller_Plugin_Broker(); - break; - case '_throwExceptions': - case '_returnResponse': - $this->{$name} = false; - break; - case '_moduleControllerDirectoryName': - $this->{$name} = 'controllers'; - break; - default: - $this->{$name} = null; - break; - } - } - Zend_Controller_Action_HelperBroker::resetHelpers(); - } - - /** - * Convenience feature, calls setControllerDirectory()->setRouter()->dispatch() - * - * In PHP 5.1.x, a call to a static method never populates $this -- so run() - * may actually be called after setting up your front controller. - * - * @param string|array $controllerDirectory Path to Zend_Controller_Action - * controller classes or array of such paths - * @return void - * @throws Zend_Controller_Exception if called from an object instance - */ - public static function run($controllerDirectory) - { - self::getInstance() - ->setControllerDirectory($controllerDirectory) - ->dispatch(); - } - - /** - * Add a controller directory to the controller directory stack - * - * If $args is presented and is a string, uses it for the array key mapping - * to the directory specified. - * - * @param string $directory - * @param string $module Optional argument; module with which to associate directory. If none provided, assumes 'default' - * @return Zend_Controller_Front - * @throws Zend_Controller_Exception if directory not found or readable - */ - public function addControllerDirectory($directory, $module = null) - { - $this->getDispatcher()->addControllerDirectory($directory, $module); - return $this; - } - - /** - * Set controller directory - * - * Stores controller directory(ies) in dispatcher. May be an array of - * directories or a string containing a single directory. - * - * @param string|array $directory Path to Zend_Controller_Action controller - * classes or array of such paths - * @param string $module Optional module name to use with string $directory - * @return Zend_Controller_Front - */ - public function setControllerDirectory($directory, $module = null) - { - $this->getDispatcher()->setControllerDirectory($directory, $module); - return $this; - } - - /** - * Retrieve controller directory - * - * Retrieves: - * - Array of all controller directories if no $name passed - * - String path if $name passed and exists as a key in controller directory array - * - null if $name passed but does not exist in controller directory keys - * - * @param string $name Default null - * @return array|string|null - */ - public function getControllerDirectory($name = null) - { - return $this->getDispatcher()->getControllerDirectory($name); - } - - /** - * Remove a controller directory by module name - * - * @param string $module - * @return bool - */ - public function removeControllerDirectory($module) - { - return $this->getDispatcher()->removeControllerDirectory($module); - } - - /** - * Specify a directory as containing modules - * - * Iterates through the directory, adding any subdirectories as modules; - * the subdirectory within each module named after {@link $_moduleControllerDirectoryName} - * will be used as the controller directory path. - * - * @param string $path - * @return Zend_Controller_Front - */ - public function addModuleDirectory($path) - { - try{ - $dir = new DirectoryIterator($path); - }catch(Exception $e){ - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception("Directory $path not readable"); - } - foreach ($dir as $file) { - if ($file->isDot() || !$file->isDir()) { - continue; - } - - $module = $file->getFilename(); - - // Don't use SCCS directories as modules - if (preg_match('/^[^a-z]/i', $module) || ('CVS' == $module)) { - continue; - } - - $moduleDir = $file->getPathname() . DIRECTORY_SEPARATOR . $this->getModuleControllerDirectoryName(); - $this->addControllerDirectory($moduleDir, $module); - } - - return $this; - } - - /** - * Return the path to a module directory (but not the controllers directory within) - * - * @param string $module - * @return string|null - */ - public function getModuleDirectory($module = null) - { - if (null === $module) { - $request = $this->getRequest(); - if (null !== $request) { - $module = $this->getRequest()->getModuleName(); - } - if (empty($module)) { - $module = $this->getDispatcher()->getDefaultModule(); - } - } - - $controllerDir = $this->getControllerDirectory($module); - - if ((null === $controllerDir) || !is_string($controllerDir)) { - return null; - } - - return dirname($controllerDir); - } - - /** - * Set the directory name within a module containing controllers - * - * @param string $name - * @return Zend_Controller_Front - */ - public function setModuleControllerDirectoryName($name = 'controllers') - { - $this->_moduleControllerDirectoryName = (string) $name; - - return $this; - } - - /** - * Return the directory name within a module containing controllers - * - * @return string - */ - public function getModuleControllerDirectoryName() - { - return $this->_moduleControllerDirectoryName; - } - - /** - * Set the default controller (unformatted string) - * - * @param string $controller - * @return Zend_Controller_Front - */ - public function setDefaultControllerName($controller) - { - $dispatcher = $this->getDispatcher(); - $dispatcher->setDefaultControllerName($controller); - return $this; - } - - /** - * Retrieve the default controller (unformatted string) - * - * @return string - */ - public function getDefaultControllerName() - { - return $this->getDispatcher()->getDefaultControllerName(); - } - - /** - * Set the default action (unformatted string) - * - * @param string $action - * @return Zend_Controller_Front - */ - public function setDefaultAction($action) - { - $dispatcher = $this->getDispatcher(); - $dispatcher->setDefaultAction($action); - return $this; - } - - /** - * Retrieve the default action (unformatted string) - * - * @return string - */ - public function getDefaultAction() - { - return $this->getDispatcher()->getDefaultAction(); - } - - /** - * Set the default module name - * - * @param string $module - * @return Zend_Controller_Front - */ - public function setDefaultModule($module) - { - $dispatcher = $this->getDispatcher(); - $dispatcher->setDefaultModule($module); - return $this; - } - - /** - * Retrieve the default module - * - * @return string - */ - public function getDefaultModule() - { - return $this->getDispatcher()->getDefaultModule(); - } - - /** - * Set request class/object - * - * Set the request object. The request holds the request environment. - * - * If a class name is provided, it will instantiate it - * - * @param string|Zend_Controller_Request_Abstract $request - * @throws Zend_Controller_Exception if invalid request class - * @return Zend_Controller_Front - */ - public function setRequest($request) - { - if (is_string($request)) { - if (!class_exists($request)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($request); - } - $request = new $request(); - } - if (!$request instanceof Zend_Controller_Request_Abstract) { - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception('Invalid request class'); - } - - $this->_request = $request; - - return $this; - } - - /** - * Return the request object. - * - * @return null|Zend_Controller_Request_Abstract - */ - public function getRequest() - { - return $this->_request; - } - - /** - * Set router class/object - * - * Set the router object. The router is responsible for mapping - * the request to a controller and action. - * - * If a class name is provided, instantiates router with any parameters - * registered via {@link setParam()} or {@link setParams()}. - * - * @param string|Zend_Controller_Router_Interface $router - * @throws Zend_Controller_Exception if invalid router class - * @return Zend_Controller_Front - */ - public function setRouter($router) - { - if (is_string($router)) { - if (!class_exists($router)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($router); - } - $router = new $router(); - } - - if (!$router instanceof Zend_Controller_Router_Interface) { - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception('Invalid router class'); - } - - $router->setFrontController($this); - $this->_router = $router; - - return $this; - } - - /** - * Return the router object. - * - * Instantiates a Zend_Controller_Router_Rewrite object if no router currently set. - * - * @return Zend_Controller_Router_Interface - */ - public function getRouter() - { - if (null == $this->_router) { - require_once 'Zend/Controller/Router/Rewrite.php'; - $this->setRouter(new Zend_Controller_Router_Rewrite()); - } - - return $this->_router; - } - - /** - * Set the base URL used for requests - * - * Use to set the base URL segment of the REQUEST_URI to use when - * determining PATH_INFO, etc. Examples: - * - /admin - * - /myapp - * - /subdir/index.php - * - * Note that the URL should not include the full URI. Do not use: - * - http://example.com/admin - * - http://example.com/myapp - * - http://example.com/subdir/index.php - * - * If a null value is passed, this can be used as well for autodiscovery (default). - * - * @param string $base - * @return Zend_Controller_Front - * @throws Zend_Controller_Exception for non-string $base - */ - public function setBaseUrl($base = null) - { - if (!is_string($base) && (null !== $base)) { - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception('Rewrite base must be a string'); - } - - $this->_baseUrl = $base; - - if ((null !== ($request = $this->getRequest())) && (method_exists($request, 'setBaseUrl'))) { - $request->setBaseUrl($base); - } - - return $this; - } - - /** - * Retrieve the currently set base URL - * - * @return string - */ - public function getBaseUrl() - { - $request = $this->getRequest(); - if ((null !== $request) && method_exists($request, 'getBaseUrl')) { - return $request->getBaseUrl(); - } - - return $this->_baseUrl; - } - - /** - * Set the dispatcher object. The dispatcher is responsible for - * taking a Zend_Controller_Dispatcher_Token object, instantiating the controller, and - * call the action method of the controller. - * - * @param Zend_Controller_Dispatcher_Interface $dispatcher - * @return Zend_Controller_Front - */ - public function setDispatcher(Zend_Controller_Dispatcher_Interface $dispatcher) - { - $this->_dispatcher = $dispatcher; - return $this; - } - - /** - * Return the dispatcher object. - * - * @return Zend_Controller_Dispatcher_Interface - */ - public function getDispatcher() - { - /** - * Instantiate the default dispatcher if one was not set. - */ - if (!$this->_dispatcher instanceof Zend_Controller_Dispatcher_Interface) { - require_once 'Zend/Controller/Dispatcher/Standard.php'; - $this->_dispatcher = new Zend_Controller_Dispatcher_Standard(); - } - return $this->_dispatcher; - } - - /** - * Set response class/object - * - * Set the response object. The response is a container for action - * responses and headers. Usage is optional. - * - * If a class name is provided, instantiates a response object. - * - * @param string|Zend_Controller_Response_Abstract $response - * @throws Zend_Controller_Exception if invalid response class - * @return Zend_Controller_Front - */ - public function setResponse($response) - { - if (is_string($response)) { - if (!class_exists($response)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($response); - } - $response = new $response(); - } - if (!$response instanceof Zend_Controller_Response_Abstract) { - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception('Invalid response class'); - } - - $this->_response = $response; - - return $this; - } - - /** - * Return the response object. - * - * @return null|Zend_Controller_Response_Abstract - */ - public function getResponse() - { - return $this->_response; - } - - /** - * Add or modify a parameter to use when instantiating an action controller - * - * @param string $name - * @param mixed $value - * @return Zend_Controller_Front - */ - public function setParam($name, $value) - { - $name = (string) $name; - $this->_invokeParams[$name] = $value; - return $this; - } - - /** - * Set parameters to pass to action controller constructors - * - * @param array $params - * @return Zend_Controller_Front - */ - public function setParams(array $params) - { - $this->_invokeParams = array_merge($this->_invokeParams, $params); - return $this; - } - - /** - * Retrieve a single parameter from the controller parameter stack - * - * @param string $name - * @return mixed - */ - public function getParam($name) - { - if(isset($this->_invokeParams[$name])) { - return $this->_invokeParams[$name]; - } - - return null; - } - - /** - * Retrieve action controller instantiation parameters - * - * @return array - */ - public function getParams() - { - return $this->_invokeParams; - } - - /** - * Clear the controller parameter stack - * - * By default, clears all parameters. If a parameter name is given, clears - * only that parameter; if an array of parameter names is provided, clears - * each. - * - * @param null|string|array single key or array of keys for params to clear - * @return Zend_Controller_Front - */ - public function clearParams($name = null) - { - if (null === $name) { - $this->_invokeParams = array(); - } elseif (is_string($name) && isset($this->_invokeParams[$name])) { - unset($this->_invokeParams[$name]); - } elseif (is_array($name)) { - foreach ($name as $key) { - if (is_string($key) && isset($this->_invokeParams[$key])) { - unset($this->_invokeParams[$key]); - } - } - } - - return $this; - } - - /** - * Register a plugin. - * - * @param Zend_Controller_Plugin_Abstract $plugin - * @param int $stackIndex Optional; stack index for plugin - * @return Zend_Controller_Front - */ - public function registerPlugin(Zend_Controller_Plugin_Abstract $plugin, $stackIndex = null) - { - $this->_plugins->registerPlugin($plugin, $stackIndex); - return $this; - } - - /** - * Unregister a plugin. - * - * @param string|Zend_Controller_Plugin_Abstract $plugin Plugin class or object to unregister - * @return Zend_Controller_Front - */ - public function unregisterPlugin($plugin) - { - $this->_plugins->unregisterPlugin($plugin); - return $this; - } - - /** - * Is a particular plugin registered? - * - * @param string $class - * @return bool - */ - public function hasPlugin($class) - { - return $this->_plugins->hasPlugin($class); - } - - /** - * Retrieve a plugin or plugins by class - * - * @param string $class - * @return false|Zend_Controller_Plugin_Abstract|array - */ - public function getPlugin($class) - { - return $this->_plugins->getPlugin($class); - } - - /** - * Retrieve all plugins - * - * @return array - */ - public function getPlugins() - { - return $this->_plugins->getPlugins(); - } - - /** - * Set the throwExceptions flag and retrieve current status - * - * Set whether exceptions encounted in the dispatch loop should be thrown - * or caught and trapped in the response object. - * - * Default behaviour is to trap them in the response object; call this - * method to have them thrown. - * - * Passing no value will return the current value of the flag; passing a - * boolean true or false value will set the flag and return the current - * object instance. - * - * @param boolean $flag Defaults to null (return flag state) - * @return boolean|Zend_Controller_Front Used as a setter, returns object; as a getter, returns boolean - */ - public function throwExceptions($flag = null) - { - if ($flag !== null) { - $this->_throwExceptions = (bool) $flag; - return $this; - } - - return $this->_throwExceptions; - } - - /** - * Set whether {@link dispatch()} should return the response without first - * rendering output. By default, output is rendered and dispatch() returns - * nothing. - * - * @param boolean $flag - * @return boolean|Zend_Controller_Front Used as a setter, returns object; as a getter, returns boolean - */ - public function returnResponse($flag = null) - { - if (true === $flag) { - $this->_returnResponse = true; - return $this; - } elseif (false === $flag) { - $this->_returnResponse = false; - return $this; - } - - return $this->_returnResponse; - } - - /** - * Dispatch an HTTP request to a controller/action. - * - * @param Zend_Controller_Request_Abstract|null $request - * @param Zend_Controller_Response_Abstract|null $response - * @return void|Zend_Controller_Response_Abstract Returns response object if returnResponse() is true - */ - public function dispatch(Zend_Controller_Request_Abstract $request = null, Zend_Controller_Response_Abstract $response = null) - { - if (!$this->getParam('noErrorHandler') && !$this->_plugins->hasPlugin('Zend_Controller_Plugin_ErrorHandler')) { - // Register with stack index of 100 - require_once 'Zend/Controller/Plugin/ErrorHandler.php'; - $this->_plugins->registerPlugin(new Zend_Controller_Plugin_ErrorHandler(), 100); - } - - if (!$this->getParam('noViewRenderer') && !Zend_Controller_Action_HelperBroker::hasHelper('viewRenderer')) { - require_once 'Zend/Controller/Action/Helper/ViewRenderer.php'; - Zend_Controller_Action_HelperBroker::getStack()->offsetSet(-80, new Zend_Controller_Action_Helper_ViewRenderer()); - } - - /** - * Instantiate default request object (HTTP version) if none provided - */ - if (null !== $request) { - $this->setRequest($request); - } elseif ((null === $request) && (null === ($request = $this->getRequest()))) { - require_once 'Zend/Controller/Request/Http.php'; - $request = new Zend_Controller_Request_Http(); - $this->setRequest($request); - } - - /** - * Set base URL of request object, if available - */ - if (is_callable(array($this->_request, 'setBaseUrl'))) { - if (null !== $this->_baseUrl) { - $this->_request->setBaseUrl($this->_baseUrl); - } - } - - /** - * Instantiate default response object (HTTP version) if none provided - */ - if (null !== $response) { - $this->setResponse($response); - } elseif ((null === $this->_response) && (null === ($this->_response = $this->getResponse()))) { - require_once 'Zend/Controller/Response/Http.php'; - $response = new Zend_Controller_Response_Http(); - $this->setResponse($response); - } - - /** - * Register request and response objects with plugin broker - */ - $this->_plugins - ->setRequest($this->_request) - ->setResponse($this->_response); - - /** - * Initialize router - */ - $router = $this->getRouter(); - $router->setParams($this->getParams()); - - /** - * Initialize dispatcher - */ - $dispatcher = $this->getDispatcher(); - $dispatcher->setParams($this->getParams()) - ->setResponse($this->_response); - - // Begin dispatch - try { - /** - * Route request to controller/action, if a router is provided - */ - - /** - * Notify plugins of router startup - */ - $this->_plugins->routeStartup($this->_request); - - $router->route($this->_request); - - /** - * Notify plugins of router completion - */ - $this->_plugins->routeShutdown($this->_request); - - /** - * Notify plugins of dispatch loop startup - */ - $this->_plugins->dispatchLoopStartup($this->_request); - - /** - * Attempt to dispatch the controller/action. If the $this->_request - * indicates that it needs to be dispatched, move to the next - * action in the request. - */ - do { - $this->_request->setDispatched(true); - - /** - * Notify plugins of dispatch startup - */ - $this->_plugins->preDispatch($this->_request); - - /** - * Skip requested action if preDispatch() has reset it - */ - if (!$this->_request->isDispatched()) { - continue; - } - - /** - * Dispatch request - */ - try { - $dispatcher->dispatch($this->_request, $this->_response); - } catch (Exception $e) { - if ($this->throwExceptions()) { - throw $e; - } - $this->_response->setException($e); - } - - /** - * Notify plugins of dispatch completion - */ - $this->_plugins->postDispatch($this->_request); - } while (!$this->_request->isDispatched()); - } catch (Exception $e) { - if ($this->throwExceptions()) { - throw $e; - } - - $this->_response->setException($e); - } - - /** - * Notify plugins of dispatch loop completion - */ - try { - $this->_plugins->dispatchLoopShutdown(); - } catch (Exception $e) { - if ($this->throwExceptions()) { - throw $e; - } - - $this->_response->setException($e); - } - - if ($this->returnResponse()) { - return $this->_response; - } - - $this->_response->sendResponse(); - } -} diff --git a/lib/zend/Zend/Controller/Plugin/Abstract.php b/lib/zend/Zend/Controller/Plugin/Abstract.php deleted file mode 100644 index 6105af6586..0000000000 --- a/lib/zend/Zend/Controller/Plugin/Abstract.php +++ /dev/null @@ -1,151 +0,0 @@ -_request = $request; - return $this; - } - - /** - * Get request object - * - * @return Zend_Controller_Request_Abstract $request - */ - public function getRequest() - { - return $this->_request; - } - - /** - * Set response object - * - * @param Zend_Controller_Response_Abstract $response - * @return Zend_Controller_Plugin_Abstract - */ - public function setResponse(Zend_Controller_Response_Abstract $response) - { - $this->_response = $response; - return $this; - } - - /** - * Get response object - * - * @return Zend_Controller_Response_Abstract $response - */ - public function getResponse() - { - return $this->_response; - } - - /** - * Called before Zend_Controller_Front begins evaluating the - * request against its routes. - * - * @param Zend_Controller_Request_Abstract $request - * @return void - */ - public function routeStartup(Zend_Controller_Request_Abstract $request) - {} - - /** - * Called after Zend_Controller_Router exits. - * - * Called after Zend_Controller_Front exits from the router. - * - * @param Zend_Controller_Request_Abstract $request - * @return void - */ - public function routeShutdown(Zend_Controller_Request_Abstract $request) - {} - - /** - * Called before Zend_Controller_Front enters its dispatch loop. - * - * @param Zend_Controller_Request_Abstract $request - * @return void - */ - public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) - {} - - /** - * Called before an action is dispatched by Zend_Controller_Dispatcher. - * - * This callback allows for proxy or filter behavior. By altering the - * request and resetting its dispatched flag (via - * {@link Zend_Controller_Request_Abstract::setDispatched() setDispatched(false)}), - * the current action may be skipped. - * - * @param Zend_Controller_Request_Abstract $request - * @return void - */ - public function preDispatch(Zend_Controller_Request_Abstract $request) - {} - - /** - * Called after an action is dispatched by Zend_Controller_Dispatcher. - * - * This callback allows for proxy or filter behavior. By altering the - * request and resetting its dispatched flag (via - * {@link Zend_Controller_Request_Abstract::setDispatched() setDispatched(false)}), - * a new action may be specified for dispatching. - * - * @param Zend_Controller_Request_Abstract $request - * @return void - */ - public function postDispatch(Zend_Controller_Request_Abstract $request) - {} - - /** - * Called before Zend_Controller_Front exits its dispatch loop. - * - * @return void - */ - public function dispatchLoopShutdown() - {} -} diff --git a/lib/zend/Zend/Controller/Plugin/ActionStack.php b/lib/zend/Zend/Controller/Plugin/ActionStack.php deleted file mode 100644 index 90802fa7c2..0000000000 --- a/lib/zend/Zend/Controller/Plugin/ActionStack.php +++ /dev/null @@ -1,280 +0,0 @@ -setRegistry($registry); - - if (null !== $key) { - $this->setRegistryKey($key); - } else { - $key = $this->getRegistryKey(); - } - - $registry[$key] = array(); - } - - /** - * Set registry object - * - * @param Zend_Registry $registry - * @return Zend_Controller_Plugin_ActionStack - */ - public function setRegistry(Zend_Registry $registry) - { - $this->_registry = $registry; - return $this; - } - - /** - * Retrieve registry object - * - * @return Zend_Registry - */ - public function getRegistry() - { - return $this->_registry; - } - - /** - * Retrieve registry key - * - * @return string - */ - public function getRegistryKey() - { - return $this->_registryKey; - } - - /** - * Set registry key - * - * @param string $key - * @return Zend_Controller_Plugin_ActionStack - */ - public function setRegistryKey($key) - { - $this->_registryKey = (string) $key; - return $this; - } - - /** - * Set clearRequestParams flag - * - * @param bool $clearRequestParams - * @return Zend_Controller_Plugin_ActionStack - */ - public function setClearRequestParams($clearRequestParams) - { - $this->_clearRequestParams = (bool) $clearRequestParams; - return $this; - } - - /** - * Retrieve clearRequestParams flag - * - * @return bool - */ - public function getClearRequestParams() - { - return $this->_clearRequestParams; - } - - /** - * Retrieve action stack - * - * @return array - */ - public function getStack() - { - $registry = $this->getRegistry(); - $stack = $registry[$this->getRegistryKey()]; - return $stack; - } - - /** - * Save stack to registry - * - * @param array $stack - * @return Zend_Controller_Plugin_ActionStack - */ - protected function _saveStack(array $stack) - { - $registry = $this->getRegistry(); - $registry[$this->getRegistryKey()] = $stack; - return $this; - } - - /** - * Push an item onto the stack - * - * @param Zend_Controller_Request_Abstract $next - * @return Zend_Controller_Plugin_ActionStack - */ - public function pushStack(Zend_Controller_Request_Abstract $next) - { - $stack = $this->getStack(); - array_push($stack, $next); - return $this->_saveStack($stack); - } - - /** - * Pop an item off the action stack - * - * @return false|Zend_Controller_Request_Abstract - */ - public function popStack() - { - $stack = $this->getStack(); - if (0 == count($stack)) { - return false; - } - - $next = array_pop($stack); - $this->_saveStack($stack); - - if (!$next instanceof Zend_Controller_Request_Abstract) { - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception('ArrayStack should only contain request objects'); - } - $action = $next->getActionName(); - if (empty($action)) { - return $this->popStack($stack); - } - - $request = $this->getRequest(); - $controller = $next->getControllerName(); - if (empty($controller)) { - $next->setControllerName($request->getControllerName()); - } - - $module = $next->getModuleName(); - if (empty($module)) { - $next->setModuleName($request->getModuleName()); - } - - return $next; - } - - /** - * postDispatch() plugin hook -- check for actions in stack, and dispatch if any found - * - * @param Zend_Controller_Request_Abstract $request - * @return void - */ - public function postDispatch(Zend_Controller_Request_Abstract $request) - { - // Don't move on to next request if this is already an attempt to - // forward - if (!$request->isDispatched()) { - return; - } - - $this->setRequest($request); - $stack = $this->getStack(); - if (empty($stack)) { - return; - } - $next = $this->popStack(); - if (!$next) { - return; - } - - $this->forward($next); - } - - /** - * Forward request with next action - * - * @param array $next - * @return void - */ - public function forward(Zend_Controller_Request_Abstract $next) - { - $request = $this->getRequest(); - if ($this->getClearRequestParams()) { - $request->clearParams(); - } - - $request->setModuleName($next->getModuleName()) - ->setControllerName($next->getControllerName()) - ->setActionName($next->getActionName()) - ->setParams($next->getParams()) - ->setDispatched(false); - } -} diff --git a/lib/zend/Zend/Controller/Plugin/Broker.php b/lib/zend/Zend/Controller/Plugin/Broker.php deleted file mode 100644 index 0e16cf94e2..0000000000 --- a/lib/zend/Zend/Controller/Plugin/Broker.php +++ /dev/null @@ -1,363 +0,0 @@ -_plugins, true)) { - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception('Plugin already registered'); - } - - $stackIndex = (int) $stackIndex; - - if ($stackIndex) { - if (isset($this->_plugins[$stackIndex])) { - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception('Plugin with stackIndex "' . $stackIndex . '" already registered'); - } - $this->_plugins[$stackIndex] = $plugin; - } else { - $stackIndex = count($this->_plugins); - while (isset($this->_plugins[$stackIndex])) { - ++$stackIndex; - } - $this->_plugins[$stackIndex] = $plugin; - } - - $request = $this->getRequest(); - if ($request) { - $this->_plugins[$stackIndex]->setRequest($request); - } - $response = $this->getResponse(); - if ($response) { - $this->_plugins[$stackIndex]->setResponse($response); - } - - ksort($this->_plugins); - - return $this; - } - - /** - * Unregister a plugin. - * - * @param string|Zend_Controller_Plugin_Abstract $plugin Plugin object or class name - * @return Zend_Controller_Plugin_Broker - */ - public function unregisterPlugin($plugin) - { - if ($plugin instanceof Zend_Controller_Plugin_Abstract) { - // Given a plugin object, find it in the array - $key = array_search($plugin, $this->_plugins, true); - if (false === $key) { - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception('Plugin never registered.'); - } - unset($this->_plugins[$key]); - } elseif (is_string($plugin)) { - // Given a plugin class, find all plugins of that class and unset them - foreach ($this->_plugins as $key => $_plugin) { - $type = get_class($_plugin); - if ($plugin == $type) { - unset($this->_plugins[$key]); - } - } - } - return $this; - } - - /** - * Is a plugin of a particular class registered? - * - * @param string $class - * @return bool - */ - public function hasPlugin($class) - { - foreach ($this->_plugins as $plugin) { - $type = get_class($plugin); - if ($class == $type) { - return true; - } - } - - return false; - } - - /** - * Retrieve a plugin or plugins by class - * - * @param string $class Class name of plugin(s) desired - * @return false|Zend_Controller_Plugin_Abstract|array Returns false if none found, plugin if only one found, and array of plugins if multiple plugins of same class found - */ - public function getPlugin($class) - { - $found = array(); - foreach ($this->_plugins as $plugin) { - $type = get_class($plugin); - if ($class == $type) { - $found[] = $plugin; - } - } - - switch (count($found)) { - case 0: - return false; - case 1: - return $found[0]; - default: - return $found; - } - } - - /** - * Retrieve all plugins - * - * @return array - */ - public function getPlugins() - { - return $this->_plugins; - } - - /** - * Set request object, and register with each plugin - * - * @param Zend_Controller_Request_Abstract $request - * @return Zend_Controller_Plugin_Broker - */ - public function setRequest(Zend_Controller_Request_Abstract $request) - { - $this->_request = $request; - - foreach ($this->_plugins as $plugin) { - $plugin->setRequest($request); - } - - return $this; - } - - /** - * Get request object - * - * @return Zend_Controller_Request_Abstract $request - */ - public function getRequest() - { - return $this->_request; - } - - /** - * Set response object - * - * @param Zend_Controller_Response_Abstract $response - * @return Zend_Controller_Plugin_Broker - */ - public function setResponse(Zend_Controller_Response_Abstract $response) - { - $this->_response = $response; - - foreach ($this->_plugins as $plugin) { - $plugin->setResponse($response); - } - - - return $this; - } - - /** - * Get response object - * - * @return Zend_Controller_Response_Abstract $response - */ - public function getResponse() - { - return $this->_response; - } - - - /** - * Called before Zend_Controller_Front begins evaluating the - * request against its routes. - * - * @param Zend_Controller_Request_Abstract $request - * @return void - */ - public function routeStartup(Zend_Controller_Request_Abstract $request) - { - foreach ($this->_plugins as $plugin) { - try { - $plugin->routeStartup($request); - } catch (Exception $e) { - if (Zend_Controller_Front::getInstance()->throwExceptions()) { - throw $e; - } else { - $this->getResponse()->setException($e); - } - } - } - } - - - /** - * Called before Zend_Controller_Front exits its iterations over - * the route set. - * - * @param Zend_Controller_Request_Abstract $request - * @return void - */ - public function routeShutdown(Zend_Controller_Request_Abstract $request) - { - foreach ($this->_plugins as $plugin) { - try { - $plugin->routeShutdown($request); - } catch (Exception $e) { - if (Zend_Controller_Front::getInstance()->throwExceptions()) { - throw $e; - } else { - $this->getResponse()->setException($e); - } - } - } - } - - - /** - * Called before Zend_Controller_Front enters its dispatch loop. - * - * During the dispatch loop, Zend_Controller_Front keeps a - * Zend_Controller_Request_Abstract object, and uses - * Zend_Controller_Dispatcher to dispatch the - * Zend_Controller_Request_Abstract object to controllers/actions. - * - * @param Zend_Controller_Request_Abstract $request - * @return void - */ - public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) - { - foreach ($this->_plugins as $plugin) { - try { - $plugin->dispatchLoopStartup($request); - } catch (Exception $e) { - if (Zend_Controller_Front::getInstance()->throwExceptions()) { - throw $e; - } else { - $this->getResponse()->setException($e); - } - } - } - } - - - /** - * Called before an action is dispatched by Zend_Controller_Dispatcher. - * - * @param Zend_Controller_Request_Abstract $request - * @return void - */ - public function preDispatch(Zend_Controller_Request_Abstract $request) - { - foreach ($this->_plugins as $plugin) { - try { - $plugin->preDispatch($request); - } catch (Exception $e) { - if (Zend_Controller_Front::getInstance()->throwExceptions()) { - throw $e; - } else { - $this->getResponse()->setException($e); - } - } - } - } - - - /** - * Called after an action is dispatched by Zend_Controller_Dispatcher. - * - * @param Zend_Controller_Request_Abstract $request - * @return void - */ - public function postDispatch(Zend_Controller_Request_Abstract $request) - { - foreach ($this->_plugins as $plugin) { - try { - $plugin->postDispatch($request); - } catch (Exception $e) { - if (Zend_Controller_Front::getInstance()->throwExceptions()) { - throw $e; - } else { - $this->getResponse()->setException($e); - } - } - } - } - - - /** - * Called before Zend_Controller_Front exits its dispatch loop. - * - * @param Zend_Controller_Request_Abstract $request - * @return void - */ - public function dispatchLoopShutdown() - { - foreach ($this->_plugins as $plugin) { - try { - $plugin->dispatchLoopShutdown(); - } catch (Exception $e) { - if (Zend_Controller_Front::getInstance()->throwExceptions()) { - throw $e; - } else { - $this->getResponse()->setException($e); - } - } - } - } -} diff --git a/lib/zend/Zend/Controller/Plugin/ErrorHandler.php b/lib/zend/Zend/Controller/Plugin/ErrorHandler.php deleted file mode 100644 index ffc50b97e1..0000000000 --- a/lib/zend/Zend/Controller/Plugin/ErrorHandler.php +++ /dev/null @@ -1,257 +0,0 @@ -setErrorHandler($options); - } - - /** - * setErrorHandler() - setup the error handling options - * - * @param array $options - * @return Zend_Controller_Plugin_ErrorHandler - */ - public function setErrorHandler(Array $options = array()) - { - if (isset($options['module'])) { - $this->setErrorHandlerModule($options['module']); - } - if (isset($options['controller'])) { - $this->setErrorHandlerController($options['controller']); - } - if (isset($options['action'])) { - $this->setErrorHandlerAction($options['action']); - } - return $this; - } - - /** - * Set the module name for the error handler - * - * @param string $module - * @return Zend_Controller_Plugin_ErrorHandler - */ - public function setErrorHandlerModule($module) - { - $this->_errorModule = (string) $module; - return $this; - } - - /** - * Retrieve the current error handler module - * - * @return string - */ - public function getErrorHandlerModule() - { - if (null === $this->_errorModule) { - $this->_errorModule = Zend_Controller_Front::getInstance()->getDispatcher()->getDefaultModule(); - } - return $this->_errorModule; - } - - /** - * Set the controller name for the error handler - * - * @param string $controller - * @return Zend_Controller_Plugin_ErrorHandler - */ - public function setErrorHandlerController($controller) - { - $this->_errorController = (string) $controller; - return $this; - } - - /** - * Retrieve the current error handler controller - * - * @return string - */ - public function getErrorHandlerController() - { - return $this->_errorController; - } - - /** - * Set the action name for the error handler - * - * @param string $action - * @return Zend_Controller_Plugin_ErrorHandler - */ - public function setErrorHandlerAction($action) - { - $this->_errorAction = (string) $action; - return $this; - } - - /** - * Retrieve the current error handler action - * - * @return string - */ - public function getErrorHandlerAction() - { - return $this->_errorAction; - } - - /** - * postDispatch() plugin hook -- check for exceptions and dispatch error - * handler if necessary - * - * If the 'noErrorHandler' front controller flag has been set, - * returns early. - * - * @param Zend_Controller_Request_Abstract $request - * @return void - */ - public function postDispatch(Zend_Controller_Request_Abstract $request) - { - $frontController = Zend_Controller_Front::getInstance(); - if ($frontController->getParam('noErrorHandler')) { - return; - } - - $response = $this->getResponse(); - - if ($this->_isInsideErrorHandlerLoop) { - $exceptions = $response->getException(); - if (count($exceptions) > $this->_exceptionCountAtFirstEncounter) { - // Exception thrown by error handler; tell the front controller to throw it - $frontController->throwExceptions(true); - throw array_pop($exceptions); - } - } - - // check for an exception AND allow the error handler controller the option to forward - if (($response->isException()) && (!$this->_isInsideErrorHandlerLoop)) { - $this->_isInsideErrorHandlerLoop = true; - - // Get exception information - $error = new ArrayObject(array(), ArrayObject::ARRAY_AS_PROPS); - $exceptions = $response->getException(); - $exception = $exceptions[0]; - $exceptionType = get_class($exception); - $error->exception = $exception; - switch ($exceptionType) { - case 'Zend_Controller_Dispatcher_Exception': - $error->type = self::EXCEPTION_NO_CONTROLLER; - break; - case 'Zend_Controller_Action_Exception': - if (404 == $exception->getCode()) { - $error->type = self::EXCEPTION_NO_ACTION; - } else { - $error->type = self::EXCEPTION_OTHER; - } - break; - default: - $error->type = self::EXCEPTION_OTHER; - break; - } - - // Keep a copy of the original request - $error->request = clone $request; - - // get a count of the number of exceptions encountered - $this->_exceptionCountAtFirstEncounter = count($exceptions); - - // Forward to the error handler - $request->setParam('error_handler', $error) - ->setModuleName($this->getErrorHandlerModule()) - ->setControllerName($this->getErrorHandlerController()) - ->setActionName($this->getErrorHandlerAction()) - ->setDispatched(false); - } - } -} diff --git a/lib/zend/Zend/Controller/Plugin/PutHandler.php b/lib/zend/Zend/Controller/Plugin/PutHandler.php deleted file mode 100644 index 0695f91481..0000000000 --- a/lib/zend/Zend/Controller/Plugin/PutHandler.php +++ /dev/null @@ -1,60 +0,0 @@ -_request->isPut()) { - $putParams = array(); - parse_str($this->_request->getRawBody(), $putParams); - $request->setParams($putParams); - } - } -} diff --git a/lib/zend/Zend/Controller/Request/Abstract.php b/lib/zend/Zend/Controller/Request/Abstract.php deleted file mode 100644 index 0496ae9e36..0000000000 --- a/lib/zend/Zend/Controller/Request/Abstract.php +++ /dev/null @@ -1,356 +0,0 @@ -_module) { - $this->_module = $this->getParam($this->getModuleKey()); - } - - return $this->_module; - } - - /** - * Set the module name to use - * - * @param string $value - * @return Zend_Controller_Request_Abstract - */ - public function setModuleName($value) - { - $this->_module = $value; - return $this; - } - - /** - * Retrieve the controller name - * - * @return string - */ - public function getControllerName() - { - if (null === $this->_controller) { - $this->_controller = $this->getParam($this->getControllerKey()); - } - - return $this->_controller; - } - - /** - * Set the controller name to use - * - * @param string $value - * @return Zend_Controller_Request_Abstract - */ - public function setControllerName($value) - { - $this->_controller = $value; - return $this; - } - - /** - * Retrieve the action name - * - * @return string - */ - public function getActionName() - { - if (null === $this->_action) { - $this->_action = $this->getParam($this->getActionKey()); - } - - return $this->_action; - } - - /** - * Set the action name - * - * @param string $value - * @return Zend_Controller_Request_Abstract - */ - public function setActionName($value) - { - $this->_action = $value; - /** - * @see ZF-3465 - */ - if (null === $value) { - $this->setParam($this->getActionKey(), $value); - } - return $this; - } - - /** - * Retrieve the module key - * - * @return string - */ - public function getModuleKey() - { - return $this->_moduleKey; - } - - /** - * Set the module key - * - * @param string $key - * @return Zend_Controller_Request_Abstract - */ - public function setModuleKey($key) - { - $this->_moduleKey = (string) $key; - return $this; - } - - /** - * Retrieve the controller key - * - * @return string - */ - public function getControllerKey() - { - return $this->_controllerKey; - } - - /** - * Set the controller key - * - * @param string $key - * @return Zend_Controller_Request_Abstract - */ - public function setControllerKey($key) - { - $this->_controllerKey = (string) $key; - return $this; - } - - /** - * Retrieve the action key - * - * @return string - */ - public function getActionKey() - { - return $this->_actionKey; - } - - /** - * Set the action key - * - * @param string $key - * @return Zend_Controller_Request_Abstract - */ - public function setActionKey($key) - { - $this->_actionKey = (string) $key; - return $this; - } - - /** - * Get an action parameter - * - * @param string $key - * @param mixed $default Default value to use if key not found - * @return mixed - */ - public function getParam($key, $default = null) - { - $key = (string) $key; - if (isset($this->_params[$key])) { - return $this->_params[$key]; - } - - return $default; - } - - /** - * Retrieve only user params (i.e, any param specific to the object and not the environment) - * - * @return array - */ - public function getUserParams() - { - return $this->_params; - } - - /** - * Retrieve a single user param (i.e, a param specific to the object and not the environment) - * - * @param string $key - * @param string $default Default value to use if key not found - * @return mixed - */ - public function getUserParam($key, $default = null) - { - if (isset($this->_params[$key])) { - return $this->_params[$key]; - } - - return $default; - } - - /** - * Set an action parameter - * - * A $value of null will unset the $key if it exists - * - * @param string $key - * @param mixed $value - * @return Zend_Controller_Request_Abstract - */ - public function setParam($key, $value) - { - $key = (string) $key; - - if ((null === $value) && isset($this->_params[$key])) { - unset($this->_params[$key]); - } elseif (null !== $value) { - $this->_params[$key] = $value; - } - - return $this; - } - - /** - * Get all action parameters - * - * @return array - */ - public function getParams() - { - return $this->_params; - } - - /** - * Set action parameters en masse; does not overwrite - * - * Null values will unset the associated key. - * - * @param array $array - * @return Zend_Controller_Request_Abstract - */ - public function setParams(array $array) - { - $this->_params = $this->_params + (array) $array; - - foreach ($this->_params as $key => $value) { - if (null === $value) { - unset($this->_params[$key]); - } - } - - return $this; - } - - /** - * Unset all user parameters - * - * @return Zend_Controller_Request_Abstract - */ - public function clearParams() - { - $this->_params = array(); - return $this; - } - - /** - * Set flag indicating whether or not request has been dispatched - * - * @param boolean $flag - * @return Zend_Controller_Request_Abstract - */ - public function setDispatched($flag = true) - { - $this->_dispatched = $flag ? true : false; - return $this; - } - - /** - * Determine if the request has been dispatched - * - * @return boolean - */ - public function isDispatched() - { - return $this->_dispatched; - } -} diff --git a/lib/zend/Zend/Controller/Request/Apache404.php b/lib/zend/Zend/Controller/Request/Apache404.php deleted file mode 100644 index 3e5caef1ce..0000000000 --- a/lib/zend/Zend/Controller/Request/Apache404.php +++ /dev/null @@ -1,82 +0,0 @@ -_requestUri = $requestUri; - return $this; - } -} diff --git a/lib/zend/Zend/Controller/Request/Exception.php b/lib/zend/Zend/Controller/Request/Exception.php deleted file mode 100644 index 35b8f44cfa..0000000000 --- a/lib/zend/Zend/Controller/Request/Exception.php +++ /dev/null @@ -1,37 +0,0 @@ -valid()) { - $path = $uri->getPath(); - $query = $uri->getQuery(); - if (!empty($query)) { - $path .= '?' . $query; - } - - $this->setRequestUri($path); - } else { - require_once 'Zend/Controller/Request/Exception.php'; - throw new Zend_Controller_Request_Exception('Invalid URI provided to constructor'); - } - } else { - $this->setRequestUri(); - } - } - - /** - * Access values contained in the superglobals as public members - * Order of precedence: 1. GET, 2. POST, 3. COOKIE, 4. SERVER, 5. ENV - * - * @see http://msdn.microsoft.com/en-us/library/system.web.httprequest.item.aspx - * @param string $key - * @return mixed - */ - public function __get($key) - { - switch (true) { - case isset($this->_params[$key]): - return $this->_params[$key]; - case isset($_GET[$key]): - return $_GET[$key]; - case isset($_POST[$key]): - return $_POST[$key]; - case isset($_COOKIE[$key]): - return $_COOKIE[$key]; - case ($key == 'REQUEST_URI'): - return $this->getRequestUri(); - case ($key == 'PATH_INFO'): - return $this->getPathInfo(); - case isset($_SERVER[$key]): - return $_SERVER[$key]; - case isset($_ENV[$key]): - return $_ENV[$key]; - default: - return null; - } - } - - /** - * Alias to __get - * - * @param string $key - * @return mixed - */ - public function get($key) - { - return $this->__get($key); - } - - /** - * Set values - * - * In order to follow {@link __get()}, which operates on a number of - * superglobals, setting values through overloading is not allowed and will - * raise an exception. Use setParam() instead. - * - * @param string $key - * @param mixed $value - * @return void - * @throws Zend_Controller_Request_Exception - */ - public function __set($key, $value) - { - require_once 'Zend/Controller/Request/Exception.php'; - throw new Zend_Controller_Request_Exception('Setting values in superglobals not allowed; please use setParam()'); - } - - /** - * Alias to __set() - * - * @param string $key - * @param mixed $value - * @return void - */ - public function set($key, $value) - { - return $this->__set($key, $value); - } - - /** - * Check to see if a property is set - * - * @param string $key - * @return boolean - */ - public function __isset($key) - { - switch (true) { - case isset($this->_params[$key]): - return true; - case isset($_GET[$key]): - return true; - case isset($_POST[$key]): - return true; - case isset($_COOKIE[$key]): - return true; - case isset($_SERVER[$key]): - return true; - case isset($_ENV[$key]): - return true; - default: - return false; - } - } - - /** - * Alias to __isset() - * - * @param string $key - * @return boolean - */ - public function has($key) - { - return $this->__isset($key); - } - - /** - * Set GET values - * - * @param string|array $spec - * @param null|mixed $value - * @return Zend_Controller_Request_Http - */ - public function setQuery($spec, $value = null) - { - if ((null === $value) && !is_array($spec)) { - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception('Invalid value passed to setQuery(); must be either array of values or key/value pair'); - } - if ((null === $value) && is_array($spec)) { - foreach ($spec as $key => $value) { - $this->setQuery($key, $value); - } - return $this; - } - $_GET[(string) $spec] = $value; - return $this; - } - - /** - * Retrieve a member of the $_GET superglobal - * - * If no $key is passed, returns the entire $_GET array. - * - * @todo How to retrieve from nested arrays - * @param string $key - * @param mixed $default Default value to use if key not found - * @return mixed Returns null if key does not exist - */ - public function getQuery($key = null, $default = null) - { - if (null === $key) { - return $_GET; - } - - return (isset($_GET[$key])) ? $_GET[$key] : $default; - } - - /** - * Set POST values - * - * @param string|array $spec - * @param null|mixed $value - * @return Zend_Controller_Request_Http - */ - public function setPost($spec, $value = null) - { - if ((null === $value) && !is_array($spec)) { - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception('Invalid value passed to setPost(); must be either array of values or key/value pair'); - } - if ((null === $value) && is_array($spec)) { - foreach ($spec as $key => $value) { - $this->setPost($key, $value); - } - return $this; - } - $_POST[(string) $spec] = $value; - return $this; - } - - /** - * Retrieve a member of the $_POST superglobal - * - * If no $key is passed, returns the entire $_POST array. - * - * @todo How to retrieve from nested arrays - * @param string $key - * @param mixed $default Default value to use if key not found - * @return mixed Returns null if key does not exist - */ - public function getPost($key = null, $default = null) - { - if (null === $key) { - return $_POST; - } - - return (isset($_POST[$key])) ? $_POST[$key] : $default; - } - - /** - * Retrieve a member of the $_COOKIE superglobal - * - * If no $key is passed, returns the entire $_COOKIE array. - * - * @todo How to retrieve from nested arrays - * @param string $key - * @param mixed $default Default value to use if key not found - * @return mixed Returns null if key does not exist - */ - public function getCookie($key = null, $default = null) - { - if (null === $key) { - return $_COOKIE; - } - - return (isset($_COOKIE[$key])) ? $_COOKIE[$key] : $default; - } - - /** - * Retrieve a member of the $_SERVER superglobal - * - * If no $key is passed, returns the entire $_SERVER array. - * - * @param string $key - * @param mixed $default Default value to use if key not found - * @return mixed Returns null if key does not exist - */ - public function getServer($key = null, $default = null) - { - if (null === $key) { - return $_SERVER; - } - - return (isset($_SERVER[$key])) ? $_SERVER[$key] : $default; - } - - /** - * Retrieve a member of the $_ENV superglobal - * - * If no $key is passed, returns the entire $_ENV array. - * - * @param string $key - * @param mixed $default Default value to use if key not found - * @return mixed Returns null if key does not exist - */ - public function getEnv($key = null, $default = null) - { - if (null === $key) { - return $_ENV; - } - - return (isset($_ENV[$key])) ? $_ENV[$key] : $default; - } - - /** - * Set the REQUEST_URI on which the instance operates - * - * If no request URI is passed, uses the value in $_SERVER['REQUEST_URI'], - * $_SERVER['HTTP_X_REWRITE_URL'], or $_SERVER['ORIG_PATH_INFO'] + $_SERVER['QUERY_STRING']. - * - * @param string $requestUri - * @return Zend_Controller_Request_Http - */ - public function setRequestUri($requestUri = null) - { - if ($requestUri === null) { - if (isset($_SERVER['HTTP_X_REWRITE_URL'])) { // check this first so IIS will catch - $requestUri = $_SERVER['HTTP_X_REWRITE_URL']; - } elseif ( - // IIS7 with URL Rewrite: make sure we get the unencoded url (double slash problem) - isset($_SERVER['IIS_WasUrlRewritten']) - && $_SERVER['IIS_WasUrlRewritten'] == '1' - && isset($_SERVER['UNENCODED_URL']) - && $_SERVER['UNENCODED_URL'] != '' - ) { - $requestUri = $_SERVER['UNENCODED_URL']; - } elseif (isset($_SERVER['REQUEST_URI'])) { - $requestUri = $_SERVER['REQUEST_URI']; - // Http proxy reqs setup request uri with scheme and host [and port] + the url path, only use url path - $schemeAndHttpHost = $this->getScheme() . '://' . $this->getHttpHost(); - if (strpos($requestUri, $schemeAndHttpHost) === 0) { - $requestUri = substr($requestUri, strlen($schemeAndHttpHost)); - } - } elseif (isset($_SERVER['ORIG_PATH_INFO'])) { // IIS 5.0, PHP as CGI - $requestUri = $_SERVER['ORIG_PATH_INFO']; - if (!empty($_SERVER['QUERY_STRING'])) { - $requestUri .= '?' . $_SERVER['QUERY_STRING']; - } - } else { - return $this; - } - } elseif (!is_string($requestUri)) { - return $this; - } else { - // Set GET items, if available - if (false !== ($pos = strpos($requestUri, '?'))) { - // Get key => value pairs and set $_GET - $query = substr($requestUri, $pos + 1); - parse_str($query, $vars); - $this->setQuery($vars); - } - } - - $this->_requestUri = $requestUri; - return $this; - } - - /** - * Returns the REQUEST_URI taking into account - * platform differences between Apache and IIS - * - * @return string - */ - public function getRequestUri() - { - if (empty($this->_requestUri)) { - $this->setRequestUri(); - } - - return $this->_requestUri; - } - - /** - * Set the base URL of the request; i.e., the segment leading to the script name - * - * E.g.: - * - /admin - * - /myapp - * - /subdir/index.php - * - * Do not use the full URI when providing the base. The following are - * examples of what not to use: - * - http://example.com/admin (should be just /admin) - * - http://example.com/subdir/index.php (should be just /subdir/index.php) - * - * If no $baseUrl is provided, attempts to determine the base URL from the - * environment, using SCRIPT_FILENAME, SCRIPT_NAME, PHP_SELF, and - * ORIG_SCRIPT_NAME in its determination. - * - * @param mixed $baseUrl - * @return Zend_Controller_Request_Http - */ - public function setBaseUrl($baseUrl = null) - { - if ((null !== $baseUrl) && !is_string($baseUrl)) { - return $this; - } - - if ($baseUrl === null) { - $filename = (isset($_SERVER['SCRIPT_FILENAME'])) ? basename($_SERVER['SCRIPT_FILENAME']) : ''; - - if (isset($_SERVER['SCRIPT_NAME']) && basename($_SERVER['SCRIPT_NAME']) === $filename) { - $baseUrl = $_SERVER['SCRIPT_NAME']; - } elseif (isset($_SERVER['PHP_SELF']) && basename($_SERVER['PHP_SELF']) === $filename) { - $baseUrl = $_SERVER['PHP_SELF']; - } elseif (isset($_SERVER['ORIG_SCRIPT_NAME']) && basename($_SERVER['ORIG_SCRIPT_NAME']) === $filename) { - $baseUrl = $_SERVER['ORIG_SCRIPT_NAME']; // 1and1 shared hosting compatibility - } else { - // Backtrack up the script_filename to find the portion matching - // php_self - $path = isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : ''; - $file = isset($_SERVER['SCRIPT_FILENAME']) ? $_SERVER['SCRIPT_FILENAME'] : ''; - $segs = explode('/', trim($file, '/')); - $segs = array_reverse($segs); - $index = 0; - $last = count($segs); - $baseUrl = ''; - do { - $seg = $segs[$index]; - $baseUrl = '/' . $seg . $baseUrl; - ++$index; - } while (($last > $index) && (false !== ($pos = strpos($path, $baseUrl))) && (0 != $pos)); - } - - // Does the baseUrl have anything in common with the request_uri? - $requestUri = $this->getRequestUri(); - - if (0 === strpos($requestUri, $baseUrl)) { - // full $baseUrl matches - $this->_baseUrl = $baseUrl; - return $this; - } - - if (0 === strpos($requestUri, dirname($baseUrl))) { - // directory portion of $baseUrl matches - $this->_baseUrl = rtrim(dirname($baseUrl), '/'); - return $this; - } - - $basename = basename($baseUrl); - if (empty($basename) || !strpos($requestUri, $basename)) { - // no match whatsoever; set it blank - $this->_baseUrl = ''; - return $this; - } - - // If using mod_rewrite or ISAPI_Rewrite strip the script filename - // out of baseUrl. $pos !== 0 makes sure it is not matching a value - // from PATH_INFO or QUERY_STRING - if ((strlen($requestUri) >= strlen($baseUrl)) - && ((false !== ($pos = strpos($requestUri, $baseUrl))) && ($pos !== 0))) - { - $baseUrl = substr($requestUri, 0, $pos + strlen($baseUrl)); - } - } - - $this->_baseUrl = rtrim($baseUrl, '/'); - return $this; - } - - /** - * Everything in REQUEST_URI before PATH_INFO - *
- * - * @return string - */ - public function getBaseUrl() - { - if (null === $this->_baseUrl) { - $this->setBaseUrl(); - } - - return $this->_baseUrl; - } - - /** - * Set the base path for the URL - * - * @param string|null $basePath - * @return Zend_Controller_Request_Http - */ - public function setBasePath($basePath = null) - { - if ($basePath === null) { - $filename = (isset($_SERVER['SCRIPT_FILENAME'])) - ? basename($_SERVER['SCRIPT_FILENAME']) - : ''; - - $baseUrl = $this->getBaseUrl(); - if (empty($baseUrl)) { - $this->_basePath = ''; - return $this; - } - - if (basename($baseUrl) === $filename) { - $basePath = dirname($baseUrl); - } else { - $basePath = $baseUrl; - } - } - - if (substr(PHP_OS, 0, 3) === 'WIN') { - $basePath = str_replace('\\', '/', $basePath); - } - - $this->_basePath = rtrim($basePath, '/'); - return $this; - } - - /** - * Everything in REQUEST_URI before PATH_INFO not including the filename - * - * - * @return string - */ - public function getBasePath() - { - if (null === $this->_basePath) { - $this->setBasePath(); - } - - return $this->_basePath; - } - - /** - * Set the PATH_INFO string - * - * @param string|null $pathInfo - * @return Zend_Controller_Request_Http - */ - public function setPathInfo($pathInfo = null) - { - if ($pathInfo === null) { - $baseUrl = $this->getBaseUrl(); - - if (null === ($requestUri = $this->getRequestUri())) { - return $this; - } - - // Remove the query string from REQUEST_URI - if ($pos = strpos($requestUri, '?')) { - $requestUri = substr($requestUri, 0, $pos); - } - - if ((null !== $baseUrl) - && (false === ($pathInfo = substr($requestUri, strlen($baseUrl))))) - { - // If substr() returns false then PATH_INFO is set to an empty string - $pathInfo = ''; - } elseif (null === $baseUrl) { - $pathInfo = $requestUri; - } - } - - $this->_pathInfo = (string) $pathInfo; - return $this; - } - - /** - * Returns everything between the BaseUrl and QueryString. - * This value is calculated instead of reading PATH_INFO - * directly from $_SERVER due to cross-platform differences. - * - * @return string - */ - public function getPathInfo() - { - if (empty($this->_pathInfo)) { - $this->setPathInfo(); - } - - return $this->_pathInfo; - } - - /** - * Set allowed parameter sources - * - * Can be empty array, or contain one or more of '_GET' or '_POST'. - * - * @param array $paramSoures - * @return Zend_Controller_Request_Http - */ - public function setParamSources(array $paramSources = array()) - { - $this->_paramSources = $paramSources; - return $this; - } - - /** - * Get list of allowed parameter sources - * - * @return array - */ - public function getParamSources() - { - return $this->_paramSources; - } - - /** - * Set a userland parameter - * - * Uses $key to set a userland parameter. If $key is an alias, the actual - * key will be retrieved and used to set the parameter. - * - * @param mixed $key - * @param mixed $value - * @return Zend_Controller_Request_Http - */ - public function setParam($key, $value) - { - $key = (null !== ($alias = $this->getAlias($key))) ? $alias : $key; - parent::setParam($key, $value); - return $this; - } - - /** - * Retrieve a parameter - * - * Retrieves a parameter from the instance. Priority is in the order of - * userland parameters (see {@link setParam()}), $_GET, $_POST. If a - * parameter matching the $key is not found, null is returned. - * - * If the $key is an alias, the actual key aliased will be used. - * - * @param mixed $key - * @param mixed $default Default value to use if key not found - * @return mixed - */ - public function getParam($key, $default = null) - { - $keyName = (null !== ($alias = $this->getAlias($key))) ? $alias : $key; - - $paramSources = $this->getParamSources(); - if (isset($this->_params[$keyName])) { - return $this->_params[$keyName]; - } elseif (in_array('_GET', $paramSources) && (isset($_GET[$keyName]))) { - return $_GET[$keyName]; - } elseif (in_array('_POST', $paramSources) && (isset($_POST[$keyName]))) { - return $_POST[$keyName]; - } - - return $default; - } - - /** - * Retrieve an array of parameters - * - * Retrieves a merged array of parameters, with precedence of userland - * params (see {@link setParam()}), $_GET, $POST (i.e., values in the - * userland params will take precedence over all others). - * - * @return array - */ - public function getParams() - { - $return = $this->_params; - $paramSources = $this->getParamSources(); - if (in_array('_GET', $paramSources) - && isset($_GET) - && is_array($_GET) - ) { - $return += $_GET; - } - if (in_array('_POST', $paramSources) - && isset($_POST) - && is_array($_POST) - ) { - $return += $_POST; - } - return $return; - } - - /** - * Set parameters - * - * Set one or more parameters. Parameters are set as userland parameters, - * using the keys specified in the array. - * - * @param array $params - * @return Zend_Controller_Request_Http - */ - public function setParams(array $params) - { - foreach ($params as $key => $value) { - $this->setParam($key, $value); - } - return $this; - } - - /** - * Set a key alias - * - * Set an alias used for key lookups. $name specifies the alias, $target - * specifies the actual key to use. - * - * @param string $name - * @param string $target - * @return Zend_Controller_Request_Http - */ - public function setAlias($name, $target) - { - $this->_aliases[$name] = $target; - return $this; - } - - /** - * Retrieve an alias - * - * Retrieve the actual key represented by the alias $name. - * - * @param string $name - * @return string|null Returns null when no alias exists - */ - public function getAlias($name) - { - if (isset($this->_aliases[$name])) { - return $this->_aliases[$name]; - } - - return null; - } - - /** - * Retrieve the list of all aliases - * - * @return array - */ - public function getAliases() - { - return $this->_aliases; - } - - /** - * Return the method by which the request was made - * - * @return string - */ - public function getMethod() - { - return $this->getServer('REQUEST_METHOD'); - } - - /** - * Was the request made by POST? - * - * @return boolean - */ - public function isPost() - { - if ('POST' == $this->getMethod()) { - return true; - } - - return false; - } - - /** - * Was the request made by GET? - * - * @return boolean - */ - public function isGet() - { - if ('GET' == $this->getMethod()) { - return true; - } - - return false; - } - - /** - * Was the request made by PUT? - * - * @return boolean - */ - public function isPut() - { - if ('PUT' == $this->getMethod()) { - return true; - } - - return false; - } - - /** - * Was the request made by DELETE? - * - * @return boolean - */ - public function isDelete() - { - if ('DELETE' == $this->getMethod()) { - return true; - } - - return false; - } - - /** - * Was the request made by HEAD? - * - * @return boolean - */ - public function isHead() - { - if ('HEAD' == $this->getMethod()) { - return true; - } - - return false; - } - - /** - * Was the request made by OPTIONS? - * - * @return boolean - */ - public function isOptions() - { - if ('OPTIONS' == $this->getMethod()) { - return true; - } - - return false; - } - - /** - * Is the request a Javascript XMLHttpRequest? - * - * Should work with Prototype/Script.aculo.us, possibly others. - * - * @return boolean - */ - public function isXmlHttpRequest() - { - return ($this->getHeader('X_REQUESTED_WITH') == 'XMLHttpRequest'); - } - - /** - * Is this a Flash request? - * - * @return bool - */ - public function isFlashRequest() - { - $header = strtolower($this->getHeader('USER_AGENT')); - return (strstr($header, ' flash')) ? true : false; - } - - /** - * Is https secure request - * - * @return boolean - */ - public function isSecure() - { - return ($this->getScheme() === self::SCHEME_HTTPS); - } - - /** - * Return the raw body of the request, if present - * - * @return string|false Raw body, or false if not present - */ - public function getRawBody() - { - if (null === $this->_rawBody) { - $body = file_get_contents('php://input'); - - if (strlen(trim($body)) > 0) { - $this->_rawBody = $body; - } else { - $this->_rawBody = false; - } - } - return $this->_rawBody; - } - - /** - * Return the value of the given HTTP header. Pass the header name as the - * plain, HTTP-specified header name. Ex.: Ask for 'Accept' to get the - * Accept header, 'Accept-Encoding' to get the Accept-Encoding header. - * - * @param string $header HTTP header name - * @return string|false HTTP header value, or false if not found - * @throws Zend_Controller_Request_Exception - */ - public function getHeader($header) - { - if (empty($header)) { - require_once 'Zend/Controller/Request/Exception.php'; - throw new Zend_Controller_Request_Exception('An HTTP header name is required'); - } - - // Try to get it from the $_SERVER array first - $temp = 'HTTP_' . strtoupper(str_replace('-', '_', $header)); - if (!empty($_SERVER[$temp])) { - return $_SERVER[$temp]; - } - - // This seems to be the only way to get the Authorization header on - // Apache - if (function_exists('apache_request_headers')) { - $headers = apache_request_headers(); - if (!empty($headers[$header])) { - return $headers[$header]; - } - } - - return false; - } - - /** - * Get the request URI scheme - * - * @return string - */ - public function getScheme() - { - return ($this->getServer('HTTPS') == 'on') ? self::SCHEME_HTTPS : self::SCHEME_HTTP; - } - - /** - * Get the HTTP host. - * - * "Host" ":" host [ ":" port ] ; Section 3.2.2 - * Note the HTTP Host header is not the same as the URI host. - * It includes the port while the URI host doesn't. - * - * @return string - */ - public function getHttpHost() - { - $host = $this->getServer('HTTP_HOST'); - if (!empty($host)) { - return $host; - } - - $scheme = $this->getScheme(); - $name = $this->getServer('SERVER_NAME'); - $port = $this->getServer('SERVER_PORT'); - - if (($scheme == self::SCHEME_HTTP && $port == 80) || ($scheme == self::SCHEME_HTTPS && $port == 443)) { - return $name; - } else { - return $name . ':' . $port; - } - } - - /** - * Get the client's IP addres - * - * @return string - */ - public function getClientIp($checkProxy = true) - { - if ($checkProxy && $this->getServer('HTTP_CLIENT_IP') != null) { - $ip = $this->getServer('HTTP_CLIENT_IP'); - } else if ($checkProxy && $this->getServer('HTTP_X_FORWARDED_FOR') != null) { - $ip = $this->getServer('HTTP_X_FORWARDED_FOR'); - } else { - $ip = $this->getServer('REMOTE_ADDR'); - } - - return $ip; - } -} diff --git a/lib/zend/Zend/Controller/Request/HttpTestCase.php b/lib/zend/Zend/Controller/Request/HttpTestCase.php deleted file mode 100644 index 9ecf577adc..0000000000 --- a/lib/zend/Zend/Controller/Request/HttpTestCase.php +++ /dev/null @@ -1,276 +0,0 @@ -_rawBody = (string) $content; - return $this; - } - - /** - * Get RAW POST body - * - * @return string|null - */ - public function getRawBody() - { - return $this->_rawBody; - } - - /** - * Clear raw POST body - * - * @return Zend_Controller_Request_HttpTestCase - */ - public function clearRawBody() - { - $this->_rawBody = null; - return $this; - } - - /** - * Set a cookie - * - * @param string $key - * @param mixed $value - * @return Zend_Controller_Request_HttpTestCase - */ - public function setCookie($key, $value) - { - $_COOKIE[(string) $key] = $value; - return $this; - } - - /** - * Set multiple cookies at once - * - * @param array $cookies - * @return void - */ - public function setCookies(array $cookies) - { - foreach ($cookies as $key => $value) { - $_COOKIE[$key] = $value; - } - return $this; - } - - /** - * Clear all cookies - * - * @return Zend_Controller_Request_HttpTestCase - */ - public function clearCookies() - { - $_COOKIE = array(); - return $this; - } - - /** - * Set request method - * - * @param string $type - * @return Zend_Controller_Request_HttpTestCase - */ - public function setMethod($type) - { - $type = strtoupper(trim((string) $type)); - if (!in_array($type, $this->_validMethodTypes)) { - require_once 'Zend/Controller/Exception.php'; - throw new Zend_Controller_Exception('Invalid request method specified'); - } - $this->_method = $type; - return $this; - } - - /** - * Get request method - * - * @return string|null - */ - public function getMethod() - { - return $this->_method; - } - - /** - * Set a request header - * - * @param string $key - * @param string $value - * @return Zend_Controller_Request_HttpTestCase - */ - public function setHeader($key, $value) - { - $key = $this->_normalizeHeaderName($key); - $this->_headers[$key] = (string) $value; - return $this; - } - - /** - * Set request headers - * - * @param array $headers - * @return Zend_Controller_Request_HttpTestCase - */ - public function setHeaders(array $headers) - { - foreach ($headers as $key => $value) { - $this->setHeader($key, $value); - } - return $this; - } - - /** - * Get request header - * - * @param string $header - * @param mixed $default - * @return string|null - */ - public function getHeader($header, $default = null) - { - $header = $this->_normalizeHeaderName($header); - if (array_key_exists($header, $this->_headers)) { - return $this->_headers[$header]; - } - return $default; - } - - /** - * Get all request headers - * - * @return array - */ - public function getHeaders() - { - return $this->_headers; - } - - /** - * Clear request headers - * - * @return Zend_Controller_Request_HttpTestCase - */ - public function clearHeaders() - { - $this->_headers = array(); - return $this; - } - - /** - * Get REQUEST_URI - * - * @return null|string - */ - public function getRequestUri() - { - return $this->_requestUri; - } - - /** - * Normalize a header name for setting and retrieval - * - * @param string $name - * @return string - */ - protected function _normalizeHeaderName($name) - { - $name = strtoupper((string) $name); - $name = str_replace('-', '_', $name); - return $name; - } -} diff --git a/lib/zend/Zend/Controller/Request/Simple.php b/lib/zend/Zend/Controller/Request/Simple.php deleted file mode 100644 index 61ca68caea..0000000000 --- a/lib/zend/Zend/Controller/Request/Simple.php +++ /dev/null @@ -1,55 +0,0 @@ -setActionName($action); - } - - if ($controller) { - $this->setControllerName($controller); - } - - if ($module) { - $this->setModuleName($module); - } - - if ($params) { - $this->setParams($params); - } - } - -} diff --git a/lib/zend/Zend/Controller/Response/Abstract.php b/lib/zend/Zend/Controller/Response/Abstract.php deleted file mode 100644 index 3763621694..0000000000 --- a/lib/zend/Zend/Controller/Response/Abstract.php +++ /dev/null @@ -1,755 +0,0 @@ -canSendHeaders(true); - $name = $this->_normalizeHeader($name); - $value = (string) $value; - - if ($replace) { - foreach ($this->_headers as $key => $header) { - if ($name == $header['name']) { - unset($this->_headers[$key]); - } - } - } - - $this->_headers[] = array( - 'name' => $name, - 'value' => $value, - 'replace' => $replace - ); - - return $this; - } - - /** - * Set redirect URL - * - * Sets Location header and response code. Forces replacement of any prior - * redirects. - * - * @param string $url - * @param int $code - * @return Zend_Controller_Response_Abstract - */ - public function setRedirect($url, $code = 302) - { - $this->canSendHeaders(true); - $this->setHeader('Location', $url, true) - ->setHttpResponseCode($code); - - return $this; - } - - /** - * Is this a redirect? - * - * @return boolean - */ - public function isRedirect() - { - return $this->_isRedirect; - } - - /** - * Return array of headers; see {@link $_headers} for format - * - * @return array - */ - public function getHeaders() - { - return $this->_headers; - } - - /** - * Clear headers - * - * @return Zend_Controller_Response_Abstract - */ - public function clearHeaders() - { - $this->_headers = array(); - - return $this; - } - - /** - * Set raw HTTP header - * - * Allows setting non key => value headers, such as status codes - * - * @param string $value - * @return Zend_Controller_Response_Abstract - */ - public function setRawHeader($value) - { - $this->canSendHeaders(true); - if ('Location' == substr($value, 0, 8)) { - $this->_isRedirect = true; - } - $this->_headersRaw[] = (string) $value; - return $this; - } - - /** - * Retrieve all {@link setRawHeader() raw HTTP headers} - * - * @return array - */ - public function getRawHeaders() - { - return $this->_headersRaw; - } - - /** - * Clear all {@link setRawHeader() raw HTTP headers} - * - * @return Zend_Controller_Response_Abstract - */ - public function clearRawHeaders() - { - $this->_headersRaw = array(); - return $this; - } - - /** - * Clear all headers, normal and raw - * - * @return Zend_Controller_Response_Abstract - */ - public function clearAllHeaders() - { - return $this->clearHeaders() - ->clearRawHeaders(); - } - - /** - * Set HTTP response code to use with headers - * - * @param int $code - * @return Zend_Controller_Response_Abstract - */ - public function setHttpResponseCode($code) - { - if (!is_int($code) || (100 > $code) || (599 < $code)) { - require_once 'Zend/Controller/Response/Exception.php'; - throw new Zend_Controller_Response_Exception('Invalid HTTP response code'); - } - - if ((300 <= $code) && (307 >= $code)) { - $this->_isRedirect = true; - } else { - $this->_isRedirect = false; - } - - $this->_httpResponseCode = $code; - return $this; - } - - /** - * Retrieve HTTP response code - * - * @return int - */ - public function getHttpResponseCode() - { - return $this->_httpResponseCode; - } - - /** - * Can we send headers? - * - * @param boolean $throw Whether or not to throw an exception if headers have been sent; defaults to false - * @return boolean - * @throws Zend_Controller_Response_Exception - */ - public function canSendHeaders($throw = false) - { - $ok = headers_sent($file, $line); - if ($ok && $throw && $this->headersSentThrowsException) { - require_once 'Zend/Controller/Response/Exception.php'; - throw new Zend_Controller_Response_Exception('Cannot send headers; headers already sent in ' . $file . ', line ' . $line); - } - - return !$ok; - } - - /** - * Send all headers - * - * Sends any headers specified. If an {@link setHttpResponseCode() HTTP response code} - * has been specified, it is sent with the first header. - * - * @return Zend_Controller_Response_Abstract - */ - public function sendHeaders() - { - // Only check if we can send headers if we have headers to send - if (count($this->_headersRaw) || count($this->_headers) || (200 != $this->_httpResponseCode)) { - $this->canSendHeaders(true); - } elseif (200 == $this->_httpResponseCode) { - // Haven't changed the response code, and we have no headers - return $this; - } - - $httpCodeSent = false; - - foreach ($this->_headersRaw as $header) { - if (!$httpCodeSent && $this->_httpResponseCode) { - header($header, true, $this->_httpResponseCode); - $httpCodeSent = true; - } else { - header($header); - } - } - - foreach ($this->_headers as $header) { - if (!$httpCodeSent && $this->_httpResponseCode) { - header($header['name'] . ': ' . $header['value'], $header['replace'], $this->_httpResponseCode); - $httpCodeSent = true; - } else { - header($header['name'] . ': ' . $header['value'], $header['replace']); - } - } - - if (!$httpCodeSent) { - header('HTTP/1.1 ' . $this->_httpResponseCode); - $httpCodeSent = true; - } - - return $this; - } - - /** - * Set body content - * - * If $name is not passed, or is not a string, resets the entire body and - * sets the 'default' key to $content. - * - * If $name is a string, sets the named segment in the body array to - * $content. - * - * @param string $content - * @param null|string $name - * @return Zend_Controller_Response_Abstract - */ - public function setBody($content, $name = null) - { - if ((null === $name) || !is_string($name)) { - $this->_body = array('default' => (string) $content); - } else { - $this->_body[$name] = (string) $content; - } - - return $this; - } - - /** - * Append content to the body content - * - * @param string $content - * @param null|string $name - * @return Zend_Controller_Response_Abstract - */ - public function appendBody($content, $name = null) - { - if ((null === $name) || !is_string($name)) { - if (isset($this->_body['default'])) { - $this->_body['default'] .= (string) $content; - } else { - return $this->append('default', $content); - } - } elseif (isset($this->_body[$name])) { - $this->_body[$name] .= (string) $content; - } else { - return $this->append($name, $content); - } - - return $this; - } - - /** - * Clear body array - * - * With no arguments, clears the entire body array. Given a $name, clears - * just that named segment; if no segment matching $name exists, returns - * false to indicate an error. - * - * @param string $name Named segment to clear - * @return boolean - */ - public function clearBody($name = null) - { - if (null !== $name) { - $name = (string) $name; - if (isset($this->_body[$name])) { - unset($this->_body[$name]); - return true; - } - - return false; - } - - $this->_body = array(); - return true; - } - - /** - * Return the body content - * - * If $spec is false, returns the concatenated values of the body content - * array. If $spec is boolean true, returns the body content array. If - * $spec is a string and matches a named segment, returns the contents of - * that segment; otherwise, returns null. - * - * @param boolean $spec - * @return string|array|null - */ - public function getBody($spec = false) - { - if (false === $spec) { - ob_start(); - $this->outputBody(); - return ob_get_clean(); - } elseif (true === $spec) { - return $this->_body; - } elseif (is_string($spec) && isset($this->_body[$spec])) { - return $this->_body[$spec]; - } - - return null; - } - - /** - * Append a named body segment to the body content array - * - * If segment already exists, replaces with $content and places at end of - * array. - * - * @param string $name - * @param string $content - * @return Zend_Controller_Response_Abstract - */ - public function append($name, $content) - { - if (!is_string($name)) { - require_once 'Zend/Controller/Response/Exception.php'; - throw new Zend_Controller_Response_Exception('Invalid body segment key ("' . gettype($name) . '")'); - } - - if (isset($this->_body[$name])) { - unset($this->_body[$name]); - } - $this->_body[$name] = (string) $content; - return $this; - } - - /** - * Prepend a named body segment to the body content array - * - * If segment already exists, replaces with $content and places at top of - * array. - * - * @param string $name - * @param string $content - * @return void - */ - public function prepend($name, $content) - { - if (!is_string($name)) { - require_once 'Zend/Controller/Response/Exception.php'; - throw new Zend_Controller_Response_Exception('Invalid body segment key ("' . gettype($name) . '")'); - } - - if (isset($this->_body[$name])) { - unset($this->_body[$name]); - } - - $new = array($name => (string) $content); - $this->_body = $new + $this->_body; - - return $this; - } - - /** - * Insert a named segment into the body content array - * - * @param string $name - * @param string $content - * @param string $parent - * @param boolean $before Whether to insert the new segment before or - * after the parent. Defaults to false (after) - * @return Zend_Controller_Response_Abstract - */ - public function insert($name, $content, $parent = null, $before = false) - { - if (!is_string($name)) { - require_once 'Zend/Controller/Response/Exception.php'; - throw new Zend_Controller_Response_Exception('Invalid body segment key ("' . gettype($name) . '")'); - } - - if ((null !== $parent) && !is_string($parent)) { - require_once 'Zend/Controller/Response/Exception.php'; - throw new Zend_Controller_Response_Exception('Invalid body segment parent key ("' . gettype($parent) . '")'); - } - - if (isset($this->_body[$name])) { - unset($this->_body[$name]); - } - - if ((null === $parent) || !isset($this->_body[$parent])) { - return $this->append($name, $content); - } - - $ins = array($name => (string) $content); - $keys = array_keys($this->_body); - $loc = array_search($parent, $keys); - if (!$before) { - // Increment location if not inserting before - ++$loc; - } - - if (0 === $loc) { - // If location of key is 0, we're prepending - $this->_body = $ins + $this->_body; - } elseif ($loc >= (count($this->_body))) { - // If location of key is maximal, we're appending - $this->_body = $this->_body + $ins; - } else { - // Otherwise, insert at location specified - $pre = array_slice($this->_body, 0, $loc); - $post = array_slice($this->_body, $loc); - $this->_body = $pre + $ins + $post; - } - - return $this; - } - - /** - * Echo the body segments - * - * @return void - */ - public function outputBody() - { - $body = implode('', $this->_body); - echo $body; - } - - /** - * Register an exception with the response - * - * @param Exception $e - * @return Zend_Controller_Response_Abstract - */ - public function setException(Exception $e) - { - $this->_exceptions[] = $e; - return $this; - } - - /** - * Retrieve the exception stack - * - * @return array - */ - public function getException() - { - return $this->_exceptions; - } - - /** - * Has an exception been registered with the response? - * - * @return boolean - */ - public function isException() - { - return !empty($this->_exceptions); - } - - /** - * Does the response object contain an exception of a given type? - * - * @param string $type - * @return boolean - */ - public function hasExceptionOfType($type) - { - foreach ($this->_exceptions as $e) { - if ($e instanceof $type) { - return true; - } - } - - return false; - } - - /** - * Does the response object contain an exception with a given message? - * - * @param string $message - * @return boolean - */ - public function hasExceptionOfMessage($message) - { - foreach ($this->_exceptions as $e) { - if ($message == $e->getMessage()) { - return true; - } - } - - return false; - } - - /** - * Does the response object contain an exception with a given code? - * - * @param int $code - * @return boolean - */ - public function hasExceptionOfCode($code) - { - $code = (int) $code; - foreach ($this->_exceptions as $e) { - if ($code == $e->getCode()) { - return true; - } - } - - return false; - } - - /** - * Retrieve all exceptions of a given type - * - * @param string $type - * @return false|array - */ - public function getExceptionByType($type) - { - $exceptions = array(); - foreach ($this->_exceptions as $e) { - if ($e instanceof $type) { - $exceptions[] = $e; - } - } - - if (empty($exceptions)) { - $exceptions = false; - } - - return $exceptions; - } - - /** - * Retrieve all exceptions of a given message - * - * @param string $message - * @return false|array - */ - public function getExceptionByMessage($message) - { - $exceptions = array(); - foreach ($this->_exceptions as $e) { - if ($message == $e->getMessage()) { - $exceptions[] = $e; - } - } - - if (empty($exceptions)) { - $exceptions = false; - } - - return $exceptions; - } - - /** - * Retrieve all exceptions of a given code - * - * @param mixed $code - * @return void - */ - public function getExceptionByCode($code) - { - $code = (int) $code; - $exceptions = array(); - foreach ($this->_exceptions as $e) { - if ($code == $e->getCode()) { - $exceptions[] = $e; - } - } - - if (empty($exceptions)) { - $exceptions = false; - } - - return $exceptions; - } - - /** - * Whether or not to render exceptions (off by default) - * - * If called with no arguments or a null argument, returns the value of the - * flag; otherwise, sets it and returns the current value. - * - * @param boolean $flag Optional - * @return boolean - */ - public function renderExceptions($flag = null) - { - if (null !== $flag) { - $this->_renderExceptions = $flag ? true : false; - } - - return $this->_renderExceptions; - } - - /** - * Send the response, including all headers, rendering exceptions if so - * requested. - * - * @return void - */ - public function sendResponse() - { - $this->sendHeaders(); - - if ($this->isException() && $this->renderExceptions()) { - $exceptions = ''; - foreach ($this->getException() as $e) { - $exceptions .= $e->__toString() . "\n"; - } - echo $exceptions; - return; - } - - $this->outputBody(); - } - - /** - * Magic __toString functionality - * - * Proxies to {@link sendResponse()} and returns response value as string - * using output buffering. - * - * @return string - */ - public function __toString() - { - ob_start(); - $this->sendResponse(); - return ob_get_clean(); - } -} diff --git a/lib/zend/Zend/Controller/Response/Cli.php b/lib/zend/Zend/Controller/Response/Cli.php deleted file mode 100644 index d48b6d5140..0000000000 --- a/lib/zend/Zend/Controller/Response/Cli.php +++ /dev/null @@ -1,68 +0,0 @@ -isException() && $this->renderExceptions()) { - $exceptions = ''; - foreach ($this->getException() as $e) { - $exceptions .= $e->__toString() . "\n"; - } - return $exceptions; - } - - return $this->_body; - } -} diff --git a/lib/zend/Zend/Controller/Response/Exception.php b/lib/zend/Zend/Controller/Response/Exception.php deleted file mode 100644 index 366051f69b..0000000000 --- a/lib/zend/Zend/Controller/Response/Exception.php +++ /dev/null @@ -1,36 +0,0 @@ -_headersRaw as $header) { - $headers[] = $header; - } - foreach ($this->_headers as $header) { - $name = $header['name']; - $key = strtolower($name); - if (array_key_exists($name, $headers)) { - if ($header['replace']) { - $headers[$key] = $header['name'] . ': ' . $header['value']; - } - } else { - $headers[$key] = $header['name'] . ': ' . $header['value']; - } - } - return $headers; - } - - /** - * Can we send headers? - * - * @param bool $throw - * @return void - */ - public function canSendHeaders($throw = false) - { - return true; - } - - /** - * Return the concatenated body segments - * - * @return string - */ - public function outputBody() - { - $fullContent = ''; - foreach ($this->_body as $content) { - $fullContent .= $content; - } - return $fullContent; - } - - /** - * Get body and/or body segments - * - * @param bool|string $spec - * @return string|array|null - */ - public function getBody($spec = false) - { - if (false === $spec) { - return $this->outputBody(); - } elseif (true === $spec) { - return $this->_body; - } elseif (is_string($spec) && isset($this->_body[$spec])) { - return $this->_body[$spec]; - } - - return null; - } - - /** - * "send" Response - * - * Concats all response headers, and then final body (separated by two - * newlines) - * - * @return string - */ - public function sendResponse() - { - $headers = $this->sendHeaders(); - $content = implode("\n", $headers) . "\n\n"; - - if ($this->isException() && $this->renderExceptions()) { - $exceptions = ''; - foreach ($this->getException() as $e) { - $exceptions .= $e->__toString() . "\n"; - } - $content .= $exceptions; - } else { - $content .= $this->outputBody(); - } - - return $content; - } -} diff --git a/lib/zend/Zend/Controller/Router/Abstract.php b/lib/zend/Zend/Controller/Router/Abstract.php deleted file mode 100644 index b9de53d30b..0000000000 --- a/lib/zend/Zend/Controller/Router/Abstract.php +++ /dev/null @@ -1,170 +0,0 @@ -setParams($params); - } - - /** - * Add or modify a parameter to use when instantiating an action controller - * - * @param string $name - * @param mixed $value - * @return Zend_Controller_Router - */ - public function setParam($name, $value) - { - $name = (string) $name; - $this->_invokeParams[$name] = $value; - return $this; - } - - /** - * Set parameters to pass to action controller constructors - * - * @param array $params - * @return Zend_Controller_Router - */ - public function setParams(array $params) - { - $this->_invokeParams = array_merge($this->_invokeParams, $params); - return $this; - } - - /** - * Retrieve a single parameter from the controller parameter stack - * - * @param string $name - * @return mixed - */ - public function getParam($name) - { - if(isset($this->_invokeParams[$name])) { - return $this->_invokeParams[$name]; - } - - return null; - } - - /** - * Retrieve action controller instantiation parameters - * - * @return array - */ - public function getParams() - { - return $this->_invokeParams; - } - - /** - * Clear the controller parameter stack - * - * By default, clears all parameters. If a parameter name is given, clears - * only that parameter; if an array of parameter names is provided, clears - * each. - * - * @param null|string|array single key or array of keys for params to clear - * @return Zend_Controller_Router - */ - public function clearParams($name = null) - { - if (null === $name) { - $this->_invokeParams = array(); - } elseif (is_string($name) && isset($this->_invokeParams[$name])) { - unset($this->_invokeParams[$name]); - } elseif (is_array($name)) { - foreach ($name as $key) { - if (is_string($key) && isset($this->_invokeParams[$key])) { - unset($this->_invokeParams[$key]); - } - } - } - - return $this; - } - - /** - * Retrieve Front Controller - * - * @return Zend_Controller_Front - */ - public function getFrontController() - { - // Used cache version if found - if (null !== $this->_frontController) { - return $this->_frontController; - } - - require_once 'Zend/Controller/Front.php'; - $this->_frontController = Zend_Controller_Front::getInstance(); - return $this->_frontController; - } - - /** - * Set Front Controller - * - * @param Zend_Controller_Front $controller - * @return Zend_Controller_Router_Interface - */ - public function setFrontController(Zend_Controller_Front $controller) - { - $this->_frontController = $controller; - return $this; - } - -} diff --git a/lib/zend/Zend/Controller/Router/Exception.php b/lib/zend/Zend/Controller/Router/Exception.php deleted file mode 100644 index 04b0df86e6..0000000000 --- a/lib/zend/Zend/Controller/Router/Exception.php +++ /dev/null @@ -1,36 +0,0 @@ -hasRoute('default')) { - $dispatcher = $this->getFrontController()->getDispatcher(); - $request = $this->getFrontController()->getRequest(); - - require_once 'Zend/Controller/Router/Route/Module.php'; - $compat = new Zend_Controller_Router_Route_Module(array(), $dispatcher, $request); - - $this->_routes = array_merge(array('default' => $compat), $this->_routes); - } - - return $this; - } - - /** - * Add route to the route chain - * - * If route contains method setRequest(), it is initialized with a request object - * - * @param string $name Name of the route - * @param Zend_Controller_Router_Route_Interface $route Instance of the route - * @return Zend_Controller_Router_Rewrite - */ - public function addRoute($name, Zend_Controller_Router_Route_Interface $route) - { - if (method_exists($route, 'setRequest')) { - $route->setRequest($this->getFrontController()->getRequest()); - } - - $this->_routes[$name] = $route; - - return $this; - } - - /** - * Add routes to the route chain - * - * @param array $routes Array of routes with names as keys and routes as values - * @return Zend_Controller_Router_Rewrite - */ - public function addRoutes($routes) { - foreach ($routes as $name => $route) { - $this->addRoute($name, $route); - } - - return $this; - } - - /** - * Create routes out of Zend_Config configuration - * - * Example INI: - * routes.archive.route = "archive/:year/*" - * routes.archive.defaults.controller = archive - * routes.archive.defaults.action = show - * routes.archive.defaults.year = 2000 - * routes.archive.reqs.year = "\d+" - * - * routes.news.type = "Zend_Controller_Router_Route_Static" - * routes.news.route = "news" - * routes.news.defaults.controller = "news" - * routes.news.defaults.action = "list" - * - * And finally after you have created a Zend_Config with above ini: - * $router = new Zend_Controller_Router_Rewrite(); - * $router->addConfig($config, 'routes'); - * - * @param Zend_Config $config Configuration object - * @param string $section Name of the config section containing route's definitions - * @throws Zend_Controller_Router_Exception - * @return Zend_Controller_Router_Rewrite - */ - public function addConfig(Zend_Config $config, $section = null) - { - if ($section !== null) { - if ($config->{$section} === null) { - require_once 'Zend/Controller/Router/Exception.php'; - throw new Zend_Controller_Router_Exception("No route configuration in section '{$section}'"); - } - - $config = $config->{$section}; - } - - foreach ($config as $name => $info) { - $route = $this->_getRouteFromConfig($info); - - if ($route instanceof Zend_Controller_Router_Route_Chain) { - if (!isset($info->chain)) { - require_once 'Zend/Controller/Router/Exception.php'; - throw new Zend_Controller_Router_Exception("No chain defined"); - } - - if ($info->chain instanceof Zend_Config) { - $childRouteNames = $info->chain; - } else { - $childRouteNames = explode(',', $info->chain); - } - - foreach ($childRouteNames as $childRouteName) { - $childRoute = $this->getRoute(trim($childRouteName)); - $route->chain($childRoute); - } - - $this->addRoute($name, $route); - } elseif (isset($info->chains) && $info->chains instanceof Zend_Config) { - $this->_addChainRoutesFromConfig($name, $route, $info->chains); - } else { - $this->addRoute($name, $route); - } - } - - return $this; - } - - /** - * Get a route frm a config instance - * - * @param Zend_Config $info - * @return Zend_Controller_Router_Route_Interface - */ - protected function _getRouteFromConfig(Zend_Config $info) - { - $class = (isset($info->type)) ? $info->type : 'Zend_Controller_Router_Route'; - if (!class_exists($class)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($class); - } - - $route = call_user_func(array($class, 'getInstance'), $info); - - if (isset($info->abstract) && $info->abstract && method_exists($route, 'isAbstract')) { - $route->isAbstract(true); - } - - return $route; - } - - /** - * Add chain routes from a config route - * - * @param string $name - * @param Zend_Controller_Router_Route_Interface $route - * @param Zend_Config $childRoutesInfo - * @return void - */ - protected function _addChainRoutesFromConfig($name, - Zend_Controller_Router_Route_Interface $route, - Zend_Config $childRoutesInfo) - { - foreach ($childRoutesInfo as $childRouteName => $childRouteInfo) { - if (is_string($childRouteInfo)) { - $childRouteName = $childRouteInfo; - $childRoute = $this->getRoute($childRouteName); - } else { - $childRoute = $this->_getRouteFromConfig($childRouteInfo); - } - - if ($route instanceof Zend_Controller_Router_Route_Chain) { - $chainRoute = clone $route; - $chainRoute->chain($childRoute); - } else { - $chainRoute = $route->chain($childRoute); - } - - $chainName = $name . $this->_chainNameSeparator . $childRouteName; - - if (isset($childRouteInfo->chains)) { - $this->_addChainRoutesFromConfig($chainName, $chainRoute, $childRouteInfo->chains); - } else { - $this->addRoute($chainName, $chainRoute); - } - } - } - - /** - * Remove a route from the route chain - * - * @param string $name Name of the route - * @throws Zend_Controller_Router_Exception - * @return Zend_Controller_Router_Rewrite - */ - public function removeRoute($name) - { - if (!isset($this->_routes[$name])) { - require_once 'Zend/Controller/Router/Exception.php'; - throw new Zend_Controller_Router_Exception("Route $name is not defined"); - } - - unset($this->_routes[$name]); - - return $this; - } - - /** - * Remove all standard default routes - * - * @param Zend_Controller_Router_Route_Interface Route - * @return Zend_Controller_Router_Rewrite - */ - public function removeDefaultRoutes() - { - $this->_useDefaultRoutes = false; - - return $this; - } - - /** - * Check if named route exists - * - * @param string $name Name of the route - * @return boolean - */ - public function hasRoute($name) - { - return isset($this->_routes[$name]); - } - - /** - * Retrieve a named route - * - * @param string $name Name of the route - * @throws Zend_Controller_Router_Exception - * @return Zend_Controller_Router_Route_Interface Route object - */ - public function getRoute($name) - { - if (!isset($this->_routes[$name])) { - require_once 'Zend/Controller/Router/Exception.php'; - throw new Zend_Controller_Router_Exception("Route $name is not defined"); - } - - return $this->_routes[$name]; - } - - /** - * Retrieve a currently matched route - * - * @throws Zend_Controller_Router_Exception - * @return Zend_Controller_Router_Route_Interface Route object - */ - public function getCurrentRoute() - { - if (!isset($this->_currentRoute)) { - require_once 'Zend/Controller/Router/Exception.php'; - throw new Zend_Controller_Router_Exception("Current route is not defined"); - } - return $this->getRoute($this->_currentRoute); - } - - /** - * Retrieve a name of currently matched route - * - * @throws Zend_Controller_Router_Exception - * @return Zend_Controller_Router_Route_Interface Route object - */ - public function getCurrentRouteName() - { - if (!isset($this->_currentRoute)) { - require_once 'Zend/Controller/Router/Exception.php'; - throw new Zend_Controller_Router_Exception("Current route is not defined"); - } - return $this->_currentRoute; - } - - /** - * Retrieve an array of routes added to the route chain - * - * @return array All of the defined routes - */ - public function getRoutes() - { - return $this->_routes; - } - - /** - * Find a matching route to the current PATH_INFO and inject - * returning values to the Request object. - * - * @throws Zend_Controller_Router_Exception - * @return Zend_Controller_Request_Abstract Request object - */ - public function route(Zend_Controller_Request_Abstract $request) - { - if (!$request instanceof Zend_Controller_Request_Http) { - require_once 'Zend/Controller/Router/Exception.php'; - throw new Zend_Controller_Router_Exception('Zend_Controller_Router_Rewrite requires a Zend_Controller_Request_Http-based request object'); - } - - if ($this->_useDefaultRoutes) { - $this->addDefaultRoutes(); - } - - // Find the matching route - foreach (array_reverse($this->_routes) as $name => $route) { - // TODO: Should be an interface method. Hack for 1.0 BC - if (method_exists($route, 'isAbstract') && $route->isAbstract()) { - continue; - } - - // TODO: Should be an interface method. Hack for 1.0 BC - if (!method_exists($route, 'getVersion') || $route->getVersion() == 1) { - $match = $request->getPathInfo(); - } else { - $match = $request; - } - - if ($params = $route->match($match)) { - $this->_setRequestParams($request, $params); - $this->_currentRoute = $name; - break; - } - } - - return $request; - - } - - protected function _setRequestParams($request, $params) - { - foreach ($params as $param => $value) { - - $request->setParam($param, $value); - - if ($param === $request->getModuleKey()) { - $request->setModuleName($value); - } - if ($param === $request->getControllerKey()) { - $request->setControllerName($value); - } - if ($param === $request->getActionKey()) { - $request->setActionName($value); - } - - } - } - - /** - * Generates a URL path that can be used in URL creation, redirection, etc. - * - * @param array $userParams Options passed by a user used to override parameters - * @param mixed $name The name of a Route to use - * @param bool $reset Whether to reset to the route defaults ignoring URL params - * @param bool $encode Tells to encode URL parts on output - * @throws Zend_Controller_Router_Exception - * @return string Resulting absolute URL path - */ - public function assemble($userParams, $name = null, $reset = false, $encode = true) - { - if ($name == null) { - try { - $name = $this->getCurrentRouteName(); - } catch (Zend_Controller_Router_Exception $e) { - $name = 'default'; - } - } - - $params = array_merge($this->_globalParams, $userParams); - - $route = $this->getRoute($name); - $url = $route->assemble($params, $reset, $encode); - - if (!preg_match('|^[a-z]+://|', $url)) { - $url = rtrim($this->getFrontController()->getBaseUrl(), '/') . '/' . $url; - } - - return $url; - } - - /** - * Set a global parameter - * - * @param string $name - * @param mixed $value - * @return Zend_Controller_Router_Rewrite - */ - public function setGlobalParam($name, $value) - { - $this->_globalParams[$name] = $value; - - return $this; - } - - /** - * Set the separator to use with chain names - * - * @param string $separator The separator to use - * @return Zend_Controller_Router_Rewrite - */ - public function setChainNameSeparator($separator) { - $this->_chainNameSeparator = $separator; - - return $this; - } - - /** - * Get the separator to use for chain names - * - * @return string - */ - public function getChainNameSeparator() { - return $this->_chainNameSeparator; - } -} diff --git a/lib/zend/Zend/Controller/Router/Route.php b/lib/zend/Zend/Controller/Router/Route.php deleted file mode 100644 index a622be790d..0000000000 --- a/lib/zend/Zend/Controller/Router/Route.php +++ /dev/null @@ -1,557 +0,0 @@ -reqs instanceof Zend_Config) ? $config->reqs->toArray() : array(); - $defs = ($config->defaults instanceof Zend_Config) ? $config->defaults->toArray() : array(); - return new self($config->route, $defs, $reqs); - } - - /** - * Prepares the route for mapping by splitting (exploding) it - * to a corresponding atomic parts. These parts are assigned - * a position which is later used for matching and preparing values. - * - * @param string $route Map used to match with later submitted URL path - * @param array $defaults Defaults for map variables with keys as variable names - * @param array $reqs Regular expression requirements for variables (keys as variable names) - * @param array $reqs Regular expression requirements for variables (keys as variable names) - * @param Zend_Translate $translator Translator to use for this instance - */ - public function __construct($route, $defaults = array(), $reqs = array(), Zend_Translate $translator = null, $locale = null) - { - $route = trim($route, $this->_urlDelimiter); - $this->_defaults = (array) $defaults; - $this->_requirements = (array) $reqs; - $this->_translator = $translator; - $this->_locale = $locale; - - if ($route !== '') { - foreach (explode($this->_urlDelimiter, $route) as $pos => $part) { - if (substr($part, 0, 1) == $this->_urlVariable && substr($part, 1, 1) != $this->_urlVariable) { - $name = substr($part, 1); - - if (substr($name, 0, 1) === '@' && substr($name, 1, 1) !== '@') { - $name = substr($name, 1); - $this->_translatable[] = $name; - $this->_isTranslated = true; - } - - $this->_parts[$pos] = (isset($reqs[$name]) ? $reqs[$name] : $this->_defaultRegex); - $this->_variables[$pos] = $name; - } else { - if (substr($part, 0, 1) == $this->_urlVariable) { - $part = substr($part, 1); - } - - if (substr($part, 0, 1) === '@' && substr($part, 1, 1) !== '@') { - $this->_isTranslated = true; - } - - $this->_parts[$pos] = $part; - - if ($part !== '*') { - $this->_staticCount++; - } - } - } - } - } - - /** - * Matches a user submitted path with parts defined by a map. Assigns and - * returns an array of variables on a successful match. - * - * @param string $path Path used to match against this routing map - * @return array|false An array of assigned values or a false on a mismatch - */ - public function match($path, $partial = false) - { - if ($this->_isTranslated) { - $translateMessages = $this->getTranslator()->getMessages(); - } - - $pathStaticCount = 0; - $values = array(); - $matchedPath = ''; - - if (!$partial) { - $path = trim($path, $this->_urlDelimiter); - } - - if ($path !== '') { - $path = explode($this->_urlDelimiter, $path); - - foreach ($path as $pos => $pathPart) { - // Path is longer than a route, it's not a match - if (!array_key_exists($pos, $this->_parts)) { - if ($partial) { - break; - } else { - return false; - } - } - - $matchedPath .= $pathPart . $this->_urlDelimiter; - - // If it's a wildcard, get the rest of URL as wildcard data and stop matching - if ($this->_parts[$pos] == '*') { - $count = count($path); - for($i = $pos; $i < $count; $i+=2) { - $var = urldecode($path[$i]); - if (!isset($this->_wildcardData[$var]) && !isset($this->_defaults[$var]) && !isset($values[$var])) { - $this->_wildcardData[$var] = (isset($path[$i+1])) ? urldecode($path[$i+1]) : null; - } - } - break; - } - - $name = isset($this->_variables[$pos]) ? $this->_variables[$pos] : null; - $pathPart = urldecode($pathPart); - - // Translate value if required - $part = $this->_parts[$pos]; - if ($this->_isTranslated && (substr($part, 0, 1) === '@' && substr($part, 1, 1) !== '@' && $name === null) || $name !== null && in_array($name, $this->_translatable)) { - if (substr($part, 0, 1) === '@') { - $part = substr($part, 1); - } - - if (($originalPathPart = array_search($pathPart, $translateMessages)) !== false) { - $pathPart = $originalPathPart; - } - } - - if (substr($part, 0, 2) === '@@') { - $part = substr($part, 1); - } - - // If it's a static part, match directly - if ($name === null && $part != $pathPart) { - return false; - } - - // If it's a variable with requirement, match a regex. If not - everything matches - if ($part !== null && !preg_match($this->_regexDelimiter . '^' . $part . '$' . $this->_regexDelimiter . 'iu', $pathPart)) { - return false; - } - - // If it's a variable store it's value for later - if ($name !== null) { - $values[$name] = $pathPart; - } else { - $pathStaticCount++; - } - } - } - - // Check if all static mappings have been matched - if ($this->_staticCount != $pathStaticCount) { - return false; - } - - $return = $values + $this->_wildcardData + $this->_defaults; - - // Check if all map variables have been initialized - foreach ($this->_variables as $var) { - if (!array_key_exists($var, $return)) { - return false; - } - } - - $this->setMatchedPath(rtrim($matchedPath, $this->_urlDelimiter)); - - $this->_values = $values; - - return $return; - - } - - /** - * Assembles user submitted parameters forming a URL path defined by this route - * - * @param array $data An array of variable and value pairs used as parameters - * @param boolean $reset Whether or not to set route defaults with those provided in $data - * @return string Route path with user submitted parameters - */ - public function assemble($data = array(), $reset = false, $encode = false, $partial = false) - { - if ($this->_isTranslated) { - $translator = $this->getTranslator(); - - if (isset($data['@locale'])) { - $locale = $data['@locale']; - unset($data['@locale']); - } else { - $locale = $this->getLocale(); - } - } - - $url = array(); - $flag = false; - - foreach ($this->_parts as $key => $part) { - $name = isset($this->_variables[$key]) ? $this->_variables[$key] : null; - - $useDefault = false; - if (isset($name) && array_key_exists($name, $data) && $data[$name] === null) { - $useDefault = true; - } - - if (isset($name)) { - if (isset($data[$name]) && !$useDefault) { - $value = $data[$name]; - unset($data[$name]); - } elseif (!$reset && !$useDefault && isset($this->_values[$name])) { - $value = $this->_values[$name]; - } elseif (!$reset && !$useDefault && isset($this->_wildcardData[$name])) { - $value = $this->_wildcardData[$name]; - } elseif (isset($this->_defaults[$name])) { - $value = $this->_defaults[$name]; - } else { - require_once 'Zend/Controller/Router/Exception.php'; - throw new Zend_Controller_Router_Exception($name . ' is not specified'); - } - - if ($this->_isTranslated && in_array($name, $this->_translatable)) { - $url[$key] = $translator->translate($value, $locale); - } else { - $url[$key] = $value; - } - } elseif ($part != '*') { - if ($this->_isTranslated && substr($part, 0, 1) === '@') { - if (substr($part, 1, 1) !== '@') { - $url[$key] = $translator->translate(substr($part, 1), $locale); - } else { - $url[$key] = substr($part, 1); - } - } else { - if (substr($part, 0, 2) === '@@') { - $part = substr($part, 1); - } - - $url[$key] = $part; - } - } else { - if (!$reset) $data += $this->_wildcardData; - foreach ($data as $var => $value) { - if ($value !== null) { - $url[$key++] = $var; - $url[$key++] = $value; - $flag = true; - } - } - } - } - - $return = ''; - - foreach (array_reverse($url, true) as $key => $value) { - $defaultValue = null; - - if (isset($this->_variables[$key])) { - $defaultValue = $this->getDefault($this->_variables[$key]); - - if ($this->_isTranslated && $defaultValue !== null && isset($this->_translatable[$this->_variables[$key]])) { - $defaultValue = $translator->translate($defaultValue, $locale); - } - } - - if ($flag || $value !== $defaultValue || $partial) { - if ($encode) $value = urlencode($value); - $return = $this->_urlDelimiter . $value . $return; - $flag = true; - } - } - - return trim($return, $this->_urlDelimiter); - - } - - /** - * Return a single parameter of route's defaults - * - * @param string $name Array key of the parameter - * @return string Previously set default - */ - public function getDefault($name) { - if (isset($this->_defaults[$name])) { - return $this->_defaults[$name]; - } - return null; - } - - /** - * Return an array of defaults - * - * @return array Route defaults - */ - public function getDefaults() { - return $this->_defaults; - } - - /** - * Get all variables which are used by the route - * - * @return array - */ - public function getVariables() - { - return $this->_variables; - } - - /** - * Set a default translator - * - * @param Zend_Translate $translator - * @return void - */ - public static function setDefaultTranslator(Zend_Translate $translator = null) - { - self::$_defaultTranslator = $translator; - } - - /** - * Get the default translator - * - * @return Zend_Translate - */ - public static function getDefaultTranslator() - { - return self::$_defaultTranslator; - } - - /** - * Set a translator - * - * @param Zend_Translate $translator - * @return void - */ - public function setTranslator(Zend_Translate $translator) - { - $this->_translator = $translator; - } - - /** - * Get the translator - * - * @throws Zend_Controller_Router_Exception When no translator can be found - * @return Zend_Translate - */ - public function getTranslator() - { - if ($this->_translator !== null) { - return $this->_translator; - } else if (($translator = self::getDefaultTranslator()) !== null) { - return $translator; - } else { - try { - $translator = Zend_Registry::get('Zend_Translate'); - } catch (Zend_Exception $e) { - $translator = null; - } - - if ($translator instanceof Zend_Translate) { - return $translator; - } - } - - require_once 'Zend/Controller/Router/Exception.php'; - throw new Zend_Controller_Router_Exception('Could not find a translator'); - } - - /** - * Set a default locale - * - * @param mixed $locale - * @return void - */ - public static function setDefaultLocale($locale = null) - { - self::$_defaultLocale = $locale; - } - - /** - * Get the default locale - * - * @return mixed - */ - public static function getDefaultLocale() - { - return self::$_defaultLocale; - } - - /** - * Set a locale - * - * @param mixed $locale - * @return void - */ - public function setLocale($locale) - { - $this->_locale = $locale; - } - - /** - * Get the locale - * - * @return mixed - */ - public function getLocale() - { - if ($this->_locale !== null) { - return $this->_locale; - } else if (($locale = self::getDefaultLocale()) !== null) { - return $locale; - } else { - try { - $locale = Zend_Registry::get('Zend_Locale'); - } catch (Zend_Exception $e) { - $locale = null; - } - - if ($locale !== null) { - return $locale; - } - } - - return null; - } -} diff --git a/lib/zend/Zend/Controller/Router/Route/Abstract.php b/lib/zend/Zend/Controller/Router/Route/Abstract.php deleted file mode 100644 index 86ecfbb634..0000000000 --- a/lib/zend/Zend/Controller/Router/Route/Abstract.php +++ /dev/null @@ -1,117 +0,0 @@ -_matchedPath = $path; - } - - /** - * Get partially matched path - * - * @return string - */ - public function getMatchedPath() - { - return $this->_matchedPath; - } - - /** - * Check or set wether this is an abstract route or not - * - * @param boolean $flag - * @return boolean - */ - public function isAbstract($flag = null) - { - if ($flag !== null) { - $this->_isAbstract = $flag; - } - - return $this->_isAbstract; - } - - /** - * Create a new chain - * - * @param Zend_Controller_Router_Route_Abstract $route - * @param string $separator - * @return Zend_Controller_Router_Route_Chain - */ - public function chain(Zend_Controller_Router_Route_Abstract $route, $separator = '/') - { - require_once 'Zend/Controller/Router/Route/Chain.php'; - - $chain = new Zend_Controller_Router_Route_Chain(); - $chain->chain($this)->chain($route, $separator); - - return $chain; - } - -} diff --git a/lib/zend/Zend/Controller/Router/Route/Chain.php b/lib/zend/Zend/Controller/Router/Route/Chain.php deleted file mode 100644 index d637a3fc58..0000000000 --- a/lib/zend/Zend/Controller/Router/Route/Chain.php +++ /dev/null @@ -1,169 +0,0 @@ -defaults instanceof Zend_Config) ? $config->defaults->toArray() : array(); - return new self($config->route, $defs); - } - - /** - * Add a route to this chain - * - * @param Zend_Controller_Router_Route_Abstract $route - * @param string $separator - * @return Zend_Controller_Router_Route_Chain - */ - public function chain(Zend_Controller_Router_Route_Abstract $route, $separator = '/') - { - $this->_routes[] = $route; - $this->_separators[] = $separator; - - return $this; - - } - - /** - * Matches a user submitted path with a previously defined route. - * Assigns and returns an array of defaults on a successful match. - * - * @param Zend_Controller_Request_Http $request Request to get the path info from - * @return array|false An array of assigned values or a false on a mismatch - */ - public function match($request, $partial = null) - { - $path = trim($request->getPathInfo(), '/'); - $subPath = $path; - $values = array(); - - foreach ($this->_routes as $key => $route) { - if ($key > 0 && $matchedPath !== null) { - $separator = substr($subPath, 0, strlen($this->_separators[$key])); - - if ($separator !== $this->_separators[$key]) { - return false; - } - - $subPath = substr($subPath, strlen($separator)); - } - - // TODO: Should be an interface method. Hack for 1.0 BC - if (!method_exists($route, 'getVersion') || $route->getVersion() == 1) { - $match = $subPath; - } else { - $request->setPathInfo($subPath); - $match = $request; - } - - $res = $route->match($match, true); - if ($res === false) { - return false; - } - - $matchedPath = $route->getMatchedPath(); - - if ($matchedPath !== null) { - $subPath = substr($subPath, strlen($matchedPath)); - $separator = substr($subPath, 0, strlen($this->_separators[$key])); - } - - $values = $res + $values; - } - - $request->setPathInfo($path); - - if ($subPath !== '' && $subPath !== false) { - return false; - } - - return $values; - } - - /** - * Assembles a URL path defined by this route - * - * @param array $data An array of variable and value pairs used as parameters - * @return string Route path with user submitted parameters - */ - public function assemble($data = array(), $reset = false, $encode = false) - { - $value = ''; - $numRoutes = count($this->_routes); - - foreach ($this->_routes as $key => $route) { - if ($key > 0) { - $value .= $this->_separators[$key]; - } - - $value .= $route->assemble($data, $reset, $encode, (($numRoutes - 1) > $key)); - - if (method_exists($route, 'getVariables')) { - $variables = $route->getVariables(); - - foreach ($variables as $variable) { - $data[$variable] = null; - } - } - } - - return $value; - } - - /** - * Set the request object for this and the child routes - * - * @param Zend_Controller_Request_Abstract|null $request - * @return void - */ - public function setRequest(Zend_Controller_Request_Abstract $request = null) - { - $this->_request = $request; - - foreach ($this->_routes as $route) { - if (method_exists($route, 'setRequest')) { - $route->setRequest($request); - } - } - } - -} diff --git a/lib/zend/Zend/Controller/Router/Route/Hostname.php b/lib/zend/Zend/Controller/Router/Route/Hostname.php deleted file mode 100644 index 77931a0e74..0000000000 --- a/lib/zend/Zend/Controller/Router/Route/Hostname.php +++ /dev/null @@ -1,342 +0,0 @@ -_request = $request; - } - - /** - * Get the request object - * - * @return Zend_Controller_Request_Abstract $request - */ - public function getRequest() - { - if ($this->_request === null) { - require_once 'Zend/Controller/Front.php'; - $this->_request = Zend_Controller_Front::getInstance()->getRequest(); - } - - return $this->_request; - } - - /** - * Instantiates route based on passed Zend_Config structure - * - * @param Zend_Config $config Configuration object - */ - public static function getInstance(Zend_Config $config) - { - $reqs = ($config->reqs instanceof Zend_Config) ? $config->reqs->toArray() : array(); - $defs = ($config->defaults instanceof Zend_Config) ? $config->defaults->toArray() : array(); - $scheme = (isset($config->scheme)) ? $config->scheme : null; - return new self($config->route, $defs, $reqs, $scheme); - } - - /** - * Prepares the route for mapping by splitting (exploding) it - * to a corresponding atomic parts. These parts are assigned - * a position which is later used for matching and preparing values. - * - * @param string $route Map used to match with later submitted hostname - * @param array $defaults Defaults for map variables with keys as variable names - * @param array $reqs Regular expression requirements for variables (keys as variable names) - * @param string $scheme - */ - public function __construct($route, $defaults = array(), $reqs = array(), $scheme = null) - { - $route = trim($route, '.'); - $this->_defaults = (array) $defaults; - $this->_requirements = (array) $reqs; - $this->_scheme = $scheme; - - if ($route != '') { - foreach (explode('.', $route) as $pos => $part) { - if (substr($part, 0, 1) == $this->_hostVariable) { - $name = substr($part, 1); - $this->_parts[$pos] = (isset($reqs[$name]) ? $reqs[$name] : $this->_defaultRegex); - $this->_variables[$pos] = $name; - } else { - $this->_parts[$pos] = $part; - $this->_staticCount++; - } - } - } - } - - /** - * Matches a user submitted path with parts defined by a map. Assigns and - * returns an array of variables on a successful match. - * - * @param Zend_Controller_Request_Http $request Request to get the host from - * @return array|false An array of assigned values or a false on a mismatch - */ - public function match($request) - { - // Check the scheme if required - if ($this->_scheme !== null) { - $scheme = $request->getScheme(); - - if ($scheme !== $this->_scheme) { - return false; - } - } - - // Get the host and remove unnecessary port information - $host = $request->getHttpHost(); - if (preg_match('#:\d+$#', $host, $result) === 1) { - $host = substr($host, 0, -strlen($result[0])); - } - - $hostStaticCount = 0; - $values = array(); - - $host = trim($host, '.'); - - if ($host != '') { - $host = explode('.', $host); - - foreach ($host as $pos => $hostPart) { - // Host is longer than a route, it's not a match - if (!array_key_exists($pos, $this->_parts)) { - return false; - } - - $name = isset($this->_variables[$pos]) ? $this->_variables[$pos] : null; - $hostPart = urldecode($hostPart); - - // If it's a static part, match directly - if ($name === null && $this->_parts[$pos] != $hostPart) { - return false; - } - - // If it's a variable with requirement, match a regex. If not - everything matches - if ($this->_parts[$pos] !== null && !preg_match($this->_regexDelimiter . '^' . $this->_parts[$pos] . '$' . $this->_regexDelimiter . 'iu', $hostPart)) { - return false; - } - - // If it's a variable store it's value for later - if ($name !== null) { - $values[$name] = $hostPart; - } else { - $hostStaticCount++; - } - } - } - - // Check if all static mappings have been matched - if ($this->_staticCount != $hostStaticCount) { - return false; - } - - $return = $values + $this->_defaults; - - // Check if all map variables have been initialized - foreach ($this->_variables as $var) { - if (!array_key_exists($var, $return)) { - return false; - } - } - - $this->_values = $values; - - return $return; - - } - - /** - * Assembles user submitted parameters forming a hostname defined by this route - * - * @param array $data An array of variable and value pairs used as parameters - * @param boolean $reset Whether or not to set route defaults with those provided in $data - * @return string Route path with user submitted parameters - */ - public function assemble($data = array(), $reset = false, $encode = false, $partial = false) - { - $host = array(); - $flag = false; - - foreach ($this->_parts as $key => $part) { - $name = isset($this->_variables[$key]) ? $this->_variables[$key] : null; - - $useDefault = false; - if (isset($name) && array_key_exists($name, $data) && $data[$name] === null) { - $useDefault = true; - } - - if (isset($name)) { - if (isset($data[$name]) && !$useDefault) { - $host[$key] = $data[$name]; - unset($data[$name]); - } elseif (!$reset && !$useDefault && isset($this->_values[$name])) { - $host[$key] = $this->_values[$name]; - } elseif (isset($this->_defaults[$name])) { - $host[$key] = $this->_defaults[$name]; - } else { - require_once 'Zend/Controller/Router/Exception.php'; - throw new Zend_Controller_Router_Exception($name . ' is not specified'); - } - } else { - $host[$key] = $part; - } - } - - $return = ''; - - foreach (array_reverse($host, true) as $key => $value) { - if ($flag || !isset($this->_variables[$key]) || $value !== $this->getDefault($this->_variables[$key]) || $partial) { - if ($encode) $value = urlencode($value); - $return = '.' . $value . $return; - $flag = true; - } - } - - $url = trim($return, '.'); - - if ($this->_scheme !== null) { - $scheme = $this->_scheme; - } else { - $request = $this->getRequest(); - if ($request instanceof Zend_Controller_Request_Http) { - $scheme = $request->getScheme(); - } else { - $scheme = 'http'; - } - } - - $hostname = implode('.', $host); - $url = $scheme . '://' . $url; - - return $url; - } - - /** - * Return a single parameter of route's defaults - * - * @param string $name Array key of the parameter - * @return string Previously set default - */ - public function getDefault($name) { - if (isset($this->_defaults[$name])) { - return $this->_defaults[$name]; - } - return null; - } - - /** - * Return an array of defaults - * - * @return array Route defaults - */ - public function getDefaults() { - return $this->_defaults; - } - - /** - * Get all variables which are used by the route - * - * @return array - */ - public function getVariables() - { - return $this->_variables; - } -} diff --git a/lib/zend/Zend/Controller/Router/Route/Interface.php b/lib/zend/Zend/Controller/Router/Route/Interface.php deleted file mode 100644 index de50768c8f..0000000000 --- a/lib/zend/Zend/Controller/Router/Route/Interface.php +++ /dev/null @@ -1,37 +0,0 @@ -defaults instanceof Zend_Config) ? $config->defaults->toArray() : array(); - $dispatcher = $frontController->getDispatcher(); - $request = $frontController->getRequest(); - - return new self($defs, $dispatcher, $request); - } - - /** - * Constructor - * - * @param array $defaults Defaults for map variables with keys as variable names - * @param Zend_Controller_Dispatcher_Interface $dispatcher Dispatcher object - * @param Zend_Controller_Request_Abstract $request Request object - */ - public function __construct(array $defaults = array(), - Zend_Controller_Dispatcher_Interface $dispatcher = null, - Zend_Controller_Request_Abstract $request = null) - { - $this->_defaults = $defaults; - - if (isset($request)) { - $this->_request = $request; - } - - if (isset($dispatcher)) { - $this->_dispatcher = $dispatcher; - } - } - - /** - * Set request keys based on values in request object - * - * @return void - */ - protected function _setRequestKeys() - { - if (null !== $this->_request) { - $this->_moduleKey = $this->_request->getModuleKey(); - $this->_controllerKey = $this->_request->getControllerKey(); - $this->_actionKey = $this->_request->getActionKey(); - } - - if (null !== $this->_dispatcher) { - $this->_defaults += array( - $this->_controllerKey => $this->_dispatcher->getDefaultControllerName(), - $this->_actionKey => $this->_dispatcher->getDefaultAction(), - $this->_moduleKey => $this->_dispatcher->getDefaultModule() - ); - } - - $this->_keysSet = true; - } - - /** - * Matches a user submitted path. Assigns and returns an array of variables - * on a successful match. - * - * If a request object is registered, it uses its setModuleName(), - * setControllerName(), and setActionName() accessors to set those values. - * Always returns the values as an array. - * - * @param string $path Path used to match against this routing map - * @return array An array of assigned values or a false on a mismatch - */ - public function match($path, $partial = false) - { - $this->_setRequestKeys(); - - $values = array(); - $params = array(); - - if (!$partial) { - $path = trim($path, self::URI_DELIMITER); - } else { - $matchedPath = $path; - } - - if ($path != '') { - $path = explode(self::URI_DELIMITER, $path); - - if ($this->_dispatcher && $this->_dispatcher->isValidModule($path[0])) { - $values[$this->_moduleKey] = array_shift($path); - $this->_moduleValid = true; - } - - if (count($path) && !empty($path[0])) { - $values[$this->_controllerKey] = array_shift($path); - } - - if (count($path) && !empty($path[0])) { - $values[$this->_actionKey] = array_shift($path); - } - - if ($numSegs = count($path)) { - for ($i = 0; $i < $numSegs; $i = $i + 2) { - $key = urldecode($path[$i]); - $val = isset($path[$i + 1]) ? urldecode($path[$i + 1]) : null; - $params[$key] = (isset($params[$key]) ? (array_merge((array) $params[$key], array($val))): $val); - } - } - } - - if ($partial) { - $this->setMatchedPath($matchedPath); - } - - $this->_values = $values + $params; - - return $this->_values + $this->_defaults; - } - - /** - * Assembles user submitted parameters forming a URL path defined by this route - * - * @param array $data An array of variable and value pairs used as parameters - * @param bool $reset Weither to reset the current params - * @return string Route path with user submitted parameters - */ - public function assemble($data = array(), $reset = false, $encode = true, $partial = false) - { - if (!$this->_keysSet) { - $this->_setRequestKeys(); - } - - $params = (!$reset) ? $this->_values : array(); - - foreach ($data as $key => $value) { - if ($value !== null) { - $params[$key] = $value; - } elseif (isset($params[$key])) { - unset($params[$key]); - } - } - - $params += $this->_defaults; - - $url = ''; - - if ($this->_moduleValid || array_key_exists($this->_moduleKey, $data)) { - if ($params[$this->_moduleKey] != $this->_defaults[$this->_moduleKey]) { - $module = $params[$this->_moduleKey]; - } - } - unset($params[$this->_moduleKey]); - - $controller = $params[$this->_controllerKey]; - unset($params[$this->_controllerKey]); - - $action = $params[$this->_actionKey]; - unset($params[$this->_actionKey]); - - foreach ($params as $key => $value) { - if (is_array($value)) { - foreach ($value as $arrayValue) { - if ($encode) $arrayValue = urlencode($arrayValue); - $url .= '/' . $key; - $url .= '/' . $arrayValue; - } - } else { - if ($encode) $value = urlencode($value); - $url .= '/' . $key; - $url .= '/' . $value; - } - } - - if (!empty($url) || $action !== $this->_defaults[$this->_actionKey]) { - if ($encode) $action = urlencode($action); - $url = '/' . $action . $url; - } - - if (!empty($url) || $controller !== $this->_defaults[$this->_controllerKey]) { - if ($encode) $controller = urlencode($controller); - $url = '/' . $controller . $url; - } - - if (isset($module)) { - if ($encode) $module = urlencode($module); - $url = '/' . $module . $url; - } - - return ltrim($url, self::URI_DELIMITER); - } - - /** - * Return a single parameter of route's defaults - * - * @param string $name Array key of the parameter - * @return string Previously set default - */ - public function getDefault($name) { - if (isset($this->_defaults[$name])) { - return $this->_defaults[$name]; - } - } - - /** - * Return an array of defaults - * - * @return array Route defaults - */ - public function getDefaults() { - return $this->_defaults; - } - -} diff --git a/lib/zend/Zend/Controller/Router/Route/Regex.php b/lib/zend/Zend/Controller/Router/Route/Regex.php deleted file mode 100644 index 4f6be9151e..0000000000 --- a/lib/zend/Zend/Controller/Router/Route/Regex.php +++ /dev/null @@ -1,262 +0,0 @@ -defaults instanceof Zend_Config) ? $config->defaults->toArray() : array(); - $map = ($config->map instanceof Zend_Config) ? $config->map->toArray() : array(); - $reverse = (isset($config->reverse)) ? $config->reverse : null; - return new self($config->route, $defs, $map, $reverse); - } - - public function __construct($route, $defaults = array(), $map = array(), $reverse = null) - { - $this->_regex = $route; - $this->_defaults = (array) $defaults; - $this->_map = (array) $map; - $this->_reverse = $reverse; - } - - public function getVersion() { - return 1; - } - - /** - * Matches a user submitted path with a previously defined route. - * Assigns and returns an array of defaults on a successful match. - * - * @param string $path Path used to match against this routing map - * @return array|false An array of assigned values or a false on a mismatch - */ - public function match($path, $partial = false) - { - if (!$partial) { - $path = trim(urldecode($path), '/'); - $regex = '#^' . $this->_regex . '$#i'; - } else { - $regex = '#^' . $this->_regex . '#i'; - } - - $res = preg_match($regex, $path, $values); - - if ($res === 0) { - return false; - } - - if ($partial) { - $this->setMatchedPath($values[0]); - } - - // array_filter_key()? Why isn't this in a standard PHP function set yet? :) - foreach ($values as $i => $value) { - if (!is_int($i) || $i === 0) { - unset($values[$i]); - } - } - - $this->_values = $values; - - $values = $this->_getMappedValues($values); - $defaults = $this->_getMappedValues($this->_defaults, false, true); - $return = $values + $defaults; - - return $return; - } - - /** - * Maps numerically indexed array values to it's associative mapped counterpart. - * Or vice versa. Uses user provided map array which consists of index => name - * parameter mapping. If map is not found, it returns original array. - * - * Method strips destination type of keys form source array. Ie. if source array is - * indexed numerically then every associative key will be stripped. Vice versa if reversed - * is set to true. - * - * @param array $values Indexed or associative array of values to map - * @param boolean $reversed False means translation of index to association. True means reverse. - * @param boolean $preserve Should wrong type of keys be preserved or stripped. - * @return array An array of mapped values - */ - protected function _getMappedValues($values, $reversed = false, $preserve = false) - { - if (count($this->_map) == 0) { - return $values; - } - - $return = array(); - - foreach ($values as $key => $value) { - if (is_int($key) && !$reversed) { - if (array_key_exists($key, $this->_map)) { - $index = $this->_map[$key]; - } elseif (false === ($index = array_search($key, $this->_map))) { - $index = $key; - } - $return[$index] = $values[$key]; - } elseif ($reversed) { - $index = (!is_int($key)) ? array_search($key, $this->_map, true) : $key; - if (false !== $index) { - $return[$index] = $values[$key]; - } - } elseif ($preserve) { - $return[$key] = $value; - } - } - - return $return; - } - - /** - * Assembles a URL path defined by this route - * - * @param array $data An array of name (or index) and value pairs used as parameters - * @return string Route path with user submitted parameters - */ - public function assemble($data = array(), $reset = false, $encode = false, $partial = false) - { - if ($this->_reverse === null) { - require_once 'Zend/Controller/Router/Exception.php'; - throw new Zend_Controller_Router_Exception('Cannot assemble. Reversed route is not specified.'); - } - - $defaultValuesMapped = $this->_getMappedValues($this->_defaults, true, false); - $matchedValuesMapped = $this->_getMappedValues($this->_values, true, false); - $dataValuesMapped = $this->_getMappedValues($data, true, false); - - // handle resets, if so requested (By null value) to do so - if (($resetKeys = array_search(null, $dataValuesMapped, true)) !== false) { - foreach ((array) $resetKeys as $resetKey) { - if (isset($matchedValuesMapped[$resetKey])) { - unset($matchedValuesMapped[$resetKey]); - unset($dataValuesMapped[$resetKey]); - } - } - } - - // merge all the data together, first defaults, then values matched, then supplied - $mergedData = $defaultValuesMapped; - $mergedData = $this->_arrayMergeNumericKeys($mergedData, $matchedValuesMapped); - $mergedData = $this->_arrayMergeNumericKeys($mergedData, $dataValuesMapped); - - if ($encode) { - foreach ($mergedData as $key => &$value) { - $value = urlencode($value); - } - } - - ksort($mergedData); - - $return = @vsprintf($this->_reverse, $mergedData); - - if ($return === false) { - require_once 'Zend/Controller/Router/Exception.php'; - throw new Zend_Controller_Router_Exception('Cannot assemble. Too few arguments?'); - } - - return $return; - - } - - /** - * Return a single parameter of route's defaults - * - * @param string $name Array key of the parameter - * @return string Previously set default - */ - public function getDefault($name) { - if (isset($this->_defaults[$name])) { - return $this->_defaults[$name]; - } - } - - /** - * Return an array of defaults - * - * @return array Route defaults - */ - public function getDefaults() { - return $this->_defaults; - } - - /** - * Get all variables which are used by the route - * - * @return array - */ - public function getVariables() - { - $variables = array(); - - foreach ($this->_map as $key => $value) { - if (is_numeric($key)) { - $variables[] = $value; - } else { - $variables[] = $key; - } - } - - return $variables; - } - - /** - * _arrayMergeNumericKeys() - allows for a strict key (numeric's included) array_merge. - * php's array_merge() lacks the ability to merge with numeric keys. - * - * @param array $array1 - * @param array $array2 - * @return array - */ - protected function _arrayMergeNumericKeys(Array $array1, Array $array2) - { - $returnArray = $array1; - foreach ($array2 as $array2Index => $array2Value) { - $returnArray[$array2Index] = $array2Value; - } - return $returnArray; - } - - -} diff --git a/lib/zend/Zend/Controller/Router/Route/Static.php b/lib/zend/Zend/Controller/Router/Route/Static.php deleted file mode 100644 index 01f1fa5f10..0000000000 --- a/lib/zend/Zend/Controller/Router/Route/Static.php +++ /dev/null @@ -1,125 +0,0 @@ -defaults instanceof Zend_Config) ? $config->defaults->toArray() : array(); - return new self($config->route, $defs); - } - - /** - * Prepares the route for mapping. - * - * @param string $route Map used to match with later submitted URL path - * @param array $defaults Defaults for map variables with keys as variable names - */ - public function __construct($route, $defaults = array()) - { - $this->_route = trim($route, '/'); - $this->_defaults = (array) $defaults; - } - - /** - * Matches a user submitted path with a previously defined route. - * Assigns and returns an array of defaults on a successful match. - * - * @param string $path Path used to match against this routing map - * @return array|false An array of assigned values or a false on a mismatch - */ - public function match($path, $partial = false) - { - if ($partial) { - if (substr($path, 0, strlen($this->_route)) === $this->_route) { - $this->setMatchedPath($this->_route); - return $this->_defaults; - } - } else { - if (trim($path, '/') == $this->_route) { - return $this->_defaults; - } - } - - return false; - } - - /** - * Assembles a URL path defined by this route - * - * @param array $data An array of variable and value pairs used as parameters - * @return string Route path with user submitted parameters - */ - public function assemble($data = array(), $reset = false, $encode = false, $partial = false) - { - return $this->_route; - } - - /** - * Return a single parameter of route's defaults - * - * @param string $name Array key of the parameter - * @return string Previously set default - */ - public function getDefault($name) { - if (isset($this->_defaults[$name])) { - return $this->_defaults[$name]; - } - return null; - } - - /** - * Return an array of defaults - * - * @return array Route defaults - */ - public function getDefaults() { - return $this->_defaults; - } - -} diff --git a/lib/zend/Zend/Crypt.php b/lib/zend/Zend/Crypt.php deleted file mode 100644 index f40291a05a..0000000000 --- a/lib/zend/Zend/Crypt.php +++ /dev/null @@ -1,167 +0,0 @@ -setPrime($prime); - $this->setGenerator($generator); - if (!is_null($privateKey)) { - $this->setPrivateKey($privateKey, $privateKeyType); - } - $this->setBigIntegerMath(); - } - - /** - * Generate own public key. If a private number has not already been - * set, one will be generated at this stage. - * - * @return Zend_Crypt_DiffieHellman - */ - public function generateKeys() - { - if (function_exists('openssl_dh_compute_key') && self::$useOpenssl !== false) { - $details = array(); - $details['p'] = $this->getPrime(); - $details['g'] = $this->getGenerator(); - if ($this->hasPrivateKey()) { - $details['priv_key'] = $this->getPrivateKey(); - } - $opensslKeyResource = openssl_pkey_new( array('dh' => $details) ); - $data = openssl_pkey_get_details($opensslKeyResource); - $this->setPrivateKey($data['dh']['priv_key'], self::BINARY); - $this->setPublicKey($data['dh']['pub_key'], self::BINARY); - } else { - // Private key is lazy generated in the absence of PHP 5.3's ext/openssl - $publicKey = $this->_math->powmod($this->getGenerator(), $this->getPrivateKey(), $this->getPrime()); - $this->setPublicKey($publicKey); - } - return $this; - } - - /** - * Setter for the value of the public number - * - * @param string $number - * @param string $type - * @return Zend_Crypt_DiffieHellman - */ - public function setPublicKey($number, $type = self::NUMBER) - { - if ($type == self::BINARY) { - $number = $this->_math->fromBinary($number); - } - if (!preg_match("/^\d+$/", $number)) { - require_once('Zend/Crypt/DiffieHellman/Exception.php'); - throw new Zend_Crypt_DiffieHellman_Exception('invalid parameter; not a positive natural number'); - } - $this->_publicKey = (string) $number; - return $this; - } - - /** - * Returns own public key for communication to the second party to this - * transaction. - * - * @param string $type - * @return string - */ - public function getPublicKey($type = self::NUMBER) - { - if (is_null($this->_publicKey)) { - require_once 'Zend/Crypt/DiffieHellman/Exception.php'; - throw new Zend_Crypt_DiffieHellman_Exception('A public key has not yet been generated using a prior call to generateKeys()'); - } - if ($type == self::BINARY) { - return $this->_math->toBinary($this->_publicKey); - } elseif ($type == self::BTWOC) { - return $this->_math->btwoc($this->_math->toBinary($this->_publicKey)); - } - return $this->_publicKey; - } - - /** - * Compute the shared secret key based on the public key received from the - * the second party to this transaction. This should agree to the secret - * key the second party computes on our own public key. - * Once in agreement, the key is known to only to both parties. - * By default, the function expects the public key to be in binary form - * which is the typical format when being transmitted. - * - * If you need the binary form of the shared secret key, call - * getSharedSecretKey() with the optional parameter for Binary output. - * - * @param string $publicKey - * @param string $type - * @return mixed - */ - public function computeSecretKey($publicKey, $type = self::NUMBER, $output = self::NUMBER) - { - if ($type == self::BINARY) { - $publicKey = $this->_math->fromBinary($publicKey); - } - if (!preg_match("/^\d+$/", $publicKey)) { - require_once('Zend/Crypt/DiffieHellman/Exception.php'); - throw new Zend_Crypt_DiffieHellman_Exception('invalid parameter; not a positive natural number'); - } - if (function_exists('openssl_dh_compute_key') && self::$useOpenssl !== false) { - $this->_secretKey = openssl_dh_compute_key($publicKey, $this->getPublicKey()); - } else { - $this->_secretKey = $this->_math->powmod($publicKey, $this->getPrivateKey(), $this->getPrime()); - } - return $this->getSharedSecretKey($output); - } - - /** - * Return the computed shared secret key from the DiffieHellman transaction - * - * @param string $type - * @return string - */ - public function getSharedSecretKey($type = self::NUMBER) - { - if (!isset($this->_secretKey)) { - require_once('Zend/Crypt/DiffieHellman/Exception.php'); - throw new Zend_Crypt_DiffieHellman_Exception('A secret key has not yet been computed; call computeSecretKey()'); - } - if ($type == self::BINARY) { - return $this->_math->toBinary($this->_secretKey); - } elseif ($type == self::BTWOC) { - return $this->_math->btwoc($this->_math->toBinary($this->_secretKey)); - } - return $this->_secretKey; - } - - /** - * Setter for the value of the prime number - * - * @param string $number - * @return Zend_Crypt_DiffieHellman - */ - public function setPrime($number) - { - if (!preg_match("/^\d+$/", $number) || $number < 11) { - require_once('Zend/Crypt/DiffieHellman/Exception.php'); - throw new Zend_Crypt_DiffieHellman_Exception('invalid parameter; not a positive natural number or too small: should be a large natural number prime'); - } - $this->_prime = (string) $number; - return $this; - } - - /** - * Getter for the value of the prime number - * - * @return string - */ - public function getPrime() - { - if (!isset($this->_prime)) { - require_once('Zend/Crypt/DiffieHellman/Exception.php'); - throw new Zend_Crypt_DiffieHellman_Exception('No prime number has been set'); - } - return $this->_prime; - } - - - /** - * Setter for the value of the generator number - * - * @param string $number - * @return Zend_Crypt_DiffieHellman - */ - public function setGenerator($number) - { - if (!preg_match("/^\d+$/", $number) || $number < 2) { - require_once('Zend/Crypt/DiffieHellman/Exception.php'); - throw new Zend_Crypt_DiffieHellman_Exception('invalid parameter; not a positive natural number greater than 1'); - } - $this->_generator = (string) $number; - return $this; - } - - /** - * Getter for the value of the generator number - * - * @return string - */ - public function getGenerator() - { - if (!isset($this->_generator)) { - require_once('Zend/Crypt/DiffieHellman/Exception.php'); - throw new Zend_Crypt_DiffieHellman_Exception('No generator number has been set'); - } - return $this->_generator; - } - - /** - * Setter for the value of the private number - * - * @param string $number - * @param string $type - * @return Zend_Crypt_DiffieHellman - */ - public function setPrivateKey($number, $type = self::NUMBER) - { - if ($type == self::BINARY) { - $number = $this->_math->fromBinary($number); - } - if (!preg_match("/^\d+$/", $number)) { - require_once('Zend/Crypt/DiffieHellman/Exception.php'); - throw new Zend_Crypt_DiffieHellman_Exception('invalid parameter; not a positive natural number'); - } - $this->_privateKey = (string) $number; - return $this; - } - - /** - * Getter for the value of the private number - * - * @param string $type - * @return string - */ - public function getPrivateKey($type = self::NUMBER) - { - if (!$this->hasPrivateKey()) { - $this->setPrivateKey($this->_generatePrivateKey()); - } - if ($type == self::BINARY) { - return $this->_math->toBinary($this->_privateKey); - } elseif ($type == self::BTWOC) { - return $this->_math->btwoc($this->_math->toBinary($this->_privateKey)); - } - return $this->_privateKey; - } - - /** - * Check whether a private key currently exists. - * - * @return boolean - */ - public function hasPrivateKey() - { - return isset($this->_privateKey); - } - - /** - * Setter to pass an extension parameter which is used to create - * a specific BigInteger instance for a specific extension type. - * Allows manual setting of the class in case of an extension - * problem or bug. - * - * @param string $extension - * @return void - */ - public function setBigIntegerMath($extension = null) - { - /** - * @see Zend_Crypt_Math - */ - require_once 'Zend/Crypt/Math.php'; - $this->_math = new Zend_Crypt_Math($extension); - } - - /** - * In the event a private number/key has not been set by the user, - * or generated by ext/openssl, a best attempt will be made to - * generate a random key. Having a random number generator installed - * on linux/bsd is highly recommended! The alternative is not recommended - * for production unless without any other option. - * - * @return string - */ - protected function _generatePrivateKey() - { - $rand = $this->_math->rand($this->getGenerator(), $this->getPrime()); - return $rand; - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/Crypt/DiffieHellman/Exception.php b/lib/zend/Zend/Crypt/DiffieHellman/Exception.php deleted file mode 100644 index 172d37fdf0..0000000000 --- a/lib/zend/Zend/Crypt/DiffieHellman/Exception.php +++ /dev/null @@ -1,36 +0,0 @@ -80 using internal algo) - * @todo Check if mhash() is a required alternative (will be PECL-only soon) - * @category Zend - * @package Zend_Crypt - * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - */ -class Zend_Crypt_Hmac extends Zend_Crypt -{ - - /** - * The key to use for the hash - * - * @var string - */ - protected static $_key = null; - - /** - * pack() format to be used for current hashing method - * - * @var string - */ - protected static $_packFormat = null; - - /** - * Hashing algorithm; can be the md5/sha1 functions or any algorithm name - * listed in the output of PHP 5.1.2+ hash_algos(). - * - * @var string - */ - protected static $_hashAlgorithm = 'md5'; - - /** - * List of algorithms supported my mhash() - * - * @var array - */ - protected static $_supportedMhashAlgorithms = array('adler32',' crc32', 'crc32b', 'gost', - 'haval128', 'haval160', 'haval192', 'haval256', 'md4', 'md5', 'ripemd160', - 'sha1', 'sha256', 'tiger', 'tiger128', 'tiger160'); - - /** - * Constants representing the output mode of the hash algorithm - */ - const STRING = 'string'; - const BINARY = 'binary'; - - /** - * Performs a HMAC computation given relevant details such as Key, Hashing - * algorithm, the data to compute MAC of, and an output format of String, - * Binary notation or BTWOC. - * - * @param string $key - * @param string $hash - * @param string $data - * @param string $output - * @param boolean $internal - * @return string - */ - public static function compute($key, $hash, $data, $output = self::STRING) - { - // set the key - if (!isset($key) || empty($key)) { - require_once 'Zend/Crypt/Hmac/Exception.php'; - throw new Zend_Crypt_Hmac_Exception('provided key is null or empty'); - } - self::$_key = $key; - - // set the hash - self::_setHashAlgorithm($hash); - - // perform hashing and return - return self::_hash($data, $output); - } - - /** - * Setter for the hash method. - * - * @param string $hash - * @return Zend_Crypt_Hmac - */ - protected static function _setHashAlgorithm($hash) - { - if (!isset($hash) || empty($hash)) { - require_once 'Zend/Crypt/Hmac/Exception.php'; - throw new Zend_Crypt_Hmac_Exception('provided hash string is null or empty'); - } - - $hash = strtolower($hash); - $hashSupported = false; - - if (function_exists('hash_algos') && in_array($hash, hash_algos())) { - $hashSupported = true; - } - - if ($hashSupported === false && function_exists('mhash') && in_array($hash, self::$_supportedAlgosMhash)) { - $hashSupported = true; - } - - if ($hashSupported === false) { - require_once 'Zend/Crypt/Hmac/Exception.php'; - throw new Zend_Crypt_Hmac_Exception('hash algorithm provided is not supported on this PHP installation; please enable the hash or mhash extensions'); - } - self::$_hashAlgorithm = $hash; - } - - /** - * Perform HMAC and return the keyed data - * - * @param string $data - * @param string $output - * @param bool $internal Option to not use hash() functions for testing - * @return string - */ - protected static function _hash($data, $output = self::STRING, $internal = false) - { - if (function_exists('hash_hmac')) { - if ($output == self::BINARY) { - return hash_hmac(self::$_hashAlgorithm, $data, self::$_key, 1); - } - return hash_hmac(self::$_hashAlgorithm, $data, self::$_key); - } - - if (function_exists('mhash')) { - if ($output == self::BINARY) { - return mhash(self::_getMhashDefinition(self::$_hashAlgorithm), $data, self::$_key); - } - $bin = mhash(self::_getMhashDefinition(self::$_hashAlgorithm), $data, self::$_key); - return bin2hex($bin); - } - } - - /** - * Since MHASH accepts an integer constant representing the hash algorithm - * we need to make a small detour to get the correct integer matching our - * algorithm's name. - * - * @param string $hashAlgorithm - * @return integer - */ - protected static function _getMhashDefinition($hashAlgorithm) - { - for ($i = 0; $i <= mhash_count(); $i++) - { - $types[mhash_get_hash_name($i)] = $i; - } - return $types[strtoupper($hashAlgorithm)]; - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/Crypt/Hmac/Exception.php b/lib/zend/Zend/Crypt/Hmac/Exception.php deleted file mode 100644 index 1431bf80cd..0000000000 --- a/lib/zend/Zend/Crypt/Hmac/Exception.php +++ /dev/null @@ -1,36 +0,0 @@ - 127) { - return "\x00" . $long; - } - return $long; - } - - /** - * Translate a binary form into a big integer string - * - * @param string $binary - * @return string - */ - public function fromBinary($binary) { - return $this->_math->binaryToInteger($binary); - } - - /** - * Translate a big integer string into a binary form - * - * @param string $integer - * @return string - */ - public function toBinary($integer) - { - return $this->_math->integerToBinary($integer); - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/Crypt/Math/BigInteger.php b/lib/zend/Zend/Crypt/Math/BigInteger.php deleted file mode 100644 index 183cbd4650..0000000000 --- a/lib/zend/Zend/Crypt/Math/BigInteger.php +++ /dev/null @@ -1,117 +0,0 @@ -_loadAdapter($extension); - } - - /** - * Redirect all public method calls to the wrapped extension object. - * - * @param string $methodName - * @param array $args - * @throws Zend_Crypt_Math_BigInteger_Exception - */ - public function __call($methodName, $args) - { - if(!method_exists($this->_math, $methodName)) { - require_once 'Zend/Crypt/Math/BigInteger/Exception.php'; - throw new Zend_Crypt_Math_BigInteger_Exception('invalid method call: ' . get_class($this->_math) . '::' . $methodName . '() does not exist'); - } - return call_user_func_array(array($this->_math, $methodName), $args); - } - - /** - * @param string $extension - * @throws Zend_Crypt_Math_BigInteger_Exception - */ - protected function _loadAdapter($extension = null) - { - if (is_null($extension)) { - if (extension_loaded('gmp')) { - $extension = 'gmp'; - //} elseif (extension_loaded('big_int')) { - // $extension = 'big_int'; - } else { - $extension = 'bcmath'; - } - } - if($extension == 'gmp' && extension_loaded('gmp')) { - require_once 'Zend/Crypt/Math/BigInteger/Gmp.php'; - $this->_math = new Zend_Crypt_Math_BigInteger_Gmp(); - //} elseif($extension == 'bigint' && extension_loaded('big_int')) { - // require_once 'Zend/Crypt_Math/BigInteger/Bigint.php'; - // $this->_math = new Zend_Crypt_Math_BigInteger_Bigint(); - } elseif ($extension == 'bcmath') { - require_once 'Zend/Crypt/Math/BigInteger/Bcmath.php'; - $this->_math = new Zend_Crypt_Math_BigInteger_Bcmath(); - } else { - require_once 'Zend/Crypt/Math/BigInteger/Exception.php'; - throw new Zend_Crypt_Math_BigInteger_Exception($extension . ' big integer precision math support not detected'); - } - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/Crypt/Math/BigInteger/Bcmath.php b/lib/zend/Zend/Crypt/Math/BigInteger/Bcmath.php deleted file mode 100644 index 7b6e8173b3..0000000000 --- a/lib/zend/Zend/Crypt/Math/BigInteger/Bcmath.php +++ /dev/null @@ -1,203 +0,0 @@ - 0) { - $return = chr(bcmod($operand, 256)) . $return; - $operand = bcdiv($operand, 256); - } - if (ord($return[0]) > 127) { - $return = chr(0) . $return; - } - return $return; - } - - /**public function integerToBinary($operand) - { - $return = ''; - while(bccomp($operand, '0')) { - $return .= chr(bcmod($operand, '256')); - $operand = bcdiv($operand, '256'); - } - return $return; - }**/ // Prior version for referenced offset - - - public function hexToDecimal($operand) - { - $return = '0'; - while(strlen($hex)) { - $hex = hexdec(substr($operand, 0, 4)); - $dec = bcadd(bcmul($return, 65536), $hex); - $operand = substr($operand, 4); - } - return $return; - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/Crypt/Math/BigInteger/Exception.php b/lib/zend/Zend/Crypt/Math/BigInteger/Exception.php deleted file mode 100644 index aaac212c84..0000000000 --- a/lib/zend/Zend/Crypt/Math/BigInteger/Exception.php +++ /dev/null @@ -1,36 +0,0 @@ - '7') { - $bigInt = '00' . $bigInt; - } - $return = pack("H*", $bigInt); - return $return; - } - - - public function hexToDecimal($operand) - { - $return = '0'; - while(strlen($hex)) { - $hex = hexdec(substr($operand, 0, 4)); - $dec = gmp_add(gmp_mul($return, 65536), $hex); - $operand = substr($operand, 4); - } - return $return; - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/Crypt/Math/BigInteger/Interface.php b/lib/zend/Zend/Crypt/Math/BigInteger/Interface.php deleted file mode 100644 index 0e579572a8..0000000000 --- a/lib/zend/Zend/Crypt/Math/BigInteger/Interface.php +++ /dev/null @@ -1,51 +0,0 @@ -setOptions($options); - } - } - - public function setOptions(array $options) - { - if (isset($options['passPhrase'])) { - $this->_passPhrase = $options['passPhrase']; - } - foreach ($options as $option=>$value) { - switch ($option) { - case 'pemString': - $this->setPemString($value); - break; - case 'pemPath': - $this->setPemPath($value); - break; - case 'certificateString': - $this->setCertificateString($value); - break; - case 'certificatePath': - $this->setCertificatePath($value); - break; - case 'hashAlgorithm': - $this->setHashAlgorithm($value); - break; - } - } - } - - public function getPrivateKey() - { - return $this->_privateKey; - } - - public function getPublicKey() - { - return $this->_publicKey; - } - - /** - * @param string $data - * @param Zend_Crypt_Rsa_Key_Private $privateKey - * @param string $format - * @return string - */ - public function sign($data, Zend_Crypt_Rsa_Key_Private $privateKey = null, $format = null) - { - $signature = ''; - if (isset($privateKey)) { - $opensslKeyResource = $privateKey->getOpensslKeyResource(); - } else { - $opensslKeyResource = $this->_privateKey->getOpensslKeyResource(); - } - $result = openssl_sign( - $data, $signature, - $opensslKeyResource, - $this->getHashAlgorithm() - ); - if ($format == self::BASE64) { - return base64_encode($signature); - } - return $signature; - } - - /** - * @param string $data - * @param string $signature - * @param string $format - * @return string - */ - public function verifySignature($data, $signature, $format = null) - { - if ($format == self::BASE64) { - $signature = base64_decode($signature); - } - $result = openssl_verify($data, $signature, - $this->getPublicKey()->getOpensslKeyResource(), - $this->getHashAlgorithm()); - return $result; - } - - /** - * @param string $data - * @param Zend_Crypt_Rsa_Key $key - * @param string $format - * @return string - */ - public function encrypt($data, Zend_Crypt_Rsa_Key $key, $format = null) - { - $encrypted = ''; - $function = 'openssl_public_encrypt'; - if ($key instanceof Zend_Crypt_Rsa_Key_Private) { - $function = 'openssl_private_encrypt'; - } - $function($data, $encrypted, $key->getOpensslKeyResource()); - if ($format == self::BASE64) { - return base64_encode($encrypted); - } - return $encrypted; - } - - /** - * @param string $data - * @param Zend_Crypt_Rsa_Key $key - * @param string $format - * @return string - */ - public function decrypt($data, Zend_Crypt_Rsa_Key $key, $format = null) - { - $decrypted = ''; - if ($format == self::BASE64) { - $data = base64_decode($data); - } - $function = 'openssl_private_decrypt'; - if ($key instanceof Zend_Crypt_Rsa_Key_Public) { - $function = 'openssl_public_decrypt'; - } - $function($data, $decrypted, $key->getOpensslKeyResource()); - return $decrypted; - } - - public function generateKeys(array $configargs = null) - { - $config = null; - $passPhrase = null; - if (!is_null($configargs)) { - if (isset($configargs['passPhrase'])) { - $passPhrase = $configargs['passPhrase']; - unset($configargs['passPhrase']); - } - $config = $this->_parseConfigArgs($configargs); - } - $privateKey = null; - $publicKey = null; - $resource = openssl_pkey_new($config); - // above fails on PHP 5.3 - openssl_pkey_export($resource, $private, $passPhrase); - $privateKey = new Zend_Crypt_Rsa_Key_Private($private, $passPhrase); - $details = openssl_pkey_get_details($resource); - $publicKey = new Zend_Crypt_Rsa_Key_Public($details['key']); - $return = new ArrayObject(array( - 'privateKey'=>$privateKey, - 'publicKey'=>$publicKey - ), ArrayObject::ARRAY_AS_PROPS); - return $return; - } - - /** - * @param string $value - */ - public function setPemString($value) - { - $this->_pemString = $value; - $this->_privateKey = new Zend_Crypt_Rsa_Key_Private($this->_pemString, $this->_passPhrase); - $this->_publicKey = $this->_privateKey->getPublicKey(); - } - - public function setPemPath($value) - { - $this->_pemPath = $value; - $this->setPemString(file_get_contents($this->_pemPath)); - } - - public function setCertificateString($value) - { - $this->_certificateString = $value; - $this->_publicKey = new Zend_Crypt_Rsa_Key_Public($this->_certificateString, $this->_passPhrase); - } - - public function setCertificatePath($value) - { - $this->_certificatePath = $value; - $this->setCertificateString(file_get_contents($this->_certificatePath)); - } - - public function setHashAlgorithm($name) - { - switch ($name) { - case 'md2': - $this->_hashAlgorithm = OPENSSL_ALGO_MD2; - break; - case 'md4': - $this->_hashAlgorithm = OPENSSL_ALGO_MD4; - break; - case 'md5': - $this->_hashAlgorithm = OPENSSL_ALGO_MD5; - break; - } - } - - /** - * @return string - */ - public function getPemString() - { - return $this->_pemString; - } - - public function getPemPath() - { - return $this->_pemPath; - } - - public function getCertificateString() - { - return $this->_certificateString; - } - - public function getCertificatePath() - { - return $this->_certificatePath; - } - - public function getHashAlgorithm() - { - return $this->_hashAlgorithm; - } - - protected function _parseConfigArgs(array $config = null) - { - $configs = array(); - if (isset($config['privateKeyBits'])) { - $configs['private_key_bits'] = $config['privateKeyBits']; - } - if (!empty($configs)) { - return $configs; - } - return null; - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/Crypt/Rsa/Key.php b/lib/zend/Zend/Crypt/Rsa/Key.php deleted file mode 100644 index d8f7e2c5c9..0000000000 --- a/lib/zend/Zend/Crypt/Rsa/Key.php +++ /dev/null @@ -1,95 +0,0 @@ -_opensslKeyResource; - } - - /** - * @return string - * @throws Zend_Crypt_Exception - */ - public function toString() - { - if (!empty($this->_pemString)) { - return $this->_pemString; - } elseif (!empty($this->_certificateString)) { - return $this->_certificateString; - } - /** - * @see Zend_Crypt_Exception - */ - require_once 'Zend/Crypt/Exception.php'; - throw new Zend_Crypt_Exception('No public key string representation is available'); - } - - /** - * @return string - */ - public function __toString() - { - return $this->toString(); - } - - public function count() - { - return $this->_details['bits']; - } - - public function getType() - { - return $this->_details['type']; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Crypt/Rsa/Key/Private.php b/lib/zend/Zend/Crypt/Rsa/Key/Private.php deleted file mode 100644 index b4d2141fb6..0000000000 --- a/lib/zend/Zend/Crypt/Rsa/Key/Private.php +++ /dev/null @@ -1,75 +0,0 @@ -_pemString = $pemString; - $this->_parse($passPhrase); - } - - /** - * @param string $passPhrase - * @throws Zend_Crypt_Exception - */ - protected function _parse($passPhrase) - { - $result = openssl_get_privatekey($this->_pemString, $passPhrase); - if (!$result) { - /** - * @see Zend_Crypt_Exception - */ - require_once 'Zend/Crypt/Exception.php'; - throw new Zend_Crypt_Exception('Unable to load private key'); - } - $this->_opensslKeyResource = $result; - $this->_details = openssl_pkey_get_details($this->_opensslKeyResource); - } - - public function getPublicKey() - { - if (is_null($this->_publicKey)) { - /** - * @see Zend_Crypt_Rsa_Key_Public - */ - require_once 'Zend/Crypt/Rsa/Key/Public.php'; - $this->_publicKey = new Zend_Crypt_Rsa_Key_Public($this->_details['key']); - } - return $this->_publicKey; - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/Crypt/Rsa/Key/Public.php b/lib/zend/Zend/Crypt/Rsa/Key/Public.php deleted file mode 100644 index f8afe9dde3..0000000000 --- a/lib/zend/Zend/Crypt/Rsa/Key/Public.php +++ /dev/null @@ -1,74 +0,0 @@ -_parse($string); - } - - /** - * @param string $string - * @throws Zend_Crypt_Exception - */ - protected function _parse($string) - { - if (preg_match("/^-----BEGIN CERTIFICATE-----/", $string)) { - $this->_certificateString = $string; - } else { - $this->_pemString = $string; - } - $result = openssl_get_publickey($string); - if (!$result) { - /** - * @see Zend_Crypt_Exception - */ - require_once 'Zend/Crypt/Exception.php'; - throw new Zend_Crypt_Exception('Unable to load public key'); - } - //openssl_pkey_export($result, $public); - //$this->_pemString = $public; - $this->_opensslKeyResource = $result; - $this->_details = openssl_pkey_get_details($this->_opensslKeyResource); - } - - public function getCertificate() - { - return $this->_certificateString; - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/Currency.php b/lib/zend/Zend/Currency.php deleted file mode 100644 index bc5d2f7bfb..0000000000 --- a/lib/zend/Zend/Currency.php +++ /dev/null @@ -1,624 +0,0 @@ - Position for the currency sign - * 'script' => Script for the output - * 'format' => Locale for numeric output - * 'display' => Currency detail to show - * 'precision' => Precision for the currency - * 'name' => Name for this currency - * 'currency' => 3 lettered international abbreviation - * 'symbol' => Currency symbol - * - * @var array - * @see Zend_Locale - */ - protected $_options = array( - 'position' => self::STANDARD, - 'script' => null, - 'format' => null, - 'display' => self::NO_SYMBOL, - 'precision' => 2, - 'name' => null, - 'currency' => null, - 'symbol' => null - ); - - /** - * Creates a currency instance. Every supressed parameter is used from the actual or the given locale. - * - * @param string $currency OPTIONAL currency short name - * @param string|Zend_Locale $locale OPTIONAL locale name - * @throws Zend_Currency_Exception When currency is invalid - */ - public function __construct($currency = null, $locale = null) - { - if (Zend_Locale::isLocale($currency, true, false)) { - $temp = $locale; - $locale = $currency; - $currency = $temp; - } - - $this->setLocale($locale); - - // Get currency details - $this->_options['currency'] = self::getShortName($currency, $this->_locale); - $this->_options['name'] = self::getName($currency, $this->_locale); - $this->_options['symbol'] = self::getSymbol($currency, $this->_locale); - - if (($this->_options['currency'] === null) and ($this->_options['name'] === null)) { - require_once 'Zend/Currency/Exception.php'; - throw new Zend_Currency_Exception("Currency '$currency' not found"); - } - - // Get the format - $this->_options['display'] = self::NO_SYMBOL; - if (empty($this->_options['symbol']) === false) { - $this->_options['display'] = self::USE_SYMBOL; - } else if (empty($this->_options['currency']) === false) { - $this->_options['display'] = self::USE_SHORTNAME; - } - } - - /** - * Returns a localized currency string - * - * @param integer|float $value Currency value - * @param array $options OPTIONAL options to set temporary - * @throws Zend_Currency_Exception When the value is not a number - * @return string - */ - public function toCurrency($value, array $options = array()) - { - // Validate the passed number - if ((isset($value) === false) or (is_numeric($value) === false)) { - require_once 'Zend/Currency/Exception.php'; - throw new Zend_Currency_Exception("Value '$value' has to be numeric"); - } - - $options = $this->_checkOptions($options) + $this->_options; - - // Format the number - $format = $options['format']; - $locale = $this->_locale; - if (empty($format)) { - $format = Zend_Locale_Data::getContent($this->_locale, 'currencynumber'); - } else if (Zend_Locale::isLocale($format, true, false)) { - $locale = $format; - $format = Zend_Locale_Data::getContent($format, 'currencynumber'); - } - - $symbols = Zend_Locale_Data::getList($locale, 'symbols'); - $original = $value; - $value = Zend_Locale_Format::toNumber($value, array('locale' => $locale, - 'number_format' => $format, - 'precision' => $options['precision'])); - - if ($options['position'] !== self::STANDARD) { - $value = str_replace('¤', '', $value); - $space = ''; - if (iconv_strpos($value, ' ') !== false) { - $value = str_replace(' ', '', $value); - $space = ' '; - } - - if ($options['position'] == self::LEFT) { - $value = '¤' . $space . $value; - } else { - $value = $value . $space . '¤'; - } - } - - // Localize the number digits - if (empty($options['script']) === false) { - $value = Zend_Locale_Format::convertNumerals($value, 'Latn', $options['script']); - } - - // Get the sign to be placed next to the number - if (is_numeric($options['display']) === false) { - $sign = $options['display']; - } else { - switch($options['display']) { - case self::USE_SYMBOL: - $sign = $this->_extractPattern($options['symbol'], $original); - break; - - case self::USE_SHORTNAME: - $sign = $options['currency']; - break; - - case self::USE_NAME: - $sign = $options['name']; - break; - - default: - $sign = ''; - $value = str_replace(' ', '', $value); - break; - } - } - - $value = str_replace('¤', $sign, $value); - return $value; - } - - /** - * Internal method to extract the currency pattern - * when a choice is given based on the given value - * - * @param string $pattern - * @param float|integer $value - * @return string - */ - private function _extractPattern($pattern, $value) - { - if (strpos($pattern, '|') === false) { - return $pattern; - } - - $patterns = explode('|', $pattern); - $token = $pattern; - $value = trim(str_replace('¤', '', $value)); - krsort($patterns); - foreach($patterns as $content) { - if (strpos($content, '<') !== false) { - $check = iconv_substr($content, 0, iconv_strpos($content, '<')); - $token = iconv_substr($content, iconv_strpos($content, '<') + 1); - if ($check < $value) { - return $token; - } - } else { - $check = iconv_substr($content, 0, iconv_strpos($content, '≤')); - $token = iconv_substr($content, iconv_strpos($content, '≤') + 1); - if ($check <= $value) { - return $token; - } - } - - } - - return $token; - } - - /** - * Sets the formating options of the localized currency string - * If no parameter is passed, the standard setting of the - * actual set locale will be used - * - * @param array $options (Optional) Options to set - * @return Zend_Currency - */ - public function setFormat(array $options = array()) - { - $this->_options = $this->_checkOptions($options) + $this->_options; - return $this; - } - - /** - * Internal function for checking static given locale parameter - * - * @param string $currency (Optional) Currency name - * @param string|Zend_Locale $locale (Optional) Locale to display informations - * @throws Zend_Currency_Exception When locale contains no region - * @return string The extracted locale representation as string - */ - private function _checkParams($currency = null, $locale = null) - { - // Manage the params - if ((empty($locale)) and (!empty($currency)) and - (Zend_Locale::isLocale($currency, true, false))) { - $locale = $currency; - $currency = null; - } - - // Validate the locale and get the country short name - $country = null; - if ((Zend_Locale::isLocale($locale, true, false)) and (strlen($locale) > 4)) { - $country = substr($locale, (strpos($locale, '_') + 1)); - } else { - require_once 'Zend/Currency/Exception.php'; - throw new Zend_Currency_Exception("No region found within the locale '" . (string) $locale . "'"); - } - - // Get the available currencies for this country - $data = Zend_Locale_Data::getContent($locale, 'currencytoregion', $country); - if ((empty($currency) === false) and (empty($data) === false)) { - $abbreviation = $currency; - } else { - $abbreviation = $data; - } - - return array('locale' => $locale, 'currency' => $currency, 'name' => $abbreviation, 'country' => $country); - } - - /** - * Returns the actual or details of other currency symbols, - * when no symbol is available it returns the currency shortname (f.e. FIM for Finnian Mark) - * - * @param string $currency (Optional) Currency name - * @param string|Zend_Locale $locale (Optional) Locale to display informations - * @return string - */ - public function getSymbol($currency = null, $locale = null) - { - if (($currency === null) and ($locale === null)) { - return $this->_options['symbol']; - } - - $params = self::_checkParams($currency, $locale); - - // Get the symbol - $symbol = Zend_Locale_Data::getContent($params['locale'], 'currencysymbol', $params['currency']); - if (empty($symbol) === true) { - $symbol = Zend_Locale_Data::getContent($params['locale'], 'currencysymbol', $params['name']); - } - - if (empty($symbol) === true) { - return null; - } - - return $symbol; - } - - /** - * Returns the actual or details of other currency shortnames - * - * @param string $currency OPTIONAL Currency's name - * @param string|Zend_Locale $locale OPTIONAL The locale - * @return string - */ - public function getShortName($currency = null, $locale = null) - { - if (($currency === null) and ($locale === null)) { - return $this->_options['currency']; - } - - $params = self::_checkParams($currency, $locale); - - // Get the shortname - if (empty($params['currency']) === true) { - return $params['name']; - } - - $list = Zend_Locale_Data::getContent($params['locale'], 'currencytoname', $params['currency']); - if (empty($list) === true) { - $list = Zend_Locale_Data::getContent($params['locale'], 'nametocurrency', $params['currency']); - if (empty($list) === false) { - $list = $params['currency']; - } - } - - if (empty($list) === true) { - return null; - } - - return $list; - } - - /** - * Returns the actual or details of other currency names - * - * @param string $currency (Optional) Currency's short name - * @param string|Zend_Locale $locale (Optional) The locale - * @return string - */ - public function getName($currency = null, $locale = null) - { - if (($currency === null) and ($locale === null)) { - return $this->_options['name']; - } - - $params = self::_checkParams($currency, $locale); - - // Get the name - $name = Zend_Locale_Data::getContent($params['locale'], 'nametocurrency', $params['currency']); - if (empty($name) === true) { - $name = Zend_Locale_Data::getContent($params['locale'], 'nametocurrency', $params['name']); - } - - if (empty($name) === true) { - return null; - } - - return $name; - } - - /** - * Returns a list of regions where this currency is or was known - * - * @param string $currency OPTIONAL Currency's short name - * @throws Zend_Currency_Exception When no currency was defined - * @return array List of regions - */ - public function getRegionList($currency = null) - { - if ($currency === null) { - $currency = $this->_options['currency']; - } - - if (empty($currency) === true) { - require_once 'Zend/Currency/Exception.php'; - throw new Zend_Currency_Exception('No currency defined'); - } - - $data = Zend_Locale_Data::getContent('', 'regiontocurrency', $currency); - - $result = explode(' ', $data); - return $result; - } - - /** - * Returns a list of currencies which are used in this region - * a region name should be 2 charachters only (f.e. EG, DE, US) - * If no region is given, the actual region is used - * - * @param string $region OPTIONAL Region to return the currencies for - * @return array List of currencies - */ - public function getCurrencyList($region = null) - { - if (empty($region) === true) { - if (strlen($this->_locale) > 4) { - $region = substr($this->_locale, (strpos($this->_locale, '_') + 1)); - } - } - - return Zend_Locale_Data::getList('', 'regiontocurrency', $region); - } - - /** - * Returns the actual currency name - * - * @return string - */ - public function toString() - { - return (empty($this->_options['name']) === false) ? $this->_options['name'] : $this->_options['currency']; - } - - /** - * Returns the currency name - * - * @return string - */ - public function __toString() - { - return $this->toString(); - } - - /** - * Returns the set cache - * - * @return Zend_Cache_Core The set cache - */ - public static function getCache() - { - $cache = Zend_Locale_Data::getCache(); - return $cache; - } - - /** - * Sets a cache for Zend_Currency - * - * @param Zend_Cache_Core $cache Cache to set - * @return void - */ - public static function setCache(Zend_Cache_Core $cache) - { - Zend_Locale_Data::setCache($cache); - } - - /** - * Returns true when a cache is set - * - * @return boolean - */ - public static function hasCache() - { - return Zend_Locale_Data::hasCache(); - } - - /** - * Removes any set cache - * - * @return void - */ - public static function removeCache() - { - Zend_Locale_Data::removeCache(); - } - - /** - * Clears all set cache data - * - * @return void - */ - public static function clearCache() - { - Zend_Locale_Data::clearCache(); - } - - /** - * Sets a new locale for data retreivement - * Example: 'de_XX' will be set to 'de' because 'de_XX' does not exist - * 'xx_YY' will be set to 'root' because 'xx' does not exist - * - * @param string|Zend_Locale $locale (Optional) Locale for parsing input - * @throws Zend_Currency_Exception When the given locale does not exist - * @return Zend_Currency Provides fluent interface - */ - public function setLocale($locale = null) - { - require_once 'Zend/Locale.php'; - try { - $this->_locale = Zend_Locale::findLocale($locale); - } catch (Zend_Locale_Exception $e) { - require_once 'Zend/Currency/Exception.php'; - throw new Zend_Currency_Exception($e->getMessage()); - } - - // Get currency details - $this->_options['currency'] = $this->getShortName(null, $this->_locale); - $this->_options['name'] = $this->getName(null, $this->_locale); - $this->_options['symbol'] = $this->getSymbol(null, $this->_locale); - - return $this; - } - - /** - * Returns the actual set locale - * - * @return string - */ - public function getLocale() - { - return $this->_locale; - } - - /** - * Internal method for checking the options array - * - * @param array $options Options to check - * @throws Zend_Currency_Exception On unknown position - * @throws Zend_Currency_Exception On unknown locale - * @throws Zend_Currency_Exception On unknown display - * @throws Zend_Currency_Exception On precision not between -1 and 30 - * @throws Zend_Currency_Exception On problem with script conversion - * @throws Zend_Currency_Exception On unknown options - * @return array - */ - private function _checkOptions(array $options = array()) - { - if (count($options) === 0) { - return $this->_options; - } - - foreach ($options as $name => $value) { - $name = strtolower($name); - if ($name !== 'format') { - if (gettype($value) === 'string') { - $value = strtolower($value); - } - } - - switch($name) { - case 'position': - if (($value !== self::STANDARD) and ($value !== self::RIGHT) and ($value !== self::LEFT)) { - require_once 'Zend/Currency/Exception.php'; - throw new Zend_Currency_Exception("Unknown position '" . $value . "'"); - } - - break; - - case 'format': - if ((empty($value) === false) and (Zend_Locale::isLocale($value, null, false) === false)) { - require_once 'Zend/Currency/Exception.php'; - throw new Zend_Currency_Exception("'" . - ((gettype($value) === 'object') ? get_class($value) : $value) - . "' is not a known locale."); - } - break; - - case 'display': - if (is_numeric($value) and ($value !== self::NO_SYMBOL) and ($value !== self::USE_SYMBOL) and - ($value !== self::USE_SHORTNAME) and ($value !== self::USE_NAME)) { - require_once 'Zend/Currency/Exception.php'; - throw new Zend_Currency_Exception("Unknown display '$value'"); - } - break; - - case 'precision': - if ($value === null) { - $value = -1; - } - - if (($value < -1) or ($value > 30)) { - require_once 'Zend/Currency/Exception.php'; - throw new Zend_Currency_Exception("'$value' precision has to be between -1 and 30."); - } - break; - - case 'script': - try { - Zend_Locale_Format::convertNumerals(0, $options['script']); - } catch (Zend_Locale_Exception $e) { - require_once 'Zend/Currency/Exception.php'; - throw new Zend_Currency_Exception($e->getMessage()); - } - break; - - case 'name': - // Break intentionally omitted - case 'currency': - // Break intentionally omitted - case 'symbol': - // Unchecked options - break; - - default: - require_once 'Zend/Currency/Exception.php'; - throw new Zend_Currency_Exception("Unknown option: '$name' = '$value'"); - break; - } - } - - return $options; - } -} diff --git a/lib/zend/Zend/Currency/Exception.php b/lib/zend/Zend/Currency/Exception.php deleted file mode 100644 index caabf26b32..0000000000 --- a/lib/zend/Zend/Currency/Exception.php +++ /dev/null @@ -1,37 +0,0 @@ -toArray(); - } - - /* - * Convert Zend_Config argument to plain string - * adapter name and separate config object. - */ - if ($adapter instanceof Zend_Config) { - if (isset($adapter->params)) { - $config = $adapter->params->toArray(); - } - if (isset($adapter->adapter)) { - $adapter = (string) $adapter->adapter; - } else { - $adapter = null; - } - } - - /* - * Verify that adapter parameters are in an array. - */ - if (!is_array($config)) { - /** - * @see Zend_Db_Exception - */ - require_once 'Zend/Db/Exception.php'; - throw new Zend_Db_Exception('Adapter parameters must be in an array or a Zend_Config object'); - } - - /* - * Verify that an adapter name has been specified. - */ - if (!is_string($adapter) || empty($adapter)) { - /** - * @see Zend_Db_Exception - */ - require_once 'Zend/Db/Exception.php'; - throw new Zend_Db_Exception('Adapter name must be specified in a string'); - } - - /* - * Form full adapter class name - */ - $adapterNamespace = 'Zend_Db_Adapter'; - if (isset($config['adapterNamespace'])) { - if ($config['adapterNamespace'] != '') { - $adapterNamespace = $config['adapterNamespace']; - } - unset($config['adapterNamespace']); - } - - // Adapter no longer normalized- see http://framework.zend.com/issues/browse/ZF-5606 - $adapterName = $adapterNamespace . '_'; - $adapterName .= str_replace(' ', '_', ucwords(str_replace('_', ' ', strtolower($adapter)))); - - /* - * Load the adapter class. This throws an exception - * if the specified class cannot be loaded. - */ - if (!class_exists($adapterName)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($adapterName); - } - - /* - * Create an instance of the adapter class. - * Pass the config to the adapter class constructor. - */ - $dbAdapter = new $adapterName($config); - - /* - * Verify that the object created is a descendent of the abstract adapter type. - */ - if (! $dbAdapter instanceof Zend_Db_Adapter_Abstract) { - /** - * @see Zend_Db_Exception - */ - require_once 'Zend/Db/Exception.php'; - throw new Zend_Db_Exception("Adapter class '$adapterName' does not extend Zend_Db_Adapter_Abstract"); - } - - return $dbAdapter; - } - -} diff --git a/lib/zend/Zend/Db/Adapter/Abstract.php b/lib/zend/Zend/Db/Adapter/Abstract.php deleted file mode 100644 index b34e5da386..0000000000 --- a/lib/zend/Zend/Db/Adapter/Abstract.php +++ /dev/null @@ -1,1252 +0,0 @@ - Zend_Db::INT_TYPE, - Zend_Db::BIGINT_TYPE => Zend_Db::BIGINT_TYPE, - Zend_Db::FLOAT_TYPE => Zend_Db::FLOAT_TYPE - ); - - /** Weither or not that object can get serialized - * - * @var bool - */ - protected $_allowSerialization = true; - - /** - * Weither or not the database should be reconnected - * to that adapter when waking up - * - * @var bool - */ - protected $_autoReconnectOnUnserialize = false; - - /** - * Constructor. - * - * $config is an array of key/value pairs or an instance of Zend_Config - * containing configuration options. These options are common to most adapters: - * - * dbname => (string) The name of the database to user - * username => (string) Connect to the database as this username. - * password => (string) Password associated with the username. - * host => (string) What host to connect to, defaults to localhost - * - * Some options are used on a case-by-case basis by adapters: - * - * port => (string) The port of the database - * persistent => (boolean) Whether to use a persistent connection or not, defaults to false - * protocol => (string) The network protocol, defaults to TCPIP - * caseFolding => (int) style of case-alteration used for identifiers - * - * @param array|Zend_Config $config An array or instance of Zend_Config having configuration data - * @throws Zend_Db_Adapter_Exception - */ - public function __construct($config) - { - /* - * Verify that adapter parameters are in an array. - */ - if (!is_array($config)) { - /* - * Convert Zend_Config argument to a plain array. - */ - if ($config instanceof Zend_Config) { - $config = $config->toArray(); - } else { - /** - * @see Zend_Db_Exception - */ - require_once 'Zend/Db/Exception.php'; - throw new Zend_Db_Exception('Adapter parameters must be in an array or a Zend_Config object'); - } - } - - $this->_checkRequiredOptions($config); - - $options = array( - Zend_Db::CASE_FOLDING => $this->_caseFolding, - Zend_Db::AUTO_QUOTE_IDENTIFIERS => $this->_autoQuoteIdentifiers - ); - $driverOptions = array(); - - /* - * normalize the config and merge it with the defaults - */ - if (array_key_exists('options', $config)) { - // can't use array_merge() because keys might be integers - foreach ((array) $config['options'] as $key => $value) { - $options[$key] = $value; - } - } - if (array_key_exists('driver_options', $config)) { - if (!empty($config['driver_options'])) { - // can't use array_merge() because keys might be integers - foreach ((array) $config['driver_options'] as $key => $value) { - $driverOptions[$key] = $value; - } - } - } - - if (!isset($config['charset'])) { - $config['charset'] = null; - } - - if (!isset($config['persistent'])) { - $config['persistent'] = false; - } - - $this->_config = array_merge($this->_config, $config); - $this->_config['options'] = $options; - $this->_config['driver_options'] = $driverOptions; - - - // obtain the case setting, if there is one - if (array_key_exists(Zend_Db::CASE_FOLDING, $options)) { - $case = (int) $options[Zend_Db::CASE_FOLDING]; - switch ($case) { - case Zend_Db::CASE_LOWER: - case Zend_Db::CASE_UPPER: - case Zend_Db::CASE_NATURAL: - $this->_caseFolding = $case; - break; - default: - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception('Case must be one of the following constants: ' - . 'Zend_Db::CASE_NATURAL, Zend_Db::CASE_LOWER, Zend_Db::CASE_UPPER'); - } - } - - // obtain quoting property if there is one - if (array_key_exists(Zend_Db::AUTO_QUOTE_IDENTIFIERS, $options)) { - $this->_autoQuoteIdentifiers = (bool) $options[Zend_Db::AUTO_QUOTE_IDENTIFIERS]; - } - - // obtain allow serialization property if there is one - if (array_key_exists(Zend_Db::ALLOW_SERIALIZATION, $options)) { - $this->_allowSerialization = (bool) $options[Zend_Db::ALLOW_SERIALIZATION]; - } - - // obtain auto reconnect on unserialize property if there is one - if (array_key_exists(Zend_Db::AUTO_RECONNECT_ON_UNSERIALIZE, $options)) { - $this->_autoReconnectOnUnserialize = (bool) $options[Zend_Db::AUTO_RECONNECT_ON_UNSERIALIZE]; - } - - // create a profiler object - $profiler = false; - if (array_key_exists(Zend_Db::PROFILER, $this->_config)) { - $profiler = $this->_config[Zend_Db::PROFILER]; - unset($this->_config[Zend_Db::PROFILER]); - } - $this->setProfiler($profiler); - } - - /** - * Check for config options that are mandatory. - * Throw exceptions if any are missing. - * - * @param array $config - * @throws Zend_Db_Adapter_Exception - */ - protected function _checkRequiredOptions(array $config) - { - // we need at least a dbname - if (! array_key_exists('dbname', $config)) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("Configuration array must have a key for 'dbname' that names the database instance"); - } - - if (! array_key_exists('password', $config)) { - /** - * @see Zend_Db_Adapter_Exception - */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("Configuration array must have a key for 'password' for login credentials"); - } - - if (! array_key_exists('username', $config)) { - /** - * @see Zend_Db_Adapter_Exception - */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("Configuration array must have a key for 'username' for login credentials"); - } - } - - /** - * Returns the underlying database connection object or resource. - * If not presently connected, this initiates the connection. - * - * @return object|resource|null - */ - public function getConnection() - { - $this->_connect(); - return $this->_connection; - } - - /** - * Returns the configuration variables in this adapter. - * - * @return array - */ - public function getConfig() - { - return $this->_config; - } - - /** - * Set the adapter's profiler object. - * - * The argument may be a boolean, an associative array, an instance of - * Zend_Db_Profiler, or an instance of Zend_Config. - * - * A boolean argument sets the profiler to enabled if true, or disabled if - * false. The profiler class is the adapter's default profiler class, - * Zend_Db_Profiler. - * - * An instance of Zend_Db_Profiler sets the adapter's instance to that - * object. The profiler is enabled and disabled separately. - * - * An associative array argument may contain any of the keys 'enabled', - * 'class', and 'instance'. The 'enabled' and 'instance' keys correspond to the - * boolean and object types documented above. The 'class' key is used to name a - * class to use for a custom profiler. The class must be Zend_Db_Profiler or a - * subclass. The class is instantiated with no constructor arguments. The 'class' - * option is ignored when the 'instance' option is supplied. - * - * An object of type Zend_Config may contain the properties 'enabled', 'class', and - * 'instance', just as if an associative array had been passed instead. - * - * @param Zend_Db_Profiler|Zend_Config|array|boolean $profiler - * @return Zend_Db_Adapter_Abstract Provides a fluent interface - * @throws Zend_Db_Profiler_Exception if the object instance or class specified - * is not Zend_Db_Profiler or an extension of that class. - */ - public function setProfiler($profiler) - { - $enabled = null; - $profilerClass = $this->_defaultProfilerClass; - $profilerInstance = null; - - if ($profilerIsObject = is_object($profiler)) { - if ($profiler instanceof Zend_Db_Profiler) { - $profilerInstance = $profiler; - } else if ($profiler instanceof Zend_Config) { - $profiler = $profiler->toArray(); - } else { - /** - * @see Zend_Db_Profiler_Exception - */ - require_once 'Zend/Db/Profiler/Exception.php'; - throw new Zend_Db_Profiler_Exception('Profiler argument must be an instance of either Zend_Db_Profiler' - . ' or Zend_Config when provided as an object'); - } - } - - if (is_array($profiler)) { - if (isset($profiler['enabled'])) { - $enabled = (bool) $profiler['enabled']; - } - if (isset($profiler['class'])) { - $profilerClass = $profiler['class']; - } - if (isset($profiler['instance'])) { - $profilerInstance = $profiler['instance']; - } - } else if (!$profilerIsObject) { - $enabled = (bool) $profiler; - } - - if ($profilerInstance === null) { - if (!class_exists($profilerClass)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($profilerClass); - } - $profilerInstance = new $profilerClass(); - } - - if (!$profilerInstance instanceof Zend_Db_Profiler) { - /** @see Zend_Db_Profiler_Exception */ - require_once 'Zend/Db/Profiler/Exception.php'; - throw new Zend_Db_Profiler_Exception('Class ' . get_class($profilerInstance) . ' does not extend ' - . 'Zend_Db_Profiler'); - } - - if (null !== $enabled) { - $profilerInstance->setEnabled($enabled); - } - - $this->_profiler = $profilerInstance; - - return $this; - } - - - /** - * Returns the profiler for this adapter. - * - * @return Zend_Db_Profiler - */ - public function getProfiler() - { - return $this->_profiler; - } - - /** - * Get the default statement class. - * - * @return string - */ - public function getStatementClass() - { - return $this->_defaultStmtClass; - } - - /** - * Set the default statement class. - * - * @return Zend_Db_Adapter_Abstract Fluent interface - */ - public function setStatementClass($class) - { - $this->_defaultStmtClass = $class; - return $this; - } - - /** - * Prepares and executes an SQL statement with bound data. - * - * @param mixed $sql The SQL statement with placeholders. - * May be a string or Zend_Db_Select. - * @param mixed $bind An array of data to bind to the placeholders. - * @return Zend_Db_Statement_Interface - */ - public function query($sql, $bind = array()) - { - // connect to the database if needed - $this->_connect(); - - // is the $sql a Zend_Db_Select object? - if ($sql instanceof Zend_Db_Select) { - if (empty($bind)) { - $bind = $sql->getBind(); - } - - $sql = $sql->assemble(); - } - - // make sure $bind to an array; - // don't use (array) typecasting because - // because $bind may be a Zend_Db_Expr object - if (!is_array($bind)) { - $bind = array($bind); - } - - // prepare and execute the statement with profiling - $stmt = $this->prepare($sql); - $stmt->execute($bind); - - // return the results embedded in the prepared statement object - $stmt->setFetchMode($this->_fetchMode); - return $stmt; - } - - /** - * Leave autocommit mode and begin a transaction. - * - * @return Zend_Db_Adapter_Abstract - */ - public function beginTransaction() - { - $this->_connect(); - $q = $this->_profiler->queryStart('begin', Zend_Db_Profiler::TRANSACTION); - $this->_beginTransaction(); - $this->_profiler->queryEnd($q); - return $this; - } - - /** - * Commit a transaction and return to autocommit mode. - * - * @return Zend_Db_Adapter_Abstract - */ - public function commit() - { - $this->_connect(); - $q = $this->_profiler->queryStart('commit', Zend_Db_Profiler::TRANSACTION); - $this->_commit(); - $this->_profiler->queryEnd($q); - return $this; - } - - /** - * Roll back a transaction and return to autocommit mode. - * - * @return Zend_Db_Adapter_Abstract - */ - public function rollBack() - { - $this->_connect(); - $q = $this->_profiler->queryStart('rollback', Zend_Db_Profiler::TRANSACTION); - $this->_rollBack(); - $this->_profiler->queryEnd($q); - return $this; - } - - /** - * Inserts a table row with specified data. - * - * @param mixed $table The table to insert data into. - * @param array $bind Column-value pairs. - * @return int The number of affected rows. - */ - public function insert($table, array $bind) - { - // extract and quote col names from the array keys - $cols = array(); - $vals = array(); - foreach ($bind as $col => $val) { - $cols[] = $this->quoteIdentifier($col, true); - if ($val instanceof Zend_Db_Expr) { - $vals[] = $val->__toString(); - unset($bind[$col]); - } else { - $vals[] = '?'; - } - } - - // build the statement - $sql = "INSERT INTO " - . $this->quoteIdentifier($table, true) - . ' (' . implode(', ', $cols) . ') ' - . 'VALUES (' . implode(', ', $vals) . ')'; - - // execute the statement and return the number of affected rows - $stmt = $this->query($sql, array_values($bind)); - $result = $stmt->rowCount(); - return $result; - } - - /** - * Updates table rows with specified data based on a WHERE clause. - * - * @param mixed $table The table to update. - * @param array $bind Column-value pairs. - * @param mixed $where UPDATE WHERE clause(s). - * @return int The number of affected rows. - */ - public function update($table, array $bind, $where = '') - { - /** - * Build "col = ?" pairs for the statement, - * except for Zend_Db_Expr which is treated literally. - */ - $set = array(); - $i = 0; - foreach ($bind as $col => $val) { - if ($val instanceof Zend_Db_Expr) { - $val = $val->__toString(); - unset($bind[$col]); - } else { - if ($this->supportsParameters('positional')) { - $val = '?'; - } else { - if ($this->supportsParameters('named')) { - unset($bind[$col]); - $bind[':'.$col.$i] = $val; - $val = ':'.$col.$i; - $i++; - } else { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception(get_class($this) ." doesn't support positional or named binding"); - } - } - } - $set[] = $this->quoteIdentifier($col, true) . ' = ' . $val; - } - - $where = $this->_whereExpr($where); - - /** - * Build the UPDATE statement - */ - $sql = "UPDATE " - . $this->quoteIdentifier($table, true) - . ' SET ' . implode(', ', $set) - . (($where) ? " WHERE $where" : ''); - - /** - * Execute the statement and return the number of affected rows - */ - if ($this->supportsParameters('positional')) { - $stmt = $this->query($sql, array_values($bind)); - } else { - $stmt = $this->query($sql, $bind); - } - $result = $stmt->rowCount(); - return $result; - } - - /** - * Deletes table rows based on a WHERE clause. - * - * @param mixed $table The table to update. - * @param mixed $where DELETE WHERE clause(s). - * @return int The number of affected rows. - */ - public function delete($table, $where = '') - { - $where = $this->_whereExpr($where); - - /** - * Build the DELETE statement - */ - $sql = "DELETE FROM " - . $this->quoteIdentifier($table, true) - . (($where) ? " WHERE $where" : ''); - - /** - * Execute the statement and return the number of affected rows - */ - $stmt = $this->query($sql); - $result = $stmt->rowCount(); - return $result; - } - - /** - * Convert an array, string, or Zend_Db_Expr object - * into a string to put in a WHERE clause. - * - * @param mixed $where - * @return string - */ - protected function _whereExpr($where) - { - if (empty($where)) { - return $where; - } - if (!is_array($where)) { - $where = array($where); - } - foreach ($where as $cond => &$term) { - // is $cond an int? (i.e. Not a condition) - if (is_int($cond)) { - // $term is the full condition - if ($term instanceof Zend_Db_Expr) { - $term = $term->__toString(); - } - } else { - // $cond is the condition with placeholder, - // and $term is quoted into the condition - $term = $this->quoteInto($cond, $term); - } - $term = '(' . $term . ')'; - } - - $where = implode(' AND ', $where); - return $where; - } - - /** - * Creates and returns a new Zend_Db_Select object for this adapter. - * - * @return Zend_Db_Select - */ - public function select() - { - return new Zend_Db_Select($this); - } - - /** - * Get the fetch mode. - * - * @return int - */ - public function getFetchMode() - { - return $this->_fetchMode; - } - - /** - * Fetches all SQL result rows as a sequential array. - * Uses the current fetchMode for the adapter. - * - * @param string|Zend_Db_Select $sql An SQL SELECT statement. - * @param mixed $bind Data to bind into SELECT placeholders. - * @param mixed $fetchMode Override current fetch mode. - * @return array - */ - public function fetchAll($sql, $bind = array(), $fetchMode = null) - { - if ($fetchMode === null) { - $fetchMode = $this->_fetchMode; - } - $stmt = $this->query($sql, $bind); - $result = $stmt->fetchAll($fetchMode); - return $result; - } - - /** - * Fetches the first row of the SQL result. - * Uses the current fetchMode for the adapter. - * - * @param string|Zend_Db_Select $sql An SQL SELECT statement. - * @param mixed $bind Data to bind into SELECT placeholders. - * @param mixed $fetchMode Override current fetch mode. - * @return array - */ - public function fetchRow($sql, $bind = array(), $fetchMode = null) - { - if ($fetchMode === null) { - $fetchMode = $this->_fetchMode; - } - $stmt = $this->query($sql, $bind); - $result = $stmt->fetch($fetchMode); - return $result; - } - - /** - * Fetches all SQL result rows as an associative array. - * - * The first column is the key, the entire row array is the - * value. You should construct the query to be sure that - * the first column contains unique values, or else - * rows with duplicate values in the first column will - * overwrite previous data. - * - * @param string|Zend_Db_Select $sql An SQL SELECT statement. - * @param mixed $bind Data to bind into SELECT placeholders. - * @return array - */ - public function fetchAssoc($sql, $bind = array()) - { - $stmt = $this->query($sql, $bind); - $data = array(); - while ($row = $stmt->fetch(Zend_Db::FETCH_ASSOC)) { - $tmp = array_values(array_slice($row, 0, 1)); - $data[$tmp[0]] = $row; - } - return $data; - } - - /** - * Fetches the first column of all SQL result rows as an array. - * - * The first column in each row is used as the array key. - * - * @param string|Zend_Db_Select $sql An SQL SELECT statement. - * @param mixed $bind Data to bind into SELECT placeholders. - * @return array - */ - public function fetchCol($sql, $bind = array()) - { - $stmt = $this->query($sql, $bind); - $result = $stmt->fetchAll(Zend_Db::FETCH_COLUMN, 0); - return $result; - } - - /** - * Fetches all SQL result rows as an array of key-value pairs. - * - * The first column is the key, the second column is the - * value. - * - * @param string|Zend_Db_Select $sql An SQL SELECT statement. - * @param mixed $bind Data to bind into SELECT placeholders. - * @return array - */ - public function fetchPairs($sql, $bind = array()) - { - $stmt = $this->query($sql, $bind); - $data = array(); - while ($row = $stmt->fetch(Zend_Db::FETCH_NUM)) { - $data[$row[0]] = $row[1]; - } - return $data; - } - - /** - * Fetches the first column of the first row of the SQL result. - * - * @param string|Zend_Db_Select $sql An SQL SELECT statement. - * @param mixed $bind Data to bind into SELECT placeholders. - * @return string - */ - public function fetchOne($sql, $bind = array()) - { - $stmt = $this->query($sql, $bind); - $result = $stmt->fetchColumn(0); - return $result; - } - - /** - * Quote a raw string. - * - * @param string $value Raw string - * @return string Quoted string - */ - protected function _quote($value) - { - if (is_int($value)) { - return $value; - } elseif (is_float($value)) { - return sprintf('%F', $value); - } - return "'" . addcslashes($value, "\000\n\r\\'\"\032") . "'"; - } - - /** - * Safely quotes a value for an SQL statement. - * - * If an array is passed as the value, the array values are quoted - * and then returned as a comma-separated string. - * - * @param mixed $value The value to quote. - * @param mixed $type OPTIONAL the SQL datatype name, or constant, or null. - * @return mixed An SQL-safe quoted value (or string of separated values). - */ - public function quote($value, $type = null) - { - $this->_connect(); - - if ($value instanceof Zend_Db_Select) { - return '(' . $value->assemble() . ')'; - } - - if ($value instanceof Zend_Db_Expr) { - return $value->__toString(); - } - - if (is_array($value)) { - foreach ($value as &$val) { - $val = $this->quote($val, $type); - } - return implode(', ', $value); - } - - if ($type !== null && array_key_exists($type = strtoupper($type), $this->_numericDataTypes)) { - $quotedValue = '0'; - switch ($this->_numericDataTypes[$type]) { - case Zend_Db::INT_TYPE: // 32-bit integer - $quotedValue = (string) intval($value); - break; - case Zend_Db::BIGINT_TYPE: // 64-bit integer - // ANSI SQL-style hex literals (e.g. x'[\dA-F]+') - // are not supported here, because these are string - // literals, not numeric literals. - if (preg_match('/^( - [+-]? # optional sign - (?: - 0[Xx][\da-fA-F]+ # ODBC-style hexadecimal - |\d+ # decimal or octal, or MySQL ZEROFILL decimal - (?:[eE][+-]?\d+)? # optional exponent on decimals or octals - ) - )/x', - (string) $value, $matches)) { - $quotedValue = $matches[1]; - } - break; - case Zend_Db::FLOAT_TYPE: // float or decimal - $quotedValue = sprintf('%F', $value); - } - return $quotedValue; - } - - return $this->_quote($value); - } - - /** - * Quotes a value and places into a piece of text at a placeholder. - * - * The placeholder is a question-mark; all placeholders will be replaced - * with the quoted value. For example: - * - * - * $text = "WHERE date < ?"; - * $date = "2005-01-02"; - * $safe = $sql->quoteInto($text, $date); - * // $safe = "WHERE date < '2005-01-02'" - * - * - * @param string $text The text with a placeholder. - * @param mixed $value The value to quote. - * @param string $type OPTIONAL SQL datatype - * @param integer $count OPTIONAL count of placeholders to replace - * @return string An SQL-safe quoted value placed into the original text. - */ - public function quoteInto($text, $value, $type = null, $count = null) - { - if ($count === null) { - return str_replace('?', $this->quote($value, $type), $text); - } else { - while ($count > 0) { - if (strpos($text, '?') != false) { - $text = substr_replace($text, $this->quote($value, $type), strpos($text, '?'), 1); - } - --$count; - } - return $text; - } - } - - /** - * Quotes an identifier. - * - * Accepts a string representing a qualified indentifier. For Example: - * - * $adapter->quoteIdentifier('myschema.mytable') - * - * Returns: "myschema"."mytable" - * - * Or, an array of one or more identifiers that may form a qualified identifier: - * - * $adapter->quoteIdentifier(array('myschema','my.table')) - * - * Returns: "myschema"."my.table" - * - * The actual quote character surrounding the identifiers may vary depending on - * the adapter. - * - * @param string|array|Zend_Db_Expr $ident The identifier. - * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option. - * @return string The quoted identifier. - */ - public function quoteIdentifier($ident, $auto=false) - { - return $this->_quoteIdentifierAs($ident, null, $auto); - } - - /** - * Quote a column identifier and alias. - * - * @param string|array|Zend_Db_Expr $ident The identifier or expression. - * @param string $alias An alias for the column. - * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option. - * @return string The quoted identifier and alias. - */ - public function quoteColumnAs($ident, $alias, $auto=false) - { - return $this->_quoteIdentifierAs($ident, $alias, $auto); - } - - /** - * Quote a table identifier and alias. - * - * @param string|array|Zend_Db_Expr $ident The identifier or expression. - * @param string $alias An alias for the table. - * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option. - * @return string The quoted identifier and alias. - */ - public function quoteTableAs($ident, $alias = null, $auto = false) - { - return $this->_quoteIdentifierAs($ident, $alias, $auto); - } - - /** - * Quote an identifier and an optional alias. - * - * @param string|array|Zend_Db_Expr $ident The identifier or expression. - * @param string $alias An optional alias. - * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option. - * @param string $as The string to add between the identifier/expression and the alias. - * @return string The quoted identifier and alias. - */ - protected function _quoteIdentifierAs($ident, $alias = null, $auto = false, $as = ' AS ') - { - if ($ident instanceof Zend_Db_Expr) { - $quoted = $ident->__toString(); - } elseif ($ident instanceof Zend_Db_Select) { - $quoted = '(' . $ident->assemble() . ')'; - } else { - if (is_string($ident)) { - $ident = explode('.', $ident); - } - if (is_array($ident)) { - $segments = array(); - foreach ($ident as $segment) { - if ($segment instanceof Zend_Db_Expr) { - $segments[] = $segment->__toString(); - } else { - $segments[] = $this->_quoteIdentifier($segment, $auto); - } - } - if ($alias !== null && end($ident) == $alias) { - $alias = null; - } - $quoted = implode('.', $segments); - } else { - $quoted = $this->_quoteIdentifier($ident, $auto); - } - } - if ($alias !== null) { - $quoted .= $as . $this->_quoteIdentifier($alias, $auto); - } - return $quoted; - } - - /** - * Quote an identifier. - * - * @param string $value The identifier or expression. - * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option. - * @return string The quoted identifier and alias. - */ - protected function _quoteIdentifier($value, $auto=false) - { - if ($auto === false || $this->_autoQuoteIdentifiers === true) { - $q = $this->getQuoteIdentifierSymbol(); - return ($q . str_replace("$q", "$q$q", $value) . $q); - } - return $value; - } - - /** - * Returns the symbol the adapter uses for delimited identifiers. - * - * @return string - */ - public function getQuoteIdentifierSymbol() - { - return '"'; - } - - /** - * Return the most recent value from the specified sequence in the database. - * This is supported only on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2). Other RDBMS brands return null. - * - * @param string $sequenceName - * @return string - */ - public function lastSequenceId($sequenceName) - { - return null; - } - - /** - * Generate a new value from the specified sequence in the database, and return it. - * This is supported only on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2). Other RDBMS brands return null. - * - * @param string $sequenceName - * @return string - */ - public function nextSequenceId($sequenceName) - { - return null; - } - - /** - * Helper method to change the case of the strings used - * when returning result sets in FETCH_ASSOC and FETCH_BOTH - * modes. - * - * This is not intended to be used by application code, - * but the method must be public so the Statement class - * can invoke it. - * - * @param string $key - * @return string - */ - public function foldCase($key) - { - switch ($this->_caseFolding) { - case Zend_Db::CASE_LOWER: - $value = strtolower((string) $key); - break; - case Zend_Db::CASE_UPPER: - $value = strtoupper((string) $key); - break; - case Zend_Db::CASE_NATURAL: - default: - $value = (string) $key; - } - return $value; - } - - /** - * called when object is getting serialized - * This disconnects the DB object that cant be serialized - * - * @throws Zend_Db_Adapter_Exception - * @return array - */ - public function __sleep() - { - if ($this->_allowSerialization == false) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception(get_class($this) ." is not allowed to be serialized"); - } - $this->_connection = false; - return array_keys(array_diff_key(get_object_vars($this), array('_connection'=>false))); - } - - /** - * called when object is getting unserialized - * - * @return void - */ - public function __wakeup() - { - if ($this->_autoReconnectOnUnserialize == true) { - $this->getConnection(); - } - } - - /** - * Abstract Methods - */ - - /** - * Returns a list of the tables in the database. - * - * @return array - */ - abstract public function listTables(); - - /** - * Returns the column descriptions for a table. - * - * The return value is an associative array keyed by the column name, - * as returned by the RDBMS. - * - * The value of each array element is an associative array - * with the following keys: - * - * SCHEMA_NAME => string; name of database or schema - * TABLE_NAME => string; - * COLUMN_NAME => string; column name - * COLUMN_POSITION => number; ordinal position of column in table - * DATA_TYPE => string; SQL datatype name of column - * DEFAULT => string; default expression of column, null if none - * NULLABLE => boolean; true if column can have nulls - * LENGTH => number; length of CHAR/VARCHAR - * SCALE => number; scale of NUMERIC/DECIMAL - * PRECISION => number; precision of NUMERIC/DECIMAL - * UNSIGNED => boolean; unsigned property of an integer type - * PRIMARY => boolean; true if column is part of the primary key - * PRIMARY_POSITION => integer; position of column in primary key - * - * @param string $tableName - * @param string $schemaName OPTIONAL - * @return array - */ - abstract public function describeTable($tableName, $schemaName = null); - - /** - * Creates a connection to the database. - * - * @return void - */ - abstract protected function _connect(); - - /** - * Test if a connection is active - * - * @return boolean - */ - abstract public function isConnected(); - - /** - * Force the connection to close. - * - * @return void - */ - abstract public function closeConnection(); - - /** - * Prepare a statement and return a PDOStatement-like object. - * - * @param string|Zend_Db_Select $sql SQL query - * @return Zend_Db_Statement|PDOStatement - */ - abstract public function prepare($sql); - - /** - * Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column. - * - * As a convention, on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2), this method forms the name of a sequence - * from the arguments and returns the last id generated by that sequence. - * On RDBMS brands that support IDENTITY/AUTOINCREMENT columns, this method - * returns the last value generated for such a column, and the table name - * argument is disregarded. - * - * @param string $tableName OPTIONAL Name of table. - * @param string $primaryKey OPTIONAL Name of primary key column. - * @return string - */ - abstract public function lastInsertId($tableName = null, $primaryKey = null); - - /** - * Begin a transaction. - */ - abstract protected function _beginTransaction(); - - /** - * Commit a transaction. - */ - abstract protected function _commit(); - - /** - * Roll-back a transaction. - */ - abstract protected function _rollBack(); - - /** - * Set the fetch mode. - * - * @param integer $mode - * @return void - * @throws Zend_Db_Adapter_Exception - */ - abstract public function setFetchMode($mode); - - /** - * Adds an adapter-specific LIMIT clause to the SELECT statement. - * - * @param mixed $sql - * @param integer $count - * @param integer $offset - * @return string - */ - abstract public function limit($sql, $count, $offset = 0); - - /** - * Check if the adapter supports real SQL parameters. - * - * @param string $type 'positional' or 'named' - * @return bool - */ - abstract public function supportsParameters($type); - - /** - * Retrieve server version in PHP style - * - * @return string - */ - abstract public function getServerVersion(); -} diff --git a/lib/zend/Zend/Db/Adapter/Db2.php b/lib/zend/Zend/Db/Adapter/Db2.php deleted file mode 100644 index 47b9f72d8b..0000000000 --- a/lib/zend/Zend/Db/Adapter/Db2.php +++ /dev/null @@ -1,832 +0,0 @@ - (string) Connect to the database as this username. - * password => (string) Password associated with the username. - * host => (string) What host to connect to (default 127.0.0.1) - * dbname => (string) The name of the database to user - * protocol => (string) Protocol to use, defaults to "TCPIP" - * port => (integer) Port number to use for TCP/IP if protocol is "TCPIP" - * persistent => (boolean) Set TRUE to use a persistent connection (db2_pconnect) - * os => (string) This should be set to 'i5' if the db is on an os400/i5 - * schema => (string) The default schema the connection should use - * - * @var array - */ - protected $_config = array( - 'dbname' => null, - 'username' => null, - 'password' => null, - 'host' => 'localhost', - 'port' => '50000', - 'protocol' => 'TCPIP', - 'persistent' => false, - 'os' => null, - 'schema' => null - ); - - /** - * Execution mode - * - * @var int execution flag (DB2_AUTOCOMMIT_ON or DB2_AUTOCOMMIT_OFF) - */ - protected $_execute_mode = DB2_AUTOCOMMIT_ON; - - /** - * Default class name for a DB statement. - * - * @var string - */ - protected $_defaultStmtClass = 'Zend_Db_Statement_Db2'; - protected $_isI5 = false; - - /** - * Keys are UPPERCASE SQL datatypes or the constants - * Zend_Db::INT_TYPE, Zend_Db::BIGINT_TYPE, or Zend_Db::FLOAT_TYPE. - * - * Values are: - * 0 = 32-bit integer - * 1 = 64-bit integer - * 2 = float or decimal - * - * @var array Associative array of datatypes to values 0, 1, or 2. - */ - protected $_numericDataTypes = array( - Zend_Db::INT_TYPE => Zend_Db::INT_TYPE, - Zend_Db::BIGINT_TYPE => Zend_Db::BIGINT_TYPE, - Zend_Db::FLOAT_TYPE => Zend_Db::FLOAT_TYPE, - 'INTEGER' => Zend_Db::INT_TYPE, - 'SMALLINT' => Zend_Db::INT_TYPE, - 'BIGINT' => Zend_Db::BIGINT_TYPE, - 'DECIMAL' => Zend_Db::FLOAT_TYPE, - 'NUMERIC' => Zend_Db::FLOAT_TYPE - ); - - /** - * Creates a connection resource. - * - * @return void - */ - protected function _connect() - { - if (is_resource($this->_connection)) { - // connection already exists - return; - } - - if (!extension_loaded('ibm_db2')) { - /** - * @see Zend_Db_Adapter_Db2_Exception - */ - require_once 'Zend/Db/Adapter/Db2/Exception.php'; - throw new Zend_Db_Adapter_Db2_Exception('The IBM DB2 extension is required for this adapter but the extension is not loaded'); - } - - $this->_determineI5(); - if ($this->_config['persistent']) { - // use persistent connection - $conn_func_name = 'db2_pconnect'; - } else { - // use "normal" connection - $conn_func_name = 'db2_connect'; - } - - if (!isset($this->_config['driver_options']['autocommit'])) { - // set execution mode - $this->_config['driver_options']['autocommit'] = &$this->_execute_mode; - } - - if (isset($this->_config['options'][Zend_Db::CASE_FOLDING])) { - $caseAttrMap = array( - Zend_Db::CASE_NATURAL => DB2_CASE_NATURAL, - Zend_Db::CASE_UPPER => DB2_CASE_UPPER, - Zend_Db::CASE_LOWER => DB2_CASE_LOWER - ); - $this->_config['driver_options']['DB2_ATTR_CASE'] = $caseAttrMap[$this->_config['options'][Zend_Db::CASE_FOLDING]]; - } - - if ($this->_config['host'] !== 'localhost' && !$this->_isI5) { - // if the host isn't localhost, use extended connection params - $dbname = 'DRIVER={IBM DB2 ODBC DRIVER}' . - ';DATABASE=' . $this->_config['dbname'] . - ';HOSTNAME=' . $this->_config['host'] . - ';PORT=' . $this->_config['port'] . - ';PROTOCOL=' . $this->_config['protocol'] . - ';UID=' . $this->_config['username'] . - ';PWD=' . $this->_config['password'] .';'; - $this->_connection = $conn_func_name( - $dbname, - null, - null, - $this->_config['driver_options'] - ); - } else { - // host is localhost, so use standard connection params - $this->_connection = $conn_func_name( - $this->_config['dbname'], - $this->_config['username'], - $this->_config['password'], - $this->_config['driver_options'] - ); - } - - // check the connection - if (!$this->_connection) { - /** - * @see Zend_Db_Adapter_Db2_Exception - */ - require_once 'Zend/Db/Adapter/Db2/Exception.php'; - throw new Zend_Db_Adapter_Db2_Exception(db2_conn_errormsg(), db2_conn_error()); - } - } - - /** - * Test if a connection is active - * - * @return boolean - */ - public function isConnected() - { - return ((bool) (is_resource($this->_connection) - && get_resource_type($this->_connection) == 'DB2 Connection')); - } - - /** - * Force the connection to close. - * - * @return void - */ - public function closeConnection() - { - if ($this->isConnected()) { - db2_close($this->_connection); - } - $this->_connection = null; - } - - /** - * Returns an SQL statement for preparation. - * - * @param string $sql The SQL statement with placeholders. - * @return Zend_Db_Statement_Db2 - */ - public function prepare($sql) - { - $this->_connect(); - $stmtClass = $this->_defaultStmtClass; - if (!class_exists($stmtClass)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($stmtClass); - } - $stmt = new $stmtClass($this, $sql); - $stmt->setFetchMode($this->_fetchMode); - return $stmt; - } - - /** - * Gets the execution mode - * - * @return int the execution mode (DB2_AUTOCOMMIT_ON or DB2_AUTOCOMMIT_OFF) - */ - public function _getExecuteMode() - { - return $this->_execute_mode; - } - - /** - * @param integer $mode - * @return void - */ - public function _setExecuteMode($mode) - { - switch ($mode) { - case DB2_AUTOCOMMIT_OFF: - case DB2_AUTOCOMMIT_ON: - $this->_execute_mode = $mode; - db2_autocommit($this->_connection, $mode); - break; - default: - /** - * @see Zend_Db_Adapter_Db2_Exception - */ - require_once 'Zend/Db/Adapter/Db2/Exception.php'; - throw new Zend_Db_Adapter_Db2_Exception("execution mode not supported"); - break; - } - } - - /** - * Quote a raw string. - * - * @param string $value Raw string - * @return string Quoted string - */ - protected function _quote($value) - { - if (is_int($value) || is_float($value)) { - return $value; - } - /** - * Use db2_escape_string() if it is present in the IBM DB2 extension. - * But some supported versions of PHP do not include this function, - * so fall back to default quoting in the parent class. - */ - if (function_exists('db2_escape_string')) { - return "'" . db2_escape_string($value) . "'"; - } - return parent::_quote($value); - } - - /** - * @return string - */ - public function getQuoteIdentifierSymbol() - { - $this->_connect(); - $info = db2_server_info($this->_connection); - if ($info) { - $identQuote = $info->IDENTIFIER_QUOTE_CHAR; - } else { - // db2_server_info() does not return result on some i5 OS version - if ($this->_isI5) { - $identQuote ="'"; - } - } - return $identQuote; - } - - /** - * Returns a list of the tables in the database. - * @param string $schema OPTIONAL - * @return array - */ - public function listTables($schema = null) - { - $this->_connect(); - - if ($schema === null && $this->_config['schema'] != null) { - $schema = $this->_config['schema']; - } - - $tables = array(); - - if (!$this->_isI5) { - if ($schema) { - $stmt = db2_tables($this->_connection, null, $schema); - } else { - $stmt = db2_tables($this->_connection); - } - while ($row = db2_fetch_assoc($stmt)) { - $tables[] = $row['TABLE_NAME']; - } - } else { - $tables = $this->_i5listTables($schema); - } - - return $tables; - } - - - /** - * Returns the column descriptions for a table. - * - * The return value is an associative array keyed by the column name, - * as returned by the RDBMS. - * - * The value of each array element is an associative array - * with the following keys: - * - * SCHEMA_NAME => string; name of database or schema - * TABLE_NAME => string; - * COLUMN_NAME => string; column name - * COLUMN_POSITION => number; ordinal position of column in table - * DATA_TYPE => string; SQL datatype name of column - * DEFAULT => string; default expression of column, null if none - * NULLABLE => boolean; true if column can have nulls - * LENGTH => number; length of CHAR/VARCHAR - * SCALE => number; scale of NUMERIC/DECIMAL - * PRECISION => number; precision of NUMERIC/DECIMAL - * UNSIGNED => boolean; unsigned property of an integer type - * DB2 not supports UNSIGNED integer. - * PRIMARY => boolean; true if column is part of the primary key - * PRIMARY_POSITION => integer; position of column in primary key - * IDENTITY => integer; true if column is auto-generated with unique values - * - * @param string $tableName - * @param string $schemaName OPTIONAL - * @return array - */ - public function describeTable($tableName, $schemaName = null) - { - // Ensure the connection is made so that _isI5 is set - $this->_connect(); - - if ($schemaName === null && $this->_config['schema'] != null) { - $schemaName = $this->_config['schema']; - } - - if (!$this->_isI5) { - - $sql = "SELECT DISTINCT c.tabschema, c.tabname, c.colname, c.colno, - c.typename, c.default, c.nulls, c.length, c.scale, - c.identity, tc.type AS tabconsttype, k.colseq - FROM syscat.columns c - LEFT JOIN (syscat.keycoluse k JOIN syscat.tabconst tc - ON (k.tabschema = tc.tabschema - AND k.tabname = tc.tabname - AND tc.type = 'P')) - ON (c.tabschema = k.tabschema - AND c.tabname = k.tabname - AND c.colname = k.colname) - WHERE " - . $this->quoteInto('UPPER(c.tabname) = UPPER(?)', $tableName); - - if ($schemaName) { - $sql .= $this->quoteInto(' AND UPPER(c.tabschema) = UPPER(?)', $schemaName); - } - - $sql .= " ORDER BY c.colno"; - - } else { - - // DB2 On I5 specific query - $sql = "SELECT DISTINCT C.TABLE_SCHEMA, C.TABLE_NAME, C.COLUMN_NAME, C.ORDINAL_POSITION, - C.DATA_TYPE, C.COLUMN_DEFAULT, C.NULLS ,C.LENGTH, C.SCALE, LEFT(C.IDENTITY,1), - LEFT(tc.TYPE, 1) AS tabconsttype, k.COLSEQ - FROM QSYS2.SYSCOLUMNS C - LEFT JOIN (QSYS2.syskeycst k JOIN QSYS2.SYSCST tc - ON (k.TABLE_SCHEMA = tc.TABLE_SCHEMA - AND k.TABLE_NAME = tc.TABLE_NAME - AND LEFT(tc.type,1) = 'P')) - ON (C.TABLE_SCHEMA = k.TABLE_SCHEMA - AND C.TABLE_NAME = k.TABLE_NAME - AND C.COLUMN_NAME = k.COLUMN_NAME) - WHERE " - . $this->quoteInto('UPPER(C.TABLE_NAME) = UPPER(?)', $tableName); - - if ($schemaName) { - $sql .= $this->quoteInto(' AND UPPER(C.TABLE_SCHEMA) = UPPER(?)', $schemaName); - } - - $sql .= " ORDER BY C.ORDINAL_POSITION FOR FETCH ONLY"; - } - - $desc = array(); - $stmt = $this->query($sql); - - /** - * To avoid case issues, fetch using FETCH_NUM - */ - $result = $stmt->fetchAll(Zend_Db::FETCH_NUM); - - /** - * The ordering of columns is defined by the query so we can map - * to variables to improve readability - */ - $tabschema = 0; - $tabname = 1; - $colname = 2; - $colno = 3; - $typename = 4; - $default = 5; - $nulls = 6; - $length = 7; - $scale = 8; - $identityCol = 9; - $tabconstType = 10; - $colseq = 11; - - foreach ($result as $key => $row) { - list ($primary, $primaryPosition, $identity) = array(false, null, false); - if ($row[$tabconstType] == 'P') { - $primary = true; - $primaryPosition = $row[$colseq]; - } - /** - * In IBM DB2, an column can be IDENTITY - * even if it is not part of the PRIMARY KEY. - */ - if ($row[$identityCol] == 'Y') { - $identity = true; - } - - // only colname needs to be case adjusted - $desc[$this->foldCase($row[$colname])] = array( - 'SCHEMA_NAME' => $this->foldCase($row[$tabschema]), - 'TABLE_NAME' => $this->foldCase($row[$tabname]), - 'COLUMN_NAME' => $this->foldCase($row[$colname]), - 'COLUMN_POSITION' => (!$this->_isI5) ? $row[$colno]+1 : $row[$colno], - 'DATA_TYPE' => $row[$typename], - 'DEFAULT' => $row[$default], - 'NULLABLE' => (bool) ($row[$nulls] == 'Y'), - 'LENGTH' => $row[$length], - 'SCALE' => $row[$scale], - 'PRECISION' => ($row[$typename] == 'DECIMAL' ? $row[$length] : 0), - 'UNSIGNED' => false, - 'PRIMARY' => $primary, - 'PRIMARY_POSITION' => $primaryPosition, - 'IDENTITY' => $identity - ); - } - - return $desc; - } - - /** - * Return the most recent value from the specified sequence in the database. - * This is supported only on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2). Other RDBMS brands return null. - * - * @param string $sequenceName - * @return string - */ - public function lastSequenceId($sequenceName) - { - $this->_connect(); - - if (!$this->_isI5) { - $quotedSequenceName = $this->quoteIdentifier($sequenceName, true); - $sql = 'SELECT PREVVAL FOR ' . $quotedSequenceName . ' AS VAL FROM SYSIBM.SYSDUMMY1'; - } else { - $quotedSequenceName = $sequenceName; - $sql = 'SELECT PREVVAL FOR ' . $this->quoteIdentifier($sequenceName, true) . ' AS VAL FROM QSYS2.QSQPTABL'; - } - - $value = $this->fetchOne($sql); - return (string) $value; - } - - /** - * Generate a new value from the specified sequence in the database, and return it. - * This is supported only on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2). Other RDBMS brands return null. - * - * @param string $sequenceName - * @return string - */ - public function nextSequenceId($sequenceName) - { - $this->_connect(); - $sql = 'SELECT NEXTVAL FOR '.$this->quoteIdentifier($sequenceName, true).' AS VAL FROM SYSIBM.SYSDUMMY1'; - $value = $this->fetchOne($sql); - return (string) $value; - } - - /** - * Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column. - * - * As a convention, on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2), this method forms the name of a sequence - * from the arguments and returns the last id generated by that sequence. - * On RDBMS brands that support IDENTITY/AUTOINCREMENT columns, this method - * returns the last value generated for such a column, and the table name - * argument is disregarded. - * - * The IDENTITY_VAL_LOCAL() function gives the last generated identity value - * in the current process, even if it was for a GENERATED column. - * - * @param string $tableName OPTIONAL - * @param string $primaryKey OPTIONAL - * @param string $idType OPTIONAL used for i5 platform to define sequence/idenity unique value - * @return string - */ - - public function lastInsertId($tableName = null, $primaryKey = null, $idType = null) - { - $this->_connect(); - - if ($this->_isI5) { - return (string) $this->_i5LastInsertId($tableName, $idType); - } - - if ($tableName !== null) { - $sequenceName = $tableName; - if ($primaryKey) { - $sequenceName .= "_$primaryKey"; - } - $sequenceName .= '_seq'; - return $this->lastSequenceId($sequenceName); - } - - $sql = 'SELECT IDENTITY_VAL_LOCAL() AS VAL FROM SYSIBM.SYSDUMMY1'; - $value = $this->fetchOne($sql); - return (string) $value; - } - - /** - * Begin a transaction. - * - * @return void - */ - protected function _beginTransaction() - { - $this->_setExecuteMode(DB2_AUTOCOMMIT_OFF); - } - - /** - * Commit a transaction. - * - * @return void - */ - protected function _commit() - { - if (!db2_commit($this->_connection)) { - /** - * @see Zend_Db_Adapter_Db2_Exception - */ - require_once 'Zend/Db/Adapter/Db2/Exception.php'; - throw new Zend_Db_Adapter_Db2_Exception( - db2_conn_errormsg($this->_connection), - db2_conn_error($this->_connection)); - } - - $this->_setExecuteMode(DB2_AUTOCOMMIT_ON); - } - - /** - * Rollback a transaction. - * - * @return void - */ - protected function _rollBack() - { - if (!db2_rollback($this->_connection)) { - /** - * @see Zend_Db_Adapter_Db2_Exception - */ - require_once 'Zend/Db/Adapter/Db2/Exception.php'; - throw new Zend_Db_Adapter_Db2_Exception( - db2_conn_errormsg($this->_connection), - db2_conn_error($this->_connection)); - } - $this->_setExecuteMode(DB2_AUTOCOMMIT_ON); - } - - /** - * Set the fetch mode. - * - * @param integer $mode - * @return void - * @throws Zend_Db_Adapter_Db2_Exception - */ - public function setFetchMode($mode) - { - switch ($mode) { - case Zend_Db::FETCH_NUM: // seq array - case Zend_Db::FETCH_ASSOC: // assoc array - case Zend_Db::FETCH_BOTH: // seq+assoc array - case Zend_Db::FETCH_OBJ: // object - $this->_fetchMode = $mode; - break; - case Zend_Db::FETCH_BOUND: // bound to PHP variable - /** - * @see Zend_Db_Adapter_Db2_Exception - */ - require_once 'Zend/Db/Adapter/Db2/Exception.php'; - throw new Zend_Db_Adapter_Db2_Exception('FETCH_BOUND is not supported yet'); - break; - default: - /** - * @see Zend_Db_Adapter_Db2_Exception - */ - require_once 'Zend/Db/Adapter/Db2/Exception.php'; - throw new Zend_Db_Adapter_Db2_Exception("Invalid fetch mode '$mode' specified"); - break; - } - } - - /** - * Adds an adapter-specific LIMIT clause to the SELECT statement. - * - * @param string $sql - * @param integer $count - * @param integer $offset OPTIONAL - * @return string - */ - public function limit($sql, $count, $offset = 0) - { - $count = intval($count); - if ($count <= 0) { - /** - * @see Zend_Db_Adapter_Db2_Exception - */ - require_once 'Zend/Db/Adapter/Db2/Exception.php'; - throw new Zend_Db_Adapter_Db2_Exception("LIMIT argument count=$count is not valid"); - } - - $offset = intval($offset); - if ($offset < 0) { - /** - * @see Zend_Db_Adapter_Db2_Exception - */ - require_once 'Zend/Db/Adapter/Db2/Exception.php'; - throw new Zend_Db_Adapter_Db2_Exception("LIMIT argument offset=$offset is not valid"); - } - - if ($offset == 0) { - $limit_sql = $sql . " FETCH FIRST $count ROWS ONLY"; - return $limit_sql; - } - - /** - * DB2 does not implement the LIMIT clause as some RDBMS do. - * We have to simulate it with subqueries and ROWNUM. - * Unfortunately because we use the column wildcard "*", - * this puts an extra column into the query result set. - */ - $limit_sql = "SELECT z2.* - FROM ( - SELECT ROW_NUMBER() OVER() AS \"ZEND_DB_ROWNUM\", z1.* - FROM ( - " . $sql . " - ) z1 - ) z2 - WHERE z2.zend_db_rownum BETWEEN " . ($offset+1) . " AND " . ($offset+$count); - return $limit_sql; - } - - /** - * Check if the adapter supports real SQL parameters. - * - * @param string $type 'positional' or 'named' - * @return bool - */ - public function supportsParameters($type) - { - if ($type == 'positional') { - return true; - } - - // if its 'named' or anything else - return false; - } - - /** - * Retrieve server version in PHP style - * - * @return string - */ - public function getServerVersion() - { - $this->_connect(); - $server_info = db2_server_info($this->_connection); - if ($server_info !== false) { - $version = $server_info->DBMS_VER; - if ($this->_isI5) { - $version = (int) substr($version, 0, 2) . '.' . (int) substr($version, 2, 2) . '.' . (int) substr($version, 4); - } - return $version; - } else { - return null; - } - } - - /** - * Return whether or not this is running on i5 - * - * @return bool - */ - public function isI5() - { - if ($this->_isI5 === null) { - $this->_determineI5(); - } - - return (bool) $this->_isI5; - } - - /** - * Check the connection parameters according to verify - * type of used OS - * - * @return void - */ - protected function _determineI5() - { - // first us the compiled flag. - $this->_isI5 = (php_uname('s') == 'OS400') ? true : false; - - // if this is set, then us it - if (isset($this->_config['os'])){ - if (strtolower($this->_config['os']) === 'i5') { - $this->_isI5 = true; - } else { - // any other value passed in, its null - $this->_isI5 = false; - } - } - - } - - /** - * Db2 On I5 specific method - * - * Returns a list of the tables in the database . - * Used only for DB2/400. - * - * @return array - */ - protected function _i5listTables($schema = null) - { - //list of i5 libraries. - $tables = array(); - if ($schema) { - $tablesStatement = db2_tables($this->_connection, null, $schema); - while ($rowTables = db2_fetch_assoc($tablesStatement) ) { - if ($rowTables['TABLE_NAME'] !== null) { - $tables[] = $rowTables['TABLE_NAME']; - } - } - } else { - $schemaStatement = db2_tables($this->_connection); - while ($schema = db2_fetch_assoc($schemaStatement)) { - if ($schema['TABLE_SCHEM'] !== null) { - // list of the tables which belongs to the selected library - $tablesStatement = db2_tables($this->_connection, NULL, $schema['TABLE_SCHEM']); - if (is_resource($tablesStatement)) { - while ($rowTables = db2_fetch_assoc($tablesStatement) ) { - if ($rowTables['TABLE_NAME'] !== null) { - $tables[] = $rowTables['TABLE_NAME']; - } - } - } - } - } - } - - return $tables; - } - - protected function _i5LastInsertId($objectName = null, $idType = null) - { - - if ($objectName === null) { - $sql = 'SELECT IDENTITY_VAL_LOCAL() AS VAL FROM QSYS2.QSQPTABL'; - $value = $this->fetchOne($sql); - return $value; - } - - if (strtoupper($idType) === 'S'){ - //check i5_lib option - $sequenceName = $objectName; - return $this->lastSequenceId($sequenceName); - } - - //returns last identity value for the specified table - //if (strtoupper($idType) === 'I') { - $tableName = $objectName; - return $this->fetchOne('SELECT IDENTITY_VAL_LOCAL() from ' . $this->quoteIdentifier($tableName)); - } - -} - - diff --git a/lib/zend/Zend/Db/Adapter/Db2/Exception.php b/lib/zend/Zend/Db/Adapter/Db2/Exception.php deleted file mode 100644 index 081bcfaaec..0000000000 --- a/lib/zend/Zend/Db/Adapter/Db2/Exception.php +++ /dev/null @@ -1,45 +0,0 @@ -message = $msg; - $this->code = $state; - } -} diff --git a/lib/zend/Zend/Db/Adapter/Exception.php b/lib/zend/Zend/Db/Adapter/Exception.php deleted file mode 100644 index 3e7b8478b7..0000000000 --- a/lib/zend/Zend/Db/Adapter/Exception.php +++ /dev/null @@ -1,58 +0,0 @@ -_chainedException = $e; - $this->code = $e->getCode(); - } - parent::__construct($message); - } - - public function hasChainedException() - { - return ($this->_chainedException!==null); - } - - public function getChainedException() - { - return $this->_chainedException; - } - -} diff --git a/lib/zend/Zend/Db/Adapter/Mysqli.php b/lib/zend/Zend/Db/Adapter/Mysqli.php deleted file mode 100644 index 74ab6843be..0000000000 --- a/lib/zend/Zend/Db/Adapter/Mysqli.php +++ /dev/null @@ -1,549 +0,0 @@ - Zend_Db::INT_TYPE, - Zend_Db::BIGINT_TYPE => Zend_Db::BIGINT_TYPE, - Zend_Db::FLOAT_TYPE => Zend_Db::FLOAT_TYPE, - 'INT' => Zend_Db::INT_TYPE, - 'INTEGER' => Zend_Db::INT_TYPE, - 'MEDIUMINT' => Zend_Db::INT_TYPE, - 'SMALLINT' => Zend_Db::INT_TYPE, - 'TINYINT' => Zend_Db::INT_TYPE, - 'BIGINT' => Zend_Db::BIGINT_TYPE, - 'SERIAL' => Zend_Db::BIGINT_TYPE, - 'DEC' => Zend_Db::FLOAT_TYPE, - 'DECIMAL' => Zend_Db::FLOAT_TYPE, - 'DOUBLE' => Zend_Db::FLOAT_TYPE, - 'DOUBLE PRECISION' => Zend_Db::FLOAT_TYPE, - 'FIXED' => Zend_Db::FLOAT_TYPE, - 'FLOAT' => Zend_Db::FLOAT_TYPE - ); - - /** - * @var Zend_Db_Statement_Mysqli - */ - protected $_stmt = null; - - /** - * Default class name for a DB statement. - * - * @var string - */ - protected $_defaultStmtClass = 'Zend_Db_Statement_Mysqli'; - - /** - * Quote a raw string. - * - * @param mixed $value Raw string - * - * @return string Quoted string - */ - protected function _quote($value) - { - if (is_int($value) || is_float($value)) { - return $value; - } - $this->_connect(); - return "'" . $this->_connection->real_escape_string($value) . "'"; - } - - /** - * Returns the symbol the adapter uses for delimiting identifiers. - * - * @return string - */ - public function getQuoteIdentifierSymbol() - { - return "`"; - } - - /** - * Returns a list of the tables in the database. - * - * @return array - */ - public function listTables() - { - $result = array(); - // Use mysqli extension API, because SHOW doesn't work - // well as a prepared statement on MySQL 4.1. - $sql = 'SHOW TABLES'; - if ($queryResult = $this->getConnection()->query($sql)) { - while ($row = $queryResult->fetch_row()) { - $result[] = $row[0]; - } - $queryResult->close(); - } else { - /** - * @see Zend_Db_Adapter_Mysqli_Exception - */ - require_once 'Zend/Db/Adapter/Mysqli/Exception.php'; - throw new Zend_Db_Adapter_Mysqli_Exception($this->getConnection()->error); - } - return $result; - } - - /** - * Returns the column descriptions for a table. - * - * The return value is an associative array keyed by the column name, - * as returned by the RDBMS. - * - * The value of each array element is an associative array - * with the following keys: - * - * SCHEMA_NAME => string; name of database or schema - * TABLE_NAME => string; - * COLUMN_NAME => string; column name - * COLUMN_POSITION => number; ordinal position of column in table - * DATA_TYPE => string; SQL datatype name of column - * DEFAULT => string; default expression of column, null if none - * NULLABLE => boolean; true if column can have nulls - * LENGTH => number; length of CHAR/VARCHAR - * SCALE => number; scale of NUMERIC/DECIMAL - * PRECISION => number; precision of NUMERIC/DECIMAL - * UNSIGNED => boolean; unsigned property of an integer type - * PRIMARY => boolean; true if column is part of the primary key - * PRIMARY_POSITION => integer; position of column in primary key - * IDENTITY => integer; true if column is auto-generated with unique values - * - * @param string $tableName - * @param string $schemaName OPTIONAL - * @return array - */ - public function describeTable($tableName, $schemaName = null) - { - /** - * @todo use INFORMATION_SCHEMA someday when - * MySQL's implementation isn't too slow. - */ - - if ($schemaName) { - $sql = 'DESCRIBE ' . $this->quoteIdentifier("$schemaName.$tableName", true); - } else { - $sql = 'DESCRIBE ' . $this->quoteIdentifier($tableName, true); - } - - /** - * Use mysqli extension API, because DESCRIBE doesn't work - * well as a prepared statement on MySQL 4.1. - */ - if ($queryResult = $this->getConnection()->query($sql)) { - while ($row = $queryResult->fetch_assoc()) { - $result[] = $row; - } - $queryResult->close(); - } else { - /** - * @see Zend_Db_Adapter_Mysqli_Exception - */ - require_once 'Zend/Db/Adapter/Mysqli/Exception.php'; - throw new Zend_Db_Adapter_Mysqli_Exception($this->getConnection()->error); - } - - $desc = array(); - - $row_defaults = array( - 'Length' => null, - 'Scale' => null, - 'Precision' => null, - 'Unsigned' => null, - 'Primary' => false, - 'PrimaryPosition' => null, - 'Identity' => false - ); - $i = 1; - $p = 1; - foreach ($result as $key => $row) { - $row = array_merge($row_defaults, $row); - if (preg_match('/unsigned/', $row['Type'])) { - $row['Unsigned'] = true; - } - if (preg_match('/^((?:var)?char)\((\d+)\)/', $row['Type'], $matches)) { - $row['Type'] = $matches[1]; - $row['Length'] = $matches[2]; - } else if (preg_match('/^decimal\((\d+),(\d+)\)/', $row['Type'], $matches)) { - $row['Type'] = 'decimal'; - $row['Precision'] = $matches[1]; - $row['Scale'] = $matches[2]; - } else if (preg_match('/^float\((\d+),(\d+)\)/', $row['Type'], $matches)) { - $row['Type'] = 'float'; - $row['Precision'] = $matches[1]; - $row['Scale'] = $matches[2]; - } else if (preg_match('/^((?:big|medium|small|tiny)?int)\((\d+)\)/', $row['Type'], $matches)) { - $row['Type'] = $matches[1]; - /** - * The optional argument of a MySQL int type is not precision - * or length; it is only a hint for display width. - */ - } - if (strtoupper($row['Key']) == 'PRI') { - $row['Primary'] = true; - $row['PrimaryPosition'] = $p; - if ($row['Extra'] == 'auto_increment') { - $row['Identity'] = true; - } else { - $row['Identity'] = false; - } - ++$p; - } - $desc[$this->foldCase($row['Field'])] = array( - 'SCHEMA_NAME' => null, // @todo - 'TABLE_NAME' => $this->foldCase($tableName), - 'COLUMN_NAME' => $this->foldCase($row['Field']), - 'COLUMN_POSITION' => $i, - 'DATA_TYPE' => $row['Type'], - 'DEFAULT' => $row['Default'], - 'NULLABLE' => (bool) ($row['Null'] == 'YES'), - 'LENGTH' => $row['Length'], - 'SCALE' => $row['Scale'], - 'PRECISION' => $row['Precision'], - 'UNSIGNED' => $row['Unsigned'], - 'PRIMARY' => $row['Primary'], - 'PRIMARY_POSITION' => $row['PrimaryPosition'], - 'IDENTITY' => $row['Identity'] - ); - ++$i; - } - return $desc; - } - - /** - * Creates a connection to the database. - * - * @return void - * @throws Zend_Db_Adapter_Mysqli_Exception - */ - protected function _connect() - { - if ($this->_connection) { - return; - } - - if (!extension_loaded('mysqli')) { - /** - * @see Zend_Db_Adapter_Mysqli_Exception - */ - require_once 'Zend/Db/Adapter/Mysqli/Exception.php'; - throw new Zend_Db_Adapter_Mysqli_Exception('The Mysqli extension is required for this adapter but the extension is not loaded'); - } - - if (isset($this->_config['port'])) { - $port = (integer) $this->_config['port']; - } else { - $port = null; - } - - $this->_connection = mysqli_init(); - - if(!empty($this->_config['driver_options'])) { - foreach($this->_config['driver_options'] as $option=>$value) { - if(is_string($option)) { - // Suppress warnings here - // Ignore it if it's not a valid constant - $option = @constant(strtoupper($option)); - if($option === null) - continue; - } - mysqli_options($this->_connection, $option, $value); - } - } - - // Suppress connection warnings here. - // Throw an exception instead. - $_isConnected = @mysqli_real_connect( - $this->_connection, - $this->_config['host'], - $this->_config['username'], - $this->_config['password'], - $this->_config['dbname'], - $port - ); - - if ($_isConnected === false || mysqli_connect_errno()) { - - $this->closeConnection(); - /** - * @see Zend_Db_Adapter_Mysqli_Exception - */ - require_once 'Zend/Db/Adapter/Mysqli/Exception.php'; - throw new Zend_Db_Adapter_Mysqli_Exception(mysqli_connect_error()); - } - - if (!empty($this->_config['charset'])) { - mysqli_set_charset($this->_connection, $this->_config['charset']); - } - } - - /** - * Test if a connection is active - * - * @return boolean - */ - public function isConnected() - { - return ((bool) ($this->_connection instanceof mysqli)); - } - - /** - * Force the connection to close. - * - * @return void - */ - public function closeConnection() - { - if ($this->isConnected()) { - $this->_connection->close(); - } - $this->_connection = null; - } - - /** - * Prepare a statement and return a PDOStatement-like object. - * - * @param string $sql SQL query - * @return Zend_Db_Statement_Mysqli - */ - public function prepare($sql) - { - $this->_connect(); - if ($this->_stmt) { - $this->_stmt->close(); - } - $stmtClass = $this->_defaultStmtClass; - if (!class_exists($stmtClass)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($stmtClass); - } - $stmt = new $stmtClass($this, $sql); - if ($stmt === false) { - return false; - } - $stmt->setFetchMode($this->_fetchMode); - $this->_stmt = $stmt; - return $stmt; - } - - /** - * Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column. - * - * As a convention, on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2), this method forms the name of a sequence - * from the arguments and returns the last id generated by that sequence. - * On RDBMS brands that support IDENTITY/AUTOINCREMENT columns, this method - * returns the last value generated for such a column, and the table name - * argument is disregarded. - * - * MySQL does not support sequences, so $tableName and $primaryKey are ignored. - * - * @param string $tableName OPTIONAL Name of table. - * @param string $primaryKey OPTIONAL Name of primary key column. - * @return string - * @todo Return value should be int? - */ - public function lastInsertId($tableName = null, $primaryKey = null) - { - $mysqli = $this->_connection; - return (string) $mysqli->insert_id; - } - - /** - * Begin a transaction. - * - * @return void - */ - protected function _beginTransaction() - { - $this->_connect(); - $this->_connection->autocommit(false); - } - - /** - * Commit a transaction. - * - * @return void - */ - protected function _commit() - { - $this->_connect(); - $this->_connection->commit(); - $this->_connection->autocommit(true); - } - - /** - * Roll-back a transaction. - * - * @return void - */ - protected function _rollBack() - { - $this->_connect(); - $this->_connection->rollback(); - $this->_connection->autocommit(true); - } - - /** - * Set the fetch mode. - * - * @param int $mode - * @return void - * @throws Zend_Db_Adapter_Mysqli_Exception - */ - public function setFetchMode($mode) - { - switch ($mode) { - case Zend_Db::FETCH_LAZY: - case Zend_Db::FETCH_ASSOC: - case Zend_Db::FETCH_NUM: - case Zend_Db::FETCH_BOTH: - case Zend_Db::FETCH_NAMED: - case Zend_Db::FETCH_OBJ: - $this->_fetchMode = $mode; - break; - case Zend_Db::FETCH_BOUND: // bound to PHP variable - /** - * @see Zend_Db_Adapter_Mysqli_Exception - */ - require_once 'Zend/Db/Adapter/Mysqli/Exception.php'; - throw new Zend_Db_Adapter_Mysqli_Exception('FETCH_BOUND is not supported yet'); - break; - default: - /** - * @see Zend_Db_Adapter_Mysqli_Exception - */ - require_once 'Zend/Db/Adapter/Mysqli/Exception.php'; - throw new Zend_Db_Adapter_Mysqli_Exception("Invalid fetch mode '$mode' specified"); - } - } - - /** - * Adds an adapter-specific LIMIT clause to the SELECT statement. - * - * @param string $sql - * @param int $count - * @param int $offset OPTIONAL - * @return string - */ - public function limit($sql, $count, $offset = 0) - { - $count = intval($count); - if ($count <= 0) { - /** - * @see Zend_Db_Adapter_Mysqli_Exception - */ - require_once 'Zend/Db/Adapter/Mysqli/Exception.php'; - throw new Zend_Db_Adapter_Mysqli_Exception("LIMIT argument count=$count is not valid"); - } - - $offset = intval($offset); - if ($offset < 0) { - /** - * @see Zend_Db_Adapter_Mysqli_Exception - */ - require_once 'Zend/Db/Adapter/Mysqli/Exception.php'; - throw new Zend_Db_Adapter_Mysqli_Exception("LIMIT argument offset=$offset is not valid"); - } - - $sql .= " LIMIT $count"; - if ($offset > 0) { - $sql .= " OFFSET $offset"; - } - - return $sql; - } - - /** - * Check if the adapter supports real SQL parameters. - * - * @param string $type 'positional' or 'named' - * @return bool - */ - public function supportsParameters($type) - { - switch ($type) { - case 'positional': - return true; - case 'named': - default: - return false; - } - } - - /** - * Retrieve server version in PHP style - * - *@return string - */ - public function getServerVersion() - { - $this->_connect(); - $version = $this->_connection->server_version; - $major = (int) ($version / 10000); - $minor = (int) ($version % 10000 / 100); - $revision = (int) ($version % 100); - return $major . '.' . $minor . '.' . $revision; - } -} diff --git a/lib/zend/Zend/Db/Adapter/Mysqli/Exception.php b/lib/zend/Zend/Db/Adapter/Mysqli/Exception.php deleted file mode 100644 index f14288331c..0000000000 --- a/lib/zend/Zend/Db/Adapter/Mysqli/Exception.php +++ /dev/null @@ -1,40 +0,0 @@ - (string) Connect to the database as this username. - * password => (string) Password associated with the username. - * dbname => Either the name of the local Oracle instance, or the - * name of the entry in tnsnames.ora to which you want to connect. - * persistent => (boolean) Set TRUE to use a persistent connection - * @var array - */ - protected $_config = array( - 'dbname' => null, - 'username' => null, - 'password' => null, - 'persistent' => false - ); - - /** - * Keys are UPPERCASE SQL datatypes or the constants - * Zend_Db::INT_TYPE, Zend_Db::BIGINT_TYPE, or Zend_Db::FLOAT_TYPE. - * - * Values are: - * 0 = 32-bit integer - * 1 = 64-bit integer - * 2 = float or decimal - * - * @var array Associative array of datatypes to values 0, 1, or 2. - */ - protected $_numericDataTypes = array( - Zend_Db::INT_TYPE => Zend_Db::INT_TYPE, - Zend_Db::BIGINT_TYPE => Zend_Db::BIGINT_TYPE, - Zend_Db::FLOAT_TYPE => Zend_Db::FLOAT_TYPE, - 'BINARY_DOUBLE' => Zend_Db::FLOAT_TYPE, - 'BINARY_FLOAT' => Zend_Db::FLOAT_TYPE, - 'NUMBER' => Zend_Db::FLOAT_TYPE, - ); - - /** - * @var integer - */ - protected $_execute_mode = null; - - /** - * Default class name for a DB statement. - * - * @var string - */ - protected $_defaultStmtClass = 'Zend_Db_Statement_Oracle'; - - /** - * Check if LOB field are returned as string - * instead of OCI-Lob object - * - * @var boolean - */ - protected $_lobAsString = null; - - /** - * Creates a connection resource. - * - * @return void - * @throws Zend_Db_Adapter_Oracle_Exception - */ - protected function _connect() - { - if (is_resource($this->_connection)) { - // connection already exists - return; - } - - if (!extension_loaded('oci8')) { - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Adapter/Oracle/Exception.php'; - throw new Zend_Db_Adapter_Oracle_Exception('The OCI8 extension is required for this adapter but the extension is not loaded'); - } - - $this->_setExecuteMode(OCI_COMMIT_ON_SUCCESS); - - $connectionFuncName = ($this->_config['persistent'] == true) ? 'oci_pconnect' : 'oci_connect'; - - $this->_connection = @$connectionFuncName( - $this->_config['username'], - $this->_config['password'], - $this->_config['dbname'], - $this->_config['charset']); - - // check the connection - if (!$this->_connection) { - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Adapter/Oracle/Exception.php'; - throw new Zend_Db_Adapter_Oracle_Exception(oci_error()); - } - } - - /** - * Test if a connection is active - * - * @return boolean - */ - public function isConnected() - { - return ((bool) (is_resource($this->_connection) - && get_resource_type($this->_connection) == 'oci8 connection')); - } - - /** - * Force the connection to close. - * - * @return void - */ - public function closeConnection() - { - if ($this->isConnected()) { - oci_close($this->_connection); - } - $this->_connection = null; - } - - /** - * Activate/deactivate return of LOB as string - * - * @param string $lob_as_string - * @return Zend_Db_Adapter_Oracle - */ - public function setLobAsString($lobAsString) - { - $this->_lobAsString = (bool) $lobAsString; - return $this; - } - - /** - * Return whether or not LOB are returned as string - * - * @return boolean - */ - public function getLobAsString() - { - if ($this->_lobAsString === null) { - // if never set by user, we use driver option if it exists otherwise false - if (isset($this->_config['driver_options']) && - isset($this->_config['driver_options']['lob_as_string'])) { - $this->_lobAsString = (bool) $this->_config['driver_options']['lob_as_string']; - } else { - $this->_lobAsString = false; - } - } - return $this->_lobAsString; - } - - /** - * Returns an SQL statement for preparation. - * - * @param string $sql The SQL statement with placeholders. - * @return Zend_Db_Statement_Oracle - */ - public function prepare($sql) - { - $this->_connect(); - $stmtClass = $this->_defaultStmtClass; - if (!class_exists($stmtClass)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($stmtClass); - } - $stmt = new $stmtClass($this, $sql); - if ($stmt instanceof Zend_Db_Statement_Oracle) { - $stmt->setLobAsString($this->getLobAsString()); - } - $stmt->setFetchMode($this->_fetchMode); - return $stmt; - } - - /** - * Quote a raw string. - * - * @param string $value Raw string - * @return string Quoted string - */ - protected function _quote($value) - { - if (is_int($value) || is_float($value)) { - return $value; - } - $value = str_replace("'", "''", $value); - return "'" . addcslashes($value, "\000\n\r\\\032") . "'"; - } - - /** - * Quote a table identifier and alias. - * - * @param string|array|Zend_Db_Expr $ident The identifier or expression. - * @param string $alias An alias for the table. - * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option. - * @return string The quoted identifier and alias. - */ - public function quoteTableAs($ident, $alias = null, $auto = false) - { - // Oracle doesn't allow the 'AS' keyword between the table identifier/expression and alias. - return $this->_quoteIdentifierAs($ident, $alias, $auto, ' '); - } - - /** - * Return the most recent value from the specified sequence in the database. - * This is supported only on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2). Other RDBMS brands return null. - * - * @param string $sequenceName - * @return string - */ - public function lastSequenceId($sequenceName) - { - $this->_connect(); - $sql = 'SELECT '.$this->quoteIdentifier($sequenceName, true).'.CURRVAL FROM dual'; - $value = $this->fetchOne($sql); - return $value; - } - - /** - * Generate a new value from the specified sequence in the database, and return it. - * This is supported only on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2). Other RDBMS brands return null. - * - * @param string $sequenceName - * @return string - */ - public function nextSequenceId($sequenceName) - { - $this->_connect(); - $sql = 'SELECT '.$this->quoteIdentifier($sequenceName, true).'.NEXTVAL FROM dual'; - $value = $this->fetchOne($sql); - return $value; - } - - /** - * Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column. - * - * As a convention, on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2), this method forms the name of a sequence - * from the arguments and returns the last id generated by that sequence. - * On RDBMS brands that support IDENTITY/AUTOINCREMENT columns, this method - * returns the last value generated for such a column, and the table name - * argument is disregarded. - * - * Oracle does not support IDENTITY columns, so if the sequence is not - * specified, this method returns null. - * - * @param string $tableName OPTIONAL Name of table. - * @param string $primaryKey OPTIONAL Name of primary key column. - * @return string - */ - public function lastInsertId($tableName = null, $primaryKey = null) - { - if ($tableName !== null) { - $sequenceName = $tableName; - if ($primaryKey) { - $sequenceName .= "_$primaryKey"; - } - $sequenceName .= '_seq'; - return $this->lastSequenceId($sequenceName); - } - - // No support for IDENTITY columns; return null - return null; - } - - /** - * Returns a list of the tables in the database. - * - * @return array - */ - public function listTables() - { - $this->_connect(); - $data = $this->fetchCol('SELECT table_name FROM all_tables'); - return $data; - } - - /** - * Returns the column descriptions for a table. - * - * The return value is an associative array keyed by the column name, - * as returned by the RDBMS. - * - * The value of each array element is an associative array - * with the following keys: - * - * SCHEMA_NAME => string; name of schema - * TABLE_NAME => string; - * COLUMN_NAME => string; column name - * COLUMN_POSITION => number; ordinal position of column in table - * DATA_TYPE => string; SQL datatype name of column - * DEFAULT => string; default expression of column, null if none - * NULLABLE => boolean; true if column can have nulls - * LENGTH => number; length of CHAR/VARCHAR - * SCALE => number; scale of NUMERIC/DECIMAL - * PRECISION => number; precision of NUMERIC/DECIMAL - * UNSIGNED => boolean; unsigned property of an integer type - * PRIMARY => boolean; true if column is part of the primary key - * PRIMARY_POSITION => integer; position of column in primary key - * IDENTITY => integer; true if column is auto-generated with unique values - * - * @todo Discover integer unsigned property. - * - * @param string $tableName - * @param string $schemaName OPTIONAL - * @return array - */ - public function describeTable($tableName, $schemaName = null) - { - $version = $this->getServerVersion(); - if (($version === null) || version_compare($version, '9.0.0', '>=')) { - $sql = "SELECT TC.TABLE_NAME, TC.OWNER, TC.COLUMN_NAME, TC.DATA_TYPE, - TC.DATA_DEFAULT, TC.NULLABLE, TC.COLUMN_ID, TC.DATA_LENGTH, - TC.DATA_SCALE, TC.DATA_PRECISION, C.CONSTRAINT_TYPE, CC.POSITION - FROM ALL_TAB_COLUMNS TC - LEFT JOIN (ALL_CONS_COLUMNS CC JOIN ALL_CONSTRAINTS C - ON (CC.CONSTRAINT_NAME = C.CONSTRAINT_NAME AND CC.TABLE_NAME = C.TABLE_NAME AND C.CONSTRAINT_TYPE = 'P')) - ON TC.TABLE_NAME = CC.TABLE_NAME AND TC.COLUMN_NAME = CC.COLUMN_NAME - WHERE UPPER(TC.TABLE_NAME) = UPPER(:TBNAME)"; - $bind[':TBNAME'] = $tableName; - if ($schemaName) { - $sql .= ' AND UPPER(TC.OWNER) = UPPER(:SCNAME)'; - $bind[':SCNAME'] = $schemaName; - } - $sql .= ' ORDER BY TC.COLUMN_ID'; - } else { - $subSql="SELECT AC.OWNER, AC.TABLE_NAME, ACC.COLUMN_NAME, AC.CONSTRAINT_TYPE, ACC.POSITION - from ALL_CONSTRAINTS AC, ALL_CONS_COLUMNS ACC - WHERE ACC.CONSTRAINT_NAME = AC.CONSTRAINT_NAME - AND ACC.TABLE_NAME = AC.TABLE_NAME - AND ACC.OWNER = AC.OWNER - AND AC.CONSTRAINT_TYPE = 'P' - AND UPPER(AC.TABLE_NAME) = UPPER(:TBNAME)"; - $bind[':TBNAME'] = $tableName; - if ($schemaName) { - $subSql .= ' AND UPPER(ACC.OWNER) = UPPER(:SCNAME)'; - $bind[':SCNAME'] = $schemaName; - } - $sql="SELECT TC.TABLE_NAME, TC.OWNER, TC.COLUMN_NAME, TC.DATA_TYPE, - TC.DATA_DEFAULT, TC.NULLABLE, TC.COLUMN_ID, TC.DATA_LENGTH, - TC.DATA_SCALE, TC.DATA_PRECISION, CC.CONSTRAINT_TYPE, CC.POSITION - FROM ALL_TAB_COLUMNS TC, ($subSql) CC - WHERE UPPER(TC.TABLE_NAME) = UPPER(:TBNAME) - AND TC.OWNER = CC.OWNER(+) AND TC.TABLE_NAME = CC.TABLE_NAME(+) AND TC.COLUMN_NAME = CC.COLUMN_NAME(+)"; - if ($schemaName) { - $sql .= ' AND UPPER(TC.OWNER) = UPPER(:SCNAME)'; - } - $sql .= ' ORDER BY TC.COLUMN_ID'; - } - - $stmt = $this->query($sql, $bind); - - /** - * Use FETCH_NUM so we are not dependent on the CASE attribute of the PDO connection - */ - $result = $stmt->fetchAll(Zend_Db::FETCH_NUM); - - $table_name = 0; - $owner = 1; - $column_name = 2; - $data_type = 3; - $data_default = 4; - $nullable = 5; - $column_id = 6; - $data_length = 7; - $data_scale = 8; - $data_precision = 9; - $constraint_type = 10; - $position = 11; - - $desc = array(); - foreach ($result as $key => $row) { - list ($primary, $primaryPosition, $identity) = array(false, null, false); - if ($row[$constraint_type] == 'P') { - $primary = true; - $primaryPosition = $row[$position]; - /** - * Oracle does not support auto-increment keys. - */ - $identity = false; - } - $desc[$this->foldCase($row[$column_name])] = array( - 'SCHEMA_NAME' => $this->foldCase($row[$owner]), - 'TABLE_NAME' => $this->foldCase($row[$table_name]), - 'COLUMN_NAME' => $this->foldCase($row[$column_name]), - 'COLUMN_POSITION' => $row[$column_id], - 'DATA_TYPE' => $row[$data_type], - 'DEFAULT' => $row[$data_default], - 'NULLABLE' => (bool) ($row[$nullable] == 'Y'), - 'LENGTH' => $row[$data_length], - 'SCALE' => $row[$data_scale], - 'PRECISION' => $row[$data_precision], - 'UNSIGNED' => null, // @todo - 'PRIMARY' => $primary, - 'PRIMARY_POSITION' => $primaryPosition, - 'IDENTITY' => $identity - ); - } - return $desc; - } - - /** - * Leave autocommit mode and begin a transaction. - * - * @return void - */ - protected function _beginTransaction() - { - $this->_setExecuteMode(OCI_DEFAULT); - } - - /** - * Commit a transaction and return to autocommit mode. - * - * @return void - * @throws Zend_Db_Adapter_Oracle_Exception - */ - protected function _commit() - { - if (!oci_commit($this->_connection)) { - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Adapter/Oracle/Exception.php'; - throw new Zend_Db_Adapter_Oracle_Exception(oci_error($this->_connection)); - } - $this->_setExecuteMode(OCI_COMMIT_ON_SUCCESS); - } - - /** - * Roll back a transaction and return to autocommit mode. - * - * @return void - * @throws Zend_Db_Adapter_Oracle_Exception - */ - protected function _rollBack() - { - if (!oci_rollback($this->_connection)) { - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Adapter/Oracle/Exception.php'; - throw new Zend_Db_Adapter_Oracle_Exception(oci_error($this->_connection)); - } - $this->_setExecuteMode(OCI_COMMIT_ON_SUCCESS); - } - - /** - * Set the fetch mode. - * - * @todo Support FETCH_CLASS and FETCH_INTO. - * - * @param integer $mode A fetch mode. - * @return void - * @throws Zend_Db_Adapter_Oracle_Exception - */ - public function setFetchMode($mode) - { - switch ($mode) { - case Zend_Db::FETCH_NUM: // seq array - case Zend_Db::FETCH_ASSOC: // assoc array - case Zend_Db::FETCH_BOTH: // seq+assoc array - case Zend_Db::FETCH_OBJ: // object - $this->_fetchMode = $mode; - break; - case Zend_Db::FETCH_BOUND: // bound to PHP variable - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Adapter/Oracle/Exception.php'; - throw new Zend_Db_Adapter_Oracle_Exception('FETCH_BOUND is not supported yet'); - break; - default: - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Adapter/Oracle/Exception.php'; - throw new Zend_Db_Adapter_Oracle_Exception("Invalid fetch mode '$mode' specified"); - break; - } - } - - /** - * Adds an adapter-specific LIMIT clause to the SELECT statement. - * - * @param string $sql - * @param integer $count - * @param integer $offset OPTIONAL - * @return string - * @throws Zend_Db_Adapter_Oracle_Exception - */ - public function limit($sql, $count, $offset = 0) - { - $count = intval($count); - if ($count <= 0) { - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Adapter/Oracle/Exception.php'; - throw new Zend_Db_Adapter_Oracle_Exception("LIMIT argument count=$count is not valid"); - } - - $offset = intval($offset); - if ($offset < 0) { - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Adapter/Oracle/Exception.php'; - throw new Zend_Db_Adapter_Oracle_Exception("LIMIT argument offset=$offset is not valid"); - } - - /** - * Oracle does not implement the LIMIT clause as some RDBMS do. - * We have to simulate it with subqueries and ROWNUM. - * Unfortunately because we use the column wildcard "*", - * this puts an extra column into the query result set. - */ - $limit_sql = "SELECT z2.* - FROM ( - SELECT z1.*, ROWNUM AS \"zend_db_rownum\" - FROM ( - " . $sql . " - ) z1 - ) z2 - WHERE z2.\"zend_db_rownum\" BETWEEN " . ($offset+1) . " AND " . ($offset+$count); - return $limit_sql; - } - - /** - * @param integer $mode - * @throws Zend_Db_Adapter_Oracle_Exception - */ - private function _setExecuteMode($mode) - { - switch($mode) { - case OCI_COMMIT_ON_SUCCESS: - case OCI_DEFAULT: - case OCI_DESCRIBE_ONLY: - $this->_execute_mode = $mode; - break; - default: - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Adapter/Oracle/Exception.php'; - throw new Zend_Db_Adapter_Oracle_Exception("Invalid execution mode '$mode' specified"); - break; - } - } - - /** - * @return int - */ - public function _getExecuteMode() - { - return $this->_execute_mode; - } - - /** - * Inserts a table row with specified data. - * - * Oracle does not support anonymous ('?') binds. - * - * @param mixed $table The table to insert data into. - * @param array $bind Column-value pairs. - * @return int The number of affected rows. - */ - public function insert($table, array $bind) - { - $i = 0; - // extract and quote col names from the array keys - $cols = array(); - $vals = array(); - foreach ($bind as $col => $val) { - $cols[] = $this->quoteIdentifier($col, true); - if ($val instanceof Zend_Db_Expr) { - $vals[] = $val->__toString(); - unset($bind[$col]); - } else { - $vals[] = ':'.$col.$i; - unset($bind[$col]); - $bind[':'.$col.$i] = $val; - } - $i++; - } - - // build the statement - $sql = "INSERT INTO " - . $this->quoteIdentifier($table, true) - . ' (' . implode(', ', $cols) . ') ' - . 'VALUES (' . implode(', ', $vals) . ')'; - - // execute the statement and return the number of affected rows - $stmt = $this->query($sql, $bind); - $result = $stmt->rowCount(); - return $result; - } - - /** - * Check if the adapter supports real SQL parameters. - * - * @param string $type 'positional' or 'named' - * @return bool - */ - public function supportsParameters($type) - { - switch ($type) { - case 'named': - return true; - case 'positional': - default: - return false; - } - } - - /** - * Retrieve server version in PHP style - * - * @return string - */ - public function getServerVersion() - { - $this->_connect(); - $version = oci_server_version($this->_connection); - if ($version !== false) { - $matches = null; - if (preg_match('/((?:[0-9]{1,2}\.){1,3}[0-9]{1,2})/', $version, $matches)) { - return $matches[1]; - } else { - return null; - } - } else { - return null; - } - } -} diff --git a/lib/zend/Zend/Db/Adapter/Oracle/Exception.php b/lib/zend/Zend/Db/Adapter/Oracle/Exception.php deleted file mode 100644 index 5f4eaa46f5..0000000000 --- a/lib/zend/Zend/Db/Adapter/Oracle/Exception.php +++ /dev/null @@ -1,60 +0,0 @@ -message = $error['code'] .' '. $error['message']; - } else { - $this->message = $error['code'] .' '. $error['message']." " - . substr($error['sqltext'], 0, $error['offset']) - . "*" - . substr($error['sqltext'], $error['offset']); - } - $this->code = $error['code']; - } else if (is_string($error)) { - $this->message = $error; - } - if (!$this->code && $code) { - $this->code = $code; - } - } -} diff --git a/lib/zend/Zend/Db/Adapter/Pdo/Abstract.php b/lib/zend/Zend/Db/Adapter/Pdo/Abstract.php deleted file mode 100644 index 2be45427d9..0000000000 --- a/lib/zend/Zend/Db/Adapter/Pdo/Abstract.php +++ /dev/null @@ -1,401 +0,0 @@ -_config settings. - * - * @return string - */ - protected function _dsn() - { - // baseline of DSN parts - $dsn = $this->_config; - - // don't pass the username, password, charset, persistent and driver_options in the DSN - unset($dsn['username']); - unset($dsn['password']); - unset($dsn['options']); - unset($dsn['charset']); - unset($dsn['persistent']); - unset($dsn['driver_options']); - - // use all remaining parts in the DSN - foreach ($dsn as $key => $val) { - $dsn[$key] = "$key=$val"; - } - - return $this->_pdoType . ':' . implode(';', $dsn); - } - - /** - * Creates a PDO object and connects to the database. - * - * @return void - * @throws Zend_Db_Adapter_Exception - */ - protected function _connect() - { - // if we already have a PDO object, no need to re-connect. - if ($this->_connection) { - return; - } - - // get the dsn first, because some adapters alter the $_pdoType - $dsn = $this->_dsn(); - - // check for PDO extension - if (!extension_loaded('pdo')) { - /** - * @see Zend_Db_Adapter_Exception - */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception('The PDO extension is required for this adapter but the extension is not loaded'); - } - - // check the PDO driver is available - if (!in_array($this->_pdoType, PDO::getAvailableDrivers())) { - /** - * @see Zend_Db_Adapter_Exception - */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception('The ' . $this->_pdoType . ' driver is not currently installed'); - } - - // create PDO connection - $q = $this->_profiler->queryStart('connect', Zend_Db_Profiler::CONNECT); - - // add the persistence flag if we find it in our config array - if (isset($this->_config['persistent']) && ($this->_config['persistent'] == true)) { - $this->_config['driver_options'][PDO::ATTR_PERSISTENT] = true; - } - - try { - $this->_connection = new PDO( - $dsn, - $this->_config['username'], - $this->_config['password'], - $this->_config['driver_options'] - ); - - $this->_profiler->queryEnd($q); - - // set the PDO connection to perform case-folding on array keys, or not - $this->_connection->setAttribute(PDO::ATTR_CASE, $this->_caseFolding); - - // always use exceptions. - $this->_connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); - - } catch (PDOException $e) { - /** - * @see Zend_Db_Adapter_Exception - */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception($e->getMessage(), $e); - } - - } - - /** - * Test if a connection is active - * - * @return boolean - */ - public function isConnected() - { - return ((bool) ($this->_connection instanceof PDO)); - } - - /** - * Force the connection to close. - * - * @return void - */ - public function closeConnection() - { - $this->_connection = null; - } - - /** - * Prepares an SQL statement. - * - * @param string $sql The SQL statement with placeholders. - * @param array $bind An array of data to bind to the placeholders. - * @return PDOStatement - */ - public function prepare($sql) - { - $this->_connect(); - $stmtClass = $this->_defaultStmtClass; - if (!class_exists($stmtClass)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($stmtClass); - } - $stmt = new $stmtClass($this, $sql); - $stmt->setFetchMode($this->_fetchMode); - return $stmt; - } - - /** - * Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column. - * - * As a convention, on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2), this method forms the name of a sequence - * from the arguments and returns the last id generated by that sequence. - * On RDBMS brands that support IDENTITY/AUTOINCREMENT columns, this method - * returns the last value generated for such a column, and the table name - * argument is disregarded. - * - * On RDBMS brands that don't support sequences, $tableName and $primaryKey - * are ignored. - * - * @param string $tableName OPTIONAL Name of table. - * @param string $primaryKey OPTIONAL Name of primary key column. - * @return string - */ - public function lastInsertId($tableName = null, $primaryKey = null) - { - $this->_connect(); - return $this->_connection->lastInsertId(); - } - - /** - * Special handling for PDO query(). - * All bind parameter names must begin with ':' - * - * @param string|Zend_Db_Select $sql The SQL statement with placeholders. - * @param array $bind An array of data to bind to the placeholders. - * @return Zend_Db_Statement_Pdo - * @throws Zend_Db_Adapter_Exception To re-throw PDOException. - */ - public function query($sql, $bind = array()) - { - if (empty($bind) && $sql instanceof Zend_Db_Select) { - $bind = $sql->getBind(); - } - - if (is_array($bind)) { - foreach ($bind as $name => $value) { - if (!is_int($name) && !preg_match('/^:/', $name)) { - $newName = ":$name"; - unset($bind[$name]); - $bind[$newName] = $value; - } - } - } - - try { - return parent::query($sql, $bind); - } catch (PDOException $e) { - /** - * @see Zend_Db_Statement_Exception - */ - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Executes an SQL statement and return the number of affected rows - * - * @param mixed $sql The SQL statement with placeholders. - * May be a string or Zend_Db_Select. - * @return integer Number of rows that were modified - * or deleted by the SQL statement - */ - public function exec($sql) - { - if ($sql instanceof Zend_Db_Select) { - $sql = $sql->assemble(); - } - - try { - $affected = $this->getConnection()->exec($sql); - - if ($affected === false) { - $errorInfo = $this->getConnection()->errorInfo(); - /** - * @see Zend_Db_Adapter_Exception - */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception($errorInfo[2]); - } - - return $affected; - } catch (PDOException $e) { - /** - * @see Zend_Db_Adapter_Exception - */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception($e->getMessage(), $e); - } - } - - /** - * Quote a raw string. - * - * @param string $value Raw string - * @return string Quoted string - */ - protected function _quote($value) - { - if (is_int($value) || is_float($value)) { - return $value; - } - $this->_connect(); - return $this->_connection->quote($value); - } - - /** - * Begin a transaction. - */ - protected function _beginTransaction() - { - $this->_connect(); - $this->_connection->beginTransaction(); - } - - /** - * Commit a transaction. - */ - protected function _commit() - { - $this->_connect(); - $this->_connection->commit(); - } - - /** - * Roll-back a transaction. - */ - protected function _rollBack() { - $this->_connect(); - $this->_connection->rollBack(); - } - - /** - * Set the PDO fetch mode. - * - * @todo Support FETCH_CLASS and FETCH_INTO. - * - * @param int $mode A PDO fetch mode. - * @return void - * @throws Zend_Db_Adapter_Exception - */ - public function setFetchMode($mode) - { - //check for PDO extension - if (!extension_loaded('pdo')) { - /** - * @see Zend_Db_Adapter_Exception - */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception('The PDO extension is required for this adapter but the extension is not loaded'); - } - switch ($mode) { - case PDO::FETCH_LAZY: - case PDO::FETCH_ASSOC: - case PDO::FETCH_NUM: - case PDO::FETCH_BOTH: - case PDO::FETCH_NAMED: - case PDO::FETCH_OBJ: - $this->_fetchMode = $mode; - break; - default: - /** - * @see Zend_Db_Adapter_Exception - */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("Invalid fetch mode '$mode' specified"); - break; - } - } - - /** - * Check if the adapter supports real SQL parameters. - * - * @param string $type 'positional' or 'named' - * @return bool - */ - public function supportsParameters($type) - { - switch ($type) { - case 'positional': - case 'named': - default: - return true; - } - } - - /** - * Retrieve server version in PHP style - * - * @return string - */ - public function getServerVersion() - { - $this->_connect(); - try { - $version = $this->_connection->getAttribute(PDO::ATTR_SERVER_VERSION); - } catch (PDOException $e) { - // In case of the driver doesn't support getting attributes - return null; - } - $matches = null; - if (preg_match('/((?:[0-9]{1,2}\.){1,3}[0-9]{1,2})/', $version, $matches)) { - return $matches[1]; - } else { - return null; - } - } -} - diff --git a/lib/zend/Zend/Db/Adapter/Pdo/Ibm.php b/lib/zend/Zend/Db/Adapter/Pdo/Ibm.php deleted file mode 100644 index 8b1c429ad7..0000000000 --- a/lib/zend/Zend/Db/Adapter/Pdo/Ibm.php +++ /dev/null @@ -1,360 +0,0 @@ - Zend_Db::INT_TYPE, - Zend_Db::BIGINT_TYPE => Zend_Db::BIGINT_TYPE, - Zend_Db::FLOAT_TYPE => Zend_Db::FLOAT_TYPE, - 'INTEGER' => Zend_Db::INT_TYPE, - 'SMALLINT' => Zend_Db::INT_TYPE, - 'BIGINT' => Zend_Db::BIGINT_TYPE, - 'DECIMAL' => Zend_Db::FLOAT_TYPE, - 'DEC' => Zend_Db::FLOAT_TYPE, - 'REAL' => Zend_Db::FLOAT_TYPE, - 'NUMERIC' => Zend_Db::FLOAT_TYPE, - 'DOUBLE PRECISION' => Zend_Db::FLOAT_TYPE, - 'FLOAT' => Zend_Db::FLOAT_TYPE - ); - - /** - * Creates a PDO object and connects to the database. - * - * The IBM data server is set. - * Current options are DB2 or IDS - * @todo also differentiate between z/OS and i/5 - * - * @return void - * @throws Zend_Db_Adapter_Exception - */ - public function _connect() - { - if ($this->_connection) { - return; - } - parent::_connect(); - - $this->getConnection()->setAttribute(Zend_Db::ATTR_STRINGIFY_FETCHES, true); - - try { - if ($this->_serverType === null) { - $server = substr($this->getConnection()->getAttribute(PDO::ATTR_SERVER_INFO), 0, 3); - - switch ($server) { - case 'DB2': - $this->_serverType = new Zend_Db_Adapter_Pdo_Ibm_Db2($this); - - // Add DB2-specific numeric types - $this->_numericDataTypes['DECFLOAT'] = Zend_Db::FLOAT_TYPE; - $this->_numericDataTypes['DOUBLE'] = Zend_Db::FLOAT_TYPE; - $this->_numericDataTypes['NUM'] = Zend_Db::FLOAT_TYPE; - - break; - case 'IDS': - $this->_serverType = new Zend_Db_Adapter_Pdo_Ibm_Ids($this); - - // Add IDS-specific numeric types - $this->_numericDataTypes['SERIAL'] = Zend_Db::INT_TYPE; - $this->_numericDataTypes['SERIAL8'] = Zend_Db::BIGINT_TYPE; - $this->_numericDataTypes['INT8'] = Zend_Db::BIGINT_TYPE; - $this->_numericDataTypes['SMALLFLOAT'] = Zend_Db::FLOAT_TYPE; - $this->_numericDataTypes['MONEY'] = Zend_Db::FLOAT_TYPE; - - break; - } - } - } catch (PDOException $e) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - $error = strpos($e->getMessage(), 'driver does not support that attribute'); - if ($error) { - throw new Zend_Db_Adapter_Exception("PDO_IBM driver extension is downlevel. Please use driver release version 1.2.1 or later"); - } else { - throw new Zend_Db_Adapter_Exception($e->getMessage()); - } - } - } - - /** - * Creates a PDO DSN for the adapter from $this->_config settings. - * - * @return string - */ - protected function _dsn() - { - $this->_checkRequiredOptions($this->_config); - - // check if using full connection string - if (array_key_exists('host', $this->_config)) { - $dsn = ';DATABASE=' . $this->_config['dbname'] - . ';HOSTNAME=' . $this->_config['host'] - . ';PORT=' . $this->_config['port'] - // PDO_IBM supports only DB2 TCPIP protocol - . ';PROTOCOL=' . 'TCPIP;'; - } else { - // catalogued connection - $dsn = $this->_config['dbname']; - } - return $this->_pdoType . ': ' . $dsn; - } - - /** - * Checks required options - * - * @param array $config - * @throws Zend_Db_Adapter_Exception - * @return void - */ - protected function _checkRequiredOptions(array $config) - { - parent::_checkRequiredOptions($config); - - if (array_key_exists('host', $this->_config) && - !array_key_exists('port', $config)) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("Configuration must have a key for 'port' when 'host' is specified"); - } - } - - /** - * Prepares an SQL statement. - * - * @param string $sql The SQL statement with placeholders. - * @param array $bind An array of data to bind to the placeholders. - * @return PDOStatement - */ - public function prepare($sql) - { - $this->_connect(); - $stmtClass = $this->_defaultStmtClass; - $stmt = new $stmtClass($this, $sql); - $stmt->setFetchMode($this->_fetchMode); - return $stmt; - } - - /** - * Returns a list of the tables in the database. - * - * @return array - */ - public function listTables() - { - $this->_connect(); - return $this->_serverType->listTables(); - } - - /** - * Returns the column descriptions for a table. - * - * The return value is an associative array keyed by the column name, - * as returned by the RDBMS. - * - * The value of each array element is an associative array - * with the following keys: - * - * SCHEMA_NAME => string; name of database or schema - * TABLE_NAME => string; - * COLUMN_NAME => string; column name - * COLUMN_POSITION => number; ordinal position of column in table - * DATA_TYPE => string; SQL datatype name of column - * DEFAULT => string; default expression of column, null if none - * NULLABLE => boolean; true if column can have nulls - * LENGTH => number; length of CHAR/VARCHAR - * SCALE => number; scale of NUMERIC/DECIMAL - * PRECISION => number; precision of NUMERIC/DECIMAL - * UNSIGNED => boolean; unsigned property of an integer type - * PRIMARY => boolean; true if column is part of the primary key - * PRIMARY_POSITION => integer; position of column in primary key - * - * @todo Discover integer unsigned property. - * - * @param string $tableName - * @param string $schemaName OPTIONAL - * @return array - */ - public function describeTable($tableName, $schemaName = null) - { - $this->_connect(); - return $this->_serverType->describeTable($tableName, $schemaName); - } - - /** - * Inserts a table row with specified data. - * Special handling for PDO_IBM - * remove empty slots - * - * @param mixed $table The table to insert data into. - * @param array $bind Column-value pairs. - * @return int The number of affected rows. - */ - public function insert($table, array $bind) - { - $this->_connect(); - $newbind = array(); - if (is_array($bind)) { - foreach ($bind as $name => $value) { - if($value !== null) { - $newbind[$name] = $value; - } - } - } - - return parent::insert($table, $newbind); - } - - /** - * Adds an adapter-specific LIMIT clause to the SELECT statement. - * - * @param string $sql - * @param integer $count - * @param integer $offset OPTIONAL - * @return string - */ - public function limit($sql, $count, $offset = 0) - { - $this->_connect(); - return $this->_serverType->limit($sql, $count, $offset); - } - - /** - * Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT - * column. - * - * @param string $tableName OPTIONAL - * @param string $primaryKey OPTIONAL - * @return integer - */ - public function lastInsertId($tableName = null, $primaryKey = null) - { - $this->_connect(); - - if ($tableName !== null) { - $sequenceName = $tableName; - if ($primaryKey) { - $sequenceName .= "_$primaryKey"; - } - $sequenceName .= '_seq'; - return $this->lastSequenceId($sequenceName); - } - - $id = $this->getConnection()->lastInsertId(); - - return $id; - } - - /** - * Return the most recent value from the specified sequence in the database. - * - * @param string $sequenceName - * @return integer - */ - public function lastSequenceId($sequenceName) - { - $this->_connect(); - return $this->_serverType->lastSequenceId($sequenceName); - } - - /** - * Generate a new value from the specified sequence in the database, - * and return it. - * - * @param string $sequenceName - * @return integer - */ - public function nextSequenceId($sequenceName) - { - $this->_connect(); - return $this->_serverType->nextSequenceId($sequenceName); - } - - /** - * Retrieve server version in PHP style - * Pdo_Idm doesn't support getAttribute(PDO::ATTR_SERVER_VERSION) - * @return string - */ - public function getServerVersion() - { - try { - $stmt = $this->query('SELECT service_level, fixpack_num FROM TABLE (sysproc.env_get_inst_info()) as INSTANCEINFO'); - $result = $stmt->fetchAll(Zend_Db::FETCH_NUM); - if (count($result)) { - $matches = null; - if (preg_match('/((?:[0-9]{1,2}\.){1,3}[0-9]{1,2})/', $result[0][0], $matches)) { - return $matches[1]; - } else { - return null; - } - } - return null; - } catch (PDOException $e) { - return null; - } - } -} diff --git a/lib/zend/Zend/Db/Adapter/Pdo/Ibm/Db2.php b/lib/zend/Zend/Db/Adapter/Pdo/Ibm/Db2.php deleted file mode 100644 index 0c64700854..0000000000 --- a/lib/zend/Zend/Db/Adapter/Pdo/Ibm/Db2.php +++ /dev/null @@ -1,228 +0,0 @@ -_adapter = $adapter; - } - - /** - * Returns a list of the tables in the database. - * - * @return array - */ - public function listTables() - { - $sql = "SELECT tabname " - . "FROM SYSCAT.TABLES "; - return $this->_adapter->fetchCol($sql); - } - - /** - * DB2 catalog lookup for describe table - * - * @param string $tableName - * @param string $schemaName OPTIONAL - * @return array - */ - public function describeTable($tableName, $schemaName = null) - { - $sql = "SELECT DISTINCT c.tabschema, c.tabname, c.colname, c.colno, - c.typename, c.default, c.nulls, c.length, c.scale, - c.identity, tc.type AS tabconsttype, k.colseq - FROM syscat.columns c - LEFT JOIN (syscat.keycoluse k JOIN syscat.tabconst tc - ON (k.tabschema = tc.tabschema - AND k.tabname = tc.tabname - AND tc.type = 'P')) - ON (c.tabschema = k.tabschema - AND c.tabname = k.tabname - AND c.colname = k.colname) - WHERE " - . $this->_adapter->quoteInto('UPPER(c.tabname) = UPPER(?)', $tableName); - if ($schemaName) { - $sql .= $this->_adapter->quoteInto(' AND UPPER(c.tabschema) = UPPER(?)', $schemaName); - } - $sql .= " ORDER BY c.colno"; - - $desc = array(); - $stmt = $this->_adapter->query($sql); - - /** - * To avoid case issues, fetch using FETCH_NUM - */ - $result = $stmt->fetchAll(Zend_Db::FETCH_NUM); - - /** - * The ordering of columns is defined by the query so we can map - * to variables to improve readability - */ - $tabschema = 0; - $tabname = 1; - $colname = 2; - $colno = 3; - $typename = 4; - $default = 5; - $nulls = 6; - $length = 7; - $scale = 8; - $identityCol = 9; - $tabconstype = 10; - $colseq = 11; - - foreach ($result as $key => $row) { - list ($primary, $primaryPosition, $identity) = array(false, null, false); - if ($row[$tabconstype] == 'P') { - $primary = true; - $primaryPosition = $row[$colseq]; - } - /** - * In IBM DB2, an column can be IDENTITY - * even if it is not part of the PRIMARY KEY. - */ - if ($row[$identityCol] == 'Y') { - $identity = true; - } - - $desc[$this->_adapter->foldCase($row[$colname])] = array( - 'SCHEMA_NAME' => $this->_adapter->foldCase($row[$tabschema]), - 'TABLE_NAME' => $this->_adapter->foldCase($row[$tabname]), - 'COLUMN_NAME' => $this->_adapter->foldCase($row[$colname]), - 'COLUMN_POSITION' => $row[$colno]+1, - 'DATA_TYPE' => $row[$typename], - 'DEFAULT' => $row[$default], - 'NULLABLE' => (bool) ($row[$nulls] == 'Y'), - 'LENGTH' => $row[$length], - 'SCALE' => $row[$scale], - 'PRECISION' => ($row[$typename] == 'DECIMAL' ? $row[$length] : 0), - 'UNSIGNED' => false, - 'PRIMARY' => $primary, - 'PRIMARY_POSITION' => $primaryPosition, - 'IDENTITY' => $identity - ); - } - - return $desc; - } - - /** - * Adds a DB2-specific LIMIT clause to the SELECT statement. - * - * @param string $sql - * @param integer $count - * @param integer $offset OPTIONAL - * @throws Zend_Db_Adapter_Exception - * @return string - */ - public function limit($sql, $count, $offset = 0) - { - $count = intval($count); - if ($count < 0) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("LIMIT argument count=$count is not valid"); - } else { - $offset = intval($offset); - if ($offset < 0) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("LIMIT argument offset=$offset is not valid"); - } - - if ($offset == 0 && $count > 0) { - $limit_sql = $sql . " FETCH FIRST $count ROWS ONLY"; - return $limit_sql; - } - /** - * DB2 does not implement the LIMIT clause as some RDBMS do. - * We have to simulate it with subqueries and ROWNUM. - * Unfortunately because we use the column wildcard "*", - * this puts an extra column into the query result set. - */ - $limit_sql = "SELECT z2.* - FROM ( - SELECT ROW_NUMBER() OVER() AS \"ZEND_DB_ROWNUM\", z1.* - FROM ( - " . $sql . " - ) z1 - ) z2 - WHERE z2.zend_db_rownum BETWEEN " . ($offset+1) . " AND " . ($offset+$count); - } - return $limit_sql; - } - - /** - * DB2-specific last sequence id - * - * @param string $sequenceName - * @return integer - */ - public function lastSequenceId($sequenceName) - { - $sql = 'SELECT PREVVAL FOR '.$this->_adapter->quoteIdentifier($sequenceName).' AS VAL FROM SYSIBM.SYSDUMMY1'; - $value = $this->_adapter->fetchOne($sql); - return $value; - } - - /** - * DB2-specific sequence id value - * - * @param string $sequenceName - * @return integer - */ - public function nextSequenceId($sequenceName) - { - $sql = 'SELECT NEXTVAL FOR '.$this->_adapter->quoteIdentifier($sequenceName).' AS VAL FROM SYSIBM.SYSDUMMY1'; - $value = $this->_adapter->fetchOne($sql); - return $value; - } -} diff --git a/lib/zend/Zend/Db/Adapter/Pdo/Ibm/Ids.php b/lib/zend/Zend/Db/Adapter/Pdo/Ibm/Ids.php deleted file mode 100644 index 8ec33709fe..0000000000 --- a/lib/zend/Zend/Db/Adapter/Pdo/Ibm/Ids.php +++ /dev/null @@ -1,301 +0,0 @@ -_adapter = $adapter; - } - - /** - * Returns a list of the tables in the database. - * - * @return array - */ - public function listTables() - { - $sql = "SELECT tabname " - . "FROM systables "; - - return $this->_adapter->fetchCol($sql); - } - - /** - * IDS catalog lookup for describe table - * - * @param string $tableName - * @param string $schemaName OPTIONAL - * @return array - */ - public function describeTable($tableName, $schemaName = null) - { - // this is still a work in progress - - $sql= "SELECT DISTINCT t.owner, t.tabname, c.colname, c.colno, c.coltype, - d.default, c.collength, t.tabid - FROM syscolumns c - JOIN systables t ON c.tabid = t.tabid - LEFT JOIN sysdefaults d ON c.tabid = d.tabid AND c.colno = d.colno - WHERE " - . $this->_adapter->quoteInto('UPPER(t.tabname) = UPPER(?)', $tableName); - if ($schemaName) { - $sql .= $this->_adapter->quoteInto(' AND UPPER(t.owner) = UPPER(?)', $schemaName); - } - $sql .= " ORDER BY c.colno"; - - $desc = array(); - $stmt = $this->_adapter->query($sql); - - $result = $stmt->fetchAll(Zend_Db::FETCH_NUM); - - /** - * The ordering of columns is defined by the query so we can map - * to variables to improve readability - */ - $tabschema = 0; - $tabname = 1; - $colname = 2; - $colno = 3; - $typename = 4; - $default = 5; - $length = 6; - $tabid = 7; - - $primaryCols = null; - - foreach ($result as $key => $row) { - $primary = false; - $primaryPosition = null; - - if (!$primaryCols) { - $primaryCols = $this->_getPrimaryInfo($row[$tabid]); - } - - if (array_key_exists($row[$colno], $primaryCols)) { - $primary = true; - $primaryPosition = $primaryCols[$row[$colno]]; - } - - $identity = false; - if ($row[$typename] == 6 + 256 || - $row[$typename] == 18 + 256) { - $identity = true; - } - - $desc[$this->_adapter->foldCase($row[$colname])] = array ( - 'SCHEMA_NAME' => $this->_adapter->foldCase($row[$tabschema]), - 'TABLE_NAME' => $this->_adapter->foldCase($row[$tabname]), - 'COLUMN_NAME' => $this->_adapter->foldCase($row[$colname]), - 'COLUMN_POSITION' => $row[$colno], - 'DATA_TYPE' => $this->_getDataType($row[$typename]), - 'DEFAULT' => $row[$default], - 'NULLABLE' => (bool) !($row[$typename] - 256 >= 0), - 'LENGTH' => $row[$length], - 'SCALE' => ($row[$typename] == 5 ? $row[$length]&255 : 0), - 'PRECISION' => ($row[$typename] == 5 ? (int)($row[$length]/256) : 0), - 'UNSIGNED' => false, - 'PRIMARY' => $primary, - 'PRIMARY_POSITION' => $primaryPosition, - 'IDENTITY' => $identity - ); - } - - return $desc; - } - - /** - * Map number representation of a data type - * to a string - * - * @param int $typeNo - * @return string - */ - protected function _getDataType($typeNo) - { - $typemap = array( - 0 => "CHAR", - 1 => "SMALLINT", - 2 => "INTEGER", - 3 => "FLOAT", - 4 => "SMALLFLOAT", - 5 => "DECIMAL", - 6 => "SERIAL", - 7 => "DATE", - 8 => "MONEY", - 9 => "NULL", - 10 => "DATETIME", - 11 => "BYTE", - 12 => "TEXT", - 13 => "VARCHAR", - 14 => "INTERVAL", - 15 => "NCHAR", - 16 => "NVARCHAR", - 17 => "INT8", - 18 => "SERIAL8", - 19 => "SET", - 20 => "MULTISET", - 21 => "LIST", - 22 => "Unnamed ROW", - 40 => "Variable-length opaque type", - 4118 => "Named ROW" - ); - - if ($typeNo - 256 >= 0) { - $typeNo = $typeNo - 256; - } - - return $typemap[$typeNo]; - } - - /** - * Helper method to retrieve primary key column - * and column location - * - * @param int $tabid - * @return array - */ - protected function _getPrimaryInfo($tabid) - { - $sql = "SELECT i.part1, i.part2, i.part3, i.part4, i.part5, i.part6, - i.part7, i.part8, i.part9, i.part10, i.part11, i.part12, - i.part13, i.part14, i.part15, i.part16 - FROM sysindexes i - JOIN sysconstraints c ON c.idxname = i.idxname - WHERE i.tabid = " . $tabid . " AND c.constrtype = 'P'"; - - $stmt = $this->_adapter->query($sql); - $results = $stmt->fetchAll(); - - $cols = array(); - - // this should return only 1 row - // unless there is no primary key, - // in which case, the empty array is returned - if ($results) { - $row = $results[0]; - } else { - return $cols; - } - - $position = 0; - foreach ($row as $key => $colno) { - $position++; - if ($colno == 0) { - return $cols; - } else { - $cols[$colno] = $position; - } - } - } - - /** - * Adds an IDS-specific LIMIT clause to the SELECT statement. - * - * @param string $sql - * @param integer $count - * @param integer $offset OPTIONAL - * @throws Zend_Db_Adapter_Exception - * @return string - */ - public function limit($sql, $count, $offset = 0) - { - $count = intval($count); - if ($count < 0) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("LIMIT argument count=$count is not valid"); - } else if ($count == 0) { - $limit_sql = str_ireplace("SELECT", "SELECT * FROM (SELECT", $sql); - $limit_sql .= ") WHERE 0 = 1"; - } else { - $offset = intval($offset); - if ($offset < 0) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("LIMIT argument offset=$offset is not valid"); - } - if ($offset == 0) { - $limit_sql = str_ireplace("SELECT", "SELECT FIRST $count", $sql); - } else { - $limit_sql = str_ireplace("SELECT", "SELECT SKIP $offset LIMIT $count", $sql); - } - } - return $limit_sql; - } - - /** - * IDS-specific last sequence id - * - * @param string $sequenceName - * @return integer - */ - public function lastSequenceId($sequenceName) - { - $sql = 'SELECT '.$this->_adapter->quoteIdentifier($sequenceName).'.CURRVAL FROM ' - .'systables WHERE tabid = 1'; - $value = $this->_adapter->fetchOne($sql); - return $value; - } - - /** - * IDS-specific sequence id value - * - * @param string $sequenceName - * @return integer - */ - public function nextSequenceId($sequenceName) - { - $sql = 'SELECT '.$this->_adapter->quoteIdentifier($sequenceName).'.NEXTVAL FROM ' - .'systables WHERE tabid = 1'; - $value = $this->_adapter->fetchOne($sql); - return $value; - } -} diff --git a/lib/zend/Zend/Db/Adapter/Pdo/Mssql.php b/lib/zend/Zend/Db/Adapter/Pdo/Mssql.php deleted file mode 100644 index 57c06e0844..0000000000 --- a/lib/zend/Zend/Db/Adapter/Pdo/Mssql.php +++ /dev/null @@ -1,423 +0,0 @@ - Zend_Db::INT_TYPE, - Zend_Db::BIGINT_TYPE => Zend_Db::BIGINT_TYPE, - Zend_Db::FLOAT_TYPE => Zend_Db::FLOAT_TYPE, - 'INT' => Zend_Db::INT_TYPE, - 'SMALLINT' => Zend_Db::INT_TYPE, - 'TINYINT' => Zend_Db::INT_TYPE, - 'BIGINT' => Zend_Db::BIGINT_TYPE, - 'DECIMAL' => Zend_Db::FLOAT_TYPE, - 'FLOAT' => Zend_Db::FLOAT_TYPE, - 'MONEY' => Zend_Db::FLOAT_TYPE, - 'NUMERIC' => Zend_Db::FLOAT_TYPE, - 'REAL' => Zend_Db::FLOAT_TYPE, - 'SMALLMONEY' => Zend_Db::FLOAT_TYPE - ); - - /** - * Creates a PDO DSN for the adapter from $this->_config settings. - * - * @return string - */ - protected function _dsn() - { - // baseline of DSN parts - $dsn = $this->_config; - - // don't pass the username and password in the DSN - unset($dsn['username']); - unset($dsn['password']); - unset($dsn['options']); - unset($dsn['persistent']); - unset($dsn['driver_options']); - - if (isset($dsn['port'])) { - $seperator = ':'; - if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { - $seperator = ','; - } - $dsn['host'] .= $seperator . $dsn['port']; - unset($dsn['port']); - } - - // this driver supports multiple DSN prefixes - // @see http://www.php.net/manual/en/ref.pdo-dblib.connection.php - if (isset($dsn['pdoType'])) { - switch (strtolower($dsn['pdoType'])) { - case 'freetds': - case 'sybase': - $this->_pdoType = 'sybase'; - break; - case 'mssql': - $this->_pdoType = 'mssql'; - break; - case 'dblib': - default: - $this->_pdoType = 'dblib'; - break; - } - unset($dsn['pdoType']); - } - - // use all remaining parts in the DSN - foreach ($dsn as $key => $val) { - $dsn[$key] = "$key=$val"; - } - - $dsn = $this->_pdoType . ':' . implode(';', $dsn); - return $dsn; - } - - /** - * @return void - */ - protected function _connect() - { - if ($this->_connection) { - return; - } - parent::_connect(); - $this->_connection->exec('SET QUOTED_IDENTIFIER ON'); - } - - /** - * Begin a transaction. - * - * It is necessary to override the abstract PDO transaction functions here, as - * the PDO driver for MSSQL does not support transactions. - */ - protected function _beginTransaction() - { - $this->_connect(); - $this->_connection->exec('BEGIN TRANSACTION'); - return true; - } - - /** - * Commit a transaction. - * - * It is necessary to override the abstract PDO transaction functions here, as - * the PDO driver for MSSQL does not support transactions. - */ - protected function _commit() - { - $this->_connect(); - $this->_connection->exec('COMMIT TRANSACTION'); - return true; - } - - /** - * Roll-back a transaction. - * - * It is necessary to override the abstract PDO transaction functions here, as - * the PDO driver for MSSQL does not support transactions. - */ - protected function _rollBack() { - $this->_connect(); - $this->_connection->exec('ROLLBACK TRANSACTION'); - return true; - } - - /** - * Returns a list of the tables in the database. - * - * @return array - */ - public function listTables() - { - $sql = "SELECT name FROM sysobjects WHERE type = 'U' ORDER BY name"; - return $this->fetchCol($sql); - } - - /** - * Returns the column descriptions for a table. - * - * The return value is an associative array keyed by the column name, - * as returned by the RDBMS. - * - * The value of each array element is an associative array - * with the following keys: - * - * SCHEMA_NAME => string; name of database or schema - * TABLE_NAME => string; - * COLUMN_NAME => string; column name - * COLUMN_POSITION => number; ordinal position of column in table - * DATA_TYPE => string; SQL datatype name of column - * DEFAULT => string; default expression of column, null if none - * NULLABLE => boolean; true if column can have nulls - * LENGTH => number; length of CHAR/VARCHAR - * SCALE => number; scale of NUMERIC/DECIMAL - * PRECISION => number; precision of NUMERIC/DECIMAL - * UNSIGNED => boolean; unsigned property of an integer type - * PRIMARY => boolean; true if column is part of the primary key - * PRIMARY_POSITION => integer; position of column in primary key - * PRIMARY_AUTO => integer; position of auto-generated column in primary key - * - * @todo Discover column primary key position. - * @todo Discover integer unsigned property. - * - * @param string $tableName - * @param string $schemaName OPTIONAL - * @return array - */ - public function describeTable($tableName, $schemaName = null) - { - if ($schemaName != null) { - if (strpos($schemaName, '.') !== false) { - $result = explode('.', $schemaName); - $schemaName = $result[1]; - } - } - /** - * Discover metadata information about this table. - */ - $sql = "exec sp_columns @table_name = " . $this->quoteIdentifier($tableName, true); - if ($schemaName != null) { - $sql .= ", @table_owner = " . $this->quoteIdentifier($schemaName, true); - } - - $stmt = $this->query($sql); - $result = $stmt->fetchAll(Zend_Db::FETCH_NUM); - - $table_name = 2; - $column_name = 3; - $type_name = 5; - $precision = 6; - $length = 7; - $scale = 8; - $nullable = 10; - $column_def = 12; - $column_position = 16; - - /** - * Discover primary key column(s) for this table. - */ - $sql = "exec sp_pkeys @table_name = " . $this->quoteIdentifier($tableName, true); - if ($schemaName != null) { - $sql .= ", @table_owner = " . $this->quoteIdentifier($schemaName, true); - } - - $stmt = $this->query($sql); - $primaryKeysResult = $stmt->fetchAll(Zend_Db::FETCH_NUM); - $primaryKeyColumn = array(); - $pkey_column_name = 3; - $pkey_key_seq = 4; - foreach ($primaryKeysResult as $pkeysRow) { - $primaryKeyColumn[$pkeysRow[$pkey_column_name]] = $pkeysRow[$pkey_key_seq]; - } - - $desc = array(); - $p = 1; - foreach ($result as $key => $row) { - $identity = false; - $words = explode(' ', $row[$type_name], 2); - if (isset($words[0])) { - $type = $words[0]; - if (isset($words[1])) { - $identity = (bool) preg_match('/identity/', $words[1]); - } - } - - $isPrimary = array_key_exists($row[$column_name], $primaryKeyColumn); - if ($isPrimary) { - $primaryPosition = $primaryKeyColumn[$row[$column_name]]; - } else { - $primaryPosition = null; - } - - $desc[$this->foldCase($row[$column_name])] = array( - 'SCHEMA_NAME' => null, // @todo - 'TABLE_NAME' => $this->foldCase($row[$table_name]), - 'COLUMN_NAME' => $this->foldCase($row[$column_name]), - 'COLUMN_POSITION' => (int) $row[$column_position], - 'DATA_TYPE' => $type, - 'DEFAULT' => $row[$column_def], - 'NULLABLE' => (bool) $row[$nullable], - 'LENGTH' => $row[$length], - 'SCALE' => $row[$scale], - 'PRECISION' => $row[$precision], - 'UNSIGNED' => null, // @todo - 'PRIMARY' => $isPrimary, - 'PRIMARY_POSITION' => $primaryPosition, - 'IDENTITY' => $identity - ); - } - return $desc; - } - - /** - * Adds an adapter-specific LIMIT clause to the SELECT statement. - * - * @link http://lists.bestpractical.com/pipermail/rt-devel/2005-June/007339.html - * - * @param string $sql - * @param integer $count - * @param integer $offset OPTIONAL - * @throws Zend_Db_Adapter_Exception - * @return string - */ - public function limit($sql, $count, $offset = 0) - { - $count = intval($count); - if ($count <= 0) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("LIMIT argument count=$count is not valid"); - } - - $offset = intval($offset); - if ($offset < 0) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("LIMIT argument offset=$offset is not valid"); - } - - $sql = preg_replace( - '/^SELECT\s+(DISTINCT\s)?/i', - 'SELECT $1TOP ' . ($count+$offset) . ' ', - $sql - ); - - if ($offset > 0) { - $orderby = stristr($sql, 'ORDER BY'); - - if ($orderby !== false) { - $orderParts = explode(',', substr($orderby, 8)); - $pregReplaceCount = null; - $orderbyInverseParts = array(); - foreach ($orderParts as $orderPart) { - $orderPart = rtrim($orderPart); - $inv = preg_replace('/\s+desc$/i', ' ASC', $orderPart, 1, $pregReplaceCount); - if ($pregReplaceCount) { - $orderbyInverseParts[] = $inv; - continue; - } - $inv = preg_replace('/\s+asc$/i', ' DESC', $orderPart, 1, $pregReplaceCount); - if ($pregReplaceCount) { - $orderbyInverseParts[] = $inv; - continue; - } else { - $orderbyInverseParts[] = $orderPart . ' DESC'; - } - } - - $orderbyInverse = 'ORDER BY ' . implode(', ', $orderbyInverseParts); - } - - - - - $sql = 'SELECT * FROM (SELECT TOP ' . $count . ' * FROM (' . $sql . ') AS inner_tbl'; - if ($orderby !== false) { - $sql .= ' ' . $orderbyInverse . ' '; - } - $sql .= ') AS outer_tbl'; - if ($orderby !== false) { - $sql .= ' ' . $orderby; - } - } - - return $sql; - } - - /** - * Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column. - * - * As a convention, on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2), this method forms the name of a sequence - * from the arguments and returns the last id generated by that sequence. - * On RDBMS brands that support IDENTITY/AUTOINCREMENT columns, this method - * returns the last value generated for such a column, and the table name - * argument is disregarded. - * - * Microsoft SQL Server does not support sequences, so the arguments to - * this method are ignored. - * - * @param string $tableName OPTIONAL Name of table. - * @param string $primaryKey OPTIONAL Name of primary key column. - * @return string - * @throws Zend_Db_Adapter_Exception - */ - public function lastInsertId($tableName = null, $primaryKey = null) - { - $sql = 'SELECT SCOPE_IDENTITY()'; - return (int)$this->fetchOne($sql); - } - - /** - * Retrieve server version in PHP style - * Pdo_Mssql doesn't support getAttribute(PDO::ATTR_SERVER_VERSION) - * @return string - */ - public function getServerVersion() - { - try { - $stmt = $this->query("SELECT SERVERPROPERTY('productversion')"); - $result = $stmt->fetchAll(Zend_Db::FETCH_NUM); - if (count($result)) { - return $result[0][0]; - } - return null; - } catch (PDOException $e) { - return null; - } - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Db/Adapter/Pdo/Mysql.php b/lib/zend/Zend/Db/Adapter/Pdo/Mysql.php deleted file mode 100644 index 7c1af3b6b3..0000000000 --- a/lib/zend/Zend/Db/Adapter/Pdo/Mysql.php +++ /dev/null @@ -1,257 +0,0 @@ - Zend_Db::INT_TYPE, - Zend_Db::BIGINT_TYPE => Zend_Db::BIGINT_TYPE, - Zend_Db::FLOAT_TYPE => Zend_Db::FLOAT_TYPE, - 'INT' => Zend_Db::INT_TYPE, - 'INTEGER' => Zend_Db::INT_TYPE, - 'MEDIUMINT' => Zend_Db::INT_TYPE, - 'SMALLINT' => Zend_Db::INT_TYPE, - 'TINYINT' => Zend_Db::INT_TYPE, - 'BIGINT' => Zend_Db::BIGINT_TYPE, - 'SERIAL' => Zend_Db::BIGINT_TYPE, - 'DEC' => Zend_Db::FLOAT_TYPE, - 'DECIMAL' => Zend_Db::FLOAT_TYPE, - 'DOUBLE' => Zend_Db::FLOAT_TYPE, - 'DOUBLE PRECISION' => Zend_Db::FLOAT_TYPE, - 'FIXED' => Zend_Db::FLOAT_TYPE, - 'FLOAT' => Zend_Db::FLOAT_TYPE - ); - - /** - * Creates a PDO object and connects to the database. - * - * @return void - * @throws Zend_Db_Adapter_Exception - */ - protected function _connect() - { - if ($this->_connection) { - return; - } - - if (!empty($this->_config['charset'])) { - $initCommand = "SET NAMES '" . $this->_config['charset'] . "'"; - $this->_config['driver_options'][1002] = $initCommand; // 1002 = PDO::MYSQL_ATTR_INIT_COMMAND - } - - parent::_connect(); - } - - /** - * @return string - */ - public function getQuoteIdentifierSymbol() - { - return "`"; - } - - /** - * Returns a list of the tables in the database. - * - * @return array - */ - public function listTables() - { - return $this->fetchCol('SHOW TABLES'); - } - - /** - * Returns the column descriptions for a table. - * - * The return value is an associative array keyed by the column name, - * as returned by the RDBMS. - * - * The value of each array element is an associative array - * with the following keys: - * - * SCHEMA_NAME => string; name of database or schema - * TABLE_NAME => string; - * COLUMN_NAME => string; column name - * COLUMN_POSITION => number; ordinal position of column in table - * DATA_TYPE => string; SQL datatype name of column - * DEFAULT => string; default expression of column, null if none - * NULLABLE => boolean; true if column can have nulls - * LENGTH => number; length of CHAR/VARCHAR - * SCALE => number; scale of NUMERIC/DECIMAL - * PRECISION => number; precision of NUMERIC/DECIMAL - * UNSIGNED => boolean; unsigned property of an integer type - * PRIMARY => boolean; true if column is part of the primary key - * PRIMARY_POSITION => integer; position of column in primary key - * IDENTITY => integer; true if column is auto-generated with unique values - * - * @param string $tableName - * @param string $schemaName OPTIONAL - * @return array - */ - public function describeTable($tableName, $schemaName = null) - { - // @todo use INFORMATION_SCHEMA someday when MySQL's - // implementation has reasonably good performance and - // the version with this improvement is in wide use. - - if ($schemaName) { - $sql = 'DESCRIBE ' . $this->quoteIdentifier("$schemaName.$tableName", true); - } else { - $sql = 'DESCRIBE ' . $this->quoteIdentifier($tableName, true); - } - $stmt = $this->query($sql); - - // Use FETCH_NUM so we are not dependent on the CASE attribute of the PDO connection - $result = $stmt->fetchAll(Zend_Db::FETCH_NUM); - - $field = 0; - $type = 1; - $null = 2; - $key = 3; - $default = 4; - $extra = 5; - - $desc = array(); - $i = 1; - $p = 1; - foreach ($result as $row) { - list($length, $scale, $precision, $unsigned, $primary, $primaryPosition, $identity) - = array(null, null, null, null, false, null, false); - if (preg_match('/unsigned/', $row[$type])) { - $unsigned = true; - } - if (preg_match('/^((?:var)?char)\((\d+)\)/', $row[$type], $matches)) { - $row[$type] = $matches[1]; - $length = $matches[2]; - } else if (preg_match('/^decimal\((\d+),(\d+)\)/', $row[$type], $matches)) { - $row[$type] = 'decimal'; - $precision = $matches[1]; - $scale = $matches[2]; - } else if (preg_match('/^float\((\d+),(\d+)\)/', $row[$type], $matches)) { - $row[$type] = 'float'; - $precision = $matches[1]; - $scale = $matches[2]; - } else if (preg_match('/^((?:big|medium|small|tiny)?int)\((\d+)\)/', $row[$type], $matches)) { - $row[$type] = $matches[1]; - // The optional argument of a MySQL int type is not precision - // or length; it is only a hint for display width. - } - if (strtoupper($row[$key]) == 'PRI') { - $primary = true; - $primaryPosition = $p; - if ($row[$extra] == 'auto_increment') { - $identity = true; - } else { - $identity = false; - } - ++$p; - } - $desc[$this->foldCase($row[$field])] = array( - 'SCHEMA_NAME' => null, // @todo - 'TABLE_NAME' => $this->foldCase($tableName), - 'COLUMN_NAME' => $this->foldCase($row[$field]), - 'COLUMN_POSITION' => $i, - 'DATA_TYPE' => $row[$type], - 'DEFAULT' => $row[$default], - 'NULLABLE' => (bool) ($row[$null] == 'YES'), - 'LENGTH' => $length, - 'SCALE' => $scale, - 'PRECISION' => $precision, - 'UNSIGNED' => $unsigned, - 'PRIMARY' => $primary, - 'PRIMARY_POSITION' => $primaryPosition, - 'IDENTITY' => $identity - ); - ++$i; - } - return $desc; - } - - /** - * Adds an adapter-specific LIMIT clause to the SELECT statement. - * - * @param string $sql - * @param integer $count - * @param integer $offset OPTIONAL - * @throws Zend_Db_Adapter_Exception - * @return string - */ - public function limit($sql, $count, $offset = 0) - { - $count = intval($count); - if ($count <= 0) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("LIMIT argument count=$count is not valid"); - } - - $offset = intval($offset); - if ($offset < 0) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("LIMIT argument offset=$offset is not valid"); - } - - $sql .= " LIMIT $count"; - if ($offset > 0) { - $sql .= " OFFSET $offset"; - } - - return $sql; - } - -} diff --git a/lib/zend/Zend/Db/Adapter/Pdo/Oci.php b/lib/zend/Zend/Db/Adapter/Pdo/Oci.php deleted file mode 100644 index 8256ece0f9..0000000000 --- a/lib/zend/Zend/Db/Adapter/Pdo/Oci.php +++ /dev/null @@ -1,378 +0,0 @@ - Zend_Db::INT_TYPE, - Zend_Db::BIGINT_TYPE => Zend_Db::BIGINT_TYPE, - Zend_Db::FLOAT_TYPE => Zend_Db::FLOAT_TYPE, - 'BINARY_DOUBLE' => Zend_Db::FLOAT_TYPE, - 'BINARY_FLOAT' => Zend_Db::FLOAT_TYPE, - 'NUMBER' => Zend_Db::FLOAT_TYPE - ); - - /** - * Creates a PDO DSN for the adapter from $this->_config settings. - * - * @return string - */ - protected function _dsn() - { - // baseline of DSN parts - $dsn = $this->_config; - - if (isset($dsn['host'])) { - $tns = 'dbname=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)' . - '(HOST=' . $dsn['host'] . ')'; - - if (isset($dsn['port'])) { - $tns .= '(PORT=' . $dsn['port'] . ')'; - } else { - $tns .= '(PORT=1521)'; - } - - $tns .= '))(CONNECT_DATA=(SID=' . $dsn['dbname'] . ')))'; - } else { - $tns = 'dbname=' . $dsn['dbname']; - } - - if (isset($dsn['charset'])) { - $tns .= ';charset=' . $dsn['charset']; - } - - return $this->_pdoType . ':' . $tns; - } - - /** - * Quote a raw string. - * Most PDO drivers have an implementation for the quote() method, - * but the Oracle OCI driver must use the same implementation as the - * Zend_Db_Adapter_Abstract class. - * - * @param string $value Raw string - * @return string Quoted string - */ - protected function _quote($value) - { - if (is_int($value) || is_float($value)) { - return $value; - } - $value = str_replace("'", "''", $value); - return "'" . addcslashes($value, "\000\n\r\\\032") . "'"; - } - - /** - * Quote a table identifier and alias. - * - * @param string|array|Zend_Db_Expr $ident The identifier or expression. - * @param string $alias An alias for the table. - * @return string The quoted identifier and alias. - */ - public function quoteTableAs($ident, $alias = null, $auto = false) - { - // Oracle doesn't allow the 'AS' keyword between the table identifier/expression and alias. - return $this->_quoteIdentifierAs($ident, $alias, $auto, ' '); - } - - /** - * Returns a list of the tables in the database. - * - * @return array - */ - public function listTables() - { - $data = $this->fetchCol('SELECT table_name FROM all_tables'); - return $data; - } - - /** - * Returns the column descriptions for a table. - * - * The return value is an associative array keyed by the column name, - * as returned by the RDBMS. - * - * The value of each array element is an associative array - * with the following keys: - * - * SCHEMA_NAME => string; name of schema - * TABLE_NAME => string; - * COLUMN_NAME => string; column name - * COLUMN_POSITION => number; ordinal position of column in table - * DATA_TYPE => string; SQL datatype name of column - * DEFAULT => string; default expression of column, null if none - * NULLABLE => boolean; true if column can have nulls - * LENGTH => number; length of CHAR/VARCHAR - * SCALE => number; scale of NUMERIC/DECIMAL - * PRECISION => number; precision of NUMERIC/DECIMAL - * UNSIGNED => boolean; unsigned property of an integer type - * PRIMARY => boolean; true if column is part of the primary key - * PRIMARY_POSITION => integer; position of column in primary key - * IDENTITY => integer; true if column is auto-generated with unique values - * - * @todo Discover integer unsigned property. - * - * @param string $tableName - * @param string $schemaName OPTIONAL - * @return array - */ - public function describeTable($tableName, $schemaName = null) - { - $version = $this->getServerVersion(); - if (($version === null) || version_compare($version, '9.0.0', '>=')) { - $sql = "SELECT TC.TABLE_NAME, TC.OWNER, TC.COLUMN_NAME, TC.DATA_TYPE, - TC.DATA_DEFAULT, TC.NULLABLE, TC.COLUMN_ID, TC.DATA_LENGTH, - TC.DATA_SCALE, TC.DATA_PRECISION, C.CONSTRAINT_TYPE, CC.POSITION - FROM ALL_TAB_COLUMNS TC - LEFT JOIN (ALL_CONS_COLUMNS CC JOIN ALL_CONSTRAINTS C - ON (CC.CONSTRAINT_NAME = C.CONSTRAINT_NAME AND CC.TABLE_NAME = C.TABLE_NAME AND C.CONSTRAINT_TYPE = 'P')) - ON TC.TABLE_NAME = CC.TABLE_NAME AND TC.COLUMN_NAME = CC.COLUMN_NAME - WHERE UPPER(TC.TABLE_NAME) = UPPER(:TBNAME)"; - $bind[':TBNAME'] = $tableName; - if ($schemaName) { - $sql .= ' AND UPPER(TC.OWNER) = UPPER(:SCNAME)'; - $bind[':SCNAME'] = $schemaName; - } - $sql .= ' ORDER BY TC.COLUMN_ID'; - } else { - $subSql="SELECT AC.OWNER, AC.TABLE_NAME, ACC.COLUMN_NAME, AC.CONSTRAINT_TYPE, ACC.POSITION - from ALL_CONSTRAINTS AC, ALL_CONS_COLUMNS ACC - WHERE ACC.CONSTRAINT_NAME = AC.CONSTRAINT_NAME - AND ACC.TABLE_NAME = AC.TABLE_NAME - AND ACC.OWNER = AC.OWNER - AND AC.CONSTRAINT_TYPE = 'P' - AND UPPER(AC.TABLE_NAME) = UPPER(:TBNAME)"; - $bind[':TBNAME'] = $tableName; - if ($schemaName) { - $subSql .= ' AND UPPER(ACC.OWNER) = UPPER(:SCNAME)'; - $bind[':SCNAME'] = $schemaName; - } - $sql="SELECT TC.TABLE_NAME, TC.OWNER, TC.COLUMN_NAME, TC.DATA_TYPE, - TC.DATA_DEFAULT, TC.NULLABLE, TC.COLUMN_ID, TC.DATA_LENGTH, - TC.DATA_SCALE, TC.DATA_PRECISION, CC.CONSTRAINT_TYPE, CC.POSITION - FROM ALL_TAB_COLUMNS TC, ($subSql) CC - WHERE UPPER(TC.TABLE_NAME) = UPPER(:TBNAME) - AND TC.OWNER = CC.OWNER(+) AND TC.TABLE_NAME = CC.TABLE_NAME(+) AND TC.COLUMN_NAME = CC.COLUMN_NAME(+)"; - if ($schemaName) { - $sql .= ' AND UPPER(TC.OWNER) = UPPER(:SCNAME)'; - } - $sql .= ' ORDER BY TC.COLUMN_ID'; - } - - $stmt = $this->query($sql, $bind); - - /** - * Use FETCH_NUM so we are not dependent on the CASE attribute of the PDO connection - */ - $result = $stmt->fetchAll(Zend_Db::FETCH_NUM); - - $table_name = 0; - $owner = 1; - $column_name = 2; - $data_type = 3; - $data_default = 4; - $nullable = 5; - $column_id = 6; - $data_length = 7; - $data_scale = 8; - $data_precision = 9; - $constraint_type = 10; - $position = 11; - - $desc = array(); - foreach ($result as $key => $row) { - list ($primary, $primaryPosition, $identity) = array(false, null, false); - if ($row[$constraint_type] == 'P') { - $primary = true; - $primaryPosition = $row[$position]; - /** - * Oracle does not support auto-increment keys. - */ - $identity = false; - } - $desc[$this->foldCase($row[$column_name])] = array( - 'SCHEMA_NAME' => $this->foldCase($row[$owner]), - 'TABLE_NAME' => $this->foldCase($row[$table_name]), - 'COLUMN_NAME' => $this->foldCase($row[$column_name]), - 'COLUMN_POSITION' => $row[$column_id], - 'DATA_TYPE' => $row[$data_type], - 'DEFAULT' => $row[$data_default], - 'NULLABLE' => (bool) ($row[$nullable] == 'Y'), - 'LENGTH' => $row[$data_length], - 'SCALE' => $row[$data_scale], - 'PRECISION' => $row[$data_precision], - 'UNSIGNED' => null, // @todo - 'PRIMARY' => $primary, - 'PRIMARY_POSITION' => $primaryPosition, - 'IDENTITY' => $identity - ); - } - return $desc; - } - - /** - * Return the most recent value from the specified sequence in the database. - * This is supported only on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2). Other RDBMS brands return null. - * - * @param string $sequenceName - * @return integer - */ - public function lastSequenceId($sequenceName) - { - $this->_connect(); - $value = $this->fetchOne('SELECT '.$this->quoteIdentifier($sequenceName, true).'.CURRVAL FROM dual'); - return $value; - } - - /** - * Generate a new value from the specified sequence in the database, and return it. - * This is supported only on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2). Other RDBMS brands return null. - * - * @param string $sequenceName - * @return integer - */ - public function nextSequenceId($sequenceName) - { - $this->_connect(); - $value = $this->fetchOne('SELECT '.$this->quoteIdentifier($sequenceName, true).'.NEXTVAL FROM dual'); - return $value; - } - - /** - * Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column. - * - * As a convention, on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2), this method forms the name of a sequence - * from the arguments and returns the last id generated by that sequence. - * On RDBMS brands that support IDENTITY/AUTOINCREMENT columns, this method - * returns the last value generated for such a column, and the table name - * argument is disregarded. - * - * Oracle does not support IDENTITY columns, so if the sequence is not - * specified, this method returns null. - * - * @param string $tableName OPTIONAL Name of table. - * @param string $primaryKey OPTIONAL Name of primary key column. - * @return string - * @throws Zend_Db_Adapter_Oracle_Exception - */ - public function lastInsertId($tableName = null, $primaryKey = null) - { - if ($tableName !== null) { - $sequenceName = $tableName; - if ($primaryKey) { - $sequenceName .= $this->foldCase("_$primaryKey"); - } - $sequenceName .= $this->foldCase('_seq'); - return $this->lastSequenceId($sequenceName); - } - // No support for IDENTITY columns; return null - return null; - } - - /** - * Adds an adapter-specific LIMIT clause to the SELECT statement. - * - * @param string $sql - * @param integer $count - * @param integer $offset - * @throws Zend_Db_Adapter_Exception - * @return string - */ - public function limit($sql, $count, $offset = 0) - { - $count = intval($count); - if ($count <= 0) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("LIMIT argument count=$count is not valid"); - } - - $offset = intval($offset); - if ($offset < 0) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("LIMIT argument offset=$offset is not valid"); - } - - /** - * Oracle does not implement the LIMIT clause as some RDBMS do. - * We have to simulate it with subqueries and ROWNUM. - * Unfortunately because we use the column wildcard "*", - * this puts an extra column into the query result set. - */ - $limit_sql = "SELECT z2.* - FROM ( - SELECT z1.*, ROWNUM AS \"zend_db_rownum\" - FROM ( - " . $sql . " - ) z1 - ) z2 - WHERE z2.\"zend_db_rownum\" BETWEEN " . ($offset+1) . " AND " . ($offset+$count); - return $limit_sql; - } - -} diff --git a/lib/zend/Zend/Db/Adapter/Pdo/Pgsql.php b/lib/zend/Zend/Db/Adapter/Pdo/Pgsql.php deleted file mode 100644 index e07a9babf0..0000000000 --- a/lib/zend/Zend/Db/Adapter/Pdo/Pgsql.php +++ /dev/null @@ -1,326 +0,0 @@ - Zend_Db::INT_TYPE, - Zend_Db::BIGINT_TYPE => Zend_Db::BIGINT_TYPE, - Zend_Db::FLOAT_TYPE => Zend_Db::FLOAT_TYPE, - 'INTEGER' => Zend_Db::INT_TYPE, - 'SERIAL' => Zend_Db::INT_TYPE, - 'SMALLINT' => Zend_Db::INT_TYPE, - 'BIGINT' => Zend_Db::BIGINT_TYPE, - 'BIGSERIAL' => Zend_Db::BIGINT_TYPE, - 'DECIMAL' => Zend_Db::FLOAT_TYPE, - 'DOUBLE PRECISION' => Zend_Db::FLOAT_TYPE, - 'NUMERIC' => Zend_Db::FLOAT_TYPE, - 'REAL' => Zend_Db::FLOAT_TYPE - ); - - /** - * Creates a PDO object and connects to the database. - * - * @return void - * @throws Zend_Db_Adapter_Exception - */ - protected function _connect() - { - if ($this->_connection) { - return; - } - - parent::_connect(); - - if (!empty($this->_config['charset'])) { - $sql = "SET NAMES '" . $this->_config['charset'] . "'"; - $this->_connection->exec($sql); - } - } - - /** - * Returns a list of the tables in the database. - * - * @return array - */ - public function listTables() - { - // @todo use a better query with joins instead of subqueries - $sql = "SELECT c.relname AS table_name " - . "FROM pg_class c, pg_user u " - . "WHERE c.relowner = u.usesysid AND c.relkind = 'r' " - . "AND NOT EXISTS (SELECT 1 FROM pg_views WHERE viewname = c.relname) " - . "AND c.relname !~ '^(pg_|sql_)' " - . "UNION " - . "SELECT c.relname AS table_name " - . "FROM pg_class c " - . "WHERE c.relkind = 'r' " - . "AND NOT EXISTS (SELECT 1 FROM pg_views WHERE viewname = c.relname) " - . "AND NOT EXISTS (SELECT 1 FROM pg_user WHERE usesysid = c.relowner) " - . "AND c.relname !~ '^pg_'"; - - return $this->fetchCol($sql); - } - - /** - * Returns the column descriptions for a table. - * - * The return value is an associative array keyed by the column name, - * as returned by the RDBMS. - * - * The value of each array element is an associative array - * with the following keys: - * - * SCHEMA_NAME => string; name of database or schema - * TABLE_NAME => string; - * COLUMN_NAME => string; column name - * COLUMN_POSITION => number; ordinal position of column in table - * DATA_TYPE => string; SQL datatype name of column - * DEFAULT => string; default expression of column, null if none - * NULLABLE => boolean; true if column can have nulls - * LENGTH => number; length of CHAR/VARCHAR - * SCALE => number; scale of NUMERIC/DECIMAL - * PRECISION => number; precision of NUMERIC/DECIMAL - * UNSIGNED => boolean; unsigned property of an integer type - * PRIMARY => boolean; true if column is part of the primary key - * PRIMARY_POSITION => integer; position of column in primary key - * IDENTITY => integer; true if column is auto-generated with unique values - * - * @todo Discover integer unsigned property. - * - * @param string $tableName - * @param string $schemaName OPTIONAL - * @return array - */ - public function describeTable($tableName, $schemaName = null) - { - $sql = "SELECT - a.attnum, - n.nspname, - c.relname, - a.attname AS colname, - t.typname AS type, - a.atttypmod, - FORMAT_TYPE(a.atttypid, a.atttypmod) AS complete_type, - d.adsrc AS default_value, - a.attnotnull AS notnull, - a.attlen AS length, - co.contype, - ARRAY_TO_STRING(co.conkey, ',') AS conkey - FROM pg_attribute AS a - JOIN pg_class AS c ON a.attrelid = c.oid - JOIN pg_namespace AS n ON c.relnamespace = n.oid - JOIN pg_type AS t ON a.atttypid = t.oid - LEFT OUTER JOIN pg_constraint AS co ON (co.conrelid = c.oid - AND a.attnum = ANY(co.conkey) AND co.contype = 'p') - LEFT OUTER JOIN pg_attrdef AS d ON d.adrelid = c.oid AND d.adnum = a.attnum - WHERE a.attnum > 0 AND c.relname = ".$this->quote($tableName); - if ($schemaName) { - $sql .= " AND n.nspname = ".$this->quote($schemaName); - } - $sql .= ' ORDER BY a.attnum'; - - $stmt = $this->query($sql); - - // Use FETCH_NUM so we are not dependent on the CASE attribute of the PDO connection - $result = $stmt->fetchAll(Zend_Db::FETCH_NUM); - - $attnum = 0; - $nspname = 1; - $relname = 2; - $colname = 3; - $type = 4; - $atttypemod = 5; - $complete_type = 6; - $default_value = 7; - $notnull = 8; - $length = 9; - $contype = 10; - $conkey = 11; - - $desc = array(); - foreach ($result as $key => $row) { - if ($row[$type] == 'varchar') { - if (preg_match('/character varying(?:\((\d+)\))?/', $row[$complete_type], $matches)) { - if (isset($matches[1])) { - $row[$length] = $matches[1]; - } else { - $row[$length] = null; // unlimited - } - } - } - list($primary, $primaryPosition, $identity) = array(false, null, false); - if ($row[$contype] == 'p') { - $primary = true; - $primaryPosition = array_search($row[$attnum], explode(',', $row[$conkey])) + 1; - $identity = (bool) (preg_match('/^nextval/', $row[$default_value])); - } - $desc[$this->foldCase($row[$colname])] = array( - 'SCHEMA_NAME' => $this->foldCase($row[$nspname]), - 'TABLE_NAME' => $this->foldCase($row[$relname]), - 'COLUMN_NAME' => $this->foldCase($row[$colname]), - 'COLUMN_POSITION' => $row[$attnum], - 'DATA_TYPE' => $row[$type], - 'DEFAULT' => $row[$default_value], - 'NULLABLE' => (bool) ($row[$notnull] != 't'), - 'LENGTH' => $row[$length], - 'SCALE' => null, // @todo - 'PRECISION' => null, // @todo - 'UNSIGNED' => null, // @todo - 'PRIMARY' => $primary, - 'PRIMARY_POSITION' => $primaryPosition, - 'IDENTITY' => $identity - ); - } - return $desc; - } - - - /** - * Adds an adapter-specific LIMIT clause to the SELECT statement. - * - * @param string $sql - * @param integer $count - * @param integer $offset OPTIONAL - * @return string - */ - public function limit($sql, $count, $offset = 0) - { - $count = intval($count); - if ($count <= 0) { - /** - * @see Zend_Db_Adapter_Exception - */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("LIMIT argument count=$count is not valid"); - } - - $offset = intval($offset); - if ($offset < 0) { - /** - * @see Zend_Db_Adapter_Exception - */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("LIMIT argument offset=$offset is not valid"); - } - - $sql .= " LIMIT $count"; - if ($offset > 0) { - $sql .= " OFFSET $offset"; - } - - return $sql; - } - - /** - * Return the most recent value from the specified sequence in the database. - * This is supported only on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2). Other RDBMS brands return null. - * - * @param string $sequenceName - * @return string - */ - public function lastSequenceId($sequenceName) - { - $this->_connect(); - $value = $this->fetchOne("SELECT CURRVAL(".$this->quote($sequenceName).")"); - return $value; - } - - /** - * Generate a new value from the specified sequence in the database, and return it. - * This is supported only on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2). Other RDBMS brands return null. - * - * @param string $sequenceName - * @return string - */ - public function nextSequenceId($sequenceName) - { - $this->_connect(); - $value = $this->fetchOne("SELECT NEXTVAL(".$this->quote($sequenceName).")"); - return $value; - } - - /** - * Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column. - * - * As a convention, on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2), this method forms the name of a sequence - * from the arguments and returns the last id generated by that sequence. - * On RDBMS brands that support IDENTITY/AUTOINCREMENT columns, this method - * returns the last value generated for such a column, and the table name - * argument is disregarded. - * - * @param string $tableName OPTIONAL Name of table. - * @param string $primaryKey OPTIONAL Name of primary key column. - * @return string - */ - public function lastInsertId($tableName = null, $primaryKey = null) - { - if ($tableName !== null) { - $sequenceName = $tableName; - if ($primaryKey) { - $sequenceName .= "_$primaryKey"; - } - $sequenceName .= '_seq'; - return $this->lastSequenceId($sequenceName); - } - return $this->_connection->lastInsertId($tableName); - } - -} diff --git a/lib/zend/Zend/Db/Adapter/Pdo/Sqlite.php b/lib/zend/Zend/Db/Adapter/Pdo/Sqlite.php deleted file mode 100644 index 8aedbc88f1..0000000000 --- a/lib/zend/Zend/Db/Adapter/Pdo/Sqlite.php +++ /dev/null @@ -1,297 +0,0 @@ - Zend_Db::INT_TYPE, - Zend_Db::BIGINT_TYPE => Zend_Db::BIGINT_TYPE, - Zend_Db::FLOAT_TYPE => Zend_Db::FLOAT_TYPE, - 'INTEGER' => Zend_Db::BIGINT_TYPE, - 'REAL' => Zend_Db::FLOAT_TYPE - ); - - /** - * Constructor. - * - * $config is an array of key/value pairs containing configuration - * options. Note that the SQLite options are different than most of - * the other PDO adapters in that no username or password are needed. - * Also, an extra config key "sqlite2" specifies compatibility mode. - * - * dbname => (string) The name of the database to user (required, - * use :memory: for memory-based database) - * - * sqlite2 => (boolean) PDO_SQLITE defaults to SQLite 3. For compatibility - * with an older SQLite 2 database, set this to TRUE. - * - * @param array $config An array of configuration keys. - */ - public function __construct(array $config = array()) - { - if (isset($config['sqlite2']) && $config['sqlite2']) { - $this->_pdoType = 'sqlite2'; - } - - // SQLite uses no username/password. Stub to satisfy parent::_connect() - $this->_config['username'] = null; - $this->_config['password'] = null; - - return parent::__construct($config); - } - - /** - * Check for config options that are mandatory. - * Throw exceptions if any are missing. - * - * @param array $config - * @throws Zend_Db_Adapter_Exception - */ - protected function _checkRequiredOptions(array $config) - { - // we need at least a dbname - if (! array_key_exists('dbname', $config)) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("Configuration array must have a key for 'dbname' that names the database instance"); - } - } - - /** - * DSN builder - */ - protected function _dsn() - { - return $this->_pdoType .':'. $this->_config['dbname']; - } - - /** - * Special configuration for SQLite behavior: make sure that result sets - * contain keys like 'column' instead of 'table.column'. - * - * @throws Zend_Db_Adapter_Exception - */ - protected function _connect() - { - /** - * if we already have a PDO object, no need to re-connect. - */ - if ($this->_connection) { - return; - } - - parent::_connect(); - - $retval = $this->_connection->exec('PRAGMA full_column_names=0'); - if ($retval === false) { - $error = $this->_connection->errorInfo(); - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception($error[2]); - } - - $retval = $this->_connection->exec('PRAGMA short_column_names=1'); - if ($retval === false) { - $error = $this->_connection->errorInfo(); - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception($error[2]); - } - } - - /** - * Returns a list of the tables in the database. - * - * @return array - */ - public function listTables() - { - $sql = "SELECT name FROM sqlite_master WHERE type='table' " - . "UNION ALL SELECT name FROM sqlite_temp_master " - . "WHERE type='table' ORDER BY name"; - - return $this->fetchCol($sql); - } - - /** - * Returns the column descriptions for a table. - * - * The return value is an associative array keyed by the column name, - * as returned by the RDBMS. - * - * The value of each array element is an associative array - * with the following keys: - * - * SCHEMA_NAME => string; name of database or schema - * TABLE_NAME => string; - * COLUMN_NAME => string; column name - * COLUMN_POSITION => number; ordinal position of column in table - * DATA_TYPE => string; SQL datatype name of column - * DEFAULT => string; default expression of column, null if none - * NULLABLE => boolean; true if column can have nulls - * LENGTH => number; length of CHAR/VARCHAR - * SCALE => number; scale of NUMERIC/DECIMAL - * PRECISION => number; precision of NUMERIC/DECIMAL - * UNSIGNED => boolean; unsigned property of an integer type - * PRIMARY => boolean; true if column is part of the primary key - * PRIMARY_POSITION => integer; position of column in primary key - * IDENTITY => integer; true if column is auto-generated with unique values - * - * @param string $tableName - * @param string $schemaName OPTIONAL - * @return array - */ - public function describeTable($tableName, $schemaName = null) - { - $sql = 'PRAGMA '; - - if ($schemaName) { - $sql .= $this->quoteIdentifier($schemaName) . '.'; - } - - $sql .= 'table_info('.$this->quoteIdentifier($tableName).')'; - - $stmt = $this->query($sql); - - /** - * Use FETCH_NUM so we are not dependent on the CASE attribute of the PDO connection - */ - $result = $stmt->fetchAll(Zend_Db::FETCH_NUM); - - $cid = 0; - $name = 1; - $type = 2; - $notnull = 3; - $dflt_value = 4; - $pk = 5; - - $desc = array(); - - $p = 1; - foreach ($result as $key => $row) { - list($length, $scale, $precision, $primary, $primaryPosition, $identity) = - array(null, null, null, false, null, false); - if (preg_match('/^((?:var)?char)\((\d+)\)/i', $row[$type], $matches)) { - $row[$type] = $matches[1]; - $length = $matches[2]; - } else if (preg_match('/^decimal\((\d+),(\d+)\)/i', $row[$type], $matches)) { - $row[$type] = 'DECIMAL'; - $precision = $matches[1]; - $scale = $matches[2]; - } - if ((bool) $row[$pk]) { - $primary = true; - $primaryPosition = $p; - /** - * SQLite INTEGER primary key is always auto-increment. - */ - $identity = (bool) ($row[$type] == 'INTEGER'); - ++$p; - } - $desc[$this->foldCase($row[$name])] = array( - 'SCHEMA_NAME' => $this->foldCase($schemaName), - 'TABLE_NAME' => $this->foldCase($tableName), - 'COLUMN_NAME' => $this->foldCase($row[$name]), - 'COLUMN_POSITION' => $row[$cid]+1, - 'DATA_TYPE' => $row[$type], - 'DEFAULT' => $row[$dflt_value], - 'NULLABLE' => ! (bool) $row[$notnull], - 'LENGTH' => $length, - 'SCALE' => $scale, - 'PRECISION' => $precision, - 'UNSIGNED' => null, // Sqlite3 does not support unsigned data - 'PRIMARY' => $primary, - 'PRIMARY_POSITION' => $primaryPosition, - 'IDENTITY' => $identity - ); - } - return $desc; - } - - /** - * Adds an adapter-specific LIMIT clause to the SELECT statement. - * - * @param string $sql - * @param integer $count - * @param integer $offset OPTIONAL - * @return string - */ - public function limit($sql, $count, $offset = 0) - { - $count = intval($count); - if ($count <= 0) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("LIMIT argument count=$count is not valid"); - } - - $offset = intval($offset); - if ($offset < 0) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("LIMIT argument offset=$offset is not valid"); - } - - $sql .= " LIMIT $count"; - if ($offset > 0) { - $sql .= " OFFSET $offset"; - } - - return $sql; - } - -} diff --git a/lib/zend/Zend/Db/Adapter/Sqlsrv.php b/lib/zend/Zend/Db/Adapter/Sqlsrv.php deleted file mode 100644 index 3de2500ea1..0000000000 --- a/lib/zend/Zend/Db/Adapter/Sqlsrv.php +++ /dev/null @@ -1,661 +0,0 @@ - (string) Connect to the database as this username. - * password => (string) Password associated with the username. - * dbname => The name of the local SQL Server instance - * - * @var array - */ - protected $_config = array( - 'dbname' => null, - 'username' => null, - 'password' => null, - ); - - /** - * Last insert id from INSERT query - * - * @var int - */ - protected $_lastInsertId; - - /** - * Query used to fetch last insert id - * - * @var string - */ - protected $_lastInsertSQL = 'SELECT SCOPE_IDENTITY() as Current_Identity'; - - /** - * Keys are UPPERCASE SQL datatypes or the constants - * Zend_Db::INT_TYPE, Zend_Db::BIGINT_TYPE, or Zend_Db::FLOAT_TYPE. - * - * Values are: - * 0 = 32-bit integer - * 1 = 64-bit integer - * 2 = float or decimal - * - * @var array Associative array of datatypes to values 0, 1, or 2. - */ - protected $_numericDataTypes = array( - Zend_Db::INT_TYPE => Zend_Db::INT_TYPE, - Zend_Db::BIGINT_TYPE => Zend_Db::BIGINT_TYPE, - Zend_Db::FLOAT_TYPE => Zend_Db::FLOAT_TYPE, - 'INT' => Zend_Db::INT_TYPE, - 'SMALLINT' => Zend_Db::INT_TYPE, - 'TINYINT' => Zend_Db::INT_TYPE, - 'BIGINT' => Zend_Db::BIGINT_TYPE, - 'DECIMAL' => Zend_Db::FLOAT_TYPE, - 'FLOAT' => Zend_Db::FLOAT_TYPE, - 'MONEY' => Zend_Db::FLOAT_TYPE, - 'NUMERIC' => Zend_Db::FLOAT_TYPE, - 'REAL' => Zend_Db::FLOAT_TYPE, - 'SMALLMONEY' => Zend_Db::FLOAT_TYPE, - ); - - /** - * Default class name for a DB statement. - * - * @var string - */ - protected $_defaultStmtClass = 'Zend_Db_Statement_Sqlsrv'; - - /** - * Creates a connection resource. - * - * @return void - * @throws Zend_Db_Adapter_Sqlsrv_Exception - */ - protected function _connect() - { - if (is_resource($this->_connection)) { - // connection already exists - return; - } - - if (!extension_loaded('sqlsrv')) { - /** - * @see Zend_Db_Adapter_Sqlsrv_Exception - */ - require_once 'Zend/Db/Adapter/Sqlsrv/Exception.php'; - throw new Zend_Db_Adapter_Sqlsrv_Exception('The Sqlsrv extension is required for this adapter but the extension is not loaded'); - } - - $serverName = $this->_config['host']; - if (isset($this->_config['port'])) { - $port = (integer) $this->_config['port']; - $serverName .= ', ' . $port; - } - - $connectionInfo = array( - 'Database' => $this->_config['dbname'], - ); - - if (isset($this->_config['username']) && isset($this->_config['password'])) - { - $connectionInfo += array( - 'UID' => $this->_config['username'], - 'PWD' => $this->_config['password'], - ); - } - // else - windows authentication - - if (!empty($this->_config['driver_options'])) { - foreach ($this->_config['driver_options'] as $option => $value) { - // A value may be a constant. - if (is_string($value)) { - $constantValue = @constant(strtoupper($value)); - if ($constantValue === null) { - $connectionInfo[$option] = $value; - } else { - $connectionInfo[$option] = $constantValue; - } - } - } - } - - $this->_connection = sqlsrv_connect($serverName, $connectionInfo); - - if (!$this->_connection) { - /** - * @see Zend_Db_Adapter_Sqlsrv_Exception - */ - require_once 'Zend/Db/Adapter/Sqlsrv/Exception.php'; - throw new Zend_Db_Adapter_Sqlsrv_Exception(sqlsrv_errors()); - } - } - - /** - * Check for config options that are mandatory. - * Throw exceptions if any are missing. - * - * @param array $config - * @throws Zend_Db_Adapter_Exception - */ - protected function _checkRequiredOptions(array $config) - { - // we need at least a dbname - if (! array_key_exists('dbname', $config)) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("Configuration array must have a key for 'dbname' that names the database instance"); - } - - if (! array_key_exists('password', $config) && array_key_exists('username', $config)) { - /** - * @see Zend_Db_Adapter_Exception - */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("Configuration array must have a key for 'password' for login credentials. - If Windows Authentication is desired, both keys 'username' and 'password' should be ommited from config."); - } - - if (array_key_exists('password', $config) && !array_key_exists('username', $config)) { - /** - * @see Zend_Db_Adapter_Exception - */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("Configuration array must have a key for 'username' for login credentials. - If Windows Authentication is desired, both keys 'username' and 'password' should be ommited from config."); - } - } - - /** - * Set the transaction isoltion level. - * - * @param integer|null $level A fetch mode from SQLSRV_TXN_*. - * @return true - * @throws Zend_Db_Adapter_Sqlsrv_Exception - */ - public function setTransactionIsolationLevel($level = null) - { - $this->_connect(); - $sql = null; - - // Default transaction level in sql server - if ($level === null) - { - $level = SQLSRV_TXN_READ_COMMITTED; - } - - switch ($level) { - case SQLSRV_TXN_READ_UNCOMMITTED: - $sql = "READ UNCOMMITTED"; - break; - case SQLSRV_TXN_READ_COMMITTED: - $sql = "READ COMMITTED"; - break; - case SQLSRV_TXN_REPEATABLE_READ: - $sql = "REPEATABLE READ"; - break; - case SQLSRV_TXN_SNAPSHOT: - $sql = "SNAPSHOT"; - break; - case SQLSRV_TXN_SERIALIZABLE: - $sql = "SERIALIZABLE"; - break; - default: - require_once 'Zend/Db/Adapter/Sqlsrv/Exception.php'; - throw new Zend_Db_Adapter_Sqlsrv_Exception("Invalid transaction isolation level mode '$level' specified"); - } - - if (!sqlsrv_query($this->_connection, "SET TRANSACTION ISOLATION LEVEL $sql;")) { - require_once 'Zend/Db/Adapter/Sqlsrv/Exception.php'; - throw new Zend_Db_Adapter_Sqlsrv_Exception("Transaction cannot be changed to '$level'"); - } - - return true; - } - - /** - * Test if a connection is active - * - * @return boolean - */ - public function isConnected() - { - return (is_resource($this->_connection) - && (get_resource_type($this->_connection) == 'SQL Server Connection') - ); - } - - /** - * Force the connection to close. - * - * @return void - */ - public function closeConnection() - { - if ($this->isConnected()) { - sqlsrv_close($this->_connection); - } - $this->_connection = null; - } - - /** - * Returns an SQL statement for preparation. - * - * @param string $sql The SQL statement with placeholders. - * @return Zend_Db_Statement_Sqlsrv - */ - public function prepare($sql) - { - $this->_connect(); - $stmtClass = $this->_defaultStmtClass; - - if (!class_exists($stmtClass)) { - /** - * @see Zend_Loader - */ - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($stmtClass); - } - - $stmt = new $stmtClass($this, $sql); - $stmt->setFetchMode($this->_fetchMode); - return $stmt; - } - - /** - * Quote a raw string. - * - * @param string $value Raw string - * @return string Quoted string - */ - protected function _quote($value) - { - if (is_int($value)) { - return $value; - } elseif (is_float($value)) { - return sprintf('%F', $value); - } - - return "'" . str_replace("'", "''", $value) . "'"; - } - - /** - * Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column. - * - * As a convention, on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2), this method forms the name of a sequence - * from the arguments and returns the last id generated by that sequence. - * On RDBMS brands that support IDENTITY/AUTOINCREMENT columns, this method - * returns the last value generated for such a column, and the table name - * argument is disregarded. - * - * @param string $tableName OPTIONAL Name of table. - * @param string $primaryKey OPTIONAL Name of primary key column. - * @return string - */ - public function lastInsertId($tableName = null, $primaryKey = null) - { - if ($tableName) { - $tableName = $this->quote($tableName); - $sql = 'SELECT IDENT_CURRENT (' . $tableName . ') as Current_Identity'; - return (string) $this->fetchOne($sql); - } - - if ($this->_lastInsertId > 0) { - return (string) $this->_lastInsertId; - } - - $sql = $this->_lastInsertSQL; - return (string) $this->fetchOne($sql); - } - - /** - * Inserts a table row with specified data. - * - * @param mixed $table The table to insert data into. - * @param array $bind Column-value pairs. - * @return int The number of affected rows. - */ - public function insert($table, array $bind) - { - // extract and quote col names from the array keys - $cols = array(); - $vals = array(); - foreach ($bind as $col => $val) { - $cols[] = $this->quoteIdentifier($col, true); - if ($val instanceof Zend_Db_Expr) { - $vals[] = $val->__toString(); - unset($bind[$col]); - } else { - $vals[] = '?'; - } - } - - // build the statement - $sql = "INSERT INTO " - . $this->quoteIdentifier($table, true) - . ' (' . implode(', ', $cols) . ') ' - . 'VALUES (' . implode(', ', $vals) . ')' - . ' ' . $this->_lastInsertSQL; - - // execute the statement and return the number of affected rows - $stmt = $this->query($sql, array_values($bind)); - $result = $stmt->rowCount(); - - $stmt->nextRowset(); - - $this->_lastInsertId = $stmt->fetchColumn(); - - return $result; - } - - /** - * Returns a list of the tables in the database. - * - * @return array - */ - public function listTables() - { - $this->_connect(); - $sql = "SELECT name FROM sysobjects WHERE type = 'U' ORDER BY name"; - return $this->fetchCol($sql); - } - - /** - * Returns the column descriptions for a table. - * - * The return value is an associative array keyed by the column name, - * as returned by the RDBMS. - * - * The value of each array element is an associative array - * with the following keys: - * - * SCHEMA_NAME => string; name of schema - * TABLE_NAME => string; - * COLUMN_NAME => string; column name - * COLUMN_POSITION => number; ordinal position of column in table - * DATA_TYPE => string; SQL datatype name of column - * DEFAULT => string; default expression of column, null if none - * NULLABLE => boolean; true if column can have nulls - * LENGTH => number; length of CHAR/VARCHAR - * SCALE => number; scale of NUMERIC/DECIMAL - * PRECISION => number; precision of NUMERIC/DECIMAL - * UNSIGNED => boolean; unsigned property of an integer type - * PRIMARY => boolean; true if column is part of the primary key - * PRIMARY_POSITION => integer; position of column in primary key - * IDENTITY => integer; true if column is auto-generated with unique values - * - * @todo Discover integer unsigned property. - * - * @param string $tableName - * @param string $schemaName OPTIONAL - * @return array - */ - public function describeTable($tableName, $schemaName = null) - { - /** - * Discover metadata information about this table. - */ - $sql = "exec sp_columns @table_name = " . $this->quoteIdentifier($tableName, true); - $stmt = $this->query($sql); - $result = $stmt->fetchAll(Zend_Db::FETCH_NUM); - - $owner = 1; - $table_name = 2; - $column_name = 3; - $type_name = 5; - $precision = 6; - $length = 7; - $scale = 8; - $nullable = 10; - $column_def = 12; - $column_position = 16; - - /** - * Discover primary key column(s) for this table. - */ - $tableOwner = $result[0][$owner]; - $sql = "exec sp_pkeys @table_owner = " . $tableOwner - . ", @table_name = " . $this->quoteIdentifier($tableName, true); - $stmt = $this->query($sql); - - $primaryKeysResult = $stmt->fetchAll(Zend_Db::FETCH_NUM); - $primaryKeyColumn = array(); - - // Per http://msdn.microsoft.com/en-us/library/ms189813.aspx, - // results from sp_keys stored procedure are: - // 0=TABLE_QUALIFIER 1=TABLE_OWNER 2=TABLE_NAME 3=COLUMN_NAME 4=KEY_SEQ 5=PK_NAME - - $pkey_column_name = 3; - $pkey_key_seq = 4; - foreach ($primaryKeysResult as $pkeysRow) { - $primaryKeyColumn[$pkeysRow[$pkey_column_name]] = $pkeysRow[$pkey_key_seq]; - } - - $desc = array(); - $p = 1; - foreach ($result as $key => $row) { - $identity = false; - $words = explode(' ', $row[$type_name], 2); - if (isset($words[0])) { - $type = $words[0]; - if (isset($words[1])) { - $identity = (bool) preg_match('/identity/', $words[1]); - } - } - - $isPrimary = array_key_exists($row[$column_name], $primaryKeyColumn); - if ($isPrimary) { - $primaryPosition = $primaryKeyColumn[$row[$column_name]]; - } else { - $primaryPosition = null; - } - - $desc[$this->foldCase($row[$column_name])] = array( - 'SCHEMA_NAME' => null, // @todo - 'TABLE_NAME' => $this->foldCase($row[$table_name]), - 'COLUMN_NAME' => $this->foldCase($row[$column_name]), - 'COLUMN_POSITION' => (int) $row[$column_position], - 'DATA_TYPE' => $type, - 'DEFAULT' => $row[$column_def], - 'NULLABLE' => (bool) $row[$nullable], - 'LENGTH' => $row[$length], - 'SCALE' => $row[$scale], - 'PRECISION' => $row[$precision], - 'UNSIGNED' => null, // @todo - 'PRIMARY' => $isPrimary, - 'PRIMARY_POSITION' => $primaryPosition, - 'IDENTITY' => $identity, - ); - } - - return $desc; - } - - /** - * Leave autocommit mode and begin a transaction. - * - * @return void - * @throws Zend_Db_Adapter_Sqlsrv_Exception - */ - protected function _beginTransaction() - { - if (!sqlsrv_begin_transaction($this->_connection)) { - require_once 'Zend/Db/Adapter/Sqlsrv/Exception.php'; - throw new Zend_Db_Adapter_Sqlsrv_Exception(sqlsrv_errors()); - } - } - - /** - * Commit a transaction and return to autocommit mode. - * - * @return void - * @throws Zend_Db_Adapter_Sqlsrv_Exception - */ - protected function _commit() - { - if (!sqlsrv_commit($this->_connection)) { - require_once 'Zend/Db/Adapter/Sqlsrv/Exception.php'; - throw new Zend_Db_Adapter_Sqlsrv_Exception(sqlsrv_errors()); - } - } - - /** - * Roll back a transaction and return to autocommit mode. - * - * @return void - * @throws Zend_Db_Adapter_Sqlsrv_Exception - */ - protected function _rollBack() - { - if (!sqlsrv_rollback($this->_connection)) { - require_once 'Zend/Db/Adapter/Sqlsrv/Exception.php'; - throw new Zend_Db_Adapter_Sqlsrv_Exception(sqlsrv_errors()); - } - } - - /** - * Set the fetch mode. - * - * @todo Support FETCH_CLASS and FETCH_INTO. - * - * @param integer $mode A fetch mode. - * @return void - * @throws Zend_Db_Adapter_Sqlsrv_Exception - */ - public function setFetchMode($mode) - { - switch ($mode) { - case Zend_Db::FETCH_NUM: // seq array - case Zend_Db::FETCH_ASSOC: // assoc array - case Zend_Db::FETCH_BOTH: // seq+assoc array - case Zend_Db::FETCH_OBJ: // object - $this->_fetchMode = $mode; - break; - case Zend_Db::FETCH_BOUND: // bound to PHP variable - require_once 'Zend/Db/Adapter/Sqlsrv/Exception.php'; - throw new Zend_Db_Adapter_Sqlsrv_Exception('FETCH_BOUND is not supported yet'); - break; - default: - require_once 'Zend/Db/Adapter/Sqlsrv/Exception.php'; - throw new Zend_Db_Adapter_Sqlsrv_Exception("Invalid fetch mode '$mode' specified"); - break; - } - } - - /** - * Adds an adapter-specific LIMIT clause to the SELECT statement. - * - * @param string $sql - * @param integer $count - * @param integer $offset OPTIONAL - * @return string - * @throws Zend_Db_Adapter_Sqlsrv_Exception - */ - public function limit($sql, $count, $offset = 0) - { - $count = intval($count); - if ($count <= 0) { - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("LIMIT argument count=$count is not valid"); - } - - $offset = intval($offset); - if ($offset < 0) { - /** @see Zend_Db_Adapter_Exception */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("LIMIT argument offset=$offset is not valid"); - } - - $orderby = stristr($sql, 'ORDER BY'); - if ($orderby !== false) { - $sort = (stripos($orderby, ' desc') !== false) ? 'desc' : 'asc'; - $order = str_ireplace('ORDER BY', '', $orderby); - $order = trim(preg_replace('/\bASC\b|\bDESC\b/i', '', $order)); - } - - $sql = preg_replace('/^SELECT\s/i', 'SELECT TOP ' . ($count+$offset) . ' ', $sql); - - $sql = 'SELECT * FROM (SELECT TOP ' . $count . ' * FROM (' . $sql . ') AS inner_tbl'; - if ($orderby !== false) { - $sql .= ' ORDER BY ' . $order . ' '; - $sql .= (stripos($sort, 'asc') !== false) ? 'DESC' : 'ASC'; - } - $sql .= ') AS outer_tbl'; - if ($orderby !== false) { - $sql .= ' ORDER BY ' . $order . ' ' . $sort; - } - - return $sql; - } - - /** - * Check if the adapter supports real SQL parameters. - * - * @param string $type 'positional' or 'named' - * @return bool - */ - public function supportsParameters($type) - { - if ($type == 'positional') { - return true; - } - - // if its 'named' or anything else - return false; - } - - /** - * Retrieve server version in PHP style - * - * @return string - */ - public function getServerVersion() - { - $this->_connect(); - $version = sqlsrv_client_info($this->_connection); - - if ($version !== false) { - return $version['DriverVer']; - } - - return null; - } -} diff --git a/lib/zend/Zend/Db/Adapter/Sqlsrv/Exception.php b/lib/zend/Zend/Db/Adapter/Sqlsrv/Exception.php deleted file mode 100644 index a07b3eb9a3..0000000000 --- a/lib/zend/Zend/Db/Adapter/Sqlsrv/Exception.php +++ /dev/null @@ -1,63 +0,0 @@ -_expression = (string) $expression; - } - - /** - * @return string The string of the SQL expression stored in this object. - */ - public function __toString() - { - return $this->_expression; - } - -} diff --git a/lib/zend/Zend/Db/Profiler.php b/lib/zend/Zend/Db/Profiler.php deleted file mode 100644 index e031d8a977..0000000000 --- a/lib/zend/Zend/Db/Profiler.php +++ /dev/null @@ -1,460 +0,0 @@ -setEnabled($enabled); - } - - /** - * Enable or disable the profiler. If $enable is false, the profiler - * is disabled and will not log any queries sent to it. - * - * @param boolean $enable - * @return Zend_Db_Profiler Provides a fluent interface - */ - public function setEnabled($enable) - { - $this->_enabled = (boolean) $enable; - - return $this; - } - - /** - * Get the current state of enable. If True is returned, - * the profiler is enabled. - * - * @return boolean - */ - public function getEnabled() - { - return $this->_enabled; - } - - /** - * Sets a minimum number of seconds for saving query profiles. If this - * is set, only those queries whose elapsed time is equal or greater than - * $minimumSeconds will be saved. To save all queries regardless of - * elapsed time, set $minimumSeconds to null. - * - * @param integer $minimumSeconds OPTIONAL - * @return Zend_Db_Profiler Provides a fluent interface - */ - public function setFilterElapsedSecs($minimumSeconds = null) - { - if (null === $minimumSeconds) { - $this->_filterElapsedSecs = null; - } else { - $this->_filterElapsedSecs = (integer) $minimumSeconds; - } - - return $this; - } - - /** - * Returns the minimum number of seconds for saving query profiles, or null if - * query profiles are saved regardless of elapsed time. - * - * @return integer|null - */ - public function getFilterElapsedSecs() - { - return $this->_filterElapsedSecs; - } - - /** - * Sets the types of query profiles to save. Set $queryType to one of - * the Zend_Db_Profiler::* constants to only save profiles for that type of - * query. To save more than one type, logical OR them together. To - * save all queries regardless of type, set $queryType to null. - * - * @param integer $queryTypes OPTIONAL - * @return Zend_Db_Profiler Provides a fluent interface - */ - public function setFilterQueryType($queryTypes = null) - { - $this->_filterTypes = $queryTypes; - - return $this; - } - - /** - * Returns the types of query profiles saved, or null if queries are saved regardless - * of their types. - * - * @return integer|null - * @see Zend_Db_Profiler::setFilterQueryType() - */ - public function getFilterQueryType() - { - return $this->_filterTypes; - } - - /** - * Clears the history of any past query profiles. This is relentless - * and will even clear queries that were started and may not have - * been marked as ended. - * - * @return Zend_Db_Profiler Provides a fluent interface - */ - public function clear() - { - $this->_queryProfiles = array(); - - return $this; - } - - /** - * @param integer $queryId - * @return integer or null - */ - public function queryClone(Zend_Db_Profiler_Query $query) - { - $this->_queryProfiles[] = clone $query; - - end($this->_queryProfiles); - - return key($this->_queryProfiles); - } - - /** - * Starts a query. Creates a new query profile object (Zend_Db_Profiler_Query) - * and returns the "query profiler handle". Run the query, then call - * queryEnd() and pass it this handle to make the query as ended and - * record the time. If the profiler is not enabled, this takes no - * action and immediately returns null. - * - * @param string $queryText SQL statement - * @param integer $queryType OPTIONAL Type of query, one of the Zend_Db_Profiler::* constants - * @return integer|null - */ - public function queryStart($queryText, $queryType = null) - { - if (!$this->_enabled) { - return null; - } - - // make sure we have a query type - if (null === $queryType) { - switch (strtolower(substr(ltrim($queryText), 0, 6))) { - case 'insert': - $queryType = self::INSERT; - break; - case 'update': - $queryType = self::UPDATE; - break; - case 'delete': - $queryType = self::DELETE; - break; - case 'select': - $queryType = self::SELECT; - break; - default: - $queryType = self::QUERY; - break; - } - } - - /** - * @see Zend_Db_Profiler_Query - */ - require_once 'Zend/Db/Profiler/Query.php'; - $this->_queryProfiles[] = new Zend_Db_Profiler_Query($queryText, $queryType); - - end($this->_queryProfiles); - - return key($this->_queryProfiles); - } - - /** - * Ends a query. Pass it the handle that was returned by queryStart(). - * This will mark the query as ended and save the time. - * - * @param integer $queryId - * @throws Zend_Db_Profiler_Exception - * @return void - */ - public function queryEnd($queryId) - { - // Don't do anything if the Zend_Db_Profiler is not enabled. - if (!$this->_enabled) { - return; - } - - // Check for a valid query handle. - if (!isset($this->_queryProfiles[$queryId])) { - /** - * @see Zend_Db_Profiler_Exception - */ - require_once 'Zend/Db/Profiler/Exception.php'; - throw new Zend_Db_Profiler_Exception("Profiler has no query with handle '$queryId'."); - } - - $qp = $this->_queryProfiles[$queryId]; - - // Ensure that the query profile has not already ended - if ($qp->hasEnded()) { - /** - * @see Zend_Db_Profiler_Exception - */ - require_once 'Zend/Db/Profiler/Exception.php'; - throw new Zend_Db_Profiler_Exception("Query with profiler handle '$queryId' has already ended."); - } - - // End the query profile so that the elapsed time can be calculated. - $qp->end(); - - /** - * If filtering by elapsed time is enabled, only keep the profile if - * it ran for the minimum time. - */ - if (null !== $this->_filterElapsedSecs && $qp->getElapsedSecs() < $this->_filterElapsedSecs) { - unset($this->_queryProfiles[$queryId]); - return; - } - - /** - * If filtering by query type is enabled, only keep the query if - * it was one of the allowed types. - */ - if (null !== $this->_filterTypes && !($qp->getQueryType() & $this->_filterTypes)) { - unset($this->_queryProfiles[$queryId]); - return; - } - } - - /** - * Get a profile for a query. Pass it the same handle that was returned - * by queryStart() and it will return a Zend_Db_Profiler_Query object. - * - * @param integer $queryId - * @throws Zend_Db_Profiler_Exception - * @return Zend_Db_Profiler_Query - */ - public function getQueryProfile($queryId) - { - if (!array_key_exists($queryId, $this->_queryProfiles)) { - /** - * @see Zend_Db_Profiler_Exception - */ - require_once 'Zend/Db/Profiler/Exception.php'; - throw new Zend_Db_Profiler_Exception("Query handle '$queryId' not found in profiler log."); - } - - return $this->_queryProfiles[$queryId]; - } - - /** - * Get an array of query profiles (Zend_Db_Profiler_Query objects). If $queryType - * is set to one of the Zend_Db_Profiler::* constants then only queries of that - * type will be returned. Normally, queries that have not yet ended will - * not be returned unless $showUnfinished is set to True. If no - * queries were found, False is returned. The returned array is indexed by the query - * profile handles. - * - * @param integer $queryType - * @param boolean $showUnfinished - * @return array|false - */ - public function getQueryProfiles($queryType = null, $showUnfinished = false) - { - $queryProfiles = array(); - foreach ($this->_queryProfiles as $key => $qp) { - if ($queryType === null) { - $condition = true; - } else { - $condition = ($qp->getQueryType() & $queryType); - } - - if (($qp->hasEnded() || $showUnfinished) && $condition) { - $queryProfiles[$key] = $qp; - } - } - - if (empty($queryProfiles)) { - $queryProfiles = false; - } - - return $queryProfiles; - } - - /** - * Get the total elapsed time (in seconds) of all of the profiled queries. - * Only queries that have ended will be counted. If $queryType is set to - * one or more of the Zend_Db_Profiler::* constants, the elapsed time will be calculated - * only for queries of the given type(s). - * - * @param integer $queryType OPTIONAL - * @return float - */ - public function getTotalElapsedSecs($queryType = null) - { - $elapsedSecs = 0; - foreach ($this->_queryProfiles as $key => $qp) { - if (null === $queryType) { - $condition = true; - } else { - $condition = ($qp->getQueryType() & $queryType); - } - if (($qp->hasEnded()) && $condition) { - $elapsedSecs += $qp->getElapsedSecs(); - } - } - return $elapsedSecs; - } - - /** - * Get the total number of queries that have been profiled. Only queries that have ended will - * be counted. If $queryType is set to one of the Zend_Db_Profiler::* constants, only queries of - * that type will be counted. - * - * @param integer $queryType OPTIONAL - * @return integer - */ - public function getTotalNumQueries($queryType = null) - { - if (null === $queryType) { - return count($this->_queryProfiles); - } - - $numQueries = 0; - foreach ($this->_queryProfiles as $qp) { - if ($qp->hasEnded() && ($qp->getQueryType() & $queryType)) { - $numQueries++; - } - } - - return $numQueries; - } - - /** - * Get the Zend_Db_Profiler_Query object for the last query that was run, regardless if it has - * ended or not. If the query has not ended, its end time will be null. If no queries have - * been profiled, false is returned. - * - * @return Zend_Db_Profiler_Query|false - */ - public function getLastQueryProfile() - { - if (empty($this->_queryProfiles)) { - return false; - } - - end($this->_queryProfiles); - - return current($this->_queryProfiles); - } - -} - diff --git a/lib/zend/Zend/Db/Profiler/Exception.php b/lib/zend/Zend/Db/Profiler/Exception.php deleted file mode 100644 index 78c1a8d7dc..0000000000 --- a/lib/zend/Zend/Db/Profiler/Exception.php +++ /dev/null @@ -1,40 +0,0 @@ -_label = $label; - if(!$this->_label) { - $this->_label = 'Zend_Db_Profiler_Firebug'; - } - } - - /** - * Enable or disable the profiler. If $enable is false, the profiler - * is disabled and will not log any queries sent to it. - * - * @param boolean $enable - * @return Zend_Db_Profiler Provides a fluent interface - */ - public function setEnabled($enable) - { - parent::setEnabled($enable); - - if ($this->getEnabled()) { - - if (!$this->_message) { - $this->_message = new Zend_Wildfire_Plugin_FirePhp_TableMessage($this->_label); - $this->_message->setBuffered(true); - $this->_message->setHeader(array('Time','Event','Parameters')); - $this->_message->setDestroy(true); - $this->_message->setOption('includeLineNumbers', false); - Zend_Wildfire_Plugin_FirePhp::getInstance()->send($this->_message); - } - - } else { - - if ($this->_message) { - $this->_message->setDestroy(true); - $this->_message = null; - } - - } - - return $this; - } - - /** - * Intercept the query end and log the profiling data. - * - * @param integer $queryId - * @throws Zend_Db_Profiler_Exception - * @return void - */ - public function queryEnd($queryId) - { - parent::queryEnd($queryId); - - if (!$this->getEnabled()) { - return; - } - - $this->_message->setDestroy(false); - - $profile = $this->getQueryProfile($queryId); - - $this->_totalElapsedTime += $profile->getElapsedSecs(); - - $this->_message->addRow(array((string)round($profile->getElapsedSecs(),5), - $profile->getQuery(), - ($params=$profile->getQueryParams())?$params:null)); - - $this->updateMessageLabel(); - } - - /** - * Update the label of the message holding the profile info. - * - * @return void - */ - protected function updateMessageLabel() - { - if (!$this->_message) { - return; - } - $this->_message->setLabel(str_replace(array('%label%', - '%totalCount%', - '%totalDuration%'), - array($this->_label, - $this->getTotalNumQueries(), - (string)round($this->_totalElapsedTime,5)), - $this->_label_template)); - } -} diff --git a/lib/zend/Zend/Db/Profiler/Query.php b/lib/zend/Zend/Db/Profiler/Query.php deleted file mode 100644 index 04d7459d9b..0000000000 --- a/lib/zend/Zend/Db/Profiler/Query.php +++ /dev/null @@ -1,199 +0,0 @@ -_query = $query; - $this->_queryType = $queryType; - // by default, and for backward-compatibility, start the click ticking - $this->start(); - } - - /** - * Clone handler for the query object. - * @return void - */ - public function __clone() - { - $this->_boundParams = array(); - $this->_endedMicrotime = null; - $this->start(); - } - - /** - * Starts the elapsed time click ticking. - * This can be called subsequent to object creation, - * to restart the clock. For instance, this is useful - * right before executing a prepared query. - * - * @return void - */ - public function start() - { - $this->_startedMicrotime = microtime(true); - } - - /** - * Ends the query and records the time so that the elapsed time can be determined later. - * - * @return void - */ - public function end() - { - $this->_endedMicrotime = microtime(true); - } - - /** - * Returns true if and only if the query has ended. - * - * @return boolean - */ - public function hasEnded() - { - return $this->_endedMicrotime !== null; - } - - /** - * Get the original SQL text of the query. - * - * @return string - */ - public function getQuery() - { - return $this->_query; - } - - /** - * Get the type of this query (one of the Zend_Db_Profiler::* constants) - * - * @return integer - */ - public function getQueryType() - { - return $this->_queryType; - } - - /** - * @param string $param - * @param mixed $variable - * @return void - */ - public function bindParam($param, $variable) - { - $this->_boundParams[$param] = $variable; - } - - /** - * @param array $param - * @return void - */ - public function bindParams(array $params) - { - if (array_key_exists(0, $params)) { - array_unshift($params, null); - unset($params[0]); - } - foreach ($params as $param => $value) { - $this->bindParam($param, $value); - } - } - - /** - * @return array - */ - public function getQueryParams() - { - return $this->_boundParams; - } - - /** - * Get the elapsed time (in seconds) that the query ran. - * If the query has not yet ended, false is returned. - * - * @return float|false - */ - public function getElapsedSecs() - { - if (null === $this->_endedMicrotime) { - return false; - } - - return $this->_endedMicrotime - $this->_startedMicrotime; - } -} - diff --git a/lib/zend/Zend/Db/Select.php b/lib/zend/Zend/Db/Select.php deleted file mode 100644 index 0633fd872f..0000000000 --- a/lib/zend/Zend/Db/Select.php +++ /dev/null @@ -1,1340 +0,0 @@ - false, - self::COLUMNS => array(), - self::UNION => array(), - self::FROM => array(), - self::WHERE => array(), - self::GROUP => array(), - self::HAVING => array(), - self::ORDER => array(), - self::LIMIT_COUNT => null, - self::LIMIT_OFFSET => null, - self::FOR_UPDATE => false - ); - - /** - * Specify legal join types. - * - * @var array - */ - protected static $_joinTypes = array( - self::INNER_JOIN, - self::LEFT_JOIN, - self::RIGHT_JOIN, - self::FULL_JOIN, - self::CROSS_JOIN, - self::NATURAL_JOIN, - ); - - /** - * Specify legal union types. - * - * @var array - */ - protected static $_unionTypes = array( - self::SQL_UNION, - self::SQL_UNION_ALL - ); - - /** - * The component parts of a SELECT statement. - * Initialized to the $_partsInit array in the constructor. - * - * @var array - */ - protected $_parts = array(); - - /** - * Tracks which columns are being select from each table and join. - * - * @var array - */ - protected $_tableCols = array(); - - /** - * Class constructor - * - * @param Zend_Db_Adapter_Abstract $adapter - */ - public function __construct(Zend_Db_Adapter_Abstract $adapter) - { - $this->_adapter = $adapter; - $this->_parts = self::$_partsInit; - } - - /** - * Get bind variables - * - * @return array - */ - public function getBind() - { - return $this->_bind; - } - - /** - * Set bind variables - * - * @param mixed $bind - * @return Zend_Db_Select - */ - public function bind($bind) - { - $this->_bind = $bind; - - return $this; - } - - /** - * Makes the query SELECT DISTINCT. - * - * @param bool $flag Whether or not the SELECT is DISTINCT (default true). - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function distinct($flag = true) - { - $this->_parts[self::DISTINCT] = (bool) $flag; - return $this; - } - - /** - * Adds a FROM table and optional columns to the query. - * - * The first parameter $name can be a simple string, in which case the - * correlation name is generated automatically. If you want to specify - * the correlation name, the first parameter must be an associative - * array in which the key is the physical table name, and the value is - * the correlation name. For example, array('table' => 'alias'). - * The correlation name is prepended to all columns fetched for this - * table. - * - * The second parameter can be a single string or Zend_Db_Expr object, - * or else an array of strings or Zend_Db_Expr objects. - * - * The first parameter can be null or an empty string, in which case - * no correlation name is generated or prepended to the columns named - * in the second parameter. - * - * @param array|string|Zend_Db_Expr $name The table name or an associative array relating table name to - * correlation name. - * @param array|string|Zend_Db_Expr $cols The columns to select from this table. - * @param string $schema The schema name to specify, if any. - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function from($name, $cols = '*', $schema = null) - { - return $this->_join(self::FROM, $name, null, $cols, $schema); - } - - /** - * Specifies the columns used in the FROM clause. - * - * The parameter can be a single string or Zend_Db_Expr object, - * or else an array of strings or Zend_Db_Expr objects. - * - * @param array|string|Zend_Db_Expr $cols The columns to select from this table. - * @param string $correlationName Correlation name of target table. OPTIONAL - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function columns($cols = '*', $correlationName = null) - { - if ($correlationName === null && count($this->_parts[self::FROM])) { - $correlationName = current(array_keys($this->_parts[self::FROM])); - } - - if (!array_key_exists($correlationName, $this->_parts[self::FROM])) { - /** - * @see Zend_Db_Select_Exception - */ - require_once 'Zend/Db/Select/Exception.php'; - throw new Zend_Db_Select_Exception("No table has been specified for the FROM clause"); - } - - $this->_tableCols($correlationName, $cols); - - return $this; - } - - /** - * Adds a UNION clause to the query. - * - * The first parameter $select can be a string, an existing Zend_Db_Select - * object or an array of either of these types. - * - * @param array|string|Zend_Db_Select $select One or more select clauses for the UNION. - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function union($select = array(), $type = self::SQL_UNION) - { - if (!is_array($select)) { - $select = array(); - } - - if (!in_array($type, self::$_unionTypes)) { - require_once 'Zend/Db/Select/Exception.php'; - throw new Zend_Db_Select_Exception("Invalid union type '{$type}'"); - } - - foreach ($select as $target) { - $this->_parts[self::UNION][] = array($target, $type); - } - - return $this; - } - - /** - * Adds a JOIN table and columns to the query. - * - * The $name and $cols parameters follow the same logic - * as described in the from() method. - * - * @param array|string|Zend_Db_Expr $name The table name. - * @param string $cond Join on this condition. - * @param array|string $cols The columns to select from the joined table. - * @param string $schema The database name to specify, if any. - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function join($name, $cond, $cols = self::SQL_WILDCARD, $schema = null) - { - return $this->joinInner($name, $cond, $cols, $schema); - } - - /** - * Add an INNER JOIN table and colums to the query - * Rows in both tables are matched according to the expression - * in the $cond argument. The result set is comprised - * of all cases where rows from the left table match - * rows from the right table. - * - * The $name and $cols parameters follow the same logic - * as described in the from() method. - * - * @param array|string|Zend_Db_Expr $name The table name. - * @param string $cond Join on this condition. - * @param array|string $cols The columns to select from the joined table. - * @param string $schema The database name to specify, if any. - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function joinInner($name, $cond, $cols = self::SQL_WILDCARD, $schema = null) - { - return $this->_join(self::INNER_JOIN, $name, $cond, $cols, $schema); - } - - /** - * Add a LEFT OUTER JOIN table and colums to the query - * All rows from the left operand table are included, - * matching rows from the right operand table included, - * and the columns from the right operand table are filled - * with NULLs if no row exists matching the left table. - * - * The $name and $cols parameters follow the same logic - * as described in the from() method. - * - * @param array|string|Zend_Db_Expr $name The table name. - * @param string $cond Join on this condition. - * @param array|string $cols The columns to select from the joined table. - * @param string $schema The database name to specify, if any. - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function joinLeft($name, $cond, $cols = self::SQL_WILDCARD, $schema = null) - { - return $this->_join(self::LEFT_JOIN, $name, $cond, $cols, $schema); - } - - /** - * Add a RIGHT OUTER JOIN table and colums to the query. - * Right outer join is the complement of left outer join. - * All rows from the right operand table are included, - * matching rows from the left operand table included, - * and the columns from the left operand table are filled - * with NULLs if no row exists matching the right table. - * - * The $name and $cols parameters follow the same logic - * as described in the from() method. - * - * @param array|string|Zend_Db_Expr $name The table name. - * @param string $cond Join on this condition. - * @param array|string $cols The columns to select from the joined table. - * @param string $schema The database name to specify, if any. - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function joinRight($name, $cond, $cols = self::SQL_WILDCARD, $schema = null) - { - return $this->_join(self::RIGHT_JOIN, $name, $cond, $cols, $schema); - } - - /** - * Add a FULL OUTER JOIN table and colums to the query. - * A full outer join is like combining a left outer join - * and a right outer join. All rows from both tables are - * included, paired with each other on the same row of the - * result set if they satisfy the join condition, and otherwise - * paired with NULLs in place of columns from the other table. - * - * The $name and $cols parameters follow the same logic - * as described in the from() method. - * - * @param array|string|Zend_Db_Expr $name The table name. - * @param string $cond Join on this condition. - * @param array|string $cols The columns to select from the joined table. - * @param string $schema The database name to specify, if any. - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function joinFull($name, $cond, $cols = self::SQL_WILDCARD, $schema = null) - { - return $this->_join(self::FULL_JOIN, $name, $cond, $cols, $schema); - } - - /** - * Add a CROSS JOIN table and colums to the query. - * A cross join is a cartesian product; there is no join condition. - * - * The $name and $cols parameters follow the same logic - * as described in the from() method. - * - * @param array|string|Zend_Db_Expr $name The table name. - * @param array|string $cols The columns to select from the joined table. - * @param string $schema The database name to specify, if any. - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function joinCross($name, $cols = self::SQL_WILDCARD, $schema = null) - { - return $this->_join(self::CROSS_JOIN, $name, null, $cols, $schema); - } - - /** - * Add a NATURAL JOIN table and colums to the query. - * A natural join assumes an equi-join across any column(s) - * that appear with the same name in both tables. - * Only natural inner joins are supported by this API, - * even though SQL permits natural outer joins as well. - * - * The $name and $cols parameters follow the same logic - * as described in the from() method. - * - * @param array|string|Zend_Db_Expr $name The table name. - * @param array|string $cols The columns to select from the joined table. - * @param string $schema The database name to specify, if any. - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function joinNatural($name, $cols = self::SQL_WILDCARD, $schema = null) - { - return $this->_join(self::NATURAL_JOIN, $name, null, $cols, $schema); - } - - /** - * Adds a WHERE condition to the query by AND. - * - * If a value is passed as the second param, it will be quoted - * and replaced into the condition wherever a question-mark - * appears. Array values are quoted and comma-separated. - * - * - * // simplest but non-secure - * $select->where("id = $id"); - * - * // secure (ID is quoted but matched anyway) - * $select->where('id = ?', $id); - * - * // alternatively, with named binding - * $select->where('id = :id'); - * - * - * Note that it is more correct to use named bindings in your - * queries for values other than strings. When you use named - * bindings, don't forget to pass the values when actually - * making a query: - * - * - * $db->fetchAll($select, array('id' => 5)); - * - * - * @param string $cond The WHERE condition. - * @param string $value OPTIONAL A single value to quote into the condition. - * @param constant $type OPTIONAL The type of the given value - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function where($cond, $value = null, $type = null) - { - $this->_parts[self::WHERE][] = $this->_where($cond, $value, $type, true); - - return $this; - } - - /** - * Adds a WHERE condition to the query by OR. - * - * Otherwise identical to where(). - * - * @param string $cond The WHERE condition. - * @param string $value OPTIONAL A single value to quote into the condition. - * @param constant $type OPTIONAL The type of the given value - * @return Zend_Db_Select This Zend_Db_Select object. - * - * @see where() - */ - public function orWhere($cond, $value = null, $type = null) - { - $this->_parts[self::WHERE][] = $this->_where($cond, $value, $type, false); - - return $this; - } - - /** - * Adds grouping to the query. - * - * @param array|string $spec The column(s) to group by. - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function group($spec) - { - if (!is_array($spec)) { - $spec = array($spec); - } - - foreach ($spec as $val) { - if (preg_match('/\(.*\)/', (string) $val)) { - $val = new Zend_Db_Expr($val); - } - $this->_parts[self::GROUP][] = $val; - } - - return $this; - } - - /** - * Adds a HAVING condition to the query by AND. - * - * If a value is passed as the second param, it will be quoted - * and replaced into the condition wherever a question-mark - * appears. See {@link where()} for an example - * - * @param string $cond The HAVING condition. - * @param string|Zend_Db_Expr $val A single value to quote into the condition. - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function having($cond) - { - if (func_num_args() > 1) { - $val = func_get_arg(1); - $cond = $this->_adapter->quoteInto($cond, $val); - } - - if ($this->_parts[self::HAVING]) { - $this->_parts[self::HAVING][] = self::SQL_AND . " ($cond)"; - } else { - $this->_parts[self::HAVING][] = "($cond)"; - } - - return $this; - } - - /** - * Adds a HAVING condition to the query by OR. - * - * Otherwise identical to orHaving(). - * - * @param string $cond The HAVING condition. - * @param string $val A single value to quote into the condition. - * @return Zend_Db_Select This Zend_Db_Select object. - * - * @see having() - */ - public function orHaving($cond) - { - if (func_num_args() > 1) { - $val = func_get_arg(1); - $cond = $this->_adapter->quoteInto($cond, $val); - } - - if ($this->_parts[self::HAVING]) { - $this->_parts[self::HAVING][] = self::SQL_OR . " ($cond)"; - } else { - $this->_parts[self::HAVING][] = "($cond)"; - } - - return $this; - } - - /** - * Adds a row order to the query. - * - * @param mixed $spec The column(s) and direction to order by. - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function order($spec) - { - if (!is_array($spec)) { - $spec = array($spec); - } - - // force 'ASC' or 'DESC' on each order spec, default is ASC. - foreach ($spec as $val) { - if ($val instanceof Zend_Db_Expr) { - $expr = $val->__toString(); - if (empty($expr)) { - continue; - } - $this->_parts[self::ORDER][] = $val; - } else { - if (empty($val)) { - continue; - } - $direction = self::SQL_ASC; - if (preg_match('/(.*\W)(' . self::SQL_ASC . '|' . self::SQL_DESC . ')\b/si', $val, $matches)) { - $val = trim($matches[1]); - $direction = $matches[2]; - } - if (preg_match('/\(.*\)/', $val)) { - $val = new Zend_Db_Expr($val); - } - $this->_parts[self::ORDER][] = array($val, $direction); - } - } - - return $this; - } - - /** - * Sets a limit count and offset to the query. - * - * @param int $count OPTIONAL The number of rows to return. - * @param int $offset OPTIONAL Start returning after this many rows. - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function limit($count = null, $offset = null) - { - $this->_parts[self::LIMIT_COUNT] = (int) $count; - $this->_parts[self::LIMIT_OFFSET] = (int) $offset; - return $this; - } - - /** - * Sets the limit and count by page number. - * - * @param int $page Limit results to this page number. - * @param int $rowCount Use this many rows per page. - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function limitPage($page, $rowCount) - { - $page = ($page > 0) ? $page : 1; - $rowCount = ($rowCount > 0) ? $rowCount : 1; - $this->_parts[self::LIMIT_COUNT] = (int) $rowCount; - $this->_parts[self::LIMIT_OFFSET] = (int) $rowCount * ($page - 1); - return $this; - } - - /** - * Makes the query SELECT FOR UPDATE. - * - * @param bool $flag Whether or not the SELECT is FOR UPDATE (default true). - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function forUpdate($flag = true) - { - $this->_parts[self::FOR_UPDATE] = (bool) $flag; - return $this; - } - - /** - * Get part of the structured information for the currect query. - * - * @param string $part - * @return mixed - * @throws Zend_Db_Select_Exception - */ - public function getPart($part) - { - $part = strtolower($part); - if (!array_key_exists($part, $this->_parts)) { - require_once 'Zend/Db/Select/Exception.php'; - throw new Zend_Db_Select_Exception("Invalid Select part '$part'"); - } - return $this->_parts[$part]; - } - - /** - * Executes the current select object and returns the result - * - * @param integer $fetchMode OPTIONAL - * @param mixed $bind An array of data to bind to the placeholders. - * @return PDO_Statement|Zend_Db_Statement - */ - public function query($fetchMode = null, $bind = array()) - { - if (!empty($bind)) { - $this->bind($bind); - } - - $stmt = $this->_adapter->query($this); - if ($fetchMode == null) { - $fetchMode = $this->_adapter->getFetchMode(); - } - $stmt->setFetchMode($fetchMode); - return $stmt; - } - - /** - * Converts this object to an SQL SELECT string. - * - * @return string|null This object as a SELECT string. (or null if a string cannot be produced.) - */ - public function assemble() - { - $sql = self::SQL_SELECT; - foreach (array_keys(self::$_partsInit) as $part) { - $method = '_render' . ucfirst($part); - if (method_exists($this, $method)) { - $sql = $this->$method($sql); - } - } - return $sql; - } - - /** - * Clear parts of the Select object, or an individual part. - * - * @param string $part OPTIONAL - * @return Zend_Db_Select - */ - public function reset($part = null) - { - if ($part == null) { - $this->_parts = self::$_partsInit; - } else if (array_key_exists($part, self::$_partsInit)) { - $this->_parts[$part] = self::$_partsInit[$part]; - } - return $this; - } - - /** - * Gets the Zend_Db_Adapter_Abstract for this - * particular Zend_Db_Select object. - * - * @return Zend_Db_Adapter_Abstract - */ - public function getAdapter() - { - return $this->_adapter; - } - - /** - * Populate the {@link $_parts} 'join' key - * - * Does the dirty work of populating the join key. - * - * The $name and $cols parameters follow the same logic - * as described in the from() method. - * - * @param null|string $type Type of join; inner, left, and null are currently supported - * @param array|string|Zend_Db_Expr $name Table name - * @param string $cond Join on this condition - * @param array|string $cols The columns to select from the joined table - * @param string $schema The database name to specify, if any. - * @return Zend_Db_Select This Zend_Db_Select object - * @throws Zend_Db_Select_Exception - */ - protected function _join($type, $name, $cond, $cols, $schema = null) - { - if (!in_array($type, self::$_joinTypes) && $type != self::FROM) { - /** - * @see Zend_Db_Select_Exception - */ - require_once 'Zend/Db/Select/Exception.php'; - throw new Zend_Db_Select_Exception("Invalid join type '$type'"); - } - - if (count($this->_parts[self::UNION])) { - require_once 'Zend/Db/Select/Exception.php'; - throw new Zend_Db_Select_Exception("Invalid use of table with " . self::SQL_UNION); - } - - if (empty($name)) { - $correlationName = $tableName = ''; - } else if (is_array($name)) { - // Must be array($correlationName => $tableName) or array($ident, ...) - foreach ($name as $_correlationName => $_tableName) { - if (is_string($_correlationName)) { - // We assume the key is the correlation name and value is the table name - $tableName = $_tableName; - $correlationName = $_correlationName; - } else { - // We assume just an array of identifiers, with no correlation name - $tableName = $_tableName; - $correlationName = $this->_uniqueCorrelation($tableName); - } - break; - } - } else if ($name instanceof Zend_Db_Expr|| $name instanceof Zend_Db_Select) { - $tableName = $name; - $correlationName = $this->_uniqueCorrelation('t'); - } else if (preg_match('/^(.+)\s+AS\s+(.+)$/i', $name, $m)) { - $tableName = $m[1]; - $correlationName = $m[2]; - } else { - $tableName = $name; - $correlationName = $this->_uniqueCorrelation($tableName); - } - - // Schema from table name overrides schema argument - if (!is_object($tableName) && false !== strpos($tableName, '.')) { - list($schema, $tableName) = explode('.', $tableName); - } - - if (!empty($correlationName)) { - if (array_key_exists($correlationName, $this->_parts[self::FROM])) { - /** - * @see Zend_Db_Select_Exception - */ - require_once 'Zend/Db/Select/Exception.php'; - throw new Zend_Db_Select_Exception("You cannot define a correlation name '$correlationName' more than once"); - } - - $lastFromCorrelationName = null; - if ($type == self::FROM) { - // append this from after the last from joinType - $tmpFromParts = $this->_parts[self::FROM]; - $this->_parts[self::FROM] = array(); - // move all the froms onto the stack - while ($tmpFromParts) { - $currentCorrelationName = key($tmpFromParts); - if ($tmpFromParts[$currentCorrelationName]['joinType'] != self::FROM) { - break; - } - $lastFromCorrelationName = $currentCorrelationName; - $this->_parts[self::FROM][$currentCorrelationName] = array_shift($tmpFromParts); - } - } else { - $tmpFromParts = array(); - } - $this->_parts[self::FROM][$correlationName] = array( - 'joinType' => $type, - 'schema' => $schema, - 'tableName' => $tableName, - 'joinCondition' => $cond - ); - while ($tmpFromParts) { - $currentCorrelationName = key($tmpFromParts); - $this->_parts[self::FROM][$currentCorrelationName] = array_shift($tmpFromParts); - } - } - - // add to the columns from this joined table - if ($type == self::FROM && $lastFromCorrelationName == null) { - $lastFromCorrelationName = true; - } - $this->_tableCols($correlationName, $cols, $lastFromCorrelationName); - - return $this; - } - - /** - * Handle JOIN... USING... syntax - * - * This is functionality identical to the existing JOIN methods, however - * the join condition can be passed as a single column name. This method - * then completes the ON condition by using the same field for the FROM - * table and the JOIN table. - * - * - * $select = $db->select()->from('table1') - * ->joinUsing('table2', 'column1'); - * - * // SELECT * FROM table1 JOIN table2 ON table1.column1 = table2.column2 - * - * - * These joins are called by the developer simply by adding 'Using' to the - * method name. E.g. - * * joinUsing - * * joinInnerUsing - * * joinFullUsing - * * joinRightUsing - * * joinLeftUsing - * - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function _joinUsing($type, $name, $cond, $cols = '*', $schema = null) - { - if (empty($this->_parts[self::FROM])) { - require_once 'Zend/Db/Select/Exception.php'; - throw new Zend_Db_Select_Exception("You can only perform a joinUsing after specifying a FROM table"); - } - - $join = $this->_adapter->quoteIdentifier(key($this->_parts[self::FROM]), true); - $from = $this->_adapter->quoteIdentifier($this->_uniqueCorrelation($name), true); - - $cond1 = $from . '.' . $cond; - $cond2 = $join . '.' . $cond; - $cond = $cond1 . ' = ' . $cond2; - - return $this->_join($type, $name, $cond, $cols, $schema); - } - - /** - * Generate a unique correlation name - * - * @param string|array $name A qualified identifier. - * @return string A unique correlation name. - */ - private function _uniqueCorrelation($name) - { - if (is_array($name)) { - $c = end($name); - } else { - // Extract just the last name of a qualified table name - $dot = strrpos($name,'.'); - $c = ($dot === false) ? $name : substr($name, $dot+1); - } - for ($i = 2; array_key_exists($c, $this->_parts[self::FROM]); ++$i) { - $c = $name . '_' . (string) $i; - } - return $c; - } - - /** - * Adds to the internal table-to-column mapping array. - * - * @param string $tbl The table/join the columns come from. - * @param array|string $cols The list of columns; preferably as - * an array, but possibly as a string containing one column. - * @param bool|string True if it should be prepended, a correlation name if it should be inserted - * @return void - */ - protected function _tableCols($correlationName, $cols, $afterCorrelationName = null) - { - if (!is_array($cols)) { - $cols = array($cols); - } - - if ($correlationName == null) { - $correlationName = ''; - } - - $columnValues = array(); - - foreach (array_filter($cols) as $alias => $col) { - $currentCorrelationName = $correlationName; - if (is_string($col)) { - // Check for a column matching " AS " and extract the alias name - if (preg_match('/^(.+)\s+' . self::SQL_AS . '\s+(.+)$/i', $col, $m)) { - $col = $m[1]; - $alias = $m[2]; - } - // Check for columns that look like functions and convert to Zend_Db_Expr - if (preg_match('/\(.*\)/', $col)) { - $col = new Zend_Db_Expr($col); - } elseif (preg_match('/(.+)\.(.+)/', $col, $m)) { - $currentCorrelationName = $m[1]; - $col = $m[2]; - } - } - $columnValues[] = array($currentCorrelationName, $col, is_string($alias) ? $alias : null); - } - - if ($columnValues) { - - // should we attempt to prepend or insert these values? - if ($afterCorrelationName === true || is_string($afterCorrelationName)) { - $tmpColumns = $this->_parts[self::COLUMNS]; - $this->_parts[self::COLUMNS] = array(); - } else { - $tmpColumns = array(); - } - - // find the correlation name to insert after - if (is_string($afterCorrelationName)) { - while ($tmpColumns) { - $this->_parts[self::COLUMNS][] = $currentColumn = array_shift($tmpColumns); - if ($currentColumn[0] == $afterCorrelationName) { - break; - } - } - } - - // apply current values to current stack - foreach ($columnValues as $columnValue) { - array_push($this->_parts[self::COLUMNS], $columnValue); - } - - // finish ensuring that all previous values are applied (if they exist) - while ($tmpColumns) { - array_push($this->_parts[self::COLUMNS], array_shift($tmpColumns)); - } - } - } - - /** - * Internal function for creating the where clause - * - * @param string $condition - * @param string $value optional - * @param string $type optional - * @param boolean $bool true = AND, false = OR - * @return string clause - */ - protected function _where($condition, $value = null, $type = null, $bool = true) - { - if (count($this->_parts[self::UNION])) { - require_once 'Zend/Db/Select/Exception.php'; - throw new Zend_Db_Select_Exception("Invalid use of where clause with " . self::SQL_UNION); - } - - if ($value !== null) { - $condition = $this->_adapter->quoteInto($condition, $value, $type); - } - - $cond = ""; - if ($this->_parts[self::WHERE]) { - if ($bool === true) { - $cond = self::SQL_AND . ' '; - } else { - $cond = self::SQL_OR . ' '; - } - } - - return $cond . "($condition)"; - } - - /** - * @return array - */ - protected function _getDummyTable() - { - return array(); - } - - /** - * Return a quoted schema name - * - * @param string $schema The schema name OPTIONAL - * @return string|null - */ - protected function _getQuotedSchema($schema = null) - { - if ($schema === null) { - return null; - } - return $this->_adapter->quoteIdentifier($schema, true) . '.'; - } - - /** - * Return a quoted table name - * - * @param string $tableName The table name - * @param string $correlationName The correlation name OPTIONAL - * @return string - */ - protected function _getQuotedTable($tableName, $correlationName = null) - { - return $this->_adapter->quoteTableAs($tableName, $correlationName, true); - } - - /** - * Render DISTINCT clause - * - * @param string $sql SQL query - * @return string - */ - protected function _renderDistinct($sql) - { - if ($this->_parts[self::DISTINCT]) { - $sql .= ' ' . self::SQL_DISTINCT; - } - - return $sql; - } - - /** - * Render DISTINCT clause - * - * @param string $sql SQL query - * @return string|null - */ - protected function _renderColumns($sql) - { - if (!count($this->_parts[self::COLUMNS])) { - return null; - } - - $columns = array(); - foreach ($this->_parts[self::COLUMNS] as $columnEntry) { - list($correlationName, $column, $alias) = $columnEntry; - if ($column instanceof Zend_Db_Expr) { - $columns[] = $this->_adapter->quoteColumnAs($column, $alias, true); - } else { - if ($column == self::SQL_WILDCARD) { - $column = new Zend_Db_Expr(self::SQL_WILDCARD); - $alias = null; - } - if (empty($correlationName)) { - $columns[] = $this->_adapter->quoteColumnAs($column, $alias, true); - } else { - $columns[] = $this->_adapter->quoteColumnAs(array($correlationName, $column), $alias, true); - } - } - } - - return $sql .= ' ' . implode(', ', $columns); - } - - /** - * Render FROM clause - * - * @param string $sql SQL query - * @return string - */ - protected function _renderFrom($sql) - { - /* - * If no table specified, use RDBMS-dependent solution - * for table-less query. e.g. DUAL in Oracle. - */ - if (empty($this->_parts[self::FROM])) { - $this->_parts[self::FROM] = $this->_getDummyTable(); - } - - $from = array(); - - foreach ($this->_parts[self::FROM] as $correlationName => $table) { - $tmp = ''; - - $joinType = ($table['joinType'] == self::FROM) ? self::INNER_JOIN : $table['joinType']; - - // Add join clause (if applicable) - if (! empty($from)) { - $tmp .= ' ' . strtoupper($joinType) . ' '; - } - - $tmp .= $this->_getQuotedSchema($table['schema']); - $tmp .= $this->_getQuotedTable($table['tableName'], $correlationName); - - // Add join conditions (if applicable) - if (!empty($from) && ! empty($table['joinCondition'])) { - $tmp .= ' ' . self::SQL_ON . ' ' . $table['joinCondition']; - } - - // Add the table name and condition add to the list - $from[] = $tmp; - } - - // Add the list of all joins - if (!empty($from)) { - $sql .= ' ' . self::SQL_FROM . ' ' . implode("\n", $from); - } - - return $sql; - } - - /** - * Render UNION query - * - * @param string $sql SQL query - * @return string - */ - protected function _renderUnion($sql) - { - if ($this->_parts[self::UNION]) { - $parts = count($this->_parts[self::UNION]); - foreach ($this->_parts[self::UNION] as $cnt => $union) { - list($target, $type) = $union; - if ($target instanceof Zend_Db_Select) { - $target = $target->assemble(); - } - $sql .= $target; - if ($cnt < $parts - 1) { - $sql .= ' ' . $type . ' '; - } - } - } - - return $sql; - } - - /** - * Render WHERE clause - * - * @param string $sql SQL query - * @return string - */ - protected function _renderWhere($sql) - { - if ($this->_parts[self::FROM] && $this->_parts[self::WHERE]) { - $sql .= ' ' . self::SQL_WHERE . ' ' . implode(' ', $this->_parts[self::WHERE]); - } - - return $sql; - } - - /** - * Render GROUP clause - * - * @param string $sql SQL query - * @return string - */ - protected function _renderGroup($sql) - { - if ($this->_parts[self::FROM] && $this->_parts[self::GROUP]) { - $group = array(); - foreach ($this->_parts[self::GROUP] as $term) { - $group[] = $this->_adapter->quoteIdentifier($term, true); - } - $sql .= ' ' . self::SQL_GROUP_BY . ' ' . implode(",\n\t", $group); - } - - return $sql; - } - - /** - * Render HAVING clause - * - * @param string $sql SQL query - * @return string - */ - protected function _renderHaving($sql) - { - if ($this->_parts[self::FROM] && $this->_parts[self::HAVING]) { - $sql .= ' ' . self::SQL_HAVING . ' ' . implode(' ', $this->_parts[self::HAVING]); - } - - return $sql; - } - - /** - * Render ORDER clause - * - * @param string $sql SQL query - * @return string - */ - protected function _renderOrder($sql) - { - if ($this->_parts[self::ORDER]) { - $order = array(); - foreach ($this->_parts[self::ORDER] as $term) { - if (is_array($term)) { - if(is_numeric($term[0]) && strval(intval($term[0])) == $term[0]) { - $order[] = (int)trim($term[0]) . ' ' . $term[1]; - } else { - $order[] = $this->_adapter->quoteIdentifier($term[0], true) . ' ' . $term[1]; - } - } else if (is_numeric($term) && strval(intval($term)) == $term) { - $order[] = (int)trim($term); - } else { - $order[] = $this->_adapter->quoteIdentifier($term, true); - } - } - $sql .= ' ' . self::SQL_ORDER_BY . ' ' . implode(', ', $order); - } - - return $sql; - } - - /** - * Render LIMIT OFFSET clause - * - * @param string $sql SQL query - * @return string - */ - protected function _renderLimitoffset($sql) - { - $count = 0; - $offset = 0; - - if (!empty($this->_parts[self::LIMIT_OFFSET])) { - $offset = (int) $this->_parts[self::LIMIT_OFFSET]; - // This should reduce to the max integer PHP can support - $count = intval(9223372036854775807); - } - - if (!empty($this->_parts[self::LIMIT_COUNT])) { - $count = (int) $this->_parts[self::LIMIT_COUNT]; - } - - /* - * Add limits clause - */ - if ($count > 0) { - $sql = trim($this->_adapter->limit($sql, $count, $offset)); - } - - return $sql; - } - - /** - * Render FOR UPDATE clause - * - * @param string $sql SQL query - * @return string - */ - protected function _renderForupdate($sql) - { - if ($this->_parts[self::FOR_UPDATE]) { - $sql .= ' ' . self::SQL_FOR_UPDATE; - } - - return $sql; - } - - /** - * Turn magic function calls into non-magic function calls - * for joinUsing syntax - * - * @param string $method - * @param array $args OPTIONAL Zend_Db_Table_Select query modifier - * @return Zend_Db_Select - * @throws Zend_Db_Select_Exception If an invalid method is called. - */ - public function __call($method, array $args) - { - $matches = array(); - - /** - * Recognize methods for Has-Many cases: - * findParent() - * findParentBy() - * Use the non-greedy pattern repeat modifier e.g. \w+? - */ - if (preg_match('/^join([a-zA-Z]*?)Using$/', $method, $matches)) { - $type = strtolower($matches[1]); - if ($type) { - $type .= ' join'; - if (!in_array($type, self::$_joinTypes)) { - require_once 'Zend/Db/Select/Exception.php'; - throw new Zend_Db_Select_Exception("Unrecognized method '$method()'"); - } - if (in_array($type, array(self::CROSS_JOIN, self::NATURAL_JOIN))) { - require_once 'Zend/Db/Select/Exception.php'; - throw new Zend_Db_Select_Exception("Cannot perform a joinUsing with method '$method()'"); - } - } else { - $type = self::INNER_JOIN; - } - array_unshift($args, $type); - return call_user_func_array(array($this, '_joinUsing'), $args); - } - - require_once 'Zend/Db/Select/Exception.php'; - throw new Zend_Db_Select_Exception("Unrecognized method '$method()'"); - } - - /** - * Implements magic method. - * - * @return string This object as a SELECT string. - */ - public function __toString() - { - try { - $sql = $this->assemble(); - } catch (Exception $e) { - trigger_error($e->getMessage(), E_USER_WARNING); - $sql = ''; - } - return (string)$sql; - } - -} diff --git a/lib/zend/Zend/Db/Select/Exception.php b/lib/zend/Zend/Db/Select/Exception.php deleted file mode 100644 index 9f021344f8..0000000000 --- a/lib/zend/Zend/Db/Select/Exception.php +++ /dev/null @@ -1,39 +0,0 @@ -_adapter = $adapter; - if ($sql instanceof Zend_Db_Select) { - $sql = $sql->assemble(); - } - $this->_parseParameters($sql); - $this->_prepare($sql); - - $this->_queryId = $this->_adapter->getProfiler()->queryStart($sql); - } - - /** - * Internal method called by abstract statment constructor to setup - * the driver level statement - * - * @return void - */ - protected function _prepare($sql) - { - return; - } - - /** - * @param string $sql - * @return void - */ - protected function _parseParameters($sql) - { - $sql = $this->_stripQuoted($sql); - - // split into text and params - $this->_sqlSplit = preg_split('/(\?|\:[a-zA-Z0-9_]+)/', - $sql, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY); - - // map params - $this->_sqlParam = array(); - foreach ($this->_sqlSplit as $key => $val) { - if ($val == '?') { - if ($this->_adapter->supportsParameters('positional') === false) { - /** - * @see Zend_Db_Statement_Exception - */ - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception("Invalid bind-variable position '$val'"); - } - } else if ($val[0] == ':') { - if ($this->_adapter->supportsParameters('named') === false) { - /** - * @see Zend_Db_Statement_Exception - */ - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception("Invalid bind-variable name '$val'"); - } - } - $this->_sqlParam[] = $val; - } - - // set up for binding - $this->_bindParam = array(); - } - - /** - * Remove parts of a SQL string that contain quoted strings - * of values or identifiers. - * - * @param string $sql - * @return string - */ - protected function _stripQuoted($sql) - { - // get the character for delimited id quotes, - // this is usually " but in MySQL is ` - $d = $this->_adapter->quoteIdentifier('a'); - $d = $d[0]; - - // get the value used as an escaped delimited id quote, - // e.g. \" or "" or \` - $de = $this->_adapter->quoteIdentifier($d); - $de = substr($de, 1, 2); - $de = str_replace('\\', '\\\\', $de); - - // get the character for value quoting - // this should be ' - $q = $this->_adapter->quote('a'); - $q = $q[0]; - - // get the value used as an escaped quote, - // e.g. \' or '' - $qe = $this->_adapter->quote($q); - $qe = substr($qe, 1, 2); - $qe = str_replace('\\', '\\\\', $qe); - - // get a version of the SQL statement with all quoted - // values and delimited identifiers stripped out - // remove "foo\"bar" - $sql = preg_replace("/$q($qe|\\\\{2}|[^$q])*$q/", '', $sql); - // remove 'foo\'bar' - if (!empty($q)) { - $sql = preg_replace("/$q($qe|[^$q])*$q/", '', $sql); - } - - return $sql; - } - - /** - * Bind a column of the statement result set to a PHP variable. - * - * @param string $column Name the column in the result set, either by - * position or by name. - * @param mixed $param Reference to the PHP variable containing the value. - * @param mixed $type OPTIONAL - * @return bool - */ - public function bindColumn($column, &$param, $type = null) - { - $this->_bindColumn[$column] =& $param; - return true; - } - - /** - * Binds a parameter to the specified variable name. - * - * @param mixed $parameter Name the parameter, either integer or string. - * @param mixed $variable Reference to PHP variable containing the value. - * @param mixed $type OPTIONAL Datatype of SQL parameter. - * @param mixed $length OPTIONAL Length of SQL parameter. - * @param mixed $options OPTIONAL Other options. - * @return bool - */ - public function bindParam($parameter, &$variable, $type = null, $length = null, $options = null) - { - if (!is_int($parameter) && !is_string($parameter)) { - /** - * @see Zend_Db_Statement_Exception - */ - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception('Invalid bind-variable position'); - } - - $position = null; - if (($intval = (int) $parameter) > 0 && $this->_adapter->supportsParameters('positional')) { - if ($intval >= 1 || $intval <= count($this->_sqlParam)) { - $position = $intval; - } - } else if ($this->_adapter->supportsParameters('named')) { - if ($parameter[0] != ':') { - $parameter = ':' . $parameter; - } - if (in_array($parameter, $this->_sqlParam) !== false) { - $position = $parameter; - } - } - - if ($position === null) { - /** - * @see Zend_Db_Statement_Exception - */ - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception("Invalid bind-variable position '$parameter'"); - } - - // Finally we are assured that $position is valid - $this->_bindParam[$position] =& $variable; - return $this->_bindParam($position, $variable, $type, $length, $options); - } - - /** - * Binds a value to a parameter. - * - * @param mixed $parameter Name the parameter, either integer or string. - * @param mixed $value Scalar value to bind to the parameter. - * @param mixed $type OPTIONAL Datatype of the parameter. - * @return bool - */ - public function bindValue($parameter, $value, $type = null) - { - return $this->bindParam($parameter, $value, $type); - } - - /** - * Executes a prepared statement. - * - * @param array $params OPTIONAL Values to bind to parameter placeholders. - * @return bool - */ - public function execute(array $params = null) - { - /* - * Simple case - no query profiler to manage. - */ - if ($this->_queryId === null) { - return $this->_execute($params); - } - - /* - * Do the same thing, but with query profiler - * management before and after the execute. - */ - $prof = $this->_adapter->getProfiler(); - $qp = $prof->getQueryProfile($this->_queryId); - if ($qp->hasEnded()) { - $this->_queryId = $prof->queryClone($qp); - $qp = $prof->getQueryProfile($this->_queryId); - } - if ($params !== null) { - $qp->bindParams($params); - } else { - $qp->bindParams($this->_bindParam); - } - $qp->start($this->_queryId); - - $retval = $this->_execute($params); - - $prof->queryEnd($this->_queryId); - - return $retval; - } - - /** - * Returns an array containing all of the result set rows. - * - * @param int $style OPTIONAL Fetch mode. - * @param int $col OPTIONAL Column number, if fetch mode is by column. - * @return array Collection of rows, each in a format by the fetch mode. - */ - public function fetchAll($style = null, $col = null) - { - $data = array(); - if ($style === Zend_Db::FETCH_COLUMN && $col === null) { - $col = 0; - } - if ($col === null) { - while ($row = $this->fetch($style)) { - $data[] = $row; - } - } else { - while (false !== ($val = $this->fetchColumn($col))) { - $data[] = $val; - } - } - return $data; - } - - /** - * Returns a single column from the next row of a result set. - * - * @param int $col OPTIONAL Position of the column to fetch. - * @return string One value from the next row of result set, or false. - */ - public function fetchColumn($col = 0) - { - $data = array(); - $col = (int) $col; - $row = $this->fetch(Zend_Db::FETCH_NUM); - if (!is_array($row)) { - return false; - } - return $row[$col]; - } - - /** - * Fetches the next row and returns it as an object. - * - * @param string $class OPTIONAL Name of the class to create. - * @param array $config OPTIONAL Constructor arguments for the class. - * @return mixed One object instance of the specified class, or false. - */ - public function fetchObject($class = 'stdClass', array $config = array()) - { - $obj = new $class($config); - $row = $this->fetch(Zend_Db::FETCH_ASSOC); - if (!is_array($row)) { - return false; - } - foreach ($row as $key => $val) { - $obj->$key = $val; - } - return $obj; - } - - /** - * Retrieve a statement attribute. - * - * @param string $key Attribute name. - * @return mixed Attribute value. - */ - public function getAttribute($key) - { - if (array_key_exists($key, $this->_attribute)) { - return $this->_attribute[$key]; - } - } - - /** - * Set a statement attribute. - * - * @param string $key Attribute name. - * @param mixed $val Attribute value. - * @return bool - */ - public function setAttribute($key, $val) - { - $this->_attribute[$key] = $val; - } - - /** - * Set the default fetch mode for this statement. - * - * @param int $mode The fetch mode. - * @return bool - * @throws Zend_Db_Statement_Exception - */ - public function setFetchMode($mode) - { - switch ($mode) { - case Zend_Db::FETCH_NUM: - case Zend_Db::FETCH_ASSOC: - case Zend_Db::FETCH_BOTH: - case Zend_Db::FETCH_OBJ: - $this->_fetchMode = $mode; - break; - case Zend_Db::FETCH_BOUND: - default: - $this->closeCursor(); - /** - * @see Zend_Db_Statement_Exception - */ - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception('invalid fetch mode'); - break; - } - } - - /** - * Helper function to map retrieved row - * to bound column variables - * - * @param array $row - * @return bool True - */ - public function _fetchBound($row) - { - foreach ($row as $key => $value) { - // bindColumn() takes 1-based integer positions - // but fetch() returns 0-based integer indexes - if (is_int($key)) { - $key++; - } - // set results only to variables that were bound previously - if (isset($this->_bindColumn[$key])) { - $this->_bindColumn[$key] = $value; - } - } - return true; - } - - /** - * Gets the Zend_Db_Adapter_Abstract for this - * particular Zend_Db_Statement object. - * - * @return Zend_Db_Adapter_Abstract - */ - public function getAdapter() - { - return $this->_adapter; - } - - /** - * Gets the resource or object setup by the - * _parse - * @return unknown_type - */ - public function getDriverStatement() - { - return $this->_stmt; - } -} diff --git a/lib/zend/Zend/Db/Statement/Db2.php b/lib/zend/Zend/Db/Statement/Db2.php deleted file mode 100644 index a0c78d9b1a..0000000000 --- a/lib/zend/Zend/Db/Statement/Db2.php +++ /dev/null @@ -1,360 +0,0 @@ -_adapter->getConnection(); - - // db2_prepare on i5 emits errors, these need to be - // suppressed so that proper exceptions can be thrown - $this->_stmt = @db2_prepare($connection, $sql); - - if (!$this->_stmt) { - /** - * @see Zend_Db_Statement_Db2_Exception - */ - require_once 'Zend/Db/Statement/Db2/Exception.php'; - throw new Zend_Db_Statement_Db2_Exception( - db2_stmt_errormsg(), - db2_stmt_error() - ); - } - } - - /** - * Binds a parameter to the specified variable name. - * - * @param mixed $parameter Name the parameter, either integer or string. - * @param mixed $variable Reference to PHP variable containing the value. - * @param mixed $type OPTIONAL Datatype of SQL parameter. - * @param mixed $length OPTIONAL Length of SQL parameter. - * @param mixed $options OPTIONAL Other options. - * @return bool - * @throws Zend_Db_Statement_Db2_Exception - */ - public function _bindParam($parameter, &$variable, $type = null, $length = null, $options = null) - { - if ($type === null) { - $type = DB2_PARAM_IN; - } - - if (isset($options['data-type'])) { - $datatype = $options['data-type']; - } else { - $datatype = DB2_CHAR; - } - - if (!db2_bind_param($this->_stmt, $position, "variable", $type, $datatype)) { - /** - * @see Zend_Db_Statement_Db2_Exception - */ - require_once 'Zend/Db/Statement/Db2/Exception.php'; - throw new Zend_Db_Statement_Db2_Exception( - db2_stmt_errormsg(), - db2_stmt_error() - ); - } - - return true; - } - - /** - * Closes the cursor, allowing the statement to be executed again. - * - * @return bool - */ - public function closeCursor() - { - if (!$this->_stmt) { - return false; - } - db2_free_stmt($this->_stmt); - $this->_stmt = false; - return true; - } - - - /** - * Returns the number of columns in the result set. - * Returns null if the statement has no result set metadata. - * - * @return int The number of columns. - */ - public function columnCount() - { - if (!$this->_stmt) { - return false; - } - return db2_num_fields($this->_stmt); - } - - /** - * Retrieves the error code, if any, associated with the last operation on - * the statement handle. - * - * @return string error code. - */ - public function errorCode() - { - if (!$this->_stmt) { - return false; - } - - $error = db2_stmt_error(); - if ($error === '') { - return false; - } - - return $error; - } - - /** - * Retrieves an array of error information, if any, associated with the - * last operation on the statement handle. - * - * @return array - */ - public function errorInfo() - { - $error = $this->errorCode(); - if ($error === false){ - return false; - } - - /* - * Return three-valued array like PDO. But DB2 does not distinguish - * between SQLCODE and native RDBMS error code, so repeat the SQLCODE. - */ - return array( - $error, - $error, - db2_stmt_errormsg() - ); - } - - /** - * Executes a prepared statement. - * - * @param array $params OPTIONAL Values to bind to parameter placeholders. - * @return bool - * @throws Zend_Db_Statement_Db2_Exception - */ - public function _execute(array $params = null) - { - if (!$this->_stmt) { - return false; - } - - $retval = true; - if ($params !== null) { - $retval = @db2_execute($this->_stmt, $params); - } else { - $retval = @db2_execute($this->_stmt); - } - - if ($retval === false) { - /** - * @see Zend_Db_Statement_Db2_Exception - */ - require_once 'Zend/Db/Statement/Db2/Exception.php'; - throw new Zend_Db_Statement_Db2_Exception( - db2_stmt_errormsg(), - db2_stmt_error()); - } - - $this->_keys = array(); - if ($field_num = $this->columnCount()) { - for ($i = 0; $i < $field_num; $i++) { - $name = db2_field_name($this->_stmt, $i); - $this->_keys[] = $name; - } - } - - $this->_values = array(); - if ($this->_keys) { - $this->_values = array_fill(0, count($this->_keys), null); - } - - return $retval; - } - - /** - * Fetches a row from the result set. - * - * @param int $style OPTIONAL Fetch mode for this fetch operation. - * @param int $cursor OPTIONAL Absolute, relative, or other. - * @param int $offset OPTIONAL Number for absolute or relative cursors. - * @return mixed Array, object, or scalar depending on fetch mode. - * @throws Zend_Db_Statement_Db2_Exception - */ - public function fetch($style = null, $cursor = null, $offset = null) - { - if (!$this->_stmt) { - return false; - } - - if ($style === null) { - $style = $this->_fetchMode; - } - - switch ($style) { - case Zend_Db::FETCH_NUM : - $row = db2_fetch_array($this->_stmt); - break; - case Zend_Db::FETCH_ASSOC : - $row = db2_fetch_assoc($this->_stmt); - break; - case Zend_Db::FETCH_BOTH : - $row = db2_fetch_both($this->_stmt); - break; - case Zend_Db::FETCH_OBJ : - $row = db2_fetch_object($this->_stmt); - break; - case Zend_Db::FETCH_BOUND: - $row = db2_fetch_both($this->_stmt); - if ($row !== false) { - return $this->_fetchBound($row); - } - break; - default: - /** - * @see Zend_Db_Statement_Db2_Exception - */ - require_once 'Zend/Db/Statement/Db2/Exception.php'; - throw new Zend_Db_Statement_Db2_Exception("Invalid fetch mode '$style' specified"); - break; - } - - return $row; - } - - /** - * Fetches the next row and returns it as an object. - * - * @param string $class OPTIONAL Name of the class to create. - * @param array $config OPTIONAL Constructor arguments for the class. - * @return mixed One object instance of the specified class. - */ - public function fetchObject($class = 'stdClass', array $config = array()) - { - $obj = $this->fetch(Zend_Db::FETCH_OBJ); - return $obj; - } - - /** - * Retrieves the next rowset (result set) for a SQL statement that has - * multiple result sets. An example is a stored procedure that returns - * the results of multiple queries. - * - * @return bool - * @throws Zend_Db_Statement_Db2_Exception - */ - public function nextRowset() - { - /** - * @see Zend_Db_Statement_Db2_Exception - */ - require_once 'Zend/Db/Statement/Db2/Exception.php'; - throw new Zend_Db_Statement_Db2_Exception(__FUNCTION__ . '() is not implemented'); - } - - /** - * Returns the number of rows affected by the execution of the - * last INSERT, DELETE, or UPDATE statement executed by this - * statement object. - * - * @return int The number of rows affected. - */ - public function rowCount() - { - if (!$this->_stmt) { - return false; - } - - $num = @db2_num_rows($this->_stmt); - - if ($num === false) { - return 0; - } - - return $num; - } - - /** - * Returns an array containing all of the result set rows. - * - * @param int $style OPTIONAL Fetch mode. - * @param int $col OPTIONAL Column number, if fetch mode is by column. - * @return array Collection of rows, each in a format by the fetch mode. - * - * Behaves like parent, but if limit() - * is used, the final result removes the extra column - * 'zend_db_rownum' - */ - public function fetchAll($style = null, $col = null) - { - $data = parent::fetchAll($style, $col); - $results = array(); - $remove = $this->_adapter->foldCase('ZEND_DB_ROWNUM'); - - foreach ($data as $row) { - if (is_array($row) && array_key_exists($remove, $row)) { - unset($row[$remove]); - } - $results[] = $row; - } - return $results; - } -} diff --git a/lib/zend/Zend/Db/Statement/Db2/Exception.php b/lib/zend/Zend/Db/Statement/Db2/Exception.php deleted file mode 100644 index 77888cbda3..0000000000 --- a/lib/zend/Zend/Db/Statement/Db2/Exception.php +++ /dev/null @@ -1,58 +0,0 @@ -message = $msg; - $this->code = $state; - } - -} - diff --git a/lib/zend/Zend/Db/Statement/Exception.php b/lib/zend/Zend/Db/Statement/Exception.php deleted file mode 100644 index 94b5407ed3..0000000000 --- a/lib/zend/Zend/Db/Statement/Exception.php +++ /dev/null @@ -1,73 +0,0 @@ -message = $message; - $this->code = $code; - $this->_chainedException = $chainedException; - } - - /** - * Check if this general exception has a specific database driver specific exception nested inside. - * - * @return bool - */ - public function hasChainedException() - { - return ($this->_chainedException!==null); - } - - /** - * @return Exception|null - */ - public function getChainedException() - { - return $this->_chainedException; - } -} diff --git a/lib/zend/Zend/Db/Statement/Interface.php b/lib/zend/Zend/Db/Statement/Interface.php deleted file mode 100644 index b969160aac..0000000000 --- a/lib/zend/Zend/Db/Statement/Interface.php +++ /dev/null @@ -1,203 +0,0 @@ -_adapter->getConnection(); - - $this->_stmt = $mysqli->prepare($sql); - - if ($this->_stmt === false || $mysqli->errno) { - /** - * @see Zend_Db_Statement_Mysqli_Exception - */ - require_once 'Zend/Db/Statement/Mysqli/Exception.php'; - throw new Zend_Db_Statement_Mysqli_Exception("Mysqli prepare error: " . $mysqli->error, $mysqli->errno); - } - } - - /** - * Binds a parameter to the specified variable name. - * - * @param mixed $parameter Name the parameter, either integer or string. - * @param mixed $variable Reference to PHP variable containing the value. - * @param mixed $type OPTIONAL Datatype of SQL parameter. - * @param mixed $length OPTIONAL Length of SQL parameter. - * @param mixed $options OPTIONAL Other options. - * @return bool - * @throws Zend_Db_Statement_Mysqli_Exception - */ - protected function _bindParam($parameter, &$variable, $type = null, $length = null, $options = null) - { - return true; - } - - /** - * Closes the cursor and the statement. - * - * @return bool - */ - public function close() - { - if ($this->_stmt) { - $r = $this->_stmt->close(); - $this->_stmt = null; - return $r; - } - return false; - } - - /** - * Closes the cursor, allowing the statement to be executed again. - * - * @return bool - */ - public function closeCursor() - { - if ($stmt = $this->_stmt) { - $mysqli = $this->_adapter->getConnection(); - while ($mysqli->more_results()) { - $mysqli->next_result(); - } - $this->_stmt->free_result(); - return $this->_stmt->reset(); - } - return false; - } - - /** - * Returns the number of columns in the result set. - * Returns null if the statement has no result set metadata. - * - * @return int The number of columns. - */ - public function columnCount() - { - if (isset($this->_meta) && $this->_meta) { - return $this->_meta->field_count; - } - return 0; - } - - /** - * Retrieves the error code, if any, associated with the last operation on - * the statement handle. - * - * @return string error code. - */ - public function errorCode() - { - if (!$this->_stmt) { - return false; - } - return substr($this->_stmt->sqlstate, 0, 5); - } - - /** - * Retrieves an array of error information, if any, associated with the - * last operation on the statement handle. - * - * @return array - */ - public function errorInfo() - { - if (!$this->_stmt) { - return false; - } - return array( - substr($this->_stmt->sqlstate, 0, 5), - $this->_stmt->errno, - $this->_stmt->error, - ); - } - - /** - * Executes a prepared statement. - * - * @param array $params OPTIONAL Values to bind to parameter placeholders. - * @return bool - * @throws Zend_Db_Statement_Mysqli_Exception - */ - public function _execute(array $params = null) - { - if (!$this->_stmt) { - return false; - } - - // if no params were given as an argument to execute(), - // then default to the _bindParam array - if ($params === null) { - $params = $this->_bindParam; - } - // send $params as input parameters to the statement - if ($params) { - array_unshift($params, str_repeat('s', count($params))); - $stmtParams = array(); - foreach ($params as $k => &$value) { - $stmtParams[$k] = &$value; - } - call_user_func_array( - array($this->_stmt, 'bind_param'), - $stmtParams - ); - } - - // execute the statement - $retval = $this->_stmt->execute(); - if ($retval === false) { - /** - * @see Zend_Db_Statement_Mysqli_Exception - */ - require_once 'Zend/Db/Statement/Mysqli/Exception.php'; - throw new Zend_Db_Statement_Mysqli_Exception("Mysqli statement execute error : " . $this->_stmt->error, $this->_stmt->errno); - } - - - // retain metadata - if ($this->_meta === null) { - $this->_meta = $this->_stmt->result_metadata(); - if ($this->_stmt->errno) { - /** - * @see Zend_Db_Statement_Mysqli_Exception - */ - require_once 'Zend/Db/Statement/Mysqli/Exception.php'; - throw new Zend_Db_Statement_Mysqli_Exception("Mysqli statement metadata error: " . $this->_stmt->error, $this->_stmt->errno); - } - } - - // statements that have no result set do not return metadata - if ($this->_meta !== false) { - - // get the column names that will result - $this->_keys = array(); - foreach ($this->_meta->fetch_fields() as $col) { - $this->_keys[] = $this->_adapter->foldCase($col->name); - } - - // set up a binding space for result variables - $this->_values = array_fill(0, count($this->_keys), null); - - // set up references to the result binding space. - // just passing $this->_values in the call_user_func_array() - // below won't work, you need references. - $refs = array(); - foreach ($this->_values as $i => &$f) { - $refs[$i] = &$f; - } - - $this->_stmt->store_result(); - // bind to the result variables - call_user_func_array( - array($this->_stmt, 'bind_result'), - $this->_values - ); - } - return $retval; - } - - - /** - * Fetches a row from the result set. - * - * @param int $style OPTIONAL Fetch mode for this fetch operation. - * @param int $cursor OPTIONAL Absolute, relative, or other. - * @param int $offset OPTIONAL Number for absolute or relative cursors. - * @return mixed Array, object, or scalar depending on fetch mode. - * @throws Zend_Db_Statement_Mysqli_Exception - */ - public function fetch($style = null, $cursor = null, $offset = null) - { - if (!$this->_stmt) { - return false; - } - // fetch the next result - $retval = $this->_stmt->fetch(); - switch ($retval) { - case null: // end of data - case false: // error occurred - $this->_stmt->reset(); - return false; - default: - // fallthrough - } - - // make sure we have a fetch mode - if ($style === null) { - $style = $this->_fetchMode; - } - - // dereference the result values, otherwise things like fetchAll() - // return the same values for every entry (because of the reference). - $values = array(); - foreach ($this->_values as $key => $val) { - $values[] = $val; - } - - $row = false; - switch ($style) { - case Zend_Db::FETCH_NUM: - $row = $values; - break; - case Zend_Db::FETCH_ASSOC: - $row = array_combine($this->_keys, $values); - break; - case Zend_Db::FETCH_BOTH: - $assoc = array_combine($this->_keys, $values); - $row = array_merge($values, $assoc); - break; - case Zend_Db::FETCH_OBJ: - $row = (object) array_combine($this->_keys, $values); - break; - case Zend_Db::FETCH_BOUND: - $assoc = array_combine($this->_keys, $values); - $row = array_merge($values, $assoc); - return $this->_fetchBound($row); - break; - default: - /** - * @see Zend_Db_Statement_Mysqli_Exception - */ - require_once 'Zend/Db/Statement/Mysqli/Exception.php'; - throw new Zend_Db_Statement_Mysqli_Exception("Invalid fetch mode '$style' specified"); - break; - } - return $row; - } - - /** - * Retrieves the next rowset (result set) for a SQL statement that has - * multiple result sets. An example is a stored procedure that returns - * the results of multiple queries. - * - * @return bool - * @throws Zend_Db_Statement_Mysqli_Exception - */ - public function nextRowset() - { - /** - * @see Zend_Db_Statement_Mysqli_Exception - */ - require_once 'Zend/Db/Statement/Mysqli/Exception.php'; - throw new Zend_Db_Statement_Mysqli_Exception(__FUNCTION__.'() is not implemented'); - } - - /** - * Returns the number of rows affected by the execution of the - * last INSERT, DELETE, or UPDATE statement executed by this - * statement object. - * - * @return int The number of rows affected. - */ - public function rowCount() - { - if (!$this->_adapter) { - return false; - } - $mysqli = $this->_adapter->getConnection(); - return $mysqli->affected_rows; - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/Db/Statement/Mysqli/Exception.php b/lib/zend/Zend/Db/Statement/Mysqli/Exception.php deleted file mode 100644 index 3d775d0a2d..0000000000 --- a/lib/zend/Zend/Db/Statement/Mysqli/Exception.php +++ /dev/null @@ -1,38 +0,0 @@ -_lobAsString = (bool) $lob_as_string; - return $this; - } - - /** - * Return whether or not LOB are returned as string - * - * @return boolean - */ - public function getLobAsString() - { - return $this->_lobAsString; - } - - /** - * Prepares statement handle - * - * @param string $sql - * @return void - * @throws Zend_Db_Statement_Oracle_Exception - */ - protected function _prepare($sql) - { - $connection = $this->_adapter->getConnection(); - $this->_stmt = oci_parse($connection, $sql); - if (!$this->_stmt) { - /** - * @see Zend_Db_Statement_Oracle_Exception - */ - require_once 'Zend/Db/Statement/Oracle/Exception.php'; - throw new Zend_Db_Statement_Oracle_Exception(oci_error($connection)); - } - } - - /** - * Binds a parameter to the specified variable name. - * - * @param mixed $parameter Name the parameter, either integer or string. - * @param mixed $variable Reference to PHP variable containing the value. - * @param mixed $type OPTIONAL Datatype of SQL parameter. - * @param mixed $length OPTIONAL Length of SQL parameter. - * @param mixed $options OPTIONAL Other options. - * @return bool - * @throws Zend_Db_Statement_Exception - */ - protected function _bindParam($parameter, &$variable, $type = null, $length = null, $options = null) - { - // default value - if ($type === NULL) { - $type = SQLT_CHR; - } - - // default value - if ($length === NULL) { - $length = -1; - } - - $retval = @oci_bind_by_name($this->_stmt, $parameter, $variable, $length, $type); - if ($retval === false) { - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Statement/Oracle/Exception.php'; - throw new Zend_Db_Statement_Oracle_Exception(oci_error($this->_stmt)); - } - - return true; - } - - /** - * Closes the cursor, allowing the statement to be executed again. - * - * @return bool - */ - public function closeCursor() - { - if (!$this->_stmt) { - return false; - } - - oci_free_statement($this->_stmt); - $this->_stmt = false; - return true; - } - - /** - * Returns the number of columns in the result set. - * Returns null if the statement has no result set metadata. - * - * @return int The number of columns. - */ - public function columnCount() - { - if (!$this->_stmt) { - return false; - } - - return oci_num_fields($this->_stmt); - } - - - /** - * Retrieves the error code, if any, associated with the last operation on - * the statement handle. - * - * @return string error code. - */ - public function errorCode() - { - if (!$this->_stmt) { - return false; - } - - $error = oci_error($this->_stmt); - - if (!$error) { - return false; - } - - return $error['code']; - } - - - /** - * Retrieves an array of error information, if any, associated with the - * last operation on the statement handle. - * - * @return array - */ - public function errorInfo() - { - if (!$this->_stmt) { - return false; - } - - $error = oci_error($this->_stmt); - if (!$error) { - return false; - } - - if (isset($error['sqltext'])) { - return array( - $error['code'], - $error['message'], - $error['offset'], - $error['sqltext'], - ); - } else { - return array( - $error['code'], - $error['message'], - ); - } - } - - - /** - * Executes a prepared statement. - * - * @param array $params OPTIONAL Values to bind to parameter placeholders. - * @return bool - * @throws Zend_Db_Statement_Exception - */ - public function _execute(array $params = null) - { - $connection = $this->_adapter->getConnection(); - if (!$this->_stmt) { - return false; - } - - if (! $this->_stmt) { - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Statement/Oracle/Exception.php'; - throw new Zend_Db_Statement_Oracle_Exception(oci_error($connection)); - } - - if ($params !== null) { - if (!is_array($params)) { - $params = array($params); - } - $error = false; - foreach (array_keys($params) as $name) { - if (!@oci_bind_by_name($this->_stmt, $name, $params[$name], -1)) { - $error = true; - break; - } - } - if ($error) { - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Statement/Oracle/Exception.php'; - throw new Zend_Db_Statement_Oracle_Exception(oci_error($this->_stmt)); - } - } - - $retval = @oci_execute($this->_stmt, $this->_adapter->_getExecuteMode()); - if ($retval === false) { - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Statement/Oracle/Exception.php'; - throw new Zend_Db_Statement_Oracle_Exception(oci_error($this->_stmt)); - } - - $this->_keys = Array(); - if ($field_num = oci_num_fields($this->_stmt)) { - for ($i = 1; $i <= $field_num; $i++) { - $name = oci_field_name($this->_stmt, $i); - $this->_keys[] = $name; - } - } - - $this->_values = Array(); - if ($this->_keys) { - $this->_values = array_fill(0, count($this->_keys), null); - } - - return $retval; - } - - /** - * Fetches a row from the result set. - * - * @param int $style OPTIONAL Fetch mode for this fetch operation. - * @param int $cursor OPTIONAL Absolute, relative, or other. - * @param int $offset OPTIONAL Number for absolute or relative cursors. - * @return mixed Array, object, or scalar depending on fetch mode. - * @throws Zend_Db_Statement_Exception - */ - public function fetch($style = null, $cursor = null, $offset = null) - { - if (!$this->_stmt) { - return false; - } - - if ($style === null) { - $style = $this->_fetchMode; - } - - $lob_as_string = $this->getLobAsString() ? OCI_RETURN_LOBS : 0; - - switch ($style) { - case Zend_Db::FETCH_NUM: - $row = oci_fetch_array($this->_stmt, OCI_NUM | OCI_RETURN_NULLS | $lob_as_string); - break; - case Zend_Db::FETCH_ASSOC: - $row = oci_fetch_array($this->_stmt, OCI_ASSOC | OCI_RETURN_NULLS | $lob_as_string); - break; - case Zend_Db::FETCH_BOTH: - $row = oci_fetch_array($this->_stmt, OCI_BOTH | OCI_RETURN_NULLS | $lob_as_string); - break; - case Zend_Db::FETCH_OBJ: - $row = oci_fetch_object($this->_stmt); - break; - case Zend_Db::FETCH_BOUND: - $row = oci_fetch_array($this->_stmt, OCI_BOTH | OCI_RETURN_NULLS | $lob_as_string); - if ($row !== false) { - return $this->_fetchBound($row); - } - break; - default: - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Statement/Oracle/Exception.php'; - throw new Zend_Db_Statement_Oracle_Exception( - array( - 'code' => 'HYC00', - 'message' => "Invalid fetch mode '$style' specified" - ) - ); - break; - } - - if (! $row && $error = oci_error($this->_stmt)) { - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Statement/Oracle/Exception.php'; - throw new Zend_Db_Statement_Oracle_Exception($error); - } - - if (is_array($row) && array_key_exists('zend_db_rownum', $row)) { - unset($row['zend_db_rownum']); - } - - return $row; - } - - /** - * Returns an array containing all of the result set rows. - * - * @param int $style OPTIONAL Fetch mode. - * @param int $col OPTIONAL Column number, if fetch mode is by column. - * @return array Collection of rows, each in a format by the fetch mode. - * @throws Zend_Db_Statement_Exception - */ - public function fetchAll($style = null, $col = 0) - { - if (!$this->_stmt) { - return false; - } - - // make sure we have a fetch mode - if ($style === null) { - $style = $this->_fetchMode; - } - - $flags = OCI_FETCHSTATEMENT_BY_ROW; - - switch ($style) { - case Zend_Db::FETCH_BOTH: - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Statement/Oracle/Exception.php'; - throw new Zend_Db_Statement_Oracle_Exception( - array( - 'code' => 'HYC00', - 'message' => "OCI8 driver does not support fetchAll(FETCH_BOTH), use fetch() in a loop instead" - ) - ); - // notreached - $flags |= OCI_NUM; - $flags |= OCI_ASSOC; - break; - case Zend_Db::FETCH_NUM: - $flags |= OCI_NUM; - break; - case Zend_Db::FETCH_ASSOC: - $flags |= OCI_ASSOC; - break; - case Zend_Db::FETCH_OBJ: - break; - case Zend_Db::FETCH_COLUMN: - $flags = $flags &~ OCI_FETCHSTATEMENT_BY_ROW; - $flags |= OCI_FETCHSTATEMENT_BY_COLUMN; - $flags |= OCI_NUM; - break; - default: - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Statement/Oracle/Exception.php'; - throw new Zend_Db_Statement_Oracle_Exception( - array( - 'code' => 'HYC00', - 'message' => "Invalid fetch mode '$style' specified" - ) - ); - break; - } - - $result = Array(); - if ($flags != OCI_FETCHSTATEMENT_BY_ROW) { /* not Zend_Db::FETCH_OBJ */ - if (! ($rows = oci_fetch_all($this->_stmt, $result, 0, -1, $flags) )) { - if ($error = oci_error($this->_stmt)) { - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Statement/Oracle/Exception.php'; - throw new Zend_Db_Statement_Oracle_Exception($error); - } - if (!$rows) { - return array(); - } - } - if ($style == Zend_Db::FETCH_COLUMN) { - $result = $result[$col]; - } - foreach ($result as &$row) { - if (is_array($row) && array_key_exists('zend_db_rownum', $row)) { - unset($row['zend_db_rownum']); - } - } - } else { - while (($row = oci_fetch_object($this->_stmt)) !== false) { - $result [] = $row; - } - if ($error = oci_error($this->_stmt)) { - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Statement/Oracle/Exception.php'; - throw new Zend_Db_Statement_Oracle_Exception($error); - } - } - - return $result; - } - - - /** - * Returns a single column from the next row of a result set. - * - * @param int $col OPTIONAL Position of the column to fetch. - * @return string - * @throws Zend_Db_Statement_Exception - */ - public function fetchColumn($col = 0) - { - if (!$this->_stmt) { - return false; - } - - if (!oci_fetch($this->_stmt)) { - // if no error, there is simply no record - if (!$error = oci_error($this->_stmt)) { - return false; - } - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Statement/Oracle/Exception.php'; - throw new Zend_Db_Statement_Oracle_Exception($error); - } - - $data = oci_result($this->_stmt, $col+1); //1-based - if ($data === false) { - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Statement/Oracle/Exception.php'; - throw new Zend_Db_Statement_Oracle_Exception(oci_error($this->_stmt)); - } - - if ($this->getLobAsString()) { - // instanceof doesn't allow '-', we must use a temporary string - $type = 'OCI-Lob'; - if ($data instanceof $type) { - $data = $data->read($data->size()); - } - } - - return $data; - } - - /** - * Fetches the next row and returns it as an object. - * - * @param string $class OPTIONAL Name of the class to create. - * @param array $config OPTIONAL Constructor arguments for the class. - * @return mixed One object instance of the specified class. - * @throws Zend_Db_Statement_Exception - */ - public function fetchObject($class = 'stdClass', array $config = array()) - { - if (!$this->_stmt) { - return false; - } - - $obj = oci_fetch_object($this->_stmt); - - if ($error = oci_error($this->_stmt)) { - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Statement/Oracle/Exception.php'; - throw new Zend_Db_Statement_Oracle_Exception($error); - } - - /* @todo XXX handle parameters */ - - return $obj; - } - - /** - * Retrieves the next rowset (result set) for a SQL statement that has - * multiple result sets. An example is a stored procedure that returns - * the results of multiple queries. - * - * @return bool - * @throws Zend_Db_Statement_Exception - */ - public function nextRowset() - { - /** - * @see Zend_Db_Statement_Oracle_Exception - */ - require_once 'Zend/Db/Statement/Oracle/Exception.php'; - throw new Zend_Db_Statement_Oracle_Exception( - array( - 'code' => 'HYC00', - 'message' => 'Optional feature not implemented' - ) - ); - } - - /** - * Returns the number of rows affected by the execution of the - * last INSERT, DELETE, or UPDATE statement executed by this - * statement object. - * - * @return int The number of rows affected. - * @throws Zend_Db_Statement_Exception - */ - public function rowCount() - { - if (!$this->_stmt) { - return false; - } - - $num_rows = oci_num_rows($this->_stmt); - - if ($num_rows === false) { - /** - * @see Zend_Db_Adapter_Oracle_Exception - */ - require_once 'Zend/Db/Statement/Oracle/Exception.php'; - throw new Zend_Db_Statement_Oracle_Exception(oci_error($this->_stmt)); - } - - return $num_rows; - } - -} diff --git a/lib/zend/Zend/Db/Statement/Oracle/Exception.php b/lib/zend/Zend/Db/Statement/Oracle/Exception.php deleted file mode 100644 index ae148355bb..0000000000 --- a/lib/zend/Zend/Db/Statement/Oracle/Exception.php +++ /dev/null @@ -1,59 +0,0 @@ -message = $error['code']." ".$error['message']; - } else { - $this->message = $error['code']." ".$error['message']." "; - $this->message .= substr($error['sqltext'], 0, $error['offset']); - $this->message .= "*"; - $this->message .= substr($error['sqltext'], $error['offset']); - } - $this->code = $error['code']; - } - if (!$this->code && $code) { - $this->code = $code; - } - } -} - diff --git a/lib/zend/Zend/Db/Statement/Pdo.php b/lib/zend/Zend/Db/Statement/Pdo.php deleted file mode 100644 index 71ac623116..0000000000 --- a/lib/zend/Zend/Db/Statement/Pdo.php +++ /dev/null @@ -1,439 +0,0 @@ -_stmt = $this->_adapter->getConnection()->prepare($sql); - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Bind a column of the statement result set to a PHP variable. - * - * @param string $column Name the column in the result set, either by - * position or by name. - * @param mixed $param Reference to the PHP variable containing the value. - * @param mixed $type OPTIONAL - * @return bool - * @throws Zend_Db_Statement_Exception - */ - public function bindColumn($column, &$param, $type = null) - { - try { - if ($type === null) { - return $this->_stmt->bindColumn($column, $param); - } else { - return $this->_stmt->bindColumn($column, $param, $type); - } - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Binds a parameter to the specified variable name. - * - * @param mixed $parameter Name the parameter, either integer or string. - * @param mixed $variable Reference to PHP variable containing the value. - * @param mixed $type OPTIONAL Datatype of SQL parameter. - * @param mixed $length OPTIONAL Length of SQL parameter. - * @param mixed $options OPTIONAL Other options. - * @return bool - * @throws Zend_Db_Statement_Exception - */ - protected function _bindParam($parameter, &$variable, $type = null, $length = null, $options = null) - { - try { - if ($type === null) { - if (is_bool($variable)) { - $type = PDO::PARAM_BOOL; - } elseif ($variable === null) { - $type = PDO::PARAM_NULL; - } elseif (is_integer($variable)) { - $type = PDO::PARAM_INT; - } else { - $type = PDO::PARAM_STR; - } - } - return $this->_stmt->bindParam($parameter, $variable, $type, $length, $options); - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Binds a value to a parameter. - * - * @param mixed $parameter Name the parameter, either integer or string. - * @param mixed $value Scalar value to bind to the parameter. - * @param mixed $type OPTIONAL Datatype of the parameter. - * @return bool - * @throws Zend_Db_Statement_Exception - */ - public function bindValue($parameter, $value, $type = null) - { - if (is_string($parameter) && $parameter[0] != ':') { - $parameter = ":$parameter"; - } - - $this->_bindParam[$parameter] = $value; - - try { - if ($type === null) { - return $this->_stmt->bindValue($parameter, $value); - } else { - return $this->_stmt->bindValue($parameter, $value, $type); - } - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Closes the cursor, allowing the statement to be executed again. - * - * @return bool - * @throws Zend_Db_Statement_Exception - */ - public function closeCursor() - { - try { - return $this->_stmt->closeCursor(); - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Returns the number of columns in the result set. - * Returns null if the statement has no result set metadata. - * - * @return int The number of columns. - * @throws Zend_Db_Statement_Exception - */ - public function columnCount() - { - try { - return $this->_stmt->columnCount(); - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Retrieves the error code, if any, associated with the last operation on - * the statement handle. - * - * @return string error code. - * @throws Zend_Db_Statement_Exception - */ - public function errorCode() - { - try { - return $this->_stmt->errorCode(); - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Retrieves an array of error information, if any, associated with the - * last operation on the statement handle. - * - * @return array - * @throws Zend_Db_Statement_Exception - */ - public function errorInfo() - { - try { - return $this->_stmt->errorInfo(); - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Executes a prepared statement. - * - * @param array $params OPTIONAL Values to bind to parameter placeholders. - * @return bool - * @throws Zend_Db_Statement_Exception - */ - public function _execute(array $params = null) - { - try { - if ($params !== null) { - return $this->_stmt->execute($params); - } else { - return $this->_stmt->execute(); - } - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Fetches a row from the result set. - * - * @param int $style OPTIONAL Fetch mode for this fetch operation. - * @param int $cursor OPTIONAL Absolute, relative, or other. - * @param int $offset OPTIONAL Number for absolute or relative cursors. - * @return mixed Array, object, or scalar depending on fetch mode. - * @throws Zend_Db_Statement_Exception - */ - public function fetch($style = null, $cursor = null, $offset = null) - { - if ($style === null) { - $style = $this->_fetchMode; - } - try { - return $this->_stmt->fetch($style, $cursor, $offset); - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Required by IteratorAggregate interface - * - * @return IteratorIterator - */ - public function getIterator() - { - return new IteratorIterator($this->_stmt); - } - - /** - * Returns an array containing all of the result set rows. - * - * @param int $style OPTIONAL Fetch mode. - * @param int $col OPTIONAL Column number, if fetch mode is by column. - * @return array Collection of rows, each in a format by the fetch mode. - * @throws Zend_Db_Statement_Exception - */ - public function fetchAll($style = null, $col = null) - { - if ($style === null) { - $style = $this->_fetchMode; - } - try { - if ($style == PDO::FETCH_COLUMN) { - if ($col === null) { - $col = 0; - } - return $this->_stmt->fetchAll($style, $col); - } else { - return $this->_stmt->fetchAll($style); - } - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Returns a single column from the next row of a result set. - * - * @param int $col OPTIONAL Position of the column to fetch. - * @return string - * @throws Zend_Db_Statement_Exception - */ - public function fetchColumn($col = 0) - { - try { - return $this->_stmt->fetchColumn($col); - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Fetches the next row and returns it as an object. - * - * @param string $class OPTIONAL Name of the class to create. - * @param array $config OPTIONAL Constructor arguments for the class. - * @return mixed One object instance of the specified class. - * @throws Zend_Db_Statement_Exception - */ - public function fetchObject($class = 'stdClass', array $config = array()) - { - try { - return $this->_stmt->fetchObject($class, $config); - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Retrieve a statement attribute. - * - * @param integer $key Attribute name. - * @return mixed Attribute value. - * @throws Zend_Db_Statement_Exception - */ - public function getAttribute($key) - { - try { - return $this->_stmt->getAttribute($key); - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Returns metadata for a column in a result set. - * - * @param int $column - * @return mixed - * @throws Zend_Db_Statement_Exception - */ - public function getColumnMeta($column) - { - try { - return $this->_stmt->getColumnMeta($column); - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Retrieves the next rowset (result set) for a SQL statement that has - * multiple result sets. An example is a stored procedure that returns - * the results of multiple queries. - * - * @return bool - * @throws Zend_Db_Statement_Exception - */ - public function nextRowset() - { - try { - return $this->_stmt->nextRowset(); - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Returns the number of rows affected by the execution of the - * last INSERT, DELETE, or UPDATE statement executed by this - * statement object. - * - * @return int The number of rows affected. - * @throws Zend_Db_Statement_Exception - */ - public function rowCount() - { - try { - return $this->_stmt->rowCount(); - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Set a statement attribute. - * - * @param string $key Attribute name. - * @param mixed $val Attribute value. - * @return bool - * @throws Zend_Db_Statement_Exception - */ - public function setAttribute($key, $val) - { - try { - return $this->_stmt->setAttribute($key, $val); - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Set the default fetch mode for this statement. - * - * @param int $mode The fetch mode. - * @return bool - * @throws Zend_Db_Statement_Exception - */ - public function setFetchMode($mode) - { - $this->_fetchMode = $mode; - try { - return $this->_stmt->setFetchMode($mode); - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - -} diff --git a/lib/zend/Zend/Db/Statement/Pdo/Ibm.php b/lib/zend/Zend/Db/Statement/Pdo/Ibm.php deleted file mode 100644 index 87f808f6a3..0000000000 --- a/lib/zend/Zend/Db/Statement/Pdo/Ibm.php +++ /dev/null @@ -1,94 +0,0 @@ -_adapter->foldCase('ZEND_DB_ROWNUM'); - - foreach ($data as $row) { - if (is_array($row) && array_key_exists($remove, $row)) { - unset($row[$remove]); - } - $results[] = $row; - } - return $results; - } - - /** - * Binds a parameter to the specified variable name. - * - * @param mixed $parameter Name the parameter, either integer or string. - * @param mixed $variable Reference to PHP variable containing the value. - * @param mixed $type OPTIONAL Datatype of SQL parameter. - * @param mixed $length OPTIONAL Length of SQL parameter. - * @param mixed $options OPTIONAL Other options. - * @return bool - * @throws Zend_Db_Statement_Exception - */ - public function _bindParam($parameter, &$variable, $type = null, $length = null, $options = null) - { - try { - if (($type === null) && ($length === null) && ($options === null)) { - return $this->_stmt->bindParam($parameter, $variable); - } else { - return $this->_stmt->bindParam($parameter, $variable, $type, $length, $options); - } - } catch (PDOException $e) { - require_once 'Zend/Db/Statement/Exception.php'; - throw new Zend_Db_Statement_Exception($e->getMessage(), $e->getCode(), $e); - } - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/Db/Statement/Pdo/Oci.php b/lib/zend/Zend/Db/Statement/Pdo/Oci.php deleted file mode 100644 index 0635cce5de..0000000000 --- a/lib/zend/Zend/Db/Statement/Pdo/Oci.php +++ /dev/null @@ -1,69 +0,0 @@ -_adapter->foldCase('zend_db_rownum'); - - foreach ($data as $row) { - if (is_array($row) && array_key_exists($remove, $row)) { - unset($row[$remove]); - } - $results[] = $row; - } - return $results; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Db/Statement/Sqlsrv.php b/lib/zend/Zend/Db/Statement/Sqlsrv.php deleted file mode 100644 index 45c243edf1..0000000000 --- a/lib/zend/Zend/Db/Statement/Sqlsrv.php +++ /dev/null @@ -1,410 +0,0 @@ -_adapter->getConnection(); - - $this->_stmt = sqlsrv_prepare($connection, $sql); - - if (!$this->_stmt) { - require_once 'Zend/Db/Statement/Sqlsrv/Exception.php'; - throw new Zend_Db_Statement_Sqlsrv_Exception(sqlsrv_errors()); - } - - $this->_originalSQL = $sql; - } - - /** - * Binds a parameter to the specified variable name. - * - * @param mixed $parameter Name the parameter, either integer or string. - * @param mixed $variable Reference to PHP variable containing the value. - * @param mixed $type OPTIONAL Datatype of SQL parameter. - * @param mixed $length OPTIONAL Length of SQL parameter. - * @param mixed $options OPTIONAL Other options. - * @return bool - * @throws Zend_Db_Statement_Exception - */ - protected function _bindParam($parameter, &$variable, $type = null, $length = null, $options = null) - { - //Sql server doesn't support bind by name - return true; - } - - /** - * Closes the cursor, allowing the statement to be executed again. - * - * @return bool - */ - public function closeCursor() - { - if (!$this->_stmt) { - return false; - } - - sqlsrv_free_stmt($this->_stmt); - $this->_stmt = false; - return true; - } - - /** - * Returns the number of columns in the result set. - * Returns null if the statement has no result set metadata. - * - * @return int The number of columns. - */ - public function columnCount() - { - if ($this->_stmt && $this->_executed) { - return sqlsrv_num_fields($this->_stmt); - } - - return 0; - } - - - /** - * Retrieves the error code, if any, associated with the last operation on - * the statement handle. - * - * @return string error code. - */ - public function errorCode() - { - if (!$this->_stmt) { - return false; - } - - $error = sqlsrv_errors(); - if (!$error) { - return false; - } - - return $error[0]['code']; - } - - - /** - * Retrieves an array of error information, if any, associated with the - * last operation on the statement handle. - * - * @return array - */ - public function errorInfo() - { - if (!$this->_stmt) { - return false; - } - - $error = sqlsrv_errors(); - if (!$error) { - return false; - } - - return array( - $error[0]['code'], - $error[0]['message'], - ); - } - - - /** - * Executes a prepared statement. - * - * @param array $params OPTIONAL Values to bind to parameter placeholders. - * @return bool - * @throws Zend_Db_Statement_Exception - */ - public function _execute(array $params = null) - { - $connection = $this->_adapter->getConnection(); - if (!$this->_stmt) { - return false; - } - - if ($params !== null) { - if (!is_array($params)) { - $params = array($params); - } - $error = false; - - // make all params passed by reference - $params_ = array(); - $temp = array(); - $i = 1; - foreach ($params as $param) { - $temp[$i] = $param; - $params_[] = &$temp[$i]; - $i++; - } - $params = $params_; - } - - $this->_stmt = sqlsrv_query($connection, $this->_originalSQL, $params); - - if (!$this->_stmt) { - require_once 'Zend/Db/Statement/Sqlsrv/Exception.php'; - throw new Zend_Db_Statement_Sqlsrv_Exception(sqlsrv_errors()); - } - - $this->_executed = true; - - return (!$this->_stmt); - } - - /** - * Fetches a row from the result set. - * - * @param int $style OPTIONAL Fetch mode for this fetch operation. - * @param int $cursor OPTIONAL Absolute, relative, or other. - * @param int $offset OPTIONAL Number for absolute or relative cursors. - * @return mixed Array, object, or scalar depending on fetch mode. - * @throws Zend_Db_Statement_Exception - */ - public function fetch($style = null, $cursor = null, $offset = null) - { - if (!$this->_stmt) { - return false; - } - - if (null === $style) { - $style = $this->_fetchMode; - } - - $values = sqlsrv_fetch_array($this->_stmt, SQLSRV_FETCH_ASSOC); - - if (!$values && (null !== $error = sqlsrv_errors())) { - require_once 'Zend/Db/Statement/Sqlsrv/Exception.php'; - throw new Zend_Db_Statement_Sqlsrv_Exception($error); - } - - if (null === $values) { - return null; - } - - if (!$this->_keys) { - foreach ($values as $key => $value) { - $this->_keys[] = $this->_adapter->foldCase($key); - } - } - - $values = array_values($values); - - $row = false; - switch ($style) { - case Zend_Db::FETCH_NUM: - $row = $values; - break; - case Zend_Db::FETCH_ASSOC: - $row = array_combine($this->_keys, $values); - break; - case Zend_Db::FETCH_BOTH: - $assoc = array_combine($this->_keys, $values); - $row = array_merge($values, $assoc); - break; - case Zend_Db::FETCH_OBJ: - $row = (object) array_combine($this->_keys, $values); - break; - case Zend_Db::FETCH_BOUND: - $assoc = array_combine($this->_keys, $values); - $row = array_merge($values, $assoc); - $row = $this->_fetchBound($row); - break; - default: - require_once 'Zend/Db/Statement/Sqlsrv/Exception.php'; - throw new Zend_Db_Statement_Sqlsrv_Exception("Invalid fetch mode '$style' specified"); - break; - } - - return $row; - } - - /** - * Returns a single column from the next row of a result set. - * - * @param int $col OPTIONAL Position of the column to fetch. - * @return string - * @throws Zend_Db_Statement_Exception - */ - public function fetchColumn($col = 0) - { - if (!$this->_stmt) { - return false; - } - - if (!sqlsrv_fetch($this->_stmt)) { - if (null !== $error = sqlsrv_errors()) { - require_once 'Zend/Db/Statement/Sqlsrv/Exception.php'; - throw new Zend_Db_Statement_Sqlsrv_Exception($error); - } - - // If no error, there is simply no record - return false; - } - - $data = sqlsrv_get_field($this->_stmt, $col); //0-based - if ($data === false) { - require_once 'Zend/Db/Statement/Sqlsrv/Exception.php'; - throw new Zend_Db_Statement_Sqlsrv_Exception(sqlsrv_errors()); - } - - return $data; - } - - /** - * Fetches the next row and returns it as an object. - * - * @param string $class OPTIONAL Name of the class to create. - * @param array $config OPTIONAL Constructor arguments for the class. - * @return mixed One object instance of the specified class. - * @throws Zend_Db_Statement_Exception - */ - public function fetchObject($class = 'stdClass', array $config = array()) - { - if (!$this->_stmt) { - return false; - } - - $obj = sqlsrv_fetch_object($this->_stmt); - - if ($error = sqlsrv_errors()) { - require_once 'Zend/Db/Statement/Sqlsrv/Exception.php'; - throw new Zend_Db_Statement_Sqlsrv_Exception($error); - } - - /* @todo XXX handle parameters */ - - if (null === $obj) { - return false; - } - - return $obj; - } - - /** - * Returns metadata for a column in a result set. - * - * @param int $column - * @return mixed - * @throws Zend_Db_Statement_Sqlsrv_Exception - */ - public function getColumnMeta($column) - { - $fields = sqlsrv_field_metadata($this->_stmt); - - if (!$fields) { - throw new Zend_Db_Statement_Sqlsrv_Exception('Column metadata can not be fetched'); - } - - if (!isset($fields[$column])) { - throw new Zend_Db_Statement_Sqlsrv_Exception('Column index does not exist in statement'); - } - - return $fields[$column]; - } - - /** - * Retrieves the next rowset (result set) for a SQL statement that has - * multiple result sets. An example is a stored procedure that returns - * the results of multiple queries. - * - * @return bool - * @throws Zend_Db_Statement_Exception - */ - public function nextRowset() - { - if (sqlsrv_next_result($this->_stmt) === false) { - require_once 'Zend/Db/Statement/Sqlsrv/Exception.php'; - throw new Zend_Db_Statement_Sqlsrv_Exception(sqlsrv_errors()); - } - - //else - moved to next (or there are no more rows) - } - - /** - * Returns the number of rows affected by the execution of the - * last INSERT, DELETE, or UPDATE statement executed by this - * statement object. - * - * @return int The number of rows affected. - * @throws Zend_Db_Statement_Exception - */ - public function rowCount() - { - if (!$this->_stmt) { - return false; - } - - if (!$this->_executed) { - return 0; - } - - $num_rows = sqlsrv_rows_affected($this->_stmt); - - // Strict check is necessary; 0 is a valid return value - if ($num_rows === false) { - require_once 'Zend/Db/Statement/Sqlsrv/Exception.php'; - throw new Zend_Db_Statement_Sqlsrv_Exception(sqlsrv_errors()); - } - - return $num_rows; - } -} diff --git a/lib/zend/Zend/Db/Statement/Sqlsrv/Exception.php b/lib/zend/Zend/Db/Statement/Sqlsrv/Exception.php deleted file mode 100644 index 02378627f9..0000000000 --- a/lib/zend/Zend/Db/Statement/Sqlsrv/Exception.php +++ /dev/null @@ -1,59 +0,0 @@ - $config); - } else { - // process this as table with or without a definition - if ($definition instanceof Zend_Db_Table_Definition - && $definition->hasTableConfig($config)) { - // this will have DEFINITION_CONFIG_NAME & DEFINITION - $config = $definition->getTableConfig($config); - } else { - $config = array(self::NAME => $config); - } - } - } - - parent::__construct($config); - } - - - - - -} diff --git a/lib/zend/Zend/Db/Table/Abstract.php b/lib/zend/Zend/Db/Table/Abstract.php deleted file mode 100644 index 4e85deefca..0000000000 --- a/lib/zend/Zend/Db/Table/Abstract.php +++ /dev/null @@ -1,1514 +0,0 @@ - $config); - } - - if ($config) { - $this->setOptions($config); - } - - $this->_setup(); - $this->init(); - } - - /** - * setOptions() - * - * @param array $options - * @return Zend_Db_Table_Abstract - */ - public function setOptions(Array $options) - { - foreach ($options as $key => $value) { - switch ($key) { - case self::ADAPTER: - $this->_setAdapter($value); - break; - case self::DEFINITION: - $this->setDefinition($value); - break; - case self::DEFINITION_CONFIG_NAME: - $this->setDefinitionConfigName($value); - break; - case self::SCHEMA: - $this->_schema = (string) $value; - break; - case self::NAME: - $this->_name = (string) $value; - break; - case self::PRIMARY: - $this->_primary = (array) $value; - break; - case self::ROW_CLASS: - $this->setRowClass($value); - break; - case self::ROWSET_CLASS: - $this->setRowsetClass($value); - break; - case self::REFERENCE_MAP: - $this->setReferences($value); - break; - case self::DEPENDENT_TABLES: - $this->setDependentTables($value); - break; - case self::METADATA_CACHE: - $this->_setMetadataCache($value); - break; - case self::METADATA_CACHE_IN_CLASS: - $this->setMetadataCacheInClass($value); - break; - case self::SEQUENCE: - $this->_setSequence($value); - break; - default: - // ignore unrecognized configuration directive - break; - } - } - - return $this; - } - - /** - * setDefinition() - * - * @param Zend_Db_Table_Definition $definition - * @return Zend_Db_Table_Abstract - */ - public function setDefinition(Zend_Db_Table_Definition $definition) - { - $this->_definition = $definition; - return $this; - } - - /** - * getDefinition() - * - * @return Zend_Db_Table_Definition|null - */ - public function getDefinition() - { - return $this->_definition; - } - - /** - * setDefinitionConfigName() - * - * @param string $definition - * @return Zend_Db_Table_Abstract - */ - public function setDefinitionConfigName($definitionConfigName) - { - $this->_definitionConfigName = $definitionConfigName; - return $this; - } - - /** - * getDefinitionConfigName() - * - * @return string - */ - public function getDefinitionConfigName() - { - return $this->_definitionConfigName; - } - - /** - * @param string $classname - * @return Zend_Db_Table_Abstract Provides a fluent interface - */ - public function setRowClass($classname) - { - $this->_rowClass = (string) $classname; - - return $this; - } - - /** - * @return string - */ - public function getRowClass() - { - return $this->_rowClass; - } - - /** - * @param string $classname - * @return Zend_Db_Table_Abstract Provides a fluent interface - */ - public function setRowsetClass($classname) - { - $this->_rowsetClass = (string) $classname; - - return $this; - } - - /** - * @return string - */ - public function getRowsetClass() - { - return $this->_rowsetClass; - } - - /** - * Add a reference to the reference map - * - * @param string $ruleKey - * @param string|array $columns - * @param string $refTableClass - * @param string|array $refColumns - * @param string $onDelete - * @param string $onUpdate - * @return Zend_Db_Table_Abstract - */ - public function addReference($ruleKey, $columns, $refTableClass, $refColumns, - $onDelete = null, $onUpdate = null) - { - $reference = array(self::COLUMNS => (array) $columns, - self::REF_TABLE_CLASS => $refTableClass, - self::REF_COLUMNS => (array) $refColumns); - - if (!empty($onDelete)) { - $reference[self::ON_DELETE] = $onDelete; - } - - if (!empty($onUpdate)) { - $reference[self::ON_UPDATE] = $onUpdate; - } - - $this->_referenceMap[$ruleKey] = $reference; - - return $this; - } - - /** - * @param array $referenceMap - * @return Zend_Db_Table_Abstract Provides a fluent interface - */ - public function setReferences(array $referenceMap) - { - $this->_referenceMap = $referenceMap; - - return $this; - } - - /** - * @param string $tableClassname - * @param string $ruleKey OPTIONAL - * @return array - * @throws Zend_Db_Table_Exception - */ - public function getReference($tableClassname, $ruleKey = null) - { - $thisClass = get_class($this); - if ($thisClass === 'Zend_Db_Table') { - $thisClass = $this->_definitionConfigName; - } - $refMap = $this->_getReferenceMapNormalized(); - if ($ruleKey !== null) { - if (!isset($refMap[$ruleKey])) { - require_once "Zend/Db/Table/Exception.php"; - throw new Zend_Db_Table_Exception("No reference rule \"$ruleKey\" from table $thisClass to table $tableClassname"); - } - if ($refMap[$ruleKey][self::REF_TABLE_CLASS] != $tableClassname) { - require_once "Zend/Db/Table/Exception.php"; - throw new Zend_Db_Table_Exception("Reference rule \"$ruleKey\" does not reference table $tableClassname"); - } - return $refMap[$ruleKey]; - } - foreach ($refMap as $reference) { - if ($reference[self::REF_TABLE_CLASS] == $tableClassname) { - return $reference; - } - } - require_once "Zend/Db/Table/Exception.php"; - throw new Zend_Db_Table_Exception("No reference from table $thisClass to table $tableClassname"); - } - - /** - * @param array $dependentTables - * @return Zend_Db_Table_Abstract Provides a fluent interface - */ - public function setDependentTables(array $dependentTables) - { - $this->_dependentTables = $dependentTables; - - return $this; - } - - /** - * @return array - */ - public function getDependentTables() - { - return $this->_dependentTables; - } - - /** - * set the defaultSource property - this tells the table class where to find default values - * - * @param string $defaultSource - * @return Zend_Db_Table_Abstract - */ - public function setDefaultSource($defaultSource = self::DEFAULT_NONE) - { - if (!in_array($defaultSource, array(self::DEFAULT_CLASS, self::DEFAULT_DB, self::DEFAULT_NONE))) { - $defaultSource = self::DEFAULT_NONE; - } - - $this->_defaultSource = $defaultSource; - return $this; - } - - /** - * returns the default source flag that determines where defaultSources come from - * - * @return unknown - */ - public function getDefaultSource() - { - return $this->_defaultSource; - } - - /** - * set the default values for the table class - * - * @param array $defaultValues - * @return Zend_Db_Table_Abstract - */ - public function setDefaultValues(Array $defaultValues) - { - foreach ($defaultValues as $defaultName => $defaultValue) { - if (array_key_exists($defaultName, $this->_metadata)) { - $this->_defaultValues[$defaultName] = $defaultValue; - } - } - return $this; - } - - public function getDefaultValues() - { - return $this->_defaultValues; - } - - - /** - * Sets the default Zend_Db_Adapter_Abstract for all Zend_Db_Table objects. - * - * @param mixed $db Either an Adapter object, or a string naming a Registry key - * @return void - */ - public static function setDefaultAdapter($db = null) - { - self::$_defaultDb = self::_setupAdapter($db); - } - - /** - * Gets the default Zend_Db_Adapter_Abstract for all Zend_Db_Table objects. - * - * @return Zend_Db_Adapter_Abstract or null - */ - public static function getDefaultAdapter() - { - return self::$_defaultDb; - } - - /** - * @param mixed $db Either an Adapter object, or a string naming a Registry key - * @return Zend_Db_Table_Abstract Provides a fluent interface - */ - protected function _setAdapter($db) - { - $this->_db = self::_setupAdapter($db); - return $this; - } - - /** - * Gets the Zend_Db_Adapter_Abstract for this particular Zend_Db_Table object. - * - * @return Zend_Db_Adapter_Abstract - */ - public function getAdapter() - { - return $this->_db; - } - - /** - * @param mixed $db Either an Adapter object, or a string naming a Registry key - * @return Zend_Db_Adapter_Abstract - * @throws Zend_Db_Table_Exception - */ - protected static function _setupAdapter($db) - { - if ($db === null) { - return null; - } - if (is_string($db)) { - require_once 'Zend/Registry.php'; - $db = Zend_Registry::get($db); - } - if (!$db instanceof Zend_Db_Adapter_Abstract) { - require_once 'Zend/Db/Table/Exception.php'; - throw new Zend_Db_Table_Exception('Argument must be of type Zend_Db_Adapter_Abstract, or a Registry key where a Zend_Db_Adapter_Abstract object is stored'); - } - return $db; - } - - /** - * Sets the default metadata cache for information returned by Zend_Db_Adapter_Abstract::describeTable(). - * - * If $defaultMetadataCache is null, then no metadata cache is used by default. - * - * @param mixed $metadataCache Either a Cache object, or a string naming a Registry key - * @return void - */ - public static function setDefaultMetadataCache($metadataCache = null) - { - self::$_defaultMetadataCache = self::_setupMetadataCache($metadataCache); - } - - /** - * Gets the default metadata cache for information returned by Zend_Db_Adapter_Abstract::describeTable(). - * - * @return Zend_Cache_Core or null - */ - public static function getDefaultMetadataCache() - { - return self::$_defaultMetadataCache; - } - - /** - * Sets the metadata cache for information returned by Zend_Db_Adapter_Abstract::describeTable(). - * - * If $metadataCache is null, then no metadata cache is used. Since there is no opportunity to reload metadata - * after instantiation, this method need not be public, particularly because that it would have no effect - * results in unnecessary API complexity. To configure the metadata cache, use the metadataCache configuration - * option for the class constructor upon instantiation. - * - * @param mixed $metadataCache Either a Cache object, or a string naming a Registry key - * @return Zend_Db_Table_Abstract Provides a fluent interface - */ - protected function _setMetadataCache($metadataCache) - { - $this->_metadataCache = self::_setupMetadataCache($metadataCache); - return $this; - } - - /** - * Gets the metadata cache for information returned by Zend_Db_Adapter_Abstract::describeTable(). - * - * @return Zend_Cache_Core or null - */ - public function getMetadataCache() - { - return $this->_metadataCache; - } - - /** - * Indicate whether metadata should be cached in the class for the duration - * of the instance - * - * @param bool $flag - * @return Zend_Db_Table_Abstract - */ - public function setMetadataCacheInClass($flag) - { - $this->_metadataCacheInClass = (bool) $flag; - return $this; - } - - /** - * Retrieve flag indicating if metadata should be cached for duration of - * instance - * - * @return bool - */ - public function metadataCacheInClass() - { - return $this->_metadataCacheInClass; - } - - /** - * @param mixed $metadataCache Either a Cache object, or a string naming a Registry key - * @return Zend_Cache_Core - * @throws Zend_Db_Table_Exception - */ - protected static function _setupMetadataCache($metadataCache) - { - if ($metadataCache === null) { - return null; - } - if (is_string($metadataCache)) { - require_once 'Zend/Registry.php'; - $metadataCache = Zend_Registry::get($metadataCache); - } - if (!$metadataCache instanceof Zend_Cache_Core) { - require_once 'Zend/Db/Table/Exception.php'; - throw new Zend_Db_Table_Exception('Argument must be of type Zend_Cache_Core, or a Registry key where a Zend_Cache_Core object is stored'); - } - return $metadataCache; - } - - /** - * Sets the sequence member, which defines the behavior for generating - * primary key values in new rows. - * - If this is a string, then the string names the sequence object. - * - If this is boolean true, then the key uses an auto-incrementing - * or identity mechanism. - * - If this is boolean false, then the key is user-defined. - * Use this for natural keys, for example. - * - * @param mixed $sequence - * @return Zend_Db_Table_Adapter_Abstract Provides a fluent interface - */ - protected function _setSequence($sequence) - { - $this->_sequence = $sequence; - - return $this; - } - - /** - * Turnkey for initialization of a table object. - * Calls other protected methods for individual tasks, to make it easier - * for a subclass to override part of the setup logic. - * - * @return void - */ - protected function _setup() - { - $this->_setupDatabaseAdapter(); - $this->_setupTableName(); - } - - /** - * Initialize database adapter. - * - * @return void - */ - protected function _setupDatabaseAdapter() - { - if (! $this->_db) { - $this->_db = self::getDefaultAdapter(); - if (!$this->_db instanceof Zend_Db_Adapter_Abstract) { - require_once 'Zend/Db/Table/Exception.php'; - throw new Zend_Db_Table_Exception('No adapter found for ' . get_class($this)); - } - } - } - - /** - * Initialize table and schema names. - * - * If the table name is not set in the class definition, - * use the class name itself as the table name. - * - * A schema name provided with the table name (e.g., "schema.table") overrides - * any existing value for $this->_schema. - * - * @return void - */ - protected function _setupTableName() - { - if (! $this->_name) { - $this->_name = get_class($this); - } else if (strpos($this->_name, '.')) { - list($this->_schema, $this->_name) = explode('.', $this->_name); - } - } - - /** - * Initializes metadata. - * - * If metadata cannot be loaded from cache, adapter's describeTable() method is called to discover metadata - * information. Returns true if and only if the metadata are loaded from cache. - * - * @return boolean - * @throws Zend_Db_Table_Exception - */ - protected function _setupMetadata() - { - if ($this->metadataCacheInClass() && (count($this->_metadata) > 0)) { - return true; - } - - // Assume that metadata will be loaded from cache - $isMetadataFromCache = true; - - // If $this has no metadata cache but the class has a default metadata cache - if (null === $this->_metadataCache && null !== self::$_defaultMetadataCache) { - // Make $this use the default metadata cache of the class - $this->_setMetadataCache(self::$_defaultMetadataCache); - } - - // If $this has a metadata cache - if (null !== $this->_metadataCache) { - // Define the cache identifier where the metadata are saved - - //get db configuration - $dbConfig = $this->_db->getConfig(); - - // Define the cache identifier where the metadata are saved - $cacheId = md5( // port:host/dbname:schema.table (based on availabilty) - (isset($dbConfig['options']['port']) ? ':'.$dbConfig['options']['port'] : null) - . (isset($dbConfig['options']['host']) ? ':'.$dbConfig['options']['host'] : null) - . '/'.$dbConfig['dbname'].':'.$this->_schema.'.'.$this->_name - ); - } - - // If $this has no metadata cache or metadata cache misses - if (null === $this->_metadataCache || !($metadata = $this->_metadataCache->load($cacheId))) { - // Metadata are not loaded from cache - $isMetadataFromCache = false; - // Fetch metadata from the adapter's describeTable() method - $metadata = $this->_db->describeTable($this->_name, $this->_schema); - // If $this has a metadata cache, then cache the metadata - if (null !== $this->_metadataCache && !$this->_metadataCache->save($metadata, $cacheId)) { - /** - * @see Zend_Db_Table_Exception - */ - require_once 'Zend/Db/Table/Exception.php'; - throw new Zend_Db_Table_Exception('Failed saving metadata to metadataCache'); - } - } - - // Assign the metadata to $this - $this->_metadata = $metadata; - - // Return whether the metadata were loaded from cache - return $isMetadataFromCache; - } - - /** - * Retrieve table columns - * - * @return array - */ - protected function _getCols() - { - if (null === $this->_cols) { - $this->_setupMetadata(); - $this->_cols = array_keys($this->_metadata); - } - return $this->_cols; - } - - /** - * Initialize primary key from metadata. - * If $_primary is not defined, discover primary keys - * from the information returned by describeTable(). - * - * @return void - * @throws Zend_Db_Table_Exception - */ - protected function _setupPrimaryKey() - { - if (!$this->_primary) { - $this->_setupMetadata(); - $this->_primary = array(); - foreach ($this->_metadata as $col) { - if ($col['PRIMARY']) { - $this->_primary[ $col['PRIMARY_POSITION'] ] = $col['COLUMN_NAME']; - if ($col['IDENTITY']) { - $this->_identity = $col['PRIMARY_POSITION']; - } - } - } - // if no primary key was specified and none was found in the metadata - // then throw an exception. - if (empty($this->_primary)) { - require_once 'Zend/Db/Table/Exception.php'; - throw new Zend_Db_Table_Exception('A table must have a primary key, but none was found'); - } - } else if (!is_array($this->_primary)) { - $this->_primary = array(1 => $this->_primary); - } else if (isset($this->_primary[0])) { - array_unshift($this->_primary, null); - unset($this->_primary[0]); - } - - $cols = $this->_getCols(); - if (! array_intersect((array) $this->_primary, $cols) == (array) $this->_primary) { - require_once 'Zend/Db/Table/Exception.php'; - throw new Zend_Db_Table_Exception("Primary key column(s) (" - . implode(',', (array) $this->_primary) - . ") are not columns in this table (" - . implode(',', $cols) - . ")"); - } - - $primary = (array) $this->_primary; - $pkIdentity = $primary[(int) $this->_identity]; - - /** - * Special case for PostgreSQL: a SERIAL key implicitly uses a sequence - * object whose name is "__seq". - */ - if ($this->_sequence === true && $this->_db instanceof Zend_Db_Adapter_Pdo_Pgsql) { - $this->_sequence = $this->_db->quoteIdentifier("{$this->_name}_{$pkIdentity}_seq"); - if ($this->_schema) { - $this->_sequence = $this->_db->quoteIdentifier($this->_schema) . '.' . $this->_sequence; - } - } - } - - /** - * Returns a normalized version of the reference map - * - * @return array - */ - protected function _getReferenceMapNormalized() - { - $referenceMapNormalized = array(); - - foreach ($this->_referenceMap as $rule => $map) { - - $referenceMapNormalized[$rule] = array(); - - foreach ($map as $key => $value) { - switch ($key) { - - // normalize COLUMNS and REF_COLUMNS to arrays - case self::COLUMNS: - case self::REF_COLUMNS: - if (!is_array($value)) { - $referenceMapNormalized[$rule][$key] = array($value); - } else { - $referenceMapNormalized[$rule][$key] = $value; - } - break; - - // other values are copied as-is - default: - $referenceMapNormalized[$rule][$key] = $value; - break; - } - } - } - - return $referenceMapNormalized; - } - - /** - * Initialize object - * - * Called from {@link __construct()} as final step of object instantiation. - * - * @return void - */ - public function init() - { - } - - /** - * Returns table information. - * - * You can elect to return only a part of this information by supplying its key name, - * otherwise all information is returned as an array. - * - * @param $key The specific info part to return OPTIONAL - * @return mixed - */ - public function info($key = null) - { - $this->_setupPrimaryKey(); - - $info = array( - self::SCHEMA => $this->_schema, - self::NAME => $this->_name, - self::COLS => $this->_getCols(), - self::PRIMARY => (array) $this->_primary, - self::METADATA => $this->_metadata, - self::ROW_CLASS => $this->getRowClass(), - self::ROWSET_CLASS => $this->getRowsetClass(), - self::REFERENCE_MAP => $this->_referenceMap, - self::DEPENDENT_TABLES => $this->_dependentTables, - self::SEQUENCE => $this->_sequence - ); - - if ($key === null) { - return $info; - } - - if (!array_key_exists($key, $info)) { - require_once 'Zend/Db/Table/Exception.php'; - throw new Zend_Db_Table_Exception('There is no table information for the key "' . $key . '"'); - } - - return $info[$key]; - } - - /** - * Returns an instance of a Zend_Db_Table_Select object. - * - * @param bool $withFromPart Whether or not to include the from part of the select based on the table - * @return Zend_Db_Table_Select - */ - public function select($withFromPart = self::SELECT_WITHOUT_FROM_PART) - { - require_once 'Zend/Db/Table/Select.php'; - $select = new Zend_Db_Table_Select($this); - if ($withFromPart == self::SELECT_WITH_FROM_PART) { - $select->from($this->info(self::NAME), Zend_Db_Table_Select::SQL_WILDCARD, $this->info(self::SCHEMA)); - } - return $select; - } - - /** - * Inserts a new row. - * - * @param array $data Column-value pairs. - * @return mixed The primary key of the row inserted. - */ - public function insert(array $data) - { - $this->_setupPrimaryKey(); - - /** - * Zend_Db_Table assumes that if you have a compound primary key - * and one of the columns in the key uses a sequence, - * it's the _first_ column in the compound key. - */ - $primary = (array) $this->_primary; - $pkIdentity = $primary[(int)$this->_identity]; - - /** - * If this table uses a database sequence object and the data does not - * specify a value, then get the next ID from the sequence and add it - * to the row. We assume that only the first column in a compound - * primary key takes a value from a sequence. - */ - if (is_string($this->_sequence) && !isset($data[$pkIdentity])) { - $data[$pkIdentity] = $this->_db->nextSequenceId($this->_sequence); - } - - /** - * If the primary key can be generated automatically, and no value was - * specified in the user-supplied data, then omit it from the tuple. - */ - if (array_key_exists($pkIdentity, $data) && $data[$pkIdentity] === null) { - unset($data[$pkIdentity]); - } - - /** - * INSERT the new row. - */ - $tableSpec = ($this->_schema ? $this->_schema . '.' : '') . $this->_name; - $this->_db->insert($tableSpec, $data); - - /** - * Fetch the most recent ID generated by an auto-increment - * or IDENTITY column, unless the user has specified a value, - * overriding the auto-increment mechanism. - */ - if ($this->_sequence === true && !isset($data[$pkIdentity])) { - $data[$pkIdentity] = $this->_db->lastInsertId(); - } - - /** - * Return the primary key value if the PK is a single column, - * else return an associative array of the PK column/value pairs. - */ - $pkData = array_intersect_key($data, array_flip($primary)); - if (count($primary) == 1) { - reset($pkData); - return current($pkData); - } - - return $pkData; - } - - /** - * Check if the provided column is an identity of the table - * - * @param string $column - * @throws Zend_Db_Table_Exception - * @return boolean - */ - public function isIdentity($column) - { - $this->_setupPrimaryKey(); - - if (!isset($this->_metadata[$column])) { - /** - * @see Zend_Db_Table_Exception - */ - require_once 'Zend/Db/Table/Exception.php'; - - throw new Zend_Db_Table_Exception('Column "' . $column . '" not found in table.'); - } - - return (bool) $this->_metadata[$column]['IDENTITY']; - } - - /** - * Updates existing rows. - * - * @param array $data Column-value pairs. - * @param array|string $where An SQL WHERE clause, or an array of SQL WHERE clauses. - * @return int The number of rows updated. - */ - public function update(array $data, $where) - { - $tableSpec = ($this->_schema ? $this->_schema . '.' : '') . $this->_name; - return $this->_db->update($tableSpec, $data, $where); - } - - /** - * Called by a row object for the parent table's class during save() method. - * - * @param string $parentTableClassname - * @param array $oldPrimaryKey - * @param array $newPrimaryKey - * @return int - */ - public function _cascadeUpdate($parentTableClassname, array $oldPrimaryKey, array $newPrimaryKey) - { - $this->_setupMetadata(); - $rowsAffected = 0; - foreach ($this->_getReferenceMapNormalized() as $map) { - if ($map[self::REF_TABLE_CLASS] == $parentTableClassname && isset($map[self::ON_UPDATE])) { - switch ($map[self::ON_UPDATE]) { - case self::CASCADE: - $newRefs = array(); - $where = array(); - for ($i = 0; $i < count($map[self::COLUMNS]); ++$i) { - $col = $this->_db->foldCase($map[self::COLUMNS][$i]); - $refCol = $this->_db->foldCase($map[self::REF_COLUMNS][$i]); - if (array_key_exists($refCol, $newPrimaryKey)) { - $newRefs[$col] = $newPrimaryKey[$refCol]; - } - $type = $this->_metadata[$col]['DATA_TYPE']; - $where[] = $this->_db->quoteInto( - $this->_db->quoteIdentifier($col, true) . ' = ?', - $oldPrimaryKey[$refCol], $type); - } - $rowsAffected += $this->update($newRefs, $where); - break; - default: - // no action - break; - } - } - } - return $rowsAffected; - } - - /** - * Deletes existing rows. - * - * @param array|string $where SQL WHERE clause(s). - * @return int The number of rows deleted. - */ - public function delete($where) - { - $tableSpec = ($this->_schema ? $this->_schema . '.' : '') . $this->_name; - return $this->_db->delete($tableSpec, $where); - } - - /** - * Called by parent table's class during delete() method. - * - * @param string $parentTableClassname - * @param array $primaryKey - * @return int Number of affected rows - */ - public function _cascadeDelete($parentTableClassname, array $primaryKey) - { - $this->_setupMetadata(); - $rowsAffected = 0; - foreach ($this->_getReferenceMapNormalized() as $map) { - if ($map[self::REF_TABLE_CLASS] == $parentTableClassname && isset($map[self::ON_DELETE])) { - switch ($map[self::ON_DELETE]) { - case self::CASCADE: - $where = array(); - for ($i = 0; $i < count($map[self::COLUMNS]); ++$i) { - $col = $this->_db->foldCase($map[self::COLUMNS][$i]); - $refCol = $this->_db->foldCase($map[self::REF_COLUMNS][$i]); - $type = $this->_metadata[$col]['DATA_TYPE']; - $where[] = $this->_db->quoteInto( - $this->_db->quoteIdentifier($col, true) . ' = ?', - $primaryKey[$refCol], $type); - } - $rowsAffected += $this->delete($where); - break; - default: - // no action - break; - } - } - } - return $rowsAffected; - } - - /** - * Fetches rows by primary key. The argument specifies one or more primary - * key value(s). To find multiple rows by primary key, the argument must - * be an array. - * - * This method accepts a variable number of arguments. If the table has a - * multi-column primary key, the number of arguments must be the same as - * the number of columns in the primary key. To find multiple rows in a - * table with a multi-column primary key, each argument must be an array - * with the same number of elements. - * - * The find() method always returns a Rowset object, even if only one row - * was found. - * - * @param mixed $key The value(s) of the primary keys. - * @return Zend_Db_Table_Rowset_Abstract Row(s) matching the criteria. - * @throws Zend_Db_Table_Exception - */ - public function find() - { - $this->_setupPrimaryKey(); - $args = func_get_args(); - $keyNames = array_values((array) $this->_primary); - - if (count($args) < count($keyNames)) { - require_once 'Zend/Db/Table/Exception.php'; - throw new Zend_Db_Table_Exception("Too few columns for the primary key"); - } - - if (count($args) > count($keyNames)) { - require_once 'Zend/Db/Table/Exception.php'; - throw new Zend_Db_Table_Exception("Too many columns for the primary key"); - } - - $whereList = array(); - $numberTerms = 0; - foreach ($args as $keyPosition => $keyValues) { - $keyValuesCount = count($keyValues); - // Coerce the values to an array. - // Don't simply typecast to array, because the values - // might be Zend_Db_Expr objects. - if (!is_array($keyValues)) { - $keyValues = array($keyValues); - } - if ($numberTerms == 0) { - $numberTerms = $keyValuesCount; - } else if ($keyValuesCount != $numberTerms) { - require_once 'Zend/Db/Table/Exception.php'; - throw new Zend_Db_Table_Exception("Missing value(s) for the primary key"); - } - $keyValues = array_values($keyValues); - for ($i = 0; $i < $keyValuesCount; ++$i) { - if (!isset($whereList[$i])) { - $whereList[$i] = array(); - } - $whereList[$i][$keyPosition] = $keyValues[$i]; - } - } - - $whereClause = null; - if (count($whereList)) { - $whereOrTerms = array(); - $tableName = $this->_db->quoteTableAs($this->_name, null, true); - foreach ($whereList as $keyValueSets) { - $whereAndTerms = array(); - foreach ($keyValueSets as $keyPosition => $keyValue) { - $type = $this->_metadata[$keyNames[$keyPosition]]['DATA_TYPE']; - $columnName = $this->_db->quoteIdentifier($keyNames[$keyPosition], true); - $whereAndTerms[] = $this->_db->quoteInto( - $tableName . '.' . $columnName . ' = ?', - $keyValue, $type); - } - $whereOrTerms[] = '(' . implode(' AND ', $whereAndTerms) . ')'; - } - $whereClause = '(' . implode(' OR ', $whereOrTerms) . ')'; - } - - // issue ZF-5775 (empty where clause should return empty rowset) - if ($whereClause == null) { - $rowsetClass = $this->getRowsetClass(); - if (!class_exists($rowsetClass)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($rowsetClass); - } - return new $rowsetClass(array('table' => $this, 'rowClass' => $this->getRowClass(), 'stored' => true)); - } - - return $this->fetchAll($whereClause); - } - - /** - * Fetches all rows. - * - * Honors the Zend_Db_Adapter fetch mode. - * - * @param string|array|Zend_Db_Table_Select $where OPTIONAL An SQL WHERE clause or Zend_Db_Table_Select object. - * @param string|array $order OPTIONAL An SQL ORDER clause. - * @param int $count OPTIONAL An SQL LIMIT count. - * @param int $offset OPTIONAL An SQL LIMIT offset. - * @return Zend_Db_Table_Rowset_Abstract The row results per the Zend_Db_Adapter fetch mode. - */ - public function fetchAll($where = null, $order = null, $count = null, $offset = null) - { - if (!($where instanceof Zend_Db_Table_Select)) { - $select = $this->select(); - - if ($where !== null) { - $this->_where($select, $where); - } - - if ($order !== null) { - $this->_order($select, $order); - } - - if ($count !== null || $offset !== null) { - $select->limit($count, $offset); - } - - } else { - $select = $where; - } - - $rows = $this->_fetch($select); - - $data = array( - 'table' => $this, - 'data' => $rows, - 'readOnly' => $select->isReadOnly(), - 'rowClass' => $this->getRowClass(), - 'stored' => true - ); - - $rowsetClass = $this->getRowsetClass(); - if (!class_exists($rowsetClass)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($rowsetClass); - } - return new $rowsetClass($data); - } - - /** - * Fetches one row in an object of type Zend_Db_Table_Row_Abstract, - * or returns null if no row matches the specified criteria. - * - * @param string|array|Zend_Db_Table_Select $where OPTIONAL An SQL WHERE clause or Zend_Db_Table_Select object. - * @param string|array $order OPTIONAL An SQL ORDER clause. - * @return Zend_Db_Table_Row_Abstract|null The row results per the - * Zend_Db_Adapter fetch mode, or null if no row found. - */ - public function fetchRow($where = null, $order = null) - { - if (!($where instanceof Zend_Db_Table_Select)) { - $select = $this->select(); - - if ($where !== null) { - $this->_where($select, $where); - } - - if ($order !== null) { - $this->_order($select, $order); - } - - $select->limit(1); - - } else { - $select = $where->limit(1); - } - - $rows = $this->_fetch($select); - - if (count($rows) == 0) { - return null; - } - - $data = array( - 'table' => $this, - 'data' => $rows[0], - 'readOnly' => $select->isReadOnly(), - 'stored' => true - ); - - $rowClass = $this->getRowClass(); - if (!class_exists($rowClass)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($rowClass); - } - return new $rowClass($data); - } - - /** - * Fetches a new blank row (not from the database). - * - * @return Zend_Db_Table_Row_Abstract - * @deprecated since 0.9.3 - use createRow() instead. - */ - public function fetchNew() - { - return $this->createRow(); - } - - /** - * Fetches a new blank row (not from the database). - * - * @param array $data OPTIONAL data to populate in the new row. - * @param string $defaultSource OPTIONAL flag to force default values into new row - * @return Zend_Db_Table_Row_Abstract - */ - public function createRow(array $data = array(), $defaultSource = null) - { - $cols = $this->_getCols(); - $defaults = array_combine($cols, array_fill(0, count($cols), null)); - - // nothing provided at call-time, take the class value - if ($defaultSource == null) { - $defaultSource = $this->_defaultSource; - } - - if (!in_array($defaultSource, array(self::DEFAULT_CLASS, self::DEFAULT_DB, self::DEFAULT_NONE))) { - $defaultSource = self::DEFAULT_NONE; - } - - if ($defaultSource == self::DEFAULT_DB) { - foreach ($this->_metadata as $metadataName => $metadata) { - if (($metadata['DEFAULT'] != null) && - ($metadata['NULLABLE'] !== true || ($metadata['NULLABLE'] === true && isset($this->_defaultValues[$metadataName]) && $this->_defaultValues[$metadataName] === true)) && - (!(isset($this->_defaultValues[$metadataName]) && $this->_defaultValues[$metadataName] === false))) { - $defaults[$metadataName] = $metadata['DEFAULT']; - } - } - } elseif ($defaultSource == self::DEFAULT_CLASS && $this->_defaultValues) { - foreach ($this->_defaultValues as $defaultName => $defaultValue) { - if (array_key_exists($defaultName, $defaults)) { - $defaults[$defaultName] = $defaultValue; - } - } - } - - $config = array( - 'table' => $this, - 'data' => $defaults, - 'readOnly' => false, - 'stored' => false - ); - - $rowClass = $this->getRowClass(); - if (!class_exists($rowClass)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($rowClass); - } - $row = new $rowClass($config); - $row->setFromArray($data); - return $row; - } - - /** - * Generate WHERE clause from user-supplied string or array - * - * @param string|array $where OPTIONAL An SQL WHERE clause. - * @return Zend_Db_Table_Select - */ - protected function _where(Zend_Db_Table_Select $select, $where) - { - $where = (array) $where; - - foreach ($where as $key => $val) { - // is $key an int? - if (is_int($key)) { - // $val is the full condition - $select->where($val); - } else { - // $key is the condition with placeholder, - // and $val is quoted into the condition - $select->where($key, $val); - } - } - - return $select; - } - - /** - * Generate ORDER clause from user-supplied string or array - * - * @param string|array $order OPTIONAL An SQL ORDER clause. - * @return Zend_Db_Table_Select - */ - protected function _order(Zend_Db_Table_Select $select, $order) - { - if (!is_array($order)) { - $order = array($order); - } - - foreach ($order as $val) { - $select->order($val); - } - - return $select; - } - - /** - * Support method for fetching rows. - * - * @param Zend_Db_Table_Select $select query options. - * @return array An array containing the row results in FETCH_ASSOC mode. - */ - protected function _fetch(Zend_Db_Table_Select $select) - { - $stmt = $this->_db->query($select); - $data = $stmt->fetchAll(Zend_Db::FETCH_ASSOC); - return $data; - } - -} diff --git a/lib/zend/Zend/Db/Table/Definition.php b/lib/zend/Zend/Db/Table/Definition.php deleted file mode 100644 index 771c624302..0000000000 --- a/lib/zend/Zend/Db/Table/Definition.php +++ /dev/null @@ -1,131 +0,0 @@ -setConfig($options); - } elseif (is_array($options)) { - $this->setOptions($options); - } - } - - /** - * setConfig() - * - * @param Zend_Config $config - * @return Zend_Db_Table_Definition - */ - public function setConfig(Zend_Config $config) - { - $this->setOptions($config->toArray()); - return $this; - } - - /** - * setOptions() - * - * @param array $options - * @return Zend_Db_Table_Definition - */ - public function setOptions(Array $options) - { - foreach ($options as $optionName => $optionValue) { - $this->setTableConfig($optionName, $optionValue); - } - return $this; - } - - /** - * @param string $tableName - * @param array $tableConfig - * @return Zend_Db_Table_Definition - */ - public function setTableConfig($tableName, array $tableConfig) - { - // @todo logic here - $tableConfig[Zend_Db_Table::DEFINITION_CONFIG_NAME] = $tableName; - $tableConfig[Zend_Db_Table::DEFINITION] = $this; - - if (!isset($tableConfig[Zend_Db_Table::NAME])) { - $tableConfig[Zend_Db_Table::NAME] = $tableName; - } - - $this->_tableConfigs[$tableName] = $tableConfig; - return $this; - } - - /** - * getTableConfig() - * - * @param string $tableName - * @return array - */ - public function getTableConfig($tableName) - { - return $this->_tableConfigs[$tableName]; - } - - /** - * removeTableConfig() - * - * @param string $tableName - */ - public function removeTableConfig($tableName) - { - unset($this->_tableConfigs[$tableName]); - } - - /** - * hasTableConfig() - * - * @param string $tableName - * @return bool - */ - public function hasTableConfig($tableName) - { - return (isset($this->_tableConfigs[$tableName])); - } - -} diff --git a/lib/zend/Zend/Db/Table/Exception.php b/lib/zend/Zend/Db/Table/Exception.php deleted file mode 100644 index ceaaf16276..0000000000 --- a/lib/zend/Zend/Db/Table/Exception.php +++ /dev/null @@ -1,38 +0,0 @@ - value). - * The keys must match the physical names of columns in the - * table for which this row is defined. - * - * @var array - */ - protected $_data = array(); - - /** - * This is set to a copy of $_data when the data is fetched from - * a database, specified as a new tuple in the constructor, or - * when dirty data is posted to the database with save(). - * - * @var array - */ - protected $_cleanData = array(); - - /** - * Tracks columns where data has been updated. Allows more specific insert and - * update operations. - * - * @var array - */ - protected $_modifiedFields = array(); - - /** - * Zend_Db_Table_Abstract parent class or instance. - * - * @var Zend_Db_Table_Abstract - */ - protected $_table = null; - - /** - * Connected is true if we have a reference to a live - * Zend_Db_Table_Abstract object. - * This is false after the Rowset has been deserialized. - * - * @var boolean - */ - protected $_connected = true; - - /** - * A row is marked read only if it contains columns that are not physically represented within - * the database schema (e.g. evaluated columns/Zend_Db_Expr columns). This can also be passed - * as a run-time config options as a means of protecting row data. - * - * @var boolean - */ - protected $_readOnly = false; - - /** - * Name of the class of the Zend_Db_Table_Abstract object. - * - * @var string - */ - protected $_tableClass = null; - - /** - * Primary row key(s). - * - * @var array - */ - protected $_primary; - - /** - * Constructor. - * - * Supported params for $config are:- - * - table = class name or object of type Zend_Db_Table_Abstract - * - data = values of columns in this row. - * - * @param array $config OPTIONAL Array of user-specified config options. - * @return void - * @throws Zend_Db_Table_Row_Exception - */ - public function __construct(array $config = array()) - { - if (isset($config['table']) && $config['table'] instanceof Zend_Db_Table_Abstract) { - $this->_table = $config['table']; - $this->_tableClass = get_class($this->_table); - } elseif ($this->_tableClass !== null) { - $this->_table = $this->_getTableFromString($this->_tableClass); - } - - if (isset($config['data'])) { - if (!is_array($config['data'])) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception('Data must be an array'); - } - $this->_data = $config['data']; - } - if (isset($config['stored']) && $config['stored'] === true) { - $this->_cleanData = $this->_data; - } - - if (isset($config['readOnly']) && $config['readOnly'] === true) { - $this->setReadOnly(true); - } - - // Retrieve primary keys from table schema - if (($table = $this->_getTable())) { - $info = $table->info(); - $this->_primary = (array) $info['primary']; - } - - $this->init(); - } - - /** - * Transform a column name from the user-specified form - * to the physical form used in the database. - * You can override this method in a custom Row class - * to implement column name mappings, for example inflection. - * - * @param string $columnName Column name given. - * @return string The column name after transformation applied (none by default). - * @throws Zend_Db_Table_Row_Exception if the $columnName is not a string. - */ - protected function _transformColumn($columnName) - { - if (!is_string($columnName)) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception('Specified column is not a string'); - } - // Perform no transformation by default - return $columnName; - } - - /** - * Retrieve row field value - * - * @param string $columnName The user-specified column name. - * @return string The corresponding column value. - * @throws Zend_Db_Table_Row_Exception if the $columnName is not a column in the row. - */ - public function __get($columnName) - { - $columnName = $this->_transformColumn($columnName); - if (!array_key_exists($columnName, $this->_data)) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception("Specified column \"$columnName\" is not in the row"); - } - return $this->_data[$columnName]; - } - - /** - * Set row field value - * - * @param string $columnName The column key. - * @param mixed $value The value for the property. - * @return void - * @throws Zend_Db_Table_Row_Exception - */ - public function __set($columnName, $value) - { - $columnName = $this->_transformColumn($columnName); - if (!array_key_exists($columnName, $this->_data)) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception("Specified column \"$columnName\" is not in the row"); - } - $this->_data[$columnName] = $value; - $this->_modifiedFields[$columnName] = true; - } - - /** - * Unset row field value - * - * @param string $columnName The column key. - * @return Zend_Db_Table_Row_Abstract - * @throws Zend_Db_Table_Row_Exception - */ - public function __unset($columnName) - { - $columnName = $this->_transformColumn($columnName); - if (!array_key_exists($columnName, $this->_data)) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception("Specified column \"$columnName\" is not in the row"); - } - if ($this->isConnected() && in_array($columnName, $this->_table->info('primary'))) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception("Specified column \"$columnName\" is a primary key and should not be unset"); - } - unset($this->_data[$columnName]); - return $this; - } - - /** - * Test existence of row field - * - * @param string $columnName The column key. - * @return boolean - */ - public function __isset($columnName) - { - $columnName = $this->_transformColumn($columnName); - return array_key_exists($columnName, $this->_data); - } - - /** - * Store table, primary key and data in serialized object - * - * @return array - */ - public function __sleep() - { - return array('_tableClass', '_primary', '_data', '_cleanData', '_readOnly' ,'_modifiedFields'); - } - - /** - * Setup to do on wakeup. - * A de-serialized Row should not be assumed to have access to a live - * database connection, so set _connected = false. - * - * @return void - */ - public function __wakeup() - { - $this->_connected = false; - } - - /** - * Proxy to __isset - * Required by the ArrayAccess implementation - * - * @param string $offset - * @return boolean - */ - public function offsetExists($offset) - { - return $this->__isset($offset); - } - - /** - * Proxy to __get - * Required by the ArrayAccess implementation - * - * @param string $offset - * @return string - */ - public function offsetGet($offset) - { - return $this->__get($offset); - } - - /** - * Proxy to __set - * Required by the ArrayAccess implementation - * - * @param string $offset - * @param mixed $value - */ - public function offsetSet($offset, $value) - { - $this->__set($offset, $value); - } - - /** - * Does nothing - * Required by the ArrayAccess implementation - * - * @param string $offset - */ - public function offsetUnset($offset) - { - } - - /** - * Initialize object - * - * Called from {@link __construct()} as final step of object instantiation. - * - * @return void - */ - public function init() - { - } - - /** - * Returns the table object, or null if this is disconnected row - * - * @return Zend_Db_Table_Abstract|null - */ - public function getTable() - { - return $this->_table; - } - - /** - * Set the table object, to re-establish a live connection - * to the database for a Row that has been de-serialized. - * - * @param Zend_Db_Table_Abstract $table - * @return boolean - * @throws Zend_Db_Table_Row_Exception - */ - public function setTable(Zend_Db_Table_Abstract $table = null) - { - if ($table == null) { - $this->_table = null; - $this->_connected = false; - return false; - } - - $tableClass = get_class($table); - if (! $table instanceof $this->_tableClass) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception("The specified Table is of class $tableClass, expecting class to be instance of $this->_tableClass"); - } - - $this->_table = $table; - $this->_tableClass = $tableClass; - - $info = $this->_table->info(); - - if ($info['cols'] != array_keys($this->_data)) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception('The specified Table does not have the same columns as the Row'); - } - - if (! array_intersect((array) $this->_primary, $info['primary']) == (array) $this->_primary) { - - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception("The specified Table '$tableClass' does not have the same primary key as the Row"); - } - - $this->_connected = true; - return true; - } - - /** - * Query the class name of the Table object for which this - * Row was created. - * - * @return string - */ - public function getTableClass() - { - return $this->_tableClass; - } - - /** - * Test the connected status of the row. - * - * @return boolean - */ - public function isConnected() - { - return $this->_connected; - } - - /** - * Test the read-only status of the row. - * - * @return boolean - */ - public function isReadOnly() - { - return $this->_readOnly; - } - - /** - * Set the read-only status of the row. - * - * @param boolean $flag - * @return boolean - */ - public function setReadOnly($flag) - { - $this->_readOnly = (bool) $flag; - } - - /** - * Returns an instance of the parent table's Zend_Db_Table_Select object. - * - * @return Zend_Db_Table_Select - */ - public function select() - { - return $this->getTable()->select(); - } - - /** - * Saves the properties to the database. - * - * This performs an intelligent insert/update, and reloads the - * properties with fresh data from the table on success. - * - * @return mixed The primary key value(s), as an associative array if the - * key is compound, or a scalar if the key is single-column. - */ - public function save() - { - /** - * If the _cleanData array is empty, - * this is an INSERT of a new row. - * Otherwise it is an UPDATE. - */ - if (empty($this->_cleanData)) { - return $this->_doInsert(); - } else { - return $this->_doUpdate(); - } - } - - /** - * @return mixed The primary key value(s), as an associative array if the - * key is compound, or a scalar if the key is single-column. - */ - protected function _doInsert() - { - /** - * A read-only row cannot be saved. - */ - if ($this->_readOnly === true) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception('This row has been marked read-only'); - } - - /** - * Run pre-INSERT logic - */ - $this->_insert(); - - /** - * Execute the INSERT (this may throw an exception) - */ - $data = array_intersect_key($this->_data, $this->_modifiedFields); - $primaryKey = $this->_getTable()->insert($data); - - /** - * Normalize the result to an array indexed by primary key column(s). - * The table insert() method may return a scalar. - */ - if (is_array($primaryKey)) { - $newPrimaryKey = $primaryKey; - } else { - //ZF-6167 Use tempPrimaryKey temporary to avoid that zend encoding fails. - $tempPrimaryKey = (array) $this->_primary; - $newPrimaryKey = array(current($tempPrimaryKey) => $primaryKey); - } - - /** - * Save the new primary key value in _data. The primary key may have - * been generated by a sequence or auto-increment mechanism, and this - * merge should be done before the _postInsert() method is run, so the - * new values are available for logging, etc. - */ - $this->_data = array_merge($this->_data, $newPrimaryKey); - - /** - * Run post-INSERT logic - */ - $this->_postInsert(); - - /** - * Update the _cleanData to reflect that the data has been inserted. - */ - $this->_refresh(); - - return $primaryKey; - } - - /** - * @return mixed The primary key value(s), as an associative array if the - * key is compound, or a scalar if the key is single-column. - */ - protected function _doUpdate() - { - /** - * A read-only row cannot be saved. - */ - if ($this->_readOnly === true) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception('This row has been marked read-only'); - } - - /** - * Get expressions for a WHERE clause - * based on the primary key value(s). - */ - $where = $this->_getWhereQuery(false); - - /** - * Run pre-UPDATE logic - */ - $this->_update(); - - /** - * Compare the data to the modified fields array to discover - * which columns have been changed. - */ - $diffData = array_intersect_key($this->_data, $this->_modifiedFields); - - /** - * Were any of the changed columns part of the primary key? - */ - $pkDiffData = array_intersect_key($diffData, array_flip((array)$this->_primary)); - - /** - * Execute cascading updates against dependent tables. - * Do this only if primary key value(s) were changed. - */ - if (count($pkDiffData) > 0) { - $depTables = $this->_getTable()->getDependentTables(); - if (!empty($depTables)) { - $pkNew = $this->_getPrimaryKey(true); - $pkOld = $this->_getPrimaryKey(false); - foreach ($depTables as $tableClass) { - $t = $this->_getTableFromString($tableClass); - $t->_cascadeUpdate($this->getTableClass(), $pkOld, $pkNew); - } - } - } - - /** - * Execute the UPDATE (this may throw an exception) - * Do this only if data values were changed. - * Use the $diffData variable, so the UPDATE statement - * includes SET terms only for data values that changed. - */ - if (count($diffData) > 0) { - $this->_getTable()->update($diffData, $where); - } - - /** - * Run post-UPDATE logic. Do this before the _refresh() - * so the _postUpdate() function can tell the difference - * between changed data and clean (pre-changed) data. - */ - $this->_postUpdate(); - - /** - * Refresh the data just in case triggers in the RDBMS changed - * any columns. Also this resets the _cleanData. - */ - $this->_refresh(); - - /** - * Return the primary key value(s) as an array - * if the key is compound or a scalar if the key - * is a scalar. - */ - $primaryKey = $this->_getPrimaryKey(true); - if (count($primaryKey) == 1) { - return current($primaryKey); - } - - return $primaryKey; - } - - /** - * Deletes existing rows. - * - * @return int The number of rows deleted. - */ - public function delete() - { - /** - * A read-only row cannot be deleted. - */ - if ($this->_readOnly === true) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception('This row has been marked read-only'); - } - - $where = $this->_getWhereQuery(); - - /** - * Execute pre-DELETE logic - */ - $this->_delete(); - - /** - * Execute cascading deletes against dependent tables - */ - $depTables = $this->_getTable()->getDependentTables(); - if (!empty($depTables)) { - $pk = $this->_getPrimaryKey(); - foreach ($depTables as $tableClass) { - $t = $this->_getTableFromString($tableClass); - $t->_cascadeDelete($this->getTableClass(), $pk); - } - } - - /** - * Execute the DELETE (this may throw an exception) - */ - $result = $this->_getTable()->delete($where); - - /** - * Execute post-DELETE logic - */ - $this->_postDelete(); - - /** - * Reset all fields to null to indicate that the row is not there - */ - $this->_data = array_combine( - array_keys($this->_data), - array_fill(0, count($this->_data), null) - ); - - return $result; - } - - /** - * Returns the column/value data as an array. - * - * @return array - */ - public function toArray() - { - return (array)$this->_data; - } - - /** - * Sets all data in the row from an array. - * - * @param array $data - * @return Zend_Db_Table_Row_Abstract Provides a fluent interface - */ - public function setFromArray(array $data) - { - $data = array_intersect_key($data, $this->_data); - - foreach ($data as $columnName => $value) { - $this->__set($columnName, $value); - } - - return $this; - } - - /** - * Refreshes properties from the database. - * - * @return void - */ - public function refresh() - { - return $this->_refresh(); - } - - /** - * Retrieves an instance of the parent table. - * - * @return Zend_Db_Table_Abstract - */ - protected function _getTable() - { - if (!$this->_connected) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception('Cannot save a Row unless it is connected'); - } - return $this->_table; - } - - /** - * Retrieves an associative array of primary keys. - * - * @param bool $useDirty - * @return array - */ - protected function _getPrimaryKey($useDirty = true) - { - if (!is_array($this->_primary)) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception("The primary key must be set as an array"); - } - - $primary = array_flip($this->_primary); - if ($useDirty) { - $array = array_intersect_key($this->_data, $primary); - } else { - $array = array_intersect_key($this->_cleanData, $primary); - } - if (count($primary) != count($array)) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception("The specified Table '$this->_tableClass' does not have the same primary key as the Row"); - } - return $array; - } - - /** - * Constructs where statement for retrieving row(s). - * - * @param bool $useDirty - * @return array - */ - protected function _getWhereQuery($useDirty = true) - { - $where = array(); - $db = $this->_getTable()->getAdapter(); - $primaryKey = $this->_getPrimaryKey($useDirty); - $info = $this->_getTable()->info(); - $metadata = $info[Zend_Db_Table_Abstract::METADATA]; - - // retrieve recently updated row using primary keys - $where = array(); - foreach ($primaryKey as $column => $value) { - $tableName = $db->quoteIdentifier($info[Zend_Db_Table_Abstract::NAME], true); - $type = $metadata[$column]['DATA_TYPE']; - $columnName = $db->quoteIdentifier($column, true); - $where[] = $db->quoteInto("{$tableName}.{$columnName} = ?", $value, $type); - } - return $where; - } - - /** - * Refreshes properties from the database. - * - * @return void - */ - protected function _refresh() - { - $where = $this->_getWhereQuery(); - $row = $this->_getTable()->fetchRow($where); - - if (null === $row) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception('Cannot refresh row as parent is missing'); - } - - $this->_data = $row->toArray(); - $this->_cleanData = $this->_data; - $this->_modifiedFields = array(); - } - - /** - * Allows pre-insert logic to be applied to row. - * Subclasses may override this method. - * - * @return void - */ - protected function _insert() - { - } - - /** - * Allows post-insert logic to be applied to row. - * Subclasses may override this method. - * - * @return void - */ - protected function _postInsert() - { - } - - /** - * Allows pre-update logic to be applied to row. - * Subclasses may override this method. - * - * @return void - */ - protected function _update() - { - } - - /** - * Allows post-update logic to be applied to row. - * Subclasses may override this method. - * - * @return void - */ - protected function _postUpdate() - { - } - - /** - * Allows pre-delete logic to be applied to row. - * Subclasses may override this method. - * - * @return void - */ - protected function _delete() - { - } - - /** - * Allows post-delete logic to be applied to row. - * Subclasses may override this method. - * - * @return void - */ - protected function _postDelete() - { - } - - /** - * Prepares a table reference for lookup. - * - * Ensures all reference keys are set and properly formatted. - * - * @param Zend_Db_Table_Abstract $dependentTable - * @param Zend_Db_Table_Abstract $parentTable - * @param string $ruleKey - * @return array - */ - protected function _prepareReference(Zend_Db_Table_Abstract $dependentTable, Zend_Db_Table_Abstract $parentTable, $ruleKey) - { - $parentTableName = (get_class($parentTable) === 'Zend_Db_Table') ? $parentTable->getDefinitionConfigName() : get_class($parentTable); - $map = $dependentTable->getReference($parentTableName, $ruleKey); - - if (!isset($map[Zend_Db_Table_Abstract::REF_COLUMNS])) { - $parentInfo = $parentTable->info(); - $map[Zend_Db_Table_Abstract::REF_COLUMNS] = array_values((array) $parentInfo['primary']); - } - - $map[Zend_Db_Table_Abstract::COLUMNS] = (array) $map[Zend_Db_Table_Abstract::COLUMNS]; - $map[Zend_Db_Table_Abstract::REF_COLUMNS] = (array) $map[Zend_Db_Table_Abstract::REF_COLUMNS]; - - return $map; - } - - /** - * Query a dependent table to retrieve rows matching the current row. - * - * @param string|Zend_Db_Table_Abstract $dependentTable - * @param string OPTIONAL $ruleKey - * @param Zend_Db_Table_Select OPTIONAL $select - * @return Zend_Db_Table_Rowset_Abstract Query result from $dependentTable - * @throws Zend_Db_Table_Row_Exception If $dependentTable is not a table or is not loadable. - */ - public function findDependentRowset($dependentTable, $ruleKey = null, Zend_Db_Table_Select $select = null) - { - $db = $this->_getTable()->getAdapter(); - - if (is_string($dependentTable)) { - $dependentTable = $this->_getTableFromString($dependentTable); - } - - if (!$dependentTable instanceof Zend_Db_Table_Abstract) { - $type = gettype($dependentTable); - if ($type == 'object') { - $type = get_class($dependentTable); - } - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception("Dependent table must be a Zend_Db_Table_Abstract, but it is $type"); - } - - // even if we are interacting between a table defined in a class and a - // table via extension, ensure to persist the definition - if (($tableDefinition = $this->_table->getDefinition()) !== null - && ($dependentTable->getDefinition() == null)) { - $dependentTable->setOptions(array(Zend_Db_Table_Abstract::DEFINITION => $tableDefinition)); - } - - if ($select === null) { - $select = $dependentTable->select(); - } else { - $select->setTable($dependentTable); - } - - $map = $this->_prepareReference($dependentTable, $this->_getTable(), $ruleKey); - - for ($i = 0; $i < count($map[Zend_Db_Table_Abstract::COLUMNS]); ++$i) { - $parentColumnName = $db->foldCase($map[Zend_Db_Table_Abstract::REF_COLUMNS][$i]); - $value = $this->_data[$parentColumnName]; - // Use adapter from dependent table to ensure correct query construction - $dependentDb = $dependentTable->getAdapter(); - $dependentColumnName = $dependentDb->foldCase($map[Zend_Db_Table_Abstract::COLUMNS][$i]); - $dependentColumn = $dependentDb->quoteIdentifier($dependentColumnName, true); - $dependentInfo = $dependentTable->info(); - $type = $dependentInfo[Zend_Db_Table_Abstract::METADATA][$dependentColumnName]['DATA_TYPE']; - $select->where("$dependentColumn = ?", $value, $type); - } - - return $dependentTable->fetchAll($select); - } - - /** - * Query a parent table to retrieve the single row matching the current row. - * - * @param string|Zend_Db_Table_Abstract $parentTable - * @param string OPTIONAL $ruleKey - * @param Zend_Db_Table_Select OPTIONAL $select - * @return Zend_Db_Table_Row_Abstract Query result from $parentTable - * @throws Zend_Db_Table_Row_Exception If $parentTable is not a table or is not loadable. - */ - public function findParentRow($parentTable, $ruleKey = null, Zend_Db_Table_Select $select = null) - { - $db = $this->_getTable()->getAdapter(); - - if (is_string($parentTable)) { - $parentTable = $this->_getTableFromString($parentTable); - } - - if (!$parentTable instanceof Zend_Db_Table_Abstract) { - $type = gettype($parentTable); - if ($type == 'object') { - $type = get_class($parentTable); - } - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception("Parent table must be a Zend_Db_Table_Abstract, but it is $type"); - } - - // even if we are interacting between a table defined in a class and a - // table via extension, ensure to persist the definition - if (($tableDefinition = $this->_table->getDefinition()) !== null - && ($parentTable->getDefinition() == null)) { - $parentTable->setOptions(array(Zend_Db_Table_Abstract::DEFINITION => $tableDefinition)); - } - - if ($select === null) { - $select = $parentTable->select(); - } else { - $select->setTable($parentTable); - } - - $map = $this->_prepareReference($this->_getTable(), $parentTable, $ruleKey); - - // iterate the map, creating the proper wheres - for ($i = 0; $i < count($map[Zend_Db_Table_Abstract::COLUMNS]); ++$i) { - $dependentColumnName = $db->foldCase($map[Zend_Db_Table_Abstract::COLUMNS][$i]); - $value = $this->_data[$dependentColumnName]; - // Use adapter from parent table to ensure correct query construction - $parentDb = $parentTable->getAdapter(); - $parentColumnName = $parentDb->foldCase($map[Zend_Db_Table_Abstract::REF_COLUMNS][$i]); - $parentColumn = $parentDb->quoteIdentifier($parentColumnName, true); - $parentInfo = $parentTable->info(); - - // determine where part - $type = $parentInfo[Zend_Db_Table_Abstract::METADATA][$parentColumnName]['DATA_TYPE']; - $nullable = $parentInfo[Zend_Db_Table_Abstract::METADATA][$parentColumnName]['NULLABLE']; - if ($value === null && $nullable == true) { - $select->where("$parentColumn IS NULL"); - } elseif ($value === null && $nullable == false) { - return null; - } else { - $select->where("$parentColumn = ?", $value, $type); - } - - } - - return $parentTable->fetchRow($select); - } - - /** - * @param string|Zend_Db_Table_Abstract $matchTable - * @param string|Zend_Db_Table_Abstract $intersectionTable - * @param string OPTIONAL $callerRefRule - * @param string OPTIONAL $matchRefRule - * @param Zend_Db_Table_Select OPTIONAL $select - * @return Zend_Db_Table_Rowset_Abstract Query result from $matchTable - * @throws Zend_Db_Table_Row_Exception If $matchTable or $intersectionTable is not a table class or is not loadable. - */ - public function findManyToManyRowset($matchTable, $intersectionTable, $callerRefRule = null, - $matchRefRule = null, Zend_Db_Table_Select $select = null) - { - $db = $this->_getTable()->getAdapter(); - - if (is_string($intersectionTable)) { - $intersectionTable = $this->_getTableFromString($intersectionTable); - } - - if (!$intersectionTable instanceof Zend_Db_Table_Abstract) { - $type = gettype($intersectionTable); - if ($type == 'object') { - $type = get_class($intersectionTable); - } - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception("Intersection table must be a Zend_Db_Table_Abstract, but it is $type"); - } - - // even if we are interacting between a table defined in a class and a - // table via extension, ensure to persist the definition - if (($tableDefinition = $this->_table->getDefinition()) !== null - && ($intersectionTable->getDefinition() == null)) { - $intersectionTable->setOptions(array(Zend_Db_Table_Abstract::DEFINITION => $tableDefinition)); - } - - if (is_string($matchTable)) { - $matchTable = $this->_getTableFromString($matchTable); - } - - if (! $matchTable instanceof Zend_Db_Table_Abstract) { - $type = gettype($matchTable); - if ($type == 'object') { - $type = get_class($matchTable); - } - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception("Match table must be a Zend_Db_Table_Abstract, but it is $type"); - } - - // even if we are interacting between a table defined in a class and a - // table via extension, ensure to persist the definition - if (($tableDefinition = $this->_table->getDefinition()) !== null - && ($matchTable->getDefinition() == null)) { - $matchTable->setOptions(array(Zend_Db_Table_Abstract::DEFINITION => $tableDefinition)); - } - - if ($select === null) { - $select = $matchTable->select(); - } else { - $select->setTable($matchTable); - } - - // Use adapter from intersection table to ensure correct query construction - $interInfo = $intersectionTable->info(); - $interDb = $intersectionTable->getAdapter(); - $interName = $interInfo['name']; - $interSchema = isset($interInfo['schema']) ? $interInfo['schema'] : null; - $matchInfo = $matchTable->info(); - $matchName = $matchInfo['name']; - $matchSchema = isset($matchInfo['schema']) ? $matchInfo['schema'] : null; - - $matchMap = $this->_prepareReference($intersectionTable, $matchTable, $matchRefRule); - - for ($i = 0; $i < count($matchMap[Zend_Db_Table_Abstract::COLUMNS]); ++$i) { - $interCol = $interDb->quoteIdentifier('i' . '.' . $matchMap[Zend_Db_Table_Abstract::COLUMNS][$i], true); - $matchCol = $interDb->quoteIdentifier('m' . '.' . $matchMap[Zend_Db_Table_Abstract::REF_COLUMNS][$i], true); - $joinCond[] = "$interCol = $matchCol"; - } - $joinCond = implode(' AND ', $joinCond); - - $select->from(array('i' => $interName), Zend_Db_Select::SQL_WILDCARD, $interSchema) - ->joinInner(array('m' => $matchName), $joinCond, Zend_Db_Select::SQL_WILDCARD, $matchSchema) - ->setIntegrityCheck(false); - - $callerMap = $this->_prepareReference($intersectionTable, $this->_getTable(), $callerRefRule); - - for ($i = 0; $i < count($callerMap[Zend_Db_Table_Abstract::COLUMNS]); ++$i) { - $callerColumnName = $db->foldCase($callerMap[Zend_Db_Table_Abstract::REF_COLUMNS][$i]); - $value = $this->_data[$callerColumnName]; - $interColumnName = $interDb->foldCase($callerMap[Zend_Db_Table_Abstract::COLUMNS][$i]); - $interCol = $interDb->quoteIdentifier("i.$interColumnName", true); - $interInfo = $intersectionTable->info(); - $type = $interInfo[Zend_Db_Table_Abstract::METADATA][$interColumnName]['DATA_TYPE']; - $select->where($interDb->quoteInto("$interCol = ?", $value, $type)); - } - - $stmt = $select->query(); - - $config = array( - 'table' => $matchTable, - 'data' => $stmt->fetchAll(Zend_Db::FETCH_ASSOC), - 'rowClass' => $matchTable->getRowClass(), - 'readOnly' => false, - 'stored' => true - ); - - $rowsetClass = $matchTable->getRowsetClass(); - if (!class_exists($rowsetClass)) { - try { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($rowsetClass); - } catch (Zend_Exception $e) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception($e->getMessage()); - } - } - $rowset = new $rowsetClass($config); - return $rowset; - } - - /** - * Turn magic function calls into non-magic function calls - * to the above methods. - * - * @param string $method - * @param array $args OPTIONAL Zend_Db_Table_Select query modifier - * @return Zend_Db_Table_Row_Abstract|Zend_Db_Table_Rowset_Abstract - * @throws Zend_Db_Table_Row_Exception If an invalid method is called. - */ - public function __call($method, array $args) - { - $matches = array(); - - if (count($args) && $args[0] instanceof Zend_Db_Table_Select) { - $select = $args[0]; - } else { - $select = null; - } - - /** - * Recognize methods for Has-Many cases: - * findParent() - * findParentBy() - * Use the non-greedy pattern repeat modifier e.g. \w+? - */ - if (preg_match('/^findParent(\w+?)(?:By(\w+))?$/', $method, $matches)) { - $class = $matches[1]; - $ruleKey1 = isset($matches[2]) ? $matches[2] : null; - return $this->findParentRow($class, $ruleKey1, $select); - } - - /** - * Recognize methods for Many-to-Many cases: - * findVia() - * findViaBy() - * findViaByAnd() - * Use the non-greedy pattern repeat modifier e.g. \w+? - */ - if (preg_match('/^find(\w+?)Via(\w+?)(?:By(\w+?)(?:And(\w+))?)?$/', $method, $matches)) { - $class = $matches[1]; - $viaClass = $matches[2]; - $ruleKey1 = isset($matches[3]) ? $matches[3] : null; - $ruleKey2 = isset($matches[4]) ? $matches[4] : null; - return $this->findManyToManyRowset($class, $viaClass, $ruleKey1, $ruleKey2, $select); - } - - /** - * Recognize methods for Belongs-To cases: - * find() - * findBy() - * Use the non-greedy pattern repeat modifier e.g. \w+? - */ - if (preg_match('/^find(\w+?)(?:By(\w+))?$/', $method, $matches)) { - $class = $matches[1]; - $ruleKey1 = isset($matches[2]) ? $matches[2] : null; - return $this->findDependentRowset($class, $ruleKey1, $select); - } - - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception("Unrecognized method '$method()'"); - } - - - /** - * _getTableFromString - * - * @param string $tableName - * @return Zend_Db_Table_Abstract - */ - protected function _getTableFromString($tableName) - { - - if ($this->_table instanceof Zend_Db_Table_Abstract) { - $tableDefinition = $this->_table->getDefinition(); - - if ($tableDefinition !== null && $tableDefinition->hasTableConfig($tableName)) { - return new Zend_Db_Table($tableName, $tableDefinition); - } - } - - // assume the tableName is the class name - if (!class_exists($tableName)) { - try { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($tableName); - } catch (Zend_Exception $e) { - require_once 'Zend/Db/Table/Row/Exception.php'; - throw new Zend_Db_Table_Row_Exception($e->getMessage()); - } - } - - $options = array(); - - if (($table = $this->_getTable())) { - $options['db'] = $table->getAdapter(); - } - - if (isset($tableDefinition) && $tableDefinition !== null) { - $options[Zend_Db_Table_Abstract::DEFINITION] = $tableDefinition; - } - - return new $tableName($options); - } - -} diff --git a/lib/zend/Zend/Db/Table/Row/Exception.php b/lib/zend/Zend/Db/Table/Row/Exception.php deleted file mode 100644 index 98195f74d9..0000000000 --- a/lib/zend/Zend/Db/Table/Row/Exception.php +++ /dev/null @@ -1,38 +0,0 @@ -_table = $config['table']; - $this->_tableClass = get_class($this->_table); - } - if (isset($config['rowClass'])) { - $this->_rowClass = $config['rowClass']; - } - if (!class_exists($this->_rowClass)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($this->_rowClass); - } - if (isset($config['data'])) { - $this->_data = $config['data']; - } - if (isset($config['readOnly'])) { - $this->_readOnly = $config['readOnly']; - } - if (isset($config['stored'])) { - $this->_stored = $config['stored']; - } - - // set the count of rows - $this->_count = count($this->_data); - - $this->init(); - } - - /** - * Store data, class names, and state in serialized object - * - * @return array - */ - public function __sleep() - { - return array('_data', '_tableClass', '_rowClass', '_pointer', '_count', '_rows', '_stored', - '_readOnly'); - } - - /** - * Setup to do on wakeup. - * A de-serialized Rowset should not be assumed to have access to a live - * database connection, so set _connected = false. - * - * @return void - */ - public function __wakeup() - { - $this->_connected = false; - } - - /** - * Initialize object - * - * Called from {@link __construct()} as final step of object instantiation. - * - * @return void - */ - public function init() - { - } - - /** - * Return the connected state of the rowset. - * - * @return boolean - */ - public function isConnected() - { - return $this->_connected; - } - - /** - * Returns the table object, or null if this is disconnected rowset - * - * @return Zend_Db_Table_Abstract - */ - public function getTable() - { - return $this->_table; - } - - /** - * Set the table object, to re-establish a live connection - * to the database for a Rowset that has been de-serialized. - * - * @param Zend_Db_Table_Abstract $table - * @return boolean - * @throws Zend_Db_Table_Row_Exception - */ - public function setTable(Zend_Db_Table_Abstract $table) - { - $this->_table = $table; - $this->_connected = false; - // @todo This works only if we have iterated through - // the result set once to instantiate the rows. - foreach ($this as $row) { - $connected = $row->setTable($table); - if ($connected == true) { - $this->_connected = true; - } - } - return $this->_connected; - } - - /** - * Query the class name of the Table object for which this - * Rowset was created. - * - * @return string - */ - public function getTableClass() - { - return $this->_tableClass; - } - - /** - * Rewind the Iterator to the first element. - * Similar to the reset() function for arrays in PHP. - * Required by interface Iterator. - * - * @return Zend_Db_Table_Rowset_Abstract Fluent interface. - */ - public function rewind() - { - $this->_pointer = 0; - return $this; - } - - /** - * Return the current element. - * Similar to the current() function for arrays in PHP - * Required by interface Iterator. - * - * @return Zend_Db_Table_Row_Abstract current element from the collection - */ - public function current() - { - if ($this->valid() === false) { - return null; - } - - // do we already have a row object for this position? - if (empty($this->_rows[$this->_pointer])) { - $this->_rows[$this->_pointer] = new $this->_rowClass( - array( - 'table' => $this->_table, - 'data' => $this->_data[$this->_pointer], - 'stored' => $this->_stored, - 'readOnly' => $this->_readOnly - ) - ); - } - - // return the row object - return $this->_rows[$this->_pointer]; - } - - /** - * Return the identifying key of the current element. - * Similar to the key() function for arrays in PHP. - * Required by interface Iterator. - * - * @return int - */ - public function key() - { - return $this->_pointer; - } - - /** - * Move forward to next element. - * Similar to the next() function for arrays in PHP. - * Required by interface Iterator. - * - * @return void - */ - public function next() - { - ++$this->_pointer; - } - - /** - * Check if there is a current element after calls to rewind() or next(). - * Used to check if we've iterated to the end of the collection. - * Required by interface Iterator. - * - * @return bool False if there's nothing more to iterate over - */ - public function valid() - { - return $this->_pointer < $this->_count; - } - - /** - * Returns the number of elements in the collection. - * - * Implements Countable::count() - * - * @return int - */ - public function count() - { - return $this->_count; - } - - /** - * Take the Iterator to position $position - * Required by interface SeekableIterator. - * - * @param int $position the position to seek to - * @return Zend_Db_Table_Rowset_Abstract - * @throws Zend_Db_Table_Rowset_Exception - */ - public function seek($position) - { - $position = (int) $position; - if ($position < 0 || $position >= $this->_count) { - require_once 'Zend/Db/Table/Rowset/Exception.php'; - throw new Zend_Db_Table_Rowset_Exception("Illegal index $position"); - } - $this->_pointer = $position; - return $this; - } - - /** - * Check if an offset exists - * Required by the ArrayAccess implementation - * - * @param string $offset - * @return boolean - */ - public function offsetExists($offset) - { - return isset($this->_data[(int) $offset]); - } - - /** - * Get the row for the given offset - * Required by the ArrayAccess implementation - * - * @param string $offset - * @return Zend_Db_Table_Row_Abstract - */ - public function offsetGet($offset) - { - $this->_pointer = (int) $offset; - - return $this->current(); - } - - /** - * Does nothing - * Required by the ArrayAccess implementation - * - * @param string $offset - * @param mixed $value - */ - public function offsetSet($offset, $value) - { - } - - /** - * Does nothing - * Required by the ArrayAccess implementation - * - * @param string $offset - */ - public function offsetUnset($offset) - { - } - - /** - * Returns a Zend_Db_Table_Row from a known position into the Iterator - * - * @param int $position the position of the row expected - * @param bool $seek wether or not seek the iterator to that position after - * @return Zend_Db_Table_Row - * @throws Zend_Db_Table_Rowset_Exception - */ - public function getRow($position, $seek = false) - { - $key = $this->key(); - try { - $this->seek($position); - $row = $this->current(); - } catch (Zend_Db_Table_Rowset_Exception $e) { - require_once 'Zend/Db/Table/Rowset/Exception.php'; - throw new Zend_Db_Table_Rowset_Exception('No row could be found at position ' . (int) $position); - } - if ($seek == false) { - $this->seek($key); - } - return $row; - } - - /** - * Returns all data as an array. - * - * Updates the $_data property with current row object values. - * - * @return array - */ - public function toArray() - { - // @todo This works only if we have iterated through - // the result set once to instantiate the rows. - foreach ($this->_rows as $i => $row) { - $this->_data[$i] = $row->toArray(); - } - return $this->_data; - } - -} diff --git a/lib/zend/Zend/Db/Table/Rowset/Exception.php b/lib/zend/Zend/Db/Table/Rowset/Exception.php deleted file mode 100644 index 9ef71c6181..0000000000 --- a/lib/zend/Zend/Db/Table/Rowset/Exception.php +++ /dev/null @@ -1,37 +0,0 @@ -getAdapter()); - - $this->setTable($table); - } - - /** - * Return the table that created this select object - * - * @return Zend_Db_Table_Abstract - */ - public function getTable() - { - return $this->_table; - } - - /** - * Sets the primary table name and retrieves the table schema. - * - * @param Zend_Db_Table_Abstract $adapter - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function setTable(Zend_Db_Table_Abstract $table) - { - $this->_adapter = $table->getAdapter(); - $this->_info = $table->info(); - $this->_table = $table; - - return $this; - } - - /** - * Sets the integrity check flag. - * - * Setting this flag to false skips the checks for table joins, allowing - * 'hybrid' table rows to be created. - * - * @param Zend_Db_Table_Abstract $adapter - * @return Zend_Db_Select This Zend_Db_Select object. - */ - public function setIntegrityCheck($flag = true) - { - $this->_integrityCheck = $flag; - return $this; - } - - /** - * Tests query to determine if expressions or aliases columns exist. - * - * @return boolean - */ - public function isReadOnly() - { - $readOnly = false; - $fields = $this->getPart(Zend_Db_Table_Select::COLUMNS); - $cols = $this->_info[Zend_Db_Table_Abstract::COLS]; - - if (!count($fields)) { - return $readOnly; - } - - foreach ($fields as $columnEntry) { - $column = $columnEntry[1]; - $alias = $columnEntry[2]; - - if ($alias !== null) { - $column = $alias; - } - - switch (true) { - case ($column == self::SQL_WILDCARD): - break; - - case ($column instanceof Zend_Db_Expr): - case (!in_array($column, $cols)): - $readOnly = true; - break 2; - } - } - - return $readOnly; - } - - /** - * Adds a FROM table and optional columns to the query. - * - * The table name can be expressed - * - * @param array|string|Zend_Db_Expr|Zend_Db_Table_Abstract $name The table name or an - associative array relating - table name to correlation - name. - * @param array|string|Zend_Db_Expr $cols The columns to select from this table. - * @param string $schema The schema name to specify, if any. - * @return Zend_Db_Table_Select This Zend_Db_Table_Select object. - */ - public function from($name, $cols = self::SQL_WILDCARD, $schema = null) - { - if ($name instanceof Zend_Db_Table_Abstract) { - $info = $name->info(); - $name = $info[Zend_Db_Table_Abstract::NAME]; - if (isset($info[Zend_Db_Table_Abstract::SCHEMA])) { - $schema = $info[Zend_Db_Table_Abstract::SCHEMA]; - } - } - - return $this->joinInner($name, null, $cols, $schema); - } - - /** - * Performs a validation on the select query before passing back to the parent class. - * Ensures that only columns from the primary Zend_Db_Table are returned in the result. - * - * @return string|null This object as a SELECT string (or null if a string cannot be produced) - */ - public function assemble() - { - $fields = $this->getPart(Zend_Db_Table_Select::COLUMNS); - $primary = $this->_info[Zend_Db_Table_Abstract::NAME]; - $schema = $this->_info[Zend_Db_Table_Abstract::SCHEMA]; - - - if (count($this->_parts[self::UNION]) == 0) { - - // If no fields are specified we assume all fields from primary table - if (!count($fields)) { - $this->from($primary, self::SQL_WILDCARD, $schema); - $fields = $this->getPart(Zend_Db_Table_Select::COLUMNS); - } - - $from = $this->getPart(Zend_Db_Table_Select::FROM); - - if ($this->_integrityCheck !== false) { - foreach ($fields as $columnEntry) { - list($table, $column) = $columnEntry; - - // Check each column to ensure it only references the primary table - if ($column) { - if (!isset($from[$table]) || $from[$table]['tableName'] != $primary) { - require_once 'Zend/Db/Table/Select/Exception.php'; - throw new Zend_Db_Table_Select_Exception('Select query cannot join with another table'); - } - } - } - } - } - - return parent::assemble(); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Db/Table/Select/Exception.php b/lib/zend/Zend/Db/Table/Select/Exception.php deleted file mode 100644 index 05e6e5cd94..0000000000 --- a/lib/zend/Zend/Db/Table/Select/Exception.php +++ /dev/null @@ -1,39 +0,0 @@ - tags, cleans up newlines and indents, and runs - * htmlentities() before output. - * - * @param mixed $var The variable to dump. - * @param string $label OPTIONAL Label to prepend to output. - * @param bool $echo OPTIONAL Echo output if true. - * @return string - */ - public static function dump($var, $label=null, $echo=true) - { - // format the label - $label = ($label===null) ? '' : rtrim($label) . ' '; - - // var_dump the variable into a buffer and keep the output - ob_start(); - var_dump($var); - $output = ob_get_clean(); - - // neaten the newlines and indents - $output = preg_replace("/\]\=\>\n(\s+)/m", "] => ", $output); - if (self::getSapi() == 'cli') { - $output = PHP_EOL . $label - . PHP_EOL . $output - . PHP_EOL; - } else { - if(!extension_loaded('xdebug')) { - $output = htmlspecialchars($output, ENT_QUOTES); - } - - $output = '
'
-                    . $label
-                    . $output
-                    . '
'; - } - - if ($echo) { - echo($output); - } - return $output; - } - -} diff --git a/lib/zend/Zend/Dojo.php b/lib/zend/Zend/Dojo.php deleted file mode 100644 index 2175bf6a9f..0000000000 --- a/lib/zend/Zend/Dojo.php +++ /dev/null @@ -1,87 +0,0 @@ -addPrefixPath('Zend_Dojo_Form_Decorator', 'Zend/Dojo/Form/Decorator', 'decorator') - ->addPrefixPath('Zend_Dojo_Form_Element', 'Zend/Dojo/Form/Element', 'element') - ->addElementPrefixPath('Zend_Dojo_Form_Decorator', 'Zend/Dojo/Form/Decorator', 'decorator') - ->addDisplayGroupPrefixPath('Zend_Dojo_Form_Decorator', 'Zend/Dojo/Form/Decorator') - ->setDefaultDisplayGroupClass('Zend_Dojo_Form_DisplayGroup'); - - foreach ($form->getSubForms() as $subForm) { - self::enableForm($subForm); - } - - if (null !== ($view = $form->getView())) { - self::enableView($view); - } - } - - /** - * Dojo-enable a view instance - * - * @param Zend_View_Interface $view - * @return void - */ - public static function enableView(Zend_View_Interface $view) - { - if (false === $view->getPluginLoader('helper')->getPaths('Zend_Dojo_View_Helper')) { - $view->addHelperPath('Zend/Dojo/View/Helper', 'Zend_Dojo_View_Helper'); - } - } -} - diff --git a/lib/zend/Zend/Dojo/BuildLayer.php b/lib/zend/Zend/Dojo/BuildLayer.php deleted file mode 100644 index e74f58e608..0000000000 --- a/lib/zend/Zend/Dojo/BuildLayer.php +++ /dev/null @@ -1,536 +0,0 @@ - 'release', - 'optimize' => 'shrinksafe', - 'layerOptimize' => 'shrinksafe', - 'copyTests' => false, - 'loader' => 'default', - 'cssOptimize' => 'comments', - ); - - /** - * Associative array of module/path pairs for the build profile - * @var array - */ - protected $_profilePrefixes = array(); - - /** - * Zend_View reference - * @var Zend_View_Interface - */ - protected $_view; - - /** - * Constructor - * - * @param array|Zend_Config $options - * @return void - * @throws Zend_Dojo_Exception for invalid option argument - */ - public function __construct($options = null) - { - if (null !== $options) { - if ($options instanceof Zend_Config) { - $options = $options->toArray(); - } elseif (!is_array($options)) { - require_once 'Zend/Dojo/Exception.php'; - throw new Zend_Dojo_Exception('Invalid options provided to constructor'); - } - $this->setOptions($options); - } - } - - /** - * Set options - * - * Proxies to any setter that matches an option key. - * - * @param array $options - * @return Zend_Dojo_BuildLayer - */ - public function setOptions(array $options) - { - $methods = get_class_methods($this); - foreach ($options as $key => $value) { - $method = 'set' . ucfirst($key); - if (in_array($method, $methods)) { - $this->$method($value); - } - } - return $this; - } - - /** - * Set View object - * - * @param Zend_View_Interface $view - * @return Zend_Dojo_BuildLayer - */ - public function setView(Zend_View_Interface $view) - { - $this->_view = $view; - return $this; - } - - /** - * Retrieve view object - * - * @return Zend_View_Interface|null - */ - public function getView() - { - return $this->_view; - } - - /** - * Set dojo() view helper instance - * - * @param Zend_Dojo_View_Helper_Dojo_Container $helper - * @return Zend_Dojo_BuildLayer - */ - public function setDojoHelper(Zend_Dojo_View_Helper_Dojo_Container $helper) - { - $this->_dojo = $helper; - return $this; - } - - /** - * Retrieve dojo() view helper instance - * - * Will retrieve it from the view object if not registered. - * - * @return Zend_Dojo_View_Helper_Dojo_Container - * @throws Zend_Dojo_Exception if not registered and no view object found - */ - public function getDojoHelper() - { - if (null === $this->_dojo) { - if (null === ($view = $this->getView())) { - require_once 'Zend/Dojo/Exception.php'; - throw new Zend_Dojo_Exception('View object not registered; cannot retrieve dojo helper'); - } - $helper = $view->getHelper('dojo'); - $this->setDojoHelper($view->dojo()); - } - return $this->_dojo; - } - - /** - * Set custom layer name; e.g. "custom.main" - * - * @param string $name - * @return Zend_Dojo_BuildLayer - */ - public function setLayerName($name) - { - if (!preg_match('/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$/i', $name)) { - require_once 'Zend/Dojo/Exception.php'; - throw new Zend_Dojo_Exception('Invalid layer name provided; must be of form[a-z][a-z0-9_](\.[a-z][a-z0-9_])+'); - } - $this->_layerName = $name; - return $this; - } - - /** - * Retrieve custom layer name - * - * @return string|null - */ - public function getLayerName() - { - return $this->_layerName; - } - - /** - * Set the path to the custom layer script - * - * Should be a path relative to dojo.js - * - * @param string $path - * @return Zend_Dojo_BuildLayer - */ - public function setLayerScriptPath($path) - { - $this->_layerScriptPath = (string) $path; - return $this; - } - - /** - * Get custom layer script path - * - * @return string|null - */ - public function getLayerScriptPath() - { - return $this->_layerScriptPath; - } - - /** - * Set flag indicating whether or not to consume JS aggregated in dojo() - * view helper - * - * @param bool $flag - * @return Zend_Dojo_BuildLayer - */ - public function setConsumeJavascript($flag) - { - $this->_consumeJavascript = (bool) $flag; - return $this; - } - - /** - * Get flag indicating whether or not to consume JS aggregated in dojo() - * view helper - * - * @return bool - */ - public function consumeJavascript() - { - return $this->_consumeJavascript; - } - - /** - * Set flag indicating whether or not to consume dojo.addOnLoad events - * aggregated in dojo() view helper - * - * @param bool $flag - * @return Zend_Dojo_BuildLayer - */ - public function setConsumeOnLoad($flag) - { - $this->_consumeOnLoad = (bool) $flag; - return $this; - } - - /** - * Get flag indicating whether or not to consume dojo.addOnLoad events aggregated in dojo() view helper - * - * @return bool - */ - public function consumeOnLoad() - { - return $this->_consumeOnLoad; - } - - /** - * Set many build profile options at once - * - * @param array $options - * @return Zend_Dojo_BuildLayer - */ - public function setProfileOptions(array $options) - { - $this->_profileOptions += $options; - return $this; - } - - /** - * Add many build profile options at once - * - * @param array $options - * @return Zend_Dojo_BuildLayer - */ - public function addProfileOptions(array $options) - { - $this->_profileOptions = $this->_profileOptions + $options; - return $this; - } - - /** - * Add a single build profile option - * - * @param string $key - * @param value $value - * @return Zend_Dojo_BuildLayer - */ - public function addProfileOption($key, $value) - { - $this->_profileOptions[(string) $key] = $value; - return $this; - } - - /** - * Is a given build profile option set? - * - * @param string $key - * @return bool - */ - public function hasProfileOption($key) - { - return array_key_exists((string) $key, $this->_profileOptions); - } - - /** - * Retrieve a single build profile option - * - * Returns null if profile option does not exist. - * - * @param string $key - * @return mixed - */ - public function getProfileOption($key) - { - if ($this->hasProfileOption($key)) { - return $this->_profileOptions[(string) $key]; - } - return null; - } - - /** - * Get all build profile options - * - * @return array - */ - public function getProfileOptions() - { - return $this->_profileOptions; - } - - /** - * Remove a build profile option - * - * @param string $name - * @return Zend_Dojo_BuildLayer - */ - public function removeProfileOption($name) - { - if ($this->hasProfileOption($name)) { - unset($this->_profileOptions[(string) $name]); - } - return $this; - } - - /** - * Remove all build profile options - * - * @return Zend_Dojo_BuildLayer - */ - public function clearProfileOptions() - { - $this->_profileOptions = array(); - return $this; - } - - /** - * Add a build profile dependency prefix - * - * If just the prefix is passed, sets path to "../$prefix". - * - * @param string $prefix - * @param null|string $path - * @return Zend_Dojo_BuildLayer - */ - public function addProfilePrefix($prefix, $path = null) - { - if (null === $path) { - $path = '../' . $prefix; - } - $this->_profilePrefixes[$prefix] = array($prefix, $path); - return $this; - } - - /** - * Set multiple dependency prefixes for bulid profile - * - * @param array $prefixes - * @return Zend_Dojo_BuildLayer - */ - public function setProfilePrefixes(array $prefixes) - { - foreach ($prefixes as $prefix => $path) { - $this->addProfilePrefix($prefix, $path); - } - return $this; - } - - /** - * Get build profile dependency prefixes - * - * @return array - */ - public function getProfilePrefixes() - { - $layerName = $this->getLayerName(); - if (null !== $layerName) { - $prefix = $this->_getPrefix($layerName); - if (!array_key_exists($prefix, $this->_profilePrefixes)) { - $this->addProfilePrefix($prefix); - } - } - $view = $this->getView(); - if (!empty($view)) { - $helper = $this->getDojoHelper(); - if ($helper) { - $modules = $helper->getModules(); - foreach ($modules as $module) { - $prefix = $this->_getPrefix($module); - if (!array_key_exists($prefix, $this->_profilePrefixes)) { - $this->addProfilePrefix($prefix); - } - } - } - } - return $this->_profilePrefixes; - } - - /** - * Generate module layer script - * - * @return string - */ - public function generateLayerScript() - { - $helper = $this->getDojoHelper(); - $layerName = $this->getLayerName(); - $modulePaths = $helper->getModulePaths(); - $modules = $helper->getModules(); - $onLoadActions = $helper->getOnLoadActions(); - $javascript = $helper->getJavascript(); - - $content = 'dojo.provide("' . $layerName . '");' . "\n\n(function(){\n"; - - foreach ($modulePaths as $module => $path) { - $content .= sprintf("dojo.registerModulePath(\"%s\", \"%s\");\n", $module, $path); - } - foreach ($modules as $module) { - $content .= sprintf("dojo.require(\"%s\");\n", $module); - } - - if ($this->consumeOnLoad()) { - foreach ($helper->getOnLoadActions() as $callback) { - $content .= sprintf("dojo.addOnLoad(%s);\n", $callback); - } - } - if ($this->consumeJavascript()) { - $javascript = implode("\n", $helper->getJavascript()); - if (!empty($javascript)) { - $content .= "\n" . $javascript . "\n"; - } - } - - $content .= "})();"; - - return $content; - } - - /** - * Generate build profile - * - * @return string - */ - public function generateBuildProfile() - { - $profileOptions = $this->getProfileOptions(); - $layerName = $this->getLayerName(); - $layerScriptPath = $this->getLayerScriptPath(); - $profilePrefixes = $this->getProfilePrefixes(); - - if (!array_key_exists('releaseName', $profileOptions)) { - $profileOptions['releaseName'] = substr($layerName, 0, strpos($layerName, '.')); - } - - $profile = $profileOptions; - $profile['layers'] = array(array( - 'name' => $layerScriptPath, - 'layerDependencies' => array(), - 'dependencies' => array($layerName), - )); - $profile['prefixes'] = array_values($profilePrefixes); - - return 'dependencies = ' . $this->_filterJsonProfileToJavascript($profile) . ';'; - } - - /** - * Retrieve module prefix - * - * @param string $module - * @return void - */ - protected function _getPrefix($module) - { - $segments = explode('.', $module, 2); - return $segments[0]; - } - - /** - * Filter a JSON build profile to JavaScript - * - * @param string $profile - * @return string - */ - protected function _filterJsonProfileToJavascript($profile) - { - require_once 'Zend/Json.php'; - $profile = Zend_Json::encode($profile); - $profile = preg_replace('/"([^"]*)":/', '$1:', $profile); - $profile = preg_replace('/' . preg_quote('\\') . '/', '', $profile); - return $profile; - } -} diff --git a/lib/zend/Zend/Dojo/Data.php b/lib/zend/Zend/Dojo/Data.php deleted file mode 100644 index 40cfe0fce7..0000000000 --- a/lib/zend/Zend/Dojo/Data.php +++ /dev/null @@ -1,563 +0,0 @@ -setIdentifier($identifier); - } - if (null !== $items) { - $this->setItems($items); - } - if (null !== $label) { - $this->setLabel($label); - } - } - - /** - * Set the items to collect - * - * @param array|Traversable $items - * @return Zend_Dojo_Data - */ - public function setItems($items) - { - $this->clearItems(); - return $this->addItems($items); - } - - /** - * Set an individual item, optionally by identifier (overwrites) - * - * @param array|object $item - * @param string|null $identifier - * @return Zend_Dojo_Data - */ - public function setItem($item, $id = null) - { - $item = $this->_normalizeItem($item, $id); - $this->_items[$item['id']] = $item['data']; - return $this; - } - - /** - * Add an individual item, optionally by identifier - * - * @param array|object $item - * @param string|null $id - * @return Zend_Dojo_Data - */ - public function addItem($item, $id = null) - { - $item = $this->_normalizeItem($item, $id); - - if ($this->hasItem($item['id'])) { - require_once 'Zend/Dojo/Exception.php'; - throw new Zend_Dojo_Exception('Overwriting items using addItem() is not allowed'); - } - - $this->_items[$item['id']] = $item['data']; - - return $this; - } - - /** - * Add multiple items at once - * - * @param array|Traversable $items - * @return Zend_Dojo_Data - */ - public function addItems($items) - { - if (!is_array($items) && (!is_object($items) || !($items instanceof Traversable))) { - require_once 'Zend/Dojo/Exception.php'; - throw new Zend_Dojo_Exception('Only arrays and Traversable objects may be added to ' . __CLASS__); - } - - foreach ($items as $item) { - $this->addItem($item); - } - - return $this; - } - - /** - * Get all items as an array - * - * Serializes items to arrays. - * - * @return array - */ - public function getItems() - { - return $this->_items; - } - - /** - * Does an item with the given identifier exist? - * - * @param string|int $id - * @return bool - */ - public function hasItem($id) - { - return array_key_exists($id, $this->_items); - } - - /** - * Retrieve an item by identifier - * - * Item retrieved will be flattened to an array. - * - * @param string $id - * @return array - */ - public function getItem($id) - { - if (!$this->hasItem($id)) { - return null; - } - - return $this->_items[$id]; - } - - /** - * Remove item by identifier - * - * @param string $id - * @return Zend_Dojo_Data - */ - public function removeItem($id) - { - if ($this->hasItem($id)) { - unset($this->_items[$id]); - } - - return $this; - } - - /** - * Remove all items at once - * - * @return Zend_Dojo_Data - */ - public function clearItems() - { - $this->_items = array(); - return $this; - } - - - /** - * Set identifier for item lookups - * - * @param string|int|null $identifier - * @return Zend_Dojo_Data - */ - public function setIdentifier($identifier) - { - if (null === $identifier) { - $this->_identifier = null; - } elseif (is_string($identifier)) { - $this->_identifier = $identifier; - } elseif (is_numeric($identifier)) { - $this->_identifier = (int) $identifier; - } else { - require_once 'Zend/Dojo/Exception.php'; - throw new Zend_Dojo_Exception('Invalid identifier; please use a string or integer'); - } - - return $this; - } - - /** - * Retrieve current item identifier - * - * @return string|int|null - */ - public function getIdentifier() - { - return $this->_identifier; - } - - - /** - * Set label to use for displaying item associations - * - * @param string|null $label - * @return Zend_Dojo_Data - */ - public function setLabel($label) - { - if (null === $label) { - $this->_label = null; - } else { - $this->_label = (string) $label; - } - return $this; - } - - /** - * Retrieve item association label - * - * @return string|null - */ - public function getLabel() - { - return $this->_label; - } - - /** - * Set metadata by key or en masse - * - * @param string|array $spec - * @param mixed $value - * @return Zend_Dojo_Data - */ - public function setMetadata($spec, $value = null) - { - if (is_string($spec) && (null !== $value)) { - $this->_metadata[$spec] = $value; - } elseif (is_array($spec)) { - foreach ($spec as $key => $value) { - $this->setMetadata($key, $value); - } - } - return $this; - } - - /** - * Get metadata item or all metadata - * - * @param null|string $key Metadata key when pulling single metadata item - * @return mixed - */ - public function getMetadata($key = null) - { - if (null === $key) { - return $this->_metadata; - } - - if (array_key_exists($key, $this->_metadata)) { - return $this->_metadata[$key]; - } - - return null; - } - - /** - * Clear individual or all metadata item(s) - * - * @param null|string $key - * @return Zend_Dojo_Data - */ - public function clearMetadata($key = null) - { - if (null === $key) { - $this->_metadata = array(); - } elseif (array_key_exists($key, $this->_metadata)) { - unset($this->_metadata[$key]); - } - return $this; - } - - /** - * Load object from array - * - * @param array $data - * @return Zend_Dojo_Data - */ - public function fromArray(array $data) - { - if (array_key_exists('identifier', $data)) { - $this->setIdentifier($data['identifier']); - } - if (array_key_exists('label', $data)) { - $this->setLabel($data['label']); - } - if (array_key_exists('items', $data) && is_array($data['items'])) { - $this->setItems($data['items']); - } else { - $this->clearItems(); - } - return $this; - } - - /** - * Load object from JSON - * - * @param string $json - * @return Zend_Dojo_Data - */ - public function fromJson($json) - { - if (!is_string($json)) { - require_once 'Zend/Dojo/Exception.php'; - throw new Zend_Dojo_Exception('fromJson() expects JSON input'); - } - require_once 'Zend/Json.php'; - $data = Zend_Json::decode($json); - return $this->fromArray($data); - } - - /** - * Seralize entire data structure, including identifier and label, to array - * - * @return array - */ - public function toArray() - { - if (null === ($identifier = $this->getIdentifier())) { - require_once 'Zend/Dojo/Exception.php'; - throw new Zend_Dojo_Exception('Serialization requires that an identifier be present in the object; first call setIdentifier()'); - } - - $array = array( - 'identifier' => $identifier, - 'items' => array_values($this->getItems()), - ); - - $metadata = $this->getMetadata(); - if (!empty($metadata)) { - foreach ($metadata as $key => $value) { - $array[$key] = $value; - } - } - - if (null !== ($label = $this->getLabel())) { - $array['label'] = $label; - } - - return $array; - } - - /** - * Serialize to JSON (dojo.data format) - * - * @return string - */ - public function toJson() - { - require_once 'Zend/Json.php'; - return Zend_Json::encode($this->toArray()); - } - - /** - * Serialize to string (proxy to {@link toJson()}) - * - * @return string - */ - public function __toString() - { - return $this->toJson(); - } - - /** - * ArrayAccess: does offset exist? - * - * @param string|int $offset - * @return bool - */ - public function offsetExists($offset) - { - return (null !== $this->getItem($offset)); - } - - /** - * ArrayAccess: retrieve by offset - * - * @param string|int $offset - * @return array - */ - public function offsetGet($offset) - { - return $this->getItem($offset); - } - - /** - * ArrayAccess: set value by offset - * - * @param string $offset - * @param array|object|null $value - * @return void - */ - public function offsetSet($offset, $value) - { - $this->setItem($value, $offset); - } - - /** - * ArrayAccess: unset value by offset - * - * @param string $offset - * @return void - */ - public function offsetUnset($offset) - { - $this->removeItem($offset); - } - - /** - * Iterator: get current value - * - * @return array - */ - public function current() - { - return current($this->_items); - } - - /** - * Iterator: get current key - * - * @return string|int - */ - public function key() - { - return key($this->_items); - } - - /** - * Iterator: get next item - * - * @return void - */ - public function next() - { - return next($this->_items); - } - - /** - * Iterator: rewind to first value in collection - * - * @return void - */ - public function rewind() - { - return reset($this->_items); - } - - /** - * Iterator: is item valid? - * - * @return bool - */ - public function valid() - { - return (bool) $this->current(); - } - - /** - * Countable: how many items are present - * - * @return int - */ - public function count() - { - return count($this->_items); - } - - /** - * Normalize an item to attach to the collection - * - * @param array|object $item - * @param string|int|null $id - * @return array - */ - protected function _normalizeItem($item, $id) - { - if (null === ($identifier = $this->getIdentifier())) { - require_once 'Zend/Dojo/Exception.php'; - throw new Zend_Dojo_Exception('You must set an identifier prior to adding items'); - } - - if (!is_object($item) && !is_array($item)) { - require_once 'Zend/Dojo/Exception.php'; - throw new Zend_Dojo_Exception('Only arrays and objects may be attached'); - } - - if (is_object($item)) { - if (method_exists($item, 'toArray')) { - $item = $item->toArray(); - } else { - $item = get_object_vars($item); - } - } - - if ((null === $id) && !array_key_exists($identifier, $item)) { - require_once 'Zend/Dojo/Exception.php'; - throw new Zend_Dojo_Exception('Item must contain a column matching the currently set identifier'); - } elseif (null === $id) { - $id = $item[$identifier]; - } else { - $item[$identifier] = $id; - } - - return array( - 'id' => $id, - 'data' => $item, - ); - } -} diff --git a/lib/zend/Zend/Dojo/Exception.php b/lib/zend/Zend/Dojo/Exception.php deleted file mode 100644 index 78251e3dbe..0000000000 --- a/lib/zend/Zend/Dojo/Exception.php +++ /dev/null @@ -1,35 +0,0 @@ -addPrefixPath('Zend_Dojo_Form_Decorator', 'Zend/Dojo/Form/Decorator', 'decorator') - ->addPrefixPath('Zend_Dojo_Form_Element', 'Zend/Dojo/Form/Element', 'element') - ->addElementPrefixPath('Zend_Dojo_Form_Decorator', 'Zend/Dojo/Form/Decorator', 'decorator') - ->addDisplayGroupPrefixPath('Zend_Dojo_Form_Decorator', 'Zend/Dojo/Form/Decorator') - ->setDefaultDisplayGroupClass('Zend_Dojo_Form_DisplayGroup'); - parent::__construct($options); - } - - /** - * Load the default decorators - * - * @return void - */ - public function loadDefaultDecorators() - { - if ($this->loadDefaultDecoratorsIsDisabled()) { - return; - } - - $decorators = $this->getDecorators(); - if (empty($decorators)) { - $this->addDecorator('FormElements') - ->addDecorator('HtmlTag', array('tag' => 'dl', 'class' => 'zend_form_dojo')) - ->addDecorator('DijitForm'); - } - } - - /** - * Set the view object - * - * Ensures that the view object has the dojo view helper path set. - * - * @param Zend_View_Interface $view - * @return Zend_Dojo_Form_Element_Dijit - */ - public function setView(Zend_View_Interface $view = null) - { - if (null !== $view) { - if (false === $view->getPluginLoader('helper')->getPaths('Zend_Dojo_View_Helper')) { - $view->addHelperPath('Zend/Dojo/View/Helper', 'Zend_Dojo_View_Helper'); - } - } - return parent::setView($view); - } -} diff --git a/lib/zend/Zend/Dojo/Form/Decorator/AccordionContainer.php b/lib/zend/Zend/Dojo/Form/Decorator/AccordionContainer.php deleted file mode 100644 index 34de7965af..0000000000 --- a/lib/zend/Zend/Dojo/Form/Decorator/AccordionContainer.php +++ /dev/null @@ -1,43 +0,0 @@ -_helper) { - require_once 'Zend/Form/Decorator/Exception.php'; - throw new Zend_Form_Decorator_Exception('No view helper specified fo DijitContainer decorator'); - } - return $this->_helper; - } - - /** - * Get element attributes - * - * @return array - */ - public function getAttribs() - { - if (null === $this->_attribs) { - $attribs = $this->getElement()->getAttribs(); - if (array_key_exists('dijitParams', $attribs)) { - unset($attribs['dijitParams']); - } - $this->_attribs = $attribs; - } - return $this->_attribs; - } - - /** - * Get dijit option parameters - * - * @return array - */ - public function getDijitParams() - { - if (null === $this->_dijitParams) { - $attribs = $this->getElement()->getAttribs(); - if (array_key_exists('dijitParams', $attribs)) { - $this->_dijitParams = $attribs['dijitParams']; - } else { - $this->_dijitParams = array(); - } - - $options = $this->getOptions(); - if (array_key_exists('dijitParams', $options)) { - $this->_dijitParams = array_merge($this->_dijitParams, $options['dijitParams']); - $this->removeOption('dijitParams'); - } - } - - // Ensure we have a title param - if (!array_key_exists('title', $this->_dijitParams)) { - $this->_dijitParams['title'] = $this->getTitle(); - } - - return $this->_dijitParams; - } - - /** - * Get title - * - * @return string - */ - public function getTitle() - { - if (null === $this->_title) { - $title = null; - if (null !== ($element = $this->getElement())) { - if (method_exists($element, 'getLegend')) { - $title = $element->getLegend(); - } - } - if (empty($title) && (null !== ($title = $this->getOption('legend')))) { - $this->removeOption('legend'); - } - if (empty($title) && (null !== ($title = $this->getOption('title')))) { - $this->removeOption('title'); - } - - if (!empty($title)) { - if (null !== ($translator = $element->getTranslator())) { - $title = $translator->translate($title); - } - $this->_title = $title; - } - } - - return (empty($this->_title) ? '' : $this->_title); - } - - /** - * Render a dijit layout container - * - * Replaces $content entirely from currently set element. - * - * @param string $content - * @return string - */ - public function render($content) - { - $element = $this->getElement(); - $view = $element->getView(); - if (null === $view) { - return $content; - } - - $dijitParams = $this->getDijitParams(); - $attribs = array_merge($this->getAttribs(), $this->getOptions()); - - if (array_key_exists('legend', $attribs)) { - if (!array_key_exists('title', $dijitParams) || empty($dijitParams['title'])) { - $dijitParams['title'] = $attribs['legend']; - } - unset($attribs['legend']); - } - - $helper = $this->getHelper(); - $id = $element->getId() . '-' . $helper; - - if ($view->dojo()->hasDijit($id)) { - trigger_error(sprintf('Duplicate dijit ID detected for id "%s; temporarily generating uniqid"', $id), E_USER_WARNING); - $base = $id; - do { - $id = $base . '-' . uniqid(); - } while ($view->dojo()->hasDijit($id)); - } - - return $view->$helper($id, $content, $dijitParams, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/Form/Decorator/DijitElement.php b/lib/zend/Zend/Dojo/Form/Decorator/DijitElement.php deleted file mode 100644 index 39bb5c7d98..0000000000 --- a/lib/zend/Zend/Dojo/Form/Decorator/DijitElement.php +++ /dev/null @@ -1,195 +0,0 @@ -_attribs) { - $this->_attribs = parent::getElementAttribs(); - if (array_key_exists('dijitParams', $this->_attribs)) { - $this->setDijitParams($this->_attribs['dijitParams']); - unset($this->_attribs['dijitParams']); - } - } - - return $this->_attribs; - } - - /** - * Set a single dijit option parameter - * - * @param string $key - * @param mixed $value - * @return Zend_Dojo_Form_Decorator_DijitContainer - */ - public function setDijitParam($key, $value) - { - $this->_dijitParams[(string) $key] = $value; - return $this; - } - - /** - * Set dijit option parameters - * - * @param array $params - * @return Zend_Dojo_Form_Decorator_DijitContainer - */ - public function setDijitParams(array $params) - { - $this->_dijitParams = array_merge($this->_dijitParams, $params); - return $this; - } - - /** - * Retrieve a single dijit option parameter - * - * @param string $key - * @return mixed|null - */ - public function getDijitParam($key) - { - $this->getElementAttribs(); - $key = (string) $key; - if (array_key_exists($key, $this->_dijitParams)) { - return $this->_dijitParams[$key]; - } - - return null; - } - - /** - * Get dijit option parameters - * - * @return array - */ - public function getDijitParams() - { - $this->getElementAttribs(); - return $this->_dijitParams; - } - - /** - * Render an element using a view helper - * - * Determine view helper from 'helper' option, or, if none set, from - * the element type. Then call as - * helper($element->getName(), $element->getValue(), $element->getAttribs()) - * - * @param string $content - * @return string - * @throws Zend_Form_Decorator_Exception if element or view are not registered - */ - public function render($content) - { - $element = $this->getElement(); - $view = $element->getView(); - if (null === $view) { - require_once 'Zend/Form/Decorator/Exception.php'; - throw new Zend_Form_Decorator_Exception('DijitElement decorator cannot render without a registered view object'); - } - - $options = null; - $helper = $this->getHelper(); - $separator = $this->getSeparator(); - $value = $this->getValue($element); - $attribs = $this->getElementAttribs(); - $name = $element->getFullyQualifiedName(); - - $dijitParams = $this->getDijitParams(); - if ($element->isRequired()) { - $dijitParams['required'] = true; - } - - $id = $element->getId(); - if ($view->dojo()->hasDijit($id)) { - trigger_error(sprintf('Duplicate dijit ID detected for id "%s; temporarily generating uniqid"', $id), E_USER_NOTICE); - $base = $id; - do { - $id = $base . '-' . uniqid(); - } while ($view->dojo()->hasDijit($id)); - } - $attribs['id'] = $id; - - if (array_key_exists('options', $attribs)) { - $options = $attribs['options']; - } - - $elementContent = $view->$helper($name, $value, $dijitParams, $attribs, $options); - switch ($this->getPlacement()) { - case self::APPEND: - return $content . $separator . $elementContent; - case self::PREPEND: - return $elementContent . $separator . $content; - default: - return $elementContent; - } - } -} diff --git a/lib/zend/Zend/Dojo/Form/Decorator/DijitForm.php b/lib/zend/Zend/Dojo/Form/Decorator/DijitForm.php deleted file mode 100644 index 1d90cc1718..0000000000 --- a/lib/zend/Zend/Dojo/Form/Decorator/DijitForm.php +++ /dev/null @@ -1,61 +0,0 @@ -getElement(); - $view = $element->getView(); - if (null === $view) { - return $content; - } - - $dijitParams = $this->getDijitParams(); - $attribs = array_merge($this->getAttribs(), $this->getOptions()); - - return $view->form($element->getName(), $attribs, $content); - } -} diff --git a/lib/zend/Zend/Dojo/Form/Decorator/SplitContainer.php b/lib/zend/Zend/Dojo/Form/Decorator/SplitContainer.php deleted file mode 100644 index 7cf48d014f..0000000000 --- a/lib/zend/Zend/Dojo/Form/Decorator/SplitContainer.php +++ /dev/null @@ -1,43 +0,0 @@ -addPrefixPath('Zend_Dojo_Form_Decorator', 'Zend/Dojo/Form/Decorator'); - } - - /** - * Set the view object - * - * Ensures that the view object has the dojo view helper path set. - * - * @param Zend_View_Interface $view - * @return Zend_Dojo_Form_Element_Dijit - */ - public function setView(Zend_View_Interface $view = null) - { - if (null !== $view) { - if (false === $view->getPluginLoader('helper')->getPaths('Zend_Dojo_View_Helper')) { - $view->addHelperPath('Zend/Dojo/View/Helper', 'Zend_Dojo_View_Helper'); - } - } - return parent::setView($view); - } -} diff --git a/lib/zend/Zend/Dojo/Form/Element/Button.php b/lib/zend/Zend/Dojo/Form/Element/Button.php deleted file mode 100644 index 171930fbe5..0000000000 --- a/lib/zend/Zend/Dojo/Form/Element/Button.php +++ /dev/null @@ -1,121 +0,0 @@ - $options); - } - - parent::__construct($spec, $options); - } - - /** - * Return label - * - * If no label is present, returns the currently set name. - * - * If a translator is present, returns the translated label. - * - * @return string - */ - public function getLabel() - { - $value = parent::getLabel(); - - if (null === $value) { - $value = $this->getName(); - } - - if (null !== ($translator = $this->getTranslator())) { - return $translator->translate($value); - } - - return $value; - } - - /** - * Has this submit button been selected? - * - * @return bool - */ - public function isChecked() - { - $value = $this->getValue(); - - if (empty($value)) { - return false; - } - if ($value != $this->getLabel()) { - return false; - } - - return true; - } - - /** - * Default decorators - * - * Uses only 'DijitElement' and 'DtDdWrapper' decorators by default. - * - * @return void - */ - public function loadDefaultDecorators() - { - if ($this->loadDefaultDecoratorsIsDisabled()) { - return; - } - - $decorators = $this->getDecorators(); - if (empty($decorators)) { - $this->addDecorator('DijitElement') - ->addDecorator('DtDdWrapper'); - } - } -} diff --git a/lib/zend/Zend/Dojo/Form/Element/CheckBox.php b/lib/zend/Zend/Dojo/Form/Element/CheckBox.php deleted file mode 100644 index 27ba84a7c2..0000000000 --- a/lib/zend/Zend/Dojo/Form/Element/CheckBox.php +++ /dev/null @@ -1,205 +0,0 @@ - '1', - 'uncheckedValue' => '0', - ); - - /** - * Value when checked - * @var string - */ - protected $_checkedValue = '1'; - - /** - * Value when not checked - * @var string - */ - protected $_uncheckedValue = '0'; - - /** - * Current value - * @var string 0 or 1 - */ - protected $_value = '0'; - - /** - * Set options - * - * Intercept checked and unchecked values and set them early; test stored - * value against checked and unchecked values after configuration. - * - * @param array $options - * @return Zend_Form_Element_Checkbox - */ - public function setOptions(array $options) - { - if (array_key_exists('checkedValue', $options)) { - $this->setCheckedValue($options['checkedValue']); - unset($options['checkedValue']); - } - if (array_key_exists('uncheckedValue', $options)) { - $this->setUncheckedValue($options['uncheckedValue']); - unset($options['uncheckedValue']); - } - parent::setOptions($options); - - $curValue = $this->getValue(); - $test = array($this->getCheckedValue(), $this->getUncheckedValue()); - if (!in_array($curValue, $test)) { - $this->setValue($curValue); - } - - return $this; - } - - /** - * Set value - * - * If value matches checked value, sets to that value, and sets the checked - * flag to true. - * - * Any other value causes the unchecked value to be set as the current - * value, and the checked flag to be set as false. - * - * - * @param mixed $value - * @return Zend_Form_Element_Checkbox - */ - public function setValue($value) - { - if ($value == $this->getCheckedValue()) { - parent::setValue($value); - $this->checked = true; - } else { - parent::setValue($this->getUncheckedValue()); - $this->checked = false; - } - return $this; - } - - /** - * Set checked value - * - * @param string $value - * @return Zend_Form_Element_Checkbox - */ - public function setCheckedValue($value) - { - $this->_checkedValue = (string) $value; - $this->options['checkedValue'] = $value; - return $this; - } - - /** - * Get value when checked - * - * @return string - */ - public function getCheckedValue() - { - return $this->_checkedValue; - } - - /** - * Set unchecked value - * - * @param string $value - * @return Zend_Form_Element_Checkbox - */ - public function setUncheckedValue($value) - { - $this->_uncheckedValue = (string) $value; - $this->options['uncheckedValue'] = $value; - return $this; - } - - /** - * Get value when not checked - * - * @return string - */ - public function getUncheckedValue() - { - return $this->_uncheckedValue; - } - - /** - * Set checked flag - * - * @param bool $flag - * @return Zend_Form_Element_Checkbox - */ - public function setChecked($flag) - { - $this->checked = (bool) $flag; - if ($this->checked) { - $this->setValue($this->getCheckedValue()); - } else { - $this->setValue($this->getUncheckedValue()); - } - return $this; - } - - /** - * Get checked flag - * - * @return bool - */ - public function isChecked() - { - return $this->checked; - } -} diff --git a/lib/zend/Zend/Dojo/Form/Element/ComboBox.php b/lib/zend/Zend/Dojo/Form/Element/ComboBox.php deleted file mode 100644 index 0e4ce30962..0000000000 --- a/lib/zend/Zend/Dojo/Form/Element/ComboBox.php +++ /dev/null @@ -1,186 +0,0 @@ -hasDijitParam('store')) { - $this->dijitParams['store'] = array(); - } - return $this->dijitParams['store']; - } - - /** - * Set datastore identifier - * - * @param string $identifier - * @return Zend_Dojo_Form_Element_ComboBox - */ - public function setStoreId($identifier) - { - $store = $this->getStoreInfo(); - $store['store'] = (string) $identifier; - $this->setDijitParam('store', $store); - return $this; - } - - /** - * Get datastore identifier - * - * @return string|null - */ - public function getStoreId() - { - $store = $this->getStoreInfo(); - if (array_key_exists('store', $store)) { - return $store['store']; - } - return null; - } - - /** - * Set datastore dijit type - * - * @param string $dojoType - * @return Zend_Dojo_Form_Element_ComboBox - */ - public function setStoreType($dojoType) - { - $store = $this->getStoreInfo(); - $store['type'] = (string) $dojoType; - $this->setDijitParam('store', $store); - return $this; - } - - /** - * Get datastore dijit type - * - * @return string|null - */ - public function getStoreType() - { - $store = $this->getStoreInfo(); - if (array_key_exists('type', $store)) { - return $store['type']; - } - return null; - } - - /** - * Set datastore parameters - * - * @param array $params - * @return Zend_Dojo_Form_Element_ComboBox - */ - public function setStoreParams(array $params) - { - $store = $this->getStoreInfo(); - $store['params'] = $params; - $this->setDijitParam('store', $store); - return $this; - } - - /** - * Get datastore params - * - * @return array - */ - public function getStoreParams() - { - $store = $this->getStoreInfo(); - if (array_key_exists('params', $store)) { - return $store['params']; - } - return array(); - } - - /** - * Set autocomplete flag - * - * @param bool $flag - * @return Zend_Dojo_Form_Element_ComboBox - */ - public function setAutocomplete($flag) - { - $this->setDijitParam('autocomplete', (bool) $flag); - return $this; - } - - /** - * Get autocomplete flag - * - * @return bool - */ - public function getAutocomplete() - { - if (!$this->hasDijitParam('autocomplete')) { - return false; - } - return $this->getDijitParam('autocomplete'); - } - - /** - * Is the value valid? - * - * @param string $value - * @param mixed $context - * @return bool - */ - public function isValid($value, $context = null) - { - $storeInfo = $this->getStoreInfo(); - if (!empty($storeInfo)) { - $this->setRegisterInArrayValidator(false); - } - return parent::isValid($value, $context); - } -} diff --git a/lib/zend/Zend/Dojo/Form/Element/CurrencyTextBox.php b/lib/zend/Zend/Dojo/Form/Element/CurrencyTextBox.php deleted file mode 100644 index b31a274861..0000000000 --- a/lib/zend/Zend/Dojo/Form/Element/CurrencyTextBox.php +++ /dev/null @@ -1,120 +0,0 @@ -setDijitParam('currency', (string) $currency); - return $this; - } - - /** - * Retrieve currency - * - * @return string|null - */ - public function getCurrency() - { - return $this->getDijitParam('currency'); - } - - /** - * Set currency symbol - * - * Casts to string, uppercases, and trims to three characters. - * - * @param string $symbol - * @return Zend_Dojo_Form_Element_CurrencyTextBox - */ - public function setSymbol($symbol) - { - $symbol = strtoupper((string) $symbol); - $length = strlen($symbol); - if (3 > $length) { - require_once 'Zend/Form/Element/Exception.php'; - throw new Zend_Form_Element_Exception('Invalid symbol provided; please provide ISO 4217 alphabetic currency code'); - } - if (3 < $length) { - $symbol = substr($symbol, 0, 3); - } - - $this->setConstraint('symbol', $symbol); - return $this; - } - - /** - * Retrieve symbol - * - * @return string|null - */ - public function getSymbol() - { - return $this->getConstraint('symbol'); - } - - /** - * Set whether currency is fractional - * - * @param bool $flag - * @return Zend_Dojo_Form_Element_CurrencyTextBox - */ - public function setFractional($flag) - { - $this->setConstraint('fractional', (bool) $flag); - return $this; - } - - /** - * Get whether or not to present fractional values - * - * @return bool - */ - public function getFractional() - { - return ('true' == $this->getConstraint('fractional')); - } -} diff --git a/lib/zend/Zend/Dojo/Form/Element/DateTextBox.php b/lib/zend/Zend/Dojo/Form/Element/DateTextBox.php deleted file mode 100644 index 9bbb9cea1f..0000000000 --- a/lib/zend/Zend/Dojo/Form/Element/DateTextBox.php +++ /dev/null @@ -1,214 +0,0 @@ -setConstraint('am,pm', (bool) $flag); - return $this; - } - - /** - * Retrieve am,pm flag - * - * @return bool - */ - public function getAmPm() - { - if (!$this->hasConstraint('am,pm')) { - return false; - } - return ('true' ==$this->getConstraint('am,pm')); - } - - /** - * Set strict flag - * - * @param bool $strict - * @return Zend_Dojo_Form_Element_DateTextBox - */ - public function setStrict($flag) - { - $this->setConstraint('strict', (bool) $flag); - return $this; - } - - /** - * Retrieve strict flag - * - * @return bool - */ - public function getStrict() - { - if (!$this->hasConstraint('strict')) { - return false; - } - return ('true' == $this->getConstraint('strict')); - } - - /** - * Set locale - * - * @param string $locale - * @return Zend_Dojo_Form_Element_DateTextBox - */ - public function setLocale($locale) - { - $this->setConstraint('locale', (string) $locale); - return $this; - } - - /** - * Retrieve locale - * - * @return string|null - */ - public function getLocale() - { - return $this->getConstraint('locale'); - } - - /** - * Set date format pattern - * - * @param string $pattern - * @return Zend_Dojo_Form_Element_NumberTextBox - */ - public function setDatePattern($pattern) - { - $this->setConstraint('datePattern', (string) $pattern); - return $this; - } - - /** - * Retrieve date format pattern - * - * @return string|null - */ - public function getDatePattern() - { - return $this->getConstraint('datePattern'); - } - - /** - * Set numeric format formatLength - * - * @see $_allowedFormatTypes - * @param string $formatLength - * @return Zend_Dojo_Form_Element_NumberTextBox - */ - public function setFormatLength($formatLength) - { - $formatLength = strtolower($formatLength); - if (!in_array($formatLength, $this->_allowedFormatTypes)) { - require_once 'Zend/Form/Element/Exception.php'; - throw new Zend_Form_Element_Exception(sprintf('Invalid formatLength "%s" specified', $formatLength)); - } - - $this->setConstraint('formatLength', $formatLength); - return $this; - } - - /** - * Retrieve formatLength - * - * @return string|null - */ - public function getFormatLength() - { - return $this->getConstraint('formatLength'); - } - - /** - * Set numeric format Selector - * - * @see $_allowedSelectorTypes - * @param string $selector - * @return Zend_Dojo_Form_Element_NumberTextBox - */ - public function setSelector($selector) - { - $selector = strtolower($selector); - if (!in_array($selector, $this->_allowedSelectorTypes)) { - require_once 'Zend/Form/Element/Exception.php'; - throw new Zend_Form_Element_Exception(sprintf('Invalid Selector "%s" specified', $selector)); - } - - $this->setConstraint('selector', $selector); - return $this; - } - - /** - * Retrieve selector - * - * @return string|null - */ - public function getSelector() - { - return $this->getConstraint('selector'); - } -} diff --git a/lib/zend/Zend/Dojo/Form/Element/Dijit.php b/lib/zend/Zend/Dojo/Form/Element/Dijit.php deleted file mode 100644 index ee75065b7d..0000000000 --- a/lib/zend/Zend/Dojo/Form/Element/Dijit.php +++ /dev/null @@ -1,189 +0,0 @@ -addPrefixPath('Zend_Dojo_Form_Decorator', 'Zend/Dojo/Form/Decorator', 'decorator'); - parent::__construct($spec, $options); - } - - /** - * Set a dijit parameter - * - * @param string $key - * @param mixed $value - * @return Zend_Dojo_Form_Element_Dijit - */ - public function setDijitParam($key, $value) - { - $key = (string) $key; - $this->dijitParams[$key] = $value; - return $this; - } - - /** - * Set multiple dijit params at once - * - * @param array $params - * @return Zend_Dojo_Form_Element_Dijit - */ - public function setDijitParams(array $params) - { - $this->dijitParams = array_merge($this->dijitParams, $params); - return $this; - } - - /** - * Does the given dijit parameter exist? - * - * @param string $key - * @return bool - */ - public function hasDijitParam($key) - { - return array_key_exists($key, $this->dijitParams); - } - - /** - * Get a single dijit parameter - * - * @param string $key - * @return mixed - */ - public function getDijitParam($key) - { - $key = (string) $key; - if ($this->hasDijitParam($key)) { - return $this->dijitParams[$key]; - } - return null; - } - - /** - * Retrieve all dijit parameters - * - * @return array - */ - public function getDijitParams() - { - return $this->dijitParams; - } - - /** - * Remove a single dijit parameter - * - * @param string $key - * @return Zend_Dojo_Form_Element_Dijit - */ - public function removeDijitParam($key) - { - $key = (string) $key; - if (array_key_exists($key, $this->dijitParams)) { - unset($this->dijitParams[$key]); - } - return $this; - } - - /** - * Clear all dijit parameters - * - * @return Zend_Dojo_Form_Element_Dijit - */ - public function clearDijitParams() - { - $this->dijitParams = array(); - return $this; - } - - /** - * Load default decorators - * - * @return void - */ - public function loadDefaultDecorators() - { - if ($this->loadDefaultDecoratorsIsDisabled()) { - return; - } - - $decorators = $this->getDecorators(); - if (empty($decorators)) { - $this->addDecorator('DijitElement') - ->addDecorator('Errors') - ->addDecorator('Description', array('tag' => 'p', 'class' => 'description')) - ->addDecorator('HtmlTag', array('tag' => 'dd')) - ->addDecorator('Label', array('tag' => 'dt')); - } - } - - /** - * Set the view object - * - * Ensures that the view object has the dojo view helper path set. - * - * @param Zend_View_Interface $view - * @return Zend_Dojo_Form_Element_Dijit - */ - public function setView(Zend_View_Interface $view = null) - { - if (null !== $view) { - if (false === $view->getPluginLoader('helper')->getPaths('Zend_Dojo_View_Helper')) { - $view->addHelperPath('Zend/Dojo/View/Helper', 'Zend_Dojo_View_Helper'); - } - } - return parent::setView($view); - } -} diff --git a/lib/zend/Zend/Dojo/Form/Element/DijitMulti.php b/lib/zend/Zend/Dojo/Form/Element/DijitMulti.php deleted file mode 100644 index 852d3bddca..0000000000 --- a/lib/zend/Zend/Dojo/Form/Element/DijitMulti.php +++ /dev/null @@ -1,304 +0,0 @@ -'. - * @var string - */ - protected $_separator = '
'; - - /** - * Which values are translated already? - * @var array - */ - protected $_translated = array(); - - /** - * Retrieve separator - * - * @return mixed - */ - public function getSeparator() - { - return $this->_separator; - } - - /** - * Set separator - * - * @param mixed $separator - * @return self - */ - public function setSeparator($separator) - { - $this->_separator = $separator; - return $this; - } - - /** - * Retrieve options array - * - * @return array - */ - protected function _getMultiOptions() - { - if (null === $this->options || !is_array($this->options)) { - $this->options = array(); - } - - return $this->options; - } - - /** - * Add an option - * - * @param string $option - * @param string $value - * @return Zend_Form_Element_Multi - */ - public function addMultiOption($option, $value = '') - { - $option = (string) $option; - $this->_getMultiOptions(); - if (!$this->_translateOption($option, $value)) { - $this->options[$option] = $value; - } - - return $this; - } - - /** - * Add many options at once - * - * @param array $options - * @return Zend_Form_Element_Multi - */ - public function addMultiOptions(array $options) - { - foreach ($options as $option => $value) { - if (is_array($value) - && array_key_exists('key', $value) - && array_key_exists('value', $value) - ) { - $this->addMultiOption($value['key'], $value['value']); - } else { - $this->addMultiOption($option, $value); - } - } - return $this; - } - - /** - * Set all options at once (overwrites) - * - * @param array $options - * @return Zend_Form_Element_Multi - */ - public function setMultiOptions(array $options) - { - $this->clearMultiOptions(); - return $this->addMultiOptions($options); - } - - /** - * Retrieve single multi option - * - * @param string $option - * @return mixed - */ - public function getMultiOption($option) - { - $option = (string) $option; - $this->_getMultiOptions(); - if (isset($this->options[$option])) { - $this->_translateOption($option, $this->options[$option]); - return $this->options[$option]; - } - - return null; - } - - /** - * Retrieve options - * - * @return array - */ - public function getMultiOptions() - { - $this->_getMultiOptions(); - foreach ($this->options as $option => $value) { - $this->_translateOption($option, $value); - } - return $this->options; - } - - /** - * Remove a single multi option - * - * @param string $option - * @return bool - */ - public function removeMultiOption($option) - { - $option = (string) $option; - $this->_getMultiOptions(); - if (isset($this->options[$option])) { - unset($this->options[$option]); - if (isset($this->_translated[$option])) { - unset($this->_translated[$option]); - } - return true; - } - - return false; - } - - /** - * Clear all options - * - * @return Zend_Form_Element_Multi - */ - public function clearMultiOptions() - { - $this->options = array(); - $this->_translated = array(); - return $this; - } - - /** - * Set flag indicating whether or not to auto-register inArray validator - * - * @param bool $flag - * @return Zend_Form_Element_Multi - */ - public function setRegisterInArrayValidator($flag) - { - $this->_registerInArrayValidator = (bool) $flag; - return $this; - } - - /** - * Get status of auto-register inArray validator flag - * - * @return bool - */ - public function registerInArrayValidator() - { - return $this->_registerInArrayValidator; - } - - /** - * Is the value provided valid? - * - * Autoregisters InArray validator if necessary. - * - * @param string $value - * @param mixed $context - * @return bool - */ - public function isValid($value, $context = null) - { - if ($this->registerInArrayValidator()) { - if (!$this->getValidator('InArray')) { - $options = $this->getMultiOptions(); - $this->addValidator( - 'InArray', - true, - array(array_keys($options)) - ); - } - } - return parent::isValid($value, $context); - } - - /** - * Translate an option - * - * @param string $option - * @param string $value - * @return bool - */ - protected function _translateOption($option, $value) - { - if (!isset($this->_translated[$option])) { - $this->options[$option] = $this->_translateValue($value); - if ($this->options[$option] === $value) { - return false; - } - $this->_translated[$option] = true; - return true; - } - - return false; - } - - /** - * Translate a value - * - * @param array|string $value - * @return array|string - */ - protected function _translateValue($value) - { - if (is_array($value)) { - foreach ($value as $key => $val) { - $value[$key] = $this->_translateValue($val); - } - return $value; - } else { - if (null !== ($translator = $this->getTranslator())) { - if ($translator->isTranslated($value)) { - return $translator->translate($value); - } - } - return $value; - } - } -} diff --git a/lib/zend/Zend/Dojo/Form/Element/Editor.php b/lib/zend/Zend/Dojo/Form/Element/Editor.php deleted file mode 100644 index 2ff6fc6a08..0000000000 --- a/lib/zend/Zend/Dojo/Form/Element/Editor.php +++ /dev/null @@ -1,599 +0,0 @@ -getCaptureEvents(); - if (in_array($event, $captureEvents)) { - return $this; - } - - $captureEvents[] = (string) $event; - $this->setDijitParam('captureEvents', $captureEvents); - return $this; - } - - /** - * Add multiple capture events - * - * @param array $events - * @return Zend_Dojo_Form_Element_Editor - */ - public function addCaptureEvents(array $events) - { - foreach ($events as $event) { - $this->addCaptureEvent($event); - } - return $this; - } - - /** - * Overwrite many capture events at once - * - * @param array $events - * @return Zend_Dojo_Form_Element_Editor - */ - public function setCaptureEvents(array $events) - { - $this->clearCaptureEvents(); - $this->addCaptureEvents($events); - return $this; - } - - /** - * Get all capture events - * - * @return array - */ - public function getCaptureEvents() - { - if (!$this->hasDijitParam('captureEvents')) { - return array(); - } - return $this->getDijitParam('captureEvents'); - } - - /** - * Is a given capture event registered? - * - * @param string $event - * @return bool - */ - public function hasCaptureEvent($event) - { - $captureEvents = $this->getCaptureEvents(); - return in_array((string) $event, $captureEvents); - } - - /** - * Remove a given capture event - * - * @param string $event - * @return Zend_Dojo_Form_Element_Editor - */ - public function removeCaptureEvent($event) - { - $event = (string) $event; - $captureEvents = $this->getCaptureEvents(); - if (false === ($index = array_search($event, $captureEvents))) { - return $this; - } - unset($captureEvents[$index]); - $this->setDijitParam('captureEvents', $captureEvents); - return $this; - } - - /** - * Clear all capture events - * - * @return Zend_Dojo_Form_Element_Editor - */ - public function clearCaptureEvents() - { - return $this->removeDijitParam('captureEvents'); - } - - /** - * Add a single event to the dijit - * - * @param string $event - * @return Zend_Dojo_Form_Element_Editor - */ - public function addEvent($event) - { - $event = (string) $event; - $events = $this->getEvents(); - if (in_array($event, $events)) { - return $this; - } - - $events[] = (string) $event; - $this->setDijitParam('events', $events); - return $this; - } - - /** - * Add multiple events - * - * @param array $events - * @return Zend_Dojo_Form_Element_Editor - */ - public function addEvents(array $events) - { - foreach ($events as $event) { - $this->addEvent($event); - } - return $this; - } - - /** - * Overwrite many events at once - * - * @param array $events - * @return Zend_Dojo_Form_Element_Editor - */ - public function setEvents(array $events) - { - $this->clearEvents(); - $this->addEvents($events); - return $this; - } - - /** - * Get all events - * - * @return array - */ - public function getEvents() - { - if (!$this->hasDijitParam('events')) { - return array(); - } - return $this->getDijitParam('events'); - } - - /** - * Is a given event registered? - * - * @param string $event - * @return bool - */ - public function hasEvent($event) - { - $events = $this->getEvents(); - return in_array((string) $event, $events); - } - - /** - * Remove a given event - * - * @param string $event - * @return Zend_Dojo_Form_Element_Editor - */ - public function removeEvent($event) - { - $events = $this->getEvents(); - if (false === ($index = array_search($event, $events))) { - return $this; - } - unset($events[$index]); - $this->setDijitParam('events', $events); - return $this; - } - - /** - * Clear all events - * - * @return Zend_Dojo_Form_Element_Editor - */ - public function clearEvents() - { - return $this->removeDijitParam('events'); - } - - /** - * Add a single editor plugin - * - * @param string $plugin - * @return Zend_Dojo_Form_Element_Editor - */ - public function addPlugin($plugin) - { - $plugin = (string) $plugin; - $plugins = $this->getPlugins(); - if (in_array($plugin, $plugins)) { - return $this; - } - - $plugins[] = (string) $plugin; - $this->setDijitParam('plugins', $plugins); - return $this; - } - - /** - * Add multiple plugins - * - * @param array $plugins - * @return Zend_Dojo_Form_Element_Editor - */ - public function addPlugins(array $plugins) - { - foreach ($plugins as $plugin) { - $this->addPlugin($plugin); - } - return $this; - } - - /** - * Overwrite many plugins at once - * - * @param array $plugins - * @return Zend_Dojo_Form_Element_Editor - */ - public function setPlugins(array $plugins) - { - $this->clearPlugins(); - $this->addPlugins($plugins); - return $this; - } - - /** - * Get all plugins - * - * @return array - */ - public function getPlugins() - { - if (!$this->hasDijitParam('plugins')) { - return array(); - } - return $this->getDijitParam('plugins'); - } - - /** - * Is a given plugin registered? - * - * @param string $plugin - * @return bool - */ - public function hasPlugin($plugin) - { - $plugins = $this->getPlugins(); - return in_array((string) $plugin, $plugins); - } - - /** - * Remove a given plugin - * - * @param string $plugin - * @return Zend_Dojo_Form_Element_Editor - */ - public function removePlugin($plugin) - { - $plugins = $this->getPlugins(); - if (false === ($index = array_search($plugin, $plugins))) { - return $this; - } - unset($plugins[$index]); - $this->setDijitParam('plugins', $plugins); - return $this; - } - - /** - * Clear all plugins - * - * @return Zend_Dojo_Form_Element_Editor - */ - public function clearPlugins() - { - return $this->removeDijitParam('plugins'); - } - - /** - * Set edit action interval - * - * @param int $interval - * @return Zend_Dojo_Form_Element_Editor - */ - public function setEditActionInterval($interval) - { - return $this->setDijitParam('editActionInterval', (int) $interval); - } - - /** - * Get edit action interval; defaults to 3 - * - * @return int - */ - public function getEditActionInterval() - { - if (!$this->hasDijitParam('editActionInterval')) { - $this->setEditActionInterval(3); - } - return $this->getDijitParam('editActionInterval'); - } - - /** - * Set focus on load flag - * - * @param bool $flag - * @return Zend_Dojo_Form_Element_Editor - */ - public function setFocusOnLoad($flag) - { - return $this->setDijitParam('focusOnLoad', (bool) $flag); - } - - /** - * Retrieve focus on load flag - * - * @return bool - */ - public function getFocusOnLoad() - { - if (!$this->hasDijitParam('focusOnLoad')) { - return false; - } - return $this->getDijitParam('focusOnLoad'); - } - - /** - * Set editor height - * - * @param string|int $height - * @return Zend_Dojo_Form_Element_Editor - */ - public function setHeight($height) - { - if (!preg_match('/^\d+(em|px|%)?$/i', $height)) { - require_once 'Zend/Form/Element/Exception.php'; - throw new Zend_Form_Element_Exception('Invalid height provided; must be integer or CSS measurement'); - } - if (!preg_match('/(em|px|%)$/', $height)) { - $height .= 'px'; - } - return $this->setDijitParam('height', $height); - } - - /** - * Retrieve height - * - * @return string - */ - public function getHeight() - { - if (!$this->hasDijitParam('height')) { - return '300px'; - } - return $this->getDijitParam('height'); - } - - /** - * Set whether or not to inherit parent's width - * - * @param bool $flag - * @return Zend_Dojo_Form_Element_Editor - */ - public function setInheritWidth($flag) - { - return $this->setDijitParam('inheritWidth', (bool) $flag); - } - - /** - * Whether or not to inherit the parent's width - * - * @return bool - */ - public function getInheritWidth() - { - if (!$this->hasDijitParam('inheritWidth')) { - return false; - } - return $this->getDijitParam('inheritWidth'); - } - - /** - * Set minimum height of editor - * - * @param string|int $minHeight - * @return Zend_Dojo_Form_Element_Editor - */ - public function setMinHeight($minHeight) - { - if (!preg_match('/^\d+(em)?$/i', $minHeight)) { - require_once 'Zend/Form/Element/Exception.php'; - throw new Zend_Form_Element_Exception('Invalid minHeight provided; must be integer or CSS measurement'); - } - if ('em' != substr($minHeight, -2)) { - $minHeight .= 'em'; - } - return $this->setDijitParam('minHeight', $minHeight); - } - - /** - * Get minimum height of editor - * - * @return string - */ - public function getMinHeight() - { - if (!$this->hasDijitParam('minHeight')) { - return '1em'; - } - return $this->getDijitParam('minHeight'); - } - - /** - * Add a custom stylesheet - * - * @param string $styleSheet - * @return Zend_Dojo_Form_Element_Editor - */ - public function addStyleSheet($styleSheet) - { - $stylesheets = $this->getStyleSheets(); - if (strstr($stylesheets, ';')) { - $stylesheets = explode(';', $stylesheets); - } elseif (!empty($stylesheets)) { - $stylesheets = (array) $stylesheets; - } else { - $stylesheets = array(); - } - if (!in_array($styleSheet, $stylesheets)) { - $stylesheets[] = (string) $styleSheet; - } - return $this->setDijitParam('styleSheets', implode(';', $stylesheets)); - } - - /** - * Add multiple custom stylesheets - * - * @param array $styleSheets - * @return Zend_Dojo_Form_Element_Editor - */ - public function addStyleSheets(array $styleSheets) - { - foreach ($styleSheets as $styleSheet) { - $this->addStyleSheet($styleSheet); - } - return $this; - } - - /** - * Overwrite all stylesheets - * - * @param array $styleSheets - * @return Zend_Dojo_Form_Element_Editor - */ - public function setStyleSheets(array $styleSheets) - { - $this->clearStyleSheets(); - return $this->addStyleSheets($styleSheets); - } - - /** - * Get all stylesheets - * - * @return string - */ - public function getStyleSheets() - { - if (!$this->hasDijitParam('styleSheets')) { - return ''; - } - return $this->getDijitParam('styleSheets'); - } - - /** - * Is a given stylesheet registered? - * - * @param string $styleSheet - * @return bool - */ - public function hasStyleSheet($styleSheet) - { - $styleSheets = $this->getStyleSheets(); - $styleSheets = explode(';', $styleSheets); - return in_array($styleSheet, $styleSheets); - } - - /** - * Remove a single stylesheet - * - * @param string $styleSheet - * @return Zend_Dojo_Form_Element_Editor - */ - public function removeStyleSheet($styleSheet) - { - $styleSheets = $this->getStyleSheets(); - $styleSheets = explode(';', $styleSheets); - if (false !== ($index = array_search($styleSheet, $styleSheets))) { - unset($styleSheets[$index]); - $this->setDijitParam('styleSheets', implode(';', $styleSheets)); - } - return $this; - } - - /** - * Clear all stylesheets - * - * @return Zend_Dojo_Form_Element_Editor - */ - public function clearStyleSheets() - { - if ($this->hasDijitParam('styleSheets')) { - $this->removeDijitParam('styleSheets'); - } - return $this; - } - - /** - * Set update interval - * - * @param int $interval - * @return Zend_Dojo_Form_Element_Editor - */ - public function setUpdateInterval($interval) - { - return $this->setDijitParam('updateInterval', (int) $interval); - } - - /** - * Get update interval - * - * @return int - */ - public function getUpdateInterval() - { - if (!$this->hasDijitParam('updateInterval')) { - return 200; - } - return $this->getDijitParam('updateInterval'); - } -} diff --git a/lib/zend/Zend/Dojo/Form/Element/FilteringSelect.php b/lib/zend/Zend/Dojo/Form/Element/FilteringSelect.php deleted file mode 100644 index 2a70c44cb1..0000000000 --- a/lib/zend/Zend/Dojo/Form/Element/FilteringSelect.php +++ /dev/null @@ -1,48 +0,0 @@ -hasDijitParam('topDecoration')) { - return $this->getDijitParam('topDecoration'); - } - return array(); - } - - /** - * Set dijit to use with top decoration - * - * @param mixed $dijit - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setTopDecorationDijit($dijit) - { - $decoration = $this->getTopDecoration(); - $decoration['dijit'] = (string) $dijit; - $this->setDijitParam('topDecoration', $decoration); - return $this; - } - - /** - * Set container to use with top decoration - * - * @param mixed $container - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setTopDecorationContainer($container) - { - $decoration = $this->getTopDecoration(); - $decoration['container'] = (string) $container; - $this->setDijitParam('topDecoration', $decoration); - return $this; - } - - /** - * Set labels to use with top decoration - * - * @param array $labels - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setTopDecorationLabels(array $labels) - { - $decoration = $this->getTopDecoration(); - $decoration['labels'] = array_values($labels); - $this->setDijitParam('topDecoration', $decoration); - return $this; - } - - /** - * Set params to use with top decoration - * - * @param array $params - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setTopDecorationParams(array $params) - { - $decoration = $this->getTopDecoration(); - $decoration['params'] = $params; - $this->setDijitParam('topDecoration', $decoration); - return $this; - } - - /** - * Set attribs to use with top decoration - * - * @param array $attribs - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setTopDecorationAttribs(array $attribs) - { - $decoration = $this->getTopDecoration(); - $decoration['attribs'] = $attribs; - $this->setDijitParam('topDecoration', $decoration); - return $this; - } - - /** - * Get bottom decoration data - * - * @return array - */ - public function getBottomDecoration() - { - if ($this->hasDijitParam('bottomDecoration')) { - return $this->getDijitParam('bottomDecoration'); - } - return array(); - } - - /** - * Set dijit to use with bottom decoration - * - * @param mixed $dijit - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setBottomDecorationDijit($dijit) - { - $decoration = $this->getBottomDecoration(); - $decoration['dijit'] = (string) $dijit; - $this->setDijitParam('bottomDecoration', $decoration); - return $this; - } - - /** - * Set container to use with bottom decoration - * - * @param mixed $container - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setBottomDecorationContainer($container) - { - $decoration = $this->getBottomDecoration(); - $decoration['container'] = (string) $container; - $this->setDijitParam('bottomDecoration', $decoration); - return $this; - } - - /** - * Set labels to use with bottom decoration - * - * @param array $labels - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setBottomDecorationLabels(array $labels) - { - $decoration = $this->getBottomDecoration(); - $decoration['labels'] = array_values($labels); - $this->setDijitParam('bottomDecoration', $decoration); - return $this; - } - - /** - * Set params to use with bottom decoration - * - * @param array $params - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setBottomDecorationParams(array $params) - { - $decoration = $this->getBottomDecoration(); - $decoration['params'] = $params; - $this->setDijitParam('bottomDecoration', $decoration); - return $this; - } - - /** - * Set attribs to use with bottom decoration - * - * @param array $attribs - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setBottomDecorationAttribs(array $attribs) - { - $decoration = $this->getBottomDecoration(); - $decoration['attribs'] = $attribs; - $this->setDijitParam('bottomDecoration', $decoration); - return $this; - } -} diff --git a/lib/zend/Zend/Dojo/Form/Element/NumberSpinner.php b/lib/zend/Zend/Dojo/Form/Element/NumberSpinner.php deleted file mode 100644 index 5cb4c2c7bc..0000000000 --- a/lib/zend/Zend/Dojo/Form/Element/NumberSpinner.php +++ /dev/null @@ -1,245 +0,0 @@ -setDijitParam('defaultTimeout', (int) $timeout); - return $this; - } - - /** - * Retrieve defaultTimeout - * - * @return int|null - */ - public function getDefaultTimeout() - { - return $this->getDijitParam('defaultTimeout'); - } - - /** - * Set timeoutChangeRate - * - * @param int $rate - * @return Zend_Dojo_Form_Element_NumberSpinner - */ - public function setTimeoutChangeRate($rate) - { - $this->setDijitParam('timeoutChangeRate', (int) $rate); - return $this; - } - - /** - * Retrieve timeoutChangeRate - * - * @return int|null - */ - public function getTimeoutChangeRate() - { - return $this->getDijitParam('timeoutChangeRate'); - } - - /** - * Set largeDelta - * - * @param int $delta - * @return Zend_Dojo_Form_Element_NumberSpinner - */ - public function setLargeDelta($delta) - { - $this->setDijitParam('largeDelta', (int) $delta); - return $this; - } - - /** - * Retrieve largeDelta - * - * @return int|null - */ - public function getLargeDelta() - { - return $this->getDijitParam('largeDelta'); - } - - /** - * Set smallDelta - * - * @param int $delta - * @return Zend_Dojo_Form_Element_NumberSpinner - */ - public function setSmallDelta($delta) - { - $this->setDijitParam('smallDelta', (int) $delta); - return $this; - } - - /** - * Retrieve smallDelta - * - * @return int|null - */ - public function getSmallDelta() - { - return $this->getDijitParam('smallDelta'); - } - - /** - * Set intermediateChanges flag - * - * @param bool $flag - * @return Zend_Dojo_Form_Element_TextBox - */ - public function setIntermediateChanges($flag) - { - $this->setDijitParam('intermediateChanges', (bool) $flag); - return $this; - } - - /** - * Retrieve intermediateChanges flag - * - * @return bool - */ - public function getIntermediateChanges() - { - if (!$this->hasDijitParam('intermediateChanges')) { - return false; - } - return $this->getDijitParam('intermediateChanges'); - } - - /** - * Set rangeMessage - * - * @param string $message - * @return Zend_Dojo_Form_Element_NumberSpinner - */ - public function setRangeMessage($message) - { - $this->setDijitParam('rangeMessage', (string) $message); - return $this; - } - - /** - * Retrieve rangeMessage - * - * @return string|null - */ - public function getRangeMessage() - { - return $this->getDijitParam('rangeMessage'); - } - - /** - * Set minimum value - * - * @param int $value - * @return Zend_Dojo_Form_Element_NumberSpinner - */ - public function setMin($value) - { - $constraints = array(); - if ($this->hasDijitParam('constraints')) { - $constraints = $this->getDijitParam('constraints'); - } - $constraints['min'] = (int) $value; - $this->setDijitParam('constraints', $constraints); - return $this; - } - - /** - * Get minimum value - * - * @return null|int - */ - public function getMin() - { - if (!$this->hasDijitParam('constraints')) { - return null; - } - $constraints = $this->getDijitParam('constraints'); - if (!array_key_exists('min', $constraints)) { - return null; - } - return $constraints['min']; - } - - /** - * Set maximum value - * - * @param int $value - * @return Zend_Dojo_Form_Element_NumberSpinner - */ - public function setMax($value) - { - $constraints = array(); - if ($this->hasDijitParam('constraints')) { - $constraints = $this->getDijitParam('constraints'); - } - $constraints['max'] = (int) $value; - $this->setDijitParam('constraints', $constraints); - return $this; - } - - /** - * Get maximum value - * - * @return null|int - */ - public function getMax() - { - if (!$this->hasDijitParam('constraints')) { - return null; - } - $constraints = $this->getDijitParam('constraints'); - if (!array_key_exists('max', $constraints)) { - return null; - } - return $constraints['max']; - } -} diff --git a/lib/zend/Zend/Dojo/Form/Element/NumberTextBox.php b/lib/zend/Zend/Dojo/Form/Element/NumberTextBox.php deleted file mode 100644 index 66ec1f0724..0000000000 --- a/lib/zend/Zend/Dojo/Form/Element/NumberTextBox.php +++ /dev/null @@ -1,173 +0,0 @@ -setConstraint('locale', (string) $locale); - return $this; - } - - /** - * Retrieve locale - * - * @return string|null - */ - public function getLocale() - { - return $this->getConstraint('locale'); - } - - /** - * Set numeric format pattern - * - * @param string $pattern - * @return Zend_Dojo_Form_Element_NumberTextBox - */ - public function setPattern($pattern) - { - $this->setConstraint('pattern', (string) $pattern); - return $this; - } - - /** - * Retrieve numeric format pattern - * - * @return string|null - */ - public function getPattern() - { - return $this->getConstraint('pattern'); - } - - /** - * Set numeric format type - * - * @see $_allowedTypes - * @param string $type - * @return Zend_Dojo_Form_Element_NumberTextBox - */ - public function setType($type) - { - $type = strtolower($type); - if (!in_array($type, $this->_allowedTypes)) { - require_once 'Zend/Form/Element/Exception.php'; - throw new Zend_Form_Element_Exception(sprintf('Invalid numeric type "%s" specified', $type)); - } - - $this->setConstraint('type', $type); - return $this; - } - - /** - * Retrieve type - * - * @return string|null - */ - public function getType() - { - return $this->getConstraint('type'); - } - - /** - * Set decimal places - * - * @param int $places - * @return Zend_Dojo_Form_Element_NumberTextBox - */ - public function setPlaces($places) - { - $this->setConstraint('places', (int) $places); - return $this; - } - - /** - * Retrieve decimal places - * - * @return int|null - */ - public function getPlaces() - { - return $this->getConstraint('places'); - } - - /** - * Set strict flag - * - * @param bool $strict - * @return Zend_Dojo_Form_Element_NumberTextBox - */ - public function setStrict($flag) - { - $this->setConstraint('strict', (bool) $flag); - return $this; - } - - /** - * Retrieve strict flag - * - * @return bool - */ - public function getStrict() - { - if (!$this->hasConstraint('strict')) { - return false; - } - return ('true' == $this->getConstraint('strict')); - } -} diff --git a/lib/zend/Zend/Dojo/Form/Element/PasswordTextBox.php b/lib/zend/Zend/Dojo/Form/Element/PasswordTextBox.php deleted file mode 100644 index 0aed3b2d38..0000000000 --- a/lib/zend/Zend/Dojo/Form/Element/PasswordTextBox.php +++ /dev/null @@ -1,42 +0,0 @@ -setDijitParam('clickSelect', (bool) $flag); - return $this; - } - - /** - * Retrieve clickSelect flag - * - * @return bool - */ - public function getClickSelect() - { - if (!$this->hasDijitParam('clickSelect')) { - return false; - } - return $this->getDijitParam('clickSelect'); - } - - /** - * Set intermediateChanges flag - * - * @param bool $intermediateChanges - * @return Zend_Dojo_Form_Element_TextBox - */ - public function setIntermediateChanges($flag) - { - $this->setDijitParam('intermediateChanges', (bool) $flag); - return $this; - } - - /** - * Retrieve intermediateChanges flag - * - * @return bool - */ - public function getIntermediateChanges() - { - if (!$this->hasDijitParam('intermediateChanges')) { - return false; - } - return $this->getDijitParam('intermediateChanges'); - } - - /** - * Set showButtons flag - * - * @param bool $showButtons - * @return Zend_Dojo_Form_Element_TextBox - */ - public function setShowButtons($flag) - { - $this->setDijitParam('showButtons', (bool) $flag); - return $this; - } - - /** - * Retrieve showButtons flag - * - * @return bool - */ - public function getShowButtons() - { - if (!$this->hasDijitParam('showButtons')) { - return false; - } - return $this->getDijitParam('showButtons'); - } - - /** - * Set discreteValues - * - * @param int $value - * @return Zend_Dojo_Form_Element_TextBox - */ - public function setDiscreteValues($value) - { - $this->setDijitParam('discreteValues', (int) $value); - return $this; - } - - /** - * Retrieve discreteValues - * - * @return int|null - */ - public function getDiscreteValues() - { - return $this->getDijitParam('discreteValues'); - } - - /** - * Set maximum - * - * @param int $value - * @return Zend_Dojo_Form_Element_TextBox - */ - public function setMaximum($value) - { - $this->setDijitParam('maximum', (int) $value); - return $this; - } - - /** - * Retrieve maximum - * - * @return int|null - */ - public function getMaximum() - { - return $this->getDijitParam('maximum'); - } - - /** - * Set minimum - * - * @param int $value - * @return Zend_Dojo_Form_Element_TextBox - */ - public function setMinimum($value) - { - $this->setDijitParam('minimum', (int) $value); - return $this; - } - - /** - * Retrieve minimum - * - * @return int|null - */ - public function getMinimum() - { - return $this->getDijitParam('minimum'); - } - - /** - * Set pageIncrement - * - * @param int $value - * @return Zend_Dojo_Form_Element_TextBox - */ - public function setPageIncrement($value) - { - $this->setDijitParam('pageIncrement', (int) $value); - return $this; - } - - /** - * Retrieve pageIncrement - * - * @return int|null - */ - public function getPageIncrement() - { - return $this->getDijitParam('pageIncrement'); - } -} diff --git a/lib/zend/Zend/Dojo/Form/Element/SubmitButton.php b/lib/zend/Zend/Dojo/Form/Element/SubmitButton.php deleted file mode 100644 index 3816b39949..0000000000 --- a/lib/zend/Zend/Dojo/Form/Element/SubmitButton.php +++ /dev/null @@ -1,42 +0,0 @@ -setDijitParam('lowercase', (bool) $flag); - return $this; - } - - /** - * Retrieve lowercase flag - * - * @return bool - */ - public function getLowercase() - { - if (!$this->hasDijitParam('lowercase')) { - return false; - } - return $this->getDijitParam('lowercase'); - } - - /** - * Set propercase flag - * - * @param bool $propercase - * @return Zend_Dojo_Form_Element_TextBox - */ - public function setPropercase($flag) - { - $this->setDijitParam('propercase', (bool) $flag); - return $this; - } - - /** - * Retrieve propercase flag - * - * @return bool - */ - public function getPropercase() - { - if (!$this->hasDijitParam('propercase')) { - return false; - } - return $this->getDijitParam('propercase'); - } - - /** - * Set uppercase flag - * - * @param bool $uppercase - * @return Zend_Dojo_Form_Element_TextBox - */ - public function setUppercase($flag) - { - $this->setDijitParam('uppercase', (bool) $flag); - return $this; - } - - /** - * Retrieve uppercase flag - * - * @return bool - */ - public function getUppercase() - { - if (!$this->hasDijitParam('uppercase')) { - return false; - } - return $this->getDijitParam('uppercase'); - } - - /** - * Set trim flag - * - * @param bool $trim - * @return Zend_Dojo_Form_Element_TextBox - */ - public function setTrim($flag) - { - $this->setDijitParam('trim', (bool) $flag); - return $this; - } - - /** - * Retrieve trim flag - * - * @return bool - */ - public function getTrim() - { - if (!$this->hasDijitParam('trim')) { - return false; - } - return $this->getDijitParam('trim'); - } - - /** - * Set maxLength - * - * @param int $length - * @return Zend_Dojo_Form_Element_TextBox - */ - public function setMaxLength($length) - { - $this->setDijitParam('maxLength', (int) $length); - return $this; - } - - /** - * Retrieve maxLength - * - * @return int|null - */ - public function getMaxLength() - { - return $this->getDijitParam('maxLength'); - } -} diff --git a/lib/zend/Zend/Dojo/Form/Element/Textarea.php b/lib/zend/Zend/Dojo/Form/Element/Textarea.php deleted file mode 100644 index 34cc494e4b..0000000000 --- a/lib/zend/Zend/Dojo/Form/Element/Textarea.php +++ /dev/null @@ -1,42 +0,0 @@ -setConstraint('timePattern', (string) $pattern); - return $this; - } - - /** - * Retrieve time format pattern - * - * @return string|null - */ - public function getTimePattern() - { - return $this->getConstraint('timePattern'); - } - - /** - * Set clickableIncrement - * - * @param string $format - * @return Zend_Dojo_Form_Element_NumberTextBox - */ - public function setClickableIncrement($format) - { - $format = (string) $format; - $this->_validateIso8601($format); - $this->setConstraint('clickableIncrement', $format); - return $this; - } - - /** - * Retrieve clickableIncrement - * - * @return string|null - */ - public function getClickableIncrement() - { - return $this->getConstraint('clickableIncrement'); - } - - /** - * Set visibleIncrement - * - * @param string $format - * @return Zend_Dojo_Form_Element_NumberTextBox - */ - public function setVisibleIncrement($format) - { - $format = (string) $format; - $this->_validateIso8601($format); - $this->setConstraint('visibleIncrement', $format); - return $this; - } - - /** - * Retrieve visibleIncrement - * - * @return string|null - */ - public function getVisibleIncrement() - { - return $this->getConstraint('visibleIncrement'); - } - - /** - * Set visibleRange - * - * @param string $format - * @return Zend_Dojo_Form_Element_NumberTextBox - */ - public function setVisibleRange($format) - { - $format = (string) $format; - $this->_validateIso8601($format); - $this->setConstraint('visibleRange', $format); - return $this; - } - - /** - * Retrieve visibleRange - * - * @return string|null - */ - public function getVisibleRange() - { - return $this->getConstraint('visibleRange'); - } -} diff --git a/lib/zend/Zend/Dojo/Form/Element/ValidationTextBox.php b/lib/zend/Zend/Dojo/Form/Element/ValidationTextBox.php deleted file mode 100644 index 005078c5fd..0000000000 --- a/lib/zend/Zend/Dojo/Form/Element/ValidationTextBox.php +++ /dev/null @@ -1,218 +0,0 @@ -setDijitParam('invalidMessage', (string) $message); - return $this; - } - - /** - * Retrieve invalidMessage - * - * @return string|null - */ - public function getInvalidMessage() - { - return $this->getDijitParam('invalidMessage'); - } - - /** - * Set promptMessage - * - * @param string $message - * @return Zend_Dojo_Form_Element_ValidationTextBox - */ - public function setPromptMessage($message) - { - $this->setDijitParam('promptMessage', (string) $message); - return $this; - } - - /** - * Retrieve promptMessage - * - * @return string|null - */ - public function getPromptMessage() - { - return $this->getDijitParam('promptMessage'); - } - - /** - * Set regExp - * - * @param string $regexp - * @return Zend_Dojo_Form_Element_ValidationTextBox - */ - public function setRegExp($regexp) - { - $this->setDijitParam('regExp', (string) $regexp); - return $this; - } - - /** - * Retrieve regExp - * - * @return string|null - */ - public function getRegExp() - { - return $this->getDijitParam('regExp'); - } - - /** - * Set an individual constraint - * - * @param string $key - * @param mixed $value - * @return Zend_Dojo_Form_Element_ValidationTextBox - */ - public function setConstraint($key, $value) - { - $constraints = $this->getConstraints(); - $constraints[(string) $key] = $value; - $this->setConstraints($constraints); - return $this; - } - - /** - * Set validation constraints - * - * Refer to Dojo dijit.form.ValidationTextBox documentation for valid - * structure. - * - * @param array $constraints - * @return Zend_Dojo_Form_Element_ValidationTextBox - */ - public function setConstraints(array $constraints) - { - array_walk_recursive($constraints, array($this, '_castBoolToString')); - $this->setDijitParam('constraints', $constraints); - return $this; - } - - /** - * Is the given constraint set? - * - * @param string $key - * @return bool - */ - public function hasConstraint($key) - { - $constraints = $this->getConstraints(); - return array_key_exists((string)$key, $constraints); - } - - /** - * Get an individual constraint - * - * @param string $key - * @return mixed - */ - public function getConstraint($key) - { - $key = (string) $key; - if (!$this->hasConstraint($key)) { - return null; - } - return $this->dijitParams['constraints'][$key]; - } - - /** - * Get constraints - * - * @return array - */ - public function getConstraints() - { - if ($this->hasDijitParam('constraints')) { - return $this->getDijitParam('constraints'); - } - return array(); - } - - /** - * Remove a single constraint - * - * @param string $key - * @return Zend_Dojo_Form_Element_ValidationTextBox - */ - public function removeConstraint($key) - { - $key = (string) $key; - if ($this->hasConstraint($key)) { - unset($this->dijitParams['constraints'][$key]); - } - return $this; - } - - /** - * Clear all constraints - * - * @return Zend_Dojo_Form_Element_ValidationTextBox - */ - public function clearConstraints() - { - return $this->removeDijitParam('constraints'); - } - - /** - * Cast a boolean value to a string - * - * @param mixed $item - * @param string $key - * @return void - */ - protected function _castBoolToString(&$item, $key) - { - if (is_bool($item)) { - $item = ($item) ? 'true' : 'false'; - } - } -} diff --git a/lib/zend/Zend/Dojo/Form/Element/VerticalSlider.php b/lib/zend/Zend/Dojo/Form/Element/VerticalSlider.php deleted file mode 100644 index a971cb8e81..0000000000 --- a/lib/zend/Zend/Dojo/Form/Element/VerticalSlider.php +++ /dev/null @@ -1,208 +0,0 @@ -hasDijitParam('leftDecoration')) { - return $this->getDijitParam('leftDecoration'); - } - return array(); - } - - /** - * Set dijit to use with left decoration - * - * @param mixed $dijit - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setLeftDecorationDijit($dijit) - { - $decoration = $this->getLeftDecoration(); - $decoration['dijit'] = (string) $dijit; - $this->setDijitParam('leftDecoration', $decoration); - return $this; - } - - /** - * Set container to use with left decoration - * - * @param mixed $container - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setLeftDecorationContainer($container) - { - $decoration = $this->getLeftDecoration(); - $decoration['container'] = (string) $container; - $this->setDijitParam('leftDecoration', $decoration); - return $this; - } - - /** - * Set labels to use with left decoration - * - * @param array $labels - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setLeftDecorationLabels(array $labels) - { - $decoration = $this->getLeftDecoration(); - $decoration['labels'] = array_values($labels); - $this->setDijitParam('leftDecoration', $decoration); - return $this; - } - - /** - * Set params to use with left decoration - * - * @param array $params - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setLeftDecorationParams(array $params) - { - $decoration = $this->getLeftDecoration(); - $decoration['params'] = $params; - $this->setDijitParam('leftDecoration', $decoration); - return $this; - } - - /** - * Set attribs to use with left decoration - * - * @param array $attribs - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setLeftDecorationAttribs(array $attribs) - { - $decoration = $this->getLeftDecoration(); - $decoration['attribs'] = $attribs; - $this->setDijitParam('leftDecoration', $decoration); - return $this; - } - - /** - * Get right decoration data - * - * @return array - */ - public function getRightDecoration() - { - if ($this->hasDijitParam('rightDecoration')) { - return $this->getDijitParam('rightDecoration'); - } - return array(); - } - - /** - * Set dijit to use with right decoration - * - * @param mixed $dijit - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setRightDecorationDijit($dijit) - { - $decoration = $this->getRightDecoration(); - $decoration['dijit'] = (string) $dijit; - $this->setDijitParam('rightDecoration', $decoration); - return $this; - } - - /** - * Set container to use with right decoration - * - * @param mixed $container - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setRightDecorationContainer($container) - { - $decoration = $this->getRightDecoration(); - $decoration['container'] = (string) $container; - $this->setDijitParam('rightDecoration', $decoration); - return $this; - } - - /** - * Set labels to use with right decoration - * - * @param array $labels - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setRightDecorationLabels(array $labels) - { - $decoration = $this->getRightDecoration(); - $decoration['labels'] = array_values($labels); - $this->setDijitParam('rightDecoration', $decoration); - return $this; - } - - /** - * Set params to use with right decoration - * - * @param array $params - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setRightDecorationParams(array $params) - { - $decoration = $this->getRightDecoration(); - $decoration['params'] = $params; - $this->setDijitParam('rightDecoration', $decoration); - return $this; - } - - /** - * Set attribs to use with right decoration - * - * @param array $attribs - * @return Zend_Dojo_Form_Element_HorizontalSlider - */ - public function setRightDecorationAttribs(array $attribs) - { - $decoration = $this->getRightDecoration(); - $decoration['attribs'] = $attribs; - $this->setDijitParam('rightDecoration', $decoration); - return $this; - } -} diff --git a/lib/zend/Zend/Dojo/Form/SubForm.php b/lib/zend/Zend/Dojo/Form/SubForm.php deleted file mode 100644 index 19b99962fb..0000000000 --- a/lib/zend/Zend/Dojo/Form/SubForm.php +++ /dev/null @@ -1,94 +0,0 @@ -addPrefixPath('Zend_Dojo_Form_Decorator', 'Zend/Dojo/Form/Decorator', 'decorator') - ->addPrefixPath('Zend_Dojo_Form_Element', 'Zend/Dojo/Form/Element', 'element') - ->addElementPrefixPath('Zend_Dojo_Form_Decorator', 'Zend/Dojo/Form/Decorator', 'decorator') - ->addDisplayGroupPrefixPath('Zend_Dojo_Form_Decorator', 'Zend/Dojo/Form/Decorator') - ->setDefaultDisplayGroupClass('Zend_Dojo_Form_DisplayGroup'); - parent::__construct($options); - } - - /** - * Load the default decorators - * - * @return void - */ - public function loadDefaultDecorators() - { - if ($this->loadDefaultDecoratorsIsDisabled()) { - return; - } - - $decorators = $this->getDecorators(); - if (empty($decorators)) { - $this->addDecorator('FormElements') - ->addDecorator('HtmlTag', array('tag' => 'dl')) - ->addDecorator('ContentPane'); - } - } - - /** - * Get view - * - * @return Zend_View_Interface - */ - public function getView() - { - $view = parent::getView(); - if (!$this->_dojoViewPathRegistered) { - if (false === $view->getPluginLoader('helper')->getPaths('Zend_Dojo_View_Helper')) { - $view->addHelperPath('Zend/Dojo/View/Helper', 'Zend_Dojo_View_Helper'); - } - $this->_dojoViewPathRegistered = true; - } - return $view; - } -} diff --git a/lib/zend/Zend/Dojo/View/Exception.php b/lib/zend/Zend/Dojo/View/Exception.php deleted file mode 100644 index 88ed680c6f..0000000000 --- a/lib/zend/Zend/Dojo/View/Exception.php +++ /dev/null @@ -1,37 +0,0 @@ -_createLayoutContainer($id, $content, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/AccordionPane.php b/lib/zend/Zend/Dojo/View/Helper/AccordionPane.php deleted file mode 100644 index 6815317777..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/AccordionPane.php +++ /dev/null @@ -1,66 +0,0 @@ -_createLayoutContainer($id, $content, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/BorderContainer.php b/lib/zend/Zend/Dojo/View/Helper/BorderContainer.php deleted file mode 100644 index d8eea86214..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/BorderContainer.php +++ /dev/null @@ -1,79 +0,0 @@ -_styleIsRegistered) { - $this->view->headStyle()->appendStyle('html, body { height: 100%; width: 100%; margin: 0; padding: 0; }'); - $this->_styleIsRegistered = true; - } - - // and now we create it: - return $this->_createLayoutContainer($id, $content, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/Button.php b/lib/zend/Zend/Dojo/View/Helper/Button.php deleted file mode 100644 index bbe8fb5c51..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/Button.php +++ /dev/null @@ -1,68 +0,0 @@ -_prepareDijit($attribs, $params, 'element'); - - return $this->view->formButton($id, $value, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/CheckBox.php b/lib/zend/Zend/Dojo/View/Helper/CheckBox.php deleted file mode 100644 index f7b7139ba6..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/CheckBox.php +++ /dev/null @@ -1,100 +0,0 @@ -_prepareDijit($attribs, $params, 'element'); - - // strip options so they don't show up in markup - if (array_key_exists('options', $attribs)) { - unset($attribs['options']); - } - - // and now we create it: - $html = ''; - if (!strstr($id, '[]')) { - // hidden element for unchecked value - $html .= $this->_renderHiddenElement($id, $checkboxInfo['uncheckedValue']); - } - - // and final element - $html .= $this->_createFormElement($id, $checkboxInfo['checkedValue'], $params, $attribs); - - return $html; - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/ComboBox.php b/lib/zend/Zend/Dojo/View/Helper/ComboBox.php deleted file mode 100644 index f853714c95..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/ComboBox.php +++ /dev/null @@ -1,158 +0,0 @@ -_renderStore($params['store'], $id))) { - $params['store'] = $params['store']['store']; - if ($this->_useProgrammatic()) { - unset($params['store']); - } - if (is_string($store)) { - $html .= $store; - } - $html .= $this->_createFormElement($id, $value, $params, $attribs); - return $html; - } - unset($params['store']); - } elseif (array_key_exists('store', $params)) { - if (array_key_exists('storeType', $params)) { - $storeParams = array( - 'store' => $params['store'], - 'type' => $params['storeType'], - ); - unset($params['storeType']); - if (array_key_exists('storeParams', $params)) { - $storeParams['params'] = $params['storeParams']; - unset($params['storeParams']); - } - if (false !== ($store = $this->_renderStore($storeParams, $id))) { - if (is_string($store)) { - $html .= $store; - } - } - } - if ($this->_useProgrammatic()) { - unset($params['store']); - } - $html .= $this->_createFormElement($id, $value, $params, $attribs); - return $html; - } - - // do as normal select - $attribs = $this->_prepareDijit($attribs, $params, 'element'); - return $this->view->formSelect($id, $value, $attribs, $options); - } - - /** - * Render data store element - * - * Renders to dojo view helper - * - * @param array $params - * @return string|false - */ - protected function _renderStore(array $params, $id) - { - if (!array_key_exists('store', $params) || !array_key_exists('type', $params)) { - return false; - } - - $this->dojo->requireModule($params['type']); - - $extraParams = array(); - $storeParams = array( - 'dojoType' => $params['type'], - 'jsId' => $params['store'], - ); - - if (array_key_exists('params', $params)) { - $storeParams = array_merge($storeParams, $params['params']); - $extraParams = $params['params']; - } - - if ($this->_useProgrammatic()) { - if (!$this->_useProgrammaticNoScript()) { - require_once 'Zend/Json.php'; - $js = 'var ' . $storeParams['jsId'] . ' = ' - . 'new ' . $storeParams['dojoType'] . '(' - . Zend_Json::encode($extraParams) - . ");\n" - . 'dijit.byId("' . $id . '").attr("store", ' - . $storeParams['jsId'] . ');'; - $js = "function() {\n$js\n}"; - $this->dojo->prependOnLoad($js); - } - return true; - } - - return '_htmlAttribs($storeParams) . '>'; - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/ContentPane.php b/lib/zend/Zend/Dojo/View/Helper/ContentPane.php deleted file mode 100644 index cbd231b211..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/ContentPane.php +++ /dev/null @@ -1,66 +0,0 @@ -_createLayoutContainer($id, $content, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/CurrencyTextBox.php b/lib/zend/Zend/Dojo/View/Helper/CurrencyTextBox.php deleted file mode 100644 index bb092828db..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/CurrencyTextBox.php +++ /dev/null @@ -1,68 +0,0 @@ -_createFormElement($id, $value, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/CustomDijit.php b/lib/zend/Zend/Dojo/View/Helper/CustomDijit.php deleted file mode 100644 index 833b105826..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/CustomDijit.php +++ /dev/null @@ -1,107 +0,0 @@ -_defaultDojoType) - ) { - require_once 'Zend/Dojo/View/Exception.php'; - throw new Zend_Dojo_View_Exception('No dojoType specified; cannot create dijit'); - } elseif (array_key_exists('dojoType', $params)) { - $this->_dijit = $params['dojoType']; - $this->_module = $params['dojoType']; - unset($params['dojoType']); - } else { - $this->_dijit = $this->_defaultDojoType; - $this->_module = $this->_defaultDojoType; - } - - return $this->_createLayoutContainer($id, $value, $params, $attribs); - } - - /** - * Begin capturing content. - * - * Requires that either the {@link $_defaultDojotype} property is set, or - * that you pass a value to the "dojoType" key of the $params argument. - * - * @param string $id - * @param array $params - * @param array $attribs - * @return void - */ - public function captureStart($id, array $params = array(), array $attribs = array()) - { - if (!array_key_exists('dojoType', $params) - && (null === $this->_defaultDojoType) - ) { - require_once 'Zend/Dojo/View/Exception.php'; - throw new Zend_Dojo_View_Exception('No dojoType specified; cannot create dijit'); - } elseif (array_key_exists('dojoType', $params)) { - $this->_dijit = $params['dojoType']; - $this->_module = $params['dojoType']; - unset($params['dojoType']); - } else { - $this->_dijit = $this->_defaultDojoType; - $this->_module = $this->_defaultDojoType; - } - - return parent::captureStart($id, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/DateTextBox.php b/lib/zend/Zend/Dojo/View/Helper/DateTextBox.php deleted file mode 100644 index b388b304cd..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/DateTextBox.php +++ /dev/null @@ -1,68 +0,0 @@ -_createFormElement($id, $value, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/Dijit.php b/lib/zend/Zend/Dojo/View/Helper/Dijit.php deleted file mode 100644 index 096a8b7382..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/Dijit.php +++ /dev/null @@ -1,311 +0,0 @@ -dojo = $this->view->dojo(); - $this->dojo->enable(); - return $this; - } - - /** - * Whether or not to use declarative dijit creation - * - * @return bool - */ - protected function _useDeclarative() - { - return Zend_Dojo_View_Helper_Dojo::useDeclarative(); - } - - /** - * Whether or not to use programmatic dijit creation - * - * @return bool - */ - protected function _useProgrammatic() - { - return Zend_Dojo_View_Helper_Dojo::useProgrammatic(); - } - - /** - * Whether or not to use programmatic dijit creation w/o script creation - * - * @return bool - */ - protected function _useProgrammaticNoScript() - { - return Zend_Dojo_View_Helper_Dojo::useProgrammaticNoScript(); - } - - /** - * Create a layout container - * - * @param int $id - * @param string $content - * @param array $params - * @param array $attribs - * @param string|null $dijit - * @return string - */ - protected function _createLayoutContainer($id, $content, array $params, array $attribs, $dijit = null) - { - $attribs['id'] = $id; - $attribs = $this->_prepareDijit($attribs, $params, 'layout', $dijit); - - $html = '_htmlAttribs($attribs) . '>' - . $content - . "\n"; - - return $html; - } - - /** - * Create HTML representation of a dijit form element - * - * @param string $id - * @param string $value - * @param array $params - * @param array $attribs - * @param string|null $dijit - * @return string - */ - public function _createFormElement($id, $value, array $params, array $attribs, $dijit = null) - { - if (!array_key_exists('id', $attribs)) { - $attribs['id'] = $id; - } - $attribs['name'] = $id; - $attribs['value'] = (string) $value; - $attribs['type'] = $this->_elementType; - - $attribs = $this->_prepareDijit($attribs, $params, 'element', $dijit); - - $html = '_htmlAttribs($attribs) - . $this->getClosingBracket(); - return $html; - } - - /** - * Merge attributes and parameters - * - * Also sets up requires - * - * @param array $attribs - * @param array $params - * @param string $type - * @param string $dijit Dijit type to use (otherwise, pull from $_dijit) - * @return array - */ - protected function _prepareDijit(array $attribs, array $params, $type, $dijit = null) - { - $this->dojo->requireModule($this->_module); - - switch ($type) { - case 'layout': - $stripParams = array('id'); - break; - case 'element': - $stripParams = array('id', 'name', 'value', 'type'); - foreach (array('checked', 'disabled', 'readonly') as $attrib) { - if (array_key_exists($attrib, $attribs)) { - if ($attribs[$attrib]) { - $attribs[$attrib] = $attrib; - } else { - unset($attribs[$attrib]); - } - } - } - break; - case 'textarea': - $stripParams = array('id', 'name', 'type'); - break; - default: - } - - foreach ($stripParams as $param) { - if (array_key_exists($param, $params)) { - unset($params[$param]); - } - } - - // Normalize constraints, if present - foreach ($this->_jsonParams as $param) { - if (array_key_exists($param, $params)) { - require_once 'Zend/Json.php'; - - if (is_array($params[$param])) { - $values = array(); - foreach ($params[$param] as $key => $value) { - if (!is_scalar($value)) { - continue; - } - $values[$key] = $value; - } - } elseif (is_string($params[$param])) { - $values = (array) $params[$param]; - } else { - $values = array(); - } - $values = Zend_Json::encode($values); - if ($this->_useDeclarative()) { - $values = str_replace('"', "'", $values); - } - $params[$param] = $values; - } - } - - $dijit = (null === $dijit) ? $this->_dijit : $dijit; - if ($this->_useDeclarative()) { - $attribs = array_merge($attribs, $params); - $attribs['dojoType'] = $dijit; - } elseif (!$this->_useProgrammaticNoScript()) { - $this->_createDijit($dijit, $attribs['id'], $params); - } - - return $attribs; - } - - /** - * Create a dijit programmatically - * - * @param string $dijit - * @param string $id - * @param array $params - * @return void - */ - protected function _createDijit($dijit, $id, array $params) - { - $params['dojoType'] = $dijit; - - array_walk_recursive($params, array($this, '_castBoolToString')); - - $this->dojo->setDijit($id, $params); - } - - /** - * Cast a boolean to a string value - * - * @param mixed $item - * @param string $key - * @return void - */ - protected function _castBoolToString(&$item, $key) - { - if (!is_bool($item)) { - return; - } - $item = ($item) ? "true" : "false"; - } - - /** - * Render a hidden element to hold a value - * - * @param string $id - * @param string|int|float $value - * @return string - */ - protected function _renderHiddenElement($id, $value) - { - $hiddenAttribs = array( - 'name' => $id, - 'value' => (string) $value, - 'type' => 'hidden', - ); - return '_htmlAttribs($hiddenAttribs) . $this->getClosingBracket(); - } - - /** - * Create JS function for retrieving parent form - * - * @return void - */ - protected function _createGetParentFormFunction() - { - $function =<<dojo->addJavascript($function); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/DijitContainer.php b/lib/zend/Zend/Dojo/View/Helper/DijitContainer.php deleted file mode 100644 index 7c98f61d0f..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/DijitContainer.php +++ /dev/null @@ -1,92 +0,0 @@ -_captureLock)) { - require_once 'Zend/Dojo/View/Exception.php'; - throw new Zend_Dojo_View_Exception(sprintf('Lock already exists for id "%s"', $id)); - } - - $this->_captureLock[$id] = true; - $this->_captureInfo[$id] = array( - 'params' => $params, - 'attribs' => $attribs, - ); - - ob_start(); - return; - } - - /** - * Finish capturing content for layout container - * - * @param string $id - * @return string - */ - public function captureEnd($id) - { - if (!array_key_exists($id, $this->_captureLock)) { - require_once 'Zend/Dojo/View/Exception.php'; - throw new Zend_Dojo_View_Exception(sprintf('No capture lock exists for id "%s"; nothing to capture', $id)); - } - - $content = ob_get_clean(); - extract($this->_captureInfo[$id]); - unset($this->_captureLock[$id], $this->_captureInfo[$id]); - return $this->_createLayoutContainer($id, $content, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/Dojo.php b/lib/zend/Zend/Dojo/View/Helper/Dojo.php deleted file mode 100644 index d1d9e1ee87..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/Dojo.php +++ /dev/null @@ -1,176 +0,0 @@ -_container = $registry[__CLASS__]; - } - - /** - * Set view object - * - * @param Zend_Dojo_View_Interface $view - * @return void - */ - public function setView(Zend_View_Interface $view) - { - $this->view = $view; - $this->_container->setView($view); - } - - /** - * Return dojo container - * - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function dojo() - { - return $this->_container; - } - - /** - * Proxy to container methods - * - * @param string $method - * @param array $args - * @return mixed - * @throws Zend_Dojo_View_Exception For invalid method calls - */ - public function __call($method, $args) - { - if (!method_exists($this->_container, $method)) { - require_once 'Zend/Dojo/View/Exception.php'; - throw new Zend_Dojo_View_Exception(sprintf('Invalid method "%s" called on dojo view helper', $method)); - } - - return call_user_func_array(array($this->_container, $method), $args); - } - - /** - * Set whether or not dijits should be created declaratively - * - * @return void - */ - public static function setUseDeclarative() - { - self::$_useProgrammatic = false; - } - - /** - * Set whether or not dijits should be created programmatically - * - * Optionally, specifiy whether or not dijit helpers should generate the - * programmatic dojo. - * - * @param int $style - * @return void - */ - public static function setUseProgrammatic($style = self::PROGRAMMATIC_SCRIPT) - { - if (!in_array($style, array(self::PROGRAMMATIC_SCRIPT, self::PROGRAMMATIC_NOSCRIPT))) { - $style = self::PROGRAMMATIC_SCRIPT; - } - self::$_useProgrammatic = $style; - } - - /** - * Should dijits be created declaratively? - * - * @return bool - */ - public static function useDeclarative() - { - return (false === self::$_useProgrammatic); - } - - /** - * Should dijits be created programmatically? - * - * @return bool - */ - public static function useProgrammatic() - { - return (false !== self::$_useProgrammatic); - } - - /** - * Should dijits be created programmatically but without scripts? - * - * @return bool - */ - public static function useProgrammaticNoScript() - { - return (self::PROGRAMMATIC_NOSCRIPT === self::$_useProgrammatic); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/Dojo/Container.php b/lib/zend/Zend/Dojo/View/Helper/Dojo/Container.php deleted file mode 100644 index 4c3943c679..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/Dojo/Container.php +++ /dev/null @@ -1,1084 +0,0 @@ -view = $view; - } - - /** - * Enable dojo - * - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function enable() - { - $this->_enabled = true; - return $this; - } - - /** - * Disable dojo - * - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function disable() - { - $this->_enabled = false; - return $this; - } - - /** - * Is dojo enabled? - * - * @return bool - */ - public function isEnabled() - { - return $this->_enabled; - } - - /** - * Specify a module to require - * - * @param string $module - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function requireModule($module) - { - if (!is_string($module) && !is_array($module)) { - require_once 'Zend/Dojo/View/Exception.php'; - throw new Zend_Dojo_View_Exception('Invalid module name specified; must be a string or an array of strings'); - } - - $module = (array) $module; - - foreach ($module as $mod) { - if (!preg_match('/^[a-z][a-z0-9._-]+$/i', $mod)) { - require_once 'Zend/Dojo/View/Exception.php'; - throw new Zend_Dojo_View_Exception(sprintf('Module name specified, "%s", contains invalid characters', (string) $mod)); - } - - if (!in_array($mod, $this->_modules)) { - $this->_modules[] = $mod; - } - } - - return $this; - } - - /** - * Retrieve list of modules to require - * - * @return array - */ - public function getModules() - { - return $this->_modules; - } - - /** - * Register a module path - * - * @param string $path - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function registerModulePath($module, $path) - { - $path = (string) $path; - if (!in_array($module, $this->_modulePaths)) { - $this->_modulePaths[$module] = $path; - } - - return $this; - } - - /** - * List registered module paths - * - * @return array - */ - public function getModulePaths() - { - return $this->_modulePaths; - } - - /** - * Add layer (custom build) path - * - * @param string $path - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function addLayer($path) - { - $path = (string) $path; - if (!in_array($path, $this->_layers)) { - $this->_layers[] = $path; - } - return $this; - } - - /** - * Get registered layers - * - * @return array - */ - public function getLayers() - { - return $this->_layers; - } - - /** - * Remove a registered layer - * - * @param string $path - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function removeLayer($path) - { - $path = (string) $path; - $layers = array_flip($this->_layers); - if (array_key_exists($path, $layers)) { - unset($layers[$path]); - $this->_layers = array_keys($layers); - } - return $this; - } - - /** - * Clear all registered layers - * - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function clearLayers() - { - $this->_layers = array(); - return $this; - } - - /** - * Set CDN base path - * - * @param string $url - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function setCdnBase($url) - { - $this->_cdnBase = (string) $url; - return $this; - } - - /** - * Return CDN base URL - * - * @return string - */ - public function getCdnBase() - { - return $this->_cdnBase; - } - - /** - * Use CDN, using version specified - * - * @param string $version - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function setCdnVersion($version = null) - { - $this->enable(); - if (preg_match('/^[1-9]\.[0-9](\.[0-9])?$/', $version)) { - $this->_cdnVersion = $version; - } - return $this; - } - - /** - * Get CDN version - * - * @return string - */ - public function getCdnVersion() - { - return $this->_cdnVersion; - } - - /** - * Set CDN path to dojo (relative to CDN base + version) - * - * @param string $path - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function setCdnDojoPath($path) - { - $this->_cdnDojoPath = (string) $path; - return $this; - } - - /** - * Get CDN path to dojo (relative to CDN base + version) - * - * @return string - */ - public function getCdnDojoPath() - { - return $this->_cdnDojoPath; - } - - /** - * Are we using the CDN? - * - * @return bool - */ - public function useCdn() - { - return !$this->useLocalPath(); - } - - /** - * Set path to local dojo - * - * @param string $path - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function setLocalPath($path) - { - $this->enable(); - $this->_localPath = (string) $path; - return $this; - } - - /** - * Get local path to dojo - * - * @return string - */ - public function getLocalPath() - { - return $this->_localPath; - } - - /** - * Are we using a local path? - * - * @return bool - */ - public function useLocalPath() - { - return (null === $this->_localPath) ? false : true; - } - - /** - * Set Dojo configuration - * - * @param string $option - * @param mixed $value - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function setDjConfig(array $config) - { - $this->_djConfig = $config; - return $this; - } - - /** - * Set Dojo configuration option - * - * @param string $option - * @param mixed $value - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function setDjConfigOption($option, $value) - { - $option = (string) $option; - $this->_djConfig[$option] = $value; - return $this; - } - - /** - * Retrieve dojo configuration values - * - * @return array - */ - public function getDjConfig() - { - return $this->_djConfig; - } - - /** - * Get dojo configuration value - * - * @param string $option - * @param mixed $default - * @return mixed - */ - public function getDjConfigOption($option, $default = null) - { - $option = (string) $option; - if (array_key_exists($option, $this->_djConfig)) { - return $this->_djConfig[$option]; - } - return $default; - } - - /** - * Add a stylesheet by module name - * - * @param string $module - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function addStylesheetModule($module) - { - if (!preg_match('/^[a-z0-9]+\.[a-z0-9_-]+(\.[a-z0-9_-]+)*$/i', $module)) { - require_once 'Zend/Dojo/View/Exception.php'; - throw new Zend_Dojo_View_Exception('Invalid stylesheet module specified'); - } - if (in_array($module, $this->_stylesheetModules)) { - return $this; - } - $this->_stylesheetModules[] = $module; - return $this; - } - - /** - * Get all stylesheet modules currently registered - * - * @return array - */ - public function getStylesheetModules() - { - return $this->_stylesheetModules; - } - - /** - * Add a stylesheet - * - * @param string $path - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function addStylesheet($path) - { - $path = (string) $path; - if (!in_array($path, $this->_stylesheets)) { - $this->_stylesheets[] = (string) $path; - } - return $this; - } - - /** - * Register the dojo.css stylesheet? - * - * With no arguments, returns the status of the flag; with arguments, sets - * the flag and returns the object. - * - * @param null|bool $flag - * @return Zend_Dojo_View_Helper_Dojo_Container|bool - */ - public function registerDojoStylesheet($flag = null) - { - if (null === $flag) { - return $this->_registerDojoStylesheet; - } - - $this->_registerDojoStylesheet = (bool) $flag; - return $this; - } - - /** - * Retrieve registered stylesheets - * - * @return array - */ - public function getStylesheets() - { - return $this->_stylesheets; - } - - /** - * Add a script to execute onLoad - * - * dojo.addOnLoad accepts: - * - function name - * - lambda - * - * @param string $callback Lambda - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function addOnLoad($callback) - { - if (!in_array($callback, $this->_onLoadActions, true)) { - $this->_onLoadActions[] = $callback; - } - return $this; - } - - /** - * Prepend an onLoad event to the list of onLoad actions - * - * @param string $callback Lambda - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function prependOnLoad($callback) - { - if (!in_array($callback, $this->_onLoadActions, true)) { - array_unshift($this->_onLoadActions, $callback); - } - return $this; - } - - /** - * Retrieve all registered onLoad actions - * - * @return array - */ - public function getOnLoadActions() - { - return $this->_onLoadActions; - } - - /** - * Start capturing routines to run onLoad - * - * @return bool - */ - public function onLoadCaptureStart() - { - if ($this->_captureLock) { - require_once 'Zend/Dojo/View/Exception.php'; - throw new Zend_Dojo_View_Exception('Cannot nest onLoad captures'); - } - - $this->_captureLock = true; - ob_start(); - return; - } - - /** - * Stop capturing routines to run onLoad - * - * @return bool - */ - public function onLoadCaptureEnd() - { - $data = ob_get_clean(); - $this->_captureLock = false; - - $this->addOnLoad($data); - return true; - } - - /** - * Add a programmatic dijit - * - * @param string $id - * @param array $params - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function addDijit($id, array $params) - { - if (array_key_exists($id, $this->_dijits)) { - require_once 'Zend/Dojo/View/Exception.php'; - throw new Zend_Dojo_View_Exception(sprintf('Duplicate dijit with id "%s" already registered', $id)); - } - - $this->_dijits[$id] = array( - 'id' => $id, - 'params' => $params, - ); - - return $this; - } - - /** - * Set a programmatic dijit (overwrites) - * - * @param string $id - * @param array $params - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function setDijit($id, array $params) - { - $this->removeDijit($id); - return $this->addDijit($id, $params); - } - - /** - * Add multiple dijits at once - * - * Expects an array of id => array $params pairs - * - * @param array $dijits - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function addDijits(array $dijits) - { - foreach ($dijits as $id => $params) { - $this->addDijit($id, $params); - } - return $this; - } - - /** - * Set multiple dijits at once (overwrites) - * - * Expects an array of id => array $params pairs - * - * @param array $dijits - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function setDijits(array $dijits) - { - $this->clearDijits(); - return $this->addDijits($dijits); - } - - /** - * Is the given programmatic dijit already registered? - * - * @param string $id - * @return bool - */ - public function hasDijit($id) - { - return array_key_exists($id, $this->_dijits); - } - - /** - * Retrieve a dijit by id - * - * @param string $id - * @return array|null - */ - public function getDijit($id) - { - if ($this->hasDijit($id)) { - return $this->_dijits[$id]['params']; - } - return null; - } - - /** - * Retrieve all dijits - * - * Returns dijits as an array of assoc arrays - * - * @return array - */ - public function getDijits() - { - return array_values($this->_dijits); - } - - /** - * Remove a programmatic dijit if it exists - * - * @param string $id - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function removeDijit($id) - { - if (array_key_exists($id, $this->_dijits)) { - unset($this->_dijits[$id]); - } - - return $this; - } - - /** - * Clear all dijits - * - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function clearDijits() - { - $this->_dijits = array(); - return $this; - } - - /** - * Render dijits as JSON structure - * - * @return string - */ - public function dijitsToJson() - { - require_once 'Zend/Json.php'; - return Zend_Json::encode($this->getDijits()); - } - - /** - * Create dijit loader functionality - * - * @return void - */ - public function registerDijitLoader() - { - if (!$this->_dijitLoaderRegistered) { - $js =<<requireModule('dojo.parser'); - $this->prependOnLoad($js); - $this->addJavascript('var zendDijits = ' . $this->dijitsToJson() . ';'); - $this->_dijitLoaderRegistered = true; - } - } - - /** - * Add arbitrary javascript to execute in dojo JS container - * - * @param string $js - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function addJavascript($js) - { - $js = preg_replace('/^\s*(.*?)\s*$/s', '$1', $js); - if (!in_array(substr($js, -1), array(';', '}'))) { - $js .= ';'; - } - - if (in_array($js, $this->_javascriptStatements)) { - return $this; - } - - $this->_javascriptStatements[] = $js; - return $this; - } - - /** - * Return all registered javascript statements - * - * @return array - */ - public function getJavascript() - { - return $this->_javascriptStatements; - } - - /** - * Clear arbitrary javascript stack - * - * @return Zend_Dojo_View_Helper_Dojo_Container - */ - public function clearJavascript() - { - $this->_javascriptStatements = array(); - return $this; - } - - /** - * Capture arbitrary javascript to include in dojo script - * - * @return void - */ - public function javascriptCaptureStart() - { - if ($this->_captureLock) { - require_once 'Zend/Dojo/View/Exception.php'; - throw new Zend_Dojo_View_Exception('Cannot nest captures'); - } - - $this->_captureLock = true; - ob_start(); - return; - } - - /** - * Finish capturing arbitrary javascript to include in dojo script - * - * @return true - */ - public function javascriptCaptureEnd() - { - $data = ob_get_clean(); - $this->_captureLock = false; - - $this->addJavascript($data); - return true; - } - - /** - * String representation of dojo environment - * - * @return string - */ - public function __toString() - { - if (!$this->isEnabled()) { - return ''; - } - - $this->_isXhtml = $this->view->doctype()->isXhtml(); - - if (Zend_Dojo_View_Helper_Dojo::useDeclarative()) { - if (null === $this->getDjConfigOption('parseOnLoad')) { - $this->setDjConfigOption('parseOnLoad', true); - } - } - - if (!empty($this->_dijits)) { - $this->registerDijitLoader(); - } - - $html = $this->_renderStylesheets() . PHP_EOL - . $this->_renderDjConfig() . PHP_EOL - . $this->_renderDojoScriptTag() . PHP_EOL - . $this->_renderLayers() . PHP_EOL - . $this->_renderExtras(); - return $html; - } - - /** - * Retrieve local path to dojo resources for building relative paths - * - * @return string - */ - protected function _getLocalRelativePath() - { - if (null === $this->_localRelativePath) { - $localPath = $this->getLocalPath(); - $localPath = preg_replace('|[/\\\\]dojo[/\\\\]dojo.js[^/\\\\]*$|i', '', $localPath); - $this->_localRelativePath = $localPath; - } - return $this->_localRelativePath; - } - - /** - * Render dojo stylesheets - * - * @return string - */ - protected function _renderStylesheets() - { - if ($this->useCdn()) { - $base = $this->getCdnBase() - . $this->getCdnVersion(); - } else { - $base = $this->_getLocalRelativePath(); - } - - $registeredStylesheets = $this->getStylesheetModules(); - foreach ($registeredStylesheets as $stylesheet) { - $themeName = substr($stylesheet, strrpos($stylesheet, '.') + 1); - $stylesheet = str_replace('.', '/', $stylesheet); - $stylesheets[] = $base . '/' . $stylesheet . '/' . $themeName . '.css'; - } - - foreach ($this->getStylesheets() as $stylesheet) { - $stylesheets[] = $stylesheet; - } - - if ($this->_registerDojoStylesheet) { - $stylesheets[] = $base . '/dojo/resources/dojo.css'; - } - - if (empty($stylesheets)) { - return ''; - } - - array_reverse($stylesheets); - $style = ''; - - return $style; - } - - /** - * Render DjConfig values - * - * @return string - */ - protected function _renderDjConfig() - { - $djConfigValues = $this->getDjConfig(); - if (empty($djConfigValues)) { - return ''; - } - - require_once 'Zend/Json.php'; - $scriptTag = ''; - - return $scriptTag; - } - - /** - * Render dojo script tag - * - * Renders Dojo script tag by utilizing either local path provided or the - * CDN. If any djConfig values were set, they will be serialized and passed - * with that attribute. - * - * @return string - */ - protected function _renderDojoScriptTag() - { - if ($this->useCdn()) { - $source = $this->getCdnBase() - . $this->getCdnVersion() - . $this->getCdnDojoPath(); - } else { - $source = $this->getLocalPath(); - } - - $scriptTag = ''; - return $scriptTag; - } - - /** - * Render layers (custom builds) as script tags - * - * @return string - */ - protected function _renderLayers() - { - $layers = $this->getLayers(); - if (empty($layers)) { - return ''; - } - - $html = array(); - foreach ($layers as $path) { - $html[] = sprintf( - '', - htmlentities($path, ENT_QUOTES) - ); - } - - return implode("\n", $html); - } - - /** - * Render dojo module paths and requires - * - * @return string - */ - protected function _renderExtras() - { - $js = array(); - $modulePaths = $this->getModulePaths(); - if (!empty($modulePaths)) { - foreach ($modulePaths as $module => $path) { - $js[] = 'dojo.registerModulePath("' . $this->view->escape($module) . '", "' . $this->view->escape($path) . '");'; - } - } - - $modules = $this->getModules(); - if (!empty($modules)) { - foreach ($modules as $module) { - $js[] = 'dojo.require("' . $this->view->escape($module) . '");'; - } - } - - $onLoadActions = array(); - foreach ($this->getOnLoadActions() as $callback) { - $onLoadActions[] = 'dojo.addOnLoad(' . $callback . ');'; - } - - $javascript = implode("\n ", $this->getJavascript()); - - $content = ''; - if (!empty($js)) { - $content .= implode("\n ", $js) . "\n"; - } - - if (!empty($onLoadActions)) { - $content .= implode("\n ", $onLoadActions) . "\n"; - } - - if (!empty($javascript)) { - $content .= $javascript . "\n"; - } - - if (preg_match('/^\s*$/s', $content)) { - return ''; - } - - $html = ''; - return $html; - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/Editor.php b/lib/zend/Zend/Dojo/View/Helper/Editor.php deleted file mode 100644 index 5444c6364c..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/Editor.php +++ /dev/null @@ -1,132 +0,0 @@ -_normalizeId($hiddenId); - - $textareaName = $this->_normalizeEditorName($hiddenName); - $textareaId = $hiddenId . '-Editor'; - - $hiddenAttribs = array( - 'id' => $hiddenId, - 'name' => $hiddenName, - 'value' => $value, - 'type' => 'hidden', - ); - $attribs['id'] = $textareaId; - - $this->_createGetParentFormFunction(); - $this->_createEditorOnSubmit($hiddenId, $textareaId); - - $html = '_htmlAttribs($hiddenAttribs) . $this->getClosingBracket() - . $this->textarea($textareaName, $value, $params, $attribs); - - return $html; - } - - /** - * Normalize editor element name - * - * @param string $name - * @return string - */ - protected function _normalizeEditorName($name) - { - if ('[]' == substr($name, -2)) { - $name = substr($name, 0, strlen($name) - 2); - $name .= '[Editor][]'; - } else { - $name .= '[Editor]'; - } - return $name; - } - - /** - * Create onSubmit binding for element - * - * @param string $hiddenId - * @param string $editorId - * @return void - */ - protected function _createEditorOnSubmit($hiddenId, $editorId) - { - $this->dojo->onLoadCaptureStart(); - echo <<dojo->onLoadCaptureEnd(); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/FilteringSelect.php b/lib/zend/Zend/Dojo/View/Helper/FilteringSelect.php deleted file mode 100644 index 4541c5f4c8..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/FilteringSelect.php +++ /dev/null @@ -1,63 +0,0 @@ -comboBox($id, $value, $params, $attribs, $options); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/Form.php b/lib/zend/Zend/Dojo/View/Helper/Form.php deleted file mode 100644 index 174ead20f8..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/Form.php +++ /dev/null @@ -1,96 +0,0 @@ -_prepareDijit($attribs, array(), 'layout'); - - return $this->getFormHelper()->form($id, $attribs, $content); - } - - /** - * Get standard form helper - * - * @return Zend_View_Helper_Form - */ - public function getFormHelper() - { - if (null === $this->_helper) { - require_once 'Zend/View/Helper/Form.php'; - $this->_helper = new Zend_View_Helper_Form; - $this->_helper->setView($this->view); - } - return $this->_helper; - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/HorizontalSlider.php b/lib/zend/Zend/Dojo/View/Helper/HorizontalSlider.php deleted file mode 100644 index 2fb6efcd5a..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/HorizontalSlider.php +++ /dev/null @@ -1,62 +0,0 @@ -prepareSlider($id, $value, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/NumberSpinner.php b/lib/zend/Zend/Dojo/View/Helper/NumberSpinner.php deleted file mode 100644 index 115d0a49a8..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/NumberSpinner.php +++ /dev/null @@ -1,90 +0,0 @@ -_createFormElement($id, $value, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/NumberTextBox.php b/lib/zend/Zend/Dojo/View/Helper/NumberTextBox.php deleted file mode 100644 index c1f7d3d1e4..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/NumberTextBox.php +++ /dev/null @@ -1,68 +0,0 @@ -_createFormElement($id, $value, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/PasswordTextBox.php b/lib/zend/Zend/Dojo/View/Helper/PasswordTextBox.php deleted file mode 100644 index 6d88111733..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/PasswordTextBox.php +++ /dev/null @@ -1,56 +0,0 @@ -_createFormElement($id, $value, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/RadioButton.php b/lib/zend/Zend/Dojo/View/Helper/RadioButton.php deleted file mode 100644 index 9f89d1c6ec..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/RadioButton.php +++ /dev/null @@ -1,89 +0,0 @@ -\n" - ) { - $attribs['name'] = $id; - if (!array_key_exists('id', $attribs)) { - $attribs['id'] = $id; - } - $attribs = $this->_prepareDijit($attribs, $params, 'element'); - - if (is_array($options) && $this->_useProgrammatic() && !$this->_useProgrammaticNoScript()) { - $baseId = $id; - if (array_key_exists('id', $attribs)) { - $baseId = $attribs['id']; - } - require_once 'Zend/Filter/Alnum.php'; - $filter = new Zend_Filter_Alnum(); - foreach (array_keys($options) as $key) { - $optId = $baseId . '-' . $filter->filter($key); - $this->_createDijit($this->_dijit, $optId, array()); - } - } - - return $this->view->formRadio($id, $value, $attribs, $options, $listsep); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/SimpleTextarea.php b/lib/zend/Zend/Dojo/View/Helper/SimpleTextarea.php deleted file mode 100644 index eb5a3170b0..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/SimpleTextarea.php +++ /dev/null @@ -1,78 +0,0 @@ -_elementType; - - $attribs = $this->_prepareDijit($attribs, $params, 'textarea'); - - $html = '_htmlAttribs($attribs) . '>' - . $this->view->escape($value) - . "\n"; - - return $html; - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/Slider.php b/lib/zend/Zend/Dojo/View/Helper/Slider.php deleted file mode 100644 index 06b4d6e9e8..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/Slider.php +++ /dev/null @@ -1,251 +0,0 @@ -_sliderType = strtolower($this->_sliderType); - - // Prepare two items: a hidden element to store the value, and the slider - $hidden = $this->_renderHiddenElement($id, $value); - $hidden = preg_replace('/(name=")([^"]*)"/', 'id="$2" $1$2"', $hidden); - - foreach ($this->_requiredParams as $param) { - if (!array_key_exists($param, $params)) { - require_once 'Zend/Dojo/View/Exception.php'; - throw new Zend_Dojo_View_Exception('prepareSlider() requires minimally the "minimum", "maximum", and "discreteValues" parameters'); - } - } - - $content = ''; - $params['value'] = $value; - - if (!array_key_exists('onChange', $attribs)) { - $attribs['onChange'] = "dojo.byId('" . $id . "').value = arguments[0];"; - } - - $id = str_replace('][', '-', $id); - $id = str_replace(array('[', ']'), '-', $id); - $id = rtrim($id, '-'); - $id .= '-slider'; - - switch ($this->_sliderType) { - case 'horizontal': - if (array_key_exists('topDecoration', $params)) { - $content .= $this->_prepareDecoration('topDecoration', $id, $params['topDecoration']); - unset($params['topDecoration']); - } - - if (array_key_exists('bottomDecoration', $params)) { - $content .= $this->_prepareDecoration('bottomDecoration', $id, $params['bottomDecoration']); - unset($params['bottomDecoration']); - } - - if (array_key_exists('leftDecoration', $params)) { - unset($params['leftDecoration']); - } - - if (array_key_exists('rightDecoration', $params)) { - unset($params['rightDecoration']); - } - break; - case 'vertical': - if (array_key_exists('leftDecoration', $params)) { - $content .= $this->_prepareDecoration('leftDecoration', $id, $params['leftDecoration']); - unset($params['leftDecoration']); - } - - if (array_key_exists('rightDecoration', $params)) { - $content .= $this->_prepareDecoration('rightDecoration', $id, $params['rightDecoration']); - unset($params['rightDecoration']); - } - - if (array_key_exists('topDecoration', $params)) { - unset($params['topDecoration']); - } - - if (array_key_exists('bottomDecoration', $params)) { - unset($params['bottomDecoration']); - } - break; - default: - require_once 'Zend/Dojo/View/Exception.php'; - throw new Zend_Dojo_View_Exception('Invalid slider type; slider must be horizontal or vertical'); - } - - return $hidden . $this->_createLayoutContainer($id, $content, $params, $attribs); - } - - /** - * Prepare slider decoration - * - * @param string $position - * @param string $id - * @param array $decInfo - * @return string - */ - protected function _prepareDecoration($position, $id, $decInfo) - { - if (!in_array($position, array('topDecoration', 'bottomDecoration', 'leftDecoration', 'rightDecoration'))) { - return ''; - } - - if (!is_array($decInfo) - || !array_key_exists('labels', $decInfo) - || !is_array($decInfo['labels']) - ) { - return ''; - } - - $id .= '-' . $position; - - if (!array_key_exists('dijit', $decInfo)) { - $dijit = 'dijit.form.' . ucfirst($this->_sliderType) . 'Rule'; - } else { - $dijit = $decInfo['dijit']; - if ('dijit.form.' != substr($dijit, 0, 10)) { - $dijit = 'dijit.form.' . $dijit; - } - } - - $params = array(); - $attribs = array(); - $labels = $decInfo['labels']; - if (array_key_exists('params', $decInfo)) { - $params = $decInfo['params']; - } - if (array_key_exists('attribs', $decInfo)) { - $attribs = $decInfo['attribs']; - } - - $containerParams = null; - if (array_key_exists('container', $params)) { - $containerParams = $params['container']; - unset($params['container']); - } - - if (array_key_exists('labels', $params)) { - $labelsParams = $params['labels']; - unset($params['labels']); - } else { - $labelsParams = $params; - } - - if (null === $containerParams) { - $containerParams = $params; - } - - $containerAttribs = null; - if (array_key_exists('container', $attribs)) { - $containerAttribs = $attribs['container']; - unset($attribs['container']); - } - - if (array_key_exists('labels', $attribs)) { - $labelsAttribs = $attribs['labels']; - unset($attribs['labels']); - } else { - $labelsAttribs = $attribs; - } - - if (null === $containerAttribs) { - $containerAttribs = $attribs; - } - - $containerParams['container'] = $position; - $labelsParams['container'] = $position; - - $labelList = $this->_prepareLabelsList($id, $labelsParams, $labelsAttribs, $labels); - - $dijit = 'dijit.form.' . ucfirst($this->_sliderType) . 'Rule'; - $containerAttribs['id'] = $id; - $containerAttribs = $this->_prepareDijit($containerAttribs, $containerParams, 'layout', $dijit); - $containerHtml = '_htmlAttribs($containerAttribs) . ">\n"; - - switch ($position) { - case 'topDecoration': - case 'leftDecoration': - return $labelList . $containerHtml; - case 'bottomDecoration': - case 'rightDecoration': - return $containerHtml . $labelList; - } - } - - /** - * Prepare slider label list - * - * @param string $id - * @param array $params - * @param array $attribs - * @param array $labels - * @return string - */ - protected function _prepareLabelsList($id, array $params, array $attribs, array $labels) - { - $attribs['id'] = $id . '-labels'; - $dijit = 'dijit.form.' . ucfirst($this->_sliderType) . 'RuleLabels'; - $attribs = $this->_prepareDijit($attribs, $params, 'layout', $dijit); - - return $this->view->htmlList($labels, true, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/SplitContainer.php b/lib/zend/Zend/Dojo/View/Helper/SplitContainer.php deleted file mode 100644 index e0b9d4f423..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/SplitContainer.php +++ /dev/null @@ -1,66 +0,0 @@ -_createLayoutContainer($id, $content, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/StackContainer.php b/lib/zend/Zend/Dojo/View/Helper/StackContainer.php deleted file mode 100644 index 13a6008e19..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/StackContainer.php +++ /dev/null @@ -1,66 +0,0 @@ -_createLayoutContainer($id, $content, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/SubmitButton.php b/lib/zend/Zend/Dojo/View/Helper/SubmitButton.php deleted file mode 100644 index 45e83927a4..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/SubmitButton.php +++ /dev/null @@ -1,67 +0,0 @@ -_createFormElement($id, $value, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/TabContainer.php b/lib/zend/Zend/Dojo/View/Helper/TabContainer.php deleted file mode 100644 index c19ae941f6..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/TabContainer.php +++ /dev/null @@ -1,66 +0,0 @@ -_createLayoutContainer($id, $content, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/TextBox.php b/lib/zend/Zend/Dojo/View/Helper/TextBox.php deleted file mode 100644 index 1059677ef9..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/TextBox.php +++ /dev/null @@ -1,68 +0,0 @@ -_createFormElement($id, $value, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/Textarea.php b/lib/zend/Zend/Dojo/View/Helper/Textarea.php deleted file mode 100644 index 323e817076..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/Textarea.php +++ /dev/null @@ -1,80 +0,0 @@ -_elementType; - - $attribs = $this->_prepareDijit($attribs, $params, 'textarea'); - - $html = '_htmlAttribs($attribs) . '>' - . $value - . "\n"; - - return $html; - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/TimeTextBox.php b/lib/zend/Zend/Dojo/View/Helper/TimeTextBox.php deleted file mode 100644 index d156d54e43..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/TimeTextBox.php +++ /dev/null @@ -1,68 +0,0 @@ -_createFormElement($id, $value, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/ValidationTextBox.php b/lib/zend/Zend/Dojo/View/Helper/ValidationTextBox.php deleted file mode 100644 index 5d8346582b..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/ValidationTextBox.php +++ /dev/null @@ -1,68 +0,0 @@ -_createFormElement($id, $value, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dojo/View/Helper/VerticalSlider.php b/lib/zend/Zend/Dojo/View/Helper/VerticalSlider.php deleted file mode 100644 index ba8b155fab..0000000000 --- a/lib/zend/Zend/Dojo/View/Helper/VerticalSlider.php +++ /dev/null @@ -1,62 +0,0 @@ -prepareSlider($id, $value, $params, $attribs); - } -} diff --git a/lib/zend/Zend/Dom/Exception.php b/lib/zend/Zend/Dom/Exception.php deleted file mode 100644 index 1cac3fba34..0000000000 --- a/lib/zend/Zend/Dom/Exception.php +++ /dev/null @@ -1,35 +0,0 @@ -setDocument($document); - } - - /** - * Set document to query - * - * @param string $document - * @return Zend_Dom_Query - */ - public function setDocument($document) - { - if (0 === strlen($document)) { - return $this; - } - if ('setDocumentXml($document); - } - if (strstr($document, 'DTD XHTML')) { - return $this->setDocumentXhtml($document); - } - return $this->setDocumentHtml($document); - } - - /** - * Register HTML document - * - * @param string $document - * @return Zend_Dom_Query - */ - public function setDocumentHtml($document) - { - $this->_document = (string) $document; - $this->_docType = self::DOC_HTML; - return $this; - } - - /** - * Register XHTML document - * - * @param string $document - * @return Zend_Dom_Query - */ - public function setDocumentXhtml($document) - { - $this->_document = (string) $document; - $this->_docType = self::DOC_XHTML; - return $this; - } - - /** - * Register XML document - * - * @param string $document - * @return Zend_Dom_Query - */ - public function setDocumentXml($document) - { - $this->_document = (string) $document; - $this->_docType = self::DOC_XML; - return $this; - } - - /** - * Retrieve current document - * - * @return string - */ - public function getDocument() - { - return $this->_document; - } - - /** - * Get document type - * - * @return string - */ - public function getDocumentType() - { - return $this->_docType; - } - - /** - * Perform a CSS selector query - * - * @param string $query - * @return Zend_Dom_Query_Result - */ - public function query($query) - { - $xpathQuery = Zend_Dom_Query_Css2Xpath::transform($query); - return $this->queryXpath($xpathQuery, $query); - } - - /** - * Perform an XPath query - * - * @param string|array $xpathQuery - * @param string $query CSS selector query - * @return Zend_Dom_Query_Result - */ - public function queryXpath($xpathQuery, $query = null) - { - if (null === ($document = $this->getDocument())) { - require_once 'Zend/Dom/Exception.php'; - throw new Zend_Dom_Exception('Cannot query; no document registered'); - } - - $domDoc = new DOMDocument; - $type = $this->getDocumentType(); - switch ($type) { - case self::DOC_XML: - $success = @$domDoc->loadXML($document); - break; - case self::DOC_HTML: - case self::DOC_XHTML: - default: - $success = @$domDoc->loadHTML($document); - break; - } - - if (!$success) { - require_once 'Zend/Dom/Exception.php'; - throw new Zend_Dom_Exception(sprintf('Error parsing document (type == %s)', $type)); - } - - $nodeList = $this->_getNodeList($domDoc, $xpathQuery); - return new Zend_Dom_Query_Result($query, $xpathQuery, $domDoc, $nodeList); - } - - /** - * Prepare node list - * - * @param DOMDocument $document - * @param string|array $xpathQuery - * @return array - */ - protected function _getNodeList($document, $xpathQuery) - { - $xpath = new DOMXPath($document); - $xpathQuery = (string) $xpathQuery; - if (preg_match_all('|\[contains\((@[a-z0-9_-]+),\s?\' |i', $xpathQuery, $matches)) { - foreach ($matches[1] as $attribute) { - $queryString = '//*[' . $attribute . ']'; - $attributeName = substr($attribute, 1); - $nodes = $xpath->query($queryString); - foreach ($nodes as $node) { - $attr = $node->attributes->getNamedItem($attributeName); - $attr->value = ' ' . $attr->value . ' '; - } - } - } - return $xpath->query($xpathQuery); - } -} diff --git a/lib/zend/Zend/Dom/Query/Css2Xpath.php b/lib/zend/Zend/Dom/Query/Css2Xpath.php deleted file mode 100644 index ad5802aa3c..0000000000 --- a/lib/zend/Zend/Dom/Query/Css2Xpath.php +++ /dev/null @@ -1,141 +0,0 @@ - $segment) { - $pathSegment = self::_tokenize($segment); - if (0 == $key) { - if (0 === strpos($pathSegment, '[contains(@class')) { - $paths[0] .= '*' . $pathSegment; - } else { - $paths[0] .= $pathSegment; - } - continue; - } - if (0 === strpos($pathSegment, '[contains(@class')) { - foreach ($paths as $key => $xpath) { - $paths[$key] .= '//*' . $pathSegment; - $paths[] = $xpath . $pathSegment; - } - } else { - foreach ($paths as $key => $xpath) { - $paths[$key] .= '//' . $pathSegment; - } - } - } - - if (1 == count($paths)) { - return $paths[0]; - } - return implode(' | ', $paths); - } - - /** - * Tokenize CSS expressions to XPath - * - * @param string $expression - * @return string - */ - protected static function _tokenize($expression) - { - // Child selectors - $expression = str_replace('>', '/', $expression); - - // IDs - $expression = preg_replace('|#([a-z][a-z0-9_-]*)|i', '[@id=\'$1\']', $expression); - $expression = preg_replace('|(?_cssQuery = $cssQuery; - $this->_xpathQuery = $xpathQuery; - $this->_document = $document; - $this->_nodeList = $nodeList; - } - - /** - * Retrieve CSS Query - * - * @return string - */ - public function getCssQuery() - { - return $this->_cssQuery; - } - - /** - * Retrieve XPath query - * - * @return string - */ - public function getXpathQuery() - { - return $this->_xpathQuery; - } - - /** - * Retrieve DOMDocument - * - * @return DOMDocument - */ - public function getDocument() - { - return $this->_document; - } - - /** - * Iterator: rewind to first element - * - * @return void - */ - public function rewind() - { - $this->_position = 0; - return $this->_nodeList->item(0); - } - - /** - * Iterator: is current position valid? - * - * @return bool - */ - public function valid() - { - if (in_array($this->_position, range(0, $this->_nodeList->length - 1)) && $this->_nodeList->length > 0) { - return true; - } - return false; - } - - /** - * Iterator: return current element - * - * @return DOMElement - */ - public function current() - { - return $this->_nodeList->item($this->_position); - } - - /** - * Iterator: return key of current element - * - * @return int - */ - public function key() - { - return $this->_position; - } - - /** - * Iterator: move to next element - * - * @return void - */ - public function next() - { - ++$this->_position; - return $this->_nodeList->item($this->_position); - } - - /** - * Countable: get count - * - * @return int - */ - public function count() - { - return $this->_nodeList->length; - } -} diff --git a/lib/zend/Zend/Feed.php b/lib/zend/Zend/Feed.php deleted file mode 100644 index 83c68241cc..0000000000 --- a/lib/zend/Zend/Feed.php +++ /dev/null @@ -1,411 +0,0 @@ - 'http://a9.com/-/spec/opensearchrss/1.0/', - 'atom' => 'http://www.w3.org/2005/Atom', - 'rss' => 'http://blogs.law.harvard.edu/tech/rss', - ); - - - /** - * Set the HTTP client instance - * - * Sets the HTTP client object to use for retrieving the feeds. - * - * @param Zend_Http_Client $httpClient - * @return void - */ - public static function setHttpClient(Zend_Http_Client $httpClient) - { - self::$_httpClient = $httpClient; - } - - - /** - * Gets the HTTP client object. If none is set, a new Zend_Http_Client will be used. - * - * @return Zend_Http_Client_Abstract - */ - public static function getHttpClient() - { - if (!self::$_httpClient instanceof Zend_Http_Client) { - /** - * @see Zend_Http_Client - */ - require_once 'Zend/Http/Client.php'; - self::$_httpClient = new Zend_Http_Client(); - } - - return self::$_httpClient; - } - - - /** - * Toggle using POST instead of PUT and DELETE HTTP methods - * - * Some feed implementations do not accept PUT and DELETE HTTP - * methods, or they can't be used because of proxies or other - * measures. This allows turning on using POST where PUT and - * DELETE would normally be used; in addition, an - * X-Method-Override header will be sent with a value of PUT or - * DELETE as appropriate. - * - * @param boolean $override Whether to override PUT and DELETE. - * @return void - */ - public static function setHttpMethodOverride($override = true) - { - self::$_httpMethodOverride = $override; - } - - - /** - * Get the HTTP override state - * - * @return boolean - */ - public static function getHttpMethodOverride() - { - return self::$_httpMethodOverride; - } - - - /** - * Get the full version of a namespace prefix - * - * Looks up a prefix (atom:, etc.) in the list of registered - * namespaces and returns the full namespace URI if - * available. Returns the prefix, unmodified, if it's not - * registered. - * - * @return string - */ - public static function lookupNamespace($prefix) - { - return isset(self::$_namespaces[$prefix]) ? - self::$_namespaces[$prefix] : - $prefix; - } - - - /** - * Add a namespace and prefix to the registered list - * - * Takes a prefix and a full namespace URI and adds them to the - * list of registered namespaces for use by - * Zend_Feed::lookupNamespace(). - * - * @param string $prefix The namespace prefix - * @param string $namespaceURI The full namespace URI - * @return void - */ - public static function registerNamespace($prefix, $namespaceURI) - { - self::$_namespaces[$prefix] = $namespaceURI; - } - - - /** - * Imports a feed located at $uri. - * - * @param string $uri - * @throws Zend_Feed_Exception - * @return Zend_Feed_Abstract - */ - public static function import($uri) - { - $client = self::getHttpClient(); - $client->setUri($uri); - $response = $client->request('GET'); - if ($response->getStatus() !== 200) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Feed failed to load, got response code ' . $response->getStatus()); - } - $feed = $response->getBody(); - return self::importString($feed); - } - - - /** - * Imports a feed represented by $string. - * - * @param string $string - * @throws Zend_Feed_Exception - * @return Zend_Feed_Abstract - */ - public static function importString($string) - { - // Load the feed as an XML DOMDocument object - $libxml_errflag = libxml_use_internal_errors(true); - $doc = new DOMDocument; - if (trim($string) == '') { - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Document/string being imported' - . ' is an Empty string or comes from an empty HTTP response'); - } - $status = $doc->loadXML($string); - libxml_use_internal_errors($libxml_errflag); - - - if (!$status) { - // prevent the class to generate an undefined variable notice (ZF-2590) - // Build error message - $error = libxml_get_last_error(); - if ($error && $error->message) { - $errormsg = "DOMDocument cannot parse XML: {$error->message}"; - } else { - $errormsg = "DOMDocument cannot parse XML"; - } - - - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception($errormsg); - } - - // Try to find the base feed element or a single of an Atom feed - if ($doc->getElementsByTagName('feed')->item(0) || - $doc->getElementsByTagName('entry')->item(0)) { - /** - * @see Zend_Feed_Atom - */ - require_once 'Zend/Feed/Atom.php'; - // return a newly created Zend_Feed_Atom object - return new Zend_Feed_Atom(null, $string); - } - - // Try to find the base feed element of an RSS feed - if ($doc->getElementsByTagName('channel')->item(0)) { - /** - * @see Zend_Feed_Rss - */ - require_once 'Zend/Feed/Rss.php'; - // return a newly created Zend_Feed_Rss object - return new Zend_Feed_Rss(null, $string); - } - - // $string does not appear to be a valid feed of the supported types - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Invalid or unsupported feed format'); - } - - - /** - * Imports a feed from a file located at $filename. - * - * @param string $filename - * @throws Zend_Feed_Exception - * @return Zend_Feed_Abstract - */ - public static function importFile($filename) - { - @ini_set('track_errors', 1); - $feed = @file_get_contents($filename); - @ini_restore('track_errors'); - if ($feed === false) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception("File could not be loaded: $php_errormsg"); - } - return self::importString($feed); - } - - - /** - * Attempts to find feeds at $uri referenced by tags. Returns an - * array of the feeds referenced at $uri. - * - * @todo Allow findFeeds() to follow one, but only one, code 302. - * - * @param string $uri - * @throws Zend_Feed_Exception - * @return array - */ - public static function findFeeds($uri) - { - // Get the HTTP response from $uri and save the contents - $client = self::getHttpClient(); - $client->setUri($uri); - $response = $client->request(); - if ($response->getStatus() !== 200) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception("Failed to access $uri, got response code " . $response->getStatus()); - } - $contents = $response->getBody(); - - // Parse the contents for appropriate tags - @ini_set('track_errors', 1); - $pattern = '~(]+)/?>~i'; - $result = @preg_match_all($pattern, $contents, $matches); - @ini_restore('track_errors'); - if ($result === false) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception("Internal error: $php_errormsg"); - } - - // Try to fetch a feed for each link tag that appears to refer to a feed - $feeds = array(); - if (isset($matches[1]) && count($matches[1]) > 0) { - foreach ($matches[1] as $link) { - // force string to be an utf-8 one - if (!mb_check_encoding($link, 'UTF-8')) { - $link = mb_convert_encoding($link, 'UTF-8'); - } - $xml = @simplexml_load_string(rtrim($link, ' /') . ' />'); - if ($xml === false) { - continue; - } - $attributes = $xml->attributes(); - if (!isset($attributes['rel']) || !@preg_match('~^(?:alternate|service\.feed)~i', $attributes['rel'])) { - continue; - } - if (!isset($attributes['type']) || - !@preg_match('~^application/(?:atom|rss|rdf)\+xml~', $attributes['type'])) { - continue; - } - if (!isset($attributes['href'])) { - continue; - } - try { - // checks if we need to canonize the given uri - try { - $uri = Zend_Uri::factory((string) $attributes['href']); - } catch (Zend_Uri_Exception $e) { - // canonize the uri - $path = (string) $attributes['href']; - $query = $fragment = ''; - if (substr($path, 0, 1) != '/') { - // add the current root path to this one - $path = rtrim($client->getUri()->getPath(), '/') . '/' . $path; - } - if (strpos($path, '?') !== false) { - list($path, $query) = explode('?', $path, 2); - } - if (strpos($query, '#') !== false) { - list($query, $fragment) = explode('#', $query, 2); - } - $uri = Zend_Uri::factory($client->getUri(true)); - $uri->setPath($path); - $uri->setQuery($query); - $uri->setFragment($fragment); - } - - $feed = self::import($uri); - } catch (Exception $e) { - continue; - } - $feeds[$uri->getUri()] = $feed; - } - } - - // Return the fetched feeds - return $feeds; - } - - /** - * Construct a new Zend_Feed_Abstract object from a custom array - * - * @param array $data - * @param string $format (rss|atom) the requested output format - * @return Zend_Feed_Abstract - */ - public static function importArray(array $data, $format = 'atom') - { - $obj = 'Zend_Feed_' . ucfirst(strtolower($format)); - if (!class_exists($obj)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($obj); - } - - /** - * @see Zend_Feed_Builder - */ - require_once 'Zend/Feed/Builder.php'; - return new $obj(null, null, new Zend_Feed_Builder($data)); - } - - /** - * Construct a new Zend_Feed_Abstract object from a Zend_Feed_Builder_Interface data source - * - * @param Zend_Feed_Builder_Interface $builder this object will be used to extract the data of the feed - * @param string $format (rss|atom) the requested output format - * @return Zend_Feed_Abstract - */ - public static function importBuilder(Zend_Feed_Builder_Interface $builder, $format = 'atom') - { - $obj = 'Zend_Feed_' . ucfirst(strtolower($format)); - if (!class_exists($obj)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($obj); - } - return new $obj(null, null, $builder); - } -} diff --git a/lib/zend/Zend/Feed/Abstract.php b/lib/zend/Zend/Feed/Abstract.php deleted file mode 100644 index 4c5be182af..0000000000 --- a/lib/zend/Zend/Feed/Abstract.php +++ /dev/null @@ -1,259 +0,0 @@ -setUri($uri); - $response = $client->request('GET'); - if ($response->getStatus() !== 200) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Feed failed to load, got response code ' . $response->getStatus()); - } - $this->_element = $response->getBody(); - $this->__wakeup(); - } elseif ($string !== null) { - // Retrieve the feed from $string - $this->_element = $string; - $this->__wakeup(); - } else { - // Generate the feed from the array - $header = $builder->getHeader(); - $this->_element = new DOMDocument('1.0', $header['charset']); - $root = $this->_mapFeedHeaders($header); - $this->_mapFeedEntries($root, $builder->getEntries()); - $this->_element = $root; - $this->_buildEntryCache(); - } - } - - - /** - * Load the feed as an XML DOMDocument object - * - * @return void - * @throws Zend_Feed_Exception - */ - public function __wakeup() - { - @ini_set('track_errors', 1); - $doc = new DOMDocument; - $status = @$doc->loadXML($this->_element); - @ini_restore('track_errors'); - - if (!$status) { - // prevent the class to generate an undefined variable notice (ZF-2590) - if (!isset($php_errormsg)) { - if (function_exists('xdebug_is_enabled')) { - $php_errormsg = '(error message not available, when XDebug is running)'; - } else { - $php_errormsg = '(error message not available)'; - } - } - - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception("DOMDocument cannot parse XML: $php_errormsg"); - } - - $this->_element = $doc; - } - - - /** - * Prepare for serialiation - * - * @return array - */ - public function __sleep() - { - $this->_element = $this->saveXML(); - - return array('_element'); - } - - - /** - * Cache the individual feed elements so they don't need to be - * searched for on every operation. - * - * @return void - */ - protected function _buildEntryCache() - { - $this->_entries = array(); - foreach ($this->_element->childNodes as $child) { - if ($child->localName == $this->_entryElementName) { - $this->_entries[] = $child; - } - } - } - - - /** - * Get the number of entries in this feed object. - * - * @return integer Entry count. - */ - public function count() - { - return count($this->_entries); - } - - - /** - * Required by the Iterator interface. - * - * @return void - */ - public function rewind() - { - $this->_entryIndex = 0; - } - - - /** - * Required by the Iterator interface. - * - * @return mixed The current row, or null if no rows. - */ - public function current() - { - return new $this->_entryClassName( - null, - $this->_entries[$this->_entryIndex]); - } - - - /** - * Required by the Iterator interface. - * - * @return mixed The current row number (starts at 0), or NULL if no rows - */ - public function key() - { - return $this->_entryIndex; - } - - - /** - * Required by the Iterator interface. - * - * @return mixed The next row, or null if no more rows. - */ - public function next() - { - ++$this->_entryIndex; - } - - - /** - * Required by the Iterator interface. - * - * @return boolean Whether the iteration is valid - */ - public function valid() - { - return 0 <= $this->_entryIndex && $this->_entryIndex < $this->count(); - } - - /** - * Generate the header of the feed when working in write mode - * - * @param array $array the data to use - * @return DOMElement root node - */ - abstract protected function _mapFeedHeaders($array); - - /** - * Generate the entries of the feed when working in write mode - * - * @param DOMElement $root the root node to use - * @param array $array the data to use - * @return DOMElement root node - */ - abstract protected function _mapFeedEntries(DOMElement $root, $array); - - /** - * Send feed to a http client with the correct header - * - * @throws Zend_Feed_Exception if headers have already been sent - * @return void - */ - abstract public function send(); -} diff --git a/lib/zend/Zend/Feed/Atom.php b/lib/zend/Zend/Feed/Atom.php deleted file mode 100644 index a083bf2eb3..0000000000 --- a/lib/zend/Zend/Feed/Atom.php +++ /dev/null @@ -1,390 +0,0 @@ - - * elements). - * - * @var string - */ - protected $_entryElementName = 'entry'; - - /** - * The default namespace for Atom feeds. - * - * @var string - */ - protected $_defaultNamespace = 'atom'; - - - /** - * Override Zend_Feed_Abstract to set up the $_element and $_entries aliases. - * - * @return void - * @throws Zend_Feed_Exception - */ - public function __wakeup() - { - parent::__wakeup(); - - // Find the base feed element and create an alias to it. - $element = $this->_element->getElementsByTagName('feed')->item(0); - if (!$element) { - // Try to find a single instead. - $element = $this->_element->getElementsByTagName($this->_entryElementName)->item(0); - if (!$element) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('No root or <' . $this->_entryElementName - . '> element found, cannot parse feed.'); - } - - $doc = new DOMDocument($this->_element->version, - $this->_element->actualEncoding); - $feed = $doc->appendChild($doc->createElement('feed')); - $feed->appendChild($doc->importNode($element, true)); - $element = $feed; - } - - $this->_element = $element; - - // Find the entries and save a pointer to them for speed and - // simplicity. - $this->_buildEntryCache(); - } - - - /** - * Easy access to tags keyed by "rel" attributes. - * - * If $elt->link() is called with no arguments, we will attempt to - * return the value of the tag(s) like all other - * method-syntax attribute access. If an argument is passed to - * link(), however, then we will return the "href" value of the - * first tag that has a "rel" attribute matching $rel: - * - * $elt->link(): returns the value of the link tag. - * $elt->link('self'): returns the href from the first in the entry. - * - * @param string $rel The "rel" attribute to look for. - * @return mixed - */ - public function link($rel = null) - { - if ($rel === null) { - return parent::__call('link', null); - } - - // index link tags by their "rel" attribute. - $links = parent::__get('link'); - if (!is_array($links)) { - if ($links instanceof Zend_Feed_Element) { - $links = array($links); - } else { - return $links; - } - } - - foreach ($links as $link) { - if (empty($link['rel'])) { - continue; - } - if ($rel == $link['rel']) { - return $link['href']; - } - } - - return null; - } - - - /** - * Make accessing some individual elements of the feed easier. - * - * Special accessors 'entry' and 'entries' are provided so that if - * you wish to iterate over an Atom feed's entries, you can do so - * using foreach ($feed->entries as $entry) or foreach - * ($feed->entry as $entry). - * - * @param string $var The property to access. - * @return mixed - */ - public function __get($var) - { - switch ($var) { - case 'entry': - // fall through to the next case - case 'entries': - return $this; - - default: - return parent::__get($var); - } - } - - /** - * Generate the header of the feed when working in write mode - * - * @param array $array the data to use - * @return DOMElement root node - */ - protected function _mapFeedHeaders($array) - { - $feed = $this->_element->createElement('feed'); - $feed->setAttribute('xmlns', 'http://www.w3.org/2005/Atom'); - - $id = $this->_element->createElement('id', $array->link); - $feed->appendChild($id); - - $title = $this->_element->createElement('title'); - $title->appendChild($this->_element->createCDATASection($array->title)); - $feed->appendChild($title); - - if (isset($array->author)) { - $author = $this->_element->createElement('author'); - $name = $this->_element->createElement('name', $array->author); - $author->appendChild($name); - if (isset($array->email)) { - $email = $this->_element->createElement('email', $array->email); - $author->appendChild($email); - } - $feed->appendChild($author); - } - - $updated = isset($array->lastUpdate) ? $array->lastUpdate : time(); - $updated = $this->_element->createElement('updated', date(DATE_ATOM, $updated)); - $feed->appendChild($updated); - - if (isset($array->published)) { - $published = $this->_element->createElement('published', date(DATE_ATOM, $array->published)); - $feed->appendChild($published); - } - - $link = $this->_element->createElement('link'); - $link->setAttribute('rel', 'self'); - $link->setAttribute('href', $array->link); - if (isset($array->language)) { - $link->setAttribute('hreflang', $array->language); - } - $feed->appendChild($link); - - if (isset($array->description)) { - $subtitle = $this->_element->createElement('subtitle'); - $subtitle->appendChild($this->_element->createCDATASection($array->description)); - $feed->appendChild($subtitle); - } - - if (isset($array->copyright)) { - $copyright = $this->_element->createElement('rights', $array->copyright); - $feed->appendChild($copyright); - } - - if (isset($array->image)) { - $image = $this->_element->createElement('logo', $array->image); - $feed->appendChild($image); - } - - $generator = !empty($array->generator) ? $array->generator : 'Zend_Feed'; - $generator = $this->_element->createElement('generator', $generator); - $feed->appendChild($generator); - - return $feed; - } - - /** - * Generate the entries of the feed when working in write mode - * - * The following nodes are constructed for each feed entry - * - * url to feed entry - * entry title - * last update - * - * short text - * long version, can contain html - * - * - * @param array $array the data to use - * @param DOMElement $root the root node to use - * @return void - */ - protected function _mapFeedEntries(DOMElement $root, $array) - { - foreach ($array as $dataentry) { - $entry = $this->_element->createElement('entry'); - - $id = $this->_element->createElement('id', isset($dataentry->guid) ? $dataentry->guid : $dataentry->link); - $entry->appendChild($id); - - $title = $this->_element->createElement('title'); - $title->appendChild($this->_element->createCDATASection($dataentry->title)); - $entry->appendChild($title); - - $updated = isset($dataentry->lastUpdate) ? $dataentry->lastUpdate : time(); - $updated = $this->_element->createElement('updated', date(DATE_ATOM, $updated)); - $entry->appendChild($updated); - - $link = $this->_element->createElement('link'); - $link->setAttribute('rel', 'alternate'); - $link->setAttribute('href', $dataentry->link); - $entry->appendChild($link); - - $summary = $this->_element->createElement('summary'); - $summary->appendChild($this->_element->createCDATASection($dataentry->description)); - $entry->appendChild($summary); - - if (isset($dataentry->content)) { - $content = $this->_element->createElement('content'); - $content->setAttribute('type', 'html'); - $content->appendChild($this->_element->createCDATASection($dataentry->content)); - $entry->appendChild($content); - } - - if (isset($dataentry->category)) { - foreach ($dataentry->category as $category) { - $node = $this->_element->createElement('category'); - $node->setAttribute('term', $category['term']); - if (isset($category['scheme'])) { - $node->setAttribute('scheme', $category['scheme']); - } - $entry->appendChild($node); - } - } - - if (isset($dataentry->source)) { - $source = $this->_element->createElement('source'); - $title = $this->_element->createElement('title', $dataentry->source['title']); - $source->appendChild($title); - $link = $this->_element->createElement('link', $dataentry->source['title']); - $link->setAttribute('rel', 'alternate'); - $link->setAttribute('href', $dataentry->source['url']); - $source->appendChild($link); - } - - if (isset($dataentry->enclosure)) { - foreach ($dataentry->enclosure as $enclosure) { - $node = $this->_element->createElement('link'); - $node->setAttribute('rel', 'enclosure'); - $node->setAttribute('href', $enclosure['url']); - if (isset($enclosure['type'])) { - $node->setAttribute('type', $enclosure['type']); - } - if (isset($enclosure['length'])) { - $node->setAttribute('length', $enclosure['length']); - } - $entry->appendChild($node); - } - } - - if (isset($dataentry->comments)) { - $comments = $this->_element->createElementNS('http://wellformedweb.org/CommentAPI/', - 'wfw:comment', - $dataentry->comments); - $entry->appendChild($comments); - } - if (isset($dataentry->commentRss)) { - $comments = $this->_element->createElementNS('http://wellformedweb.org/CommentAPI/', - 'wfw:commentRss', - $dataentry->commentRss); - $entry->appendChild($comments); - } - - $root->appendChild($entry); - } - } - - /** - * Override Zend_Feed_Element to allow formated feeds - * - * @return string - */ - public function saveXml() - { - // Return a complete document including XML prologue. - $doc = new DOMDocument($this->_element->ownerDocument->version, - $this->_element->ownerDocument->actualEncoding); - $doc->appendChild($doc->importNode($this->_element, true)); - $doc->formatOutput = true; - - return $doc->saveXML(); - } - - /** - * Send feed to a http client with the correct header - * - * @return void - * @throws Zend_Feed_Exception if headers have already been sent - */ - public function send() - { - if (headers_sent()) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Cannot send ATOM because headers have already been sent.'); - } - - header('Content-Type: application/atom+xml; charset=' . $this->_element->ownerDocument->actualEncoding); - - echo $this->saveXML(); - } -} diff --git a/lib/zend/Zend/Feed/Builder.php b/lib/zend/Zend/Feed/Builder.php deleted file mode 100644 index 5139d59e43..0000000000 --- a/lib/zend/Zend/Feed/Builder.php +++ /dev/null @@ -1,398 +0,0 @@ - - * array( - * 'title' => 'title of the feed', //required - * 'link' => 'canonical url to the feed', //required - * 'lastUpdate' => 'timestamp of the update date', // optional - * 'published' => 'timestamp of the publication date', //optional - * 'charset' => 'charset', // required - * 'description' => 'short description of the feed', //optional - * 'author' => 'author/publisher of the feed', //optional - * 'email' => 'email of the author', //optional - * 'webmaster' => 'email address for person responsible for technical issues' // optional, ignored if atom is used - * 'copyright' => 'copyright notice', //optional - * 'image' => 'url to image', //optional - * 'generator' => 'generator', // optional - * 'language' => 'language the feed is written in', // optional - * 'ttl' => 'how long in minutes a feed can be cached before refreshing', // optional, ignored if atom is used - * 'rating' => 'The PICS rating for the channel.', // optional, ignored if atom is used - * 'cloud' => array( - * 'domain' => 'domain of the cloud, e.g. rpc.sys.com' // required - * 'port' => 'port to connect to' // optional, default to 80 - * 'path' => 'path of the cloud, e.g. /RPC2 //required - * 'registerProcedure' => 'procedure to call, e.g. myCloud.rssPleaseNotify' // required - * 'protocol' => 'protocol to use, e.g. soap or xml-rpc' // required - * ), a cloud to be notified of updates // optional, ignored if atom is used - * 'textInput' => array( - * 'title' => 'the label of the Submit button in the text input area' // required, - * 'description' => 'explains the text input area' // required - * 'name' => 'the name of the text object in the text input area' // required - * 'link' => 'the URL of the CGI script that processes text input requests' // required - * ) // a text input box that can be displayed with the feed // optional, ignored if atom is used - * 'skipHours' => array( - * 'hour in 24 format', // e.g 13 (1pm) - * // up to 24 rows whose value is a number between 0 and 23 - * ) // Hint telling aggregators which hours they can skip // optional, ignored if atom is used - * 'skipDays ' => array( - * 'a day to skip', // e.g Monday - * // up to 7 rows whose value is a Monday, Tuesday, Wednesday, Thursday, Friday, Saturday or Sunday - * ) // Hint telling aggregators which days they can skip // optional, ignored if atom is used - * 'itunes' => array( - * 'author' => 'Artist column' // optional, default to the main author value - * 'owner' => array( - * 'name' => 'name of the owner' // optional, default to main author value - * 'email' => 'email of the owner' // optional, default to main email value - * ) // Owner of the podcast // optional - * 'image' => 'album/podcast art' // optional, default to the main image value - * 'subtitle' => 'short description' // optional, default to the main description value - * 'summary' => 'longer description' // optional, default to the main description value - * 'block' => 'Prevent an episode from appearing (yes|no)' // optional - * 'category' => array( - * array('main' => 'main category', // required - * 'sub' => 'sub category' // optional - * ), - * // up to 3 rows - * ) // 'Category column and in iTunes Music Store Browse' // required - * 'explicit' => 'parental advisory graphic (yes|no|clean)' // optional - * 'keywords' => 'a comma separated list of 12 keywords maximum' // optional - * 'new-feed-url' => 'used to inform iTunes of new feed URL location' // optional - * ) // Itunes extension data // optional, ignored if atom is used - * 'entries' => array( - * array( - * 'title' => 'title of the feed entry', //required - * 'link' => 'url to a feed entry', //required - * 'description' => 'short version of a feed entry', // only text, no html, required - * 'guid' => 'id of the article, if not given link value will used', //optional - * 'content' => 'long version', // can contain html, optional - * 'lastUpdate' => 'timestamp of the publication date', // optional - * 'comments' => 'comments page of the feed entry', // optional - * 'commentRss' => 'the feed url of the associated comments', // optional - * 'source' => array( - * 'title' => 'title of the original source' // required, - * 'url' => 'url of the original source' // required - * ) // original source of the feed entry // optional - * 'category' => array( - * array( - * 'term' => 'first category label' // required, - * 'scheme' => 'url that identifies a categorization scheme' // optional - * ), - * array( - * //data for the second category and so on - * ) - * ) // list of the attached categories // optional - * 'enclosure' => array( - * array( - * 'url' => 'url of the linked enclosure' // required - * 'type' => 'mime type of the enclosure' // optional - * 'length' => 'length of the linked content in octets' // optional - * ), - * array( - * //data for the second enclosure and so on - * ) - * ) // list of the enclosures of the feed entry // optional - * ), - * array( - * //data for the second entry and so on - * ) - * ) - * ); - * - * - * @param array $data - * @return void - */ - public function __construct(array $data) - { - $this->_data = $data; - $this->_createHeader($data); - if (isset($data['entries'])) { - $this->_createEntries($data['entries']); - } - } - - /** - * Returns an instance of Zend_Feed_Builder_Header - * describing the header of the feed - * - * @return Zend_Feed_Builder_Header - */ - public function getHeader() - { - return $this->_header; - } - - /** - * Returns an array of Zend_Feed_Builder_Entry instances - * describing the entries of the feed - * - * @return array of Zend_Feed_Builder_Entry - */ - public function getEntries() - { - return $this->_entries; - } - - /** - * Create the Zend_Feed_Builder_Header instance - * - * @param array $data - * @throws Zend_Feed_Builder_Exception - * @return void - */ - private function _createHeader(array $data) - { - $mandatories = array('title', 'link', 'charset'); - foreach ($mandatories as $mandatory) { - if (!isset($data[$mandatory])) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("$mandatory key is missing"); - } - } - $this->_header = new Zend_Feed_Builder_Header($data['title'], $data['link'], $data['charset']); - if (isset($data['lastUpdate'])) { - $this->_header->setLastUpdate($data['lastUpdate']); - } - if (isset($data['published'])) { - $this->_header->setPublishedDate($data['published']); - } - if (isset($data['description'])) { - $this->_header->setDescription($data['description']); - } - if (isset($data['author'])) { - $this->_header->setAuthor($data['author']); - } - if (isset($data['email'])) { - $this->_header->setEmail($data['email']); - } - if (isset($data['webmaster'])) { - $this->_header->setWebmaster($data['webmaster']); - } - if (isset($data['copyright'])) { - $this->_header->setCopyright($data['copyright']); - } - if (isset($data['image'])) { - $this->_header->setImage($data['image']); - } - if (isset($data['generator'])) { - $this->_header->setGenerator($data['generator']); - } - if (isset($data['language'])) { - $this->_header->setLanguage($data['language']); - } - if (isset($data['ttl'])) { - $this->_header->setTtl($data['ttl']); - } - if (isset($data['rating'])) { - $this->_header->setRating($data['rating']); - } - if (isset($data['cloud'])) { - $mandatories = array('domain', 'path', 'registerProcedure', 'protocol'); - foreach ($mandatories as $mandatory) { - if (!isset($data['cloud'][$mandatory])) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("you have to define $mandatory property of your cloud"); - } - } - $uri_str = 'http://' . $data['cloud']['domain'] . $data['cloud']['path']; - $this->_header->setCloud($uri_str, $data['cloud']['registerProcedure'], $data['cloud']['protocol']); - } - if (isset($data['textInput'])) { - $mandatories = array('title', 'description', 'name', 'link'); - foreach ($mandatories as $mandatory) { - if (!isset($data['textInput'][$mandatory])) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("you have to define $mandatory property of your textInput"); - } - } - $this->_header->setTextInput($data['textInput']['title'], - $data['textInput']['description'], - $data['textInput']['name'], - $data['textInput']['link']); - } - if (isset($data['skipHours'])) { - $this->_header->setSkipHours($data['skipHours']); - } - if (isset($data['skipDays'])) { - $this->_header->setSkipDays($data['skipDays']); - } - if (isset($data['itunes'])) { - $itunes = new Zend_Feed_Builder_Header_Itunes($data['itunes']['category']); - if (isset($data['itunes']['author'])) { - $itunes->setAuthor($data['itunes']['author']); - } - if (isset($data['itunes']['owner'])) { - $name = isset($data['itunes']['owner']['name']) ? $data['itunes']['owner']['name'] : ''; - $email = isset($data['itunes']['owner']['email']) ? $data['itunes']['owner']['email'] : ''; - $itunes->setOwner($name, $email); - } - if (isset($data['itunes']['image'])) { - $itunes->setImage($data['itunes']['image']); - } - if (isset($data['itunes']['subtitle'])) { - $itunes->setSubtitle($data['itunes']['subtitle']); - } - if (isset($data['itunes']['summary'])) { - $itunes->setSummary($data['itunes']['summary']); - } - if (isset($data['itunes']['block'])) { - $itunes->setBlock($data['itunes']['block']); - } - if (isset($data['itunes']['explicit'])) { - $itunes->setExplicit($data['itunes']['explicit']); - } - if (isset($data['itunes']['keywords'])) { - $itunes->setKeywords($data['itunes']['keywords']); - } - if (isset($data['itunes']['new-feed-url'])) { - $itunes->setNewFeedUrl($data['itunes']['new-feed-url']); - } - - $this->_header->setITunes($itunes); - } - } - - /** - * Create the array of article entries - * - * @param array $data - * @throws Zend_Feed_Builder_Exception - * @return void - */ - private function _createEntries(array $data) - { - foreach ($data as $row) { - $mandatories = array('title', 'link', 'description'); - foreach ($mandatories as $mandatory) { - if (!isset($row[$mandatory])) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("$mandatory key is missing"); - } - } - $entry = new Zend_Feed_Builder_Entry($row['title'], $row['link'], $row['description']); - if (isset($row['author'])) { - $entry->setAuthor($row['author']); - } - if (isset($row['guid'])) { - $entry->setId($row['guid']); - } - if (isset($row['content'])) { - $entry->setContent($row['content']); - } - if (isset($row['lastUpdate'])) { - $entry->setLastUpdate($row['lastUpdate']); - } - if (isset($row['comments'])) { - $entry->setCommentsUrl($row['comments']); - } - if (isset($row['commentRss'])) { - $entry->setCommentsRssUrl($row['commentRss']); - } - if (isset($row['source'])) { - $mandatories = array('title', 'url'); - foreach ($mandatories as $mandatory) { - if (!isset($row['source'][$mandatory])) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("$mandatory key of source property is missing"); - } - } - $entry->setSource($row['source']['title'], $row['source']['url']); - } - if (isset($row['category'])) { - $entry->setCategories($row['category']); - } - if (isset($row['enclosure'])) { - $entry->setEnclosures($row['enclosure']); - } - - $this->_entries[] = $entry; - } - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Feed/Builder/Entry.php b/lib/zend/Zend/Feed/Builder/Entry.php deleted file mode 100644 index 0a218d140c..0000000000 --- a/lib/zend/Zend/Feed/Builder/Entry.php +++ /dev/null @@ -1,297 +0,0 @@ -offsetSet('title', $title); - $this->offsetSet('link', $link); - $this->offsetSet('description', $description); - $this->setLastUpdate(time()); - } - - /** - * Read only properties accessor - * - * @param string $name property to read - * @return mixed - */ - public function __get($name) - { - if (!$this->offsetExists($name)) { - return NULL; - } - - return $this->offsetGet($name); - } - - /** - * Write properties accessor - * - * @param string $name name of the property to set - * @param mixed $value value to set - * @return void - */ - public function __set($name, $value) - { - $this->offsetSet($name, $value); - } - - /** - * Isset accessor - * - * @param string $key - * @return boolean - */ - public function __isset($key) - { - return $this->offsetExists($key); - } - - /** - * Unset accessor - * - * @param string $key - * @return void - */ - public function __unset($key) - { - if ($this->offsetExists($key)) { - $this->offsetUnset($key); - } - } - - /** - * Sets the author of the entry - * - * @param string $author - * @return Zend_Feed_Builder_Entry - */ - public function setAuthor($author) - { - $this->offsetSet('author', $author); - return $this; - } - - /** - * Sets the id/guid of the entry - * - * @param string $id - * @return Zend_Feed_Builder_Entry - */ - public function setId($id) - { - $this->offsetSet('guid', $id); - return $this; - } - - /** - * Sets the full html content of the entry - * - * @param string $content - * @return Zend_Feed_Builder_Entry - */ - public function setContent($content) - { - $this->offsetSet('content', $content); - return $this; - } - - /** - * Timestamp of the update date - * - * @param int $lastUpdate - * @return Zend_Feed_Builder_Entry - */ - public function setLastUpdate($lastUpdate) - { - $this->offsetSet('lastUpdate', $lastUpdate); - return $this; - } - - /** - * Sets the url of the commented page associated to the entry - * - * @param string $comments - * @return Zend_Feed_Builder_Entry - */ - public function setCommentsUrl($comments) - { - $this->offsetSet('comments', $comments); - return $this; - } - - /** - * Sets the url of the comments feed link - * - * @param string $commentRss - * @return Zend_Feed_Builder_Entry - */ - public function setCommentsRssUrl($commentRss) - { - $this->offsetSet('commentRss', $commentRss); - return $this; - } - - /** - * Defines a reference to the original source - * - * @param string $title - * @param string $url - * @return Zend_Feed_Builder_Entry - */ - public function setSource($title, $url) - { - $this->offsetSet('source', array('title' => $title, - 'url' => $url)); - return $this; - } - - /** - * Sets the categories of the entry - * Format of the array: - * - * array( - * array( - * 'term' => 'first category label', - * 'scheme' => 'url that identifies a categorization scheme' // optional - * ), - * // second category and so one - * ) - * - * - * @param array $categories - * @return Zend_Feed_Builder_Entry - */ - public function setCategories(array $categories) - { - foreach ($categories as $category) { - $this->addCategory($category); - } - return $this; - } - - /** - * Add a category to the entry - * - * @param array $category see Zend_Feed_Builder_Entry::setCategories() for format - * @return Zend_Feed_Builder_Entry - * @throws Zend_Feed_Builder_Exception - */ - public function addCategory(array $category) - { - if (empty($category['term'])) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("you have to define the name of the category"); - } - - if (!$this->offsetExists('category')) { - $categories = array($category); - } else { - $categories = $this->offsetGet('category'); - $categories[] = $category; - } - $this->offsetSet('category', $categories); - return $this; - } - - /** - * Sets the enclosures of the entry - * Format of the array: - * - * array( - * array( - * 'url' => 'url of the linked enclosure', - * 'type' => 'mime type of the enclosure' // optional - * 'length' => 'length of the linked content in octets' // optional - * ), - * // second enclosure and so one - * ) - * - * - * @param array $enclosures - * @return Zend_Feed_Builder_Entry - * @throws Zend_Feed_Builder_Exception - */ - public function setEnclosures(array $enclosures) - { - foreach ($enclosures as $enclosure) { - if (empty($enclosure['url'])) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("you have to supply an url for your enclosure"); - } - $type = isset($enclosure['type']) ? $enclosure['type'] : ''; - $length = isset($enclosure['length']) ? $enclosure['length'] : ''; - $this->addEnclosure($enclosure['url'], $type, $length); - } - return $this; - } - - /** - * Add an enclosure to the entry - * - * @param string $url - * @param string $type - * @param string $length - * @return Zend_Feed_Builder_Entry - */ - public function addEnclosure($url, $type = '', $length = '') - { - if (!$this->offsetExists('enclosure')) { - $enclosure = array(); - } else { - $enclosure = $this->offsetGet('enclosure'); - } - $enclosure[] = array('url' => $url, - 'type' => $type, - 'length' => $length); - $this->offsetSet('enclosure', $enclosure); - return $this; - } -} diff --git a/lib/zend/Zend/Feed/Builder/Exception.php b/lib/zend/Zend/Feed/Builder/Exception.php deleted file mode 100644 index c5fedeb19c..0000000000 --- a/lib/zend/Zend/Feed/Builder/Exception.php +++ /dev/null @@ -1,40 +0,0 @@ -offsetSet('title', $title); - $this->offsetSet('link', $link); - $this->offsetSet('charset', $charset); - $this->setLastUpdate(time()) - ->setGenerator('Zend_Feed'); - } - - /** - * Read only properties accessor - * - * @param string $name property to read - * @return mixed - */ - public function __get($name) - { - if (!$this->offsetExists($name)) { - return NULL; - } - - return $this->offsetGet($name); - } - - /** - * Write properties accessor - * - * @param string $name name of the property to set - * @param mixed $value value to set - * @return void - */ - public function __set($name, $value) - { - $this->offsetSet($name, $value); - } - - /** - * Isset accessor - * - * @param string $key - * @return boolean - */ - public function __isset($key) - { - return $this->offsetExists($key); - } - - /** - * Unset accessor - * - * @param string $key - * @return void - */ - public function __unset($key) - { - if ($this->offsetExists($key)) { - $this->offsetUnset($key); - } - } - - /** - * Timestamp of the update date - * - * @param int $lastUpdate - * @return Zend_Feed_Builder_Header - */ - public function setLastUpdate($lastUpdate) - { - $this->offsetSet('lastUpdate', $lastUpdate); - return $this; - } - - /** - * Timestamp of the publication date - * - * @param int $published - * @return Zend_Feed_Builder_Header - */ - public function setPublishedDate($published) - { - $this->offsetSet('published', $published); - return $this; - } - - /** - * Short description of the feed - * - * @param string $description - * @return Zend_Feed_Builder_Header - */ - public function setDescription($description) - { - $this->offsetSet('description', $description); - return $this; - } - - /** - * Sets the author of the feed - * - * @param string $author - * @return Zend_Feed_Builder_Header - */ - public function setAuthor($author) - { - $this->offsetSet('author', $author); - return $this; - } - - /** - * Sets the author's email - * - * @param string $email - * @return Zend_Feed_Builder_Header - * @throws Zend_Feed_Builder_Exception - */ - public function setEmail($email) - { - /** - * @see Zend_Validate_EmailAddress - */ - require_once 'Zend/Validate/EmailAddress.php'; - $validate = new Zend_Validate_EmailAddress(); - if (!$validate->isValid($email)) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("you have to set a valid email address into the email property"); - } - $this->offsetSet('email', $email); - return $this; - } - - /** - * Sets the copyright notice - * - * @param string $copyright - * @return Zend_Feed_Builder_Header - */ - public function setCopyright($copyright) - { - $this->offsetSet('copyright', $copyright); - return $this; - } - - /** - * Sets the image of the feed - * - * @param string $image - * @return Zend_Feed_Builder_Header - */ - public function setImage($image) - { - $this->offsetSet('image', $image); - return $this; - } - - /** - * Sets the generator of the feed - * - * @param string $generator - * @return Zend_Feed_Builder_Header - */ - public function setGenerator($generator) - { - $this->offsetSet('generator', $generator); - return $this; - } - - /** - * Sets the language of the feed - * - * @param string $language - * @return Zend_Feed_Builder_Header - */ - public function setLanguage($language) - { - $this->offsetSet('language', $language); - return $this; - } - - /** - * Email address for person responsible for technical issues - * Ignored if atom is used - * - * @param string $webmaster - * @return Zend_Feed_Builder_Header - * @throws Zend_Feed_Builder_Exception - */ - public function setWebmaster($webmaster) - { - /** - * @see Zend_Validate_EmailAddress - */ - require_once 'Zend/Validate/EmailAddress.php'; - $validate = new Zend_Validate_EmailAddress(); - if (!$validate->isValid($webmaster)) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("you have to set a valid email address into the webmaster property"); - } - $this->offsetSet('webmaster', $webmaster); - return $this; - } - - /** - * How long in minutes a feed can be cached before refreshing - * Ignored if atom is used - * - * @param int $ttl - * @return Zend_Feed_Builder_Header - * @throws Zend_Feed_Builder_Exception - */ - public function setTtl($ttl) - { - /** - * @see Zend_Validate_Int - */ - require_once 'Zend/Validate/Int.php'; - $validate = new Zend_Validate_Int(); - if (!$validate->isValid($ttl)) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("you have to set an integer value to the ttl property"); - } - $this->offsetSet('ttl', $ttl); - return $this; - } - - /** - * PICS rating for the feed - * Ignored if atom is used - * - * @param string $rating - * @return Zend_Feed_Builder_Header - */ - public function setRating($rating) - { - $this->offsetSet('rating', $rating); - return $this; - } - - /** - * Cloud to be notified of updates of the feed - * Ignored if atom is used - * - * @param string|Zend_Uri_Http $uri - * @param string $procedure procedure to call, e.g. myCloud.rssPleaseNotify - * @param string $protocol protocol to use, e.g. soap or xml-rpc - * @return Zend_Feed_Builder_Header - * @throws Zend_Feed_Builder_Exception - */ - public function setCloud($uri, $procedure, $protocol) - { - if (is_string($uri) && Zend_Uri_Http::check($uri)) { - $uri = Zend_Uri::factory($uri); - } - if (!$uri instanceof Zend_Uri_Http) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception('Passed parameter is not a valid HTTP URI'); - } - if (!$uri->getPort()) { - $uri->setPort(80); - } - $this->offsetSet('cloud', array('uri' => $uri, - 'procedure' => $procedure, - 'protocol' => $protocol)); - return $this; - } - - /** - * A text input box that can be displayed with the feed - * Ignored if atom is used - * - * @param string $title the label of the Submit button in the text input area - * @param string $description explains the text input area - * @param string $name the name of the text object in the text input area - * @param string $link the URL of the CGI script that processes text input requests - * @return Zend_Feed_Builder_Header - */ - public function setTextInput($title, $description, $name, $link) - { - $this->offsetSet('textInput', array('title' => $title, - 'description' => $description, - 'name' => $name, - 'link' => $link)); - return $this; - } - - /** - * Hint telling aggregators which hours they can skip - * Ignored if atom is used - * - * @param array $hours list of hours in 24 format - * @return Zend_Feed_Builder_Header - * @throws Zend_Feed_Builder_Exception - */ - public function setSkipHours(array $hours) - { - if (count($hours) > 24) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("you can not have more than 24 rows in the skipHours property"); - } - foreach ($hours as $hour) { - if ($hour < 0 || $hour > 23) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("$hour has te be between 0 and 23"); - } - } - $this->offsetSet('skipHours', $hours); - return $this; - } - - /** - * Hint telling aggregators which days they can skip - * Ignored if atom is used - * - * @param array $days list of days to skip, e.g. Monday - * @return Zend_Feed_Builder_Header - * @throws Zend_Feed_Builder_Exception - */ - public function setSkipDays(array $days) - { - if (count($days) > 7) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("you can not have more than 7 days in the skipDays property"); - } - $valid = array('monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'); - foreach ($days as $day) { - if (!in_array(strtolower($day), $valid)) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("$day is not a valid day"); - } - } - $this->offsetSet('skipDays', $days); - return $this; - } - - /** - * Sets the iTunes rss extension - * - * @param Zend_Feed_Builder_Header_Itunes $itunes - * @return Zend_Feed_Builder_Header - */ - public function setITunes(Zend_Feed_Builder_Header_Itunes $itunes) - { - $this->offsetSet('itunes', $itunes); - return $this; - } -} diff --git a/lib/zend/Zend/Feed/Builder/Header/Itunes.php b/lib/zend/Zend/Feed/Builder/Header/Itunes.php deleted file mode 100644 index 52c9177130..0000000000 --- a/lib/zend/Zend/Feed/Builder/Header/Itunes.php +++ /dev/null @@ -1,288 +0,0 @@ -setCategories($categories); - } - - /** - * Sets the categories column and in iTunes Music Store Browse - * $categories must conform to the following format: - * - * array(array('main' => 'main category', - * 'sub' => 'sub category' // optionnal - * ), - * // up to 3 rows - * ) - * - * - * @param array $categories - * @return Zend_Feed_Builder_Header_Itunes - * @throws Zend_Feed_Builder_Exception - */ - public function setCategories(array $categories) - { - $nb = count($categories); - if (0 === $nb) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("you have to set at least one itunes category"); - } - if ($nb > 3) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("you have to set at most three itunes categories"); - } - foreach ($categories as $i => $category) { - if (empty($category['main'])) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("you have to set the main category (category #$i)"); - } - } - $this->offsetSet('category', $categories); - return $this; - } - - /** - * Sets the artist value, default to the feed's author value - * - * @param string $author - * @return Zend_Feed_Builder_Header_Itunes - */ - public function setAuthor($author) - { - $this->offsetSet('author', $author); - return $this; - } - - /** - * Sets the owner of the postcast - * - * @param string $name default to the feed's author value - * @param string $email default to the feed's email value - * @return Zend_Feed_Builder_Header_Itunes - * @throws Zend_Feed_Builder_Exception - */ - public function setOwner($name = '', $email = '') - { - if (!empty($email)) { - /** - * @see Zend_Validate_EmailAddress - */ - require_once 'Zend/Validate/EmailAddress.php'; - $validate = new Zend_Validate_EmailAddress(); - if (!$validate->isValid($email)) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("you have to set a valid email address into the itunes owner's email property"); - } - } - $this->offsetSet('owner', array('name' => $name, 'email' => $email)); - return $this; - } - - /** - * Sets the album/podcast art picture - * Default to the feed's image value - * - * @param string $image - * @return Zend_Feed_Builder_Header_Itunes - */ - public function setImage($image) - { - $this->offsetSet('image', $image); - return $this; - } - - /** - * Sets the short description of the podcast - * Default to the feed's description - * - * @param string $subtitle - * @return Zend_Feed_Builder_Header_Itunes - */ - public function setSubtitle($subtitle) - { - $this->offsetSet('subtitle', $subtitle); - return $this; - } - - /** - * Sets the longer description of the podcast - * Default to the feed's description - * - * @param string $summary - * @return Zend_Feed_Builder_Header_Itunes - */ - public function setSummary($summary) - { - $this->offsetSet('summary', $summary); - return $this; - } - - /** - * Prevent a feed from appearing - * - * @param string $block can be 'yes' or 'no' - * @return Zend_Feed_Builder_Header_Itunes - * @throws Zend_Feed_Builder_Exception - */ - public function setBlock($block) - { - $block = strtolower($block); - if (!in_array($block, array('yes', 'no'))) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("you have to set yes or no to the itunes block property"); - } - $this->offsetSet('block', $block); - return $this; - } - - /** - * Configuration of the parental advisory graphic - * - * @param string $explicit can be 'yes', 'no' or 'clean' - * @return Zend_Feed_Builder_Header_Itunes - * @throws Zend_Feed_Builder_Exception - */ - public function setExplicit($explicit) - { - $explicit = strtolower($explicit); - if (!in_array($explicit, array('yes', 'no', 'clean'))) { - /** - * @see Zend_Feed_Builder_Exception - */ - require_once 'Zend/Feed/Builder/Exception.php'; - throw new Zend_Feed_Builder_Exception("you have to set yes, no or clean to the itunes explicit property"); - } - $this->offsetSet('explicit', $explicit); - return $this; - } - - /** - * Sets a comma separated list of 12 keywords maximum - * - * @param string $keywords - * @return Zend_Feed_Builder_Header_Itunes - */ - public function setKeywords($keywords) - { - $this->offsetSet('keywords', $keywords); - return $this; - } - - /** - * Sets the new feed URL location - * - * @param string $url - * @return Zend_Feed_Builder_Header_Itunes - */ - public function setNewFeedUrl($url) - { - $this->offsetSet('new_feed_url', $url); - return $this; - } - - /** - * Read only properties accessor - * - * @param string $name property to read - * @return mixed - */ - public function __get($name) - { - if (!$this->offsetExists($name)) { - return NULL; - } - - return $this->offsetGet($name); - } - - /** - * Write properties accessor - * - * @param string $name name of the property to set - * @param mixed $value value to set - * @return void - */ - public function __set($name, $value) - { - $this->offsetSet($name, $value); - } - - /** - * Isset accessor - * - * @param string $key - * @return boolean - */ - public function __isset($key) - { - return $this->offsetExists($key); - } - - /** - * Unset accessor - * - * @param string $key - * @return void - */ - public function __unset($key) - { - if ($this->offsetExists($key)) { - $this->offsetUnset($key); - } - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/Feed/Builder/Interface.php b/lib/zend/Zend/Feed/Builder/Interface.php deleted file mode 100644 index f03f0f2312..0000000000 --- a/lib/zend/Zend/Feed/Builder/Interface.php +++ /dev/null @@ -1,52 +0,0 @@ -_element = $element; - } - - - /** - * Get a DOM representation of the element - * - * Returns the underlying DOM object, which can then be - * manipulated with full DOM methods. - * - * @return DOMDocument - */ - public function getDOM() - { - return $this->_element; - } - - - /** - * Update the object from a DOM element - * - * Take a DOMElement object, which may be originally from a call - * to getDOM() or may be custom created, and use it as the - * DOM tree for this Zend_Feed_Element. - * - * @param DOMElement $element - * @return void - */ - public function setDOM(DOMElement $element) - { - $this->_element = $this->_element->ownerDocument->importNode($element, true); - } - - /** - * Set the parent element of this object to another - * Zend_Feed_Element. - * - * @param Zend_Feed_Element $element - * @return void - */ - public function setParent(Zend_Feed_Element $element) - { - $this->_parentElement = $element; - $this->_appended = false; - } - - - /** - * Appends this element to its parent if necessary. - * - * @return void - */ - protected function ensureAppended() - { - if (!$this->_appended) { - $this->_parentElement->getDOM()->appendChild($this->_element); - $this->_appended = true; - $this->_parentElement->ensureAppended(); - } - } - - - /** - * Get an XML string representation of this element - * - * Returns a string of this element's XML, including the XML - * prologue. - * - * @return string - */ - public function saveXml() - { - // Return a complete document including XML prologue. - $doc = new DOMDocument($this->_element->ownerDocument->version, - $this->_element->ownerDocument->actualEncoding); - $doc->appendChild($doc->importNode($this->_element, true)); - return $doc->saveXML(); - } - - - /** - * Get the XML for only this element - * - * Returns a string of this element's XML without prologue. - * - * @return string - */ - public function saveXmlFragment() - { - return $this->_element->ownerDocument->saveXML($this->_element); - } - - - /** - * Map variable access onto the underlying entry representation. - * - * Get-style access returns a Zend_Feed_Element representing the - * child element accessed. To get string values, use method syntax - * with the __call() overriding. - * - * @param string $var The property to access. - * @return mixed - */ - public function __get($var) - { - $nodes = $this->_children($var); - $length = count($nodes); - - if ($length == 1) { - return new Zend_Feed_Element($nodes[0]); - } elseif ($length > 1) { - return array_map(create_function('$e', 'return new Zend_Feed_Element($e);'), $nodes); - } else { - // When creating anonymous nodes for __set chaining, don't - // call appendChild() on them. Instead we pass the current - // element to them as an extra reference; the child is - // then responsible for appending itself when it is - // actually set. This way "if ($foo->bar)" doesn't create - // a phantom "bar" element in our tree. - if (strpos($var, ':') !== false) { - list($ns, $elt) = explode(':', $var, 2); - $node = $this->_element->ownerDocument->createElementNS(Zend_Feed::lookupNamespace($ns), $elt); - } else { - $node = $this->_element->ownerDocument->createElement($var); - } - $node = new self($node); - $node->setParent($this); - return $node; - } - } - - - /** - * Map variable sets onto the underlying entry representation. - * - * @param string $var The property to change. - * @param string $val The property's new value. - * @return void - * @throws Zend_Feed_Exception - */ - public function __set($var, $val) - { - $this->ensureAppended(); - - $nodes = $this->_children($var); - if (!$nodes) { - if (strpos($var, ':') !== false) { - list($ns, $elt) = explode(':', $var, 2); - $node = $this->_element->ownerDocument->createElementNS(Zend_Feed::lookupNamespace($ns), $var, $val); - $this->_element->appendChild($node); - } else { - $node = $this->_element->ownerDocument->createElement($var, $val); - $this->_element->appendChild($node); - } - } elseif (count($nodes) > 1) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Cannot set the value of multiple tags simultaneously.'); - } else { - $nodes[0]->nodeValue = $val; - } - } - - - /** - * Map isset calls onto the underlying entry representation. - * - * @param string $var - * @return boolean - */ - public function __isset($var) - { - // Look for access of the form {ns:var}. We don't use - // _children() here because we can break out of the loop - // immediately once we find something. - if (strpos($var, ':') !== false) { - list($ns, $elt) = explode(':', $var, 2); - foreach ($this->_element->childNodes as $child) { - if ($child->localName == $elt && $child->prefix == $ns) { - return true; - } - } - } else { - foreach ($this->_element->childNodes as $child) { - if ($child->localName == $var) { - return true; - } - } - } - } - - - /** - * Get the value of an element with method syntax. - * - * Map method calls to get the string value of the requested - * element. If there are multiple elements that match, this will - * return an array of those objects. - * - * @param string $var The element to get the string value of. - * @param mixed $unused This parameter is not used. - * @return mixed The node's value, null, or an array of nodes. - */ - public function __call($var, $unused) - { - $nodes = $this->_children($var); - - if (!$nodes) { - return null; - } elseif (count($nodes) > 1) { - return $nodes; - } else { - return $nodes[0]->nodeValue; - } - } - - - /** - * Remove all children matching $var. - * - * @param string $var - * @return void - */ - public function __unset($var) - { - $nodes = $this->_children($var); - foreach ($nodes as $node) { - $parent = $node->parentNode; - $parent->removeChild($node); - } - } - - - /** - * Returns the nodeValue of this element when this object is used - * in a string context. - * - * @return string - */ - public function __toString() - { - return $this->_element->nodeValue; - } - - - /** - * Finds children with tagnames matching $var - * - * Similar to SimpleXML's children() method. - * - * @param string $var Tagname to match, can be either namespace:tagName or just tagName. - * @return array - */ - protected function _children($var) - { - $found = array(); - - // Look for access of the form {ns:var}. - if (strpos($var, ':') !== false) { - list($ns, $elt) = explode(':', $var, 2); - foreach ($this->_element->childNodes as $child) { - if ($child->localName == $elt && $child->prefix == $ns) { - $found[] = $child; - } - } - } else { - foreach ($this->_element->childNodes as $child) { - if ($child->localName == $var) { - $found[] = $child; - } - } - } - - return $found; - } - - - /** - * Required by the ArrayAccess interface. - * - * @param string $offset - * @return boolean - */ - public function offsetExists($offset) - { - if (strpos($offset, ':') !== false) { - list($ns, $attr) = explode(':', $offset, 2); - return $this->_element->hasAttributeNS(Zend_Feed::lookupNamespace($ns), $attr); - } else { - return $this->_element->hasAttribute($offset); - } - } - - - /** - * Required by the ArrayAccess interface. - * - * @param string $offset - * @return string - */ - public function offsetGet($offset) - { - if (strpos($offset, ':') !== false) { - list($ns, $attr) = explode(':', $offset, 2); - return $this->_element->getAttributeNS(Zend_Feed::lookupNamespace($ns), $attr); - } else { - return $this->_element->getAttribute($offset); - } - } - - - /** - * Required by the ArrayAccess interface. - * - * @param string $offset - * @param string $value - * @return string - */ - public function offsetSet($offset, $value) - { - $this->ensureAppended(); - - if (strpos($offset, ':') !== false) { - list($ns, $attr) = explode(':', $offset, 2); - return $this->_element->setAttributeNS(Zend_Feed::lookupNamespace($ns), $attr, $value); - } else { - return $this->_element->setAttribute($offset, $value); - } - } - - - /** - * Required by the ArrayAccess interface. - * - * @param string $offset - * @return boolean - */ - public function offsetUnset($offset) - { - if (strpos($offset, ':') !== false) { - list($ns, $attr) = explode(':', $offset, 2); - return $this->_element->removeAttributeNS(Zend_Feed::lookupNamespace($ns), $attr); - } else { - return $this->_element->removeAttribute($offset); - } - } - -} diff --git a/lib/zend/Zend/Feed/Entry/Abstract.php b/lib/zend/Zend/Feed/Entry/Abstract.php deleted file mode 100644 index d6573bc1c6..0000000000 --- a/lib/zend/Zend/Feed/Entry/Abstract.php +++ /dev/null @@ -1,124 +0,0 @@ -loadXML($element); - @ini_restore('track_errors'); - - if (!$status) { - // prevent the class to generate an undefined variable notice (ZF-2590) - if (!isset($php_errormsg)) { - if (function_exists('xdebug_is_enabled')) { - $php_errormsg = '(error message not available, when XDebug is running)'; - } else { - $php_errormsg = '(error message not available)'; - } - } - - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception("DOMDocument cannot parse XML: $php_errormsg"); - } - - $element = $doc->getElementsByTagName($this->_rootElement)->item(0); - if (!$element) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('No root <' . $this->_rootElement . '> element found, cannot parse feed.'); - } - } else { - $doc = new DOMDocument('1.0', 'utf-8'); - if ($this->_rootNamespace !== null) { - $element = $doc->createElementNS(Zend_Feed::lookupNamespace($this->_rootNamespace), $this->_rootElement); - } else { - $element = $doc->createElement($this->_rootElement); - } - } - } - - parent::__construct($element); - } - -} diff --git a/lib/zend/Zend/Feed/Entry/Atom.php b/lib/zend/Zend/Feed/Entry/Atom.php deleted file mode 100644 index 4382480a12..0000000000 --- a/lib/zend/Zend/Feed/Entry/Atom.php +++ /dev/null @@ -1,280 +0,0 @@ -link('edit'); - if (!$deleteUri) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Cannot delete entry; no link rel="edit" is present.'); - } - - // DELETE - $client = Zend_Feed::getHttpClient(); - do { - $client->setUri($deleteUri); - if (Zend_Feed::getHttpMethodOverride()) { - $client->setHeader('X-HTTP-Method-Override', 'DELETE'); - $response = $client->request('POST'); - } else { - $response = $client->request('DELETE'); - } - $httpStatus = $response->getStatus(); - switch ((int) $httpStatus / 100) { - // Success - case 2: - return true; - // Redirect - case 3: - $deleteUri = $response->getHeader('Location'); - continue; - // Error - default: - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception("Expected response code 2xx, got $httpStatus"); - } - } while (true); - } - - - /** - * Save a new or updated Atom entry. - * - * Save is used to either create new entries or to save changes to - * existing ones. If we have a link rel="edit", we are changing - * an existing entry. In this case we re-serialize the entry and - * PUT it to the edit URI, checking for a 200 OK result. - * - * For posting new entries, you must specify the $postUri - * parameter to save() to tell the object where to post itself. - * We use $postUri and POST the serialized entry there, checking - * for a 201 Created response. If the insert is successful, we - * then parse the response from the POST to get any values that - * the server has generated: an id, an updated time, and its new - * link rel="edit". - * - * @param string $postUri Location to POST for creating new entries. - * @return void - * @throws Zend_Feed_Exception - */ - public function save($postUri = null) - { - if ($this->id()) { - // If id is set, look for link rel="edit" in the - // entry object and PUT. - $editUri = $this->link('edit'); - if (!$editUri) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Cannot edit entry; no link rel="edit" is present.'); - } - - $client = Zend_Feed::getHttpClient(); - $client->setUri($editUri); - if (Zend_Feed::getHttpMethodOverride()) { - $client->setHeaders(array('X-HTTP-Method-Override: PUT', - 'Content-Type: ' . self::CONTENT_TYPE)); - $client->setRawData($this->saveXML()); - $response = $client->request('POST'); - } else { - $client->setHeaders('Content-Type', self::CONTENT_TYPE); - $client->setRawData($this->saveXML()); - $response = $client->request('PUT'); - } - if ($response->getStatus() !== 200) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Expected response code 200, got ' . $response->getStatus()); - } - } else { - if ($postUri === null) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('PostURI must be specified to save new entries.'); - } - $client = Zend_Feed::getHttpClient(); - $client->setUri($postUri); - $client->setHeaders('Content-Type', self::CONTENT_TYPE); - $client->setRawData($this->saveXML()); - $response = $client->request('POST'); - - if ($response->getStatus() !== 201) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Expected response code 201, got ' - . $response->getStatus()); - } - } - - // Update internal properties using $client->responseBody; - @ini_set('track_errors', 1); - $newEntry = new DOMDocument; - $status = @$newEntry->loadXML($response->getBody()); - @ini_restore('track_errors'); - - if (!$status) { - // prevent the class to generate an undefined variable notice (ZF-2590) - if (!isset($php_errormsg)) { - if (function_exists('xdebug_is_enabled')) { - $php_errormsg = '(error message not available, when XDebug is running)'; - } else { - $php_errormsg = '(error message not available)'; - } - } - - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('XML cannot be parsed: ' . $php_errormsg); - } - - $newEntry = $newEntry->getElementsByTagName($this->_rootElement)->item(0); - if (!$newEntry) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('No root element found in server response:' - . "\n\n" . $client->responseBody); - } - - if ($this->_element->parentNode) { - $oldElement = $this->_element; - $this->_element = $oldElement->ownerDocument->importNode($newEntry, true); - $oldElement->parentNode->replaceChild($this->_element, $oldElement); - } else { - $this->_element = $newEntry; - } - } - - - /** - * Easy access to tags keyed by "rel" attributes. - * - * If $elt->link() is called with no arguments, we will attempt to - * return the value of the tag(s) like all other - * method-syntax attribute access. If an argument is passed to - * link(), however, then we will return the "href" value of the - * first tag that has a "rel" attribute matching $rel: - * - * $elt->link(): returns the value of the link tag. - * $elt->link('self'): returns the href from the first in the entry. - * - * @param string $rel The "rel" attribute to look for. - * @return mixed - */ - public function link($rel = null) - { - if ($rel === null) { - return parent::__call('link', null); - } - - // index link tags by their "rel" attribute. - $links = parent::__get('link'); - if (!is_array($links)) { - if ($links instanceof Zend_Feed_Element) { - $links = array($links); - } else { - return $links; - } - } - - foreach ($links as $link) { - if (empty($link['rel'])) { - $link['rel'] = 'alternate'; // see Atom 1.0 spec - } - if ($rel == $link['rel']) { - return $link['href']; - } - } - - return null; - } - -} diff --git a/lib/zend/Zend/Feed/Entry/Rss.php b/lib/zend/Zend/Feed/Entry/Rss.php deleted file mode 100644 index 96c66df400..0000000000 --- a/lib/zend/Zend/Feed/Entry/Rss.php +++ /dev/null @@ -1,122 +0,0 @@ -_element->lookupPrefix('http://purl.org/rss/1.0/modules/content/'); - return parent::__get("$prefix:encoded"); - default: - return parent::__get($var); - } - } - - /** - * Overwrites parent::_set method to enable write access - * to content:encoded element. - * - * @param string $var The property to change. - * @param string $val The property's new value. - * @return void - */ - public function __set($var, $value) - { - switch ($var) { - case 'content': - parent::__set('content:encoded', $value); - break; - default: - parent::__set($var, $value); - } - } - - /** - * Overwrites parent::_isset method to enable access - * to content:encoded element. - * - * @param string $var - * @return boolean - */ - public function __isset($var) - { - switch ($var) { - case 'content': - // don't use other callback to prevent invalid returned value - return $this->content() !== null; - default: - return parent::__isset($var); - } - } - - /** - * Overwrites parent::_call method to enable read access - * to content:encoded element. - * Please note that method-style write access is not currently supported - * by parent method, consequently this method doesn't as well. - * - * @param string $var The element to get the string value of. - * @param mixed $unused This parameter is not used. - * @return mixed The node's value, null, or an array of nodes. - */ - public function __call($var, $unused) - { - switch ($var) { - case 'content': - $prefix = $this->_element->lookupPrefix('http://purl.org/rss/1.0/modules/content/'); - return parent::__call("$prefix:encoded", $unused); - default: - return parent::__call($var, $unused); - } - } -} diff --git a/lib/zend/Zend/Feed/Exception.php b/lib/zend/Zend/Feed/Exception.php deleted file mode 100644 index ec8ca94941..0000000000 --- a/lib/zend/Zend/Feed/Exception.php +++ /dev/null @@ -1,42 +0,0 @@ - array( - 'DublinCore_Feed', - 'Atom_Feed' - ), - 'entry' => array( - 'Content_Entry', - 'DublinCore_Entry', - 'Atom_Entry' - ), - 'core' => array( - 'DublinCore_Feed', - 'Atom_Feed', - 'Content_Entry', - 'DublinCore_Entry', - 'Atom_Entry' - ) - ); - - /** - * Get the Feed cache - * - * @return Zend_Cache_Core - */ - public static function getCache() - { - return self::$_cache; - } - - /** - * Set the feed cache - * - * @param Zend_Cache_Core $cache - * @return void - */ - public static function setCache(Zend_Cache_Core $cache) - { - self::$_cache = $cache; - } - - /** - * Set the HTTP client instance - * - * Sets the HTTP client object to use for retrieving the feeds. - * - * @param Zend_Http_Client $httpClient - * @return void - */ - public static function setHttpClient(Zend_Http_Client $httpClient) - { - self::$_httpClient = $httpClient; - } - - - /** - * Gets the HTTP client object. If none is set, a new Zend_Http_Client will be used. - * - * @return Zend_Http_Client_Abstract - */ - public static function getHttpClient() - { - if (!self::$_httpClient instanceof Zend_Http_Client) { - /** - * @see Zend_Http_Client - */ - require_once 'Zend/Http/Client.php'; - self::$_httpClient = new Zend_Http_Client(); - } - - return self::$_httpClient; - } - - /** - * Toggle using POST instead of PUT and DELETE HTTP methods - * - * Some feed implementations do not accept PUT and DELETE HTTP - * methods, or they can't be used because of proxies or other - * measures. This allows turning on using POST where PUT and - * DELETE would normally be used; in addition, an - * X-Method-Override header will be sent with a value of PUT or - * DELETE as appropriate. - * - * @param boolean $override Whether to override PUT and DELETE. - * @return void - */ - public static function setHttpMethodOverride($override = true) - { - self::$_httpMethodOverride = $override; - } - - /** - * Get the HTTP override state - * - * @return boolean - */ - public static function getHttpMethodOverride() - { - return self::$_httpMethodOverride; - } - - /** - * Set the flag indicating whether or not to use HTTP conditional GET - * - * @param bool $bool - * @return void - */ - public static function useHttpConditionalGet($bool = true) - { - self::$_httpConditionalGet = $bool; - } - - /** - * Import a feed by providing a URL - * - * @param string $url The URL to the feed - * @param string $etag OPTIONAL Last received ETag for this resource - * @param string $lastModified OPTIONAL Last-Modified value for this resource - * @return Zend_Feed_Reader_Feed_Interface - */ - public static function import($uri, $etag = null, $lastModified = null) - { - $cache = self::getCache(); - $feed = null; - $responseXml = ''; - $client = self::getHttpClient(); - $client->resetParameters(); - $client->setHeaders('If-None-Match', null); - $client->setHeaders('If-Modified-Since', null); - $client->setUri($uri); - $cacheId = 'Zend_Feed_Reader_' . md5($uri); - - if (self::$_httpConditionalGet && $cache) { - $data = $cache->load($cacheId); - if ($data) { - if (is_null($etag)) { - $etag = $cache->load($cacheId.'_etag'); - } - if (is_null($lastModified)) { - $lastModified = $cache->load($cacheId.'_lastmodified');; - } - if ($etag) { - $client->setHeaders('If-None-Match', $etag); - } - if ($lastModified) { - $client->setHeaders('If-Modified-Since', $lastModified); - } - } - $response = $client->request('GET'); - if ($response->getStatus() !== 200 && $response->getStatus() !== 304) { - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Feed failed to load, got response code ' . $response->getStatus()); - } - if ($response->getStatus() == 304) { - $responseXml = $data; - } else { - $responseXml = $response->getBody(); - $cache->save($responseXml, $cacheId); - if ($response->getHeader('ETag')) { - $cache->save($response->getHeader('ETag'), $cacheId.'_etag'); - } - if ($response->getHeader('Last-Modified')) { - $cache->save($response->getHeader('Last-Modified'), $cacheId.'_lastmodified'); - } - } - return self::importString($responseXml); - } elseif ($cache) { - $data = $cache->load($cacheId); - if ($data !== false) { - return self::importString($data); - } - $response = $client->request('GET'); - if ($response->getStatus() !== 200) { - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Feed failed to load, got response code ' . $response->getStatus()); - } - $responseXml = $response->getBody(); - $cache->save($responseXml, $cacheId); - return self::importString($responseXml); - } else { - $response = $client->request('GET'); - if ($response->getStatus() !== 200) { - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Feed failed to load, got response code ' . $response->getStatus()); - } - return self::importString($response->getBody()); - } - } - - /** - * Import a feed by providing a Zend_Feed_Abstract object - * - * @param Zend_Feed_Abstract $feed A fully instantiated Zend_Feed object - * @return Zend_Feed_Reader_Feed_Interface - */ - public static function importFeed(Zend_Feed_Abstract $feed) - { - $dom = $feed->getDOM()->ownerDocument; - $type = self::detectType($dom); - self::_registerCoreExtensions(); - if (substr($type, 0, 3) == 'rss') { - $reader = new Zend_Feed_Reader_Feed_Rss($dom, $type); - } else { - $reader = new Zend_Feed_Reader_Feed_Atom($dom, $type); - } - - return $reader; - } - - /** - * Import a feed froma string - * - * @param string $string - * @return Zend_Feed_Reader_Feed_Interface - */ - public static function importString($string) - { - $libxml_errflag = libxml_use_internal_errors(true); - $dom = new DOMDocument; - $status = $dom->loadXML($string); - libxml_use_internal_errors($libxml_errflag); - - if (!$status) { - // Build error message - $error = libxml_get_last_error(); - if ($error && $error->message) { - $errormsg = "DOMDocument cannot parse XML: {$error->message}"; - } else { - $errormsg = "DOMDocument cannot parse XML: Please check the XML document's validity"; - } - - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception($errormsg); - } - - $type = self::detectType($dom); - - self::_registerCoreExtensions(); - - if (substr($type, 0, 3) == 'rss') { - $reader = new Zend_Feed_Reader_Feed_Rss($dom, $type); - } else { - $reader = new Zend_Feed_Reader_Feed_Atom($dom, $type); - } - return $reader; - } - - /** - * Imports a feed from a file located at $filename. - * - * @param string $filename - * @throws Zend_Feed_Exception - * @return Zend_Feed_Reader_FeedInterface - */ - public static function importFile($filename) - { - @ini_set('track_errors', 1); - $feed = @file_get_contents($filename); - @ini_restore('track_errors'); - if ($feed === false) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception("File could not be loaded: $php_errormsg"); - } - return self::importString($feed); - } - - public static function findFeedLinks($uri) - { - // Get the HTTP response from $uri and save the contents - $client = self::getHttpClient(); - $client->setUri($uri); - $response = $client->request(); - if ($response->getStatus() !== 200) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception("Failed to access $uri, got response code " . $response->getStatus()); - } - $responseHtml = $response->getBody(); - @ini_set('track_errors', 1); - $dom = new DOMDocument; - $status = @$dom->loadHTML($responseHtml); - @ini_restore('track_errors'); - if (!$status) { - if (!isset($php_errormsg)) { - if (function_exists('xdebug_is_enabled')) { - $php_errormsg = '(error message not available, when XDebug is running)'; - } else { - $php_errormsg = '(error message not available)'; - } - } - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception("DOMDocument cannot parse XML: $php_errormsg"); - } - $feedLinks = new stdClass; - $links = $dom->getElementsByTagName('link'); - foreach ($links as $link) { - if (strtolower($link->getAttribute('rel')) !== 'alternate' - || !$link->getAttribute('type') || !$link->getAttribute('href')) { - continue; - } - if (!isset($feedLinks->rss) && $link->getAttribute('type') == 'application/rss+xml') { - $feedLinks->rss = $link->getAttribute('href'); - } elseif(!isset($feedLinks->atom) && $link->getAttribute('type') == 'application/atom+xml') { - $feedLinks->atom = $link->getAttribute('href'); - } elseif(!isset($feedLinks->rdf) && $link->getAttribute('type') == 'application/rdf+xml') { - $feedLinks->rdf = $link->getAttribute('href'); - } - if (isset($feedLinks->rss) && isset($feedLinks->atom) && isset($feedLinks->rdf)) { - break; - } - } - return $feedLinks; - } - - /** - * Detect the feed type of the provided feed - * - * @param Zend_Feed_Abstract $feed A fully instantiated Zend_Feed object - * @return string - */ - public static function detectType($feed) - { - if ($feed instanceof Zend_Feed_Reader_FeedInterface) { - $dom = $feed->getDomDocument(); - } elseif($feed instanceof DomDocument) { - $dom = $feed; - } elseif(is_string($feed) && !empty($feed)) { - @ini_set('track_errors', 1); - $dom = new DOMDocument; - $status = @$doc->loadXML($string); - @ini_restore('track_errors'); - if (!$status) { - if (!isset($php_errormsg)) { - if (function_exists('xdebug_is_enabled')) { - $php_errormsg = '(error message not available, when XDebug is running)'; - } else { - $php_errormsg = '(error message not available)'; - } - } - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception("DOMDocument cannot parse XML: $php_errormsg"); - } - } else { - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Invalid object/scalar provided: must be of type Zend_Feed_Reader_FeedInterface, DomDocument or string'); - } - $xpath = new DOMXPath($dom); - - if ($xpath->query('/rss')->length) { - $type = self::TYPE_RSS_ANY; - $version = $xpath->evaluate('string(/rss/@version)'); - - if (strlen($version) > 0) { - switch($version) { - case '2.0': - $type = self::TYPE_RSS_20; - break; - - case '0.94': - $type = self::TYPE_RSS_094; - break; - - case '0.93': - $type = self::TYPE_RSS_093; - break; - - case '0.92': - $type = self::TYPE_RSS_092; - break; - - case '0.91': - $type = self::TYPE_RSS_091; - break; - } - } - - return $type; - } - - $xpath->registerNamespace('rdf', self::NAMESPACE_RDF); - - if ($xpath->query('/rdf:RDF')->length) { - $xpath->registerNamespace('rss', self::NAMESPACE_RSS_10); - - if ($xpath->query('/rdf:RDF/rss:channel')->length - || $xpath->query('/rdf:RDF/rss:image')->length - || $xpath->query('/rdf:RDF/rss:item')->length - || $xpath->query('/rdf:RDF/rss:textinput')->length - ) { - return self::TYPE_RSS_10; - } - - $xpath->registerNamespace('rss', self::NAMESPACE_RSS_090); - - if ($xpath->query('/rdf:RDF/rss:channel')->length - || $xpath->query('/rdf:RDF/rss:image')->length - || $xpath->query('/rdf:RDF/rss:item')->length - || $xpath->query('/rdf:RDF/rss:textinput')->length - ) { - return self::TYPE_RSS_090; - } - } - - $type = self::TYPE_ATOM_ANY; - $xpath->registerNamespace('atom', self::NAMESPACE_ATOM_10); - - if ($xpath->query('//atom:feed')->length) { - return self::TYPE_ATOM_10; - } - - $xpath->registerNamespace('atom', self::NAMESPACE_ATOM_03); - - if ($xpath->query('//atom:feed')->length) { - return self::TYPE_ATOM_03; - } - - return self::TYPE_ANY; - } - - /** - * Set plugin loader for use with Extensions - * - * @param Zend_Loader_PluginLoader_Interface $loader - */ - public static function setPluginLoader(Zend_Loader_PluginLoader_Interface $loader) - { - self::$_pluginLoader = $loader; - } - - /** - * Get plugin loader for use with Extensions - * - * @return Zend_Loader_PluginLoader_Interface $loader - */ - public static function getPluginLoader() - { - if (!isset(self::$_pluginLoader)) { - require_once 'Zend/Loader/PluginLoader.php'; - self::$_pluginLoader = new Zend_Loader_PluginLoader(array( - 'Zend_Feed_Reader_Extension_' => 'Zend/Feed/Reader/Extension/', - )); - } - return self::$_pluginLoader; - } - - /** - * Add prefix path for loading Extensions - * - * @param string $prefix - * @param string $path - * @return void - */ - public static function addPrefixPath($prefix, $path) - { - $prefix = rtrim($prefix, '_'); - $path = rtrim($path, DIRECTORY_SEPARATOR); - self::getPluginLoader()->addPrefixPath($prefix, $path); - } - - /** - * Add multiple Extension prefix paths at once - * - * @param array $spec - * @return void - */ - public static function addPrefixPaths(array $spec) - { - if (isset($spec['prefix']) && isset($spec['path'])) { - self::addPrefixPath($spec['prefix'], $spec['path']); - } - foreach ($spec as $prefixPath) { - if (isset($prefixPath['prefix']) && isset($prefixPath['path'])) { - self::addPrefixPath($prefixPath['prefix'], $prefixPath['path']); - } - } - } - - /** - * Register an Extension by name - * - * @param string $name - * @return void - * @throws Zend_Feed_Exception if unable to resolve Extension class - */ - public static function registerExtension($name) - { - $feedName = $name . '_Feed'; - $entryName = $name . '_Entry'; - if (self::isRegistered($name)) { - if (self::getPluginLoader()->isLoaded($feedName) || - self::getPluginLoader()->isLoaded($entryName)) { - return; - } - } - try { - self::getPluginLoader()->load($feedName); - self::$_extensions['feed'][] = $feedName; - } catch (Zend_Loader_PluginLoader_Exception $e) { - } - try { - self::getPluginLoader()->load($entryName); - self::$_extensions['entry'][] = $entryName; - } catch (Zend_Loader_PluginLoader_Exception $e) { - } - if (!self::getPluginLoader()->isLoaded($feedName) - && !self::getPluginLoader()->isLoaded($entryName) - ) { - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Could not load extension: ' . $name - . 'using Plugin Loader. Check prefix paths are configured and extension exists.'); - } - } - - /** - * Is a given named Extension registered? - * - * @param string $extensionName - * @return boolean - */ - public static function isRegistered($extensionName) - { - $feedName = $extensionName . '_Feed'; - $entryName = $extensionName . '_Entry'; - if (in_array($feedName, self::$_extensions['feed']) - || in_array($entryName, self::$_extensions['entry']) - ) { - return true; - } - return false; - } - - /** - * Get a list of extensions - * - * @return array - */ - public static function getExtensions() - { - return self::$_extensions; - } - - /** - * Reset class state to defaults - * - * @return void - */ - public static function reset() - { - self::$_cache = null; - self::$_httpClient = null; - self::$_httpMethodOverride = false; - self::$_httpConditionalGet = false; - self::$_pluginLoader = null; - self::$_prefixPaths = array(); - self::$_extensions = array( - 'feed' => array( - 'DublinCore_Feed', - 'Atom_Feed' - ), - 'entry' => array( - 'Content_Entry', - 'DublinCore_Entry', - 'Atom_Entry' - ), - 'core' => array( - 'DublinCore_Feed', - 'Atom_Feed', - 'Content_Entry', - 'DublinCore_Entry', - 'Atom_Entry' - ) - ); - } - - /** - * Register core (default) extensions - * - * @return void - */ - protected static function _registerCoreExtensions() - { - self::registerExtension('DublinCore'); - self::registerExtension('Content'); - self::registerExtension('Atom'); - self::registerExtension('Slash'); - self::registerExtension('WellFormedWeb'); - self::registerExtension('Thread'); - self::registerExtension('Podcast'); - } -} diff --git a/lib/zend/Zend/Feed/Reader/Entry/Atom.php b/lib/zend/Zend/Feed/Reader/Entry/Atom.php deleted file mode 100644 index d2556a0a4b..0000000000 --- a/lib/zend/Zend/Feed/Reader/Entry/Atom.php +++ /dev/null @@ -1,357 +0,0 @@ -_xpathQuery = '//atom:entry[' . ($this->_entryKey + 1) . ']'; - - $atomClass = Zend_Feed_Reader::getPluginLoader()->getClassName('Atom_Entry'); - $this->_extensions['Atom_Entry'] = new $atomClass($entry, $entryKey, $type); - - $threadClass = Zend_Feed_Reader::getPluginLoader()->getClassName('Thread_Entry'); - $this->_extensions['Thread_Entry'] = new $threadClass($entry, $entryKey, $type); - } - - /** - * Get the specified author - * - * @param int $index - * @return string|null - */ - public function getAuthor($index = 0) - { - $authors = $this->getAuthors(); - - if (isset($authors[$index])) { - return $authors[$index]; - } - - return null; - } - - /** - * Get an array with feed authors - * - * @return array - */ - public function getAuthors() - { - if (array_key_exists('authors', $this->_data)) { - return $this->_data['authors']; - } - - $people = $this->getExtension('Atom')->getAuthors(); - - $this->_data['authors'] = $people; - - return $this->_data['authors']; - } - - /** - * Get the entry content - * - * @return string - */ - public function getContent() - { - if (array_key_exists('content', $this->_data)) { - return $this->_data['content']; - } - - $content = $this->getExtension('Atom')->getContent(); - - $this->_data['content'] = $content; - - return $this->_data['content']; - } - - /** - * Get the entry creation date - * - * @return string - */ - public function getDateCreated() - { - if (array_key_exists('datecreated', $this->_data)) { - return $this->_data['datecreated']; - } - - $dateCreated = $this->getExtension('Atom')->getDateCreated(); - - $this->_data['datecreated'] = $dateCreated; - - return $this->_data['datecreated']; - } - - /** - * Get the entry modification date - * - * @return string - */ - public function getDateModified() - { - if (array_key_exists('datemodified', $this->_data)) { - return $this->_data['datemodified']; - } - - $dateModified = $this->getExtension('Atom')->getDateModified(); - - $this->_data['datemodified'] = $dateModified; - - return $this->_data['datemodified']; - } - - /** - * Get the entry description - * - * @return string - */ - public function getDescription() - { - if (array_key_exists('description', $this->_data)) { - return $this->_data['description']; - } - - $description = $this->getExtension('Atom')->getDescription(); - - $this->_data['description'] = $description; - - return $this->_data['description']; - } - - /** - * Get the entry enclosure - * - * @return string - */ - public function getEnclosure() - { - if (array_key_exists('enclosure', $this->_data)) { - return $this->_data['enclosure']; - } - - $enclosure = $this->getExtension('Atom')->getEnclosure(); - - $this->_data['enclosure'] = $enclosure; - - return $this->_data['enclosure']; - } - - /** - * Get the entry ID - * - * @return string - */ - public function getId() - { - if (array_key_exists('id', $this->_data)) { - return $this->_data['id']; - } - - $id = $this->getExtension('Atom')->getId(); - - $this->_data['id'] = $id; - - return $this->_data['id']; - } - - /** - * Get a specific link - * - * @param int $index - * @return string - */ - public function getLink($index = 0) - { - if (!array_key_exists('links', $this->_data)) { - $this->getLinks(); - } - - if (isset($this->_data['links'][$index])) { - return $this->_data['links'][$index]; - } - - return null; - } - - /** - * Get all links - * - * @return array - */ - public function getLinks() - { - if (array_key_exists('links', $this->_data)) { - return $this->_data['links']; - } - - $links = $this->getExtension('Atom')->getLinks(); - - $this->_data['links'] = $links; - - return $this->_data['links']; - } - - /** - * Get a permalink to the entry - * - * @return string - */ - public function getPermalink() - { - return $this->getLink(0); - } - - /** - * Get the entry title - * - * @return string - */ - public function getTitle() - { - if (array_key_exists('title', $this->_data)) { - return $this->_data['title']; - } - - $title = $this->getExtension('Atom')->getTitle(); - - $this->_data['title'] = $title; - - return $this->_data['title']; - } - - /** - * Get the number of comments/replies for current entry - * - * @return integer - */ - public function getCommentCount() - { - if (array_key_exists('commentcount', $this->_data)) { - return $this->_data['commentcount']; - } - - $commentcount = $this->getExtension('Thread')>getCommentCount(); - - if (!$commentcount) { - $commentcount = $this->getExtension('Atom')->getCommentCount(); - } - - $this->_data['commentcount'] = $commentcount; - - return $this->_data['commentcount']; - } - - /** - * Returns a URI pointing to the HTML page where comments can be made on this entry - * - * @return string - */ - public function getCommentLink() - { - if (array_key_exists('commentlink', $this->_data)) { - return $this->_data['commentlink']; - } - - $commentlink = $this->getExtension('Atom')->getCommentLink(); - - $this->_data['commentlink'] = $commentlink; - - return $this->_data['commentlink']; - } - - /** - * Returns a URI pointing to a feed of all comments for this entry - * - * @return string - */ - public function getCommentFeedLink() - { - if (array_key_exists('commentfeedlink', $this->_data)) { - return $this->_data['commentfeedlink']; - } - - $commentfeedlink = $this->getExtension('Atom')->getCommentFeedLink(); - - $this->_data['commentfeedlink'] = $commentfeedlink; - - return $this->_data['commentfeedlink']; - } - - /** - * Set the XPath query (incl. on all Extensions) - * - * @param DOMXPath $xpath - */ - public function setXpath(DOMXPath $xpath) - { - parent::setXpath($xpath); - foreach ($this->_extensions as $extension) { - $extension->setXpath($this->_xpath); - } - } -} diff --git a/lib/zend/Zend/Feed/Reader/Entry/Rss.php b/lib/zend/Zend/Feed/Reader/Entry/Rss.php deleted file mode 100644 index 0a3463225c..0000000000 --- a/lib/zend/Zend/Feed/Reader/Entry/Rss.php +++ /dev/null @@ -1,614 +0,0 @@ -_xpathQueryRss = '//item[' . ($this->_entryKey+1) . ']'; - $this->_xpathQueryRdf = '//rss:item[' . ($this->_entryKey+1) . ']'; - - $pluginLoader = Zend_Feed_Reader::getPluginLoader(); - - $dublinCoreClass = $pluginLoader->getClassName('DublinCore_Entry'); - $this->_extensions['DublinCore_Entry'] = new $dublinCoreClass($entry, $entryKey, $type); - - $contentClass = $pluginLoader->getClassName('Content_Entry'); - $this->_extensions['Content_Entry'] = new $contentClass($entry, $entryKey, $type); - - $atomClass = $pluginLoader->getClassName('Atom_Entry'); - $this->_extensions['Atom_Entry'] = new $atomClass($entry, $entryKey, $type); - - $wfwClass = $pluginLoader->getClassName('WellFormedWeb_Entry'); - $this->_extensions['WellFormedWeb_Entry'] = new $wfwClass($entry, $entryKey, $type); - - $slashClass = $pluginLoader->getClassName('Slash_Entry'); - $this->_extensions['Slash_Entry'] = new $slashClass($entry, $entryKey, $type); - - $threadClass = $pluginLoader->getClassName('Thread_Entry'); - $this->_extensions['Thread_Entry'] = new $threadClass($entry, $entryKey, $type); - } - - /** - * Get an author entry - * - * @param DOMElement $element - * @return string - */ - public function getAuthor($index = 0) - { - $authors = $this->getAuthors(); - - if (isset($authors[$index])) { - return $authors[$index]; - } - - return null; - } - - /** - * Get an array with feed authors - * - * @return array - */ - public function getAuthors() - { - if (array_key_exists('authors', $this->_data)) { - return $this->_data['authors']; - } - - $authors = array(); - // @todo: create a list from all potential sources rather than from alternatives - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && - $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) { - $list = $this->_xpath->evaluate($this->_xpathQueryRss.'//author'); - } else { - $list = $this->_xpath->evaluate($this->_xpathQueryRdf.'//rss:author'); - } - if (!$list->length) { - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) { - $list = $this->_xpath->query('//author'); - } else { - $list = $this->_xpath->query('//rss:author'); - } - } - - if ($list->length) { - foreach ($list as $author) { - if ($this->getType() == Zend_Feed_Reader::TYPE_RSS_20 - && preg_match("/\(([^\)]+)\)/", $author->nodeValue, $matches, PREG_OFFSET_CAPTURE) - ) { - // source name from RSS 2.0 - // format "joe@example.com (Joe Bloggs)" - $authors[] = $matches[1][0]; - } else { - $authors[] = $author->nodeValue; - } - } - - $authors = array_unique($authors); - } - - if (empty($authors)) { - $authors = $this->getExtension('DublinCore')->getAuthors(); - } - - if (empty($authors)) { - $authors = $this->getExtension('Atom')->getAuthors(); - } - - $this->_data['authors'] = $authors; - - return $this->_data['authors']; - } - - /** - * Get the entry content - * - * @return string - */ - public function getContent() - { - if (array_key_exists('content', $this->_data)) { - return $this->_data['content']; - } - - $content = $this->getExtension('Content')->getContent(); - - if (!$content) { - $content = $this->getDescription(); - } - - if (empty($content)) { - $content = $this->getExtension('Atom')->getContent(); - } - - $this->_data['content'] = $content; - - return $this->_data['content']; - } - - /** - * Get the entry's date of creation - * - * @return string - */ - public function getDateCreated() - { - return $this->getDateModified(); - } - - /** - * Get the entry's date of modification - * - * @return string - */ - public function getDateModified() - { - if (array_key_exists('datemodified', $this->_data)) { - return $this->_data['datemodified']; - } - - $dateModified = null; - $date = null; - - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 - && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090 - ) { - $dateModified = $this->_xpath->evaluate('string('.$this->_xpathQueryRss.'/pubDate)'); - if ($dateModified) { - $dateStandards = array(Zend_Date::RSS, Zend_Date::RFC_822, - Zend_Date::RFC_2822, Zend_Date::DATES); - $date = new Zend_Date; - foreach ($dateStandards as $standard) { - try { - $date->set($dateModified, $standard); - break; - } catch (Zend_Date_Exception $e) { - if ($standard == Zend_Date::DATES) { - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception( - 'Could not load date due to unrecognised' - .' format (should follow RFC 822 or 2822):' - . $e->getMessage() - ); - } - } - } - } - } - - if (!$date) { - $date = $this->getExtension('DublinCore')->getDate(); - } - - if (!$date) { - $date = $this->getExtension('Atom')->getDateModified(); - } - - if (!$date) { - $date = null; - } - - $this->_data['datemodified'] = $date; - - return $this->_data['datemodified']; - } - - /** - * Get the entry description - * - * @return string - */ - public function getDescription() - { - if (array_key_exists('description', $this->_data)) { - return $this->_data['description']; - } - - $description = null; - - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 - && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090 - ) { - $description = $this->_xpath->evaluate('string('.$this->_xpathQueryRss.'/description)'); - } else { - $description = $this->_xpath->evaluate('string('.$this->_xpathQueryRdf.'/rss:description)'); - } - - if (!$description) { - $description = $this->getExtension('DublinCore')->getDescription(); - } - - if (empty($description)) { - $description = $this->getExtension('Atom')->getDescription(); - } - - if (!$description) { - $description = null; - } else { - $description = html_entity_decode($description, ENT_QUOTES, $this->getEncoding()); - } - - $this->_data['description'] = $description; - - return $this->_data['description']; - } - - /** - * Get the entry enclosure - * @return string - */ - public function getEnclosure() - { - if (array_key_exists('enclosure', $this->_data)) { - return $this->_data['enclosure']; - } - - $enclosure = null; - - if ($this->getType() == Zend_Feed_Reader::TYPE_RSS_20) { - $nodeList = $this->_xpath->query($this->_xpathQueryRss . '/enclosure'); - - if ($nodeList->length > 0) { - $enclosure = new stdClass(); - $enclosure->url = $nodeList->item(0)->getAttribute('url'); - $enclosure->length = $nodeList->item(0)->getAttribute('length'); - $enclosure->type = $nodeList->item(0)->getAttribute('type'); - } - } - - if (!$enclosure) { - $enclosure = $this->getExtension('Atom')->getEnclosure(); - } - - $this->_data['enclosure'] = $enclosure; - - return $this->_data['enclosure']; - } - - /** - * Get the entry ID - * - * @return string - */ - public function getId() - { - if (array_key_exists('id', $this->_data)) { - return $this->_data['id']; - } - - $id = null; - - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 - && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090 - ) { - $id = $this->_xpath->evaluate('string('.$this->_xpathQueryRss.'/guid)'); - } - - if (!$id) { - $id = $this->getExtension('DublinCore')->getId(); - } - - if (empty($id)) { - $id = $this->getExtension('Atom')->getId(); - } - - if (!$id) { - if ($this->getPermalink()) { - $id = $this->getPermalink(); - } elseif ($this->getTitle()) { - $id = $this->getTitle(); - } else { - $id = null; - } - } - - $this->_data['id'] = $id; - - return $this->_data['id']; - } - - /** - * Get a specific link - * - * @param int $index - * @return string - */ - public function getLink($index = 0) - { - if (!array_key_exists('links', $this->_data)) { - $this->getLinks(); - } - - if (isset($this->_data['links'][$index])) { - return $this->_data['links'][$index]; - } - - return null; - } - - /** - * Get all links - * - * @return array - */ - public function getLinks() - { - if (array_key_exists('links', $this->_data)) { - return $this->_data['links']; - } - - $links = array(); - - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && - $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) { - $list = $this->_xpath->query($this->_xpathQueryRss.'//link'); - } else { - $list = $this->_xpath->query($this->_xpathQueryRdf.'//rss:link'); - } - - if (!$list->length) { - $links = $this->getExtension('Atom')->getLinks(); - } else { - foreach ($list as $link) { - $links[] = $link->nodeValue; - } - } - - $this->_data['links'] = $links; - - return $this->_data['links']; - } - - /** - * Get a permalink to the entry - * - * @return string - */ - public function getPermalink() - { - return $this->getLink(0); - } - - /** - * Get the entry title - * - * @return string - */ - public function getTitle() - { - if (array_key_exists('title', $this->_data)) { - return $this->_data['title']; - } - - $title = null; - - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 - && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090 - ) { - $title = $this->_xpath->evaluate('string('.$this->_xpathQueryRss.'/title)'); - } else { - $title = $this->_xpath->evaluate('string('.$this->_xpathQueryRdf.'/rss:title)'); - } - - if (!$title) { - $title = $this->getExtension('DublinCore')->getTitle(); - } - - if (!$title) { - $title = $this->getExtension('Atom')->getTitle(); - } - - if (!$title) { - $title = null; - } - - $this->_data['title'] = $title; - - return $this->_data['title']; - } - - /** - * Get the number of comments/replies for current entry - * - * @return string|null - */ - public function getCommentCount() - { - if (array_key_exists('commentcount', $this->_data)) { - return $this->_data['commentcount']; - } - - $commentcount = $this->getExtension('Slash')->getCommentCount(); - - if (!$commentcount) { - $commentcount = $this->getExtension('Thread')->getCommentCount(); - } - - if (!$commentcount) { - $commentcount = $this->getExtension('Atom')->getCommentCount(); - } - - if (!$commentcount) { - $commentcount = null; - } - - $this->_data['commentcount'] = $commentcount; - - return $this->_data['commentcount']; - } - - /** - * Returns a URI pointing to the HTML page where comments can be made on this entry - * - * @return string - */ - public function getCommentLink() - { - if (array_key_exists('commentlink', $this->_data)) { - return $this->_data['commentlink']; - } - - $commentlink = null; - - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 - && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090 - ) { - $commentlink = $this->_xpath->evaluate('string('.$this->_xpathQueryRss.'/comments)'); - } - - if (!$commentlink) { - $commentlink = $this->getExtension('Atom')->getCommentLink(); - } - - if (!$commentlink) { - $commentlink = null; - } - - $this->_data['commentlink'] = $commentlink; - - return $this->_data['commentlink']; - } - - /** - * Returns a URI pointing to a feed of all comments for this entry - * - * @return string - */ - public function getCommentFeedLink() - { - if (array_key_exists('commentfeedlink', $this->_data)) { - return $this->_data['commentfeedlink']; - } - - $commentfeedlink = $this->getExtension('WellFormedWeb')->getCommentFeedLink(); - - if (!$commentfeedlink) { - $commentfeedlink = $this->getExtension('Atom')->getCommentFeedLink('rss'); - } - - if (!$commentfeedlink) { - $commentfeedlink = $this->getExtension('Atom')->getCommentFeedLink('rdf'); - } - - if (!$commentfeedlink) { - $commentfeedlink = null; - } - - $this->_data['commentfeedlink'] = $commentfeedlink; - - return $this->_data['commentfeedlink']; - } - - /** - * Set the XPath query (incl. on all Extensions) - * - * @param DOMXPath $xpath - */ - public function setXpath(DOMXPath $xpath) - { - parent::setXpath($xpath); - foreach ($this->_extensions as $extension) { - $extension->setXpath($this->_xpath); - } - } -} diff --git a/lib/zend/Zend/Feed/Reader/EntryAbstract.php b/lib/zend/Zend/Feed/Reader/EntryAbstract.php deleted file mode 100644 index 2c04d99fd5..0000000000 --- a/lib/zend/Zend/Feed/Reader/EntryAbstract.php +++ /dev/null @@ -1,242 +0,0 @@ -_entry = $entry; - $this->_entryKey = $entryKey; - $this->_domDocument = $entry->ownerDocument; - if ($type !== null) { - $this->_data['type'] = $type; - } else { - $this->_data['type'] = Zend_Feed_Reader::detectType($feed); - } - $this->_loadExtensions(); - } - - /** - * Get the DOM - * - * @return DOMDocument - */ - public function getDomDocument() - { - return $this->_domDocument; - } - - /** - * Get the entry element - * - * @return DOMElement - */ - public function getElement() - { - return $this->_entry; - } - - /** - * Get the Entry's encoding - * - * @return string - */ - public function getEncoding() - { - $assumed = $this->getDomDocument()->encoding; - return $assumed; - } - - /** - * Get entry as xml - * - * @return string - */ - public function saveXml() - { - $dom = new DOMDocument('1.0', $this->getEncoding()); - $entry = $dom->importNode($this->getElement(), true); - $dom->appendChild($entry); - return $dom->saveXml(); - } - - /** - * Get the entry type - * - * @return string - */ - public function getType() - { - return $this->_data['type']; - } - - /** - * Get the XPath query object - * - * @return DOMXPath - */ - public function getXpath() - { - return $this->_xpath; - } - - /** - * Set the XPath query - * - * @param DOMXPath $xpath - * @return Zend_Feed_Reader_Entry_EntryAbstract - */ - public function setXpath(DOMXPath $xpath) - { - $this->_xpath = $xpath; - return $this; - } - - /** - * Serialize the entry to an array - * - * @return array - */ - public function toArray() - { - return $this->_data; - } - - /** - * Get registered extensions - * - * @return array - */ - public function getExtensions() - { - return $this->_extensions; - } - - /** - * Return an Extension object with the matching name (postfixed with _Entry) - * - * @param string $name - * @return Zend_Feed_Reader_Extension_EntryAbstract - */ - public function getExtension($name) - { - if (array_key_exists($name . '_Entry', $this->_extensions)) { - return $this->_extensions[$name . '_Entry']; - } - return null; - } - - /** - * Method overloading: call given method on first extension implementing it - * - * @param string $method - * @param array $args - * @return mixed - * @throws Zend_Feed_Exception if no extensions implements the method - */ - public function __call($method, $args) - { - foreach ($this->_extensions as $extension) { - if (method_exists($extension, $method)) { - return call_user_func_array(array($extension, $method), $args); - } - } - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Method: ' . $method - . 'does not exist and could not be located on a registered Extension'); - } - - /** - * Load extensions from Zend_Feed_Reader - * - * @return void - */ - protected function _loadExtensions() - { - $all = Zend_Feed_Reader::getExtensions(); - $feed = $all['entry']; - foreach ($feed as $extension) { - if (in_array($extension, $all['core'])) { - continue; - } - $className = Zend_Feed_Reader::getPluginLoader()->getClassName($extension); - $this->_extensions[$extension] = new $className( - $this->getElement(), $this->_entryKey, $this->_data['type'] - ); - } - } -} diff --git a/lib/zend/Zend/Feed/Reader/EntryInterface.php b/lib/zend/Zend/Feed/Reader/EntryInterface.php deleted file mode 100644 index db3d26dc54..0000000000 --- a/lib/zend/Zend/Feed/Reader/EntryInterface.php +++ /dev/null @@ -1,136 +0,0 @@ -getAuthors(); - - if (isset($authors[$index])) { - return $authors[$index]; - } - - return null; - } - - /** - * Get an array with feed authors - * - * @return array - */ - public function getAuthors() - { - if (array_key_exists('authors', $this->_data)) { - return $this->_data['authors']; - } - - $authors = $this->_xpath->query( - $this->getXpathPrefix() . '//atom:author' . '|' - . $this->getXpathPrefix(). '//atom:contributor' - ); - - if (!$authors->length) { - $authors = $this->_xpath->query( - '//atom:author' . '|' . '//atom:contributor' - ); - } - - $people = array(); - - if ($authors->length) { - foreach ($authors as $author) { - $author = $this->_getAuthor($author); - - if (!empty($author)) { - $people[] = $author; - } - } - } - - $people = array_unique($people); - - $this->_data['authors'] = $people; - - return $this->_data['authors']; - } - - /** - * Get the entry content - * - * @return string - */ - public function getContent() - { - if (array_key_exists('content', $this->_data)) { - return $this->_data['content']; - } - - $content = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:content)'); - - if ($content) { - $content = html_entity_decode($content, ENT_QUOTES, $this->getEncoding()); - } - - if (!$content) { - $content = $this->getDescription(); - } - - $this->_data['content'] = $content; - - return $this->_data['content']; - } - - /** - * Get the entry creation date - * - * @return string - */ - public function getDateCreated() - { - if (array_key_exists('datecreated', $this->_data)) { - return $this->_data['datecreated']; - } - - $date = null; - - if ($this->getType() === Zend_Feed_Reader::TYPE_ATOM_03) { - $dateCreated = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:created)'); - } else { - $dateCreated = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:published)'); - } - - if ($dateCreated) { - $date = new Zend_Date; - $date->set($dateCreated, Zend_Date::ISO_8601); - } - - $this->_data['datecreated'] = $date; - - return $this->_data['datecreated']; - } - - /** - * Get the entry modification date - * - * @return string - */ - public function getDateModified() - { - if (array_key_exists('datemodified', $this->_data)) { - return $this->_data['datemodified']; - } - - $date = null; - - if ($this->getType() === Zend_Feed_Reader::TYPE_ATOM_03) { - $dateModified = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:modified)'); - } else { - $dateModified = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:updated)'); - } - - if ($dateModified) { - $date = new Zend_Date; - $date->set($dateModified, Zend_Date::ISO_8601); - } - - $this->_data['datemodified'] = $date; - - return $this->_data['datemodified']; - } - - /** - * Get the entry description - * - * @return string - */ - public function getDescription() - { - if (array_key_exists('description', $this->_data)) { - return $this->_data['description']; - } - - $description = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:summary)'); - - if (!$description) { - $description = null; - } else { - $description = html_entity_decode($description, ENT_QUOTES, $this->getEncoding()); - } - - $this->_data['description'] = $description; - - return $this->_data['description']; - } - - /** - * Get the entry enclosure - * - * @return string - */ - public function getEnclosure() - { - if (array_key_exists('enclosure', $this->_data)) { - return $this->_data['enclosure']; - } - - $enclosure = null; - - $nodeList = $this->_xpath->query($this->getXpathPrefix() . '/atom:link[@rel="enclosure"]'); - - if ($nodeList->length > 0) { - $enclosure = new stdClass(); - $enclosure->url = $nodeList->item(0)->getAttribute('href'); - $enclosure->length = $nodeList->item(0)->getAttribute('length'); - $enclosure->type = $nodeList->item(0)->getAttribute('type'); - } - - $this->_data['enclosure'] = $enclosure; - - return $this->_data['enclosure']; - } - - /** - * Get the entry ID - * - * @return string - */ - public function getId() - { - if (array_key_exists('id', $this->_data)) { - return $this->_data['id']; - } - - $id = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:id)'); - - if (!$id) { - if ($this->getPermalink()) { - $id = $this->getPermalink(); - } elseif ($this->getTitle()) { - $id = $this->getTitle(); - } else { - $id = null; - } - } - - $this->_data['id'] = $id; - - return $this->_data['id']; - } - - /** - * Get a specific link - * - * @param int $index - * @return string - */ - public function getLink($index = 0) - { - if (!array_key_exists('links', $this->_data)) { - $this->getLinks(); - } - - if (isset($this->_data['links'][$index])) { - return $this->_data['links'][$index]; - } - - return null; - } - - /** - * Get all links - * - * @return array - */ - public function getLinks() - { - if (array_key_exists('links', $this->_data)) { - return $this->_data['links']; - } - - $links = array(); - - $list = $this->_xpath->query( - $this->getXpathPrefix() . '//atom:link[@rel="alternate"]/@href' . '|' . - $this->getXpathPrefix() . '//atom:link[not(@rel)]/@href' - ); - - if ($list->length) { - foreach ($list as $link) { - $links[] = $link->value; - } - } - - $this->_data['links'] = $links; - - return $this->_data['links']; - } - - /** - * Get a permalink to the entry - * - * @return string - */ - public function getPermalink() - { - return $this->getLink(0); - } - - /** - * Get the entry title - * - * @return string - */ - public function getTitle() - { - if (array_key_exists('title', $this->_data)) { - return $this->_data['title']; - } - - $title = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:title)'); - - if (!$title) { - $title = null; - } else { - $title = html_entity_decode($title, ENT_QUOTES, $this->getEncoding()); - } - - $this->_data['title'] = $title; - - return $this->_data['title']; - } - - /** - * Get the number of comments/replies for current entry - * - * @return integer - */ - public function getCommentCount() - { - if (array_key_exists('commentcount', $this->_data)) { - return $this->_data['commentcount']; - } - - $count = null; - - $this->_xpath->registerNamespace('thread10', 'http://purl.org/syndication/thread/1.0'); - $list = $this->_xpath->query( - $this->getXpathPrefix() . '//atom:link[@rel="replies"]/@thread10:count' - ); - - if ($list->length) { - $count = $list->item(0)->value; - } - - $this->_data['commentcount'] = $count; - - return $this->_data['commentcount']; - } - - /** - * Returns a URI pointing to the HTML page where comments can be made on this entry - * - * @return string - */ - public function getCommentLink() - { - if (array_key_exists('commentlink', $this->_data)) { - return $this->_data['commentlink']; - } - - $link = null; - - $list = $this->_xpath->query( - $this->getXpathPrefix() . '//atom:link[@rel="replies" and @type="text/html"]/@href' - ); - - if ($list->length) { - $link = $list->item(0)->value; - } - - $this->_data['commentlink'] = $link; - - return $this->_data['commentlink']; - } - - /** - * Returns a URI pointing to a feed of all comments for this entry - * - * @return string - */ - public function getCommentFeedLink($type = 'atom') - { - if (array_key_exists('commentfeedlink', $this->_data)) { - return $this->_data['commentfeedlink']; - } - - $link = null; - - $list = $this->_xpath->query( - $this->getXpathPrefix() . '//atom:link[@rel="replies" and @type="application/'.$type.'+xml"]/@href' - ); - - if ($list->length) { - $link = $list->item(0)->value; - } - - $this->_data['commentfeedlink'] = $link; - - return $this->_data['commentfeedlink']; - } - - /** - * Get an author entry - * - * @param DOMElement $element - * @return string - */ - protected function _getAuthor(DOMElement $element) - { - $email = null; - $name = null; - $uri = null; - - $emailNode = $element->getElementsByTagName('email'); - $nameNode = $element->getElementsByTagName('name'); - $uriNode = $element->getElementsByTagName('uri'); - - if ($emailNode->length) { - $email = $emailNode->item(0)->nodeValue; - } - - if ($nameNode->length) { - $name = $nameNode->item(0)->nodeValue; - } - - if ($uriNode->length) { - $uri = $uriNode->item(0)->nodeValue; - } - - if (!empty($email)) { - return $email . (empty($name) ? '' : ' (' . $name . ')'); - } else if (!empty($name)) { - return $name; - } else if (!empty($uri)) { - return $uri; - } - - return null; - } - - /** - * Register the default namespaces for the current feed format - */ - protected function _registerNamespaces() - { - if ($this->getType() == Zend_Feed_Reader::TYPE_ATOM_10 - || $this->getType() == Zend_Feed_Reader::TYPE_ATOM_03 - ) { - return; // pre-registered at Feed level - } - $atomDetected = $this->_getAtomType(); - switch ($atomDetected) { - case Zend_Feed_Reader::TYPE_ATOM_03: - $this->_xpath->registerNamespace('atom', Zend_Feed_Reader::NAMESPACE_ATOM_03); - break; - default: - $this->_xpath->registerNamespace('atom', Zend_Feed_Reader::NAMESPACE_ATOM_10); - break; - } - } - - /** - * Detect the presence of any Atom namespaces in use - */ - protected function _getAtomType() - { - $nslist = $this->getDomDocument()->documentElement->attributes; - if (!$nslist->length) { - return null; - } - foreach ($nslist as $ns) { - if ($ns->value == Zend_Feed_Reader::NAMESPACE_ATOM_10) { - return Zend_Feed_Reader::TYPE_ATOM_10; - } - if ($ns->value == Zend_Feed_Reader::NAMESPACE_ATOM_03) { - return Zend_Feed_Reader::TYPE_ATOM_03; - } - } - } -} diff --git a/lib/zend/Zend/Feed/Reader/Extension/Atom/Feed.php b/lib/zend/Zend/Feed/Reader/Extension/Atom/Feed.php deleted file mode 100644 index 10b665297c..0000000000 --- a/lib/zend/Zend/Feed/Reader/Extension/Atom/Feed.php +++ /dev/null @@ -1,441 +0,0 @@ -getAuthors(); - - if (isset($authors[$index])) { - return $authors[$index]; - } - - return null; - } - - /** - * Get an array with feed authors - * - * @return array - */ - public function getAuthors() - { - if (array_key_exists('authors', $this->_data)) { - return $this->_data['authors']; - } - - $authors = $this->_xpath->query('//atom:author'); - $contributors = $this->_xpath->query('//atom:contributor'); - - $people = array(); - - if ($authors->length) { - foreach ($authors as $author) { - $author = $this->_getAuthor($author); - - if (!empty($author)) { - $people[] = $author; - } - } - } - - if ($contributors->length) { - foreach ($contributors as $contributor) { - $contributor = $this->_getAuthor($contributor); - - if (!empty($contributor)) { - $people[] = $contributor; - } - } - } - - if (empty($people)) { - $people = null; - } else { - $people = array_unique($people); - } - - $this->_data['authors'] = $people; - - return $this->_data['authors']; - } - - /** - * Get the copyright entry - * - * @return string|null - */ - public function getCopyright() - { - if (array_key_exists('copyright', $this->_data)) { - return $this->_data['copyright']; - } - - $copyright = null; - - if ($this->getType() === Zend_Feed_Reader::TYPE_ATOM_03) { - $copyright = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:copyright)'); - } else { - $copyright = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:rights)'); - } - - if (!$copyright) { - $copyright = null; - } - - $this->_data['copyright'] = $copyright; - - return $this->_data['copyright']; - } - - /** - * Get the feed creation date - * - * @return Zend_Date|null - */ - public function getDateCreated() - { - if (array_key_exists('datecreated', $this->_data)) { - return $this->_data['datecreated']; - } - - $date = null; - - if ($this->getType() === Zend_Feed_Reader::TYPE_ATOM_03) { - $dateCreated = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:created)'); - } else { - $dateCreated = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:published)'); - } - - if ($dateCreated) { - $date = new Zend_Date; - $date->set($dateCreated, Zend_Date::ISO_8601); - } - - $this->_data['datecreated'] = $date; - - return $this->_data['datecreated']; - } - - /** - * Get the feed modification date - * - * @return Zend_Date|null - */ - public function getDateModified() - { - if (array_key_exists('datemodified', $this->_data)) { - return $this->_data['datemodified']; - } - - $date = null; - - if ($this->getType() === Zend_Feed_Reader::TYPE_ATOM_03) { - $dateModified = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:modified)'); - } else { - $dateModified = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:updated)'); - } - - if ($dateModified) { - $date = new Zend_Date; - $date->set($dateModified, Zend_Date::ISO_8601); - } - - $this->_data['datemodified'] = $date; - - return $this->_data['datemodified']; - } - - /** - * Get the feed description - * - * @return string|null - */ - public function getDescription() - { - if (array_key_exists('description', $this->_data)) { - return $this->_data['description']; - } - - $description = null; - - if ($this->getType() === Zend_Feed_Reader::TYPE_ATOM_03) { - $description = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:tagline)'); // TODO: Is this the same as subtitle? - } else { - $description = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:subtitle)'); - } - - if (!$description) { - $description = null; - } - - $this->_data['description'] = $description; - - return $this->_data['description']; - } - - /** - * Get the feed generator entry - * - * @return string|null - */ - public function getGenerator() - { - if (array_key_exists('generator', $this->_data)) { - return $this->_data['generator']; - } - // TODO: Add uri support - $generator = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:generator)'); - - if (!$generator) { - $generator = null; - } else { - $generator = html_entity_decode($generator, ENT_QUOTES, $this->getEncoding()); - } - - $this->_data['generator'] = $generator; - - return $this->_data['generator']; - } - - /** - * Get the feed ID - * - * @return string|null - */ - public function getId() - { - if (array_key_exists('id', $this->_data)) { - return $this->_data['id']; - } - - $id = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:id)'); - - if (!$id) { - if ($this->getLink()) { - $id = $this->getLink(); - } elseif ($this->getTitle()) { - $id = $this->getTitle(); - } else { - $id = null; - } - } - - $this->_data['id'] = $id; - - return $this->_data['id']; - } - - /** - * Get the feed language - * - * @return string|null - */ - public function getLanguage() - { - if (array_key_exists('language', $this->_data)) { - return $this->_data['language']; - } - - $language = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:lang)'); - - if (!$language) { - $language = $this->_xpath->evaluate('string(//@xml:lang[1])'); - } - - if (!$language) { - $language = null; - } - - $this->_data['language'] = $language; - - return $this->_data['language']; - } - - /** - * Get a link to the source website - * - * @return string|null - */ - public function getLink() - { - if (array_key_exists('link', $this->_data)) { - return $this->_data['link']; - } - - $link = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:link/@href)'); - - if (!$link) { - $link = null; - } - - $this->_data['link'] = $link; - - return $this->_data['link']; - } - - /** - * Get a link to the feed's XML Url - * - * @return string|null - */ - public function getFeedLink() - { - if (array_key_exists('feedlink', $this->_data)) { - return $this->_data['feedlink']; - } - - $link = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:link[@rel="self"]/@href)'); - - if (!$link) { - $link = null; - } - - $this->_data['feedlink'] = $link; - - return $this->_data['feedlink']; - } - - /** - * Get the feed title - * - * @return string|null - */ - public function getTitle() - { - if (array_key_exists('title', $this->_data)) { - return $this->_data['title']; - } - - $title = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:title)'); - - if (!$title) { - $title = null; - } - - $this->_data['title'] = $title; - - return $this->_data['title']; - } - - /** - * Get an author entry in RSS format - * - * @param DOMElement $element - * @return string - */ - protected function _getAuthor(DOMElement $element) - { - $email = null; - $name = null; - $uri = null; - - $emailNode = $element->getElementsByTagName('email'); - $nameNode = $element->getElementsByTagName('name'); - $uriNode = $element->getElementsByTagName('uri'); - - if ($emailNode->length) { - $email = $emailNode->item(0)->nodeValue; - } - - if ($nameNode->length) { - $name = $nameNode->item(0)->nodeValue; - } - - if ($uriNode->length) { - $uri = $uriNode->item(0)->nodeValue; - } - - if (!empty($email)) { - return $email . (empty($name) ? '' : ' (' . $name . ')'); - } else if (!empty($name)) { - return $name; - } else if (!empty($uri)) { - return $uri; - } - - return null; - } - - /** - * Register the default namespaces for the current feed format - */ - protected function _registerNamespaces() - { - if ($this->getType() == Zend_Feed_Reader::TYPE_ATOM_10 - || $this->getType() == Zend_Feed_Reader::TYPE_ATOM_03 - ) { - return; // pre-registered at Feed level - } - $atomDetected = $this->_getAtomType(); - switch ($atomDetected) { - case Zend_Feed_Reader::TYPE_ATOM_03: - $this->_xpath->registerNamespace('atom', Zend_Feed_Reader::NAMESPACE_ATOM_03); - break; - default: - $this->_xpath->registerNamespace('atom', Zend_Feed_Reader::NAMESPACE_ATOM_10); - break; - } - } - - /** - * Detect the presence of any Atom namespaces in use - */ - protected function _getAtomType() - { - $nslist = $this->getDomDocument()->documentElement->attributes; - if (!$nslist->length) { - return null; - } - foreach ($nslist as $ns) { - if ($ns->value == Zend_Feed_Reader::NAMESPACE_ATOM_10) { - return Zend_Feed_Reader::TYPE_ATOM_10; - } - if ($ns->value == Zend_Feed_Reader::NAMESPACE_ATOM_03) { - return Zend_Feed_Reader::TYPE_ATOM_03; - } - } - } -} diff --git a/lib/zend/Zend/Feed/Reader/Extension/Content/Entry.php b/lib/zend/Zend/Feed/Reader/Extension/Content/Entry.php deleted file mode 100644 index e3f4556368..0000000000 --- a/lib/zend/Zend/Feed/Reader/Extension/Content/Entry.php +++ /dev/null @@ -1,64 +0,0 @@ -getType() !== Zend_Feed_Reader::TYPE_RSS_10 - && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090 - ) { - $content = $this->_xpath->evaluate('string('.$this->getXpathPrefix().'/content:encoded)'); - } else { - $content = $this->_xpath->evaluate('string('.$this->getXpathPrefix().'/content:encoded)'); - } - if ($content) { - $content = html_entity_decode($content, ENT_QUOTES, $this->getEncoding()); - } - return $content; - } - - /** - * Register RSS Content Module namespace - */ - protected function _registerNamespaces() - { - $this->_xpath->registerNamespace('content', 'http://purl.org/rss/1.0/modules/content/'); - } -} diff --git a/lib/zend/Zend/Feed/Reader/Extension/CreativeCommons/Entry.php b/lib/zend/Zend/Feed/Reader/Extension/CreativeCommons/Entry.php deleted file mode 100644 index 5f63618a16..0000000000 --- a/lib/zend/Zend/Feed/Reader/Extension/CreativeCommons/Entry.php +++ /dev/null @@ -1,97 +0,0 @@ -getLicenses(); - - if (isset($licenses[$index])) { - return $licenses[$index]; - } - - return null; - } - - /** - * Get the entry licenses - * - * @return array - */ - public function getLicenses() - { - $name = 'licenses'; - if (array_key_exists($name, $this->_data)) { - return $this->_data[$name]; - } - - $licenses = array(); - $list = $this->_xpath->evaluate($this->getXpathPrefix() . '//cc:license'); - - if ($list->length) { - foreach ($list as $license) { - $licenses[] = $license->nodeValue; - } - - $licenses = array_unique($licenses); - } else { - $cc = new Zend_Feed_Reader_Extension_CreativeCommons_Feed( - $this->_domDocument, $this->_data['type'], $this->_xpath - ); - $licenses = $cc->getLicenses(); - } - - $this->_data[$name] = $licenses; - - return $this->_data[$name]; - } - - /** - * Register Creative Commons namespaces - * - */ - protected function _registerNamespaces() - { - $this->_xpath->registerNamespace('cc', 'http://backend.userland.com/creativeCommonsRssModule'); - } -} diff --git a/lib/zend/Zend/Feed/Reader/Extension/CreativeCommons/Feed.php b/lib/zend/Zend/Feed/Reader/Extension/CreativeCommons/Feed.php deleted file mode 100644 index e6e8f517ca..0000000000 --- a/lib/zend/Zend/Feed/Reader/Extension/CreativeCommons/Feed.php +++ /dev/null @@ -1,89 +0,0 @@ -getLicenses(); - - if (isset($licenses[$index])) { - return $licenses[$index]; - } - - return null; - } - - /** - * Get the entry licenses - * - * @return array - */ - public function getLicenses() - { - $name = 'licenses'; - if (array_key_exists($name, $this->_data)) { - return $this->_data[$name]; - } - - $licenses = array(); - $list = $this->_xpath->evaluate('channel/cc:license'); - - if ($list->length) { - foreach ($list as $license) { - $licenses[] = $license->nodeValue; - } - - $licenses = array_unique($licenses); - } - - $this->_data[$name] = $licenses; - - return $this->_data[$name]; - } - - /** - * Register Creative Commons namespaces - * - * @return void - */ - protected function _registerNamespaces() - { - $this->_xpath->registerNamespace('cc', 'http://backend.userland.com/creativeCommonsRssModule'); - } -} diff --git a/lib/zend/Zend/Feed/Reader/Extension/DublinCore/Entry.php b/lib/zend/Zend/Feed/Reader/Extension/DublinCore/Entry.php deleted file mode 100644 index 441d0e58f7..0000000000 --- a/lib/zend/Zend/Feed/Reader/Extension/DublinCore/Entry.php +++ /dev/null @@ -1,232 +0,0 @@ -getAuthors(); - - if (isset($authors[$index])) { - return $authors[$index]; - } - - return null; - } - - /** - * Get an array with feed authors - * - * @return array - */ - public function getAuthors() - { - if (array_key_exists('authors', $this->_data)) { - return $this->_data['authors']; - } - - $authors = array(); - $list = $this->_xpath->evaluate($this->getXpathPrefix() . '//dc11:creator'); - - if (!$list->length) { - $list = $this->_xpath->evaluate($this->getXpathPrefix() . '//dc10:creator'); - } - if (!$list->length) { - $list = $this->_xpath->evaluate($this->getXpathPrefix() . '//dc11:publisher'); - - if (!$list->length) { - $list = $this->_xpath->evaluate($this->getXpathPrefix() . '//dc10:publisher'); - } - } - - if ($list->length) { - foreach ($list as $author) { - if ($this->getType() == Zend_Feed_Reader::TYPE_RSS_20 - && preg_match("/\(([^\)]+)\)/", $author->nodeValue, $matches, PREG_OFFSET_CAPTURE) - ) { - $authors[] = $matches[1][0]; - } else { - $authors[] = $author->nodeValue; - } - } - - $authors = array_unique($authors); - } - - $this->_data['authors'] = $authors; - - return $this->_data['authors']; - } - - /** - * Get the entry content - * - * @return string - */ - public function getContent() - { - return $this->getDescription(); - } - - /** - * Get the entry description - * - * @return string - */ - public function getDescription() - { - if (array_key_exists('description', $this->_data)) { - return $this->_data['description']; - } - - $description = null; - $description = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:description)'); - - if (!$description) { - $description = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:description)'); - } - - if (!$description) { - $description = null; - } - - $this->_data['description'] = $description; - - return $this->_data['description']; - } - - /** - * Get the entry ID - * - * @return string - */ - public function getId() - { - if (array_key_exists('id', $this->_data)) { - return $this->_data['id']; - } - - $id = null; - $id = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:identifier)'); - - if (!$id) { - $id = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:identifier)'); - } - - $this->_data['id'] = $id; - - return $this->_data['id']; - } - - /** - * Get the entry title - * - * @return string - */ - public function getTitle() - { - if (array_key_exists('title', $this->_data)) { - return $this->_data['title']; - } - - $title = null; - $title = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:title)'); - - if (!$title) { - $title = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:title)'); - } - - if (!$title) { - $title = null; - } - - $this->_data['title'] = $title; - - return $this->_data['title']; - } - - /** - * - * - * @return Zend_Date|null - */ - public function getDate() - { - if (array_key_exists('date', $this->_data)) { - return $this->_data['date']; - } - - $d = null; - $date = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:date)'); - - if (!$date) { - $date = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:date)'); - } - - if ($date) { - $d = new Zend_Date; - $d->set($date, Zend_Date::ISO_8601); - } - - $this->_data['date'] = $d; - - return $this->_data['date']; - } - - /** - * Register DC namespaces - * - * @return void - */ - protected function _registerNamespaces() - { - $this->_xpath->registerNamespace('dc10', 'http://purl.org/dc/elements/1.0/'); - $this->_xpath->registerNamespace('dc11', 'http://purl.org/dc/elements/1.1/'); - } -} diff --git a/lib/zend/Zend/Feed/Reader/Extension/DublinCore/Feed.php b/lib/zend/Zend/Feed/Reader/Extension/DublinCore/Feed.php deleted file mode 100644 index 6ba99c254f..0000000000 --- a/lib/zend/Zend/Feed/Reader/Extension/DublinCore/Feed.php +++ /dev/null @@ -1,265 +0,0 @@ -getAuthors(); - - if (isset($authors[$index])) { - return $authors[$index]; - } - - return null; - } - - /** - * Get an array with feed authors - * - * @return array - */ - public function getAuthors() - { - if (array_key_exists('authors', $this->_data)) { - return $this->_data['authors']; - } - - $authors = array(); - $list = $this->_xpath->query('//dc11:creator'); - - if (!$list->length) { - $list = $this->_xpath->query('//dc10:creator'); - } - if (!$list->length) { - $list = $this->_xpath->query('//dc11:publisher'); - - if (!$list->length) { - $list = $this->_xpath->query('//dc10:publisher'); - } - } - - foreach ($list as $authorObj) { - $authors[] = $authorObj->nodeValue; - } - - if (!empty($authors)) { - $authors = array_unique($authors); - } - - $this->_data['authors'] = $authors; - - return $this->_data['authors']; - } - - /** - * Get the copyright entry - * - * @return string|null - */ - public function getCopyright() - { - if (array_key_exists('copyright', $this->_data)) { - return $this->_data['copyright']; - } - - $copyright = null; - $copyright = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:rights)'); - - if (!$copyright) { - $copyright = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:rights)'); - } - - if (!$copyright) { - $copyright = null; - } - - $this->_data['copyright'] = $copyright; - - return $this->_data['copyright']; - } - - /** - * Get the feed description - * - * @return string|null - */ - public function getDescription() - { - if (array_key_exists('description', $this->_data)) { - return $this->_data['description']; - } - - $description = null; - $description = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:description)'); - - if (!$description) { - $description = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:description)'); - } - - if (!$description) { - $description = null; - } - - $this->_data['description'] = $description; - - return $this->_data['description']; - } - - /** - * Get the feed ID - * - * @return string|null - */ - public function getId() - { - if (array_key_exists('id', $this->_data)) { - return $this->_data['id']; - } - - $id = null; - $id = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:identifier)'); - - if (!$id) { - $id = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:identifier)'); - } - - $this->_data['id'] = $id; - - return $this->_data['id']; - } - - /** - * Get the feed language - * - * @return string|null - */ - public function getLanguage() - { - if (array_key_exists('language', $this->_data)) { - return $this->_data['language']; - } - - $language = null; - $language = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:language)'); - - if (!$language) { - $language = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:language)'); - } - - if (!$language) { - $language = null; - } - - $this->_data['language'] = $language; - - return $this->_data['language']; - } - - /** - * Get the feed title - * - * @return string|null - */ - public function getTitle() - { - if (array_key_exists('title', $this->_data)) { - return $this->_data['title']; - } - - $title = null; - $title = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:title)'); - - if (!$title) { - $title = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:title)'); - } - - if (!$title) { - $title = null; - } - - $this->_data['title'] = $title; - - return $this->_data['title']; - } - - /** - * - * - * @return Zend_Date|null - */ - public function getDate() - { - if (array_key_exists('date', $this->_data)) { - return $this->_data['date']; - } - - $d = null; - $date = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:date)'); - - if (!$date) { - $date = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:date)'); - } - - if ($date) { - $d = new Zend_Date; - $d->set($date, Zend_Date::ISO_8601); - } - - $this->_data['date'] = $d; - - return $this->_data['date']; - } - - /** - * Register the default namespaces for the current feed format - * - * @return void - */ - protected function _registerNamespaces() - { - $this->_xpath->registerNamespace('dc10', 'http://purl.org/dc/elements/1.0/'); - $this->_xpath->registerNamespace('dc11', 'http://purl.org/dc/elements/1.1/'); - } -} diff --git a/lib/zend/Zend/Feed/Reader/Extension/EntryAbstract.php b/lib/zend/Zend/Feed/Reader/Extension/EntryAbstract.php deleted file mode 100644 index 249259e762..0000000000 --- a/lib/zend/Zend/Feed/Reader/Extension/EntryAbstract.php +++ /dev/null @@ -1,197 +0,0 @@ -_entry = $entry; - $this->_entryKey = $entryKey; - $this->_domDocument = $entry->ownerDocument; - - if (!is_null($type)) { - $this->_data['type'] = $type; - } else { - $this->_data['type'] = Zend_Feed_Reader::detectType($feed); - } - // set the XPath query prefix for the entry being queried - if ($this->getType() == Zend_Feed_Reader::TYPE_RSS_10 - || $this->getType() == Zend_Feed_Reader::TYPE_RSS_090 - ) { - $this->setXpathPrefix('//rss:item[' . ($this->_entryKey+1) . ']'); - } elseif ($this->getType() == Zend_Feed_Reader::TYPE_ATOM_10 - || $this->getType() == Zend_Feed_Reader::TYPE_ATOM_03 - ) { - $this->setXpathPrefix('//atom:entry[' . ($this->_entryKey+1) . ']'); - } else { - $this->setXpathPrefix('//item[' . ($this->_entryKey+1) . ']'); - } - } - - /** - * Get the DOM - * - * @return DOMDocument - */ - public function getDomDocument() - { - return $this->_domDocument; - } - - /** - * Get the Entry's encoding - * - * @return string - */ - public function getEncoding() - { - $assumed = $this->getDomDocument()->encoding; - return $assumed; - } - - /** - * Get the entry type - * - * @return string - */ - public function getType() - { - return $this->_data['type']; - } - - /** - * Set the XPath query - * - * @param DOMXPath $xpath - * @return Zend_Feed_Reader_Extension_EntryAbstract - */ - public function setXpath(DOMXPath $xpath) - { - $this->_xpath = $xpath; - $this->_registerNamespaces(); - return $this; - } - - /** - * Get the XPath query object - * - * @return DOMXPath - */ - public function getXpath() - { - return $this->_xpath; - } - - /** - * Serialize the entry to an array - * - * @return array - */ - public function toArray() - { - return $this->_data; - } - - /** - * Get the XPath prefix - * - * @return string - */ - public function getXpathPrefix() - { - return $this->_xpathPrefix; - } - - /** - * Set the XPath prefix - * - * @param string $prefix - * @return Zend_Feed_Reader_Extension_EntryAbstract - */ - public function setXpathPrefix($prefix) - { - $this->_xpathPrefix = $prefix; - return $this; - } - - /** - * Register XML namespaces - * - * @return void - */ - protected abstract function _registerNamespaces(); -} diff --git a/lib/zend/Zend/Feed/Reader/Extension/FeedAbstract.php b/lib/zend/Zend/Feed/Reader/Extension/FeedAbstract.php deleted file mode 100644 index c82e8ae014..0000000000 --- a/lib/zend/Zend/Feed/Reader/Extension/FeedAbstract.php +++ /dev/null @@ -1,166 +0,0 @@ -_domDocument = $dom; - - if ($type !== null) { - $this->_data['type'] = $type; - } else { - $this->_data['type'] = Zend_Feed_Reader::detectType($dom); - } - - if ($xpath !== null) { - $this->_xpath = $xpath; - } else { - $this->_xpath = new DOMXPath($this->_domDocument); - } - - $this->_registerNamespaces(); - } - - /** - * Get the DOM - * - * @return DOMDocument - */ - public function getDomDocument() - { - return $this->_domDocument; - } - - /** - * Get the Feed's encoding - * - * @return string - */ - public function getEncoding() - { - $assumed = $this->getDomDocument()->encoding; - return $assumed; - } - - /** - * Get the feed type - * - * @return string - */ - public function getType() - { - return $this->_data['type']; - } - - - /** - * Return the feed as an array - * - * @return array - */ - public function toArray() // untested - { - return $this->_data; - } - - /** - * Get the XPath prefix - * - * @return string - */ - public function getXpathPrefix() - { - return $this->_xpathPrefix; - } - - /** - * Set the XPath prefix - * - * @return Zend_Feed_Reader_Feed_Atom - */ - public function setXpathPrefix($prefix) - { - $this->_xpathPrefix = $prefix; - } - - /** - * Register the default namespaces for the current feed format - */ - abstract protected function _registerNamespaces(); -} diff --git a/lib/zend/Zend/Feed/Reader/Extension/Podcast/Entry.php b/lib/zend/Zend/Feed/Reader/Extension/Podcast/Entry.php deleted file mode 100644 index b93193c548..0000000000 --- a/lib/zend/Zend/Feed/Reader/Extension/Podcast/Entry.php +++ /dev/null @@ -1,202 +0,0 @@ -_data['author'])) { - return $this->_data['author']; - } - - $author = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:author)'); - - if (!$author) { - $author = null; - } - - $this->_data['author'] = $author; - - return $this->_data['author']; - } - - /** - * Get the entry block - * - * @return string - */ - public function getBlock() - { - if (isset($this->_data['block'])) { - return $this->_data['block']; - } - - $block = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:block)'); - - if (!$block) { - $block = null; - } - - $this->_data['block'] = $block; - - return $this->_data['block']; - } - - /** - * Get the entry duration - * - * @return string - */ - public function getDuration() - { - if (isset($this->_data['duration'])) { - return $this->_data['duration']; - } - - $duration = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:duration)'); - - if (!$duration) { - $duration = null; - } - - $this->_data['duration'] = $duration; - - return $this->_data['duration']; - } - - /** - * Get the entry explicit - * - * @return string - */ - public function getExplicit() - { - if (isset($this->_data['explicit'])) { - return $this->_data['explicit']; - } - - $explicit = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:explicit)'); - - if (!$explicit) { - $explicit = null; - } - - $this->_data['explicit'] = $explicit; - - return $this->_data['explicit']; - } - - /** - * Get the entry keywords - * - * @return string - */ - public function getKeywords() - { - if (isset($this->_data['keywords'])) { - return $this->_data['keywords']; - } - - $keywords = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:keywords)'); - - if (!$keywords) { - $keywords = null; - } - - $this->_data['keywords'] = $keywords; - - return $this->_data['keywords']; - } - - /** - * Get the entry subtitle - * - * @return string - */ - public function getSubtitle() - { - if (isset($this->_data['subtitle'])) { - return $this->_data['subtitle']; - } - - $subtitle = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:subtitle)'); - - if (!$subtitle) { - $subtitle = null; - } - - $this->_data['subtitle'] = $subtitle; - - return $this->_data['subtitle']; - } - - /** - * Get the entry summary - * - * @return string - */ - public function getSummary() - { - if (isset($this->_data['summary'])) { - return $this->_data['summary']; - } - - $summary = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:summary)'); - - if (!$summary) { - $summary = null; - } - - $this->_data['summary'] = $summary; - - return $this->_data['summary']; - } - - /** - * Register iTunes namespace - * - */ - protected function _registerNamespaces() - { - $this->_xpath->registerNamespace('itunes', 'http://www.itunes.com/dtds/podcast-1.0.dtd'); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Feed/Reader/Extension/Podcast/Feed.php b/lib/zend/Zend/Feed/Reader/Extension/Podcast/Feed.php deleted file mode 100644 index ae747d81d7..0000000000 --- a/lib/zend/Zend/Feed/Reader/Extension/Podcast/Feed.php +++ /dev/null @@ -1,293 +0,0 @@ -_data['author'])) { - return $this->_data['author']; - } - - $author = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:author)'); - - if (!$author) { - $author = null; - } - - $this->_data['author'] = $author; - - return $this->_data['author']; - } - - /** - * Get the entry block - * - * @return string - */ - public function getBlock() - { - if (isset($this->_data['block'])) { - return $this->_data['block']; - } - - $block = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:block)'); - - if (!$block) { - $block = null; - } - - $this->_data['block'] = $block; - - return $this->_data['block']; - } - - /** - * Get the entry category - * - * @return string - */ - public function getCategories() - { - if (isset($this->_data['categories'])) { - return $this->_data['categories']; - } - - $categoryList = $this->_xpath->query($this->getXpathPrefix() . '/itunes:category'); - - $categories = array(); - - if ($categoryList->length > 0) { - foreach ($categoryList as $node) { - $children = null; - - if ($node->childNodes->length > 0) { - $children = array(); - - foreach ($node->childNodes as $childNode) { - if (!($childNode instanceof DOMText)) { - $children[$childNode->getAttribute('text')] = null; - } - } - } - - $categories[$node->getAttribute('text')] = $children; - } - } - - - if (!$categories) { - $categories = null; - } - - $this->_data['categories'] = $categories; - - return $this->_data['categories']; - } - - /** - * Get the entry explicit - * - * @return string - */ - public function getExplicit() - { - if (isset($this->_data['explicit'])) { - return $this->_data['explicit']; - } - - $explicit = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:explicit)'); - - if (!$explicit) { - $explicit = null; - } - - $this->_data['explicit'] = $explicit; - - return $this->_data['explicit']; - } - - /** - * Get the entry image - * - * @return string - */ - public function getImage() - { - if (isset($this->_data['image'])) { - return $this->_data['image']; - } - - $image = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:image/@href)'); - - if (!$image) { - $image = null; - } - - $this->_data['image'] = $image; - - return $this->_data['image']; - } - - /** - * Get the entry keywords - * - * @return string - */ - public function getKeywords() - { - if (isset($this->_data['keywords'])) { - return $this->_data['keywords']; - } - - $keywords = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:keywords)'); - - if (!$keywords) { - $keywords = null; - } - - $this->_data['keywords'] = $keywords; - - return $this->_data['keywords']; - } - - /** - * Get the entry's new feed url - * - * @return string - */ - public function getNewFeedUrl() - { - if (isset($this->_data['new-feed-url'])) { - return $this->_data['new-feed-url']; - } - - $newFeedUrl = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:new-feed-url)'); - - if (!$newFeedUrl) { - $newFeedUrl = null; - } - - $this->_data['new-feed-url'] = $newFeedUrl; - - return $this->_data['new-feed-url']; - } - - /** - * Get the entry owner - * - * @return string - */ - public function getOwner() - { - if (isset($this->_data['owner'])) { - return $this->_data['owner']; - } - - $owner = null; - - $email = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:owner/itunes:email)'); - $name = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:owner/itunes:name)'); - - if (!empty($email)) { - $owner = $email . (empty($name) ? '' : ' (' . $name . ')'); - } else if (!empty($name)) { - $owner = $name; - } - - if (!$owner) { - $owner = null; - } - - $this->_data['owner'] = $owner; - - return $this->_data['owner']; - } - - /** - * Get the entry subtitle - * - * @return string - */ - public function getSubtitle() - { - if (isset($this->_data['subtitle'])) { - return $this->_data['subtitle']; - } - - $subtitle = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:subtitle)'); - - if (!$subtitle) { - $subtitle = null; - } - - $this->_data['subtitle'] = $subtitle; - - return $this->_data['subtitle']; - } - - /** - * Get the entry summary - * - * @return string - */ - public function getSummary() - { - if (isset($this->_data['summary'])) { - return $this->_data['summary']; - } - - $summary = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:summary)'); - - if (!$summary) { - $summary = null; - } - - $this->_data['summary'] = $summary; - - return $this->_data['summary']; - } - - /** - * Register iTunes namespace - * - */ - protected function _registerNamespaces() - { - $this->_xpath->registerNamespace('itunes', 'http://www.itunes.com/dtds/podcast-1.0.dtd'); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Feed/Reader/Extension/Slash/Entry.php b/lib/zend/Zend/Feed/Reader/Extension/Slash/Entry.php deleted file mode 100644 index 1ad449c3cc..0000000000 --- a/lib/zend/Zend/Feed/Reader/Extension/Slash/Entry.php +++ /dev/null @@ -1,144 +0,0 @@ -_getData('section'); - } - - /** - * Get the entry department - * - * @return string|null - */ - public function getDepartment() - { - return $this->_getData('department'); - } - - /** - * Get the entry hit_parade - * - * @return array - */ - public function getHitParade() - { - $name = 'hit_parade'; - - if (isset($this->_data[$name])) { - return $this->_data[$name]; - } - - $stringParade = $this->_getData($name); - $hitParade = array(); - - if (!empty($stringParade)) { - $stringParade = explode(',', $stringParade); - - foreach ($stringParade as $hit) - $hitParade[] = $hit + 0; //cast to integer - } - - $this->_data[$name] = $hitParade; - return $hitParade; - } - - /** - * Get the entry comments - * - * @return int - */ - public function getCommentCount() - { - $name = 'comments'; - - if (isset($this->_data[$name])) { - return $this->_data[$name]; - } - - $comments = $this->_getData($name, 'string'); - - if (!$comments) { - $this->_data[$name] = null; - return $this->_data[$name]; - } - - return $comments; - } - - /** - * Get the entry data specified by name - * @param string $name - * @param string $type - * - * @return mixed|null - */ - protected function _getData($name, $type = 'string') - { - if (array_key_exists($name, $this->_data)) { - return $this->_data[$name]; - } - - $data = $this->_xpath->evaluate($type . '(' . $this->getXpathPrefix() . '/slash10:' . $name . ')'); - - if (!$data) { - $data = null; - } - - $this->_data[$name] = $data; - - return $data; - } - - /** - * Register Slash namespaces - * - * @return void - */ - protected function _registerNamespaces() - { - $this->_xpath->registerNamespace('slash10', 'http://purl.org/rss/1.0/modules/slash/'); - } -} diff --git a/lib/zend/Zend/Feed/Reader/Extension/Syndication/Feed.php b/lib/zend/Zend/Feed/Reader/Extension/Syndication/Feed.php deleted file mode 100644 index 1839f70350..0000000000 --- a/lib/zend/Zend/Feed/Reader/Extension/Syndication/Feed.php +++ /dev/null @@ -1,168 +0,0 @@ -_getData($name); - - if ($period === null) { - $this->_data[$name] = 'daily'; - return 'daily'; //Default specified by spec - } - - switch ($period) - { - case 'hourly': - case 'daily': - case 'weekly': - case 'yearly': - return $period; - default: - throw new Zend_Feed_Exception("Feed specified invalid update period: '$period'." - . " Must be one of hourly, daily, weekly or yearly" - ); - } - } - - /** - * Get update frequency - * @return int - */ - public function getUpdateFrequency() - { - $name = 'updateFrequency'; - $freq = $this->_getData($name, 'number'); - - if (!$freq || $freq < 1) { - $this->_data[$name] = 1; - return 1; - } - - return $freq; - } - - /** - * Get update frequency as ticks - * @return int - */ - public function getUpdateFrequencyAsTicks() - { - $name = 'updateFrequency'; - $freq = $this->_getData($name, 'number'); - - if (!$freq || $freq < 1) { - $this->_data[$name] = 1; - $freq = 1; - } - - $period = $this->getUpdatePeriod(); - $ticks = 1; - - switch ($period) - { - //intentional fall through - case 'yearly': - $ticks *= 52; //TODO: fix generalisation, how? - case 'weekly': - $ticks *= 7; - case 'daily': - $ticks *= 24; - case 'hourly': - $ticks *= 3600; - break; - default: //Never arrive here, exception thrown in getPeriod() - break; - } - - return $ticks / $freq; - } - - /** - * Get update base - * - * @return Zend_Date|null - */ - public function getUpdateBase() - { - $updateBase = $this->_getData('updateBase'); - $date = null; - if ($updateBase) { - $date = new Zend_Date; - $date->set($updateBase, Zend_Date::W3C); - } - return $date; - } - - /** - * Get the entry data specified by name - * - * @param string $name - * @param string $type - * @return mixed|null - */ - private function _getData($name, $type = 'string') - { - if (array_key_exists($name, $this->_data)) { - return $this->_data[$name]; - } - - $data = $this->_xpath->evaluate($type . '(' . $this->getXpathPrefix() . '/syn10:' . $name . ')'); - - if (!$data) { - $data = null; - } - - $this->_data[$name] = $data; - - return $data; - } - - /** - * Register Syndication namespaces - * - * @return void - */ - protected function _registerNamespaces() - { - $this->_xpath->registerNamespace('syn10', 'http://purl.org/rss/1.0/modules/syndication/'); - } -} diff --git a/lib/zend/Zend/Feed/Reader/Extension/Thread/Entry.php b/lib/zend/Zend/Feed/Reader/Extension/Thread/Entry.php deleted file mode 100644 index cef345a563..0000000000 --- a/lib/zend/Zend/Feed/Reader/Extension/Thread/Entry.php +++ /dev/null @@ -1,91 +0,0 @@ -_getData('total'); - } - - /** - * Get the entry data specified by name - * - * @param string $name - * @param string $type - * @return mixed|null - */ - protected function _getData($name) - { - if (array_key_exists($name, $this->_data)) { - return $this->_data[$name]; - } - - $data = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/thread10:' . $name . ')'); - - if (!$data) { - $data = null; - } - - $this->_data[$name] = $data; - - return $data; - } - - /** - * Register Atom Thread Extension 1.0 namespace - * - * @return void - */ - protected function _registerNamespaces() - { - $this->_xpath->registerNamespace('thread10', 'http://purl.org/syndication/thread/1.0'); - } -} diff --git a/lib/zend/Zend/Feed/Reader/Extension/WellFormedWeb/Entry.php b/lib/zend/Zend/Feed/Reader/Extension/WellFormedWeb/Entry.php deleted file mode 100644 index 4feb016d24..0000000000 --- a/lib/zend/Zend/Feed/Reader/Extension/WellFormedWeb/Entry.php +++ /dev/null @@ -1,73 +0,0 @@ -_data)) { - return $this->_data[$name]; - } - - $data = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/wfw:' . $name . ')'); - - if (!$data) { - $data = null; - } - - $this->_data[$name] = $data; - - return $data; - } - - /** - * Register Slash namespaces - * - * @return void - */ - protected function _registerNamespaces() - { - $this->_xpath->registerNamespace('wfw', 'http://wellformedweb.org/CommentAPI/'); - } -} diff --git a/lib/zend/Zend/Feed/Reader/Feed/Atom.php b/lib/zend/Zend/Feed/Reader/Feed/Atom.php deleted file mode 100644 index f9080efa06..0000000000 --- a/lib/zend/Zend/Feed/Reader/Feed/Atom.php +++ /dev/null @@ -1,329 +0,0 @@ -getClassName('Atom_Feed'); - $this->_extensions['Atom_Feed'] = new $atomClass($dom, $this->_data['type'], $this->_xpath); - foreach ($this->_extensions as $extension) { - $extension->setXpathPrefix('/atom:feed'); - } - } - - /** - * Get a single author - * - * @param int $index - * @return string|null - */ - public function getAuthor($index = 0) - { - $authors = $this->getAuthors(); - - if (isset($authors[$index])) { - return $authors[$index]; - } - - return null; - } - - /** - * Get an array with feed authors - * - * @return array - */ - public function getAuthors() - { - if (array_key_exists('authors', $this->_data)) { - return $this->_data['authors']; - } - - $people = $this->getExtension('Atom')->getAuthors(); - - $this->_data['authors'] = $people; - - return $this->_data['authors']; - } - - /** - * Get the copyright entry - * - * @return string|null - */ - public function getCopyright() - { - if (array_key_exists('copyright', $this->_data)) { - return $this->_data['copyright']; - } - - $copyright = $this->getExtension('Atom')->getCopyright(); - - if (!$copyright) { - $copyright = null; - } - - $this->_data['copyright'] = $copyright; - - return $this->_data['copyright']; - } - - /** - * Get the feed creation date - * - * @return string|null - */ - public function getDateCreated() - { - if (array_key_exists('datecreated', $this->_data)) { - return $this->_data['datecreated']; - } - - $dateCreated = $this->getExtension('Atom')->getDateCreated(); - - if (!$dateCreated) { - $dateCreated = null; - } - - $this->_data['datecreated'] = $dateCreated; - - return $this->_data['datecreated']; - } - - /** - * Get the feed modification date - * - * @return string|null - */ - public function getDateModified() - { - if (array_key_exists('datemodified', $this->_data)) { - return $this->_data['datemodified']; - } - - $dateModified = $this->getExtension('Atom')->getDateModified(); - - if (!$dateModified) { - $dateModified = null; - } - - $this->_data['datemodified'] = $dateModified; - - return $this->_data['datemodified']; - } - - /** - * Get the feed description - * - * @return string|null - */ - public function getDescription() - { - if (array_key_exists('description', $this->_data)) { - return $this->_data['description']; - } - - $description = $this->getExtension('Atom')->getDescription(); - - if (!$description) { - $description = null; - } - - $this->_data['description'] = $description; - - return $this->_data['description']; - } - - /** - * Get the feed generator entry - * - * @return string|null - */ - public function getGenerator() - { - if (array_key_exists('generator', $this->_data)) { - return $this->_data['generator']; - } - - $generator = $this->getExtension('Atom')->getGenerator(); - - $this->_data['generator'] = $generator; - - return $this->_data['generator']; - } - - /** - * Get the feed ID - * - * @return string|null - */ - public function getId() - { - if (array_key_exists('id', $this->_data)) { - return $this->_data['id']; - } - - $id = $this->getExtension('Atom')->getId(); - - $this->_data['id'] = $id; - - return $this->_data['id']; - } - - /** - * Get the feed language - * - * @return string|null - */ - public function getLanguage() - { - if (array_key_exists('language', $this->_data)) { - return $this->_data['language']; - } - - $language = $this->getExtension('Atom')->getLanguage(); - - if (!$language) { - $language = $this->_xpath->evaluate('string(//@xml:lang[1])'); - } - - if (!$language) { - $language = null; - } - - $this->_data['language'] = $language; - - return $this->_data['language']; - } - - /** - * Get a link to the source website - * - * @return string|null - */ - public function getLink() - { - if (array_key_exists('link', $this->_data)) { - return $this->_data['link']; - } - - $link = $this->getExtension('Atom')->getLink(); - - $this->_data['link'] = $link; - - return $this->_data['link']; - } - - /** - * Get a link to the feed's XML Url - * - * @return string|null - */ - public function getFeedLink() - { - if (array_key_exists('feedlink', $this->_data)) { - return $this->_data['feedlink']; - } - - $link = $this->getExtension('Atom')->getFeedLink(); - - $this->_data['feedlink'] = $link; - - return $this->_data['feedlink']; - } - - /** - * Get the feed title - * - * @return string|null - */ - public function getTitle() - { - if (array_key_exists('title', $this->_data)) { - return $this->_data['title']; - } - - $title = $this->getExtension('Atom')->getTitle(); - - $this->_data['title'] = $title; - - return $this->_data['title']; - } - - /** - * Read all entries to the internal entries array - * - */ - protected function _indexEntries() - { - if ($this->getType() == Zend_Feed_Reader::TYPE_ATOM_10 || - $this->getType() == Zend_Feed_Reader::TYPE_ATOM_03) { - $entries = array(); - $entries = $this->_xpath->evaluate('//atom:entry'); - - foreach($entries as $index=>$entry) { - $this->_entries[$index] = $entry; - } - } - } - - /** - * Register the default namespaces for the current feed format - * - */ - protected function _registerNamespaces() - { - switch ($this->_data['type']) { - case Zend_Feed_Reader::TYPE_ATOM_03: - $this->_xpath->registerNamespace('atom', Zend_Feed_Reader::NAMESPACE_ATOM_03); - break; - case Zend_Feed_Reader::TYPE_ATOM_10: - default: - $this->_xpath->registerNamespace('atom', Zend_Feed_Reader::NAMESPACE_ATOM_10); - } - } -} diff --git a/lib/zend/Zend/Feed/Reader/Feed/Rss.php b/lib/zend/Zend/Feed/Reader/Feed/Rss.php deleted file mode 100644 index 489a6a67ba..0000000000 --- a/lib/zend/Zend/Feed/Reader/Feed/Rss.php +++ /dev/null @@ -1,533 +0,0 @@ -getClassName('DublinCore_Feed'); - $this->_extensions['DublinCore_Feed'] = new $dublinCoreClass($dom, $this->_data['type'], $this->_xpath); - $atomClass = Zend_Feed_Reader::getPluginLoader()->getClassName('Atom_Feed'); - $this->_extensions['Atom_Feed'] = new $atomClass($dom, $this->_data['type'], $this->_xpath); - - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) { - $xpathPrefix = '/rss/channel'; - } else { - $xpathPrefix = '/rdf:RDF/rss:channel'; - } - foreach ($this->_extensions as $extension) { - $extension->setXpathPrefix($xpathPrefix); - } - } - - /** - * Get a single author - * - * @param int $index - * @return string|null - */ - public function getAuthor($index = 0) - { - $authors = $this->getAuthors(); - - if (isset($authors[$index])) { - return $authors[$index]; - } - - return null; - } - - /** - * Get an array with feed authors - * - * @return array - */ - public function getAuthors() - { - if (array_key_exists('authors', $this->_data)) { - return $this->_data['authors']; - } - - $authors = array(); - - if (empty($authors)) { - $authors = $this->getExtension('DublinCore')->getAuthors(); - } - - if (empty($authors)) { - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) { - $list = $this->_xpath->query('//author'); - } else { - $list = $this->_xpath->query('//rss:author'); - } - - foreach ($list as $authorObj) { - $authors[] = $authorObj->nodeValue; - } - } - - if (empty($authors)) { - $authors = $this->getExtension('Atom')->getAuthors(); - } - - if (empty($authors)) { - $authors = null; - } else { - $authors = array_unique($authors); - } - - $this->_data['authors'] = $authors; - - return $this->_data['authors']; - } - - /** - * Get the copyright entry - * - * @return string|null - */ - public function getCopyright() - { - if (array_key_exists('copyright', $this->_data)) { - return $this->_data['copyright']; - } - - $copyright = null; - - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && - $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) { - $copyright = $this->_xpath->evaluate('string(/rss/channel/copyright)'); - } - - if (!$copyright && !is_null($this->getExtension('DublinCore'))) { - $copyright = $this->getExtension('DublinCore')->getCopyright(); - } - - if (empty($copyright)) { - $copyright = $this->getExtension('Atom')->getCopyright(); - } - - if (!$copyright) { - $copyright = null; - } - - $this->_data['copyright'] = $copyright; - - return $this->_data['copyright']; - } - - /** - * Get the feed creation date - * - * @return string|null - */ - public function getDateCreated() - { - return $this->getDateModified(); - } - - /** - * Get the feed modification date - * - * @return Zend_Date - */ - public function getDateModified() - { - if (array_key_exists('datemodified', $this->_data)) { - return $this->_data['datemodified']; - } - - $dateModified = null; - $date = null; - - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && - $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) { - $dateModified = $this->_xpath->evaluate('string(/rss/channel/pubDate)'); - if (!$dateModified) { - $dateModified = $this->_xpath->evaluate('string(/rss/channel/lastBuildDate)'); - } - if ($dateModified) { - $dateStandards = array(Zend_Date::RSS, Zend_Date::RFC_822, - Zend_Date::RFC_2822, Zend_Date::DATES); - $date = new Zend_Date; - foreach ($dateStandards as $standard) { - try { - $date->set($dateModified, $standard); - break; - } catch (Zend_Date_Exception $e) { - if ($standard == Zend_Date::DATES) { - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception( - 'Could not load date due to unrecognised' - .' format (should follow RFC 822 or 2822):' - . $e->getMessage() - ); - } - } - } - } - } - - if (!$date) { - $date = $this->getExtension('DublinCore')->getDate(); - } - - if (!$date) { - $date = $this->getExtension('Atom')->getDateModified(); - } - - if (!$date) { - $date = null; - } - - $this->_data['datemodified'] = $date; - - return $this->_data['datemodified']; - } - - /** - * Get the feed description - * - * @return string|null - */ - public function getDescription() - { - if (array_key_exists('description', $this->_data)) { - return $this->_data['description']; - } - - $description = null; - - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && - $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) { - $description = $this->_xpath->evaluate('string(/rss/channel/description)'); - } else { - $description = $this->_xpath->evaluate('string(/rdf:RDF/rss:channel/rss:description)'); - } - - if (!$description && !is_null($this->getExtension('DublinCore'))) { - $description = $this->getExtension('DublinCore')->getDescription(); - } - - if (empty($description)) { - $description = $this->getExtension('Atom')->getDescription(); - } - - if (!$description) { - $description = null; - } - - $this->_data['description'] = $description; - - return $this->_data['description']; - } - - /** - * Get the feed ID - * - * @return string|null - */ - public function getId() - { - if (array_key_exists('id', $this->_data)) { - return $this->_data['id']; - } - - $id = null; - - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && - $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) { - $id = $this->_xpath->evaluate('string(/rss/channel/guid)'); - } - - if (!$id && !is_null($this->getExtension('DublinCore'))) { - $id = $this->getExtension('DublinCore')->getId(); - } - - if (empty($id)) { - $id = $this->getExtension('Atom')->getId(); - } - - if (!$id) { - if ($this->getLink()) { - $id = $this->getLink(); - } elseif ($this->getTitle()) { - $id = $this->getTitle(); - } else { - $id = null; - } - } - - $this->_data['id'] = $id; - - return $this->_data['id']; - } - - /** - * Get the feed language - * - * @return string|null - */ - public function getLanguage() - { - if (array_key_exists('language', $this->_data)) { - return $this->_data['language']; - } - - $language = null; - - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && - $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) { - $language = $this->_xpath->evaluate('string(/rss/channel/language)'); - } - - if (!$language && !is_null($this->getExtension('DublinCore'))) { - $language = $this->getExtension('DublinCore')->getLanguage(); - } - - if (empty($language)) { - $language = $this->getExtension('Atom')->getLanguage(); - } - - if (!$language) { - $language = $this->_xpath->evaluate('string(//@xml:lang[1])'); - } - - if (!$language) { - $language = null; - } - - $this->_data['language'] = $language; - - return $this->_data['language']; - } - - /** - * Get a link to the feed - * - * @return string|null - */ - public function getLink() - { - if (array_key_exists('link', $this->_data)) { - return $this->_data['link']; - } - - $link = null; - - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && - $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) { - $link = $this->_xpath->evaluate('string(/rss/channel/link)'); - } else { - $link = $this->_xpath->evaluate('string(/rdf:RDF/rss:channel/rss:link)'); - } - - if (empty($link)) { - $link = $this->getExtension('Atom')->getLink(); - } - - if (!$link) { - $link = null; - } - - $this->_data['link'] = $link; - - return $this->_data['link']; - } - - /** - * Get a link to the feed XML - * - * @return string|null - */ - public function getFeedLink() - { - if (array_key_exists('feedlink', $this->_data)) { - return $this->_data['feedlink']; - } - - $link = null; - - $link = $this->getExtension('Atom')->getFeedLink(); - - if (!$link) { - $link = null; - } - - $this->_data['feedlink'] = $link; - - return $this->_data['feedlink']; - } - - /** - * Get the feed generator entry - * - * @return string|null - */ - public function getGenerator() - { - if (array_key_exists('generator', $this->_data)) { - return $this->_data['generator']; - } - - $generator = null; - - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && - $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) { - $generator = $this->_xpath->evaluate('string(/rss/channel/generator)'); - } - - if (!$generator) { - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && - $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) { - $generator = $this->_xpath->evaluate('string(/rss/channel/atom:generator)'); - } else { - $generator = $this->_xpath->evaluate('string(/rdf:RDF/rss:channel/atom:generator)'); - } - if ($generator) { - $generator = html_entity_decode($generator, ENT_QUOTES, $this->getEncoding()); - } - } - - if (empty($generator)) { - $generator = $this->getExtension('Atom')->getGenerator(); - } - - if (!$generator) { - $generator = null; - } - - $this->_data['generator'] = $generator; - - return $this->_data['generator']; - } - - /** - * Get the feed title - * - * @return string|null - */ - public function getTitle() - { - if (array_key_exists('title', $this->_data)) { - return $this->_data['title']; - } - - $title = null; - - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && - $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) { - $title = $this->_xpath->evaluate('string(/rss/channel/title)'); - } else { - $title = $this->_xpath->evaluate('string(/rdf:RDF/rss:channel/rss:title)'); - } - - if (!$title && !is_null($this->getExtension('DublinCore'))) { - $title = $this->getExtension('DublinCore')->getTitle(); - } - - if (!$title) { - $title = $this->getExtension('Atom')->getTitle(); - } - - if (!$title) { - $title = null; - } - - $this->_data['title'] = $title; - - return $this->_data['title']; - } - - /** - * Read all entries to the internal entries array - * - */ - protected function _indexEntries() - { - $entries = array(); - - if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) { - $entries = $this->_xpath->evaluate('//item'); - } else { - $entries = $this->_xpath->evaluate('//rss:item'); - } - - foreach($entries as $index=>$entry) { - $this->_entries[$index] = $entry; - } - } - - /** - * Register the default namespaces for the current feed format - * - */ - protected function _registerNamespaces() - { - switch ($this->_data['type']) { - case Zend_Feed_Reader::TYPE_RSS_10: - $this->_xpath->registerNamespace('rdf', Zend_Feed_Reader::NAMESPACE_RDF); - $this->_xpath->registerNamespace('rss', Zend_Feed_Reader::NAMESPACE_RSS_10); - break; - - case Zend_Feed_Reader::TYPE_RSS_090: - $this->_xpath->registerNamespace('rdf', Zend_Feed_Reader::NAMESPACE_RDF); - $this->_xpath->registerNamespace('rss', Zend_Feed_Reader::NAMESPACE_RSS_090); - break; - } - } -} diff --git a/lib/zend/Zend/Feed/Reader/FeedAbstract.php b/lib/zend/Zend/Feed/Reader/FeedAbstract.php deleted file mode 100644 index 0158165733..0000000000 --- a/lib/zend/Zend/Feed/Reader/FeedAbstract.php +++ /dev/null @@ -1,304 +0,0 @@ -_domDocument = $domDocument; - $this->_xpath = new DOMXPath($this->_domDocument); - - if ($type !== null) { - $this->_data['type'] = $type; - } else { - $this->_data['type'] = Zend_Feed_Reader::detectType($this->_domDocument); - } - $this->_registerNamespaces(); - $this->_indexEntries(); - $this->_loadExtensions(); - } - - /** - * Get the number of feed entries. - * Required by the Iterator interface. - * - * @return int - */ - public function count() - { - return count($this->_entries); - } - - /** - * Return the current entry - * - * @return Zend_Feed_Reader_Entry_Interface - */ - public function current() - { - if (substr($this->getType(), 0, 3) == 'rss') { - $reader = new Zend_Feed_Reader_Entry_Rss($this->_entries[$this->key()], $this->key(), $this->getType()); - } else { - $reader = new Zend_Feed_Reader_Entry_Atom($this->_entries[$this->key()], $this->key(), $this->getType()); - } - - $reader->setXpath($this->_xpath); - - return $reader; - } - - /** - * Get the DOM - * - * @return DOMDocument - */ - public function getDomDocument() - { - return $this->_domDocument; - } - - /** - * Get the Feed's encoding - * - * @return string - */ - public function getEncoding() - { - $assumed = $this->getDomDocument()->encoding; - return $assumed; - } - - /** - * Get feed as xml - * - * @return string - */ - public function saveXml() - { - return $this->getDomDocument()->saveXml(); - } - - /** - * Get the DOMElement representing the items/feed element - * - * @return DOMElement - */ - public function getElement() - { - return $this->getDomDocument()->documentElement; - } - - /** - * Get the DOMXPath object for this feed - * - * @return DOMXPath - */ - public function getXpath() - { - return $this->_xpath; - } - - /** - * Get the feed type - * - * @return string - */ - public function getType() - { - return $this->_data['type']; - } - - /** - * Return the current feed key - * - * @return unknown - */ - public function key() - { - return $this->_entriesKey; - } - - /** - * Move the feed pointer forward - * - */ - public function next() - { - ++$this->_entriesKey; - } - - /** - * Reset the pointer in the feed object - * - */ - public function rewind() - { - $this->_entriesKey = 0; - } - - /** - * Return the feed as an array - * - * @return array - */ - public function toArray() // untested - { - return $this->_data; - } - - /** - * Check to see if the iterator is still valid - * - * @return boolean - */ - public function valid() - { - return 0 <= $this->_entriesKey && $this->_entriesKey < $this->count(); - } - - public function getExtensions() - { - return $this->_extensions; - } - - public function __call($method, $args) - { - foreach ($this->_extensions as $extension) { - if (method_exists($extension, $method)) { - return call_user_func_array(array($extension, $method), $args); - } - } - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Method: ' . $method - . 'does not exist and could not be located on a registered Extension'); - } - - /** - * Return an Extension object with the matching name (postfixed with _Feed) - * - * @param string $name - * @return Zend_Feed_Reader_Extension_FeedAbstract - */ - public function getExtension($name) - { - if (array_key_exists($name . '_Feed', $this->_extensions)) { - return $this->_extensions[$name . '_Feed']; - } - return null; - } - - protected function _loadExtensions() - { - $all = Zend_Feed_Reader::getExtensions(); - $feed = $all['feed']; - foreach ($feed as $extension) { - if (in_array($extension, $all['core'])) { - continue; - } - $className = Zend_Feed_Reader::getPluginLoader()->getClassName($extension); - $this->_extensions[$extension] = new $className( - $this->getDomDocument(), $this->_data['type'], $this->_xpath - ); - } - } - - /** - * Read all entries to the internal entries array - * - */ - abstract protected function _indexEntries(); - - /** - * Register the default namespaces for the current feed format - * - */ - abstract protected function _registerNamespaces(); -} diff --git a/lib/zend/Zend/Feed/Reader/FeedInterface.php b/lib/zend/Zend/Feed/Reader/FeedInterface.php deleted file mode 100644 index f8fc6d719e..0000000000 --- a/lib/zend/Zend/Feed/Reader/FeedInterface.php +++ /dev/null @@ -1,115 +0,0 @@ -s). - * - * @var string - */ - protected $_entryElementName = 'item'; - - /** - * The default namespace for RSS channels. - * - * @var string - */ - protected $_defaultNamespace = 'rss'; - - /** - * Override Zend_Feed_Abstract to set up the $_element and $_entries aliases. - * - * @return void - * @throws Zend_Feed_Exception - */ - public function __wakeup() - { - parent::__wakeup(); - - // Find the base channel element and create an alias to it. - $rdfTags = $this->_element->getElementsByTagNameNS('http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'RDF'); - if ($rdfTags->length != 0) { - $this->_element = $rdfTags->item(0); - } else { - $this->_element = $this->_element->getElementsByTagName('channel')->item(0); - } - if (!$this->_element) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('No root element found, cannot parse channel.'); - } - - // Find the entries and save a pointer to them for speed and - // simplicity. - $this->_buildEntryCache(); - } - - - /** - * Make accessing some individual elements of the channel easier. - * - * Special accessors 'item' and 'items' are provided so that if - * you wish to iterate over an RSS channel's items, you can do so - * using foreach ($channel->items as $item) or foreach - * ($channel->item as $item). - * - * @param string $var The property to access. - * @return mixed - */ - public function __get($var) - { - switch ($var) { - case 'item': - // fall through to the next case - case 'items': - return $this; - - default: - return parent::__get($var); - } - } - - /** - * Generate the header of the feed when working in write mode - * - * @param array $array the data to use - * @return DOMElement root node - */ - protected function _mapFeedHeaders($array) - { - $channel = $this->_element->createElement('channel'); - - $title = $this->_element->createElement('title'); - $title->appendChild($this->_element->createCDATASection($array->title)); - $channel->appendChild($title); - - $link = $this->_element->createElement('link', $array->link); - $channel->appendChild($link); - - $desc = isset($array->description) ? $array->description : ''; - $description = $this->_element->createElement('description'); - $description->appendChild($this->_element->createCDATASection($desc)); - $channel->appendChild($description); - - $pubdate = isset($array->lastUpdate) ? $array->lastUpdate : time(); - $pubdate = $this->_element->createElement('pubDate', date(DATE_RSS, $pubdate)); - $channel->appendChild($pubdate); - - if (isset($array->published)) { - $lastBuildDate = $this->_element->createElement('lastBuildDate', date(DATE_RSS, $array->published)); - $channel->appendChild($lastBuildDate); - } - - $editor = ''; - if (!empty($array->email)) { - $editor .= $array->email; - } - if (!empty($array->author)) { - $editor .= ' (' . $array->author . ')'; - } - if (!empty($editor)) { - $author = $this->_element->createElement('managingEditor', ltrim($editor)); - $channel->appendChild($author); - } - if (isset($array->webmaster)) { - $channel->appendChild($this->_element->createElement('webMaster', $array->webmaster)); - } - - if (!empty($array->copyright)) { - $copyright = $this->_element->createElement('copyright', $array->copyright); - $channel->appendChild($copyright); - } - - if (isset($array->category)) { - $category = $this->_element->createElement('category', $array->category); - $channel->appendChild($category); - } - - if (!empty($array->image)) { - $image = $this->_element->createElement('image'); - $url = $this->_element->createElement('url', $array->image); - $image->appendChild($url); - $imagetitle = $this->_element->createElement('title'); - $imagetitle->appendChild($this->_element->createCDATASection($array->title)); - $image->appendChild($imagetitle); - $imagelink = $this->_element->createElement('link', $array->link); - $image->appendChild($imagelink); - - $channel->appendChild($image); - } - - $generator = !empty($array->generator) ? $array->generator : 'Zend_Feed'; - $generator = $this->_element->createElement('generator', $generator); - $channel->appendChild($generator); - - if (!empty($array->language)) { - $language = $this->_element->createElement('language', $array->language); - $channel->appendChild($language); - } - - $doc = $this->_element->createElement('docs', 'http://blogs.law.harvard.edu/tech/rss'); - $channel->appendChild($doc); - - if (isset($array->cloud)) { - $cloud = $this->_element->createElement('cloud'); - $cloud->setAttribute('domain', $array->cloud['uri']->getHost()); - $cloud->setAttribute('port', $array->cloud['uri']->getPort()); - $cloud->setAttribute('path', $array->cloud['uri']->getPath()); - $cloud->setAttribute('registerProcedure', $array->cloud['procedure']); - $cloud->setAttribute('protocol', $array->cloud['protocol']); - $channel->appendChild($cloud); - } - - if (isset($array->ttl)) { - $ttl = $this->_element->createElement('ttl', $array->ttl); - $channel->appendChild($ttl); - } - - if (isset($array->rating)) { - $rating = $this->_element->createElement('rating', $array->rating); - $channel->appendChild($rating); - } - - if (isset($array->textInput)) { - $textinput = $this->_element->createElement('textInput'); - $textinput->appendChild($this->_element->createElement('title', $array->textInput['title'])); - $textinput->appendChild($this->_element->createElement('description', $array->textInput['description'])); - $textinput->appendChild($this->_element->createElement('name', $array->textInput['name'])); - $textinput->appendChild($this->_element->createElement('link', $array->textInput['link'])); - $channel->appendChild($textinput); - } - - if (isset($array->skipHours)) { - $skipHours = $this->_element->createElement('skipHours'); - foreach ($array->skipHours as $hour) { - $skipHours->appendChild($this->_element->createElement('hour', $hour)); - } - $channel->appendChild($skipHours); - } - - if (isset($array->skipDays)) { - $skipDays = $this->_element->createElement('skipDays'); - foreach ($array->skipDays as $day) { - $skipDays->appendChild($this->_element->createElement('day', $day)); - } - $channel->appendChild($skipDays); - } - - if (isset($array->itunes)) { - $this->_buildiTunes($channel, $array); - } - - return $channel; - } - - /** - * Adds the iTunes extensions to a root node - * - * @param DOMElement $root - * @param array $array - * @return void - */ - private function _buildiTunes(DOMElement $root, $array) - { - /* author node */ - $author = ''; - if (isset($array->itunes->author)) { - $author = $array->itunes->author; - } elseif (isset($array->author)) { - $author = $array->author; - } - if (!empty($author)) { - $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:author', $author); - $root->appendChild($node); - } - - /* owner node */ - $author = ''; - $email = ''; - if (isset($array->itunes->owner)) { - if (isset($array->itunes->owner['name'])) { - $author = $array->itunes->owner['name']; - } - if (isset($array->itunes->owner['email'])) { - $email = $array->itunes->owner['email']; - } - } - if (empty($author) && isset($array->author)) { - $author = $array->author; - } - if (empty($email) && isset($array->email)) { - $email = $array->email; - } - if (!empty($author) || !empty($email)) { - $owner = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:owner'); - if (!empty($author)) { - $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:name', $author); - $owner->appendChild($node); - } - if (!empty($email)) { - $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:email', $email); - $owner->appendChild($node); - } - $root->appendChild($owner); - } - $image = ''; - if (isset($array->itunes->image)) { - $image = $array->itunes->image; - } elseif (isset($array->image)) { - $image = $array->image; - } - if (!empty($image)) { - $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:image'); - $node->setAttribute('href', $image); - $root->appendChild($node); - } - $subtitle = ''; - if (isset($array->itunes->subtitle)) { - $subtitle = $array->itunes->subtitle; - } elseif (isset($array->description)) { - $subtitle = $array->description; - } - if (!empty($subtitle)) { - $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:subtitle', $subtitle); - $root->appendChild($node); - } - $summary = ''; - if (isset($array->itunes->summary)) { - $summary = $array->itunes->summary; - } elseif (isset($array->description)) { - $summary = $array->description; - } - if (!empty($summary)) { - $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:summary', $summary); - $root->appendChild($node); - } - if (isset($array->itunes->block)) { - $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:block', $array->itunes->block); - $root->appendChild($node); - } - if (isset($array->itunes->explicit)) { - $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:explicit', $array->itunes->explicit); - $root->appendChild($node); - } - if (isset($array->itunes->keywords)) { - $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:keywords', $array->itunes->keywords); - $root->appendChild($node); - } - if (isset($array->itunes->new_feed_url)) { - $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:new-feed-url', $array->itunes->new_feed_url); - $root->appendChild($node); - } - if (isset($array->itunes->category)) { - foreach ($array->itunes->category as $i => $category) { - $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:category'); - $node->setAttribute('text', $category['main']); - $root->appendChild($node); - $add_end_category = false; - if (!empty($category['sub'])) { - $add_end_category = true; - $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:category'); - $node->setAttribute('text', $category['sub']); - $root->appendChild($node); - } - if ($i > 0 || $add_end_category) { - $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:category'); - $root->appendChild($node); - } - } - } - } - - /** - * Generate the entries of the feed when working in write mode - * - * The following nodes are constructed for each feed entry - * - * entry title - * url to feed entry - * url to feed entry - * short text - * long version, can contain html - * - * - * @param DOMElement $root the root node to use - * @param array $array the data to use - * @return void - */ - protected function _mapFeedEntries(DOMElement $root, $array) - { - Zend_Feed::registerNamespace('content', 'http://purl.org/rss/1.0/modules/content/'); - - foreach ($array as $dataentry) { - $item = $this->_element->createElement('item'); - - $title = $this->_element->createElement('title'); - $title->appendChild($this->_element->createCDATASection($dataentry->title)); - $item->appendChild($title); - - if (isset($dataentry->author)) { - $author = $this->_element->createElement('author', $dataentry->author); - $item->appendChild($author); - } - - $link = $this->_element->createElement('link', $dataentry->link); - $item->appendChild($link); - - if (isset($dataentry->guid)) { - $guid = $this->_element->createElement('guid', $dataentry->guid); - $item->appendChild($guid); - } - - $description = $this->_element->createElement('description'); - $description->appendChild($this->_element->createCDATASection($dataentry->description)); - $item->appendChild($description); - - if (isset($dataentry->content)) { - $content = $this->_element->createElement('content:encoded'); - $content->appendChild($this->_element->createCDATASection($dataentry->content)); - $item->appendChild($content); - } - - $pubdate = isset($dataentry->lastUpdate) ? $dataentry->lastUpdate : time(); - $pubdate = $this->_element->createElement('pubDate', date(DATE_RSS, $pubdate)); - $item->appendChild($pubdate); - - if (isset($dataentry->category)) { - foreach ($dataentry->category as $category) { - $node = $this->_element->createElement('category', $category['term']); - if (isset($category['scheme'])) { - $node->setAttribute('domain', $category['scheme']); - } - $item->appendChild($node); - } - } - - if (isset($dataentry->source)) { - $source = $this->_element->createElement('source', $dataentry->source['title']); - $source->setAttribute('url', $dataentry->source['url']); - $item->appendChild($source); - } - - if (isset($dataentry->comments)) { - $comments = $this->_element->createElement('comments', $dataentry->comments); - $item->appendChild($comments); - } - if (isset($dataentry->commentRss)) { - $comments = $this->_element->createElementNS('http://wellformedweb.org/CommentAPI/', - 'wfw:commentRss', - $dataentry->commentRss); - $item->appendChild($comments); - } - - - if (isset($dataentry->enclosure)) { - foreach ($dataentry->enclosure as $enclosure) { - $node = $this->_element->createElement('enclosure'); - $node->setAttribute('url', $enclosure['url']); - if (isset($enclosure['type'])) { - $node->setAttribute('type', $enclosure['type']); - } - if (isset($enclosure['length'])) { - $node->setAttribute('length', $enclosure['length']); - } - $item->appendChild($node); - } - } - - $root->appendChild($item); - } - } - - /** - * Override Zend_Feed_Element to include root node - * - * @return string - */ - public function saveXml() - { - // Return a complete document including XML prologue. - $doc = new DOMDocument($this->_element->ownerDocument->version, - $this->_element->ownerDocument->actualEncoding); - $root = $doc->createElement('rss'); - - // Use rss version 2.0 - $root->setAttribute('version', '2.0'); - - // Content namespace - $root->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:content', 'http://purl.org/rss/1.0/modules/content/'); - $root->appendChild($doc->importNode($this->_element, true)); - - // Append root node - $doc->appendChild($root); - - // Format output - $doc->formatOutput = true; - - return $doc->saveXML(); - } - - /** - * Send feed to a http client with the correct header - * - * @return void - * @throws Zend_Feed_Exception if headers have already been sent - */ - public function send() - { - if (headers_sent()) { - /** - * @see Zend_Feed_Exception - */ - require_once 'Zend/Feed/Exception.php'; - throw new Zend_Feed_Exception('Cannot send RSS because headers have already been sent.'); - } - - header('Content-Type: application/rss+xml; charset=' . $this->_element->ownerDocument->actualEncoding); - - echo $this->saveXml(); - } - -} diff --git a/lib/zend/Zend/File/Transfer.php b/lib/zend/Zend/File/Transfer.php deleted file mode 100644 index ee6c17bdea..0000000000 --- a/lib/zend/Zend/File/Transfer.php +++ /dev/null @@ -1,61 +0,0 @@ -_adapter = new $adapter(); - if (!$this->_adapter instanceof Zend_File_Transfer_Adapter) { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception("Adapter " . $adapter . " does not extend Zend_File_Transfer_Adapter'"); - } - - return $this->_adapter; - } -} diff --git a/lib/zend/Zend/File/Transfer/Adapter/Abstract.php b/lib/zend/Zend/File/Transfer/Adapter/Abstract.php deleted file mode 100644 index d6eb513356..0000000000 --- a/lib/zend/Zend/File/Transfer/Adapter/Abstract.php +++ /dev/null @@ -1,1503 +0,0 @@ - array( - Form is the name within the form or, if not set the filename - * name, - Original name of this file - * type, - Mime type of this file - * size, - Filesize in bytes - * tmp_name, - Internalally temporary filename for uploaded files - * error, - Error which has occured - * destination, - New destination for this file - * validators, - Set validator names for this file - * files - Set file names for this file - * )) - * - * @var array - */ - protected $_files = array(); - - /** - * TMP directory - * @var string - */ - protected $_tmpDir; - - /** - * Available options for file transfers - */ - protected $_options = array( - 'ignoreNoFile' => false, - 'useByteString' => true, - 'magicFile' => null - ); - - /** - * Send file - * - * @param mixed $options - * @return bool - */ - abstract public function send($options = null); - - /** - * Receive file - * - * @param mixed $options - * @return bool - */ - abstract public function receive($options = null); - - /** - * Is file sent? - * - * @param array|string|null $files - * @return bool - */ - abstract public function isSent($files = null); - - /** - * Is file received? - * - * @param array|string|null $files - * @return bool - */ - abstract public function isReceived($files = null); - - /** - * Has a file been uploaded ? - * - * @param array|string|null $files - * @return bool - */ - abstract public function isUploaded($files = null); - - /** - * Has the file been filtered ? - * - * @param array|string|null $files - * @return bool - */ - abstract public function isFiltered($files = null); - - /** - * Retrieve progress of transfer - * - * @return float - */ - public static function getProgress() - { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('Method must be implemented within the adapter'); - } - - /** - * Set plugin loader to use for validator or filter chain - * - * @param Zend_Loader_PluginLoader_Interface $loader - * @param string $type 'filter', or 'validate' - * @return Zend_File_Transfer_Adapter_Abstract - * @throws Zend_File_Transfer_Exception on invalid type - */ - public function setPluginLoader(Zend_Loader_PluginLoader_Interface $loader, $type) - { - $type = strtoupper($type); - switch ($type) { - case self::FILTER: - case self::VALIDATE: - $this->_loaders[$type] = $loader; - return $this; - default: - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception(sprintf('Invalid type "%s" provided to setPluginLoader()', $type)); - } - } - - /** - * Retrieve plugin loader for validator or filter chain - * - * Instantiates with default rules if none available for that type. Use - * 'filter' or 'validate' for $type. - * - * @param string $type - * @return Zend_Loader_PluginLoader - * @throws Zend_File_Transfer_Exception on invalid type. - */ - public function getPluginLoader($type) - { - $type = strtoupper($type); - switch ($type) { - case self::FILTER: - case self::VALIDATE: - $prefixSegment = ucfirst(strtolower($type)); - $pathSegment = $prefixSegment; - if (!isset($this->_loaders[$type])) { - $paths = array( - 'Zend_' . $prefixSegment . '_' => 'Zend/' . $pathSegment . '/', - 'Zend_' . $prefixSegment . '_File' => 'Zend/' . $pathSegment . '/File', - ); - - require_once 'Zend/Loader/PluginLoader.php'; - $this->_loaders[$type] = new Zend_Loader_PluginLoader($paths); - } else { - $loader = $this->_loaders[$type]; - $prefix = 'Zend_' . $prefixSegment . '_File_'; - if (!$loader->getPaths($prefix)) { - $loader->addPrefixPath($prefix, str_replace('_', '/', $prefix)); - } - } - return $this->_loaders[$type]; - default: - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception(sprintf('Invalid type "%s" provided to getPluginLoader()', $type)); - } - } - - /** - * Add prefix path for plugin loader - * - * If no $type specified, assumes it is a base path for both filters and - * validators, and sets each according to the following rules: - * - filters: $prefix = $prefix . '_Filter' - * - validators: $prefix = $prefix . '_Validate' - * - * Otherwise, the path prefix is set on the appropriate plugin loader. - * - * @param string $prefix - * @param string $path - * @param string $type - * @return Zend_File_Transfer_Adapter_Abstract - * @throws Zend_File_Transfer_Exception for invalid type - */ - public function addPrefixPath($prefix, $path, $type = null) - { - $type = strtoupper($type); - switch ($type) { - case self::FILTER: - case self::VALIDATE: - $loader = $this->getPluginLoader($type); - $loader->addPrefixPath($prefix, $path); - return $this; - case null: - $prefix = rtrim($prefix, '_'); - $path = rtrim($path, DIRECTORY_SEPARATOR); - foreach (array(self::FILTER, self::VALIDATE) as $type) { - $cType = ucfirst(strtolower($type)); - $pluginPath = $path . DIRECTORY_SEPARATOR . $cType . DIRECTORY_SEPARATOR; - $pluginPrefix = $prefix . '_' . $cType; - $loader = $this->getPluginLoader($type); - $loader->addPrefixPath($pluginPrefix, $pluginPath); - } - return $this; - default: - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception(sprintf('Invalid type "%s" provided to getPluginLoader()', $type)); - } - } - - /** - * Add many prefix paths at once - * - * @param array $spec - * @return Zend_File_Transfer_Exception - */ - public function addPrefixPaths(array $spec) - { - if (isset($spec['prefix']) && isset($spec['path'])) { - return $this->addPrefixPath($spec['prefix'], $spec['path']); - } - foreach ($spec as $type => $paths) { - if (is_numeric($type) && is_array($paths)) { - $type = null; - if (isset($paths['prefix']) && isset($paths['path'])) { - if (isset($paths['type'])) { - $type = $paths['type']; - } - $this->addPrefixPath($paths['prefix'], $paths['path'], $type); - } - } elseif (!is_numeric($type)) { - if (!isset($paths['prefix']) || !isset($paths['path'])) { - foreach ($paths as $prefix => $spec) { - if (is_array($spec)) { - foreach ($spec as $path) { - if (!is_string($path)) { - continue; - } - $this->addPrefixPath($prefix, $path, $type); - } - } elseif (is_string($spec)) { - $this->addPrefixPath($prefix, $spec, $type); - } - } - } else { - $this->addPrefixPath($paths['prefix'], $paths['path'], $type); - } - } - } - return $this; - } - - /** - * Adds a new validator for this class - * - * @param string|array $validator Type of validator to add - * @param boolean $breakChainOnFailure If the validation chain should stop an failure - * @param string|array $options Options to set for the validator - * @param string|array $files Files to limit this validator to - * @return Zend_File_Transfer_Adapter - */ - public function addValidator($validator, $breakChainOnFailure = false, $options = null, $files = null) - { - if ($validator instanceof Zend_Validate_Interface) { - $name = get_class($validator); - } elseif (is_string($validator)) { - $name = $this->getPluginLoader(self::VALIDATE)->load($validator); - $validator = new $name($options); - if (is_array($options) && isset($options['messages'])) { - if (is_array($options['messages'])) { - $validator->setMessages($options['messages']); - } elseif (is_string($options['messages'])) { - $validator->setMessage($options['messages']); - } - - unset($options['messages']); - } - } else { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('Invalid validator provided to addValidator; must be string or Zend_Validate_Interface'); - } - - $this->_validators[$name] = $validator; - $this->_break[$name] = $breakChainOnFailure; - $files = $this->_getFiles($files, true, true); - foreach ($files as $file) { - $this->_files[$file]['validators'][] = $name; - $this->_files[$file]['validated'] = false; - } - - return $this; - } - - /** - * Add Multiple validators at once - * - * @param array $validators - * @param string|array $files - * @return Zend_File_Transfer_Adapter_Abstract - */ - public function addValidators(array $validators, $files = null) - { - foreach ($validators as $name => $validatorInfo) { - if ($validatorInfo instanceof Zend_Validate_Interface) { - $this->addValidator($validatorInfo, null, null, $files); - } else if (is_string($validatorInfo)) { - if (!is_int($name)) { - $this->addValidator($name, null, $validatorInfo, $files); - } else { - $this->addValidator($validatorInfo, null, null, $files); - } - } else if (is_array($validatorInfo)) { - $argc = count($validatorInfo); - $breakChainOnFailure = false; - $options = array(); - if (isset($validatorInfo['validator'])) { - $validator = $validatorInfo['validator']; - if (isset($validatorInfo['breakChainOnFailure'])) { - $breakChainOnFailure = $validatorInfo['breakChainOnFailure']; - } - - if (isset($validatorInfo['options'])) { - $options = $validatorInfo['options']; - } - - $this->addValidator($validator, $breakChainOnFailure, $options, $files); - } else { - if (is_string($name)) { - $validator = $name; - $options = $validatorInfo; - $this->addValidator($validator, $breakChainOnFailure, $options, $files); - } else { - switch (true) { - case (0 == $argc): - break; - case (1 <= $argc): - $validator = array_shift($validatorInfo); - case (2 <= $argc): - $breakChainOnFailure = array_shift($validatorInfo); - case (3 <= $argc): - $options = array_shift($validatorInfo); - case (4 <= $argc): - $files = array_shift($validatorInfo); - default: - $this->addValidator($validator, $breakChainOnFailure, $options, $files); - break; - } - } - } - } else { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('Invalid validator passed to addValidators()'); - } - } - - return $this; - } - - /** - * Sets a validator for the class, erasing all previous set - * - * @param string|array $validator Validator to set - * @param string|array $files Files to limit this validator to - * @return Zend_File_Transfer_Adapter - */ - public function setValidators(array $validators, $files = null) - { - $this->clearValidators(); - return $this->addValidators($validators, $files); - } - - /** - * Determine if a given validator has already been registered - * - * @param string $name - * @return bool - */ - public function hasValidator($name) - { - return (false !== $this->_getValidatorIdentifier($name)); - } - - /** - * Retrieve individual validator - * - * @param string $name - * @return Zend_Validate_Interface|null - */ - public function getValidator($name) - { - if (false === ($identifier = $this->_getValidatorIdentifier($name))) { - return null; - } - return $this->_validators[$identifier]; - } - - /** - * Returns all set validators - * - * @param string|array $files (Optional) Returns the validator for this files - * @return null|array List of set validators - */ - public function getValidators($files = null) - { - $files = $this->_getFiles($files, true, true); - - if (empty($files)) { - return $this->_validators; - } - - $validators = array(); - foreach ($files as $file) { - if (!empty($this->_files[$file]['validators'])) { - $validators += $this->_files[$file]['validators']; - } - } - $validators = array_unique($validators); - - $result = array(); - foreach ($validators as $validator) { - $result[$validator] = $this->_validators[$validator]; - } - - return $result; - } - - /** - * Remove an individual validator - * - * @param string $name - * @return Zend_File_Transfer_Adapter_Abstract - */ - public function removeValidator($name) - { - if (false === ($key = $this->_getValidatorIdentifier($name))) { - return $this; - } - - unset($this->_validators[$key]); - foreach (array_keys($this->_files) as $file) { - if (empty($this->_files[$file]['validators'])) { - continue; - } - - $index = array_search($key, $this->_files[$file]['validators']); - if ($index === false) { - continue; - } - - unset($this->_files[$file]['validators'][$index]); - $this->_files[$file]['validated'] = false; - } - - return $this; - } - - /** - * Remove all validators - * - * @return Zend_File_Transfer_Adapter_Abstract - */ - public function clearValidators() - { - $this->_validators = array(); - foreach (array_keys($this->_files) as $file) { - $this->_files[$file]['validators'] = array(); - $this->_files[$file]['validated'] = false; - } - - return $this; - } - - /** - * Sets Options for adapters - * - * @param array $options Options to set - * @param array $files (Optional) Files to set the options for - */ - public function setOptions($options = array(), $files = null) { - $file = $this->_getFiles($files, false, true); - - if (is_array($options)) { - foreach ($options as $name => $value) { - foreach ($file as $key => $content) { - switch ($name) { - case 'magicFile' : - $this->_files[$key]['options'][$name] = (string) $value; - break; - - case 'ignoreNoFile' : - case 'useByteString' : - $this->_files[$key]['options'][$name] = (boolean) $value; - break; - - default: - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception("Unknown option: $name = $value"); - } - } - } - } - - return $this; - } - - /** - * Returns set options for adapters or files - * - * @param array $files (Optional) Files to return the options for - * @return array Options for given files - */ - public function getOptions($files = null) { - $file = $this->_getFiles($files, false, true); - - foreach ($file as $key => $content) { - if (isset($this->_files[$key]['options'])) { - $options[$key] = $this->_files[$key]['options']; - } else { - $options[$key] = array(); - } - } - - return $options; - } - - /** - * Checks if the files are valid - * - * @param string|array $files (Optional) Files to check - * @return boolean True if all checks are valid - */ - public function isValid($files = null) - { - $check = $this->_getFiles($files, false, true); - if (empty($check)) { - return false; - } - - $translator = $this->getTranslator(); - $this->_messages = array(); - $break = false; - foreach($check as $key => $content) { - if (array_key_exists('validators', $content) && - in_array('Zend_Validate_File_Count', $content['validators'])) { - $validator = $this->_validators['Zend_Validate_File_Count']; - $validator->addFile($content['tmp_name']); - $count = $content; - } - } - - if (isset($count)) { - if (!$validator->isValid($count['tmp_name'], $count)) { - $this->_messages += $validator->getMessages(); - } - } - - foreach ($check as $key => $content) { - $fileerrors = array(); - if (array_key_exists('validators', $content) && $content['validated']) { - continue; - } - - if (array_key_exists('validators', $content)) { - foreach ($content['validators'] as $class) { - $validator = $this->_validators[$class]; - if (method_exists($validator, 'setTranslator')) { - $validator->setTranslator($translator); - } - - if (($class === 'Zend_Validate_File_Upload') and (empty($content['tmp_name']))) { - $tocheck = $key; - } else { - $tocheck = $content['tmp_name']; - } - - if (!$validator->isValid($tocheck, $content)) { - $fileerrors += $validator->getMessages(); - } - - if (!empty($content['options']['ignoreNoFile']) and (isset($fileerrors['fileUploadErrorNoFile']))) { - unset($fileerrors['fileUploadErrorNoFile']); - break; - } - - if (($class === 'Zend_Validate_File_Upload') and (count($fileerrors) > 0)) { - break; - } - - if (($this->_break[$class]) and (count($fileerrors) > 0)) { - $break = true; - break; - } - } - } - - if (count($fileerrors) > 0) { - $this->_files[$key]['validated'] = false; - } else { - $this->_files[$key]['validated'] = true; - } - - $this->_messages += $fileerrors; - if ($break) { - break; - } - } - - if (count($this->_messages) > 0) { - return false; - } - - return true; - } - - /** - * Returns found validation messages - * - * @return array - */ - public function getMessages() - { - return $this->_messages; - } - - /** - * Retrieve error codes - * - * @return array - */ - public function getErrors() - { - return array_keys($this->_messages); - } - - /** - * Are there errors registered? - * - * @return boolean - */ - public function hasErrors() - { - return (!empty($this->_messages)); - } - - /** - * Adds a new filter for this class - * - * @param string|array $filter Type of filter to add - * @param string|array $options Options to set for the filter - * @param string|array $files Files to limit this filter to - * @return Zend_File_Transfer_Adapter - */ - public function addFilter($filter, $options = null, $files = null) - { - if ($filter instanceof Zend_Filter_Interface) { - $class = get_class($filter); - } elseif (is_string($filter)) { - $class = $this->getPluginLoader(self::FILTER)->load($filter); - $filter = new $class($options); - } else { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('Invalid filter specified'); - } - - $this->_filters[$class] = $filter; - $files = $this->_getFiles($files, true, true); - foreach ($files as $file) { - $this->_files[$file]['filters'][] = $class; - } - - return $this; - } - - /** - * Add Multiple filters at once - * - * @param array $filters - * @param string|array $files - * @return Zend_File_Transfer_Adapter_Abstract - */ - public function addFilters(array $filters, $files = null) - { - foreach ($filters as $key => $spec) { - if ($spec instanceof Zend_Filter_Interface) { - $this->addFilter($spec, null, $files); - continue; - } - - if (is_string($key)) { - $this->addFilter($key, $spec, $files); - continue; - } - - if (is_int($key)) { - if (is_string($spec)) { - $this->addFilter($spec, null, $files); - continue; - } - - if (is_array($spec)) { - if (!array_key_exists('filter', $spec)) { - continue; - } - - $filter = $spec['filter']; - unset($spec['filter']); - $this->addFilter($filter, $spec, $files); - continue; - } - - continue; - } - } - - return $this; - } - - /** - * Sets a filter for the class, erasing all previous set - * - * @param string|array $filter Filter to set - * @param string|array $files Files to limit this filter to - * @return Zend_File_Transfer_Adapter - */ - public function setFilters(array $filters, $files = null) - { - $this->clearFilters(); - return $this->addFilters($filters, $files); - } - - /** - * Determine if a given filter has already been registered - * - * @param string $name - * @return bool - */ - public function hasFilter($name) - { - return (false !== $this->_getFilterIdentifier($name)); - } - - /** - * Retrieve individual filter - * - * @param string $name - * @return Zend_Filter_Interface|null - */ - public function getFilter($name) - { - if (false === ($identifier = $this->_getFilterIdentifier($name))) { - return null; - } - return $this->_filters[$identifier]; - } - - /** - * Returns all set filters - * - * @param string|array $files (Optional) Returns the filter for this files - * @return array List of set filters - * @throws Zend_File_Transfer_Exception When file not found - */ - public function getFilters($files = null) - { - if ($files === null) { - return $this->_filters; - } - - $files = $this->_getFiles($files, true, true); - $filters = array(); - foreach ($files as $file) { - if (!empty($this->_files[$file]['filters'])) { - $filters += $this->_files[$file]['filters']; - } - } - - $filters = array_unique($filters); - $result = array(); - foreach ($filters as $filter) { - $result[] = $this->_filters[$filter]; - } - - return $result; - } - - /** - * Remove an individual filter - * - * @param string $name - * @return Zend_File_Transfer_Adapter_Abstract - */ - public function removeFilter($name) - { - if (false === ($key = $this->_getFilterIdentifier($name))) { - return $this; - } - - unset($this->_filters[$key]); - foreach (array_keys($this->_files) as $file) { - if (empty($this->_files[$file]['filters'])) { - continue; - } - - $index = array_search($key, $this->_files[$file]['filters']); - if ($index === false) { - continue; - } - - unset($this->_files[$file]['filters'][$index]); - } - return $this; - } - - /** - * Remove all filters - * - * @return Zend_File_Transfer_Adapter_Abstract - */ - public function clearFilters() - { - $this->_filters = array(); - foreach (array_keys($this->_files) as $file) { - $this->_files[$file]['filters'] = array(); - } - return $this; - } - - /** - * Returns all set files - * - * @return array List of set files - * @throws Zend_File_Transfer_Exception Not implemented - */ - public function getFile() - { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('Method not implemented'); - } - - /** - * Retrieves the filename of transferred files. - * - * @param string $fileelement (Optional) Element to return the filename for - * @param boolean $path (Optional) Should the path also be returned ? - * @return string|array - */ - public function getFileName($file = null, $path = true) - { - $files = $this->_getFiles($file, true, true); - $result = array(); - $directory = ""; - foreach($files as $file) { - if (empty($this->_files[$file]['name'])) { - continue; - } - - if ($path === true) { - $directory = $this->getDestination($file) . DIRECTORY_SEPARATOR; - } - - $result[$file] = $directory . $this->_files[$file]['name']; - } - - if (count($result) == 1) { - return current($result); - } - - return $result; - } - - /** - * Retrieve additional internal file informations for files - * - * @param string $file (Optional) File to get informations for - * @return array - */ - public function getFileInfo($file = null) - { - return $this->_getFiles($file); - } - - /** - * Adds one or more files - * - * @param string|array $file File to add - * @param string|array $validator Validators to use for this file, must be set before - * @param string|array $filter Filters to use for this file, must be set before - * @return Zend_File_Transfer_Adapter_Abstract - * @throws Zend_File_Transfer_Exception Not implemented - */ - public function addFile($file, $validator = null, $filter = null) - { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('Method not implemented'); - } - - /** - * Returns all set types - * - * @return array List of set types - * @throws Zend_File_Transfer_Exception Not implemented - */ - public function getType() - { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('Method not implemented'); - } - - /** - * Adds one or more type of files - * - * @param string|array $type Type of files to add - * @param string|array $validator Validators to use for this file, must be set before - * @param string|array $filter Filters to use for this file, must be set before - * @return Zend_File_Transfer_Adapter_Abstract - * @throws Zend_File_Transfer_Exception Not implemented - */ - public function addType($type, $validator = null, $filter = null) - { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('Method not implemented'); - } - - /** - * Sets a new destination for the given files - * - * @deprecated Will be changed to be a filter!!! - * @param string $destination New destination directory - * @param string|array $files Files to set the new destination for - * @return Zend_File_Transfer_Abstract - * @throws Zend_File_Transfer_Exception when the given destination is not a directory or does not exist - */ - public function setDestination($destination, $files = null) - { - $orig = $files; - $destination = rtrim($destination, "/\\"); - if (!is_dir($destination)) { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('The given destination is no directory or does not exist'); - } - - if (!is_writable($destination)) { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('The given destination is not writeable'); - } - - if ($files === null) { - foreach ($this->_files as $file => $content) { - $this->_files[$file]['destination'] = $destination; - } - } else { - $files = $this->_getFiles($files, true, true); - if (empty($files) and is_string($orig)) { - $this->_files[$orig]['destination'] = $destination; - } - - foreach ($files as $file) { - $this->_files[$file]['destination'] = $destination; - } - } - - return $this; - } - - /** - * Retrieve destination directory value - * - * @param null|string|array $files - * @return null|string|array - */ - public function getDestination($files = null) - { - $orig = $files; - $files = $this->_getFiles($files, false, true); - $destinations = array(); - if (empty($files) and is_string($orig)) { - if (isset($this->_files[$orig]['destination'])) { - $destinations[$orig] = $this->_files[$orig]['destination']; - } else { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception(sprintf('"%s" not found by file transfer adapter', $orig)); - } - } - - foreach ($files as $key => $content) { - if (isset($this->_files[$key]['destination'])) { - $destinations[$key] = $this->_files[$key]['destination']; - } else { - $tmpdir = $this->_getTmpDir(); - $this->setDestination($tmpdir, $key); - $destinations[$key] = $tmpdir; - } - } - - if (empty($destinations)) { - $destinations = $this->_getTmpDir(); - } else if (count($destinations) == 1) { - $destinations = current($destinations); - } - - return $destinations; - } - - /** - * Set translator object for localization - * - * @param Zend_Translate|null $translator - * @return Zend_File_Transfer_Abstract - */ - public function setTranslator($translator = null) - { - if (null === $translator) { - $this->_translator = null; - } elseif ($translator instanceof Zend_Translate_Adapter) { - $this->_translator = $translator; - } elseif ($translator instanceof Zend_Translate) { - $this->_translator = $translator->getAdapter(); - } else { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('Invalid translator specified'); - } - - return $this; - } - - /** - * Retrieve localization translator object - * - * @return Zend_Translate_Adapter|null - */ - public function getTranslator() - { - if ($this->translatorIsDisabled()) { - return null; - } - - return $this->_translator; - } - - /** - * Indicate whether or not translation should be disabled - * - * @param bool $flag - * @return Zend_File_Transfer_Abstract - */ - public function setDisableTranslator($flag) - { - $this->_translatorDisabled = (bool) $flag; - return $this; - } - - /** - * Is translation disabled? - * - * @return bool - */ - public function translatorIsDisabled() - { - return $this->_translatorDisabled; - } - - /** - * Returns the hash for a given file - * - * @param string $hash Hash algorithm to use - * @param string|array $files Files to return the hash for - * @return string|array Hashstring - * @throws Zend_File_Transfer_Exception On unknown hash algorithm - */ - public function getHash($hash = 'crc32', $files = null) - { - if (!in_array($hash, hash_algos())) { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('Unknown hash algorithm'); - } - - $files = $this->_getFiles($files); - $result = array(); - foreach($files as $key => $value) { - if (file_exists($value['name'])) { - $result[$key] = hash_file($hash, $value['name']); - } else if (file_exists($value['tmp_name'])) { - $result[$key] = hash_file($hash, $value['tmp_name']); - } else { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception("File '{$value['name']}' does not exist"); - } - } - - if (count($result) == 1) { - return current($result); - } - - return $result; - } - - /** - * Returns the real filesize of the file - * - * @param string|array $files Files to get the filesize from - * @throws Zend_File_Transfer_Exception When the file does not exist - * @return string|array Filesize - */ - public function getFileSize($files = null) - { - $files = $this->_getFiles($files); - $result = array(); - foreach($files as $key => $value) { - if (file_exists($value['name'])) { - $size = sprintf("%u", @filesize($value['name'])); - } else if (file_exists($value['tmp_name'])) { - $size = sprintf("%u", @filesize($value['tmp_name'])); - } else { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception("File '{$value['name']}' does not exist"); - } - - if ($value['options']['useByteString']) { - $result[$key] = self::_toByteString($size); - } else { - $result[$key] = $size; - } - } - - if (count($result) == 1) { - return current($result); - } - - return $result; - } - - /** - * Returns the real mimetype of the file - * Uses fileinfo, when not available mime_magic and as last fallback a manual given mimetype - * - * @param string|array $files Files to get the mimetype from - * @throws Zend_File_Transfer_Exception When the file does not exist - * @return string|array MimeType - */ - public function getMimeType($files = null) - { - $files = $this->_getFiles($files); - $result = array(); - foreach($files as $key => $value) { - if (file_exists($value['name'])) { - $file = $value['name']; - } else if (file_exists($value['tmp_name'])) { - $file = $value['tmp_name']; - } else { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception("File '{$value['name']}' does not exist"); - } - - if (class_exists('finfo', false)) { - $const = defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME; - if (!empty($value['options']['magicFile'])) { - $mime = new finfo($const, $value['options']['magicFile']); - } else { - $mime = new finfo($const); - } - - if ($mime !== false) { - $result[$key] = $mime->file($file); - } - - unset($mime); - } - - if (empty($result[$key])) { - if (function_exists('mime_content_type') && ini_get('mime_magic.magicfile')) { - $result[$key] = mime_content_type($file); - } else { - $result[$key] = $value['type']; - } - } - - if (empty($result[$key])) { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception("The mimetype of file '{$value['name']}' could not been detected"); - } - } - - if (count($result) == 1) { - return current($result); - } - - return $result; - } - - /** - * Returns the formatted size - * - * @param integer $size - * @return string - */ - protected static function _toByteString($size) - { - $sizes = array('B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'); - for ($i=0; $size >= 1024 && $i < 9; $i++) { - $size /= 1024; - } - - return round($size, 2) . $sizes[$i]; - } - - /** - * Internal function to filter all given files - * - * @param string|array $files (Optional) Files to check - * @return boolean False on error - */ - protected function _filter($files = null) - { - $check = $this->_getFiles($files); - foreach ($check as $name => $content) { - if (array_key_exists('filters', $content)) { - foreach ($content['filters'] as $class) { - $filter = $this->_filters[$class]; - try { - $result = $filter->filter($this->getFileName($name)); - - $this->_files[$name]['destination'] = dirname($result); - $this->_files[$name]['name'] = basename($result); - } catch (Zend_Filter_Exception $e) { - $this->_messages += array($e->getMessage()); - } - } - } - } - - if (count($this->_messages) > 0) { - return false; - } - - return true; - } - - /** - * Determine system TMP directory and detect if we have read access - * - * @return string - * @throws Zend_File_Transfer_Exception if unable to determine directory - */ - protected function _getTmpDir() - { - if (null === $this->_tmpDir) { - $tmpdir = array(); - if (function_exists('sys_get_temp_dir')) { - $tmpdir[] = sys_get_temp_dir(); - } - - if (!empty($_ENV['TMP'])) { - $tmpdir[] = realpath($_ENV['TMP']); - } - - if (!empty($_ENV['TMPDIR'])) { - $tmpdir[] = realpath($_ENV['TMPDIR']); - } - - if (!empty($_ENV['TEMP'])) { - $tmpdir[] = realpath($_ENV['TEMP']); - } - - $upload = ini_get('upload_tmp_dir'); - if ($upload) { - $tmpdir[] = realpath($upload); - } - - foreach($tmpdir as $directory) { - if ($this->_isPathWriteable($directory)) { - $this->_tmpDir = $directory; - } - } - - if (empty($this->_tmpDir)) { - // Attemp to detect by creating a temporary file - $tempFile = tempnam(md5(uniqid(rand(), TRUE)), ''); - if ($tempFile) { - $this->_tmpDir = realpath(dirname($tempFile)); - unlink($tempFile); - } else { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('Could not determine temp directory'); - } - } - - $this->_tmpDir = rtrim($this->_tmpDir, "/\\"); - } - return $this->_tmpDir; - } - - /** - * Tries to detect if we can read and write to the given path - * - * @param string $path - */ - protected function _isPathWriteable($path) - { - $tempFile = rtrim($path, "/\\"); - $tempFile .= '/' . 'test.1'; - - $result = @file_put_contents($tempFile, 'TEST'); - - if ($result == false) { - return false; - } - - $result = @unlink($tempFile); - - if ($result == false) { - return false; - } - - return true; - } - - /** - * Returns found files based on internal file array and given files - * - * @param string|array $files (Optional) Files to return - * @param boolean $names (Optional) Returns only names on true, else complete info - * @param boolean $noexception (Optional) Allows throwing an exception, otherwise returns an empty array - * @return array Found files - * @throws Zend_File_Transfer_Exception On false filename - */ - protected function _getFiles($files, $names = false, $noexception = false) - { - $check = array(); - - if (is_string($files)) { - $files = array($files); - } - - if (is_array($files)) { - foreach ($files as $find) { - $found = array(); - foreach ($this->_files as $file => $content) { - if (!isset($content['name'])) { - continue; - } - - if (($content['name'] === $find) && isset($content['multifiles'])) { - foreach ($content['multifiles'] as $multifile) { - $found[] = $multifile; - } - break; - } - - if ($file === $find) { - $found[] = $file; - break; - } - - if ($content['name'] === $find) { - $found[] = $file; - break; - } - } - - if (empty($found)) { - if ($noexception !== false) { - return array(); - } - - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception(sprintf('"%s" not found by file transfer adapter', $find)); - } - - foreach ($found as $checked) { - $check[$checked] = $this->_files[$checked]; - } - } - } - - if ($files === null) { - $check = $this->_files; - $keys = array_keys($check); - foreach ($keys as $key) { - if (isset($check[$key]['multifiles'])) { - unset($check[$key]); - } - } - } - - if ($names) { - $check = array_keys($check); - } - - return $check; - } - - /** - * Retrieve internal identifier for a named validator - * - * @param string $name - * @return string - */ - protected function _getValidatorIdentifier($name) - { - if (array_key_exists($name, $this->_validators)) { - return $name; - } - - foreach (array_keys($this->_validators) as $test) { - if (preg_match('/' . preg_quote($name) . '$/i', $test)) { - return $test; - } - } - - return false; - } - - /** - * Retrieve internal identifier for a named filter - * - * @param string $name - * @return string - */ - protected function _getFilterIdentifier($name) - { - if (array_key_exists($name, $this->_filters)) { - return $name; - } - - foreach (array_keys($this->_filters) as $test) { - if (preg_match('/' . preg_quote($name) . '$/i', $test)) { - return $test; - } - } - - return false; - } -} diff --git a/lib/zend/Zend/File/Transfer/Adapter/Http.php b/lib/zend/Zend/File/Transfer/Adapter/Http.php deleted file mode 100644 index a6954d55d1..0000000000 --- a/lib/zend/Zend/File/Transfer/Adapter/Http.php +++ /dev/null @@ -1,453 +0,0 @@ -_files = $this->_prepareFiles($_FILES); - $this->addValidator('Upload', false, $this->_files); - - if (is_array($options)) { - $this->setOptions($options); - } - } - - /** - * Sets a validator for the class, erasing all previous set - * - * @param string|array $validator Validator to set - * @param string|array $files Files to limit this validator to - * @return Zend_File_Transfer_Adapter - */ - public function setValidators(array $validators, $files = null) - { - $this->clearValidators(); - return $this->addValidators($validators, $files); - } - - /** - * Remove an individual validator - * - * @param string $name - * @return Zend_File_Transfer_Adapter_Abstract - */ - public function removeValidator($name) - { - if ($name == 'Upload') { - return $this; - } - - return parent::removeValidator($name); - } - - /** - * Remove an individual validator - * - * @param string $name - * @return Zend_File_Transfer_Adapter_Abstract - */ - public function clearValidators() - { - parent::clearValidators(); - $this->addValidator('Upload', false, $this->_files); - - return $this; - } - - /** - * Send the file to the client (Download) - * - * @param string|array $options Options for the file(s) to send - * @return void - * @throws Zend_File_Transfer_Exception Not implemented - */ - public function send($options = null) - { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('Method not implemented'); - } - - /** - * Checks if the files are valid - * - * @param string|array $files (Optional) Files to check - * @return boolean True if all checks are valid - */ - public function isValid($files = null) - { - // Workaround for a PHP error returning empty $_FILES when form data exceeds php settings - if (empty($this->_files) && ($_SERVER['CONTENT_LENGTH'] > 0)) { - if (is_array($files)) { - $files = current($files); - } - - $temp = array($files => array( - 'name' => $files, - 'error' => 1)); - $validator = $this->_validators['Zend_Validate_File_Upload']; - $validator->setFiles($temp) - ->isValid($files, null); - $this->_messages += $validator->getMessages(); - return false; - } - - return parent::isValid($files); - } - - /** - * Receive the file from the client (Upload) - * - * @param string|array $files (Optional) Files to receive - * @return bool - */ - public function receive($files = null) - { - if (!$this->isValid($files)) { - return false; - } - - $check = $this->_getFiles($files); - foreach ($check as $file => $content) { - if (!$content['received']) { - $directory = ''; - $destination = $this->getDestination($file); - if ($destination !== null) { - $directory = $destination . DIRECTORY_SEPARATOR; - } - - $filename = $directory . $content['name']; - $rename = $this->getFilter('Rename'); - if ($rename !== null) { - $tmp = $rename->getNewName($content['tmp_name']); - if ($tmp != $content['tmp_name']) { - $filename = $tmp; - } - - if (dirname($filename) == '.') { - $filename = $directory . $filename; - } - - $key = array_search(get_class($rename), $this->_files[$file]['filters']); - unset($this->_files[$file]['filters'][$key]); - } - - // Should never return false when it's tested by the upload validator - if (!move_uploaded_file($content['tmp_name'], $filename)) { - if ($content['options']['ignoreNoFile']) { - $this->_files[$file]['received'] = true; - $this->_files[$file]['filtered'] = true; - continue; - } - - $this->_files[$file]['received'] = false; - return false; - } - - if ($rename !== null) { - $this->_files[$file]['destination'] = dirname($filename); - $this->_files[$file]['name'] = basename($filename); - } - - $this->_files[$file]['tmp_name'] = $filename; - $this->_files[$file]['received'] = true; - } - - if (!$content['filtered']) { - if (!$this->_filter($file)) { - $this->_files[$file]['filtered'] = false; - return false; - } - - $this->_files[$file]['filtered'] = true; - } - } - - return true; - } - - /** - * Checks if the file was already sent - * - * @param string|array $file Files to check - * @return bool - * @throws Zend_File_Transfer_Exception Not implemented - */ - public function isSent($files = null) - { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('Method not implemented'); - } - - /** - * Checks if the file was already received - * - * @param string|array $files (Optional) Files to check - * @return bool - */ - public function isReceived($files = null) - { - $files = $this->_getFiles($files, false, true); - if (empty($files)) { - return false; - } - - foreach ($files as $content) { - if ($content['received'] !== true) { - return false; - } - } - - return true; - } - - /** - * Checks if the file was already filtered - * - * @param string|array $files (Optional) Files to check - * @return bool - */ - public function isFiltered($files = null) - { - $files = $this->_getFiles($files, false, true); - if (empty($files)) { - return false; - } - - foreach ($files as $content) { - if ($content['filtered'] !== true) { - return false; - } - } - - return true; - } - - /** - * Has a file been uploaded ? - * - * @param array|string|null $file - * @return bool - */ - public function isUploaded($files = null) - { - $files = $this->_getFiles($files, false, true); - if (empty($files)) { - return false; - } - - foreach ($files as $file) { - if (empty($file['name'])) { - return false; - } - } - - return true; - } - - /** - * Returns the actual progress of file up-/downloads - * - * @param string $id The upload to get the progress for - * @return array|null - */ - public static function getProgress($id = null) - { - if (!function_exists('apc_fetch') and !function_exists('uploadprogress_get_info')) { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('Wether APC nor uploadprogress extension installed'); - } - - $session = 'Zend_File_Transfer_Adapter_Http_ProgressBar'; - $status = array( - 'total' => 0, - 'current' => 0, - 'rate' => 0, - 'message' => '', - 'done' => false - ); - - if (is_array($id)) { - if (isset($id['progress'])) { - $adapter = $id['progress']; - } - - if (isset($id['session'])) { - $session = $id['session']; - } - - if (isset($id['id'])) { - $id = $id['id']; - } else { - unset($id); - } - } - - if (!empty($id) && (($id instanceof Zend_ProgressBar_Adapter) || ($id instanceof Zend_ProgressBar))) { - $adapter = $id; - unset($id); - } - - if (empty($id)) { - if (!isset($_GET['progress_key'])) { - $status['message'] = 'No upload in progress'; - $status['done'] = true; - } else { - $id = $_GET['progress_key']; - } - } - - if (!empty($id)) { - if (self::isApcAvailable()) { - - $call = call_user_func(self::$_callbackApc, 'upload_' . $id); - if (is_array($call)) { - $status = $call + $status; - } - } else if (self::isUploadProgressAvailable()) { - $call = call_user_func(self::$_callbackUploadProgress, $id); - if (is_array($call)) { - $status = $call + $status; - $status['total'] = $status['bytes_total']; - $status['current'] = $status['bytes_uploaded']; - $status['rate'] = $status['speed_average']; - if ($status['total'] == $status['current']) { - $status['done'] = true; - } - } - } - - if (!is_array($call)) { - $status['done'] = true; - $status['message'] = 'Failure while retrieving the upload progress'; - } else if (!empty($status['cancel_upload'])) { - $status['done'] = true; - $status['message'] = 'The upload has been canceled'; - } else { - $status['message'] = self::_toByteString($status['current']) . " - " . self::_toByteString($status['total']); - } - - $status['id'] = $id; - } - - if (isset($adapter) && isset($status['id'])) { - if ($adapter instanceof Zend_ProgressBar_Adapter) { - require_once 'Zend/ProgressBar.php'; - $adapter = new Zend_ProgressBar($adapter, 0, $status['total'], $session); - } - - if (!($adapter instanceof Zend_ProgressBar)) { - require_once 'Zend/File/Transfer/Exception.php'; - throw new Zend_File_Transfer_Exception('Unknown Adapter given'); - } - - if ($status['done']) { - $adapter->finish(); - } else { - $adapter->update($status['current'], $status['message']); - } - - $status['progress'] = $adapter; - } - - return $status; - } - - /** - * Checks the APC extension for progress information - * - * @return boolean - */ - public static function isApcAvailable() - { - return (bool) ini_get('apc.enabled') && (bool) ini_get('apc.rfc1867') && is_callable(self::$_callbackApc); - } - - /** - * Checks the UploadProgress extension for progress information - * - * @return boolean - */ - public static function isUploadProgressAvailable() - { - return is_callable(self::$_callbackUploadProgress); - } - - /** - * Prepare the $_FILES array to match the internal syntax of one file per entry - * - * @param array $files - * @return array - */ - protected function _prepareFiles(array $files = array()) - { - $result = array(); - foreach ($files as $form => $content) { - if (is_array($content['name'])) { - foreach ($content as $param => $file) { - foreach ($file as $number => $target) { - $result[$form . '_' . $number . '_'][$param] = $target; - $result[$form . '_' . $number . '_']['options'] = $this->_options; - $result[$form . '_' . $number . '_']['validated'] = false; - $result[$form . '_' . $number . '_']['received'] = false; - $result[$form . '_' . $number . '_']['filtered'] = false; - $result[$form]['multifiles'][$number] = $form . '_' . $number . '_'; - $result[$form]['name'] = $form; - } - } - } else { - $result[$form] = $content; - $result[$form]['options'] = $this->_options; - $result[$form]['validated'] = false; - $result[$form]['received'] = false; - $result[$form]['filtered'] = false; - } - } - - return $result; - } -} diff --git a/lib/zend/Zend/File/Transfer/Exception.php b/lib/zend/Zend/File/Transfer/Exception.php deleted file mode 100644 index e94c88c6cc..0000000000 --- a/lib/zend/Zend/File/Transfer/Exception.php +++ /dev/null @@ -1,55 +0,0 @@ -_fileerror = $fileerror; - parent::__construct($message); - } - - /** - * Returns the transfer error code for the exception - * This is not the exception code !!! - * - * @return integer - */ - public function getFileError() - { - return $this->_fileerror; - } -} diff --git a/lib/zend/Zend/Filter.php b/lib/zend/Zend/Filter.php deleted file mode 100644 index fe97688e7e..0000000000 --- a/lib/zend/Zend/Filter.php +++ /dev/null @@ -1,192 +0,0 @@ -_filters[] = $filter; - return $this; - } - - /** - * Returns $value filtered through each filter in the chain - * - * Filters are run in the order in which they were added to the chain (FIFO) - * - * @param mixed $value - * @return mixed - */ - public function filter($value) - { - $valueFiltered = $value; - foreach ($this->_filters as $filter) { - $valueFiltered = $filter->filter($valueFiltered); - } - return $valueFiltered; - } - - /** - * Returns the set default namespaces - * - * @return array - */ - public static function getDefaultNamespaces() - { - return self::$_defaultNamespaces; - } - - /** - * Sets new default namespaces - * - * @param array|string $namespace - * @return null - */ - public static function setDefaultNamespaces($namespace) - { - if (!is_array($namespace)) { - $namespace = array((string) $namespace); - } - - self::$_defaultNamespaces = $namespace; - } - - /** - * Adds a new default namespace - * - * @param array|string $namespace - * @return null - */ - public static function addDefaultNamespaces($namespace) - { - if (!is_array($namespace)) { - $namespace = array((string) $namespace); - } - - self::$_defaultNamespaces = array_unique(array_merge(self::$_defaultNamespaces, $namespace)); - } - - /** - * Returns true when defaultNamespaces are set - * - * @return boolean - */ - public static function hasDefaultNamespaces() - { - return (!empty(self::$_defaultNamespaces)); - } - - /** - * @deprecated - * @see Zend_Filter::filterStatic() - * - * @param mixed $value - * @param string $classBaseName - * @param array $args OPTIONAL - * @param array|string $namespaces OPTIONAL - * @return mixed - * @throws Zend_Filter_Exception - */ - public static function get($value, $classBaseName, array $args = array(), $namespaces = array()) - { - trigger_error( - 'Zend_Filter::get() is deprecated as of 1.9.0; please update your code to utilize Zend_Filter::filterStatic()', - E_USER_NOTICE - ); - - return self::filterStatic($value, $classBaseName, $args, $namespaces); - } - - /** - * Returns a value filtered through a specified filter class, without requiring separate - * instantiation of the filter object. - * - * The first argument of this method is a data input value, that you would have filtered. - * The second argument is a string, which corresponds to the basename of the filter class, - * relative to the Zend_Filter namespace. This method automatically loads the class, - * creates an instance, and applies the filter() method to the data input. You can also pass - * an array of constructor arguments, if they are needed for the filter class. - * - * @param mixed $value - * @param string $classBaseName - * @param array $args OPTIONAL - * @param array|string $namespaces OPTIONAL - * @return mixed - * @throws Zend_Filter_Exception - */ - public static function filterStatic($value, $classBaseName, array $args = array(), $namespaces = array()) - { - require_once 'Zend/Loader.php'; - $namespaces = array_merge((array) $namespaces, self::$_defaultNamespaces, array('Zend_Filter')); - foreach ($namespaces as $namespace) { - $className = $namespace . '_' . ucfirst($classBaseName); - if (!class_exists($className)) { - try { - Zend_Loader::loadClass($className); - } catch (Zend_Exception $ze) { - continue; - } - } - $class = new ReflectionClass($className); - if ($class->implementsInterface('Zend_Filter_Interface')) { - if ($class->hasMethod('__construct')) { - $object = $class->newInstanceArgs($args); - } else { - $object = $class->newInstance(); - } - return $object->filter($value); - } - } - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Filter class not found from basename '$classBaseName'"); - } -} diff --git a/lib/zend/Zend/Filter/Alnum.php b/lib/zend/Zend/Filter/Alnum.php deleted file mode 100644 index 304a6877a2..0000000000 --- a/lib/zend/Zend/Filter/Alnum.php +++ /dev/null @@ -1,136 +0,0 @@ -allowWhiteSpace = (boolean) $allowWhiteSpace; - if (null === self::$_unicodeEnabled) { - self::$_unicodeEnabled = (@preg_match('/\pL/u', 'a')) ? true : false; - } - - if (null === self::$_meansEnglishAlphabet) { - $this->_locale = new Zend_Locale('auto'); - self::$_meansEnglishAlphabet = in_array($this->_locale->getLanguage(), - array('ja', 'ko', 'zh') - ); - } - - } - - /** - * Returns the allowWhiteSpace option - * - * @return boolean - */ - public function getAllowWhiteSpace() - { - return $this->allowWhiteSpace; - } - - /** - * Sets the allowWhiteSpace option - * - * @param boolean $allowWhiteSpace - * @return Zend_Filter_Alnum Provides a fluent interface - */ - public function setAllowWhiteSpace($allowWhiteSpace) - { - $this->allowWhiteSpace = (boolean) $allowWhiteSpace; - return $this; - } - - /** - * Defined by Zend_Filter_Interface - * - * Returns the string $value, removing all but alphabetic and digit characters - * - * @param string $value - * @return string - */ - public function filter($value) - { - $whiteSpace = $this->allowWhiteSpace ? '\s' : ''; - if (!self::$_unicodeEnabled) { - // POSIX named classes are not supported, use alternative a-zA-Z0-9 match - $pattern = '/[^a-zA-Z0-9' . $whiteSpace . ']/'; - } else if (self::$_meansEnglishAlphabet) { - //The Alphabet means english alphabet. - $pattern = '/[^a-zA-Z0-9' . $whiteSpace . ']/u'; - } else { - //The Alphabet means each language's alphabet. - $pattern = '/[^\p{L}\p{N}' . $whiteSpace . ']/u'; - } - - return preg_replace($pattern, '', (string) $value); - } -} diff --git a/lib/zend/Zend/Filter/Alpha.php b/lib/zend/Zend/Filter/Alpha.php deleted file mode 100644 index 5d918c6fbe..0000000000 --- a/lib/zend/Zend/Filter/Alpha.php +++ /dev/null @@ -1,136 +0,0 @@ -allowWhiteSpace = (boolean) $allowWhiteSpace; - if (null === self::$_unicodeEnabled) { - self::$_unicodeEnabled = (@preg_match('/\pL/u', 'a')) ? true : false; - } - - if (null === self::$_meansEnglishAlphabet) { - $this->_locale = new Zend_Locale('auto'); - self::$_meansEnglishAlphabet = in_array($this->_locale->getLanguage(), - array('ja', 'ko', 'zh') - ); - } - - } - - /** - * Returns the allowWhiteSpace option - * - * @return boolean - */ - public function getAllowWhiteSpace() - { - return $this->allowWhiteSpace; - } - - /** - * Sets the allowWhiteSpace option - * - * @param boolean $allowWhiteSpace - * @return Zend_Filter_Alpha Provides a fluent interface - */ - public function setAllowWhiteSpace($allowWhiteSpace) - { - $this->allowWhiteSpace = (boolean) $allowWhiteSpace; - return $this; - } - - /** - * Defined by Zend_Filter_Interface - * - * Returns the string $value, removing all but alphabetic characters - * - * @param string $value - * @return string - */ - public function filter($value) - { - $whiteSpace = $this->allowWhiteSpace ? '\s' : ''; - if (!self::$_unicodeEnabled) { - // POSIX named classes are not supported, use alternative a-zA-Z match - $pattern = '/[^a-zA-Z' . $whiteSpace . ']/'; - } else if (self::$_meansEnglishAlphabet) { - //The Alphabet means english alphabet. - $pattern = '/[^a-zA-Z' . $whiteSpace . ']/u'; - } else { - //The Alphabet means each language's alphabet. - $pattern = '/[^\p{L}' . $whiteSpace . ']/u'; - } - - return preg_replace($pattern, '', (string) $value); - } -} diff --git a/lib/zend/Zend/Filter/BaseName.php b/lib/zend/Zend/Filter/BaseName.php deleted file mode 100644 index 5189a49e60..0000000000 --- a/lib/zend/Zend/Filter/BaseName.php +++ /dev/null @@ -1,50 +0,0 @@ -setCallback($callback); - $this->setOptions($options); - } - - /** - * Returns the set callback - * - * @return string|array Set callback - */ - public function getCallback() - { - return $this->_callback; - } - - /** - * Sets a new callback for this filter - * - * @param unknown_type $callback - * @return unknown - */ - public function setCallback($callback, $options = null) - { - if (!is_callable($callback)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('Callback can not be accessed'); - } - - $this->_callback = $callback; - $this->setOptions($options); - return $this; - } - - /** - * Returns the set default options - * - * @return mixed - */ - public function getOptions() - { - return $this->_options; - } - - /** - * Sets new default options to the callback filter - * - * @param mixed $options Default options to set - * @return Zend_Filter_Callback - */ - public function setOptions($options) - { - $this->_options = $options; - return $this; - } - - /** - * Calls the filter per callback - * - * @param $value mixed Options for the set callback - * @return mixed Result from the filter which was callbacked - */ - public function filter($value) - { - $options = array(); - - if ($this->_options !== null) { - if (!is_array($this->_options)) { - $options = array($this->_options); - } else { - $options = $this->_options; - } - } - - array_unshift($options, $value); - - return call_user_func_array($this->_callback, $options); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Filter/Decrypt.php b/lib/zend/Zend/Filter/Decrypt.php deleted file mode 100644 index 84a6bc8640..0000000000 --- a/lib/zend/Zend/Filter/Decrypt.php +++ /dev/null @@ -1,49 +0,0 @@ -_adapter->decrypt($value); - } -} diff --git a/lib/zend/Zend/Filter/Digits.php b/lib/zend/Zend/Filter/Digits.php deleted file mode 100644 index 97a6744d7a..0000000000 --- a/lib/zend/Zend/Filter/Digits.php +++ /dev/null @@ -1,82 +0,0 @@ -setAdapter($options); - } - - /** - * Returns the name of the set adapter - * - * @return string - */ - public function getAdapter() - { - return $this->_adapter->toString(); - } - - /** - * Sets new encryption options - * - * @param string|array $options (Optional) Encryption options - * @return Zend_Filter_Encrypt - */ - public function setAdapter($options = null) - { - if (is_string($options)) { - $adapter = $options; - } else if (isset($options['adapter'])) { - $adapter = $options['adapter']; - unset($options['adapter']); - } else { - $adapter = 'Mcrypt'; - } - - if (!is_array($options)) { - $options = array(); - } - - if (Zend_Loader::isReadable('Zend/Filter/Encrypt/' . ucfirst($adapter). '.php')) { - $adapter = 'Zend_Filter_Encrypt_' . ucfirst($adapter); - } - - if (!class_exists($adapter)) { - Zend_Loader::loadClass($adapter); - } - - $this->_adapter = new $adapter($options); - if (!$this->_adapter instanceof Zend_Filter_Encrypt_Interface) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Encoding adapter '" . $adapter . "' does not implement Zend_Filter_Encrypt_Interface"); - } - - return $this; - } - - /** - * Calls adapter methods - * - * @param string $method Method to call - * @param string|array $options Options for this method - */ - public function __call($method, $options) - { - $part = substr($method, 0, 3); - if ((($part != 'get') and ($part != 'set')) or !method_exists($this->_adapter, $method)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Unknown method '{$method}'"); - } - - return call_user_func_array(array($this->_adapter, $method), $options); - } - - /** - * Defined by Zend_Filter_Interface - * - * Encrypts the content $value with the defined settings - * - * @param string $value Content to encrypt - * @return string The encrypted content - */ - public function filter($value) - { - return $this->_adapter->encrypt($value); - } -} diff --git a/lib/zend/Zend/Filter/Encrypt/Interface.php b/lib/zend/Zend/Filter/Encrypt/Interface.php deleted file mode 100644 index 7b29161778..0000000000 --- a/lib/zend/Zend/Filter/Encrypt/Interface.php +++ /dev/null @@ -1,47 +0,0 @@ - encryption key string - * 'algorithm' => algorithm to use - * 'algorithm_directory' => directory where to find the algorithm - * 'mode' => encryption mode to use - * 'modedirectory' => directory where to find the mode - * ) - */ - protected $_encryption = array( - 'key' => 'ZendFramework', - 'algorithm' => 'blowfish', - 'algorithm_directory' => '', - 'mode' => 'cbc', - 'mode_directory' => '', - 'vector' => null, - 'salt' => false - ); - - /** - * Class constructor - * - * @param string|array|Zend_Config $options Cryption Options - */ - public function __construct($options) - { - if (!extension_loaded('mcrypt')) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('This filter needs the mcrypt extension'); - } - - if ($options instanceof Zend_Config) { - $options = $options->toArray(); - } elseif (is_string($options)) { - $options = array('key' => $options); - } elseif (!is_array($options)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('Invalid options argument provided to filter'); - } - - $this->setEncryption($options); - } - - /** - * Returns the set encryption options - * - * @return array - */ - public function getEncryption() - { - return $this->_encryption; - } - - /** - * Sets new encryption options - * - * @param string|array $options Encryption options - * @return Zend_Filter_File_Encryption - */ - public function setEncryption($options) - { - if (is_string($options)) { - $options = array('key' => $options); - } - - if (!is_array($options)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('Invalid options argument provided to filter'); - } - - $options = $options + $this->getEncryption(); - $algorithms = mcrypt_list_algorithms($options['algorithm_directory']); - if (!in_array($options['algorithm'], $algorithms)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("The algorithm '{$options['algorithm']}' is not supported"); - } - - $modes = mcrypt_list_modes($options['mode_directory']); - if (!in_array($options['mode'], $modes)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("The mode '{$options['mode']}' is not supported"); - } - - if (!mcrypt_module_self_test($options['algorithm'], $options['algorithm_directory'])) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('The given algorithm can not be used due an internal mcrypt problem'); - } - - if (!isset($options['vector'])) { - $options['vector'] = null; - } - - $this->_encryption = $options; - $this->setVector($options['vector']); - - return $this; - } - - /** - * Returns the set vector - * - * @return string - */ - public function getVector() - { - return $this->_encryption['vector']; - } - - /** - * Sets the initialization vector - * - * @param string $vector (Optional) Vector to set - * @return Zend_Filter_Encrypt_Mcrypt - */ - public function setVector($vector = null) - { - $cipher = $this->_openCipher(); - $size = mcrypt_enc_get_iv_size($cipher); - if (empty($vector)) { - srand(); - $vector = mcrypt_create_iv($size, MCRYPT_RAND); - } else if (strlen($vector) != $size) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('The given vector has a wrong size for the set algorithm'); - } - - $this->_encryption['vector'] = $vector; - $this->_closeCipher($cipher); - - return $this; - } - - /** - * Defined by Zend_Filter_Interface - * - * Encrypts the file $value with the defined settings - * - * @param string $value Full path of file to change - * @return string The filename which has been set, or false when there were errors - */ - public function encrypt($value) - { - $cipher = $this->_openCipher(); - $this->_initCipher($cipher); - $encrypted = mcrypt_generic($cipher, $value); - mcrypt_generic_deinit($cipher); - $this->_closeCipher($cipher); - - return $encrypted; - } - - /** - * Defined by Zend_Filter_Interface - * - * Decrypts the file $value with the defined settings - * - * @param string $value Full path of file to change - * @return string The filename which has been set, or false when there were errors - */ - public function decrypt($value) - { - $cipher = $this->_openCipher(); - $this->_initCipher($cipher); - $decrypted = mdecrypt_generic($cipher, $value); - mcrypt_generic_deinit($cipher); - $this->_closeCipher($cipher); - - return $decrypted; - } - - /** - * Returns the adapter name - * - * @return string - */ - public function toString() - { - return 'Mcrypt'; - } - - /** - * Open a cipher - * - * @throws Zend_Filter_Exception When the cipher can not be opened - * @return resource Returns the opened cipher - */ - protected function _openCipher() - { - $cipher = mcrypt_module_open( - $this->_encryption['algorithm'], - $this->_encryption['algorithm_directory'], - $this->_encryption['mode'], - $this->_encryption['mode_directory']); - - if ($cipher === false) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('Mcrypt can not be opened with your settings'); - } - - return $cipher; - } - - /** - * Close a cipher - * - * @param resource $cipher Cipher to close - * @return Zend_Filter_Encrypt_Mcrypt - */ - protected function _closeCipher($cipher) - { - mcrypt_module_close($cipher); - - return $this; - } - - /** - * Initialises the cipher with the set key - * - * @param resource $cipher - * @throws - * @return resource - */ - protected function _initCipher($cipher) - { - $key = $this->_encryption['key']; - - $keysizes = mcrypt_enc_get_supported_key_sizes($cipher); - if (empty($keysizes) || ($this->_encryption['salt'] == true)) { - srand(); - $keysize = mcrypt_enc_get_key_size($cipher); - $key = substr(md5($key), 0, $keysize); - } else if (!in_array(strlen($key), $keysizes)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('The given key has a wrong size for the set algorithm'); - } - - $result = mcrypt_generic_init($cipher, $key, $this->_encryption['vector']); - if ($result < 0) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('Mcrypt could not be initialize with the given setting'); - } - - return $this; - } -} diff --git a/lib/zend/Zend/Filter/Encrypt/Openssl.php b/lib/zend/Zend/Filter/Encrypt/Openssl.php deleted file mode 100644 index 8345de1515..0000000000 --- a/lib/zend/Zend/Filter/Encrypt/Openssl.php +++ /dev/null @@ -1,343 +0,0 @@ - public keys - * 'private' => private keys - * 'envelope' => resulting envelope keys - * ) - */ - protected $_keys = array( - 'public' => array(), - 'private' => array(), - 'envelope' => array() - ); - - /** - * Internal passphrase - * - * @var string - */ - protected $_passphrase; - - /** - * Class constructor - * - * @param string|array $oldfile File which should be renamed/moved - * @param string|array $newfile New filename, when not set $oldfile will be used as new filename - * for $value when filtering - * @param boolean $overwrite If set to true, it will overwrite existing files - */ - public function __construct($options = array()) - { - if (!extension_loaded('openssl')) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('This filter needs the openssl extension'); - } - - if ($options instanceof Zend_Config) { - $options = $options->toArray(); - } - - $this->setPublicKey($options); - } - - /** - * Returns the set encryption options - * - * @param string|array $keys Key with type association - * @return Zend_Filter_Encrypt_Openssl - */ - protected function setKeys($keys) - { - if (!is_array($keys)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('Invalid options argument provided to filter'); - } - - foreach ($keys as $type => $key) { - if (is_file($key) and is_readable($key)) { - $file = fopen($key, 'r'); - $cert = fread($file, 8192); - fclose($file); - } else { - $cert = $key; - $key = count($this->_keys[$type]); - } - - switch ($type) { - case 'public': - $test = openssl_pkey_get_public($cert); - if ($test === false) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Public key '{$cert}' not valid"); - } - - openssl_free_key($test); - $this->_keys['public'][$key] = $cert; - break; - case 'private': - $test = openssl_pkey_get_private($cert, $this->_passphrase); - if ($test === false) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Private key '{$cert}' not valid"); - } - - openssl_free_key($test); - $this->_keys['private'][$key] = $cert; - break; - case 'envelope': - $this->_keys['envelope'][$key] = $cert; - break; - default: - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Unknown key type '{$type}'"); - } - } - - return $this; - } - - /** - * Returns all public keys - * - * @return array - */ - public function getPublicKey() - { - return $this->_keys['public']; - } - - /** - * Sets public keys - * - * @param string|array $key Public keys - * @return Zend_Filter_Encrypt_Openssl - */ - public function setPublicKey($key) - { - if (is_array($key)) { - foreach($key as $type => $option) { - if ($type !== 'public') { - $key['public'] = $option; - unset($key[$type]); - } - } - } else { - $key = array('public' => $key); - } - - return $this->setKeys($key); - } - - /** - * Returns all private keys - * - * @return array - */ - public function getPrivateKey() - { - return $this->_keys['private']; - } - - /** - * Sets private keys - * - * @param string $key Private key - * @param string $passphrase - * @return Zend_Filter_Encrypt_Openssl - */ - public function setPrivateKey($key, $passphrase = null) - { - if (is_array($key)) { - foreach($key as $type => $option) { - if ($type !== 'private') { - $key['private'] = $option; - unset($key[$type]); - } - } - } else { - $key = array('private' => $key); - } - - if ($passphrase !== null) { - $this->setPassphrase($passphrase); - } - - return $this->setKeys($key); - } - - /** - * Returns all envelope keys - * - * @return array - */ - public function getEnvelopeKey() - { - return $this->_keys['envelope']; - } - - /** - * Sets envelope keys - * - * @param string|array $options Envelope keys - * @return Zend_Filter_Encrypt_Openssl - */ - public function setEnvelopeKey($key) - { - if (is_array($key)) { - foreach($key as $type => $option) { - if ($type !== 'envelope') { - $key['envelope'] = $option; - unset($key[$type]); - } - } - } else { - $key = array('envelope' => $key); - } - - return $this->setKeys($key); - } - - /** - * Returns the passphrase - * - * @return string - */ - public function getPassphrase() - { - return $this->_passphrase; - } - - /** - * Sets a new passphrase - * - * @param string $passphrase - * @return Zend_Filter_Encrypt_Openssl - */ - public function setPassphrase($passphrase) - { - $this->_passphrase = $passphrase; - return $this; - } - - /** - * Encrypts the file $value with the defined settings - * Note that you also need the "encrypted" keys to be able to decrypt - * - * @param string $value Content to encrypt - * @return string The encrypted content - * @throws Zend_Filter_Exception - */ - public function encrypt($value) - { - $encrypted = array(); - $encryptedkeys = array(); - - if (count($this->_keys['public']) == 0) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('Openssl can not encrypt without public keys'); - } - - foreach($this->_keys['public'] as $key => $cert) { - $keys[$key] = openssl_pkey_get_public($cert); - } - - $crypt = openssl_seal($value, $encrypted, $encryptedkeys, $keys); - foreach ($keys as $key) { - openssl_free_key($key); - } - - if ($crypt === false) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('Openssl was not able to encrypt you content with the given options'); - } - - $this->_keys['envelope'] = $encryptedkeys; - return $encrypted; - } - - /** - * Defined by Zend_Filter_Interface - * - * Decrypts the file $value with the defined settings - * - * @param string $value Content to decrypt - * @return string The decrypted content - * @throws Zend_Filter_Exception - */ - public function decrypt($value) - { - $decrypted = ""; - $envelope = current($this->getEnvelopeKey()); - - if (count($this->_keys['private']) !== 1) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('Openssl can only decrypt with one private key'); - } - - if (empty($envelope)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('Openssl can only decrypt with one envelope key'); - } - - foreach($this->_keys['private'] as $key => $cert) { - $keys = openssl_pkey_get_private($cert, $this->getPassphrase()); - } - - $crypt = openssl_open($value, $decrypted, $envelope, $keys); - openssl_free_key($keys); - - if ($crypt === false) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('Openssl was not able to decrypt you content with the given options'); - } - - return $decrypted; - } - - /** - * Returns the adapter name - * - * @return string - */ - public function toString() - { - return 'Openssl'; - } -} diff --git a/lib/zend/Zend/Filter/Exception.php b/lib/zend/Zend/Filter/Exception.php deleted file mode 100644 index c851531c5e..0000000000 --- a/lib/zend/Zend/Filter/Exception.php +++ /dev/null @@ -1,37 +0,0 @@ -_filename; - } - - /** - * Sets the new filename where the content will be stored - * - * @param string $filename (Optional) New filename to set - * @return Zend_Filter_File_Encryt - */ - public function setFilename($filename = null) - { - $this->_filename = $filename; - return $this; - } - - /** - * Defined by Zend_Filter_Interface - * - * Decrypts the file $value with the defined settings - * - * @param string $value Full path of file to change - * @return string The filename which has been set, or false when there were errors - */ - public function filter($value) - { - if (!file_exists($value)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("File '$value' not found"); - } - - if (!isset($this->_filename)) { - $this->_filename = $value; - } - - if (file_exists($this->_filename) and !is_writable($this->_filename)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("File '{$this->_filename}' is not writable"); - } - - $content = file_get_contents($value); - if (!$content) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Problem while reading file '$value'"); - } - - $decrypted = parent::filter($content); - $result = file_put_contents($this->_filename, $decrypted); - - if (!$result) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Problem while writing file '{$this->_filename}'"); - } - - return $this->_filename; - } -} diff --git a/lib/zend/Zend/Filter/File/Encrypt.php b/lib/zend/Zend/Filter/File/Encrypt.php deleted file mode 100644 index 22834bcf93..0000000000 --- a/lib/zend/Zend/Filter/File/Encrypt.php +++ /dev/null @@ -1,106 +0,0 @@ -_filename; - } - - /** - * Sets the new filename where the content will be stored - * - * @param string $filename (Optional) New filename to set - * @return Zend_Filter_File_Encryt - */ - public function setFilename($filename = null) - { - $this->_filename = $filename; - return $this; - } - - /** - * Defined by Zend_Filter_Interface - * - * Encrypts the file $value with the defined settings - * - * @param string $value Full path of file to change - * @return string The filename which has been set, or false when there were errors - */ - public function filter($value) - { - if (!file_exists($value)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("File '$value' not found"); - } - - if (!isset($this->_filename)) { - $this->_filename = $value; - } - - if (file_exists($this->_filename) and !is_writable($this->_filename)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("File '{$this->_filename}' is not writable"); - } - - $content = file_get_contents($value); - if (!$content) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Problem while reading file '$value'"); - } - - $encrypted = parent::filter($content); - $result = file_put_contents($this->_filename, $encrypted); - - if (!$result) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Problem while writing file '{$this->_filename}'"); - } - - return $this->_filename; - } -} diff --git a/lib/zend/Zend/Filter/File/LowerCase.php b/lib/zend/Zend/Filter/File/LowerCase.php deleted file mode 100644 index 6939e7cf68..0000000000 --- a/lib/zend/Zend/Filter/File/LowerCase.php +++ /dev/null @@ -1,84 +0,0 @@ -setEncoding($options); - } - } - - /** - * Defined by Zend_Filter_Interface - * - * Does a lowercase on the content of the given file - * - * @param string $value Full path of file to change - * @return string The given $value - * @throws Zend_Filter_Exception - */ - public function filter($value) - { - if (!file_exists($value)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("File '$value' not found"); - } - - if (!is_writable($value)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("File '$value' is not writable"); - } - - $content = file_get_contents($value); - if (!$content) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Problem while reading file '$value'"); - } - - $content = parent::filter($content); - $result = file_put_contents($value, $content); - - if (!$result) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Problem while writing file '$value'"); - } - - return $value; - } -} diff --git a/lib/zend/Zend/Filter/File/Rename.php b/lib/zend/Zend/Filter/File/Rename.php deleted file mode 100644 index 664410e2f5..0000000000 --- a/lib/zend/Zend/Filter/File/Rename.php +++ /dev/null @@ -1,305 +0,0 @@ - Source filename or directory which will be renamed - * 'target' => Target filename or directory, the new name of the sourcefile - * 'overwrite' => Shall existing files be overwritten ? - * - * @param string|array $options Target file or directory to be renamed - * @param string $target Source filename or directory (deprecated) - * @param bool $overwrite Should existing files be overwritten (deprecated) - * @return void - */ - public function __construct($options) - { - if ($options instanceof Zend_Config) { - $options = $options->toArray(); - } elseif (is_string($options)) { - $options = array('target' => $options); - } elseif (!is_array($options)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('Invalid options argument provided to filter'); - } - - if (1 < func_num_args()) { - trigger_error('Support for multiple arguments is deprecated in favor of a single options array', E_USER_NOTICE); - $argv = func_get_args(); - array_shift($argv); - $source = array_shift($argv); - $overwrite = false; - if (!empty($argv)) { - $overwrite = array_shift($argv); - } - $options['source'] = $source; - $options['overwrite'] = $overwrite; - } - - $this->setFile($options); - } - - /** - * Returns the files to rename and their new name and location - * - * @return array - */ - public function getFile() - { - return $this->_files; - } - - /** - * Sets a new file or directory as target, deleting existing ones - * - * Array accepts the following keys: - * 'source' => Source filename or directory which will be renamed - * 'target' => Target filename or directory, the new name of the sourcefile - * 'overwrite' => Shall existing files be overwritten ? - * - * @param string|array $options Old file or directory to be rewritten - * @return Zend_Filter_File_Rename - */ - public function setFile($options) - { - $this->_files = array(); - $this->addFile($options); - - return $this; - } - - /** - * Adds a new file or directory as target to the existing ones - * - * Array accepts the following keys: - * 'source' => Source filename or directory which will be renamed - * 'target' => Target filename or directory, the new name of the sourcefile - * 'overwrite' => Shall existing files be overwritten ? - * - * @param string|array $options Old file or directory to be rewritten - * @return Zend_Filter_File_Rename - */ - public function addFile($options) - { - if (is_string($options)) { - $options = array('target' => $options); - } elseif (!is_array($options)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception ('Invalid options to rename filter provided'); - } - - $this->_convertOptions($options); - - return $this; - } - - /** - * Returns only the new filename without moving it - * But existing files will be erased when the overwrite option is true - * - * @param string $value Full path of file to change - * @param boolean $source Return internal informations - * @return string The new filename which has been set - */ - public function getNewName($value, $source = false) - { - $file = $this->_getFileName($value); - if ($file['source'] == $file['target']) { - return $value; - } - - if (!file_exists($file['source'])) { - return $value; - } - - if (($file['overwrite'] == true) && (file_exists($file['target']))) { - unlink($file['target']); - } - - if (file_exists($file['target'])) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception(sprintf("File '%s' could not be renamed. It already exists.", $value)); - } - - if ($source) { - return $file; - } - - return $file['target']; - } - - /** - * Defined by Zend_Filter_Interface - * - * Renames the file $value to the new name set before - * Returns the file $value, removing all but digit characters - * - * @param string $value Full path of file to change - * @throws Zend_Filter_Exception - * @return string The new filename which has been set, or false when there were errors - */ - public function filter($value) - { - $file = $this->getNewName($value, true); - if (is_string($file)) { - return $file; - } - - $result = rename($file['source'], $file['target']); - - if ($result === true) { - return $file['target']; - } - - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception(sprintf("File '%s' could not be renamed. An error occured while processing the file.", $value)); - } - - /** - * Internal method for creating the file array - * Supports single and nested arrays - * - * @param array $options - * @return array - */ - protected function _convertOptions($options) { - $files = array(); - foreach ($options as $key => $value) { - if (is_array($value)) { - $this->_convertOptions($value); - continue; - } - - switch ($key) { - case "source": - $files['source'] = (string) $value; - break; - - case 'target' : - $files['target'] = (string) $value; - break; - - case 'overwrite' : - $files['overwrite'] = (boolean) $value; - break; - - default: - break; - } - } - - if (empty($files)) { - return $this; - } - - if (empty($files['source'])) { - $files['source'] = '*'; - } - - if (empty($files['target'])) { - $files['target'] = '*'; - } - - if (empty($files['overwrite'])) { - $files['overwrite'] = false; - } - - $found = false; - foreach ($this->_files as $key => $value) { - if ($value['source'] == $files['source']) { - $this->_files[$key] = $files; - $found = true; - } - } - - if (!$found) { - $count = count($this->_files); - $this->_files[$count] = $files; - } - - return $this; - } - - /** - * Internal method to resolve the requested source - * and return all other related parameters - * - * @param string $file Filename to get the informations for - * @return array - */ - protected function _getFileName($file) - { - $rename = array(); - foreach ($this->_files as $value) { - if ($value['source'] == '*') { - if (!isset($rename['source'])) { - $rename = $value; - $rename['source'] = $file; - } - } - - if ($value['source'] == $file) { - $rename = $value; - } - } - - if (!isset($rename['source'])) { - return $file; - } - - if (!isset($rename['target']) or ($rename['target'] == '*')) { - $rename['target'] = $rename['source']; - } - - if (is_dir($rename['target'])) { - $name = basename($rename['source']); - $last = $rename['target'][strlen($rename['target']) - 1]; - if (($last != '/') and ($last != '\\')) { - $rename['target'] .= DIRECTORY_SEPARATOR; - } - - $rename['target'] .= $name; - } - - return $rename; - } -} diff --git a/lib/zend/Zend/Filter/File/UpperCase.php b/lib/zend/Zend/Filter/File/UpperCase.php deleted file mode 100644 index 17b5a904c7..0000000000 --- a/lib/zend/Zend/Filter/File/UpperCase.php +++ /dev/null @@ -1,84 +0,0 @@ -setEncoding($options); - } - } - - /** - * Defined by Zend_Filter_Interface - * - * Does a lowercase on the content of the given file - * - * @param string $value Full path of file to change - * @return string The given $value - * @throws Zend_Filter_Exception - */ - public function filter($value) - { - if (!file_exists($value)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("File '$value' not found"); - } - - if (!is_writable($value)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("File '$value' is not writable"); - } - - $content = file_get_contents($value); - if (!$content) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Problem while reading file '$value'"); - } - - $content = parent::filter($content); - $result = file_put_contents($value, $content); - - if (!$result) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Problem while writing file '$value'"); - } - - return $value; - } -} diff --git a/lib/zend/Zend/Filter/HtmlEntities.php b/lib/zend/Zend/Filter/HtmlEntities.php deleted file mode 100644 index 60aeed5818..0000000000 --- a/lib/zend/Zend/Filter/HtmlEntities.php +++ /dev/null @@ -1,172 +0,0 @@ -setQuoteStyle($options['quotestyle']); - $this->setCharSet($options['charset']); - $this->setDoubleQuote($options['doublequote']); - } - - /** - * Returns the quoteStyle option - * - * @return integer - */ - public function getQuoteStyle() - { - return $this->_quoteStyle; - } - - /** - * Sets the quoteStyle option - * - * @param integer $quoteStyle - * @return Zend_Filter_HtmlEntities Provides a fluent interface - */ - public function setQuoteStyle($quoteStyle) - { - $this->_quoteStyle = $quoteStyle; - return $this; - } - - /** - * Returns the charSet option - * - * @return string - */ - public function getCharSet() - { - return $this->_charSet; - } - - /** - * Sets the charSet option - * - * @param string $charSet - * @return Zend_Filter_HtmlEntities Provides a fluent interface - */ - public function setCharSet($charSet) - { - $this->_charSet = $charSet; - return $this; - } - - /** - * Returns the doubleQuote option - * - * @return boolean - */ - public function getDoubleQuote() - { - return $this->_doubleQuote; - } - - /** - * Sets the doubleQuote option - * - * @param boolean $doubleQuote - * @return Zend_Filter_HtmlEntities Provides a fluent interface - */ - public function setDoubleQuote($doubleQuote) - { - $this->_doubleQuote = (boolean) $doubleQuote; - return $this; - } - - /** - * Defined by Zend_Filter_Interface - * - * Returns the string $value, converting characters to their corresponding HTML entity - * equivalents where they exist - * - * @param string $value - * @return string - */ - public function filter($value) - { - return htmlentities((string) $value, $this->_quoteStyle, $this->_charSet, $this->_doubleQuote); - } -} diff --git a/lib/zend/Zend/Filter/Inflector.php b/lib/zend/Zend/Filter/Inflector.php deleted file mode 100644 index a776f080fe..0000000000 --- a/lib/zend/Zend/Filter/Inflector.php +++ /dev/null @@ -1,506 +0,0 @@ -setConfig($target); - } else { - if ((null !== $target) && is_string($target)) { - $this->setTarget($target); - } - - if (null !== $rules) { - $this->addRules($rules); - } - - if ($throwTargetExceptionsOn !== null) { - $this->setThrowTargetExceptionsOn($throwTargetExceptionsOn); - } - - if ($targetReplacementIdentifer != '') { - $this->setTargetReplacementIdentifier($targetReplacementIdentifer); - } - } - } - - /** - * Retreive PluginLoader - * - * @return Zend_Loader_PluginLoader_Interface - */ - public function getPluginLoader() - { - if (!$this->_pluginLoader instanceof Zend_Loader_PluginLoader_Interface) { - $this->_pluginLoader = new Zend_Loader_PluginLoader(array('Zend_Filter_' => 'Zend/Filter/'), __CLASS__); - } - - return $this->_pluginLoader; - } - - /** - * Set PluginLoader - * - * @param Zend_Loader_PluginLoader_Interface $pluginLoader - * @return Zend_Filter_Inflector - */ - public function setPluginLoader(Zend_Loader_PluginLoader_Interface $pluginLoader) - { - $this->_pluginLoader = $pluginLoader; - return $this; - } - - /** - * Use Zend_Config object to set object state - * - * @param Zend_Config $config - * @return Zend_Filter_Inflector - */ - public function setConfig(Zend_Config $config) - { - foreach ($config as $key => $value) { - switch ($key) { - case 'target': - $this->setTarget($value); - break; - case 'filterPrefixPath': - if (is_scalar($value)) { - break; - } - $paths = $value->toArray(); - foreach ($paths as $prefix => $path) { - $this->addFilterPrefixPath($prefix, $path); - } - break; - case 'throwTargetExceptionsOn': - $this->setThrowTargetExceptionsOn($value); - break; - case 'targetReplacementIdentifier': - $this->setTargetReplacementIdentifier($value); - break; - case 'rules': - $this->addRules($value->toArray()); - break; - default: - break; - } - } - return $this; - } - - /** - * Convienence method to add prefix and path to PluginLoader - * - * @param string $prefix - * @param string $path - * @return Zend_Filter_Inflector - */ - public function addFilterPrefixPath($prefix, $path) - { - $this->getPluginLoader()->addPrefixPath($prefix, $path); - return $this; - } - - /** - * Set Whether or not the inflector should throw an exception when a replacement - * identifier is still found within an inflected target. - * - * @param bool $throwTargetExceptions - * @return Zend_Filter_Inflector - */ - public function setThrowTargetExceptionsOn($throwTargetExceptionsOn) - { - $this->_throwTargetExceptionsOn = ($throwTargetExceptionsOn == true) ? true : false; - return $this; - } - - /** - * Will exceptions be thrown? - * - * @return bool - */ - public function isThrowTargetExceptionsOn() - { - return $this->_throwTargetExceptionsOn; - } - - /** - * Set the Target Replacement Identifier, by default ':' - * - * @param string $targetReplacementIdentifier - * @return Zend_Filter_Inflector - */ - public function setTargetReplacementIdentifier($targetReplacementIdentifier) - { - $this->_targetReplacementIdentifier = (string) $targetReplacementIdentifier; - return $this; - } - - /** - * Get Target Replacement Identifier - * - * @return string - */ - public function getTargetReplacementIdentifier() - { - return $this->_targetReplacementIdentifier; - } - - /** - * Set a Target - * ex: 'scripts/:controller/:action.:suffix' - * - * @param string - * @return Zend_Filter_Inflector - */ - public function setTarget($target) - { - $this->_target = (string) $target; - return $this; - } - - /** - * Retrieve target - * - * @return string - */ - public function getTarget() - { - return $this->_target; - } - - /** - * Set Target Reference - * - * @param reference $target - * @return Zend_Filter_Inflector - */ - public function setTargetReference(&$target) - { - $this->_target =& $target; - return $this; - } - - /** - * SetRules() is the same as calling addRules() with the exception that it - * clears the rules before adding them. - * - * @param array $rules - * @return Zend_Filter_Inflector - */ - public function setRules(Array $rules) - { - $this->clearRules(); - $this->addRules($rules); - return $this; - } - - /** - * AddRules(): multi-call to setting filter rules. - * - * If prefixed with a ":" (colon), a filter rule will be added. If not - * prefixed, a static replacement will be added. - * - * ex: - * array( - * ':controller' => array('CamelCaseToUnderscore','StringToLower'), - * ':action' => array('CamelCaseToUnderscore','StringToLower'), - * 'suffix' => 'phtml' - * ); - * - * @param array - * @return Zend_Filter_Inflector - */ - public function addRules(Array $rules) - { - $keys = array_keys($rules); - foreach ($keys as $spec) { - if ($spec[0] == ':') { - $this->addFilterRule($spec, $rules[$spec]); - } else { - $this->setStaticRule($spec, $rules[$spec]); - } - } - - return $this; - } - - /** - * Get rules - * - * By default, returns all rules. If a $spec is provided, will return those - * rules if found, false otherwise. - * - * @param string $spec - * @return array|false - */ - public function getRules($spec = null) - { - if (null !== $spec) { - $spec = $this->_normalizeSpec($spec); - if (isset($this->_rules[$spec])) { - return $this->_rules[$spec]; - } - return false; - } - - return $this->_rules; - } - - /** - * getRule() returns a rule set by setFilterRule(), a numeric index must be provided - * - * @param string $spec - * @param int $index - * @return Zend_Filter_Interface|false - */ - public function getRule($spec, $index) - { - $spec = $this->_normalizeSpec($spec); - if (isset($this->_rules[$spec]) && is_array($this->_rules[$spec])) { - if (isset($this->_rules[$spec][$index])) { - return $this->_rules[$spec][$index]; - } - } - return false; - } - - /** - * ClearRules() clears the rules currently in the inflector - * - * @return Zend_Filter_Inflector - */ - public function clearRules() - { - $this->_rules = array(); - return $this; - } - - /** - * Set a filtering rule for a spec. $ruleSet can be a string, Filter object - * or an array of strings or filter objects. - * - * @param string $spec - * @param array|string|Zend_Filter_Interface $ruleSet - * @return Zend_Filter_Inflector - */ - public function setFilterRule($spec, $ruleSet) - { - $spec = $this->_normalizeSpec($spec); - $this->_rules[$spec] = array(); - return $this->addFilterRule($spec, $ruleSet); - } - - /** - * Add a filter rule for a spec - * - * @param mixed $spec - * @param mixed $ruleSet - * @return void - */ - public function addFilterRule($spec, $ruleSet) - { - $spec = $this->_normalizeSpec($spec); - if (!isset($this->_rules[$spec])) { - $this->_rules[$spec] = array(); - } - - if (!is_array($ruleSet)) { - $ruleSet = array($ruleSet); - } - - if (is_string($this->_rules[$spec])) { - $temp = $this->_rules[$spec]; - $this->_rules[$spec] = array(); - $this->_rules[$spec][] = $temp; - } - - foreach ($ruleSet as $rule) { - $this->_rules[$spec][] = $this->_getRule($rule); - } - - return $this; - } - - /** - * Set a static rule for a spec. This is a single string value - * - * @param string $name - * @param string $value - * @return Zend_Filter_Inflector - */ - public function setStaticRule($name, $value) - { - $name = $this->_normalizeSpec($name); - $this->_rules[$name] = (string) $value; - return $this; - } - - /** - * Set Static Rule Reference. - * - * This allows a consuming class to pass a property or variable - * in to be referenced when its time to build the output string from the - * target. - * - * @param string $name - * @param mixed $reference - * @return Zend_Filter_Inflector - */ - public function setStaticRuleReference($name, &$reference) - { - $name = $this->_normalizeSpec($name); - $this->_rules[$name] =& $reference; - return $this; - } - - /** - * Inflect - * - * @param string|array $source - * @return string - */ - public function filter($source) - { - // clean source - foreach ( (array) $source as $sourceName => $sourceValue) { - $source[ltrim($sourceName, ':')] = $sourceValue; - } - - $pregQuotedTargetReplacementIdentifier = preg_quote($this->_targetReplacementIdentifier, '#'); - $processedParts = array(); - - foreach ($this->_rules as $ruleName => $ruleValue) { - if (isset($source[$ruleName])) { - if (is_string($ruleValue)) { - // overriding the set rule - $processedParts['#'.$pregQuotedTargetReplacementIdentifier.$ruleName.'#'] = str_replace('\\', '\\\\', $source[$ruleName]); - } elseif (is_array($ruleValue)) { - $processedPart = $source[$ruleName]; - foreach ($ruleValue as $ruleFilter) { - $processedPart = $ruleFilter->filter($processedPart); - } - $processedParts['#'.$pregQuotedTargetReplacementIdentifier.$ruleName.'#'] = str_replace('\\', '\\\\', $processedPart); - } - } elseif (is_string($ruleValue)) { - $processedParts['#'.$pregQuotedTargetReplacementIdentifier.$ruleName.'#'] = str_replace('\\', '\\\\', $ruleValue); - } - } - - // all of the values of processedParts would have been str_replace('\\', '\\\\', ..)'d to disable preg_replace backreferences - $inflectedTarget = preg_replace(array_keys($processedParts), array_values($processedParts), $this->_target); - - if ($this->_throwTargetExceptionsOn && (preg_match('#(?='.$pregQuotedTargetReplacementIdentifier.'[A-Za-z]{1})#', $inflectedTarget) == true)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('A replacement identifier ' . $this->_targetReplacementIdentifier . ' was found inside the inflected target, perhaps a rule was not satisfied with a target source? Unsatisfied inflected target: ' . $inflectedTarget); - } - - return $inflectedTarget; - } - - /** - * Normalize spec string - * - * @param string $spec - * @return string - */ - protected function _normalizeSpec($spec) - { - return ltrim((string) $spec, ':&'); - } - - /** - * Resolve named filters and convert them to filter objects. - * - * @param string $rule - * @return Zend_Filter_Interface - */ - protected function _getRule($rule) - { - if ($rule instanceof Zend_Filter_Interface) { - return $rule; - } - - $rule = (string) $rule; - - $className = $this->getPluginLoader()->load($rule); - $ruleObject = new $className(); - if (!$ruleObject instanceof Zend_Filter_Interface) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('No class named ' . $rule . ' implementing Zend_Filter_Interface could be found'); - } - - return $ruleObject; - } - -} diff --git a/lib/zend/Zend/Filter/Input.php b/lib/zend/Zend/Filter/Input.php deleted file mode 100644 index 4eb442a80c..0000000000 --- a/lib/zend/Zend/Filter/Input.php +++ /dev/null @@ -1,1028 +0,0 @@ - false, - self::BREAK_CHAIN => false, - self::ESCAPE_FILTER => 'HtmlEntities', - self::MISSING_MESSAGE => "Field '%field%' is required by rule '%rule%', but the field is missing", - self::NOT_EMPTY_MESSAGE => "You must give a non-empty value for field '%field%'", - self::PRESENCE => self::PRESENCE_OPTIONAL - ); - - /** - * @var boolean Set to False initially, this is set to True after the - * input data have been processed. Reset to False in setData() method. - */ - protected $_processed = false; - - /** - * @param array $filterRules - * @param array $validatorRules - * @param array $data OPTIONAL - * @param array $options OPTIONAL - */ - public function __construct($filterRules, $validatorRules, array $data = null, array $options = null) - { - if ($options) { - $this->setOptions($options); - } - - $this->_filterRules = (array) $filterRules; - $this->_validatorRules = (array) $validatorRules; - - if ($data) { - $this->setData($data); - } - } - - /** - * @param mixed $namespaces - * @return Zend_Filter_Input - * @deprecated since 1.5.0RC1 - use addFilterPrefixPath() or addValidatorPrefixPath instead. - */ - public function addNamespace($namespaces) - { - if (!is_array($namespaces)) { - $namespaces = array($namespaces); - } - - foreach ($namespaces as $namespace) { - $prefix = $namespace; - $path = str_replace('_', DIRECTORY_SEPARATOR, $prefix); - $this->addFilterPrefixPath($prefix, $path); - $this->addValidatorPrefixPath($prefix, $path); - } - - return $this; - } - - /** - * Add prefix path for all elements - * - * @param string $prefix - * @param string $path - * @return Zend_Filter_Input - */ - public function addFilterPrefixPath($prefix, $path) - { - $this->getPluginLoader(self::FILTER)->addPrefixPath($prefix, $path); - - return $this; - } - - /** - * Add prefix path for all elements - * - * @param string $prefix - * @param string $path - * @return Zend_Filter_Input - */ - public function addValidatorPrefixPath($prefix, $path) - { - $this->getPluginLoader(self::VALIDATE)->addPrefixPath($prefix, $path); - - return $this; - } - - /** - * Set plugin loaders for use with decorators and elements - * - * @param Zend_Loader_PluginLoader_Interface $loader - * @param string $type 'filter' or 'validate' - * @return Zend_Filter_Input - * @throws Zend_Filter_Exception on invalid type - */ - public function setPluginLoader(Zend_Loader_PluginLoader_Interface $loader, $type) - { - $type = strtolower($type); - switch ($type) { - case self::FILTER: - case self::VALIDATE: - $this->_loaders[$type] = $loader; - return $this; - default: - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception(sprintf('Invalid type "%s" provided to setPluginLoader()', $type)); - } - - return $this; - } - - /** - * Retrieve plugin loader for given type - * - * $type may be one of: - * - filter - * - validator - * - * If a plugin loader does not exist for the given type, defaults are - * created. - * - * @param string $type 'filter' or 'validate' - * @return Zend_Loader_PluginLoader_Interface - * @throws Zend_Filter_Exception on invalid type - */ - public function getPluginLoader($type) - { - $type = strtolower($type); - if (!isset($this->_loaders[$type])) { - switch ($type) { - case self::FILTER: - $prefixSegment = 'Zend_Filter_'; - $pathSegment = 'Zend/Filter/'; - break; - case self::VALIDATE: - $prefixSegment = 'Zend_Validate_'; - $pathSegment = 'Zend/Validate/'; - break; - default: - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception(sprintf('Invalid type "%s" provided to getPluginLoader()', $type)); - } - - require_once 'Zend/Loader/PluginLoader.php'; - $this->_loaders[$type] = new Zend_Loader_PluginLoader( - array($prefixSegment => $pathSegment) - ); - } - - return $this->_loaders[$type]; - } - - /** - * @return array - */ - public function getMessages() - { - $this->_process(); - return array_merge($this->_invalidMessages, $this->_missingFields); - } - - /** - * @return array - */ - public function getErrors() - { - $this->_process(); - return $this->_invalidErrors; - } - - /** - * @return array - */ - public function getInvalid() - { - $this->_process(); - return $this->_invalidMessages; - } - - /** - * @return array - */ - public function getMissing() - { - $this->_process(); - return $this->_missingFields; - } - - /** - * @return array - */ - public function getUnknown() - { - $this->_process(); - return $this->_unknownFields; - } - - /** - * @param string $fieldName OPTIONAL - * @return mixed - */ - public function getEscaped($fieldName = null) - { - $this->_process(); - $this->_getDefaultEscapeFilter(); - - if ($fieldName === null) { - return $this->_escapeRecursive($this->_validFields); - } - if (array_key_exists($fieldName, $this->_validFields)) { - return $this->_escapeRecursive($this->_validFields[$fieldName]); - } - return null; - } - - /** - * @param mixed $value - * @return mixed - */ - protected function _escapeRecursive($data) - { - if($data === null) { - return $data; - } - - if (!is_array($data)) { - return $this->_getDefaultEscapeFilter()->filter($data); - } - foreach ($data as &$element) { - $element = $this->_escapeRecursive($element); - } - return $data; - } - - /** - * @param string $fieldName OPTIONAL - * @return mixed - */ - public function getUnescaped($fieldName = null) - { - $this->_process(); - if ($fieldName === null) { - return $this->_validFields; - } - if (array_key_exists($fieldName, $this->_validFields)) { - return $this->_validFields[$fieldName]; - } - return null; - } - - /** - * @param string $fieldName - * @return mixed - */ - public function __get($fieldName) - { - return $this->getEscaped($fieldName); - } - - /** - * @return boolean - */ - public function hasInvalid() - { - $this->_process(); - return !(empty($this->_invalidMessages)); - } - - /** - * @return boolean - */ - public function hasMissing() - { - $this->_process(); - return !(empty($this->_missingFields)); - } - - /** - * @return boolean - */ - public function hasUnknown() - { - $this->_process(); - return !(empty($this->_unknownFields)); - } - - /** - * @return boolean - */ - public function hasValid() - { - $this->_process(); - return !(empty($this->_validFields)); - } - - /** - * @param string $fieldName - * @return boolean - */ - public function isValid($fieldName = null) - { - $this->_process(); - if ($fieldName === null) { - return !($this->hasMissing() || $this->hasInvalid()); - } - return array_key_exists($fieldName, $this->_validFields); - } - - /** - * @param string $fieldName - * @return boolean - */ - public function __isset($fieldName) - { - $this->_process(); - return isset($this->_validFields[$fieldName]); - } - - /** - * @return Zend_Filter_Input - * @throws Zend_Filter_Exception - */ - public function process() - { - $this->_process(); - if ($this->hasInvalid()) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Input has invalid fields"); - } - if ($this->hasMissing()) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Input has missing fields"); - } - - return $this; - } - - /** - * @param array $data - * @return Zend_Filter_Input - */ - public function setData(array $data) - { - $this->_data = $data; - - /** - * Reset to initial state - */ - $this->_validFields = array(); - $this->_invalidMessages = array(); - $this->_invalidErrors = array(); - $this->_missingFields = array(); - $this->_unknownFields = array(); - - $this->_processed = false; - - return $this; - } - - /** - * @param mixed $escapeFilter - * @return Zend_Filter_Interface - */ - public function setDefaultEscapeFilter($escapeFilter) - { - if (is_string($escapeFilter) || is_array($escapeFilter)) { - $escapeFilter = $this->_getFilter($escapeFilter); - } - if (!$escapeFilter instanceof Zend_Filter_Interface) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('Escape filter specified does not implement Zend_Filter_Interface'); - } - $this->_defaultEscapeFilter = $escapeFilter; - return $escapeFilter; - } - - /** - * @param array $options - * @return Zend_Filter_Input - * @throws Zend_Filter_Exception if an unknown option is given - */ - public function setOptions(array $options) - { - foreach ($options as $option => $value) { - switch ($option) { - case self::ESCAPE_FILTER: - $this->setDefaultEscapeFilter($value); - break; - case self::INPUT_NAMESPACE: - $this->addNamespace($value); - break; - case self::VALIDATOR_NAMESPACE: - if(is_string($value)) { - $value = array($value); - } - - foreach($value AS $prefix) { - $this->addValidatorPrefixPath( - $prefix, - str_replace('_', DIRECTORY_SEPARATOR, $prefix) - ); - } - break; - case self::FILTER_NAMESPACE: - if(is_string($value)) { - $value = array($value); - } - - foreach($value AS $prefix) { - $this->addFilterPrefixPath( - $prefix, - str_replace('_', DIRECTORY_SEPARATOR, $prefix) - ); - } - break; - case self::ALLOW_EMPTY: - case self::BREAK_CHAIN: - case self::MISSING_MESSAGE: - case self::NOT_EMPTY_MESSAGE: - case self::PRESENCE: - $this->_defaults[$option] = $value; - break; - default: - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Unknown option '$option'"); - break; - } - } - - return $this; - } - - /* - * Protected methods - */ - - /** - * @return void - */ - protected function _filter() - { - foreach ($this->_filterRules as $ruleName => &$filterRule) { - /** - * Make sure we have an array representing this filter chain. - * Don't typecast to (array) because it might be a Zend_Filter object - */ - if (!is_array($filterRule)) { - $filterRule = array($filterRule); - } - - /** - * Filters are indexed by integer, metacommands are indexed by string. - * Pick out the filters. - */ - $filterList = array(); - foreach ($filterRule as $key => $value) { - if (is_int($key)) { - $filterList[] = $value; - } - } - - /** - * Use defaults for filter metacommands. - */ - $filterRule[self::RULE] = $ruleName; - if (!isset($filterRule[self::FIELDS])) { - $filterRule[self::FIELDS] = $ruleName; - } - - /** - * Load all the filter classes and add them to the chain. - */ - if (!isset($filterRule[self::FILTER_CHAIN])) { - $filterRule[self::FILTER_CHAIN] = new Zend_Filter(); - foreach ($filterList as $filter) { - if (is_string($filter) || is_array($filter)) { - $filter = $this->_getFilter($filter); - } - $filterRule[self::FILTER_CHAIN]->addFilter($filter); - } - } - - /** - * If the ruleName is the special wildcard rule, - * then apply the filter chain to all input data. - * Else just process the field named by the rule. - */ - if ($ruleName == self::RULE_WILDCARD) { - foreach (array_keys($this->_data) as $field) { - $this->_filterRule(array_merge($filterRule, array(self::FIELDS => $field))); - } - } else { - $this->_filterRule($filterRule); - } - } - } - - /** - * @param array $filterRule - * @return void - */ - protected function _filterRule(array $filterRule) - { - $field = $filterRule[self::FIELDS]; - if (!array_key_exists($field, $this->_data)) { - return; - } - if (is_array($this->_data[$field])) { - foreach ($this->_data[$field] as $key => $value) { - $this->_data[$field][$key] = $filterRule[self::FILTER_CHAIN]->filter($value); - } - } else { - $this->_data[$field] = - $filterRule[self::FILTER_CHAIN]->filter($this->_data[$field]); - } - } - - /** - * @return Zend_Filter_Interface - */ - protected function _getDefaultEscapeFilter() - { - if ($this->_defaultEscapeFilter !== null) { - return $this->_defaultEscapeFilter; - } - return $this->setDefaultEscapeFilter($this->_defaults[self::ESCAPE_FILTER]); - } - - /** - * @param string $rule - * @param string $field - * @return string - */ - protected function _getMissingMessage($rule, $field) - { - $message = $this->_defaults[self::MISSING_MESSAGE]; - $message = str_replace('%rule%', $rule, $message); - $message = str_replace('%field%', $field, $message); - return $message; - } - - /** - * @return string - */ - protected function _getNotEmptyMessage($rule, $field) - { - $message = $this->_defaults[self::NOT_EMPTY_MESSAGE]; - $message = str_replace('%rule%', $rule, $message); - $message = str_replace('%field%', $field, $message); - return $message; - } - - /** - * @return void - */ - protected function _process() - { - if ($this->_processed === false) { - $this->_filter(); - $this->_validate(); - $this->_processed = true; - } - } - - /** - * @return void - */ - protected function _validate() - { - /** - * Special case: if there are no validators, treat all fields as valid. - */ - if (!$this->_validatorRules) { - $this->_validFields = $this->_data; - $this->_data = array(); - return; - } - - foreach ($this->_validatorRules as $ruleName => &$validatorRule) { - /** - * Make sure we have an array representing this validator chain. - * Don't typecast to (array) because it might be a Zend_Validate object - */ - if (!is_array($validatorRule)) { - $validatorRule = array($validatorRule); - } - - /** - * Validators are indexed by integer, metacommands are indexed by string. - * Pick out the validators. - */ - $validatorList = array(); - foreach ($validatorRule as $key => $value) { - if (is_int($key)) { - $validatorList[$key] = $value; - } - } - - /** - * Use defaults for validation metacommands. - */ - $validatorRule[self::RULE] = $ruleName; - if (!isset($validatorRule[self::FIELDS])) { - $validatorRule[self::FIELDS] = $ruleName; - } - if (!isset($validatorRule[self::BREAK_CHAIN])) { - $validatorRule[self::BREAK_CHAIN] = $this->_defaults[self::BREAK_CHAIN]; - } - if (!isset($validatorRule[self::PRESENCE])) { - $validatorRule[self::PRESENCE] = $this->_defaults[self::PRESENCE]; - } - if (!isset($validatorRule[self::ALLOW_EMPTY])) { - $validatorRule[self::ALLOW_EMPTY] = $this->_defaults[self::ALLOW_EMPTY]; - } - - if (!isset($validatorRule[self::MESSAGES])) { - $validatorRule[self::MESSAGES] = array(); - } else if (!is_array($validatorRule[self::MESSAGES])) { - $validatorRule[self::MESSAGES] = array($validatorRule[self::MESSAGES]); - } else if (array_intersect_key($validatorList, $validatorRule[self::MESSAGES])) { - // There are now corresponding numeric keys in the validation rule messages array - // Treat it as a named messages list for all rule validators - $unifiedMessages = $validatorRule[self::MESSAGES]; - $validatorRule[self::MESSAGES] = array(); - - foreach ($validatorList as $key => $validator) { - if (array_key_exists($key, $unifiedMessages)) { - $validatorRule[self::MESSAGES][$key] = $unifiedMessages[$key]; - } - } - } - - /** - * Load all the validator classes and add them to the chain. - */ - if (!isset($validatorRule[self::VALIDATOR_CHAIN])) { - $validatorRule[self::VALIDATOR_CHAIN] = new Zend_Validate(); - - foreach ($validatorList as $key => $validator) { - if (is_string($validator) || is_array($validator)) { - $validator = $this->_getValidator($validator); - } - - if (isset($validatorRule[self::MESSAGES][$key])) { - $value = $validatorRule[self::MESSAGES][$key]; - if (is_array($value)) { - $validator->setMessages($value); - } else { - $validator->setMessage($value); - } - - if ($validator instanceof Zend_Validate_NotEmpty) { - $this->_defaults[self::NOT_EMPTY_MESSAGE] = $value; - } - } - - $validatorRule[self::VALIDATOR_CHAIN]->addValidator($validator, $validatorRule[self::BREAK_CHAIN]); - } - $validatorRule[self::VALIDATOR_CHAIN_COUNT] = count($validatorList); - } - - /** - * If the ruleName is the special wildcard rule, - * then apply the validator chain to all input data. - * Else just process the field named by the rule. - */ - if ($ruleName == self::RULE_WILDCARD) { - foreach (array_keys($this->_data) as $field) { - $this->_validateRule(array_merge($validatorRule, array(self::FIELDS => $field))); - } - } else { - $this->_validateRule($validatorRule); - } - } - - /** - * Unset fields in $_data that have been added to other arrays. - * We have to wait until all rules have been processed because - * a given field may be referenced by multiple rules. - */ - foreach (array_merge(array_keys($this->_missingFields), array_keys($this->_invalidMessages)) as $rule) { - foreach ((array) $this->_validatorRules[$rule][self::FIELDS] as $field) { - unset($this->_data[$field]); - } - } - foreach ($this->_validFields as $field => $value) { - unset($this->_data[$field]); - } - - /** - * Anything left over in $_data is an unknown field. - */ - $this->_unknownFields = $this->_data; - } - - /** - * @param array $validatorRule - * @return void - */ - protected function _validateRule(array $validatorRule) - { - /** - * Get one or more data values from input, and check for missing fields. - * Apply defaults if fields are missing. - */ - $data = array(); - foreach ((array) $validatorRule[self::FIELDS] as $key => $field) { - if (array_key_exists($field, $this->_data)) { - $data[$field] = $this->_data[$field]; - } else if (isset($validatorRule[self::DEFAULT_VALUE])) { - /** @todo according to this code default value can't be an array. It has to be reviewed */ - if (!is_array($validatorRule[self::DEFAULT_VALUE])) { - // Default value is a scalar - $data[$field] = $validatorRule[self::DEFAULT_VALUE]; - } else { - // Default value is an array. Search for corresponding key - if (isset($validatorRule[self::DEFAULT_VALUE][$key])) { - $data[$field] = $validatorRule[self::DEFAULT_VALUE][$key]; - } else if ($validatorRule[self::PRESENCE] == self::PRESENCE_REQUIRED) { - // Default value array is provided, but it doesn't have an entry for current field - // and presence is required - $this->_missingFields[$validatorRule[self::RULE]][] = - $this->_getMissingMessage($validatorRule[self::RULE], $field); - } - } - } else if ($validatorRule[self::PRESENCE] == self::PRESENCE_REQUIRED) { - $this->_missingFields[$validatorRule[self::RULE]][] = - $this->_getMissingMessage($validatorRule[self::RULE], $field); - } - } - - /** - * If any required fields are missing, break the loop. - */ - if (isset($this->_missingFields[$validatorRule[self::RULE]]) && count($this->_missingFields[$validatorRule[self::RULE]]) > 0) { - return; - } - - /** - * Evaluate the inputs against the validator chain. - */ - if (count((array) $validatorRule[self::FIELDS]) > 1) { - if (!$validatorRule[self::ALLOW_EMPTY]) { - $emptyFieldsFound = false; - $errorsList = array(); - $messages = array(); - - foreach ($data as $fieldKey => $field) { - $notEmptyValidator = $this->_getValidator('NotEmpty'); - $notEmptyValidator->setMessage($this->_getNotEmptyMessage($validatorRule[self::RULE], $fieldKey)); - - if (!$notEmptyValidator->isValid($field)) { - foreach ($notEmptyValidator->getMessages() as $messageKey => $message) { - if (!isset($messages[$messageKey])) { - $messages[$messageKey] = $message; - } else { - $messages[] = $message; - } - } - $errorsList[] = $notEmptyValidator->getErrors(); - $emptyFieldsFound = true; - } - } - - if ($emptyFieldsFound) { - $this->_invalidMessages[$validatorRule[self::RULE]] = $messages; - $this->_invalidErrors[$validatorRule[self::RULE]] = array_unique(call_user_func_array('array_merge', $errorsList)); - return; - } - } - - if (!$validatorRule[self::VALIDATOR_CHAIN]->isValid($data)) { - $this->_invalidMessages[$validatorRule[self::RULE]] = $validatorRule[self::VALIDATOR_CHAIN]->getMessages(); - $this->_invalidErrors[$validatorRule[self::RULE]] = $validatorRule[self::VALIDATOR_CHAIN]->getErrors(); - return; - } - } else if (count($data) > 0) { - // $data is actually a one element array - $fieldNames = array_keys($data); - $fieldName = reset($fieldNames); - $field = reset($data); - - $failed = false; - if (!is_array($field)) { - $field = array($field); - } - - $notEmptyValidator = $this->_getValidator('NotEmpty'); - $notEmptyValidator->setMessage($this->_getNotEmptyMessage($validatorRule[self::RULE], $fieldName)); - if ($validatorRule[self::ALLOW_EMPTY]) { - $validatorChain = $validatorRule[self::VALIDATOR_CHAIN]; - } else { - $validatorChain = new Zend_Validate(); - $validatorChain->addValidator($notEmptyValidator, true /* Always break on failure */); - $validatorChain->addValidator($validatorRule[self::VALIDATOR_CHAIN]); - } - - foreach ($field as $value) { - if ($validatorRule[self::ALLOW_EMPTY] && !$notEmptyValidator->isValid($value)) { - // Field is empty AND it's allowed. Do nothing. - continue; - } - - if (!$validatorChain->isValid($value)) { - if (isset($this->_invalidMessages[$validatorRule[self::RULE]])) { - $collectedMessages = $this->_invalidMessages[$validatorRule[self::RULE]]; - } else { - $collectedMessages = array(); - } - - foreach ($validatorChain->getMessages() as $messageKey => $message) { - if (!isset($collectedMessages[$messageKey])) { - $collectedMessages[$messageKey] = $message; - } else { - $collectedMessages[] = $message; - } - } - - $this->_invalidMessages[$validatorRule[self::RULE]] = $collectedMessages; - if (isset($this->_invalidErrors[$validatorRule[self::RULE]])) { - $this->_invalidErrors[$validatorRule[self::RULE]] = array_merge($this->_invalidErrors[$validatorRule[self::RULE]], - $validatorChain->getErrors()); - } else { - $this->_invalidErrors[$validatorRule[self::RULE]] = $validatorChain->getErrors(); - } - unset($this->_validFields[$fieldName]); - $failed = true; - if ($validatorRule[self::BREAK_CHAIN]) { - return; - } - } - } - if ($failed) { - return; - } - } - - /** - * If we got this far, the inputs for this rule pass validation. - */ - foreach ((array) $validatorRule[self::FIELDS] as $field) { - if (array_key_exists($field, $data)) { - $this->_validFields[$field] = $data[$field]; - } - } - } - - /** - * @param mixed $classBaseName - * @return Zend_Filter_Interface - */ - protected function _getFilter($classBaseName) - { - return $this->_getFilterOrValidator(self::FILTER, $classBaseName); - } - - /** - * @param mixed $classBaseName - * @return Zend_Validate_Interface - */ - protected function _getValidator($classBaseName) - { - return $this->_getFilterOrValidator(self::VALIDATE, $classBaseName); - } - - /** - * @param string $type - * @param mixed $classBaseName - * @return Zend_Filter_Interface|Zend_Validate_Interface - * @throws Zend_Filter_Exception - */ - protected function _getFilterOrValidator($type, $classBaseName) - { - $args = array(); - - if (is_array($classBaseName)) { - $args = $classBaseName; - $classBaseName = array_shift($args); - } - - $interfaceName = 'Zend_' . ucfirst($type) . '_Interface'; - $className = $this->getPluginLoader($type)->load(ucfirst($classBaseName)); - - $class = new ReflectionClass($className); - - if (!$class->implementsInterface($interfaceName)) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception("Class '$className' based on basename '$classBaseName' must implement the '$interfaceName' interface"); - } - - if ($class->hasMethod('__construct')) { - $object = $class->newInstanceArgs($args); - } else { - $object = $class->newInstance(); - } - - return $object; - } - -} diff --git a/lib/zend/Zend/Filter/Int.php b/lib/zend/Zend/Filter/Int.php deleted file mode 100644 index e9f7c98900..0000000000 --- a/lib/zend/Zend/Filter/Int.php +++ /dev/null @@ -1,50 +0,0 @@ - null, - 'date_format' => null, - 'precision' => null - ); - - /** - * Class constructor - * - * @param string|Zend_Locale $locale (Optional) Locale to set - */ - public function __construct($options = null) - { - if (null !== $options) { - $this->setOptions($options); - } - } - - /** - * Returns the set options - * - * @return array - */ - public function getOptions() - { - return $this->_options; - } - - /** - * Sets options to use - * - * @param array $options (Optional) Options to use - * @return Zend_Filter_LocalizedToNormalized - */ - public function setOptions(array $options = null) - { - $this->_options = $options + $this->_options; - return $this; - } - - /** - * Defined by Zend_Filter_Interface - * - * Normalizes the given input - * - * @param string $value Value to normalized - * @return string|array The normalized value - */ - public function filter($value) - { - if (Zend_Locale_Format::isNumber($value, $this->_options)) { - return Zend_Locale_Format::getNumber($value, $this->_options); - } else if (($this->_options['date_format'] === null) && (strpos($value, ':') !== false)) { - // Special case, no date format specified, detect time input - return Zend_Locale_Format::getTime($value, $this->_options); - } else if (Zend_Locale_Format::checkDateFormat($value, $this->_options)) { - // Detect date or time input - return Zend_Locale_Format::getDate($value, $this->_options); - } - - return $value; - } -} diff --git a/lib/zend/Zend/Filter/NormalizedToLocalized.php b/lib/zend/Zend/Filter/NormalizedToLocalized.php deleted file mode 100644 index 7672d1fa9a..0000000000 --- a/lib/zend/Zend/Filter/NormalizedToLocalized.php +++ /dev/null @@ -1,107 +0,0 @@ - null, - 'date_format' => null, - 'precision' => null - ); - - /** - * Class constructor - * - * @param string|Zend_Locale $locale (Optional) Locale to set - */ - public function __construct($options = null) - { - if (null !== $options) { - $this->setOptions($options); - } - } - - /** - * Returns the set options - * - * @return array - */ - public function getOptions() - { - return $this->_options; - } - - /** - * Sets options to use - * - * @param array $options (Optional) Options to use - * @return Zend_Filter_LocalizedToNormalized - */ - public function setOptions(array $options = null) - { - $this->_options = $options + $this->_options; - return $this; - } - - /** - * Defined by Zend_Filter_Interface - * - * Normalizes the given input - * - * @param string $value Value to normalized - * @return string|array The normalized value - */ - public function filter($value) - { - if (is_array($value)) { - require_once 'Zend/Date.php'; - $date = new Zend_Date($value, $this->_options['locale']); - return $date->toString($this->_options['date_format']); - } else if ($this->_options['precision'] === 0) { - return Zend_Locale_Format::toInteger($value, $this->_options); - } else if ($this->_options['precision'] === null) { - return Zend_Locale_Format::toFloat($value, $this->_options); - } - - return Zend_Locale_Format::toNumber($value, $this->_options); - } -} diff --git a/lib/zend/Zend/Filter/PregReplace.php b/lib/zend/Zend/Filter/PregReplace.php deleted file mode 100644 index 43efca8cfe..0000000000 --- a/lib/zend/Zend/Filter/PregReplace.php +++ /dev/null @@ -1,156 +0,0 @@ -setMatchPattern($matchPattern); - } - - if ($replacement) { - $this->setReplacement($replacement); - } - } - - /** - * Set the match pattern for the regex being called within filter() - * - * @param mixed $match - same as the first argument of preg_replace - * @return Zend_Filter_PregReplace - */ - public function setMatchPattern($match) - { - $this->_matchPattern = $match; - return $this; - } - - /** - * Get currently set match pattern - * - * @return string - */ - public function getMatchPattern() - { - return $this->_matchPattern; - } - - /** - * Set the Replacement pattern/string for the preg_replace called in filter - * - * @param mixed $replacement - same as the second argument of preg_replace - * @return Zend_Filter_PregReplace - */ - public function setReplacement($replacement) - { - $this->_replacement = $replacement; - return $this; - } - - /** - * Get currently set replacement value - * - * @return string - */ - public function getReplacement() - { - return $this->_replacement; - } - - /** - * Perform regexp replacement as filter - * - * @param string $value - * @return string - */ - public function filter($value) - { - if ($this->_matchPattern == null) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception(get_class($this) . ' does not have a valid MatchPattern set.'); - } - - return preg_replace($this->_matchPattern, $this->_replacement, $value); - } - -} diff --git a/lib/zend/Zend/Filter/RealPath.php b/lib/zend/Zend/Filter/RealPath.php deleted file mode 100644 index 4580b745f0..0000000000 --- a/lib/zend/Zend/Filter/RealPath.php +++ /dev/null @@ -1,134 +0,0 @@ -setExists($options); - } - - /** - * Returns true if the filtered path must exist - * - * @return boolean - */ - public function getExists() - { - return $this->_exists; - } - - /** - * Sets if the path has to exist - * TRUE when the path must exist - * FALSE when not existing paths can be given - * - * @param boolean|Zend_Config $exists Path must exist - * @return Zend_Filter_RealPath - */ - public function setExists($exists) - { - if ($exists instanceof Zend_Config) { - $exists = $exists->toArray(); - } - - if (is_array($exists)) { - if (isset($exists['exists'])) { - $exists = (boolean) $exists['exists']; - } - } - - $this->_exists = (boolean) $exists; - return $this; - } - - /** - * Defined by Zend_Filter_Interface - * - * Returns realpath($value) - * - * @param string $value - * @return string - */ - public function filter($value) - { - $path = (string) $value; - if ($this->_exists) { - return realpath($path); - } - - $realpath = @realpath($path); - if ($realpath) { - return $realpath; - } - - $drive = ''; - if (substr(PHP_OS, 0, 3) == 'WIN') { - $path = preg_replace('/[\\\\\/]/', DIRECTORY_SEPARATOR, $path); - if (preg_match('/([a-zA-Z]\:)(.*)/', $path, $matches)) { - list($fullMatch, $drive, $path) = $matches; - } else { - $cwd = getcwd(); - $drive = substr($cwd, 0, 2); - if (substr($path, 0, 1) != DIRECTORY_SEPARATOR) { - $path = substr($cwd, 3) . DIRECTORY_SEPARATOR . $path; - } - } - } elseif (substr($path, 0, 1) != DIRECTORY_SEPARATOR) { - $path = getcwd() . DIRECTORY_SEPARATOR . $path; - } - - $stack = array(); - $parts = explode(DIRECTORY_SEPARATOR, $path); - foreach ($parts as $dir) { - if (strlen($dir) && $dir !== '.') { - if ($dir == '..') { - array_pop($stack); - } else { - array_push($stack, $dir); - } - } - } - - return $drive . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $stack); - } -} diff --git a/lib/zend/Zend/Filter/StringToLower.php b/lib/zend/Zend/Filter/StringToLower.php deleted file mode 100644 index bb091fe662..0000000000 --- a/lib/zend/Zend/Filter/StringToLower.php +++ /dev/null @@ -1,76 +0,0 @@ -_encoding = $encoding; - } - - /** - * Defined by Zend_Filter_Interface - * - * Returns the string $value, converting characters to lowercase as necessary - * - * @param string $value - * @return string - */ - public function filter($value) - { - if ($this->_encoding) { - return mb_strtolower((string) $value, $this->_encoding); - } - - return strtolower((string) $value); - } -} diff --git a/lib/zend/Zend/Filter/StringToUpper.php b/lib/zend/Zend/Filter/StringToUpper.php deleted file mode 100644 index 6ba8247744..0000000000 --- a/lib/zend/Zend/Filter/StringToUpper.php +++ /dev/null @@ -1,76 +0,0 @@ -_encoding = $encoding; - } - - /** - * Defined by Zend_Filter_Interface - * - * Returns the string $value, converting characters to uppercase as necessary - * - * @param string $value - * @return string - */ - public function filter($value) - { - if ($this->_encoding) { - return mb_strtoupper((string) $value, $this->_encoding); - } - - return strtoupper((string) $value); - } -} diff --git a/lib/zend/Zend/Filter/StringTrim.php b/lib/zend/Zend/Filter/StringTrim.php deleted file mode 100644 index 87e6266d50..0000000000 --- a/lib/zend/Zend/Filter/StringTrim.php +++ /dev/null @@ -1,114 +0,0 @@ -_charList = $charList; - } - - /** - * Returns the charList option - * - * @return string|null - */ - public function getCharList() - { - return $this->_charList; - } - - /** - * Sets the charList option - * - * @param string|null $charList - * @return Zend_Filter_StringTrim Provides a fluent interface - */ - public function setCharList($charList) - { - $this->_charList = $charList; - return $this; - } - - /** - * Defined by Zend_Filter_Interface - * - * Returns the string $value with characters stripped from the beginning and end - * - * @param string $value - * @return string - */ - public function filter($value) - { - if (null === $this->_charList) { - return $this->_unicodeTrim((string) $value); - } else { - return $this->_unicodeTrim((string) $value, $this->_charList); - } - } - - /** - * Unicode aware trim method - * Fixes a PHP problem - * - * @param string $value - * @param string $charlist - * @return string - */ - protected function _unicodeTrim($value, $charlist = '\\\\s') - { - $chars = preg_replace( - array( '/[\^\-\]\\\]/S', '/\\\{4}/S' ), - array( '\\\\\\0', '\\' ), - $charlist - ); - - $pattern = '^[' . $chars . ']*|[' . $chars . ']*$'; - return preg_replace("/$pattern/sSD", '', $value); - } -} diff --git a/lib/zend/Zend/Filter/StripNewlines.php b/lib/zend/Zend/Filter/StripNewlines.php deleted file mode 100644 index c6fa3cf81c..0000000000 --- a/lib/zend/Zend/Filter/StripNewlines.php +++ /dev/null @@ -1,48 +0,0 @@ -setTagsAllowed($tagsAllowed); - $this->setAttributesAllowed($attributesAllowed); - $this->setCommentsAllowed($commentsAllowed); - } - - /** - * Returns the commentsAllowed option - */ - public function getCommentsAllowed() - { - return $this->commentsAllowed; - } - - /** - * Sets the commentsAllowed option - * - * @param boolean $commentsAllowed - * @return Zend_Filter_StripTags Provides a fluent interface - */ - public function setCommentsAllowed($commentsAllowed) - { - $this->commentsAllowed = (boolean) $commentsAllowed; - return $this; - } - - /** - * Returns the tagsAllowed option - * - * @return array - */ - public function getTagsAllowed() - { - return $this->_tagsAllowed; - } - - /** - * Sets the tagsAllowed option - * - * @param array|string $tagsAllowed - * @return Zend_Filter_StripTags Provides a fluent interface - */ - public function setTagsAllowed($tagsAllowed) - { - if (!is_array($tagsAllowed)) { - $tagsAllowed = array($tagsAllowed); - } - - foreach ($tagsAllowed as $index => $element) { - // If the tag was provided without attributes - if (is_int($index) && is_string($element)) { - // Canonicalize the tag name - $tagName = strtolower($element); - // Store the tag as allowed with no attributes - $this->_tagsAllowed[$tagName] = array(); - } - // Otherwise, if a tag was provided with attributes - else if (is_string($index) && (is_array($element) || is_string($element))) { - // Canonicalize the tag name - $tagName = strtolower($index); - // Canonicalize the attributes - if (is_string($element)) { - $element = array($element); - } - // Store the tag as allowed with the provided attributes - $this->_tagsAllowed[$tagName] = array(); - foreach ($element as $attribute) { - if (is_string($attribute)) { - // Canonicalize the attribute name - $attributeName = strtolower($attribute); - $this->_tagsAllowed[$tagName][$attributeName] = null; - } - } - } - } - - return $this; - } - - /** - * Returns the attributesAllowed option - * - * @return array - */ - public function getAttributesAllowed() - { - return $this->_attributesAllowed; - } - - /** - * Sets the attributesAllowed option - * - * @param array|string $attributesAllowed - * @return Zend_Filter_StripTags Provides a fluent interface - */ - public function setAttributesAllowed($attributesAllowed) - { - if (!is_array($attributesAllowed)) { - $attributesAllowed = array($attributesAllowed); - } - - // Store each attribute as allowed - foreach ($attributesAllowed as $attribute) { - if (is_string($attribute)) { - // Canonicalize the attribute name - $attributeName = strtolower($attribute); - $this->_attributesAllowed[$attributeName] = null; - } - } - - return $this; - } - - /** - * Defined by Zend_Filter_Interface - * - * @todo improve docblock descriptions - * - * @param string $value - * @return string - */ - public function filter($value) - { - $valueCopy = (string) $value; - - // If comments are allowed, then replace them with unique identifiers - if ($this->getCommentsAllowed()) { - preg_match_all('/<\!--.*?--\s*>/s' , (string) $valueCopy, $matches); - $comments = array_unique($matches[0]); - foreach ($comments as $k => $v) { - $valueCopy = str_replace($v, self::UNIQUE_ID_PREFIX . $k, $valueCopy); - } - } - - // Initialize accumulator for filtered data - $dataFiltered = ''; - // Parse the input data iteratively as regular pre-tag text followed by a - // tag; either may be empty strings - preg_match_all('/([^<]*)(]*>?)/', (string) $valueCopy, $matches); - // Iterate over each set of matches - foreach ($matches[1] as $index => $preTag) { - // If the pre-tag text is non-empty, strip any ">" characters from it - if (strlen($preTag)) { - $preTag = str_replace('>', '', $preTag); - } - // If a tag exists in this match, then filter the tag - $tag = $matches[2][$index]; - if (strlen($tag)) { - $tagFiltered = $this->_filterTag($tag); - } else { - $tagFiltered = ''; - } - // Add the filtered pre-tag text and filtered tag to the data buffer - $dataFiltered .= $preTag . $tagFiltered; - } - - // If comments are allowed, then replace the unique identifiers with the corresponding comments - if ($this->getCommentsAllowed()) { - foreach ($comments as $k => $v) { - $dataFiltered = str_replace(self::UNIQUE_ID_PREFIX . $k, $v, $dataFiltered); - } - } - - // Return the filtered data - return $dataFiltered; - } - - /** - * Filters a single tag against the current option settings - * - * @param string $tag - * @return string - */ - protected function _filterTag($tag) - { - // Parse the tag into: - // 1. a starting delimiter (mandatory) - // 2. a tag name (if available) - // 3. a string of attributes (if available) - // 4. an ending delimiter (if available) - $isMatch = preg_match('~()|[^/>])*)(/?>)~', $tag, $matches); - - // If the tag does not match, then strip the tag entirely - if (!$isMatch) { - return ''; - } - - // Save the matches to more meaningfully named variables - $tagStart = $matches[1]; - $tagName = strtolower($matches[2]); - $tagAttributes = $matches[3]; - $tagEnd = $matches[5]; - - // If the tag is not an allowed tag, then remove the tag entirely - if (!isset($this->_tagsAllowed[$tagName])) { - return ''; - } - - // Trim the attribute string of whitespace at the ends - $tagAttributes = trim($tagAttributes); - - // If there are non-whitespace characters in the attribute string - if (strlen($tagAttributes)) { - // Parse iteratively for well-formed attributes - preg_match_all('/(\w+)\s*=\s*(?:(")(.*?)"|(\')(.*?)\')/s', $tagAttributes, $matches); - - // Initialize valid attribute accumulator - $tagAttributes = ''; - - // Iterate over each matched attribute - foreach ($matches[1] as $index => $attributeName) { - $attributeName = strtolower($attributeName); - $attributeDelimiter = $matches[2][$index]; - $attributeValue = $matches[3][$index]; - - // If the attribute is not allowed, then remove it entirely - if (!array_key_exists($attributeName, $this->_tagsAllowed[$tagName]) - && !array_key_exists($attributeName, $this->_attributesAllowed)) { - continue; - } - // Add the attribute to the accumulator - $tagAttributes .= " $attributeName=" . $attributeDelimiter - . $attributeValue . $attributeDelimiter; - } - } - - // Reconstruct tags ending with "/>" as backwards-compatible XHTML tag - if (strpos($tagEnd, '/') !== false) { - $tagEnd = " $tagEnd"; - } - - // Return the filtered tag - return $tagStart . $tagName . $tagAttributes . $tagEnd; - } -} diff --git a/lib/zend/Zend/Filter/Word/CamelCaseToDash.php b/lib/zend/Zend/Filter/Word/CamelCaseToDash.php deleted file mode 100644 index 4f47b195e2..0000000000 --- a/lib/zend/Zend/Filter/Word/CamelCaseToDash.php +++ /dev/null @@ -1,44 +0,0 @@ -_separator . '\1', $this->_separator . '\1')); - } else { - parent::setMatchPattern(array('#(?<=(?:[A-Z]))([A-Z]+)([A-Z][A-z])#', '#(?<=(?:[a-z]))([A-Z])#')); - parent::setReplacement(array('\1' . $this->_separator . '\2', $this->_separator . '\1')); - } - - return parent::filter($value); - } - -} diff --git a/lib/zend/Zend/Filter/Word/CamelCaseToUnderscore.php b/lib/zend/Zend/Filter/Word/CamelCaseToUnderscore.php deleted file mode 100644 index 4c4b584505..0000000000 --- a/lib/zend/Zend/Filter/Word/CamelCaseToUnderscore.php +++ /dev/null @@ -1,44 +0,0 @@ -setMatchPattern('#-#'); - $this->setReplacement($this->_separator); - return parent::filter($value); - } -} diff --git a/lib/zend/Zend/Filter/Word/DashToUnderscore.php b/lib/zend/Zend/Filter/Word/DashToUnderscore.php deleted file mode 100644 index b52bed38a4..0000000000 --- a/lib/zend/Zend/Filter/Word/DashToUnderscore.php +++ /dev/null @@ -1,45 +0,0 @@ -setSeparator($separator); - } - - /** - * Sets a new seperator - * - * @param string $separator Seperator - * @return $this - */ - public function setSeparator($separator) - { - if ($separator == null) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('"' . $separator . '" is not a valid separator.'); - } - $this->_separator = $separator; - return $this; - } - - /** - * Returns the actual set seperator - * - * @return string - */ - public function getSeparator() - { - return $this->_separator; - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/Filter/Word/SeparatorToCamelCase.php b/lib/zend/Zend/Filter/Word/SeparatorToCamelCase.php deleted file mode 100644 index 70ceea73ab..0000000000 --- a/lib/zend/Zend/Filter/Word/SeparatorToCamelCase.php +++ /dev/null @@ -1,52 +0,0 @@ -_separator, '#'); - - if (self::isUnicodeSupportEnabled()) { - parent::setMatchPattern(array('#('.$pregQuotedSeparator.')(\p{L}{1})#e','#(^\p{Ll}{1})#e')); - parent::setReplacement(array("strtoupper('\\2')","strtoupper('\\1')")); - } else { - parent::setMatchPattern(array('#('.$pregQuotedSeparator.')([A-Za-z]{1})#e','#(^[A-Za-z]{1})#e')); - parent::setReplacement(array("strtoupper('\\2')","strtoupper('\\1')")); - } - - return parent::filter($value); - } - -} diff --git a/lib/zend/Zend/Filter/Word/SeparatorToDash.php b/lib/zend/Zend/Filter/Word/SeparatorToDash.php deleted file mode 100644 index a660dc9a3b..0000000000 --- a/lib/zend/Zend/Filter/Word/SeparatorToDash.php +++ /dev/null @@ -1,46 +0,0 @@ -setSearchSeparator($searchSeparator); - $this->setReplacementSeparator($replacementSeparator); - } - - /** - * Sets a new seperator to search for - * - * @param string $separator Seperator to search for - * @return $this - */ - public function setSearchSeparator($separator) - { - $this->_searchSeparator = $separator; - return $this; - } - - /** - * Returns the actual set seperator to search for - * - * @return string - */ - public function getSearchSeparator() - { - return $this->_searchSeparator; - } - - /** - * Sets a new seperator which replaces the searched one - * - * @param string $separator Seperator which replaces the searched one - * @return $this - */ - public function setReplacementSeparator($separator) - { - $this->_replacementSeparator = $separator; - return $this; - } - - /** - * Returns the actual set seperator which replaces the searched one - * - * @return string - */ - public function getReplacementSeparator() - { - return $this->_replacementSeparator; - } - - /** - * Defined by Zend_Filter_Interface - * - * Returns the string $value, replacing the searched seperators with the defined ones - * - * @param string $value - * @return string - */ - public function filter($value) - { - return $this->_separatorToSeparatorFilter($value); - } - - /** - * Do the real work, replaces the seperator to search for with the replacement seperator - * - * Returns the replaced string - * - * @param string $value - * @return string - */ - protected function _separatorToSeparatorFilter($value) - { - if ($this->_searchSeparator == null) { - require_once 'Zend/Filter/Exception.php'; - throw new Zend_Filter_Exception('You must provide a search separator for this filter to work.'); - } - - $this->setMatchPattern('#' . preg_quote($this->_searchSeparator, '#') . '#'); - $this->setReplacement($this->_replacementSeparator); - return parent::filter($value); - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/Filter/Word/UnderscoreToCamelCase.php b/lib/zend/Zend/Filter/Word/UnderscoreToCamelCase.php deleted file mode 100644 index cba5285d50..0000000000 --- a/lib/zend/Zend/Filter/Word/UnderscoreToCamelCase.php +++ /dev/null @@ -1,44 +0,0 @@ -setOptions($options); - } elseif ($options instanceof Zend_Config) { - $this->setConfig($options); - } - - // Extensions... - $this->init(); - - $this->loadDefaultDecorators(); - } - - /** - * Clone form object and all children - * - * @return void - */ - public function __clone() - { - $elements = array(); - foreach ($this->getElements() as $name => $element) { - $elements[] = clone $element; - } - $this->setElements($elements); - - $subForms = array(); - foreach ($this->getSubForms() as $name => $subForm) { - $subForms[$name] = clone $subForm; - } - $this->setSubForms($subForms); - - $displayGroups = array(); - foreach ($this->_displayGroups as $group) { - $clone = clone $group; - $elements = array(); - foreach ($clone->getElements() as $name => $e) { - $elements[] = $this->getElement($name); - } - $clone->setElements($elements); - $displayGroups[] = $clone; - } - $this->setDisplayGroups($displayGroups); - } - - /** - * Reset values of form - * - * @return Zend_Form - */ - public function reset() - { - foreach ($this->getElements() as $element) { - $element->setValue(null); - } - foreach ($this->getSubForms() as $subForm) { - $subForm->reset(); - } - - return $this; - } - - /** - * Initialize form (used by extending classes) - * - * @return void - */ - public function init() - { - } - - /** - * Set form state from options array - * - * @param array $options - * @return Zend_Form - */ - public function setOptions(array $options) - { - if (isset($options['prefixPath'])) { - $this->addPrefixPaths($options['prefixPath']); - unset($options['prefixPath']); - } - - if (isset($options['elementPrefixPath'])) { - $this->addElementPrefixPaths($options['elementPrefixPath']); - unset($options['elementPrefixPath']); - } - - if (isset($options['displayGroupPrefixPath'])) { - $this->addDisplayGroupPrefixPaths($options['displayGroupPrefixPath']); - unset($options['displayGroupPrefixPath']); - } - - if (isset($options['elementDecorators'])) { - $this->_elementDecorators = $options['elementDecorators']; - unset($options['elementDecorators']); - } - - if (isset($options['elements'])) { - $this->setElements($options['elements']); - unset($options['elements']); - } - - if (isset($options['defaultDisplayGroupClass'])) { - $this->setDefaultDisplayGroupClass($options['defaultDisplayGroupClass']); - unset($options['defaultDisplayGroupClass']); - } - - if (isset($options['displayGroupDecorators'])) { - $displayGroupDecorators = $options['displayGroupDecorators']; - unset($options['displayGroupDecorators']); - } - - if (isset($options['elementsBelongTo'])) { - $elementsBelongTo = $options['elementsBelongTo']; - unset($options['elementsBelongTo']); - } - - if (isset($options['attribs'])) { - $this->addAttribs($options['attribs']); - unset($options['attribs']); - } - - $forbidden = array( - 'Options', 'Config', 'PluginLoader', 'SubForms', 'View', 'Translator', - 'Attrib', 'Default', - ); - - foreach ($options as $key => $value) { - $normalized = ucfirst($key); - if (in_array($normalized, $forbidden)) { - continue; - } - - $method = 'set' . $normalized; - if (method_exists($this, $method)) { - $this->$method($value); - } else { - $this->setAttrib($key, $value); - } - } - - if (isset($displayGroupDecorators)) { - $this->setDisplayGroupDecorators($displayGroupDecorators); - } - - if (isset($elementsBelongTo)) { - $this->setElementsBelongTo($elementsBelongTo); - } - - return $this; - } - - /** - * Set form state from config object - * - * @param Zend_Config $config - * @return Zend_Form - */ - public function setConfig(Zend_Config $config) - { - return $this->setOptions($config->toArray()); - } - - - // Loaders - - /** - * Set plugin loaders for use with decorators and elements - * - * @param Zend_Loader_PluginLoader_Interface $loader - * @param string $type 'decorator' or 'element' - * @return Zend_Form - * @throws Zend_Form_Exception on invalid type - */ - public function setPluginLoader(Zend_Loader_PluginLoader_Interface $loader, $type = null) - { - $type = strtoupper($type); - switch ($type) { - case self::DECORATOR: - case self::ELEMENT: - $this->_loaders[$type] = $loader; - return $this; - default: - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Invalid type "%s" provided to setPluginLoader()', $type)); - } - } - - /** - * Retrieve plugin loader for given type - * - * $type may be one of: - * - decorator - * - element - * - * If a plugin loader does not exist for the given type, defaults are - * created. - * - * @param string $type - * @return Zend_Loader_PluginLoader_Interface - */ - public function getPluginLoader($type = null) - { - $type = strtoupper($type); - if (!isset($this->_loaders[$type])) { - switch ($type) { - case self::DECORATOR: - $prefixSegment = 'Form_Decorator'; - $pathSegment = 'Form/Decorator'; - break; - case self::ELEMENT: - $prefixSegment = 'Form_Element'; - $pathSegment = 'Form/Element'; - break; - default: - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Invalid type "%s" provided to getPluginLoader()', $type)); - } - - require_once 'Zend/Loader/PluginLoader.php'; - $this->_loaders[$type] = new Zend_Loader_PluginLoader( - array('Zend_' . $prefixSegment . '_' => 'Zend/' . $pathSegment . '/') - ); - } - - return $this->_loaders[$type]; - } - - /** - * Add prefix path for plugin loader - * - * If no $type specified, assumes it is a base path for both filters and - * validators, and sets each according to the following rules: - * - decorators: $prefix = $prefix . '_Decorator' - * - elements: $prefix = $prefix . '_Element' - * - * Otherwise, the path prefix is set on the appropriate plugin loader. - * - * If $type is 'decorators', sets the path in the decorator plugin loader - * for all elements. Additionally, if no $type is provided, - * {@link Zend_Form_Element::addPrefixPath()} is called on each element. - * - * @param string $prefix - * @param string $path - * @param string $type - * @return Zend_Form - * @throws Zend_Form_Exception for invalid type - */ - public function addPrefixPath($prefix, $path, $type = null) - { - $type = strtoupper($type); - switch ($type) { - case self::DECORATOR: - case self::ELEMENT: - $loader = $this->getPluginLoader($type); - $loader->addPrefixPath($prefix, $path); - return $this; - case null: - $prefix = rtrim($prefix, '_'); - $path = rtrim($path, DIRECTORY_SEPARATOR); - foreach (array(self::DECORATOR, self::ELEMENT) as $type) { - $cType = ucfirst(strtolower($type)); - $pluginPath = $path . DIRECTORY_SEPARATOR . $cType . DIRECTORY_SEPARATOR; - $pluginPrefix = $prefix . '_' . $cType; - $loader = $this->getPluginLoader($type); - $loader->addPrefixPath($pluginPrefix, $pluginPath); - } - return $this; - default: - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Invalid type "%s" provided to getPluginLoader()', $type)); - } - } - - /** - * Add many prefix paths at once - * - * @param array $spec - * @return Zend_Form - */ - public function addPrefixPaths(array $spec) - { - if (isset($spec['prefix']) && isset($spec['path'])) { - return $this->addPrefixPath($spec['prefix'], $spec['path']); - } - foreach ($spec as $type => $paths) { - if (is_numeric($type) && is_array($paths)) { - $type = null; - if (isset($paths['prefix']) && isset($paths['path'])) { - if (isset($paths['type'])) { - $type = $paths['type']; - } - $this->addPrefixPath($paths['prefix'], $paths['path'], $type); - } - } elseif (!is_numeric($type)) { - if (!isset($paths['prefix']) || !isset($paths['path'])) { - continue; - } - $this->addPrefixPath($paths['prefix'], $paths['path'], $type); - } - } - return $this; - } - - /** - * Add prefix path for all elements - * - * @param string $prefix - * @param string $path - * @param string $type - * @return Zend_Form - */ - public function addElementPrefixPath($prefix, $path, $type = null) - { - $this->_elementPrefixPaths[] = array( - 'prefix' => $prefix, - 'path' => $path, - 'type' => $type, - ); - - foreach ($this->getElements() as $element) { - $element->addPrefixPath($prefix, $path, $type); - } - - foreach ($this->getSubForms() as $subForm) { - $subForm->addElementPrefixPath($prefix, $path, $type); - } - - return $this; - } - - /** - * Add prefix paths for all elements - * - * @param array $spec - * @return Zend_Form - */ - public function addElementPrefixPaths(array $spec) - { - $this->_elementPrefixPaths = $this->_elementPrefixPaths + $spec; - - foreach ($this->getElements() as $element) { - $element->addPrefixPaths($spec); - } - - return $this; - } - - /** - * Add prefix path for all display groups - * - * @param string $prefix - * @param string $path - * @return Zend_Form - */ - public function addDisplayGroupPrefixPath($prefix, $path) - { - $this->_displayGroupPrefixPaths[] = array( - 'prefix' => $prefix, - 'path' => $path, - ); - - foreach ($this->getDisplayGroups() as $group) { - $group->addPrefixPath($prefix, $path); - } - - return $this; - } - - /** - * Add multiple display group prefix paths at once - * - * @param array $spec - * @return Zend_Form - */ - public function addDisplayGroupPrefixPaths(array $spec) - { - foreach ($spec as $key => $value) { - if (is_string($value) && !is_numeric($key)) { - $this->addDisplayGroupPrefixPath($key, $value); - continue; - } - - if (is_string($value) && is_numeric($key)) { - continue; - } - - if (is_array($value)) { - $count = count($value); - if (array_keys($value) === range(0, $count - 1)) { - if ($count < 2) { - continue; - } - $prefix = array_shift($value); - $path = array_shift($value); - $this->addDisplayGroupPrefixPath($prefix, $path); - continue; - } - if (array_key_exists('prefix', $value) && array_key_exists('path', $value)) { - $this->addDisplayGroupPrefixPath($value['prefix'], $value['path']); - } - } - } - return $this; - } - - // Form metadata: - - /** - * Set form attribute - * - * @param string $key - * @param mixed $value - * @return Zend_Form - */ - public function setAttrib($key, $value) - { - $key = (string) $key; - $this->_attribs[$key] = $value; - return $this; - } - - /** - * Add multiple form attributes at once - * - * @param array $attribs - * @return Zend_Form - */ - public function addAttribs(array $attribs) - { - foreach ($attribs as $key => $value) { - $this->setAttrib($key, $value); - } - return $this; - } - - /** - * Set multiple form attributes at once - * - * Overwrites any previously set attributes. - * - * @param array $attribs - * @return Zend_Form - */ - public function setAttribs(array $attribs) - { - $this->clearAttribs(); - return $this->addAttribs($attribs); - } - - /** - * Retrieve a single form attribute - * - * @param string $key - * @return mixed - */ - public function getAttrib($key) - { - $key = (string) $key; - if (!isset($this->_attribs[$key])) { - return null; - } - - return $this->_attribs[$key]; - } - - /** - * Retrieve all form attributes/metadata - * - * @return array - */ - public function getAttribs() - { - return $this->_attribs; - } - - /** - * Remove attribute - * - * @param string $key - * @return bool - */ - public function removeAttrib($key) - { - if (isset($this->_attribs[$key])) { - unset($this->_attribs[$key]); - return true; - } - - return false; - } - - /** - * Clear all form attributes - * - * @return Zend_Form - */ - public function clearAttribs() - { - $this->_attribs = array(); - return $this; - } - - /** - * Set form action - * - * @param string $action - * @return Zend_Form - */ - public function setAction($action) - { - return $this->setAttrib('action', (string) $action); - } - - /** - * Get form action - * - * Sets default to '' if not set. - * - * @return string - */ - public function getAction() - { - $action = $this->getAttrib('action'); - if (null === $action) { - $action = ''; - $this->setAction($action); - } - return $action; - } - - /** - * Set form method - * - * Only values in {@link $_methods()} allowed - * - * @param string $method - * @return Zend_Form - * @throws Zend_Form_Exception - */ - public function setMethod($method) - { - $method = strtolower($method); - if (!in_array($method, $this->_methods)) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('"%s" is an invalid form method', $method)); - } - $this->setAttrib('method', $method); - return $this; - } - - /** - * Retrieve form method - * - * @return string - */ - public function getMethod() - { - if (null === ($method = $this->getAttrib('method'))) { - $method = self::METHOD_POST; - $this->setAttrib('method', $method); - } - return strtolower($method); - } - - /** - * Set encoding type - * - * @param string $value - * @return Zend_Form - */ - public function setEnctype($value) - { - $this->setAttrib('enctype', $value); - return $this; - } - - /** - * Get encoding type - * - * @return string - */ - public function getEnctype() - { - if (null === ($enctype = $this->getAttrib('enctype'))) { - $enctype = self::ENCTYPE_URLENCODED; - $this->setAttrib('enctype', $enctype); - } - return $this->getAttrib('enctype'); - } - - /** - * Filter a name to only allow valid variable characters - * - * @param string $value - * @param bool $allowBrackets - * @return string - */ - public function filterName($value, $allowBrackets = false) - { - $charset = '^a-zA-Z0-9_\x7f-\xff'; - if ($allowBrackets) { - $charset .= '\[\]'; - } - return preg_replace('/[' . $charset . ']/', '', (string) $value); - } - - /** - * Set form name - * - * @param string $name - * @return Zend_Form - */ - public function setName($name) - { - $name = $this->filterName($name); - if (('0' !== $name) && empty($name)) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid name provided; must contain only valid variable characters and be non-empty'); - } - - return $this->setAttrib('name', $name); - } - - /** - * Get name attribute - * - * @return null|string - */ - public function getName() - { - return $this->getAttrib('name'); - } - - /** - * Get fully qualified name - * - * Places name as subitem of array and/or appends brackets. - * - * @return string - */ - public function getFullyQualifiedName() - { - return $this->getName(); - } - - /** - * Get element id - * - * @return string - */ - public function getId() - { - if (null !== ($id = $this->getAttrib('id'))) { - return $id; - } - - $id = $this->getFullyQualifiedName(); - - // Bail early if no array notation detected - if (!strstr($id, '[')) { - return $id; - } - - // Strip array notation - if ('[]' == substr($id, -2)) { - $id = substr($id, 0, strlen($id) - 2); - } - $id = str_replace('][', '-', $id); - $id = str_replace(array(']', '['), '-', $id); - $id = trim($id, '-'); - - return $id; - } - - /** - * Set form legend - * - * @param string $value - * @return Zend_Form - */ - public function setLegend($value) - { - $this->_legend = (string) $value; - return $this; - } - - /** - * Get form legend - * - * @return string - */ - public function getLegend() - { - return $this->_legend; - } - - /** - * Set form description - * - * @param string $value - * @return Zend_Form - */ - public function setDescription($value) - { - $this->_description = (string) $value; - return $this; - } - - /** - * Retrieve form description - * - * @return string - */ - public function getDescription() - { - return $this->_description; - } - - /** - * Set form order - * - * @param int $index - * @return Zend_Form - */ - public function setOrder($index) - { - $this->_formOrder = (int) $index; - return $this; - } - - /** - * Get form order - * - * @return int|null - */ - public function getOrder() - { - return $this->_formOrder; - } - - // Element interaction: - - /** - * Add a new element - * - * $element may be either a string element type, or an object of type - * Zend_Form_Element. If a string element type is provided, $name must be - * provided, and $options may be optionally provided for configuring the - * element. - * - * If a Zend_Form_Element is provided, $name may be optionally provided, - * and any provided $options will be ignored. - * - * @param string|Zend_Form_Element $element - * @param string $name - * @param array|Zend_Config $options - * @return Zend_Form - */ - public function addElement($element, $name = null, $options = null) - { - if (is_string($element)) { - if (null === $name) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Elements specified by string must have an accompanying name'); - } - - if (is_array($this->_elementDecorators)) { - if (null === $options) { - $options = array('decorators' => $this->_elementDecorators); - } elseif ($options instanceof Zend_Config) { - $options = $options->toArray(); - } - if (is_array($options) - && !array_key_exists('decorators', $options) - ) { - $options['decorators'] = $this->_elementDecorators; - } - } - - $this->_elements[$name] = $this->createElement($element, $name, $options); - } elseif ($element instanceof Zend_Form_Element) { - $prefixPaths = array(); - $prefixPaths['decorator'] = $this->getPluginLoader('decorator')->getPaths(); - if (!empty($this->_elementPrefixPaths)) { - $prefixPaths = array_merge($prefixPaths, $this->_elementPrefixPaths); - } - - if (null === $name) { - $name = $element->getName(); - } - - $this->_elements[$name] = $element; - $this->_elements[$name]->addPrefixPaths($prefixPaths); - } - - $this->_order[$name] = $this->_elements[$name]->getOrder(); - $this->_orderUpdated = true; - $this->_setElementsBelongTo($name); - - return $this; - } - - /** - * Create an element - * - * Acts as a factory for creating elements. Elements created with this - * method will not be attached to the form, but will contain element - * settings as specified in the form object (including plugin loader - * prefix paths, default decorators, etc.). - * - * @param string $type - * @param string $name - * @param array|Zend_Config $options - * @return Zend_Form_Element - */ - public function createElement($type, $name, $options = null) - { - if (!is_string($type)) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Element type must be a string indicating type'); - } - - if (!is_string($name)) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Element name must be a string'); - } - - $prefixPaths = array(); - $prefixPaths['decorator'] = $this->getPluginLoader('decorator')->getPaths(); - if (!empty($this->_elementPrefixPaths)) { - $prefixPaths = array_merge($prefixPaths, $this->_elementPrefixPaths); - } - - if ($options instanceof Zend_Config) { - $options = $options->toArray(); - } - - if ((null === $options) || !is_array($options)) { - $options = array('prefixPath' => $prefixPaths); - } elseif (is_array($options)) { - if (array_key_exists('prefixPath', $options)) { - $options['prefixPath'] = array_merge($prefixPaths, $options['prefixPath']); - } else { - $options['prefixPath'] = $prefixPaths; - } - } - - $class = $this->getPluginLoader(self::ELEMENT)->load($type); - $element = new $class($name, $options); - - return $element; - } - - /** - * Add multiple elements at once - * - * @param array $elements - * @return Zend_Form - */ - public function addElements(array $elements) - { - foreach ($elements as $key => $spec) { - $name = null; - if (!is_numeric($key)) { - $name = $key; - } - - if (is_string($spec) || ($spec instanceof Zend_Form_Element)) { - $this->addElement($spec, $name); - continue; - } - - if (is_array($spec)) { - $argc = count($spec); - $options = array(); - if (isset($spec['type'])) { - $type = $spec['type']; - if (isset($spec['name'])) { - $name = $spec['name']; - } - if (isset($spec['options'])) { - $options = $spec['options']; - } - $this->addElement($type, $name, $options); - } else { - switch ($argc) { - case 0: - continue; - case (1 <= $argc): - $type = array_shift($spec); - case (2 <= $argc): - if (null === $name) { - $name = array_shift($spec); - } else { - $options = array_shift($spec); - } - case (3 <= $argc): - if (empty($options)) { - $options = array_shift($spec); - } - default: - $this->addElement($type, $name, $options); - } - } - } - } - return $this; - } - - /** - * Set form elements (overwrites existing elements) - * - * @param array $elements - * @return Zend_Form - */ - public function setElements(array $elements) - { - $this->clearElements(); - return $this->addElements($elements); - } - - /** - * Retrieve a single element - * - * @param string $name - * @return Zend_Form_Element|null - */ - public function getElement($name) - { - if (array_key_exists($name, $this->_elements)) { - return $this->_elements[$name]; - } - return null; - } - - /** - * Retrieve all elements - * - * @return array - */ - public function getElements() - { - return $this->_elements; - } - - /** - * Remove element - * - * @param string $name - * @return boolean - */ - public function removeElement($name) - { - $name = (string) $name; - if (isset($this->_elements[$name])) { - unset($this->_elements[$name]); - if (array_key_exists($name, $this->_order)) { - unset($this->_order[$name]); - $this->_orderUpdated = true; - } else { - foreach ($this->_displayGroups as $group) { - if (null !== $group->getElement($name)) { - $group->removeElement($name); - } - } - } - return true; - } - - return false; - } - - /** - * Remove all form elements - * - * @return Zend_Form - */ - public function clearElements() - { - foreach (array_keys($this->_elements) as $key) { - if (array_key_exists($key, $this->_order)) { - unset($this->_order[$key]); - } - } - $this->_elements = array(); - $this->_orderUpdated = true; - return $this; - } - - /** - * Set default values for elements - * - * Sets values for all elements specified in the array of $defaults. - * - * @param array $defaults - * @return Zend_Form - */ - public function setDefaults(array $defaults) - { - foreach ($this->getElements() as $name => $element) { - if (array_key_exists($name, $defaults)) { - $this->setDefault($name, $defaults[$name]); - } - } - foreach ($this->getSubForms() as $name => $form) { - if (array_key_exists($name, $defaults)) { - $form->setDefaults($defaults[$name]); - } else { - $form->setDefaults($defaults); - } - } - return $this; - } - - /** - * Set default value for an element - * - * @param string $name - * @param mixed $value - * @return Zend_Form - */ - public function setDefault($name, $value) - { - $name = (string) $name; - if ($element = $this->getElement($name)) { - $element->setValue($value); - } else { - if (is_scalar($value)) { - foreach ($this->getSubForms() as $subForm) { - $subForm->setDefault($name, $value); - } - } elseif (is_array($value) && ($subForm = $this->getSubForm($name))) { - $subForm->setDefaults($value); - } - } - return $this; - } - - /** - * Retrieve value for single element - * - * @param string $name - * @return mixed - */ - public function getValue($name) - { - if ($element = $this->getElement($name)) { - return $element->getValue(); - } - - if ($subForm = $this->getSubForm($name)) { - return $subForm->getValues(true); - } - - foreach ($this->getSubForms() as $subForm) { - if ($name == $subForm->getElementsBelongTo()) { - return $subForm->getValues(true); - } - } - return null; - } - - /** - * Retrieve all form element values - * - * @param bool $suppressArrayNotation - * @return array - */ - public function getValues($suppressArrayNotation = false) - { - $values = array(); - foreach ($this->getElements() as $key => $element) { - if (!$element->getIgnore()) { - $values[$key] = $element->getValue(); - } - } - foreach ($this->getSubForms() as $key => $subForm) { - $fValues = $this->_attachToArray($subForm->getValues(true), $subForm->getElementsBelongTo()); - $values = array_merge($values, $fValues); - } - - if (!$suppressArrayNotation && $this->isArray()) { - $values = $this->_attachToArray($values, $this->getElementsBelongTo()); - } - - return $values; - } - - /** - * Get unfiltered element value - * - * @param string $name - * @return mixed - */ - public function getUnfilteredValue($name) - { - if ($element = $this->getElement($name)) { - return $element->getUnfilteredValue(); - } - return null; - } - - /** - * Retrieve all unfiltered element values - * - * @return array - */ - public function getUnfilteredValues() - { - $values = array(); - foreach ($this->getElements() as $key => $element) { - $values[$key] = $element->getUnfilteredValue(); - } - - return $values; - } - - /** - * Set all elements' filters - * - * @param array $filters - * @return Zend_Form - */ - public function setElementFilters(array $filters) - { - foreach ($this->getElements() as $element) { - $element->setFilters($filters); - } - return $this; - } - - /** - * Set name of array elements belong to - * - * @param string $array - * @return Zend_Form - */ - public function setElementsBelongTo($array) - { - $origName = $this->getElementsBelongTo(); - $name = $this->filterName($array, true); - if (empty($name)) { - $name = null; - } - $this->_elementsBelongTo = $name; - - if (null === $name) { - $this->setIsArray(false); - if (null !== $origName) { - $this->_setElementsBelongTo(); - } - } else { - $this->setIsArray(true); - $this->_setElementsBelongTo(); - } - - return $this; - } - - /** - * Set array to which elements belong - * - * @param string $name Element name - * @return void - */ - protected function _setElementsBelongTo($name = null) - { - $array = $this->getElementsBelongTo(); - - if (null === $array) { - return; - } - - if (null === $name) { - foreach ($this->getElements() as $element) { - $element->setBelongsTo($array); - } - } else { - if (null !== ($element = $this->getElement($name))) { - $element->setBelongsTo($array); - } - } - } - - /** - * Get name of array elements belong to - * - * @return string|null - */ - public function getElementsBelongTo() - { - if ((null === $this->_elementsBelongTo) && $this->isArray()) { - $name = $this->getName(); - if (!empty($name)) { - return $name; - } - } - return $this->_elementsBelongTo; - } - - /** - * Set flag indicating elements belong to array - * - * @param bool $flag Value of flag - * @return Zend_Form - */ - public function setIsArray($flag) - { - $this->_isArray = (bool) $flag; - return $this; - } - - /** - * Get flag indicating if elements belong to an array - * - * @return bool - */ - public function isArray() - { - return $this->_isArray; - } - - // Element groups: - - /** - * Add a form group/subform - * - * @param Zend_Form $form - * @param string $name - * @param int $order - * @return Zend_Form - */ - public function addSubForm(Zend_Form $form, $name, $order = null) - { - $name = (string) $name; - foreach ($this->_loaders as $type => $loader) { - $loaderPaths = $loader->getPaths(); - foreach ($loaderPaths as $prefix => $paths) { - foreach ($paths as $path) { - $form->addPrefixPath($prefix, $path, $type); - } - } - } - - if (!empty($this->_elementPrefixPaths)) { - foreach ($this->_elementPrefixPaths as $spec) { - list($prefix, $path, $type) = array_values($spec); - $form->addElementPrefixPath($prefix, $path, $type); - } - } - - if (!empty($this->_displayGroupPrefixPaths)) { - foreach ($this->_displayGroupPrefixPaths as $spec) { - list($prefix, $path) = array_values($spec); - $form->addDisplayGroupPrefixPath($prefix, $path); - } - } - - if (null !== $order) { - $form->setOrder($order); - } - - $form->setName($name); - $this->_subForms[$name] = $form; - $this->_order[$name] = $order; - $this->_orderUpdated = true; - return $this; - } - - /** - * Add multiple form subForms/subforms at once - * - * @param array $subForms - * @return Zend_Form - */ - public function addSubForms(array $subForms) - { - foreach ($subForms as $key => $spec) { - $name = null; - if (!is_numeric($key)) { - $name = $key; - } - - if ($spec instanceof Zend_Form) { - $this->addSubForm($spec, $name); - continue; - } - - if (is_array($spec)) { - $argc = count($spec); - $order = null; - switch ($argc) { - case 0: - continue; - case (1 <= $argc): - $subForm = array_shift($spec); - case (2 <= $argc): - $name = array_shift($spec); - case (3 <= $argc): - $order = array_shift($spec); - default: - $this->addSubForm($subForm, $name, $order); - } - } - } - return $this; - } - - /** - * Set multiple form subForms/subforms (overwrites) - * - * @param array $subForms - * @return Zend_Form - */ - public function setSubForms(array $subForms) - { - $this->clearSubForms(); - return $this->addSubForms($subForms); - } - - /** - * Retrieve a form subForm/subform - * - * @param string $name - * @return Zend_Form|null - */ - public function getSubForm($name) - { - $name = (string) $name; - if (isset($this->_subForms[$name])) { - return $this->_subForms[$name]; - } - return null; - } - - /** - * Retrieve all form subForms/subforms - * - * @return array - */ - public function getSubForms() - { - return $this->_subForms; - } - - /** - * Remove form subForm/subform - * - * @param string $name - * @return boolean - */ - public function removeSubForm($name) - { - $name = (string) $name; - if (array_key_exists($name, $this->_subForms)) { - unset($this->_subForms[$name]); - if (array_key_exists($name, $this->_order)) { - unset($this->_order[$name]); - $this->_orderUpdated = true; - } - return true; - } - - return false; - } - - /** - * Remove all form subForms/subforms - * - * @return Zend_Form - */ - public function clearSubForms() - { - foreach (array_keys($this->_subForms) as $key) { - if (array_key_exists($key, $this->_order)) { - unset($this->_order[$key]); - } - } - $this->_subForms = array(); - $this->_orderUpdated = true; - return $this; - } - - - // Display groups: - - /** - * Set default display group class - * - * @param string $class - * @return Zend_Form - */ - public function setDefaultDisplayGroupClass($class) - { - $this->_defaultDisplayGroupClass = (string) $class; - return $this; - } - - /** - * Retrieve default display group class - * - * @return string - */ - public function getDefaultDisplayGroupClass() - { - return $this->_defaultDisplayGroupClass; - } - - /** - * Add a display group - * - * Groups named elements for display purposes. - * - * If a referenced element does not yet exist in the form, it is omitted. - * - * @param array $elements - * @param string $name - * @param array|Zend_Config $options - * @return Zend_Form - * @throws Zend_Form_Exception if no valid elements provided - */ - public function addDisplayGroup(array $elements, $name, $options = null) - { - $group = array(); - foreach ($elements as $element) { - if (isset($this->_elements[$element])) { - $add = $this->getElement($element); - if (null !== $add) { - unset($this->_order[$element]); - $group[] = $add; - } - } - } - if (empty($group)) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('No valid elements specified for display group'); - } - - $name = (string) $name; - - if (is_array($options)) { - $options['elements'] = $group; - } elseif ($options instanceof Zend_Config) { - $options = $options->toArray(); - $options['elements'] = $group; - } else { - $options = array('elements' => $group); - } - - if (isset($options['displayGroupClass'])) { - $class = $options['displayGroupClass']; - unset($options['displayGroupClass']); - } else { - $class = $this->getDefaultDisplayGroupClass(); - } - - if (!class_exists($class)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($class); - } - $this->_displayGroups[$name] = new $class( - $name, - $this->getPluginLoader(self::DECORATOR), - $options - ); - - if (!empty($this->_displayGroupPrefixPaths)) { - $this->_displayGroups[$name]->addPrefixPaths($this->_displayGroupPrefixPaths); - } - - $this->_order[$name] = $this->_displayGroups[$name]->getOrder(); - $this->_orderUpdated = true; - return $this; - } - - /** - * Add a display group object (used with cloning) - * - * @param Zend_Form_DisplayGroup $group - * @param string|null $name - * @return Zend_Form - */ - protected function _addDisplayGroupObject(Zend_Form_DisplayGroup $group, $name = null) - { - if (null === $name) { - $name = $group->getName(); - if (empty($name)) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid display group added; requires name'); - } - } - - $this->_displayGroups[$name] = $group; - - if (!empty($this->_displayGroupPrefixPaths)) { - $this->_displayGroups[$name]->addPrefixPaths($this->_displayGroupPrefixPaths); - } - - $this->_order[$name] = $this->_displayGroups[$name]->getOrder(); - $this->_orderUpdated = true; - return $this; - } - - /** - * Add multiple display groups at once - * - * @param array $groups - * @return Zend_Form - */ - public function addDisplayGroups(array $groups) - { - foreach ($groups as $key => $spec) { - $name = null; - if (!is_numeric($key)) { - $name = $key; - } - - if ($spec instanceof Zend_Form_DisplayGroup) { - $this->_addDisplayGroupObject($spec); - } - - if (!is_array($spec) || empty($spec)) { - continue; - } - - $argc = count($spec); - $options = array(); - - if (isset($spec['elements'])) { - $elements = $spec['elements']; - if (isset($spec['name'])) { - $name = $spec['name']; - } - if (isset($spec['options'])) { - $options = $spec['options']; - } - $this->addDisplayGroup($elements, $name, $options); - } else { - switch ($argc) { - case (1 <= $argc): - $elements = array_shift($spec); - if (!is_array($elements) && (null !== $name)) { - $elements = array_merge((array) $elements, $spec); - $this->addDisplayGroup($elements, $name); - break; - } - case (2 <= $argc): - if (null !== $name) { - $options = array_shift($spec); - $this->addDisplayGroup($elements, $name, $options); - break; - } - $name = array_shift($spec); - case (3 <= $argc): - $options = array_shift($spec); - default: - $this->addDisplayGroup($elements, $name, $options); - } - } - } - return $this; - } - - /** - * Add multiple display groups (overwrites) - * - * @param array $groups - * @return Zend_Form - */ - public function setDisplayGroups(array $groups) - { - return $this->clearDisplayGroups() - ->addDisplayGroups($groups); - } - - /** - * Return a display group - * - * @param string $name - * @return Zend_Form_DisplayGroup|null - */ - public function getDisplayGroup($name) - { - $name = (string) $name; - if (isset($this->_displayGroups[$name])) { - return $this->_displayGroups[$name]; - } - - return null; - } - - /** - * Return all display groups - * - * @return array - */ - public function getDisplayGroups() - { - return $this->_displayGroups; - } - - /** - * Remove a display group by name - * - * @param string $name - * @return boolean - */ - public function removeDisplayGroup($name) - { - $name = (string) $name; - if (array_key_exists($name, $this->_displayGroups)) { - foreach ($this->_displayGroups[$name] as $key => $element) { - if (array_key_exists($key, $this->_elements)) { - $this->_order[$key] = $element->getOrder(); - $this->_orderUpdated = true; - } - } - unset($this->_displayGroups[$name]); - - if (array_key_exists($name, $this->_order)) { - unset($this->_order[$name]); - $this->_orderUpdated = true; - } - return true; - } - - return false; - } - - /** - * Remove all display groups - * - * @return Zend_Form - */ - public function clearDisplayGroups() - { - foreach ($this->_displayGroups as $key => $group) { - if (array_key_exists($key, $this->_order)) { - unset($this->_order[$key]); - } - foreach ($group as $name => $element) { - if (isset($this->_elements[$name])) { - $this->_order[$name] = $element->getOrder(); - } - $this->_order[$name] = $element->getOrder(); - } - } - $this->_displayGroups = array(); - $this->_orderUpdated = true; - return $this; - } - - - // Processing - - /** - * Populate form - * - * Proxies to {@link setDefaults()} - * - * @param array $values - * @return Zend_Form - */ - public function populate(array $values) - { - return $this->setDefaults($values); - } - - /** - * Determine array key name from given value - * - * Given a value such as foo[bar][baz], returns the last element (in this case, 'baz'). - * - * @param string $value - * @return string - */ - protected function _getArrayName($value) - { - if (empty($value) || !is_string($value)) { - return $value; - } - - if (!strstr($value, '[')) { - return $value; - } - - $endPos = strlen($value) - 1; - if (']' != $value[$endPos]) { - return $value; - } - - $start = strrpos($value, '[') + 1; - $name = substr($value, $start, $endPos - $start); - return $name; - } - - /** - * Extract the value by walking the array using given array path. - * - * Given an array path such as foo[bar][baz], returns the value of the last - * element (in this case, 'baz'). - * - * @param array $value Array to walk - * @param string $arrayPath Array notation path of the part to extract - * @return string - */ - protected function _dissolveArrayValue($value, $arrayPath) - { - // As long as we have more levels - while ($arrayPos = strpos($arrayPath, '[')) { - // Get the next key in the path - $arrayKey = trim(substr($arrayPath, 0, $arrayPos), ']'); - - // Set the potentially final value or the next search point in the array - if (isset($value[$arrayKey])) { - $value = $value[$arrayKey]; - } - - // Set the next search point in the path - $arrayPath = trim(substr($arrayPath, $arrayPos + 1), ']'); - } - - if (isset($value[$arrayPath])) { - $value = $value[$arrayPath]; - } - - return $value; - } - - /** - * Converts given arrayPath to an array and attaches given value at the end of it. - * - * @param mixed $value The value to attach - * @param string $arrayPath Given array path to convert and attach to. - * @return array - */ - protected function _attachToArray($value, $arrayPath) - { - // As long as we have more levels - while ($arrayPos = strrpos($arrayPath, '[')) { - // Get the next key in the path - $arrayKey = trim(substr($arrayPath, $arrayPos + 1), ']'); - - // Attach - $value = array($arrayKey => $value); - - // Set the next search point in the path - $arrayPath = trim(substr($arrayPath, 0, $arrayPos), ']'); - } - - $value = array($arrayPath => $value); - - return $value; - } - - /** - * Validate the form - * - * @param array $data - * @return boolean - */ - public function isValid($data) - { - if (!is_array($data)) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(__CLASS__ . '::' . __METHOD__ . ' expects an array'); - } - $translator = $this->getTranslator(); - $valid = true; - - if ($this->isArray()) { - $data = $this->_dissolveArrayValue($data, $this->getElementsBelongTo()); - } - - foreach ($this->getElements() as $key => $element) { - $element->setTranslator($translator); - if (!isset($data[$key])) { - $valid = $element->isValid(null, $data) && $valid; - } else { - $valid = $element->isValid($data[$key], $data) && $valid; - } - } - foreach ($this->getSubForms() as $key => $form) { - $form->setTranslator($translator); - if (isset($data[$key])) { - $valid = $form->isValid($data[$key]) && $valid; - } else { - $valid = $form->isValid($data) && $valid; - } - } - - $this->_errorsExist = !$valid; - - // If manually flagged as an error, return invalid status - if ($this->_errorsForced) { - return false; - } - - return $valid; - } - - /** - * Validate a partial form - * - * Does not check for required flags. - * - * @param array $data - * @return boolean - */ - public function isValidPartial(array $data) - { - if ($this->isArray()) { - $data = $this->_dissolveArrayValue($data, $this->getElementsBelongTo()); - } - - $translator = $this->getTranslator(); - $valid = true; - $validatedSubForms = array(); - - foreach ($data as $key => $value) { - if (null !== ($element = $this->getElement($key))) { - if (null !== $translator) { - $element->setTranslator($translator); - } - $valid = $element->isValid($value, $data) && $valid; - } elseif (null !== ($subForm = $this->getSubForm($key))) { - if (null !== $translator) { - $subForm->setTranslator($translator); - } - $valid = $subForm->isValidPartial($data[$key]) && $valid; - $validatedSubForms[] = $key; - } - } - foreach ($this->getSubForms() as $key => $subForm) { - if (!in_array($key, $validatedSubForms)) { - if (null !== $translator) { - $subForm->setTranslator($translator); - } - - $valid = $subForm->isValidPartial($data) && $valid; - } - } - - $this->_errorsExist = !$valid; - return $valid; - } - - /** - * Process submitted AJAX data - * - * Checks if provided $data is valid, via {@link isValidPartial()}. If so, - * it returns JSON-encoded boolean true. If not, it returns JSON-encoded - * error messages (as returned by {@link getMessages()}). - * - * @param array $data - * @return string JSON-encoded boolean true or error messages - */ - public function processAjax(array $data) - { - require_once 'Zend/Json.php'; - if ($this->isValidPartial($data)) { - return Zend_Json::encode(true); - } - $messages = $this->getMessages(); - return Zend_Json::encode($messages); - } - - /** - * Add a custom error message to return in the event of failed validation - * - * @param string $message - * @return Zend_Form - */ - public function addErrorMessage($message) - { - $this->_errorMessages[] = (string) $message; - return $this; - } - - /** - * Add multiple custom error messages to return in the event of failed validation - * - * @param array $messages - * @return Zend_Form - */ - public function addErrorMessages(array $messages) - { - foreach ($messages as $message) { - $this->addErrorMessage($message); - } - return $this; - } - - /** - * Same as addErrorMessages(), but clears custom error message stack first - * - * @param array $messages - * @return Zend_Form - */ - public function setErrorMessages(array $messages) - { - $this->clearErrorMessages(); - return $this->addErrorMessages($messages); - } - - /** - * Retrieve custom error messages - * - * @return array - */ - public function getErrorMessages() - { - return $this->_errorMessages; - } - - /** - * Clear custom error messages stack - * - * @return Zend_Form - */ - public function clearErrorMessages() - { - $this->_errorMessages = array(); - return $this; - } - - /** - * Mark the element as being in a failed validation state - * - * @return Zend_Form - */ - public function markAsError() - { - $this->_errorsExist = true; - $this->_errorsForced = true; - return $this; - } - - /** - * Add an error message and mark element as failed validation - * - * @param string $message - * @return Zend_Form - */ - public function addError($message) - { - $this->addErrorMessage($message); - $this->markAsError(); - return $this; - } - - /** - * Add multiple error messages and flag element as failed validation - * - * @param array $messages - * @return Zend_Form - */ - public function addErrors(array $messages) - { - foreach ($messages as $message) { - $this->addError($message); - } - return $this; - } - - /** - * Overwrite any previously set error messages and flag as failed validation - * - * @param array $messages - * @return Zend_Form - */ - public function setErrors(array $messages) - { - $this->clearErrorMessages(); - return $this->addErrors($messages); - } - - - public function persistData() - { - } - - /** - * Are there errors in the form? - * - * @return bool - */ - public function isErrors() - { - return $this->_errorsExist; - } - - /** - * Get error codes for all elements failing validation - * - * @param string $name - * @return array - */ - public function getErrors($name = null) - { - $errors = array(); - if ((null !== $name) && isset($this->_elements[$name])) { - $errors = $this->getElement($name)->getErrors(); - } elseif ((null !== $name) && isset($this->_subForms[$name])) { - $errors = $this->getSubForm($name)->getErrors(); - } else { - foreach ($this->_elements as $key => $element) { - $errors[$key] = $element->getErrors(); - } - foreach ($this->getSubForms() as $key => $subForm) { - $fErrors = $this->_attachToArray($subForm->getErrors(), $subForm->getElementsBelongTo()); - $errors = array_merge($errors, $fErrors); - } - } - return $errors; - } - - /** - * Retrieve error messages from elements failing validations - * - * @param string $name - * @param bool $suppressArrayNotation - * @return array - */ - public function getMessages($name = null, $suppressArrayNotation = false) - { - if ((null !== $name) && isset($this->_elements[$name])) { - return $this->getElement($name)->getMessages(); - } - - if ((null !== $name) && isset($this->_subForms[$name])) { - return $this->getSubForm($name)->getMessages(null, true); - } - - $arrayKeys = array(); - foreach ($this->getSubForms() as $key => $subForm) { - $array = $this->_getArrayName($subForm->getElementsBelongTo()); - if (!empty($array)) { - if ($name == $array) { - return $subForm->getMessages(null, true); - } - $arrayKeys[$key] = $subForm->getElementsBelongTo(); - } - } - - $customMessages = $this->_getErrorMessages(); - if ($this->isErrors() && !empty($customMessages)) { - return $customMessages; - } - - $messages = array(); - - foreach ($this->getElements() as $name => $element) { - $eMessages = $element->getMessages(); - if (!empty($eMessages)) { - $messages[$name] = $eMessages; - } - } - - foreach ($this->getSubForms() as $key => $subForm) { - $fMessages = $subForm->getMessages(null, true); - if (!empty($fMessages)) { - if (array_key_exists($key, $arrayKeys)) { - $fMessages = $this->_attachToArray($fMessages, $arrayKeys[$key]); - $messages = array_merge($messages, $fMessages); - } else { - $messages[$key] = $fMessages; - } - } - } - - if (!$suppressArrayNotation && $this->isArray()) { - $messages = $this->_attachToArray($messages, $this->getElementsBelongTo()); - } - - return $messages; - } - - - // Rendering - - /** - * Set view object - * - * @param Zend_View_Interface $view - * @return Zend_Form - */ - public function setView(Zend_View_Interface $view = null) - { - $this->_view = $view; - return $this; - } - - /** - * Retrieve view object - * - * If none registered, attempts to pull from ViewRenderer. - * - * @return Zend_View_Interface|null - */ - public function getView() - { - if (null === $this->_view) { - require_once 'Zend/Controller/Action/HelperBroker.php'; - $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); - $this->setView($viewRenderer->view); - } - - return $this->_view; - } - - /** - * Instantiate a decorator based on class name or class name fragment - * - * @param string $name - * @param null|array $options - * @return Zend_Form_Decorator_Interface - */ - protected function _getDecorator($name, $options) - { - $class = $this->getPluginLoader(self::DECORATOR)->load($name); - if (null === $options) { - $decorator = new $class; - } else { - $decorator = new $class($options); - } - - return $decorator; - } - - /** - * Add a decorator for rendering the element - * - * @param string|Zend_Form_Decorator_Interface $decorator - * @param array|Zend_Config $options Options with which to initialize decorator - * @return Zend_Form - */ - public function addDecorator($decorator, $options = null) - { - if ($decorator instanceof Zend_Form_Decorator_Interface) { - $name = get_class($decorator); - } elseif (is_string($decorator)) { - $name = $decorator; - $decorator = array( - 'decorator' => $name, - 'options' => $options, - ); - } elseif (is_array($decorator)) { - foreach ($decorator as $name => $spec) { - break; - } - if (is_numeric($name)) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid alias provided to addDecorator; must be alphanumeric string'); - } - if (is_string($spec)) { - $decorator = array( - 'decorator' => $spec, - 'options' => $options, - ); - } elseif ($spec instanceof Zend_Form_Decorator_Interface) { - $decorator = $spec; - } - } else { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid decorator provided to addDecorator; must be string or Zend_Form_Decorator_Interface'); - } - - $this->_decorators[$name] = $decorator; - - return $this; - } - - /** - * Add many decorators at once - * - * @param array $decorators - * @return Zend_Form - */ - public function addDecorators(array $decorators) - { - foreach ($decorators as $decoratorInfo) { - if (is_string($decoratorInfo)) { - $this->addDecorator($decoratorInfo); - } elseif ($decoratorInfo instanceof Zend_Form_Decorator_Interface) { - $this->addDecorator($decoratorInfo); - } elseif (is_array($decoratorInfo)) { - $argc = count($decoratorInfo); - $options = array(); - if (isset($decoratorInfo['decorator'])) { - $decorator = $decoratorInfo['decorator']; - if (isset($decoratorInfo['options'])) { - $options = $decoratorInfo['options']; - } - $this->addDecorator($decorator, $options); - } else { - switch (true) { - case (0 == $argc): - break; - case (1 <= $argc): - $decorator = array_shift($decoratorInfo); - case (2 <= $argc): - $options = array_shift($decoratorInfo); - default: - $this->addDecorator($decorator, $options); - break; - } - } - } else { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid decorator passed to addDecorators()'); - } - } - - return $this; - } - - /** - * Overwrite all decorators - * - * @param array $decorators - * @return Zend_Form - */ - public function setDecorators(array $decorators) - { - $this->clearDecorators(); - return $this->addDecorators($decorators); - } - - /** - * Retrieve a registered decorator - * - * @param string $name - * @return false|Zend_Form_Decorator_Abstract - */ - public function getDecorator($name) - { - if (!isset($this->_decorators[$name])) { - $len = strlen($name); - foreach ($this->_decorators as $localName => $decorator) { - if ($len > strlen($localName)) { - continue; - } - - if (0 === substr_compare($localName, $name, -$len, $len, true)) { - if (is_array($decorator)) { - return $this->_loadDecorator($decorator, $localName); - } - return $decorator; - } - } - return false; - } - - if (is_array($this->_decorators[$name])) { - return $this->_loadDecorator($this->_decorators[$name], $name); - } - - return $this->_decorators[$name]; - } - - /** - * Retrieve all decorators - * - * @return array - */ - public function getDecorators() - { - foreach ($this->_decorators as $key => $value) { - if (is_array($value)) { - $this->_loadDecorator($value, $key); - } - } - return $this->_decorators; - } - - /** - * Remove a single decorator - * - * @param string $name - * @return bool - */ - public function removeDecorator($name) - { - $decorator = $this->getDecorator($name); - if ($decorator) { - if (array_key_exists($name, $this->_decorators)) { - unset($this->_decorators[$name]); - } else { - $class = get_class($decorator); - if (!array_key_exists($class, $this->_decorators)) { - return false; - } - unset($this->_decorators[$class]); - } - return true; - } - - return false; - } - - /** - * Clear all decorators - * - * @return Zend_Form - */ - public function clearDecorators() - { - $this->_decorators = array(); - return $this; - } - - /** - * Set all element decorators as specified - * - * @param array $decorators - * @param array|null $elements Specific elements to decorate or exclude from decoration - * @param bool $include Whether $elements is an inclusion or exclusion list - * @return Zend_Form - */ - public function setElementDecorators(array $decorators, array $elements = null, $include = true) - { - if (is_array($elements)) { - if ($include) { - $elementObjs = array(); - foreach ($elements as $name) { - if (null !== ($element = $this->getElement($name))) { - $elementObjs[] = $element; - } - } - } else { - $elementObjs = $this->getElements(); - foreach ($elements as $name) { - if (array_key_exists($name, $elementObjs)) { - unset($elementObjs[$name]); - } - } - } - } else { - $elementObjs = $this->getElements(); - } - - foreach ($elementObjs as $element) { - $element->setDecorators($decorators); - } - - $this->_elementDecorators = $decorators; - - return $this; - } - - /** - * Set all display group decorators as specified - * - * @param array $decorators - * @return Zend_Form - */ - public function setDisplayGroupDecorators(array $decorators) - { - foreach ($this->getDisplayGroups() as $group) { - $group->setDecorators($decorators); - } - - return $this; - } - - /** - * Set all subform decorators as specified - * - * @param array $decorators - * @return Zend_Form - */ - public function setSubFormDecorators(array $decorators) - { - foreach ($this->getSubForms() as $form) { - $form->setDecorators($decorators); - } - - return $this; - } - - /** - * Render form - * - * @param Zend_View_Interface $view - * @return string - */ - public function render(Zend_View_Interface $view = null) - { - if (null !== $view) { - $this->setView($view); - } - - $content = ''; - foreach ($this->getDecorators() as $decorator) { - $decorator->setElement($this); - $content = $decorator->render($content); - } - return $content; - } - - /** - * Serialize as string - * - * Proxies to {@link render()}. - * - * @return string - */ - public function __toString() - { - try { - $return = $this->render(); - return $return; - } catch (Exception $e) { - $message = "Exception caught by form: " . $e->getMessage() - . "\nStack Trace:\n" . $e->getTraceAsString(); - trigger_error($message, E_USER_WARNING); - return ''; - } - } - - - // Localization: - - /** - * Set translator object - * - * @param Zend_Translate|Zend_Translate_Adapter|null $translator - * @return Zend_Form - */ - public function setTranslator($translator = null) - { - if (null === $translator) { - $this->_translator = null; - } elseif ($translator instanceof Zend_Translate_Adapter) { - $this->_translator = $translator; - } elseif ($translator instanceof Zend_Translate) { - $this->_translator = $translator->getAdapter(); - } else { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid translator specified'); - } - - return $this; - } - - /** - * Set global default translator object - * - * @param Zend_Translate|Zend_Translate_Adapter|null $translator - * @return void - */ - public static function setDefaultTranslator($translator = null) - { - if (null === $translator) { - self::$_translatorDefault = null; - } elseif ($translator instanceof Zend_Translate_Adapter) { - self::$_translatorDefault = $translator; - } elseif ($translator instanceof Zend_Translate) { - self::$_translatorDefault = $translator->getAdapter(); - } else { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid translator specified'); - } - } - - /** - * Retrieve translator object - * - * @return Zend_Translate|null - */ - public function getTranslator() - { - if ($this->translatorIsDisabled()) { - return null; - } - - if (null === $this->_translator) { - return self::getDefaultTranslator(); - } - - return $this->_translator; - } - - /** - * Get global default translator object - * - * @return null|Zend_Translate - */ - public static function getDefaultTranslator() - { - if (null === self::$_translatorDefault) { - require_once 'Zend/Registry.php'; - if (Zend_Registry::isRegistered('Zend_Translate')) { - $translator = Zend_Registry::get('Zend_Translate'); - if ($translator instanceof Zend_Translate_Adapter) { - return $translator; - } elseif ($translator instanceof Zend_Translate) { - return $translator->getAdapter(); - } - } - } - return self::$_translatorDefault; - } - - /** - * Indicate whether or not translation should be disabled - * - * @param bool $flag - * @return Zend_Form - */ - public function setDisableTranslator($flag) - { - $this->_translatorDisabled = (bool) $flag; - return $this; - } - - /** - * Is translation disabled? - * - * @return bool - */ - public function translatorIsDisabled() - { - return $this->_translatorDisabled; - } - - /** - * Overloading: access to elements, form groups, and display groups - * - * @param string $name - * @return Zend_Form_Element|Zend_Form|null - */ - public function __get($name) - { - if (isset($this->_elements[$name])) { - return $this->_elements[$name]; - } elseif (isset($this->_subForms[$name])) { - return $this->_subForms[$name]; - } elseif (isset($this->_displayGroups[$name])) { - return $this->_displayGroups[$name]; - } - - return null; - } - - /** - * Overloading: access to elements, form groups, and display groups - * - * @param string $name - * @param Zend_Form_Element|Zend_Form $value - * @return void - * @throws Zend_Form_Exception for invalid $value - */ - public function __set($name, $value) - { - if ($value instanceof Zend_Form_Element) { - $this->addElement($value, $name); - return; - } elseif ($value instanceof Zend_Form) { - $this->addSubForm($value, $name); - return; - } elseif (is_array($value)) { - $this->addDisplayGroup($value, $name); - return; - } - - require_once 'Zend/Form/Exception.php'; - if (is_object($value)) { - $type = get_class($value); - } else { - $type = gettype($value); - } - throw new Zend_Form_Exception('Only form elements and groups may be overloaded; variable of type "' . $type . '" provided'); - } - - /** - * Overloading: access to elements, form groups, and display groups - * - * @param string $name - * @return boolean - */ - public function __isset($name) - { - if (isset($this->_elements[$name]) - || isset($this->_subForms[$name]) - || isset($this->_displayGroups[$name])) - { - return true; - } - - return false; - } - - /** - * Overloading: access to elements, form groups, and display groups - * - * @param string $name - * @return void - */ - public function __unset($name) - { - if (isset($this->_elements[$name])) { - unset($this->_elements[$name]); - } elseif (isset($this->_subForms[$name])) { - unset($this->_subForms[$name]); - } elseif (isset($this->_displayGroups[$name])) { - unset($this->_displayGroups[$name]); - } - } - - /** - * Overloading: allow rendering specific decorators - * - * Call renderDecoratorName() to render a specific decorator. - * - * @param string $method - * @param array $args - * @return string - * @throws Zend_Form_Exception for invalid decorator or invalid method call - */ - public function __call($method, $args) - { - if ('render' == substr($method, 0, 6)) { - $decoratorName = substr($method, 6); - if (false !== ($decorator = $this->getDecorator($decoratorName))) { - $decorator->setElement($this); - $seed = ''; - if (0 < count($args)) { - $seed = array_shift($args); - } - return $decorator->render($seed); - } - - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Decorator by name %s does not exist', $decoratorName)); - } - - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Method %s does not exist', $method)); - } - - // Interfaces: Iterator, Countable - - /** - * Current element/subform/display group - * - * @return Zend_Form_Element|Zend_Form_DisplayGroup|Zend_Form - */ - public function current() - { - $this->_sort(); - current($this->_order); - $key = key($this->_order); - - if (isset($this->_elements[$key])) { - return $this->getElement($key); - } elseif (isset($this->_subForms[$key])) { - return $this->getSubForm($key); - } elseif (isset($this->_displayGroups[$key])) { - return $this->getDisplayGroup($key); - } else { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Corruption detected in form; invalid key ("%s") found in internal iterator', (string) $key)); - } - } - - /** - * Current element/subform/display group name - * - * @return string - */ - public function key() - { - $this->_sort(); - return key($this->_order); - } - - /** - * Move pointer to next element/subform/display group - * - * @return void - */ - public function next() - { - $this->_sort(); - next($this->_order); - } - - /** - * Move pointer to beginning of element/subform/display group loop - * - * @return void - */ - public function rewind() - { - $this->_sort(); - reset($this->_order); - } - - /** - * Determine if current element/subform/display group is valid - * - * @return bool - */ - public function valid() - { - $this->_sort(); - return (current($this->_order) !== false); - } - - /** - * Count of elements/subforms that are iterable - * - * @return int - */ - public function count() - { - return count($this->_order); - } - - /** - * Set flag to disable loading default decorators - * - * @param bool $flag - * @return Zend_Form - */ - public function setDisableLoadDefaultDecorators($flag) - { - $this->_disableLoadDefaultDecorators = (bool) $flag; - return $this; - } - - /** - * Should we load the default decorators? - * - * @return bool - */ - public function loadDefaultDecoratorsIsDisabled() - { - return $this->_disableLoadDefaultDecorators; - } - - /** - * Load the default decorators - * - * @return void - */ - public function loadDefaultDecorators() - { - if ($this->loadDefaultDecoratorsIsDisabled()) { - return; - } - - $decorators = $this->getDecorators(); - if (empty($decorators)) { - $this->addDecorator('FormElements') - ->addDecorator('HtmlTag', array('tag' => 'dl', 'class' => 'zend_form')) - ->addDecorator('Form'); - } - } - - /** - * Sort items according to their order - * - * @return void - */ - protected function _sort() - { - if ($this->_orderUpdated) { - $items = array(); - $index = 0; - foreach ($this->_order as $key => $order) { - if (null === $order) { - if (null === ($order = $this->{$key}->getOrder())) { - while (array_search($index, $this->_order, true)) { - ++$index; - } - $items[$index] = $key; - ++$index; - } else { - $items[$order] = $key; - } - } else { - $items[$order] = $key; - } - } - - $items = array_flip($items); - asort($items); - $this->_order = $items; - $this->_orderUpdated = false; - } - } - - /** - * Lazy-load a decorator - * - * @param array $decorator Decorator type and options - * @param mixed $name Decorator name or alias - * @return Zend_Form_Decorator_Interface - */ - protected function _loadDecorator(array $decorator, $name) - { - $sameName = false; - if ($name == $decorator['decorator']) { - $sameName = true; - } - - $instance = $this->_getDecorator($decorator['decorator'], $decorator['options']); - if ($sameName) { - $newName = get_class($instance); - $decoratorNames = array_keys($this->_decorators); - $order = array_flip($decoratorNames); - $order[$newName] = $order[$name]; - $decoratorsExchange = array(); - unset($order[$name]); - asort($order); - foreach ($order as $key => $index) { - if ($key == $newName) { - $decoratorsExchange[$key] = $instance; - continue; - } - $decoratorsExchange[$key] = $this->_decorators[$key]; - } - $this->_decorators = $decoratorsExchange; - } else { - $this->_decorators[$name] = $instance; - } - - return $instance; - } - - /** - * Retrieve optionally translated custom error messages - * - * @return array - */ - protected function _getErrorMessages() - { - $messages = $this->getErrorMessages(); - $translator = $this->getTranslator(); - if (null !== $translator) { - foreach ($messages as $key => $message) { - $messages[$key] = $translator->translate($message); - } - } - return $messages; - } -} diff --git a/lib/zend/Zend/Form/Decorator/Abstract.php b/lib/zend/Zend/Form/Decorator/Abstract.php deleted file mode 100644 index b768791f26..0000000000 --- a/lib/zend/Zend/Form/Decorator/Abstract.php +++ /dev/null @@ -1,254 +0,0 @@ -setOptions($options); - } elseif ($options instanceof Zend_Config) { - $this->setConfig($options); - } - } - - /** - * Set options - * - * @param array $options - * @return Zend_Form_Decorator_Abstract - */ - public function setOptions(array $options) - { - $this->_options = $options; - return $this; - } - - /** - * Set options from config object - * - * @param Zend_Config $config - * @return Zend_Form_Decorator_Abstract - */ - public function setConfig(Zend_Config $config) - { - return $this->setOptions($config->toArray()); - } - - /** - * Set option - * - * @param string $key - * @param mixed $value - * @return Zend_Form_Decorator_Abstract - */ - public function setOption($key, $value) - { - $this->_options[(string) $key] = $value; - return $this; - } - - /** - * Get option - * - * @param string $key - * @return mixed - */ - public function getOption($key) - { - $key = (string) $key; - if (isset($this->_options[$key])) { - return $this->_options[$key]; - } - - return null; - } - - /** - * Retrieve options - * - * @return array - */ - public function getOptions() - { - return $this->_options; - } - - /** - * Remove single option - * - * @param mixed $key - * @return void - */ - public function removeOption($key) - { - if (null !== $this->getOption($key)) { - unset($this->_options[$key]); - return true; - } - - return false; - } - - /** - * Clear all options - * - * @return Zend_Form_Decorator_Abstract - */ - public function clearOptions() - { - $this->_options = array(); - return $this; - } - - /** - * Set current form element - * - * @param Zend_Form_Element|Zend_Form $element - * @return Zend_Form_Decorator_Abstract - * @throws Zend_Form_Decorator_Exception on invalid element type - */ - public function setElement($element) - { - if ((!$element instanceof Zend_Form_Element) - && (!$element instanceof Zend_Form) - && (!$element instanceof Zend_Form_DisplayGroup)) - { - require_once 'Zend/Form/Decorator/Exception.php'; - throw new Zend_Form_Decorator_Exception('Invalid element type passed to decorator'); - } - - $this->_element = $element; - return $this; - } - - /** - * Retrieve current element - * - * @return Zend_Form_Element|Zend_Form - */ - public function getElement() - { - return $this->_element; - } - - /** - * Determine if decorator should append or prepend content - * - * @return string - */ - public function getPlacement() - { - $placement = $this->_placement; - if (null !== ($placementOpt = $this->getOption('placement'))) { - $placementOpt = strtoupper($placementOpt); - switch ($placementOpt) { - case self::APPEND: - case self::PREPEND: - $placement = $this->_placement = $placementOpt; - break; - case false: - $placement = $this->_placement = null; - break; - default: - break; - } - $this->removeOption('placement'); - } - - return $placement; - } - - /** - * Retrieve separator to use between old and new content - * - * @return string - */ - public function getSeparator() - { - $separator = $this->_separator; - if (null !== ($separatorOpt = $this->getOption('separator'))) { - $separator = $this->_separator = (string) $separatorOpt; - $this->removeOption('separator'); - } - return $separator; - } - - /** - * Decorate content and/or element - * - * @param string $content - * @return string - * @throws Zend_Dorm_Decorator_Exception when unimplemented - */ - public function render($content) - { - require_once 'Zend/Form/Decorator/Exception.php'; - throw new Zend_Form_Decorator_Exception('render() not implemented'); - } -} diff --git a/lib/zend/Zend/Form/Decorator/Callback.php b/lib/zend/Zend/Form/Decorator/Callback.php deleted file mode 100644 index 1e26f00554..0000000000 --- a/lib/zend/Zend/Form/Decorator/Callback.php +++ /dev/null @@ -1,128 +0,0 @@ -_callback = $callback; - return $this; - } - - /** - * Get registered callback - * - * If not previously registered, checks to see if it exists in registered - * options. - * - * @return null|string|array - */ - public function getCallback() - { - if (null === $this->_callback) { - if (null !== ($callback = $this->getOption('callback'))) { - $this->setCallback($callback); - $this->removeOption('callback'); - } - } - - return $this->_callback; - } - - /** - * Render - * - * If no callback registered, returns callback. Otherwise, gets return - * value of callback and either appends, prepends, or replaces passed in - * content. - * - * @param string $content - * @return string - */ - public function render($content) - { - $callback = $this->getCallback(); - if (null === $callback) { - return $content; - } - - $placement = $this->getPlacement(); - $separator = $this->getSeparator(); - - $response = call_user_func($callback, $content, $this->getElement(), $this->getOptions()); - - switch ($placement) { - case self::APPEND: - return $content . $separator . $response; - case self::PREPEND: - return $response . $separator . $content; - default: - // replace content - return $response; - } - } -} diff --git a/lib/zend/Zend/Form/Decorator/Captcha.php b/lib/zend/Zend/Form/Decorator/Captcha.php deleted file mode 100644 index 111d1b3bd3..0000000000 --- a/lib/zend/Zend/Form/Decorator/Captcha.php +++ /dev/null @@ -1,72 +0,0 @@ -getElement(); - if (!method_exists($element, 'getCaptcha')) { - return $content; - } - - $view = $element->getView(); - if (null === $view) { - return $content; - } - - $placement = $this->getPlacement(); - $separator = $this->getSeparator(); - - $captcha = $element->getCaptcha(); - $markup = $captcha->render($view, $element); - switch ($placement) { - case 'PREPEND': - $content = $markup . $separator . $content; - break; - case 'APPEND': - default: - $content = $content . $separator . $markup; - } - return $content; - } -} diff --git a/lib/zend/Zend/Form/Decorator/Captcha/Word.php b/lib/zend/Zend/Form/Decorator/Captcha/Word.php deleted file mode 100644 index ab53481a9c..0000000000 --- a/lib/zend/Zend/Form/Decorator/Captcha/Word.php +++ /dev/null @@ -1,78 +0,0 @@ -getElement(); - $view = $element->getView(); - if (null === $view) { - return $content; - } - - $name = $element->getFullyQualifiedName(); - - $hiddenName = $name . '[id]'; - $textName = $name . '[input]'; - - $label = $element->getDecorator("Label"); - if($label) { - $label->setOption("id", "$name-input"); - } - - $placement = $this->getPlacement(); - $separator = $this->getSeparator(); - - $hidden = $view->formHidden($hiddenName, $element->getValue(), $element->getAttribs()); - $text = $view->formText($textName, '', $element->getAttribs()); - switch ($placement) { - case 'PREPEND': - $content = $hidden . $separator . $text . $separator . $content; - break; - case 'APPEND': - default: - $content = $content . $separator . $hidden . $separator . $text; - } - return $content; - } -} diff --git a/lib/zend/Zend/Form/Decorator/Description.php b/lib/zend/Zend/Form/Decorator/Description.php deleted file mode 100644 index 69e6365c25..0000000000 --- a/lib/zend/Zend/Form/Decorator/Description.php +++ /dev/null @@ -1,199 +0,0 @@ -_tag = (string) $tag; - return $this; - } - - /** - * Get HTML tag, if any, with which to surround description - * - * @return string - */ - public function getTag() - { - if (null === $this->_tag) { - $tag = $this->getOption('tag'); - if (null !== $tag) { - $this->removeOption('tag'); - } else { - $tag = 'p'; - } - - $this->setTag($tag); - return $tag; - } - - return $this->_tag; - } - - /** - * Get class with which to define description - * - * Defaults to 'hint' - * - * @return string - */ - public function getClass() - { - $class = $this->getOption('class'); - if (null === $class) { - $class = 'hint'; - $this->setOption('class', $class); - } - - return $class; - } - - /** - * Set whether or not to escape description - * - * @param bool $flag - * @return Zend_Form_Decorator_Description - */ - public function setEscape($flag) - { - $this->_escape = (bool) $flag; - return $this; - } - - /** - * Get escape flag - * - * @return true - */ - public function getEscape() - { - if (null === $this->_escape) { - if (null !== ($escape = $this->getOption('escape'))) { - $this->setEscape($escape); - $this->removeOption('escape'); - } else { - $this->setEscape(true); - } - } - - return $this->_escape; - } - - /** - * Render a description - * - * @param string $content - * @return string - */ - public function render($content) - { - $element = $this->getElement(); - $view = $element->getView(); - if (null === $view) { - return $content; - } - - $description = $element->getDescription(); - $description = trim($description); - - if (!empty($description) && (null !== ($translator = $element->getTranslator()))) { - $description = $translator->translate($description); - } - - if (empty($description)) { - return $content; - } - - $separator = $this->getSeparator(); - $placement = $this->getPlacement(); - $tag = $this->getTag(); - $class = $this->getClass(); - $escape = $this->getEscape(); - - $options = $this->getOptions(); - - if ($escape) { - $description = $view->escape($description); - } - - if (!empty($tag)) { - require_once 'Zend/Form/Decorator/HtmlTag.php'; - $options['tag'] = $tag; - $decorator = new Zend_Form_Decorator_HtmlTag($options); - $description = $decorator->render($description); - } - - switch ($placement) { - case self::PREPEND: - return $description . $separator . $content; - case self::APPEND: - default: - return $content . $separator . $description; - } - } -} diff --git a/lib/zend/Zend/Form/Decorator/DtDdWrapper.php b/lib/zend/Zend/Form/Decorator/DtDdWrapper.php deleted file mode 100644 index 772548fdde..0000000000 --- a/lib/zend/Zend/Form/Decorator/DtDdWrapper.php +++ /dev/null @@ -1,63 +0,0 @@ - item, and wraps the content in a
. Used as a - * default decorator for subforms and display groups. - * - * @category Zend - * @package Zend_Form - * @subpackage Decorator - * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - * @version $Id$ - */ -class Zend_Form_Decorator_DtDdWrapper extends Zend_Form_Decorator_Abstract -{ - /** - * Default placement: surround content - * @var string - */ - protected $_placement = null; - - /** - * Render - * - * Renders as the following: - *
- *
$content
- * - * @param string $content - * @return string - */ - public function render($content) - { - $elementName = $this->getElement()->getName(); - - return '
 
' . - '
' . $content . '
'; - } -} diff --git a/lib/zend/Zend/Form/Decorator/Errors.php b/lib/zend/Zend/Form/Decorator/Errors.php deleted file mode 100644 index 8d4830854c..0000000000 --- a/lib/zend/Zend/Form/Decorator/Errors.php +++ /dev/null @@ -1,69 +0,0 @@ -getElement(); - $view = $element->getView(); - if (null === $view) { - return $content; - } - - $errors = $element->getMessages(); - if (empty($errors)) { - return $content; - } - - $separator = $this->getSeparator(); - $placement = $this->getPlacement(); - $errors = $view->formErrors($errors, $this->getOptions()); - - switch ($placement) { - case self::APPEND: - return $content . $separator . $errors; - case self::PREPEND: - return $errors . $separator . $content; - } - } -} diff --git a/lib/zend/Zend/Form/Decorator/Exception.php b/lib/zend/Zend/Form/Decorator/Exception.php deleted file mode 100644 index 617fd74bd4..0000000000 --- a/lib/zend/Zend/Form/Decorator/Exception.php +++ /dev/null @@ -1,37 +0,0 @@ -getElement())) { - $attribs = $element->getAttribs(); - $options = array_merge($options, $attribs); - $this->setOptions($options); - } - return $options; - } - - /** - * Set legend - * - * @param string $value - * @return Zend_Form_Decorator_Fieldset - */ - public function setLegend($value) - { - $this->_legend = (string) $value; - return $this; - } - - /** - * Get legend - * - * @return string - */ - public function getLegend() - { - $legend = $this->_legend; - if ((null === $legend) && (null !== ($element = $this->getElement()))) { - if (method_exists($element, 'getLegend')) { - $legend = $element->getLegend(); - $this->setLegend($legend); - } - } - if ((null === $legend) && (null !== ($legend = $this->getOption('legend')))) { - $this->setLegend($legend); - $this->removeOption('legend'); - } - - return $legend; - } - - /** - * Render a fieldset - * - * @param string $content - * @return string - */ - public function render($content) - { - $element = $this->getElement(); - $view = $element->getView(); - if (null === $view) { - return $content; - } - - $legend = $this->getLegend(); - $attribs = $this->getOptions(); - $name = $element->getFullyQualifiedName(); - - $id = $element->getId(); - if (!empty($id)) { - $attribs['id'] = 'fieldset-' . $id; - } - - if (null !== $legend) { - if (null !== ($translator = $element->getTranslator())) { - $legend = $translator->translate($legend); - } - - $attribs['legend'] = $legend; - } - - foreach (array_keys($attribs) as $attrib) { - $testAttrib = strtolower($attrib); - if (in_array($testAttrib, $this->stripAttribs)) { - unset($attribs[$attrib]); - } - } - - return $view->fieldset($name, $content, $attribs); - } -} diff --git a/lib/zend/Zend/Form/Decorator/File.php b/lib/zend/Zend/Form/Decorator/File.php deleted file mode 100644 index 5f6a4385d9..0000000000 --- a/lib/zend/Zend/Form/Decorator/File.php +++ /dev/null @@ -1,142 +0,0 @@ -getOptions(); - - if (null !== ($element = $this->getElement())) { - $attribs = array_merge($attribs, $element->getAttribs()); - } - - foreach ($this->_attribBlacklist as $key) { - if (array_key_exists($key, $attribs)) { - unset($attribs[$key]); - } - } - - return $attribs; - } - - /** - * Render a form file - * - * @param string $content - * @return string - */ - public function render($content) - { - $element = $this->getElement(); - if (!$element instanceof Zend_Form_Element) { - return $content; - } - - $view = $element->getView(); - if (!$view instanceof Zend_View_Interface) { - return $content; - } - - $name = $element->getName(); - $attribs = $this->getAttribs(); - if (!array_key_exists('id', $attribs)) { - $attribs['id'] = $name; - } - - $separator = $this->getSeparator(); - $placement = $this->getPlacement(); - $markup = array(); - $size = $element->getMaxFileSize(); - if ($size > 0) { - $element->setMaxFileSize(0); - $markup[] = $view->formHidden('MAX_FILE_SIZE', $size); - } - - if (Zend_File_Transfer_Adapter_Http::isApcAvailable()) { - $markup[] = $view->formHidden('APC_UPLOAD_PROGRESS', uniqid(), array('id' => 'progress_key')); - } else if (Zend_File_Transfer_Adapter_Http::isUploadProgressAvailable()) { - $markup[] = $view->formHidden('UPLOAD_IDENTIFIER', uniqid(), array('id' => 'progress_key')); - } - - if ($element->isArray()) { - $name .= "[]"; - $count = $element->getMultiFile(); - for ($i = 0; $i < $count; ++$i) { - $htmlAttribs = $attribs; - $htmlAttribs['id'] .= '-' . $i; - $markup[] = $view->formFile($name, $htmlAttribs); - } - } else { - $markup[] = $view->formFile($name, $attribs); - } - - $markup = implode($separator, $markup); - - switch ($placement) { - case self::PREPEND: - return $markup . $separator . $content; - case self::APPEND: - default: - return $content . $separator . $markup; - } - } -} diff --git a/lib/zend/Zend/Form/Decorator/Form.php b/lib/zend/Zend/Form/Decorator/Form.php deleted file mode 100644 index cc13c115f8..0000000000 --- a/lib/zend/Zend/Form/Decorator/Form.php +++ /dev/null @@ -1,134 +0,0 @@ -_helper = (string) $helper; - return $this; - } - - /** - * Get view helper for rendering form - * - * @return string - */ - public function getHelper() - { - if (null !== ($helper = $this->getOption('helper'))) { - $this->setHelper($helper); - $this->removeOption('helper'); - } - return $this->_helper; - } - - /** - * Retrieve decorator options - * - * Assures that form action and method are set, and sets appropriate - * encoding type if current method is POST. - * - * @return array - */ - public function getOptions() - { - if (null !== ($element = $this->getElement())) { - if ($element instanceof Zend_Form) { - $element->getAction(); - $method = $element->getMethod(); - if ($method == Zend_Form::METHOD_POST) { - $this->setOption('enctype', 'application/x-www-form-urlencoded'); - } - foreach ($element->getAttribs() as $key => $value) { - $this->setOption($key, $value); - } - } elseif ($element instanceof Zend_Form_DisplayGroup) { - foreach ($element->getAttribs() as $key => $value) { - $this->setOption($key, $value); - } - } - } - - if (isset($this->_options['method'])) { - $this->_options['method'] = strtolower($this->_options['method']); - } - - return $this->_options; - } - - /** - * Render a form - * - * Replaces $content entirely from currently set element. - * - * @param string $content - * @return string - */ - public function render($content) - { - $form = $this->getElement(); - $view = $form->getView(); - if (null === $view) { - return $content; - } - - $helper = $this->getHelper(); - $attribs = $this->getOptions(); - $name = $form->getFullyQualifiedName(); - $attribs['id'] = $form->getId(); - return $view->$helper($name, $attribs, $content); - } -} diff --git a/lib/zend/Zend/Form/Decorator/FormElements.php b/lib/zend/Zend/Form/Decorator/FormElements.php deleted file mode 100644 index c2328ce645..0000000000 --- a/lib/zend/Zend/Form/Decorator/FormElements.php +++ /dev/null @@ -1,126 +0,0 @@ -getElement(); - if ((!$form instanceof Zend_Form) && (!$form instanceof Zend_Form_DisplayGroup)) { - return $content; - } - - $belongsTo = ($form instanceof Zend_Form) ? $form->getElementsBelongTo() : null; - $elementContent = ''; - $separator = $this->getSeparator(); - $translator = $form->getTranslator(); - $items = array(); - $view = $form->getView(); - foreach ($form as $item) { - $item->setView($view) - ->setTranslator($translator); - if ($item instanceof Zend_Form_Element) { - $item->setBelongsTo($belongsTo); - } elseif (!empty($belongsTo) && ($item instanceof Zend_Form)) { - if ($item->isArray()) { - $name = $this->mergeBelongsTo($belongsTo, $item->getElementsBelongTo()); - $item->setElementsBelongTo($name, true); - } else { - $item->setElementsBelongTo($belongsTo, true); - } - } elseif (!empty($belongsTo) && ($item instanceof Zend_Form_DisplayGroup)) { - foreach ($item as $element) { - $element->setBelongsTo($belongsTo); - } - } - - $items[] = $item->render(); - - if (($item instanceof Zend_Form_Element_File) - || (($item instanceof Zend_Form) - && (Zend_Form::ENCTYPE_MULTIPART == $item->getEnctype())) - || (($item instanceof Zend_Form_DisplayGroup) - && (Zend_Form::ENCTYPE_MULTIPART == $item->getAttrib('enctype'))) - ) { - if ($form instanceof Zend_Form) { - $form->setEnctype(Zend_Form::ENCTYPE_MULTIPART); - } elseif ($form instanceof Zend_Form_DisplayGroup) { - $form->setAttrib('enctype', Zend_Form::ENCTYPE_MULTIPART); - } - } - } - $elementContent = implode($separator, $items); - - switch ($this->getPlacement()) { - case self::PREPEND: - return $elementContent . $separator . $content; - case self::APPEND: - default: - return $content . $separator . $elementContent; - } - } -} diff --git a/lib/zend/Zend/Form/Decorator/FormErrors.php b/lib/zend/Zend/Form/Decorator/FormErrors.php deleted file mode 100644 index d6d417de10..0000000000 --- a/lib/zend/Zend/Form/Decorator/FormErrors.php +++ /dev/null @@ -1,397 +0,0 @@ - false, - 'markupElementLabelEnd' => '', - 'markupElementLabelStart' => '', - 'markupListEnd' => '', - 'markupListItemEnd' => '', - 'markupListItemStart' => '
  • ', - 'markupListStart' => '
      ', - ); - - /**#@+ - * Markup options - * @var string - */ - protected $_ignoreSubForms; - protected $_markupElementLabelEnd; - protected $_markupElementLabelStart; - protected $_markupListEnd; - protected $_markupListItemEnd; - protected $_markupListItemStart; - protected $_markupListStart; - /**#@-*/ - - /** - * Render errors - * - * @param string $content - * @return string - */ - public function render($content) - { - $form = $this->getElement(); - if (!$form instanceof Zend_Form) { - return $content; - } - - $view = $form->getView(); - if (null === $view) { - return $content; - } - - $this->initOptions(); - $markup = $this->_recurseForm($form, $view); - - if (empty($markup)) { - return $content; - } - - $markup = $this->getMarkupListStart() - . $markup - . $this->getMarkupListEnd(); - - switch ($this->getPlacement()) { - case self::APPEND: - return $content . $this->getSeparator() . $markup; - case self::PREPEND: - return $markup . $this->getSeparator() . $content; - } - } - - /** - * Initialize options - * - * @return void - */ - public function initOptions() - { - $this->getMarkupElementLabelEnd(); - $this->getMarkupElementLabelStart(); - $this->getMarkupListEnd(); - $this->getMarkupListItemEnd(); - $this->getMarkupListItemStart(); - $this->getMarkupListStart(); - $this->getPlacement(); - $this->getSeparator(); - $this->ignoreSubForms(); - } - - /** - * Retrieve markupElementLabelStart - * - * @return string - */ - public function getMarkupElementLabelStart() - { - if (null === $this->_markupElementLabelStart) { - if (null === ($markupElementLabelStart = $this->getOption('markupElementLabelStart'))) { - $this->setMarkupElementLabelStart($this->_defaults['markupElementLabelStart']); - } else { - $this->setMarkupElementLabelStart($markupElementLabelStart); - $this->removeOption('markupElementLabelStart'); - } - } - - return $this->_markupElementLabelStart; - } - - /** - * Set markupElementLabelStart - * - * @param string $markupElementLabelStart - * @return Zend_Form_Decorator_FormErrors - */ - public function setMarkupElementLabelStart($markupElementLabelStart) - { - $this->_markupElementLabelStart = $markupElementLabelStart; - return $this; - } - - /** - * Retrieve markupElementLabelEnd - * - * @return string - */ - public function getMarkupElementLabelEnd() - { - if (null === $this->_markupElementLabelEnd) { - if (null === ($markupElementLabelEnd = $this->getOption('markupElementLabelEnd'))) { - $this->setMarkupElementLabelEnd($this->_defaults['markupElementLabelEnd']); - } else { - $this->setMarkupElementLabelEnd($markupElementLabelEnd); - $this->removeOption('markupElementLabelEnd'); - } - } - - return $this->_markupElementLabelEnd; - } - - /** - * Set markupElementLabelEnd - * - * @param string $markupElementLabelEnd - * @return Zend_Form_Decorator_FormErrors - */ - public function setMarkupElementLabelEnd($markupElementLabelEnd) - { - $this->_markupElementLabelEnd = $markupElementLabelEnd; - return $this; - } - - /** - * Retrieve markupListStart - * - * @return string - */ - public function getMarkupListStart() - { - if (null === $this->_markupListStart) { - if (null === ($markupListStart = $this->getOption('markupListStart'))) { - $this->setMarkupListStart($this->_defaults['markupListStart']); - } else { - $this->setMarkupListStart($markupListStart); - $this->removeOption('markupListStart'); - } - } - - return $this->_markupListStart; - } - - /** - * Set markupListStart - * - * @param string $markupListStart - * @return Zend_Form_Decorator_FormErrors - */ - public function setMarkupListStart($markupListStart) - { - $this->_markupListStart = $markupListStart; - return $this; - } - - /** - * Retrieve markupListEnd - * - * @return string - */ - public function getMarkupListEnd() - { - if (null === $this->_markupListEnd) { - if (null === ($markupListEnd = $this->getOption('markupListEnd'))) { - $this->setMarkupListEnd($this->_defaults['markupListEnd']); - } else { - $this->setMarkupListEnd($markupListEnd); - $this->removeOption('markupListEnd'); - } - } - - return $this->_markupListEnd; - } - - /** - * Set markupListEnd - * - * @param string $markupListEnd - * @return Zend_Form_Decorator_FormErrors - */ - public function setMarkupListEnd($markupListEnd) - { - $this->_markupListEnd = $markupListEnd; - return $this; - } - - /** - * Retrieve markupListItemStart - * - * @return string - */ - public function getMarkupListItemStart() - { - if (null === $this->_markupListItemStart) { - if (null === ($markupListItemStart = $this->getOption('markupListItemStart'))) { - $this->setMarkupListItemStart($this->_defaults['markupListItemStart']); - } else { - $this->setMarkupListItemStart($markupListItemStart); - $this->removeOption('markupListItemStart'); - } - } - - return $this->_markupListItemStart; - } - - /** - * Set markupListItemStart - * - * @param string $markupListItemStart - * @return Zend_Form_Decorator_FormErrors - */ - public function setMarkupListItemStart($markupListItemStart) - { - $this->_markupListItemStart = $markupListItemStart; - return $this; - } - - /** - * Retrieve markupListItemEnd - * - * @return string - */ - public function getMarkupListItemEnd() - { - if (null === $this->_markupListItemEnd) { - if (null === ($markupListItemEnd = $this->getOption('markupListItemEnd'))) { - $this->setMarkupListItemEnd($this->_defaults['markupListItemEnd']); - } else { - $this->setMarkupListItemEnd($markupListItemEnd); - $this->removeOption('markupListItemEnd'); - } - } - - return $this->_markupListItemEnd; - } - - /** - * Set markupListItemEnd - * - * @param string $markupListItemEnd - * @return Zend_Form_Decorator_FormErrors - */ - public function setMarkupListItemEnd($markupListItemEnd) - { - $this->_markupListItemEnd = $markupListItemEnd; - return $this; - } - - /** - * Retrieve ignoreSubForms - * - * @return bool - */ - public function ignoreSubForms() - { - if (null === $this->_ignoreSubForms) { - if (null === ($ignoreSubForms = $this->getOption('ignoreSubForms'))) { - $this->setIgnoreSubForms($this->_defaults['ignoreSubForms']); - } else { - $this->setIgnoreSubForms($ignoreSubForms); - $this->removeOption('ignoreSubForms'); - } - } - - return $this->_ignoreSubForms; - } - - /** - * Set ignoreSubForms - * - * @param bool $ignoreSubForms - * @return Zend_Form_Decorator_FormErrors - */ - public function setIgnoreSubForms($ignoreSubForms) - { - $this->_ignoreSubForms = (bool) $ignoreSubForms; - return $this; - } - - /** - * Render element label - * - * @param Zend_Form_Element $element - * @param Zend_View_Interface $view - * @return string - */ - public function renderLabel(Zend_Form_Element $element, Zend_View_Interface $view) - { - $label = $element->getLabel(); - if (empty($label)) { - $label = $element->getName(); - } - - return $this->getMarkupElementLabelStart() - . $view->escape($label) - . $this->getMarkupElementLabelEnd(); - } - - /** - * Recurse through a form object, rendering errors - * - * @param Zend_Form $form - * @param Zend_View_Interface $view - * @return string - */ - protected function _recurseForm(Zend_Form $form, Zend_View_Interface $view) - { - $content = ''; - $errors = $form->getMessages(); - if ($form instanceof Zend_Form_SubForm) { - $name = $form->getName(); - if ((1 == count($errors)) && array_key_exists($name, $errors)) { - $errors = $errors[$name]; - } - } - if (empty($errors)) { - return $content; - } - - foreach ($errors as $name => $list) { - $element = $form->$name; - if ($element instanceof Zend_Form_Element) { - $element->setView($view); - $content .= $this->getMarkupListItemStart() - . $this->renderLabel($element, $view) - . $view->formErrors($list, $this->getOptions()) - . $this->getMarkupListItemEnd(); - } elseif (!$this->ignoreSubForms() && ($element instanceof Zend_Form)) { - $content .= $this->getMarkupListStart() - . $this->_recurseForm($element, $view) - . $this->getMarkupListEnd(); - } - } - - return $content; - } -} diff --git a/lib/zend/Zend/Form/Decorator/HtmlTag.php b/lib/zend/Zend/Form/Decorator/HtmlTag.php deleted file mode 100644 index eeb7e5698a..0000000000 --- a/lib/zend/Zend/Form/Decorator/HtmlTag.php +++ /dev/null @@ -1,219 +0,0 @@ - $val) { - $key = htmlspecialchars($key, ENT_COMPAT, 'UTF-8'); - if (is_array($val)) { - $val = implode(' ', $val); - } - $val = htmlspecialchars($val, ENT_COMPAT, 'UTF-8'); - $xhtml .= " $key=\"$val\""; - } - return $xhtml; - } - - /** - * Normalize tag - * - * Ensures tag is alphanumeric characters only, and all lowercase. - * - * @param string $tag - * @return string - */ - public function normalizeTag($tag) - { - if (!isset($this->_tagFilter)) { - require_once 'Zend/Filter.php'; - require_once 'Zend/Filter/Alnum.php'; - require_once 'Zend/Filter/StringToLower.php'; - $this->_tagFilter = new Zend_Filter(); - $this->_tagFilter->addFilter(new Zend_Filter_Alnum()) - ->addFilter(new Zend_Filter_StringToLower()); - } - return $this->_tagFilter->filter($tag); - } - - /** - * Set tag to use - * - * @param string $tag - * @return Zend_Form_Decorator_HtmlTag - */ - public function setTag($tag) - { - $this->_tag = $this->normalizeTag($tag); - return $this; - } - - /** - * Get tag - * - * If no tag is registered, either via setTag() or as an option, uses 'div'. - * - * @return string - */ - public function getTag() - { - if (null === $this->_tag) { - if (null === ($tag = $this->getOption('tag'))) { - $this->setTag('div'); - } else { - $this->setTag($tag); - $this->removeOption('tag'); - } - } - - return $this->_tag; - } - - /** - * Get the formatted open tag - * - * @param string $tag - * @param array $attribs - * @return string - */ - protected function _getOpenTag($tag, array $attribs = null) - { - $html = '<' . $tag; - if (null !== $attribs) { - $html .= $this->_htmlAttribs($attribs); - } - $html .= '>'; - return $html; - } - - /** - * Get formatted closing tag - * - * @param string $tag - * @return string - */ - protected function _getCloseTag($tag) - { - return ''; - } - - /** - * Render content wrapped in an HTML tag - * - * @param string $content - * @return string - */ - public function render($content) - { - $tag = $this->getTag(); - $placement = $this->getPlacement(); - $noAttribs = $this->getOption('noAttribs'); - $openOnly = $this->getOption('openOnly'); - $closeOnly = $this->getOption('closeOnly'); - $this->removeOption('noAttribs'); - $this->removeOption('openOnly'); - $this->removeOption('closeOnly'); - - $attribs = null; - if (!$noAttribs) { - $attribs = $this->getOptions(); - } - - switch ($placement) { - case self::APPEND: - if ($closeOnly) { - return $content . $this->_getCloseTag($tag); - } - if ($openOnly) { - return $content . $this->_getOpenTag($tag, $attribs); - } - return $content - . $this->_getOpenTag($tag, $attribs) - . $this->_getCloseTag($tag); - case self::PREPEND: - if ($closeOnly) { - return $this->_getCloseTag($tag) . $content; - } - if ($openOnly) { - return $this->_getOpenTag($tag, $attribs) . $content; - } - return $this->_getOpenTag($tag, $attribs) - . $this->_getCloseTag($tag) - . $content; - default: - return (($openOnly || !$closeOnly) ? $this->_getOpenTag($tag, $attribs) : '') - . $content - . (($closeOnly || !$openOnly) ? $this->_getCloseTag($tag) : ''); - } - } -} diff --git a/lib/zend/Zend/Form/Decorator/Image.php b/lib/zend/Zend/Form/Decorator/Image.php deleted file mode 100644 index f53ca072ef..0000000000 --- a/lib/zend/Zend/Form/Decorator/Image.php +++ /dev/null @@ -1,154 +0,0 @@ -_tag = (string) $tag; - return $this; - } - - /** - * Get HTML tag, if any, with which to surround label - * - * @return void - */ - public function getTag() - { - if (null === $this->_tag) { - $tag = $this->getOption('tag'); - if (null !== $tag) { - $this->removeOption('tag'); - $this->setTag($tag); - } - return $tag; - } - - return $this->_tag; - } - - /** - * Get attributes to pass to image helper - * - * @return array - */ - public function getAttribs() - { - $attribs = $this->getOptions(); - - if (null !== ($element = $this->getElement())) { - $attribs['alt'] = $element->getLabel(); - $attribs = array_merge($attribs, $element->getAttribs()); - } - - foreach ($this->_attribBlacklist as $key) { - if (array_key_exists($key, $attribs)) { - unset($attribs[$key]); - } - } - - return $attribs; - } - - /** - * Render a form image - * - * @param string $content - * @return string - */ - public function render($content) - { - $element = $this->getElement(); - $view = $element->getView(); - if (null === $view) { - return $content; - } - - $tag = $this->getTag(); - $placement = $this->getPlacement(); - $separator = $this->getSeparator(); - $name = $element->getFullyQualifiedName(); - $attribs = $this->getAttribs(); - $attribs['id'] = $element->getId(); - - $image = $view->formImage($name, $element->getImageValue(), $attribs); - - if (null !== $tag) { - require_once 'Zend/Form/Decorator/HtmlTag.php'; - $decorator = new Zend_Form_Decorator_HtmlTag(); - $decorator->setOptions(array('tag' => $tag)); - $image = $decorator->render($image); - } - - switch ($placement) { - case self::PREPEND: - return $image . $separator . $content; - case self::APPEND: - default: - return $content . $separator . $image; - } - } -} diff --git a/lib/zend/Zend/Form/Decorator/Interface.php b/lib/zend/Zend/Form/Decorator/Interface.php deleted file mode 100644 index e2c6d20d55..0000000000 --- a/lib/zend/Zend/Form/Decorator/Interface.php +++ /dev/null @@ -1,123 +0,0 @@ -setOption('id', $id); - return $this; - } - - /** - * Retrieve element ID (used in 'for' attribute) - * - * If none set in decorator, looks first for element 'id' attribute, and - * defaults to element name. - * - * @return string - */ - public function getId() - { - $id = $this->getOption('id'); - if (null === $id) { - if (null !== ($element = $this->getElement())) { - $id = $element->getId(); - $this->setId($id); - } - } - - return $id; - } - - /** - * Set HTML tag with which to surround label - * - * @param string $tag - * @return Zend_Form_Decorator_Label - */ - public function setTag($tag) - { - if (empty($tag)) { - $this->_tag = null; - } else { - $this->_tag = (string) $tag; - } - return $this; - } - - /** - * Get HTML tag, if any, with which to surround label - * - * @return void - */ - public function getTag() - { - if (null === $this->_tag) { - $tag = $this->getOption('tag'); - if (null !== $tag) { - $this->removeOption('tag'); - $this->setTag($tag); - } - return $tag; - } - - return $this->_tag; - } - - /** - * Get class with which to define label - * - * Appends either 'optional' or 'required' to class, depending on whether - * or not the element is required. - * - * @return string - */ - public function getClass() - { - $class = ''; - $element = $this->getElement(); - - $decoratorClass = $this->getOption('class'); - if (!empty($decoratorClass)) { - $class .= ' ' . $decoratorClass; - } - - $type = $element->isRequired() ? 'required' : 'optional'; - - if (!strstr($class, $type)) { - $class .= ' ' . $type; - $class = trim($class); - } - - return $class; - } - - /** - * Load an optional/required suffix/prefix key - * - * @param string $key - * @return void - */ - protected function _loadOptReqKey($key) - { - if (!isset($this->$key)) { - $value = $this->getOption($key); - $this->$key = (string) $value; - if (null !== $value) { - $this->removeOption($key); - } - } - } - - /** - * Overloading - * - * Currently overloads: - * - * - getOpt(ional)Prefix() - * - getOpt(ional)Suffix() - * - getReq(uired)Prefix() - * - getReq(uired)Suffix() - * - setOpt(ional)Prefix() - * - setOpt(ional)Suffix() - * - setReq(uired)Prefix() - * - setReq(uired)Suffix() - * - * @param string $method - * @param array $args - * @return mixed - * @throws Zend_Form_Exception for unsupported methods - */ - public function __call($method, $args) - { - $tail = substr($method, -6); - $head = substr($method, 0, 3); - if (in_array($head, array('get', 'set')) - && (('Prefix' == $tail) || ('Suffix' == $tail)) - ) { - $position = substr($method, -6); - $type = strtolower(substr($method, 3, 3)); - switch ($type) { - case 'req': - $key = 'required' . $position; - break; - case 'opt': - $key = 'optional' . $position; - break; - default: - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Invalid method "%s" called in Label decorator, and detected as type %s', $method, $type)); - } - - switch ($head) { - case 'set': - if (0 === count($args)) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Method "%s" requires at least one argument; none provided', $method)); - } - $value = array_shift($args); - $this->$key = $value; - return $this; - case 'get': - default: - if (null === ($element = $this->getElement())) { - $this->_loadOptReqKey($key); - } elseif (isset($element->$key)) { - $this->$key = (string) $element->$key; - } else { - $this->_loadOptReqKey($key); - } - return $this->$key; - } - } - - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Invalid method "%s" called in Label decorator', $method)); - } - - /** - * Get label to render - * - * @return void - */ - public function getLabel() - { - if (null === ($element = $this->getElement())) { - return ''; - } - - $label = $element->getLabel(); - $label = trim($label); - - if (empty($label)) { - return ''; - } - - if (null !== ($translator = $element->getTranslator())) { - $label = $translator->translate($label); - } - - $optPrefix = $this->getOptPrefix(); - $optSuffix = $this->getOptSuffix(); - $reqPrefix = $this->getReqPrefix(); - $reqSuffix = $this->getReqSuffix(); - $separator = $this->getSeparator(); - - if (!empty($label)) { - if ($element->isRequired()) { - $label = $reqPrefix . $label . $reqSuffix; - } else { - $label = $optPrefix . $label . $optSuffix; - } - } - - return $label; - } - - - /** - * Render a label - * - * @param string $content - * @return string - */ - public function render($content) - { - $element = $this->getElement(); - $view = $element->getView(); - if (null === $view) { - return $content; - } - - $label = $this->getLabel(); - $separator = $this->getSeparator(); - $placement = $this->getPlacement(); - $tag = $this->getTag(); - $id = $this->getId(); - $class = $this->getClass(); - $options = $this->getOptions(); - - - if (empty($label) && empty($tag)) { - return $content; - } - - if (!empty($label)) { - $options['class'] = $class; - $label = $view->formLabel($element->getFullyQualifiedName(), trim($label), $options); - } else { - $label = ' '; - } - - if (null !== $tag) { - require_once 'Zend/Form/Decorator/HtmlTag.php'; - $decorator = new Zend_Form_Decorator_HtmlTag(); - $decorator->setOptions(array('tag' => $tag, - 'id' => $this->getElement()->getName() . '-label')); - - $label = $decorator->render($label); - } - - switch ($placement) { - case self::APPEND: - return $content . $separator . $label; - case self::PREPEND: - return $label . $separator . $content; - } - } -} diff --git a/lib/zend/Zend/Form/Decorator/Marker/File/Interface.php b/lib/zend/Zend/Form/Decorator/Marker/File/Interface.php deleted file mode 100644 index ef51a9f023..0000000000 --- a/lib/zend/Zend/Form/Decorator/Marker/File/Interface.php +++ /dev/null @@ -1,33 +0,0 @@ -getElement(); - if ((!$form instanceof Zend_Form) && (!$form instanceof Zend_Form_DisplayGroup)) { - return $content; - } - - $this->_recursivelyPrepareForm($form); - - return $content; - } - - protected function _recursivelyPrepareForm(Zend_Form $form) - { - $belongsTo = ($form instanceof Zend_Form) ? $form->getElementsBelongTo() : null; - $elementContent = ''; - $separator = $this->getSeparator(); - $translator = $form->getTranslator(); - $view = $form->getView(); - - foreach ($form as $item) { - $item->setView($view) - ->setTranslator($translator); - if ($item instanceof Zend_Form_Element) { - $item->setBelongsTo($belongsTo); - } elseif (!empty($belongsTo) && ($item instanceof Zend_Form)) { - if ($item->isArray()) { - $name = $this->mergeBelongsTo($belongsTo, $item->getElementsBelongTo()); - $item->setElementsBelongTo($name, true); - } else { - $item->setElementsBelongTo($belongsTo, true); - } - $this->_recursivelyPrepareForm($item); - } elseif (!empty($belongsTo) && ($item instanceof Zend_Form_DisplayGroup)) { - foreach ($item as $element) { - $element->setBelongsTo($belongsTo); - } - } - } - } -} diff --git a/lib/zend/Zend/Form/Decorator/Tooltip.php b/lib/zend/Zend/Form/Decorator/Tooltip.php deleted file mode 100644 index 1ea94d4383..0000000000 --- a/lib/zend/Zend/Form/Decorator/Tooltip.php +++ /dev/null @@ -1,58 +0,0 @@ -getElement()->getAttrib('title'))) { - if (null !== ($translator = $this->getElement()->getTranslator())) { - $title = $translator->translate($title); - } - } - - $this->getElement()->setAttrib('title', $title); - return $content; - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/Form/Decorator/ViewHelper.php b/lib/zend/Zend/Form/Decorator/ViewHelper.php deleted file mode 100644 index 8647fd6693..0000000000 --- a/lib/zend/Zend/Form/Decorator/ViewHelper.php +++ /dev/null @@ -1,256 +0,0 @@ -_helper = (string) $helper; - return $this; - } - - /** - * Retrieve view helper for rendering element - * - * @return string - */ - public function getHelper() - { - if (null === $this->_helper) { - $options = $this->getOptions(); - if (isset($options['helper'])) { - $this->setHelper($options['helper']); - $this->removeOption('helper'); - } else { - $element = $this->getElement(); - if (null !== $element) { - if (null !== ($helper = $element->getAttrib('helper'))) { - $this->setHelper($helper); - } else { - $type = $element->getType(); - if ($pos = strrpos($type, '_')) { - $type = substr($type, $pos + 1); - } - $this->setHelper('form' . ucfirst($type)); - } - } - } - } - - return $this->_helper; - } - - /** - * Get name - * - * If element is a Zend_Form_Element, will attempt to namespace it if the - * element belongs to an array. - * - * @return string - */ - public function getName() - { - if (null === ($element = $this->getElement())) { - return ''; - } - - $name = $element->getName(); - - if (!$element instanceof Zend_Form_Element) { - return $name; - } - - if (null !== ($belongsTo = $element->getBelongsTo())) { - $name = $belongsTo . '[' - . $name - . ']'; - } - - if ($element->isArray()) { - $name .= '[]'; - } - - return $name; - } - - /** - * Retrieve element attributes - * - * Set id to element name and/or array item. - * - * @return array - */ - public function getElementAttribs() - { - if (null === ($element = $this->getElement())) { - return null; - } - - $attribs = $element->getAttribs(); - if (isset($attribs['helper'])) { - unset($attribs['helper']); - } - - if (method_exists($element, 'getSeparator')) { - if (null !== ($listsep = $element->getSeparator())) { - $attribs['listsep'] = $listsep; - } - } - - if (isset($attribs['id'])) { - return $attribs; - } - - $id = $element->getName(); - - if ($element instanceof Zend_Form_Element) { - if (null !== ($belongsTo = $element->getBelongsTo())) { - $belongsTo = preg_replace('/\[([^\]]+)\]/', '-$1', $belongsTo); - $id = $belongsTo . '-' . $id; - } - } - - $element->setAttrib('id', $id); - $attribs['id'] = $id; - - return $attribs; - } - - /** - * Get value - * - * If element type is one of the button types, returns the label. - * - * @param Zend_Form_Element $element - * @return string|null - */ - public function getValue($element) - { - if (!$element instanceof Zend_Form_Element) { - return null; - } - - foreach ($this->_buttonTypes as $type) { - if ($element instanceof $type) { - if (stristr($type, 'button')) { - $element->content = $element->getLabel(); - return null; - } - return $element->getLabel(); - } - } - - return $element->getValue(); - } - - /** - * Render an element using a view helper - * - * Determine view helper from 'viewHelper' option, or, if none set, from - * the element type. Then call as - * helper($element->getName(), $element->getValue(), $element->getAttribs()) - * - * @param string $content - * @return string - * @throws Zend_Form_Decorator_Exception if element or view are not registered - */ - public function render($content) - { - $element = $this->getElement(); - - $view = $element->getView(); - if (null === $view) { - require_once 'Zend/Form/Decorator/Exception.php'; - throw new Zend_Form_Decorator_Exception('ViewHelper decorator cannot render without a registered view object'); - } - - if (method_exists($element, 'getMultiOptions')) { - $element->getMultiOptions(); - } - - $helper = $this->getHelper(); - $separator = $this->getSeparator(); - $value = $this->getValue($element); - $attribs = $this->getElementAttribs(); - $name = $element->getFullyQualifiedName(); - $id = $element->getId(); - $attribs['id'] = $id; - - $helperObject = $view->getHelper($helper); - if (method_exists($helperObject, 'setTranslator')) { - $helperObject->setTranslator($element->getTranslator()); - } - - $elementContent = $view->$helper($name, $value, $attribs, $element->options); - switch ($this->getPlacement()) { - case self::APPEND: - return $content . $separator . $elementContent; - case self::PREPEND: - return $elementContent . $separator . $content; - default: - return $elementContent; - } - } -} diff --git a/lib/zend/Zend/Form/Decorator/ViewScript.php b/lib/zend/Zend/Form/Decorator/ViewScript.php deleted file mode 100644 index 73702905fe..0000000000 --- a/lib/zend/Zend/Form/Decorator/ViewScript.php +++ /dev/null @@ -1,144 +0,0 @@ - - * // in view script: - * echo $this->element->getLabel(); - * - * - * Any options other than separator, placement, and viewScript are passed to - * the partial as local variables. - * - * @category Zend - * @package Zend_Form - * @subpackage Decorator - * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - * @version $Id$ - */ -class Zend_Form_Decorator_ViewScript extends Zend_Form_Decorator_Abstract -{ - /** - * Default placement: append - * @var string - */ - protected $_placement = 'APPEND'; - - /** - * View script to render - * @var string - */ - protected $_viewScript; - - /** - * Set view script - * - * @param string $script - * @return Zend_Form_Decorator_ViewScript - */ - public function setViewScript($script) - { - $this->_viewScript = (string) $script; - return $this; - } - - /** - * Get view script - * - * @return string|null - */ - public function getViewScript() - { - if (null === $this->_viewScript) { - if (null !== ($element = $this->getElement())) { - if (null !== ($viewScript = $element->getAttrib('viewScript'))) { - $this->setViewScript($viewScript); - return $viewScript; - } - } - - if (null !== ($viewScript = $this->getOption('viewScript'))) { - $this->setViewScript($viewScript) - ->removeOption('viewScript'); - } - } - - return $this->_viewScript; - } - - /** - * Render a view script - * - * @param string $content - * @return string - */ - public function render($content) - { - $element = $this->getElement(); - $view = $element->getView(); - if (null === $view) { - return $content; - } - - $viewScript = $this->getViewScript(); - if (empty($viewScript)) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('No view script registered with ViewScript decorator'); - } - - $separator = $this->getSeparator(); - $placement = $this->getPlacement(); - - $vars = $this->getOptions(); - $vars['element'] = $element; - $vars['content'] = $content; - $vars['decorator'] = $this; - - $renderedContent = $view->partial($viewScript, $vars); - - // Get placement again to see if it has changed - $placement = $this->getPlacement(); - - switch ($placement) { - case self::PREPEND: - return $renderedContent . $separator . $content; - case self::APPEND: - return $content . $separator . $renderedContent; - default: - return $renderedContent; - } - } -} diff --git a/lib/zend/Zend/Form/DisplayGroup.php b/lib/zend/Zend/Form/DisplayGroup.php deleted file mode 100644 index fea4f01035..0000000000 --- a/lib/zend/Zend/Form/DisplayGroup.php +++ /dev/null @@ -1,1126 +0,0 @@ -setName($name); - - $this->setPluginLoader($loader); - - if (is_array($options)) { - $this->setOptions($options); - } elseif ($options instanceof Zend_Config) { - $this->setConfig($options); - } - - // Extensions... - $this->init(); - - $this->loadDefaultDecorators(); - } - - /** - * Initialize object; used by extending classes - * - * @return void - */ - public function init() - { - } - - /** - * Set options - * - * @param array $options - * @return Zend_Form_DisplayGroup - */ - public function setOptions(array $options) - { - $forbidden = array( - 'Options', 'Config', 'PluginLoader', 'View', - 'Translator', 'Attrib' - ); - foreach ($options as $key => $value) { - $normalized = ucfirst($key); - - if (in_array($normalized, $forbidden)) { - continue; - } - - $method = 'set' . $normalized; - if (method_exists($this, $method)) { - $this->$method($value); - } else { - $this->setAttrib($key, $value); - } - } - return $this; - } - - /** - * Set options from config object - * - * @param Zend_Config $config - * @return Zend_Form_DisplayGroup - */ - public function setConfig(Zend_Config $config) - { - return $this->setOptions($config->toArray()); - } - - /** - * Set group attribute - * - * @param string $key - * @param mixed $value - * @return Zend_Form_DisplayGroup - */ - public function setAttrib($key, $value) - { - $key = (string) $key; - $this->_attribs[$key] = $value; - return $this; - } - - /** - * Add multiple form attributes at once - * - * @param array $attribs - * @return Zend_Form_DisplayGroup - */ - public function addAttribs(array $attribs) - { - foreach ($attribs as $key => $value) { - $this->setAttrib($key, $value); - } - return $this; - } - - /** - * Set multiple form attributes at once - * - * Overwrites any previously set attributes. - * - * @param array $attribs - * @return Zend_Form_DisplayGroup - */ - public function setAttribs(array $attribs) - { - $this->clearAttribs(); - return $this->addAttribs($attribs); - } - - /** - * Retrieve a single form attribute - * - * @param string $key - * @return mixed - */ - public function getAttrib($key) - { - $key = (string) $key; - if (!isset($this->_attribs[$key])) { - return null; - } - - return $this->_attribs[$key]; - } - - /** - * Retrieve all form attributes/metadata - * - * @return array - */ - public function getAttribs() - { - return $this->_attribs; - } - - /** - * Remove attribute - * - * @param string $key - * @return bool - */ - public function removeAttrib($key) - { - if (array_key_exists($key, $this->_attribs)) { - unset($this->_attribs[$key]); - return true; - } - - return false; - } - - /** - * Clear all form attributes - * - * @return Zend_Form - */ - public function clearAttribs() - { - $this->_attribs = array(); - return $this; - } - - /** - * Filter a name to only allow valid variable characters - * - * @param string $value - * @return string - */ - public function filterName($value) - { - return preg_replace('/[^a-zA-Z0-9_\x7f-\xff]/', '', (string) $value); - } - - /** - * Set group name - * - * @param string $name - * @return Zend_Form_DisplayGroup - */ - public function setName($name) - { - $name = $this->filtername($name); - if (('0' !== $name) && empty($name)) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid name provided; must contain only valid variable characters and be non-empty'); - } - - $this->_name = $name; - return $this; - } - - /** - * Retrieve group name - * - * @return string - */ - public function getName() - { - return $this->_name; - } - - /** - * Get fully qualified name - * - * Places name as subitem of array and/or appends brackets. - * - * @return string - */ - public function getFullyQualifiedName() - { - return $this->getName(); - } - - /** - * Get element id - * - * @return string - */ - public function getId() - { - if (isset($this->id)) { - return $this->id; - } - - $id = $this->getFullyQualifiedName(); - - // Bail early if no array notation detected - if (!strstr($id, '[')) { - return $id; - } - - // Strip array notation - if ('[]' == substr($id, -2)) { - $id = substr($id, 0, strlen($id) - 2); - } - $id = str_replace('][', '-', $id); - $id = str_replace(array(']', '['), '-', $id); - $id = trim($id, '-'); - - return $id; - } - - /** - * Set group legend - * - * @param string $legend - * @return Zend_Form_DisplayGroup - */ - public function setLegend($legend) - { - return $this->setAttrib('legend', (string) $legend); - } - - /** - * Retrieve group legend - * - * @return string - */ - public function getLegend() - { - return $this->getAttrib('legend'); - } - - /** - * Set description - * - * @param string $value - * @return Zend_Form_DisplayGroup - */ - public function setDescription($value) - { - $this->_description = (string) $value; - return $this; - } - - /** - * Get description - * - * @return string - */ - public function getDescription() - { - return $this->_description; - } - - /** - * Set group order - * - * @param int $order - * @return Zend_Form_Element - */ - public function setOrder($order) - { - $this->_order = (int) $order; - return $this; - } - - /** - * Retrieve group order - * - * @return int - */ - public function getOrder() - { - return $this->_order; - } - - // Elements - - /** - * Add element to stack - * - * @param Zend_Form_Element $element - * @return Zend_Form_DisplayGroup - */ - public function addElement(Zend_Form_Element $element) - { - $this->_elements[$element->getName()] = $element; - $this->_groupUpdated = true; - return $this; - } - - /** - * Add multiple elements at once - * - * @param array $elements - * @return Zend_Form_DisplayGroup - * @throws Zend_Form_Exception if any element is not a Zend_Form_Element - */ - public function addElements(array $elements) - { - foreach ($elements as $element) { - if (!$element instanceof Zend_Form_Element) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('elements passed via array to addElements() must be Zend_Form_Elements only'); - } - $this->addElement($element); - } - return $this; - } - - /** - * Set multiple elements at once (overwrites) - * - * @param array $elements - * @return Zend_Form_DisplayGroup - */ - public function setElements(array $elements) - { - $this->clearElements(); - return $this->addElements($elements); - } - - /** - * Retrieve element - * - * @param string $name - * @return Zend_Form_Element|null - */ - public function getElement($name) - { - $name = (string) $name; - if (isset($this->_elements[$name])) { - return $this->_elements[$name]; - } - - return null; - } - - /** - * Retrieve elements - * @return array - */ - public function getElements() - { - return $this->_elements; - } - - /** - * Remove a single element - * - * @param string $name - * @return boolean - */ - public function removeElement($name) - { - $name = (string) $name; - if (array_key_exists($name, $this->_elements)) { - unset($this->_elements[$name]); - $this->_groupUpdated = true; - return true; - } - - return false; - } - - /** - * Remove all elements - * - * @return Zend_Form_DisplayGroup - */ - public function clearElements() - { - $this->_elements = array(); - $this->_groupUpdated = true; - return $this; - } - - // Plugin loader (for decorators) - - /** - * Set plugin loader - * - * @param Zend_Loader_PluginLoader $loader - * @return Zend_Form_DisplayGroup - */ - public function setPluginLoader(Zend_Loader_PluginLoader $loader) - { - $this->_loader = $loader; - return $this; - } - - /** - * Retrieve plugin loader - * - * @return Zend_Loader_PluginLoader - */ - public function getPluginLoader() - { - return $this->_loader; - } - - /** - * Add a prefix path for the plugin loader - * - * @param string $prefix - * @param string $path - * @return Zend_Form_DisplayGroup - */ - public function addPrefixPath($prefix, $path) - { - $this->getPluginLoader()->addPrefixPath($prefix, $path); - return $this; - } - - /** - * Add several prefix paths at once - * - * @param array $spec - * @return Zend_Form_DisplayGroup - */ - public function addPrefixPaths(array $spec) - { - if (isset($spec['prefix']) && isset($spec['path'])) { - return $this->addPrefixPath($spec['prefix'], $spec['path']); - } - foreach ($spec as $prefix => $paths) { - if (is_numeric($prefix) && is_array($paths)) { - $prefix = null; - if (isset($paths['prefix']) && isset($paths['path'])) { - $this->addPrefixPath($paths['prefix'], $paths['path']); - } - } elseif (!is_numeric($prefix)) { - if (is_string($paths)) { - $this->addPrefixPath($prefix, $paths); - } elseif (is_array($paths)) { - foreach ($paths as $path) { - $this->addPrefixPath($prefix, $path); - } - } - } - } - return $this; - } - - // Decorators - - /** - * Set flag to disable loading default decorators - * - * @param bool $flag - * @return Zend_Form_Element - */ - public function setDisableLoadDefaultDecorators($flag) - { - $this->_disableLoadDefaultDecorators = (bool) $flag; - return $this; - } - - /** - * Should we load the default decorators? - * - * @return bool - */ - public function loadDefaultDecoratorsIsDisabled() - { - return $this->_disableLoadDefaultDecorators; - } - - /** - * Load default decorators - * - * @return void - */ - public function loadDefaultDecorators() - { - if ($this->loadDefaultDecoratorsIsDisabled()) { - return; - } - - $decorators = $this->getDecorators(); - if (empty($decorators)) { - $this->addDecorator('FormElements') - ->addDecorator('HtmlTag', array('tag' => 'dl')) - ->addDecorator('Fieldset') - ->addDecorator('DtDdWrapper'); - } - } - - /** - * Instantiate a decorator based on class name or class name fragment - * - * @param string $name - * @param null|array $options - * @return Zend_Form_Decorator_Interface - */ - protected function _getDecorator($name, $options = null) - { - $class = $this->getPluginLoader()->load($name); - if (null === $options) { - $decorator = new $class; - } else { - $decorator = new $class($options); - } - - return $decorator; - } - - /** - * Add a decorator for rendering the group - * - * @param string|Zend_Form_Decorator_Interface $decorator - * @param array|Zend_Config $options Options with which to initialize decorator - * @return Zend_Form_DisplayGroup - */ - public function addDecorator($decorator, $options = null) - { - if ($decorator instanceof Zend_Form_Decorator_Interface) { - $name = get_class($decorator); - } elseif (is_string($decorator)) { - $name = $decorator; - $decorator = array( - 'decorator' => $name, - 'options' => $options, - ); - } elseif (is_array($decorator)) { - foreach ($decorator as $name => $spec) { - break; - } - if (is_numeric($name)) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid alias provided to addDecorator; must be alphanumeric string'); - } - if (is_string($spec)) { - $decorator = array( - 'decorator' => $spec, - 'options' => $options, - ); - } elseif ($spec instanceof Zend_Form_Decorator_Interface) { - $decorator = $spec; - } - } else { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid decorator provided to addDecorator; must be string or Zend_Form_Decorator_Interface'); - } - - $this->_decorators[$name] = $decorator; - - return $this; - } - - /** - * Add many decorators at once - * - * @param array $decorators - * @return Zend_Form_DisplayGroup - */ - public function addDecorators(array $decorators) - { - foreach ($decorators as $decoratorInfo) { - if (is_string($decoratorInfo)) { - $this->addDecorator($decoratorInfo); - } elseif ($decoratorInfo instanceof Zend_Form_Decorator_Interface) { - $this->addDecorator($decoratorInfo); - } elseif (is_array($decoratorInfo)) { - $argc = count($decoratorInfo); - $options = array(); - if (isset($decoratorInfo['decorator'])) { - $decorator = $decoratorInfo['decorator']; - if (isset($decoratorInfo['options'])) { - $options = $decoratorInfo['options']; - } - $this->addDecorator($decorator, $options); - } else { - switch (true) { - case (0 == $argc): - break; - case (1 <= $argc): - $decorator = array_shift($decoratorInfo); - case (2 <= $argc): - $options = array_shift($decoratorInfo); - default: - $this->addDecorator($decorator, $options); - break; - } - } - } else { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid decorator passed to addDecorators()'); - } - } - - return $this; - } - - /** - * Overwrite all decorators - * - * @param array $decorators - * @return Zend_Form_DisplayGroup - */ - public function setDecorators(array $decorators) - { - $this->clearDecorators(); - return $this->addDecorators($decorators); - } - - /** - * Retrieve a registered decorator - * - * @param string $name - * @return false|Zend_Form_Decorator_Abstract - */ - public function getDecorator($name) - { - if (!isset($this->_decorators[$name])) { - $len = strlen($name); - foreach ($this->_decorators as $localName => $decorator) { - if ($len > strlen($localName)) { - continue; - } - - if (0 === substr_compare($localName, $name, -$len, $len, true)) { - if (is_array($decorator)) { - return $this->_loadDecorator($decorator, $localName); - } - return $decorator; - } - } - return false; - } - - if (is_array($this->_decorators[$name])) { - return $this->_loadDecorator($this->_decorators[$name], $name); - } - - return $this->_decorators[$name]; - } - - /** - * Retrieve all decorators - * - * @return array - */ - public function getDecorators() - { - foreach ($this->_decorators as $key => $value) { - if (is_array($value)) { - $this->_loadDecorator($value, $key); - } - } - return $this->_decorators; - } - - /** - * Remove a single decorator - * - * @param string $name - * @return bool - */ - public function removeDecorator($name) - { - $decorator = $this->getDecorator($name); - if ($decorator) { - if (array_key_exists($name, $this->_decorators)) { - unset($this->_decorators[$name]); - } else { - $class = get_class($decorator); - unset($this->_decorators[$class]); - } - return true; - } - - return false; - } - - /** - * Clear all decorators - * - * @return Zend_Form_DisplayGroup - */ - public function clearDecorators() - { - $this->_decorators = array(); - return $this; - } - - /** - * Set view - * - * @param Zend_View_Interface $view - * @return Zend_Form_DisplayGroup - */ - public function setView(Zend_View_Interface $view = null) - { - $this->_view = $view; - return $this; - } - - /** - * Retrieve view - * - * @return Zend_View_Interface - */ - public function getView() - { - if (null === $this->_view) { - require_once 'Zend/Controller/Action/HelperBroker.php'; - $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); - $this->setView($viewRenderer->view); - } - - return $this->_view; - } - - /** - * Render display group - * - * @return string - */ - public function render(Zend_View_Interface $view = null) - { - if (null !== $view) { - $this->setView($view); - } - $content = ''; - foreach ($this->getDecorators() as $decorator) { - $decorator->setElement($this); - $content = $decorator->render($content); - } - return $content; - } - - /** - * String representation of group - * - * @return string - */ - public function __toString() - { - try { - $return = $this->render(); - return $return; - } catch (Exception $e) { - trigger_error($e->getMessage(), E_USER_WARNING); - return ''; - } - } - - /** - * Set translator object - * - * @param Zend_Translate|Zend_Translate_Adapter|null $translator - * @return Zend_Form_DisplayGroup - */ - public function setTranslator($translator = null) - { - if ((null === $translator) || ($translator instanceof Zend_Translate_Adapter)) { - $this->_translator = $translator; - } elseif ($translator instanceof Zend_Translate) { - $this->_translator = $translator->getAdapter(); - } else { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid translator specified'); - } - return $this; - } - - /** - * Retrieve translator object - * - * @return Zend_Translate_Adapter|null - */ - public function getTranslator() - { - if ($this->translatorIsDisabled()) { - return null; - } - - if (null === $this->_translator) { - require_once 'Zend/Form.php'; - return Zend_Form::getDefaultTranslator(); - } - - return $this->_translator; - } - - /** - * Indicate whether or not translation should be disabled - * - * @param bool $flag - * @return Zend_Form_DisplayGroup - */ - public function setDisableTranslator($flag) - { - $this->_translatorDisabled = (bool) $flag; - return $this; - } - - /** - * Is translation disabled? - * - * @return bool - */ - public function translatorIsDisabled() - { - return $this->_translatorDisabled; - } - - /** - * Overloading: allow rendering specific decorators - * - * Call renderDecoratorName() to render a specific decorator. - * - * @param string $method - * @param array $args - * @return string - * @throws Zend_Form_Exception for invalid decorator or invalid method call - */ - public function __call($method, $args) - { - if ('render' == substr($method, 0, 6)) { - $decoratorName = substr($method, 6); - if (false !== ($decorator = $this->getDecorator($decoratorName))) { - $decorator->setElement($this); - $seed = ''; - if (0 < count($args)) { - $seed = array_shift($args); - } - return $decorator->render($seed); - } - - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Decorator by name %s does not exist', $decoratorName)); - } - - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Method %s does not exist', $method)); - } - - // Interfaces: Iterator, Countable - - /** - * Current element - * - * @return Zend_Form_Element - */ - public function current() - { - $this->_sort(); - current($this->_elementOrder); - $key = key($this->_elementOrder); - return $this->getElement($key); - } - - /** - * Current element - * - * @return string - */ - public function key() - { - $this->_sort(); - return key($this->_elementOrder); - } - - /** - * Move pointer to next element - * - * @return void - */ - public function next() - { - $this->_sort(); - next($this->_elementOrder); - } - - /** - * Move pointer to beginning of element loop - * - * @return void - */ - public function rewind() - { - $this->_sort(); - reset($this->_elementOrder); - } - - /** - * Determine if current element/subform/display group is valid - * - * @return bool - */ - public function valid() - { - $this->_sort(); - return (current($this->_elementOrder) !== false); - } - - /** - * Count of elements/subforms that are iterable - * - * @return int - */ - public function count() - { - return count($this->_elements); - } - - /** - * Sort items according to their order - * - * @return void - */ - protected function _sort() - { - if ($this->_groupUpdated || !is_array($this->_elementOrder)) { - $elementOrder = array(); - foreach ($this->getElements() as $key => $element) { - $elementOrder[$key] = $element->getOrder(); - } - - $items = array(); - $index = 0; - foreach ($elementOrder as $key => $order) { - if (null === $order) { - while (array_search($index, $elementOrder, true)) { - ++$index; - } - $items[$index] = $key; - ++$index; - } else { - $items[$order] = $key; - } - } - - $items = array_flip($items); - asort($items); - $this->_elementOrder = $items; - $this->_groupUpdated = false; - } - } - - /** - * Lazy-load a decorator - * - * @param array $decorator Decorator type and options - * @param mixed $name Decorator name or alias - * @return Zend_Form_Decorator_Interface - */ - protected function _loadDecorator(array $decorator, $name) - { - $sameName = false; - if ($name == $decorator['decorator']) { - $sameName = true; - } - - $instance = $this->_getDecorator($decorator['decorator'], $decorator['options']); - if ($sameName) { - $newName = get_class($instance); - $decoratorNames = array_keys($this->_decorators); - $order = array_flip($decoratorNames); - $order[$newName] = $order[$name]; - $decoratorsExchange = array(); - unset($order[$name]); - asort($order); - foreach ($order as $key => $index) { - if ($key == $newName) { - $decoratorsExchange[$key] = $instance; - continue; - } - $decoratorsExchange[$key] = $this->_decorators[$key]; - } - $this->_decorators = $decoratorsExchange; - } else { - $this->_decorators[$name] = $instance; - } - - return $instance; - } -} diff --git a/lib/zend/Zend/Form/Element.php b/lib/zend/Zend/Form/Element.php deleted file mode 100644 index 6a1681425a..0000000000 --- a/lib/zend/Zend/Form/Element.php +++ /dev/null @@ -1,2136 +0,0 @@ -setName($spec); - } elseif (is_array($spec)) { - $this->setOptions($spec); - } elseif ($spec instanceof Zend_Config) { - $this->setConfig($spec); - } - - if (is_string($spec) && is_array($options)) { - $this->setOptions($options); - } elseif (is_string($spec) && ($options instanceof Zend_Config)) { - $this->setConfig($options); - } - - if (null === $this->getName()) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Zend_Form_Element requires each element to have a name'); - } - - /** - * Extensions - */ - $this->init(); - - /** - * Register ViewHelper decorator by default - */ - $this->loadDefaultDecorators(); - } - - /** - * Initialize object; used by extending classes - * - * @return void - */ - public function init() - { - } - - /** - * Set flag to disable loading default decorators - * - * @param bool $flag - * @return Zend_Form_Element - */ - public function setDisableLoadDefaultDecorators($flag) - { - $this->_disableLoadDefaultDecorators = (bool) $flag; - return $this; - } - - /** - * Should we load the default decorators? - * - * @return bool - */ - public function loadDefaultDecoratorsIsDisabled() - { - return $this->_disableLoadDefaultDecorators; - } - - /** - * Load default decorators - * - * @return void - */ - public function loadDefaultDecorators() - { - if ($this->loadDefaultDecoratorsIsDisabled()) { - return; - } - - $decorators = $this->getDecorators(); - if (empty($decorators)) { - $this->addDecorator('ViewHelper') - ->addDecorator('Errors') - ->addDecorator('Description', array('tag' => 'p', 'class' => 'description')) - ->addDecorator('HtmlTag', array('tag' => 'dd', - 'id' => $this->getName() . '-element')) - ->addDecorator('Label', array('tag' => 'dt')); - } - } - - /** - * Set object state from options array - * - * @param array $options - * @return Zend_Form_Element - */ - public function setOptions(array $options) - { - if (isset($options['prefixPath'])) { - $this->addPrefixPaths($options['prefixPath']); - unset($options['prefixPath']); - } - - if (isset($options['disableTranslator'])) { - $this->setDisableTranslator($options['disableTranslator']); - unset($options['disableTranslator']); - } - - unset($options['options']); - unset($options['config']); - - foreach ($options as $key => $value) { - $method = 'set' . ucfirst($key); - - if (in_array($method, array('setTranslator', 'setPluginLoader', 'setView'))) { - if (!is_object($value)) { - continue; - } - } - - if (method_exists($this, $method)) { - // Setter exists; use it - $this->$method($value); - } else { - // Assume it's metadata - $this->setAttrib($key, $value); - } - } - return $this; - } - - /** - * Set object state from Zend_Config object - * - * @param Zend_Config $config - * @return Zend_Form_Element - */ - public function setConfig(Zend_Config $config) - { - return $this->setOptions($config->toArray()); - } - - - // Localization: - - /** - * Set translator object for localization - * - * @param Zend_Translate|null $translator - * @return Zend_Form_Element - */ - public function setTranslator($translator = null) - { - if (null === $translator) { - $this->_translator = null; - } elseif ($translator instanceof Zend_Translate_Adapter) { - $this->_translator = $translator; - } elseif ($translator instanceof Zend_Translate) { - $this->_translator = $translator->getAdapter(); - } else { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid translator specified'); - } - return $this; - } - - /** - * Retrieve localization translator object - * - * @return Zend_Translate_Adapter|null - */ - public function getTranslator() - { - if ($this->translatorIsDisabled()) { - return null; - } - - if (null === $this->_translator) { - require_once 'Zend/Form.php'; - return Zend_Form::getDefaultTranslator(); - } - return $this->_translator; - } - - /** - * Indicate whether or not translation should be disabled - * - * @param bool $flag - * @return Zend_Form_Element - */ - public function setDisableTranslator($flag) - { - $this->_translatorDisabled = (bool) $flag; - return $this; - } - - /** - * Is translation disabled? - * - * @return bool - */ - public function translatorIsDisabled() - { - return $this->_translatorDisabled; - } - - // Metadata - - /** - * Filter a name to only allow valid variable characters - * - * @param string $value - * @param bool $allowBrackets - * @return string - */ - public function filterName($value, $allowBrackets = false) - { - $charset = '^a-zA-Z0-9_\x7f-\xff'; - if ($allowBrackets) { - $charset .= '\[\]'; - } - return preg_replace('/[' . $charset . ']/', '', (string) $value); - } - - /** - * Set element name - * - * @param string $name - * @return Zend_Form_Element - */ - public function setName($name) - { - $name = $this->filterName($name); - if ('' === $name) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid name provided; must contain only valid variable characters and be non-empty'); - } - - $this->_name = $name; - return $this; - } - - /** - * Return element name - * - * @return string - */ - public function getName() - { - return $this->_name; - } - - /** - * Get fully qualified name - * - * Places name as subitem of array and/or appends brackets. - * - * @return string - */ - public function getFullyQualifiedName() - { - $name = $this->getName(); - - if (null !== ($belongsTo = $this->getBelongsTo())) { - $name = $belongsTo . '[' . $name . ']'; - } - - if ($this->isArray()) { - $name .= '[]'; - } - - return $name; - } - - /** - * Get element id - * - * @return string - */ - public function getId() - { - if (isset($this->id)) { - return $this->id; - } - - $id = $this->getFullyQualifiedName(); - - // Bail early if no array notation detected - if (!strstr($id, '[')) { - return $id; - } - - // Strip array notation - if ('[]' == substr($id, -2)) { - $id = substr($id, 0, strlen($id) - 2); - } - $id = str_replace('][', '-', $id); - $id = str_replace(array(']', '['), '-', $id); - $id = trim($id, '-'); - - return $id; - } - - /** - * Set element value - * - * @param mixed $value - * @return Zend_Form_Element - */ - public function setValue($value) - { - $this->_value = $value; - return $this; - } - - /** - * Filter a value - * - * @param string $value - * @param string $key - * @return void - */ - protected function _filterValue(&$value, &$key) - { - foreach ($this->getFilters() as $filter) { - $value = $filter->filter($value); - } - } - - /** - * Retrieve filtered element value - * - * @return mixed - */ - public function getValue() - { - $valueFiltered = $this->_value; - - if ($this->isArray() && is_array($valueFiltered)) { - array_walk_recursive($valueFiltered, array($this, '_filterValue')); - } else { - $this->_filterValue($valueFiltered, $valueFiltered); - } - - return $valueFiltered; - } - - /** - * Retrieve unfiltered element value - * - * @return mixed - */ - public function getUnfilteredValue() - { - return $this->_value; - } - - /** - * Set element label - * - * @param string $label - * @return Zend_Form_Element - */ - public function setLabel($label) - { - $this->_label = (string) $label; - return $this; - } - - /** - * Retrieve element label - * - * @return string - */ - public function getLabel() - { - return $this->_label; - } - - /** - * Set element order - * - * @param int $order - * @return Zend_Form_Element - */ - public function setOrder($order) - { - $this->_order = (int) $order; - return $this; - } - - /** - * Retrieve element order - * - * @return int - */ - public function getOrder() - { - return $this->_order; - } - - /** - * Set required flag - * - * @param bool $flag Default value is true - * @return Zend_Form_Element - */ - public function setRequired($flag = true) - { - $this->_required = (bool) $flag; - return $this; - } - - /** - * Is the element required? - * - * @return bool - */ - public function isRequired() - { - return $this->_required; - } - - /** - * Set flag indicating whether a NotEmpty validator should be inserted when element is required - * - * @param bool $flag - * @return Zend_Form_Element - */ - public function setAutoInsertNotEmptyValidator($flag) - { - $this->_autoInsertNotEmptyValidator = (bool) $flag; - return $this; - } - - /** - * Get flag indicating whether a NotEmpty validator should be inserted when element is required - * - * @return bool - */ - public function autoInsertNotEmptyValidator() - { - return $this->_autoInsertNotEmptyValidator; - } - - /** - * Set element description - * - * @param string $description - * @return Zend_Form_Element - */ - public function setDescription($description) - { - $this->_description = (string) $description; - return $this; - } - - /** - * Retrieve element description - * - * @return string - */ - public function getDescription() - { - return $this->_description; - } - - /** - * Set 'allow empty' flag - * - * When the allow empty flag is enabled and the required flag is false, the - * element will validate with empty values. - * - * @param bool $flag - * @return Zend_Form_Element - */ - public function setAllowEmpty($flag) - { - $this->_allowEmpty = (bool) $flag; - return $this; - } - - /** - * Get 'allow empty' flag - * - * @return bool - */ - public function getAllowEmpty() - { - return $this->_allowEmpty; - } - - /** - * Set ignore flag (used when retrieving values at form level) - * - * @param bool $flag - * @return Zend_Form_Element - */ - public function setIgnore($flag) - { - $this->_ignore = (bool) $flag; - return $this; - } - - /** - * Get ignore flag (used when retrieving values at form level) - * - * @return bool - */ - public function getIgnore() - { - return $this->_ignore; - } - - /** - * Set flag indicating if element represents an array - * - * @param bool $flag - * @return Zend_Form_Element - */ - public function setIsArray($flag) - { - $this->_isArray = (bool) $flag; - return $this; - } - - /** - * Is the element representing an array? - * - * @return bool - */ - public function isArray() - { - return $this->_isArray; - } - - /** - * Set array to which element belongs - * - * @param string $array - * @return Zend_Form_Element - */ - public function setBelongsTo($array) - { - $array = $this->filterName($array, true); - if (!empty($array)) { - $this->_belongsTo = $array; - } - - return $this; - } - - /** - * Return array name to which element belongs - * - * @return string - */ - public function getBelongsTo() - { - return $this->_belongsTo; - } - - /** - * Return element type - * - * @return string - */ - public function getType() - { - if (null === $this->_type) { - $this->_type = get_class($this); - } - - return $this->_type; - } - - /** - * Set element attribute - * - * @param string $name - * @param mixed $value - * @return Zend_Form_Element - * @throws Zend_Form_Exception for invalid $name values - */ - public function setAttrib($name, $value) - { - $name = (string) $name; - if ('_' == $name[0]) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Invalid attribute "%s"; must not contain a leading underscore', $name)); - } - - if (null === $value) { - unset($this->$name); - } else { - $this->$name = $value; - } - - return $this; - } - - /** - * Set multiple attributes at once - * - * @param array $attribs - * @return Zend_Form_Element - */ - public function setAttribs(array $attribs) - { - foreach ($attribs as $key => $value) { - $this->setAttrib($key, $value); - } - - return $this; - } - - /** - * Retrieve element attribute - * - * @param string $name - * @return string - */ - public function getAttrib($name) - { - $name = (string) $name; - if (isset($this->$name)) { - return $this->$name; - } - - return null; - } - - /** - * Return all attributes - * - * @return array - */ - public function getAttribs() - { - $attribs = get_object_vars($this); - foreach ($attribs as $key => $value) { - if ('_' == substr($key, 0, 1)) { - unset($attribs[$key]); - } - } - - return $attribs; - } - - /** - * Overloading: retrieve object property - * - * Prevents access to properties beginning with '_'. - * - * @param string $key - * @return mixed - */ - public function __get($key) - { - if ('_' == $key[0]) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Cannot retrieve value for protected/private property "%s"', $key)); - } - - if (!isset($this->$key)) { - return null; - } - - return $this->$key; - } - - /** - * Overloading: set object property - * - * @param string $key - * @param mixed $value - * @return voide - */ - public function __set($key, $value) - { - $this->setAttrib($key, $value); - } - - /** - * Overloading: allow rendering specific decorators - * - * Call renderDecoratorName() to render a specific decorator. - * - * @param string $method - * @param array $args - * @return string - * @throws Zend_Form_Exception for invalid decorator or invalid method call - */ - public function __call($method, $args) - { - if ('render' == substr($method, 0, 6)) { - $decoratorName = substr($method, 6); - if (false !== ($decorator = $this->getDecorator($decoratorName))) { - $decorator->setElement($this); - $seed = ''; - if (0 < count($args)) { - $seed = array_shift($args); - } - return $decorator->render($seed); - } - - require_once 'Zend/Form/Element/Exception.php'; - throw new Zend_Form_Element_Exception(sprintf('Decorator by name %s does not exist', $decoratorName)); - } - - require_once 'Zend/Form/Element/Exception.php'; - throw new Zend_Form_Element_Exception(sprintf('Method %s does not exist', $method)); - } - - // Loaders - - /** - * Set plugin loader to use for validator or filter chain - * - * @param Zend_Loader_PluginLoader_Interface $loader - * @param string $type 'decorator', 'filter', or 'validate' - * @return Zend_Form_Element - * @throws Zend_Form_Exception on invalid type - */ - public function setPluginLoader(Zend_Loader_PluginLoader_Interface $loader, $type) - { - $type = strtoupper($type); - switch ($type) { - case self::DECORATOR: - case self::FILTER: - case self::VALIDATE: - $this->_loaders[$type] = $loader; - return $this; - default: - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Invalid type "%s" provided to setPluginLoader()', $type)); - } - } - - /** - * Retrieve plugin loader for validator or filter chain - * - * Instantiates with default rules if none available for that type. Use - * 'decorator', 'filter', or 'validate' for $type. - * - * @param string $type - * @return Zend_Loader_PluginLoader - * @throws Zend_Loader_Exception on invalid type. - */ - public function getPluginLoader($type) - { - $type = strtoupper($type); - switch ($type) { - case self::FILTER: - case self::VALIDATE: - $prefixSegment = ucfirst(strtolower($type)); - $pathSegment = $prefixSegment; - case self::DECORATOR: - if (!isset($prefixSegment)) { - $prefixSegment = 'Form_Decorator'; - $pathSegment = 'Form/Decorator'; - } - if (!isset($this->_loaders[$type])) { - require_once 'Zend/Loader/PluginLoader.php'; - $this->_loaders[$type] = new Zend_Loader_PluginLoader( - array('Zend_' . $prefixSegment . '_' => 'Zend/' . $pathSegment . '/') - ); - } - return $this->_loaders[$type]; - default: - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Invalid type "%s" provided to getPluginLoader()', $type)); - } - } - - /** - * Add prefix path for plugin loader - * - * If no $type specified, assumes it is a base path for both filters and - * validators, and sets each according to the following rules: - * - decorators: $prefix = $prefix . '_Decorator' - * - filters: $prefix = $prefix . '_Filter' - * - validators: $prefix = $prefix . '_Validate' - * - * Otherwise, the path prefix is set on the appropriate plugin loader. - * - * @param string $prefix - * @param string $path - * @param string $type - * @return Zend_Form_Element - * @throws Zend_Form_Exception for invalid type - */ - public function addPrefixPath($prefix, $path, $type = null) - { - $type = strtoupper($type); - switch ($type) { - case self::DECORATOR: - case self::FILTER: - case self::VALIDATE: - $loader = $this->getPluginLoader($type); - $loader->addPrefixPath($prefix, $path); - return $this; - case null: - $prefix = rtrim($prefix, '_'); - $path = rtrim($path, DIRECTORY_SEPARATOR); - foreach (array(self::DECORATOR, self::FILTER, self::VALIDATE) as $type) { - $cType = ucfirst(strtolower($type)); - $pluginPath = $path . DIRECTORY_SEPARATOR . $cType . DIRECTORY_SEPARATOR; - $pluginPrefix = $prefix . '_' . $cType; - $loader = $this->getPluginLoader($type); - $loader->addPrefixPath($pluginPrefix, $pluginPath); - } - return $this; - default: - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Invalid type "%s" provided to getPluginLoader()', $type)); - } - } - - /** - * Add many prefix paths at once - * - * @param array $spec - * @return Zend_Form_Element - */ - public function addPrefixPaths(array $spec) - { - if (isset($spec['prefix']) && isset($spec['path'])) { - return $this->addPrefixPath($spec['prefix'], $spec['path']); - } - foreach ($spec as $type => $paths) { - if (is_numeric($type) && is_array($paths)) { - $type = null; - if (isset($paths['prefix']) && isset($paths['path'])) { - if (isset($paths['type'])) { - $type = $paths['type']; - } - $this->addPrefixPath($paths['prefix'], $paths['path'], $type); - } - } elseif (!is_numeric($type)) { - if (!isset($paths['prefix']) || !isset($paths['path'])) { - foreach ($paths as $prefix => $spec) { - if (is_array($spec)) { - foreach ($spec as $path) { - if (!is_string($path)) { - continue; - } - $this->addPrefixPath($prefix, $path, $type); - } - } elseif (is_string($spec)) { - $this->addPrefixPath($prefix, $spec, $type); - } - } - } else { - $this->addPrefixPath($paths['prefix'], $paths['path'], $type); - } - } - } - return $this; - } - - // Validation - - /** - * Add validator to validation chain - * - * Note: will overwrite existing validators if they are of the same class. - * - * @param string|Zend_Validate_Interface $validator - * @param bool $breakChainOnFailure - * @param array $options - * @return Zend_Form_Element - * @throws Zend_Form_Exception if invalid validator type - */ - public function addValidator($validator, $breakChainOnFailure = false, $options = array()) - { - if ($validator instanceof Zend_Validate_Interface) { - $name = get_class($validator); - - if (!isset($validator->zfBreakChainOnFailure)) { - $validator->zfBreakChainOnFailure = $breakChainOnFailure; - } - } elseif (is_string($validator)) { - $name = $validator; - $validator = array( - 'validator' => $validator, - 'breakChainOnFailure' => $breakChainOnFailure, - 'options' => $options, - ); - } else { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid validator provided to addValidator; must be string or Zend_Validate_Interface'); - } - - - $this->_validators[$name] = $validator; - - return $this; - } - - /** - * Add multiple validators - * - * @param array $validators - * @return Zend_Form_Element - */ - public function addValidators(array $validators) - { - foreach ($validators as $validatorInfo) { - if (is_string($validatorInfo)) { - $this->addValidator($validatorInfo); - } elseif ($validatorInfo instanceof Zend_Validate_Interface) { - $this->addValidator($validatorInfo); - } elseif (is_array($validatorInfo)) { - $argc = count($validatorInfo); - $breakChainOnFailure = false; - $options = array(); - if (isset($validatorInfo['validator'])) { - $validator = $validatorInfo['validator']; - if (isset($validatorInfo['breakChainOnFailure'])) { - $breakChainOnFailure = $validatorInfo['breakChainOnFailure']; - } - if (isset($validatorInfo['options'])) { - $options = $validatorInfo['options']; - } - $this->addValidator($validator, $breakChainOnFailure, $options); - } else { - switch (true) { - case (0 == $argc): - break; - case (1 <= $argc): - $validator = array_shift($validatorInfo); - case (2 <= $argc): - $breakChainOnFailure = array_shift($validatorInfo); - case (3 <= $argc): - $options = array_shift($validatorInfo); - default: - $this->addValidator($validator, $breakChainOnFailure, $options); - break; - } - } - } else { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid validator passed to addValidators()'); - } - } - - return $this; - } - - /** - * Set multiple validators, overwriting previous validators - * - * @param array $validators - * @return Zend_Form_Element - */ - public function setValidators(array $validators) - { - $this->clearValidators(); - return $this->addValidators($validators); - } - - /** - * Retrieve a single validator by name - * - * @param string $name - * @return Zend_Validate_Interface|false False if not found, validator otherwise - */ - public function getValidator($name) - { - if (!isset($this->_validators[$name])) { - $len = strlen($name); - foreach ($this->_validators as $localName => $validator) { - if ($len > strlen($localName)) { - continue; - } - if (0 === substr_compare($localName, $name, -$len, $len, true)) { - if (is_array($validator)) { - return $this->_loadValidator($validator); - } - return $validator; - } - } - return false; - } - - if (is_array($this->_validators[$name])) { - return $this->_loadValidator($this->_validators[$name]); - } - - return $this->_validators[$name]; - } - - /** - * Retrieve all validators - * - * @return array - */ - public function getValidators() - { - $validators = array(); - foreach ($this->_validators as $key => $value) { - if ($value instanceof Zend_Validate_Interface) { - $validators[$key] = $value; - continue; - } - $validator = $this->_loadValidator($value); - $validators[get_class($validator)] = $validator; - } - return $validators; - } - - /** - * Remove a single validator by name - * - * @param string $name - * @return bool - */ - public function removeValidator($name) - { - if (isset($this->_validators[$name])) { - unset($this->_validators[$name]); - } else { - $len = strlen($name); - foreach (array_keys($this->_validators) as $validator) { - if ($len > strlen($validator)) { - continue; - } - if (0 === substr_compare($validator, $name, -$len, $len, true)) { - unset($this->_validators[$validator]); - break; - } - } - } - - return $this; - } - - /** - * Clear all validators - * - * @return Zend_Form_Element - */ - public function clearValidators() - { - $this->_validators = array(); - return $this; - } - - /** - * Validate element value - * - * If a translation adapter is registered, any error messages will be - * translated according to the current locale, using the given error code; - * if no matching translation is found, the original message will be - * utilized. - * - * Note: The *filtered* value is validated. - * - * @param mixed $value - * @param mixed $context - * @return boolean - */ - public function isValid($value, $context = null) - { - $this->setValue($value); - $value = $this->getValue(); - - if ((('' === $value) || (null === $value)) - && !$this->isRequired() - && $this->getAllowEmpty() - ) { - return true; - } - - if ($this->isRequired() - && $this->autoInsertNotEmptyValidator() - && !$this->getValidator('NotEmpty')) - { - $validators = $this->getValidators(); - $notEmpty = array('validator' => 'NotEmpty', 'breakChainOnFailure' => true); - array_unshift($validators, $notEmpty); - $this->setValidators($validators); - } - - $this->_messages = array(); - $this->_errors = array(); - $result = true; - $translator = $this->getTranslator(); - $isArray = $this->isArray(); - foreach ($this->getValidators() as $key => $validator) { - if (method_exists($validator, 'setTranslator')) { - $validator->setTranslator($translator); - } - - if ($isArray && is_array($value)) { - $messages = array(); - $errors = array(); - foreach ($value as $val) { - if (!$validator->isValid($val, $context)) { - $result = false; - if ($this->_hasErrorMessages()) { - $messages = $this->_getErrorMessages(); - $errors = $messages; - } else { - $messages = array_merge($messages, $validator->getMessages()); - $errors = array_merge($errors, $validator->getErrors()); - } - } - } - if ($result) { - continue; - } - } elseif ($validator->isValid($value, $context)) { - continue; - } else { - $result = false; - if ($this->_hasErrorMessages()) { - $messages = $this->_getErrorMessages(); - $errors = $messages; - } else { - $messages = $validator->getMessages(); - $errors = array_keys($messages); - } - } - - $result = false; - $this->_messages = array_merge($this->_messages, $messages); - $this->_errors = array_merge($this->_errors, $errors); - - if ($validator->zfBreakChainOnFailure) { - break; - } - } - - // If element manually flagged as invalid, return false - if ($this->_isErrorForced) { - return false; - } - - return $result; - } - - /** - * Add a custom error message to return in the event of failed validation - * - * @param string $message - * @return Zend_Form_Element - */ - public function addErrorMessage($message) - { - $this->_errorMessages[] = (string) $message; - return $this; - } - - /** - * Add multiple custom error messages to return in the event of failed validation - * - * @param array $messages - * @return Zend_Form_Element - */ - public function addErrorMessages(array $messages) - { - foreach ($messages as $message) { - $this->addErrorMessage($message); - } - return $this; - } - - /** - * Same as addErrorMessages(), but clears custom error message stack first - * - * @param array $messages - * @return Zend_Form_Element - */ - public function setErrorMessages(array $messages) - { - $this->clearErrorMessages(); - return $this->addErrorMessages($messages); - } - - /** - * Retrieve custom error messages - * - * @return array - */ - public function getErrorMessages() - { - return $this->_errorMessages; - } - - /** - * Clear custom error messages stack - * - * @return Zend_Form_Element - */ - public function clearErrorMessages() - { - $this->_errorMessages = array(); - return $this; - } - - /** - * Mark the element as being in a failed validation state - * - * @return Zend_Form_Element - */ - public function markAsError() - { - $messages = $this->getMessages(); - $customMessages = $this->_getErrorMessages(); - $messages = $messages + $customMessages; - if (empty($messages)) { - $this->_isError = true; - } else { - $this->_messages = $messages; - } - $this->_isErrorForced = true; - return $this; - } - - /** - * Add an error message and mark element as failed validation - * - * @param string $message - * @return Zend_Form_Element - */ - public function addError($message) - { - $this->addErrorMessage($message); - $this->markAsError(); - return $this; - } - - /** - * Add multiple error messages and flag element as failed validation - * - * @param array $messages - * @return Zend_Form_Element - */ - public function addErrors(array $messages) - { - foreach ($messages as $message) { - $this->addError($message); - } - return $this; - } - - /** - * Overwrite any previously set error messages and flag as failed validation - * - * @param array $messages - * @return Zend_Form_Element - */ - public function setErrors(array $messages) - { - $this->clearErrorMessages(); - return $this->addErrors($messages); - } - - /** - * Are there errors registered? - * - * @return bool - */ - public function hasErrors() - { - return (!empty($this->_messages) || $this->_isError); - } - - /** - * Retrieve validator chain errors - * - * @return array - */ - public function getErrors() - { - return $this->_errors; - } - - /** - * Retrieve error messages - * - * @return array - */ - public function getMessages() - { - return $this->_messages; - } - - - // Filtering - - /** - * Add a filter to the element - * - * @param string|Zend_Filter_Interface $filter - * @return Zend_Form_Element - */ - public function addFilter($filter, $options = array()) - { - if ($filter instanceof Zend_Filter_Interface) { - $name = get_class($filter); - } elseif (is_string($filter)) { - $name = $filter; - $filter = array( - 'filter' => $filter, - 'options' => $options, - ); - $this->_filters[$name] = $filter; - } else { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid filter provided to addFilter; must be string or Zend_Filter_Interface'); - } - - $this->_filters[$name] = $filter; - - return $this; - } - - /** - * Add filters to element - * - * @param array $filters - * @return Zend_Form_Element - */ - public function addFilters(array $filters) - { - foreach ($filters as $filterInfo) { - if (is_string($filterInfo)) { - $this->addFilter($filterInfo); - } elseif ($filterInfo instanceof Zend_Filter_Interface) { - $this->addFilter($filterInfo); - } elseif (is_array($filterInfo)) { - $argc = count($filterInfo); - $options = array(); - if (isset($filterInfo['filter'])) { - $filter = $filterInfo['filter']; - if (isset($filterInfo['options'])) { - $options = $filterInfo['options']; - } - $this->addFilter($filter, $options); - } else { - switch (true) { - case (0 == $argc): - break; - case (1 <= $argc): - $filter = array_shift($filterInfo); - case (2 <= $argc): - $options = array_shift($filterInfo); - default: - $this->addFilter($filter, $options); - break; - } - } - } else { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid filter passed to addFilters()'); - } - } - - return $this; - } - - /** - * Add filters to element, overwriting any already existing - * - * @param array $filters - * @return Zend_Form_Element - */ - public function setFilters(array $filters) - { - $this->clearFilters(); - return $this->addFilters($filters); - } - - /** - * Retrieve a single filter by name - * - * @param string $name - * @return Zend_Filter_Interface - */ - public function getFilter($name) - { - if (!isset($this->_filters[$name])) { - $len = strlen($name); - foreach ($this->_filters as $localName => $filter) { - if ($len > strlen($localName)) { - continue; - } - - if (0 === substr_compare($localName, $name, -$len, $len, true)) { - if (is_array($filter)) { - return $this->_loadFilter($filter); - } - return $filter; - } - } - return false; - } - - if (is_array($this->_filters[$name])) { - return $this->_loadFilter($this->_filters[$name]); - } - - return $this->_filters[$name]; - } - - /** - * Get all filters - * - * @return array - */ - public function getFilters() - { - $filters = array(); - foreach ($this->_filters as $key => $value) { - if ($value instanceof Zend_Filter_Interface) { - $filters[$key] = $value; - continue; - } - $filter = $this->_loadFilter($value); - $filters[get_class($filter)] = $filter; - } - return $filters; - } - - /** - * Remove a filter by name - * - * @param string $name - * @return Zend_Form_Element - */ - public function removeFilter($name) - { - if (isset($this->_filters[$name])) { - unset($this->_filters[$name]); - } else { - $len = strlen($name); - foreach (array_keys($this->_filters) as $filter) { - if ($len > strlen($filter)) { - continue; - } - if (0 === substr_compare($filter, $name, -$len, $len, true)) { - unset($this->_filters[$filter]); - break; - } - } - } - - return $this; - } - - /** - * Clear all filters - * - * @return Zend_Form_Element - */ - public function clearFilters() - { - $this->_filters = array(); - return $this; - } - - // Rendering - - /** - * Set view object - * - * @param Zend_View_Interface $view - * @return Zend_Form_Element - */ - public function setView(Zend_View_Interface $view = null) - { - $this->_view = $view; - return $this; - } - - /** - * Retrieve view object - * - * Retrieves from ViewRenderer if none previously set. - * - * @return null|Zend_View_Interface - */ - public function getView() - { - if (null === $this->_view) { - require_once 'Zend/Controller/Action/HelperBroker.php'; - $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); - $this->setView($viewRenderer->view); - } - return $this->_view; - } - - /** - * Instantiate a decorator based on class name or class name fragment - * - * @param string $name - * @param null|array $options - * @return Zend_Form_Decorator_Interface - */ - protected function _getDecorator($name, $options) - { - $class = $this->getPluginLoader(self::DECORATOR)->load($name); - if (null === $options) { - $decorator = new $class; - } else { - $decorator = new $class($options); - } - - return $decorator; - } - - /** - * Add a decorator for rendering the element - * - * @param string|Zend_Form_Decorator_Interface $decorator - * @param array|Zend_Config $options Options with which to initialize decorator - * @return Zend_Form_Element - */ - public function addDecorator($decorator, $options = null) - { - if ($decorator instanceof Zend_Form_Decorator_Interface) { - $name = get_class($decorator); - } elseif (is_string($decorator)) { - $name = $decorator; - $decorator = array( - 'decorator' => $name, - 'options' => $options, - ); - } elseif (is_array($decorator)) { - foreach ($decorator as $name => $spec) { - break; - } - if (is_numeric($name)) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid alias provided to addDecorator; must be alphanumeric string'); - } - if (is_string($spec)) { - $decorator = array( - 'decorator' => $spec, - 'options' => $options, - ); - } elseif ($spec instanceof Zend_Form_Decorator_Interface) { - $decorator = $spec; - } - } else { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid decorator provided to addDecorator; must be string or Zend_Form_Decorator_Interface'); - } - - $this->_decorators[$name] = $decorator; - - return $this; - } - - /** - * Add many decorators at once - * - * @param array $decorators - * @return Zend_Form_Element - */ - public function addDecorators(array $decorators) - { - foreach ($decorators as $decoratorInfo) { - if (is_string($decoratorInfo)) { - $this->addDecorator($decoratorInfo); - } elseif ($decoratorInfo instanceof Zend_Form_Decorator_Interface) { - $this->addDecorator($decoratorInfo); - } elseif (is_array($decoratorInfo)) { - $argc = count($decoratorInfo); - $options = array(); - if (isset($decoratorInfo['decorator'])) { - $decorator = $decoratorInfo['decorator']; - if (isset($decoratorInfo['options'])) { - $options = $decoratorInfo['options']; - } - $this->addDecorator($decorator, $options); - } else { - switch (true) { - case (0 == $argc): - break; - case (1 <= $argc): - $decorator = array_shift($decoratorInfo); - case (2 <= $argc): - $options = array_shift($decoratorInfo); - default: - $this->addDecorator($decorator, $options); - break; - } - } - } else { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception('Invalid decorator passed to addDecorators()'); - } - } - - return $this; - } - - /** - * Overwrite all decorators - * - * @param array $decorators - * @return Zend_Form_Element - */ - public function setDecorators(array $decorators) - { - $this->clearDecorators(); - return $this->addDecorators($decorators); - } - - /** - * Retrieve a registered decorator - * - * @param string $name - * @return false|Zend_Form_Decorator_Abstract - */ - public function getDecorator($name) - { - if (!isset($this->_decorators[$name])) { - $len = strlen($name); - foreach ($this->_decorators as $localName => $decorator) { - if ($len > strlen($localName)) { - continue; - } - - if (0 === substr_compare($localName, $name, -$len, $len, true)) { - if (is_array($decorator)) { - return $this->_loadDecorator($decorator, $localName); - } - return $decorator; - } - } - return false; - } - - if (is_array($this->_decorators[$name])) { - return $this->_loadDecorator($this->_decorators[$name], $name); - } - - return $this->_decorators[$name]; - } - - /** - * Retrieve all decorators - * - * @return array - */ - public function getDecorators() - { - foreach ($this->_decorators as $key => $value) { - if (is_array($value)) { - $this->_loadDecorator($value, $key); - } - } - return $this->_decorators; - } - - /** - * Remove a single decorator - * - * @param string $name - * @return Zend_Form_Element - */ - public function removeDecorator($name) - { - if (isset($this->_decorators[$name])) { - unset($this->_decorators[$name]); - } else { - $len = strlen($name); - foreach (array_keys($this->_decorators) as $decorator) { - if ($len > strlen($decorator)) { - continue; - } - if (0 === substr_compare($decorator, $name, -$len, $len, true)) { - unset($this->_decorators[$decorator]); - break; - } - } - } - - return $this; - } - - /** - * Clear all decorators - * - * @return Zend_Form_Element - */ - public function clearDecorators() - { - $this->_decorators = array(); - return $this; - } - - /** - * Render form element - * - * @param Zend_View_Interface $view - * @return string - */ - public function render(Zend_View_Interface $view = null) - { - if (null !== $view) { - $this->setView($view); - } - - $content = ''; - foreach ($this->getDecorators() as $decorator) { - $decorator->setElement($this); - $content = $decorator->render($content); - } - return $content; - } - - /** - * String representation of form element - * - * Proxies to {@link render()}. - * - * @return string - */ - public function __toString() - { - try { - $return = $this->render(); - return $return; - } catch (Exception $e) { - trigger_error($e->getMessage(), E_USER_WARNING); - return ''; - } - } - - /** - * Lazy-load a filter - * - * @param array $filter - * @return Zend_Filter_Interface - */ - protected function _loadFilter(array $filter) - { - $origName = $filter['filter']; - $name = $this->getPluginLoader(self::FILTER)->load($filter['filter']); - - if (array_key_exists($name, $this->_filters)) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Filter instance already exists for filter "%s"', $origName)); - } - - if (empty($filter['options'])) { - $instance = new $name; - } else { - $r = new ReflectionClass($name); - if ($r->hasMethod('__construct')) { - $instance = $r->newInstanceArgs((array) $filter['options']); - } else { - $instance = $r->newInstance(); - } - } - - if ($origName != $name) { - $filterNames = array_keys($this->_filters); - $order = array_flip($filterNames); - $order[$name] = $order[$origName]; - $filtersExchange = array(); - unset($order[$origName]); - asort($order); - foreach ($order as $key => $index) { - if ($key == $name) { - $filtersExchange[$key] = $instance; - continue; - } - $filtersExchange[$key] = $this->_filters[$key]; - } - $this->_filters = $filtersExchange; - } else { - $this->_filters[$name] = $instance; - } - - return $instance; - } - - /** - * Lazy-load a validator - * - * @param array $validator Validator definition - * @return Zend_Validate_Interface - */ - protected function _loadValidator(array $validator) - { - $origName = $validator['validator']; - $name = $this->getPluginLoader(self::VALIDATE)->load($validator['validator']); - - if (array_key_exists($name, $this->_validators)) { - require_once 'Zend/Form/Exception.php'; - throw new Zend_Form_Exception(sprintf('Validator instance already exists for validator "%s"', $origName)); - } - - if (empty($validator['options'])) { - $instance = new $name; - } else { - $messages = false; - if (isset($validator['options']['messages'])) { - $messages = $validator['options']['messages']; - unset($validator['options']['messages']); - } - - $r = new ReflectionClass($name); - if ($r->hasMethod('__construct')) { - $instance = $r->newInstanceArgs((array) $validator['options']); - } else { - $instance = $r->newInstance(); - } - - if ($messages) { - if (is_array($messages)) { - $instance->setMessages($messages); - } elseif (is_string($messages)) { - $instance->setMessage($messages); - } - } - } - - $instance->zfBreakChainOnFailure = $validator['breakChainOnFailure']; - - if ($origName != $name) { - $validatorNames = array_keys($this->_validators); - $order = array_flip($validatorNames); - $order[$name] = $order[$origName]; - $validatorsExchange = array(); - unset($order[$origName]); - asort($order); - foreach ($order as $key => $index) { - if ($key == $name) { - $validatorsExchange[$key] = $instance; - continue; - } - $validatorsExchange[$key] = $this->_validators[$key]; - } - $this->_validators = $validatorsExchange; - } else { - $this->_validators[$name] = $instance; - } - - return $instance; - } - - /** - * Lazy-load a decorator - * - * @param array $decorator Decorator type and options - * @param mixed $name Decorator name or alias - * @return Zend_Form_Decorator_Interface - */ - protected function _loadDecorator(array $decorator, $name) - { - $sameName = false; - if ($name == $decorator['decorator']) { - $sameName = true; - } - - $instance = $this->_getDecorator($decorator['decorator'], $decorator['options']); - if ($sameName) { - $newName = get_class($instance); - $decoratorNames = array_keys($this->_decorators); - $order = array_flip($decoratorNames); - $order[$newName] = $order[$name]; - $decoratorsExchange = array(); - unset($order[$name]); - asort($order); - foreach ($order as $key => $index) { - if ($key == $newName) { - $decoratorsExchange[$key] = $instance; - continue; - } - $decoratorsExchange[$key] = $this->_decorators[$key]; - } - $this->_decorators = $decoratorsExchange; - } else { - $this->_decorators[$name] = $instance; - } - - return $instance; - } - - /** - * Retrieve error messages and perform translation and value substitution - * - * @return array - */ - protected function _getErrorMessages() - { - $translator = $this->getTranslator(); - $messages = $this->getErrorMessages(); - $value = $this->getValue(); - foreach ($messages as $key => $message) { - if (null !== $translator) { - $message = $translator->translate($message); - } - if ($this->isArray() || is_array($value)) { - $aggregateMessages = array(); - foreach ($value as $val) { - $aggregateMessages[] = str_replace('%value%', $val, $message); - } - $messages[$key] = $aggregateMessages; - } else { - $messages[$key] = str_replace('%value%', $value, $message); - } - } - return $messages; - } - - /** - * Are there custom error messages registered? - * - * @return bool - */ - protected function _hasErrorMessages() - { - return !empty($this->_errorMessages); - } -} diff --git a/lib/zend/Zend/Form/Element/Button.php b/lib/zend/Zend/Form/Element/Button.php deleted file mode 100644 index b69e6871f9..0000000000 --- a/lib/zend/Zend/Form/Element/Button.php +++ /dev/null @@ -1,42 +0,0 @@ -_captcha; - } - - /** - * Set captcha adapter - * - * @param string|array|Zend_Captcha_Adapter $captcha - * @param array $options - */ - public function setCaptcha($captcha, $options = array()) - { - if ($captcha instanceof Zend_Captcha_Adapter) { - $instance = $captcha; - } else { - if (is_array($captcha)) { - if (array_key_exists('captcha', $captcha)) { - $name = $captcha['captcha']; - unset($captcha['captcha']); - } else { - $name = array_shift($captcha); - } - $options = array_merge($options, $captcha); - } else { - $name = $captcha; - } - - $name = $this->getPluginLoader(self::CAPTCHA)->load($name); - if (empty($options)) { - $instance = new $name; - } else { - $r = new ReflectionClass($name); - if ($r->hasMethod('__construct')) { - $instance = $r->newInstanceArgs(array($options)); - } else { - $instance = $r->newInstance(); - } - } - } - - $this->_captcha = $instance; - $this->_captcha->setName($this->getName()); - return $this; - } - - /** - * Constructor - * - * $spec may be: - * - string: name of element - * - array: options with which to configure element - * - Zend_Config: Zend_Config with options for configuring element - * - * @param string|array|Zend_Config $spec - * @return void - */ - public function __construct($spec, $options = null) - { - parent::__construct($spec, $options); - $this->setAllowEmpty(true) - ->setRequired(true) - ->setAutoInsertNotEmptyValidator(false) - ->addValidator($this->getCaptcha(), true); - } - - /** - * Return all attributes - * - * @return array - */ - public function getAttribs() - { - $attribs = get_object_vars($this); - unset($attribs['helper']); - foreach ($attribs as $key => $value) { - if ('_' == substr($key, 0, 1)) { - unset($attribs[$key]); - } - } - - return $attribs; - } - - /** - * Set options - * - * Overrides to allow passing captcha options - * - * @param array $options - * @return Zend_Form_Element_Captcha - */ - public function setOptions(array $options) - { - if (array_key_exists('captcha', $options)) { - if (array_key_exists('captchaOptions', $options)) { - $this->setCaptcha($options['captcha'], $options['captchaOptions']); - unset($options['captchaOptions']); - } else { - $this->setCaptcha($options['captcha']); - } - unset($options['captcha']); - } - return parent::setOptions($options); - } - - /** - * Render form element - * - * @param Zend_View_Interface $view - * @return string - */ - public function render(Zend_View_Interface $view = null) - { - $captcha = $this->getCaptcha(); - $captcha->setName($this->getFullyQualifiedName()); - - $decorators = $this->getDecorators(); - - $decorator = $captcha->getDecorator(); - if (!empty($decorator)) { - array_unshift($decorators, $decorator); - } - - $decorator = array('Captcha', array('captcha' => $captcha)); - array_unshift($decorators, $decorator); - - $this->setDecorators($decorators); - - $this->setValue($this->getCaptcha()->generate()); - - return parent::render($view); - } - - /** - * Retrieve plugin loader for validator or filter chain - * - * Support for plugin loader for Captcha adapters - * - * @param string $type - * @return Zend_Loader_PluginLoader - * @throws Zend_Loader_Exception on invalid type. - */ - public function getPluginLoader($type) - { - $type = strtoupper($type); - if ($type == self::CAPTCHA) { - if (!isset($this->_loaders[$type])) { - require_once 'Zend/Loader/PluginLoader.php'; - $this->_loaders[$type] = new Zend_Loader_PluginLoader( - array('Zend_Captcha' => 'Zend/Captcha/') - ); - } - return $this->_loaders[$type]; - } else { - return parent::getPluginLoader($type); - } - } - - /** - * Add prefix path for plugin loader for captcha adapters - * - * This method handles the captcha type, the rest is handled by - * the parent - * @param string $prefix - * @param string $path - * @param string $type - * @return Zend_Form_Element - * @see Zend_Form_Element::addPrefixPath - */ - public function addPrefixPath($prefix, $path, $type = null) - { - $type = strtoupper($type); - switch ($type) { - case null: - $loader = $this->getPluginLoader(self::CAPTCHA); - $cPrefix = rtrim($prefix, '_') . '_Captcha'; - $cPath = rtrim($path, '/\\') . '/Captcha'; - $loader->addPrefixPath($cPrefix, $cPath); - return parent::addPrefixPath($prefix, $path); - case self::CAPTCHA: - $loader = $this->getPluginLoader($type); - $loader->addPrefixPath($prefix, $path); - return $this; - default: - return parent::addPrefixPath($prefix, $path, $type); - } - } - - /** - * Load default decorators - * - * @return void - */ - public function loadDefaultDecorators() - { - if ($this->loadDefaultDecoratorsIsDisabled()) { - return; - } - - $decorators = $this->getDecorators(); - if (empty($decorators)) { - $this->addDecorator('Errors') - ->addDecorator('Description', array('tag' => 'p', 'class' => 'description')) - ->addDecorator('HtmlTag', array('tag' => 'dd')) - ->addDecorator('Label', array('tag' => 'dt')); - } - } - - /** - * Is the captcha valid? - * - * @param mixed $value - * @param mixed $context - * @return boolean - */ - public function isValid($value, $context = null) - { - $this->getCaptcha()->setName($this->getName()); - $belongsTo = $this->getBelongsTo(); - if (empty($belongsTo) || !is_array($context)) { - return parent::isValid($value, $context); - } - - $name = $this->getFullyQualifiedName(); - $root = substr($name, 0, strpos($name, '[')); - $segments = substr($name, strpos($name, '[')); - $segments = ltrim($segments, '['); - $segments = rtrim($segments, ']'); - $segments = explode('][', $segments); - array_unshift($segments, $root); - array_pop($segments); - $newContext = $context; - foreach ($segments as $segment) { - if (array_key_exists($segment, $newContext)) { - $newContext = $newContext[$segment]; - } - } - - return parent::isValid($value, $newContext); - } -} diff --git a/lib/zend/Zend/Form/Element/Checkbox.php b/lib/zend/Zend/Form/Element/Checkbox.php deleted file mode 100644 index fe691d07dd..0000000000 --- a/lib/zend/Zend/Form/Element/Checkbox.php +++ /dev/null @@ -1,203 +0,0 @@ - '1', - 'uncheckedValue' => '0', - ); - - /** - * Value when checked - * @var string - */ - protected $_checkedValue = '1'; - - /** - * Value when not checked - * @var string - */ - protected $_uncheckedValue = '0'; - - /** - * Current value - * @var string 0 or 1 - */ - protected $_value = '0'; - - /** - * Set options - * - * Intercept checked and unchecked values and set them early; test stored - * value against checked and unchecked values after configuration. - * - * @param array $options - * @return Zend_Form_Element_Checkbox - */ - public function setOptions(array $options) - { - if (array_key_exists('checkedValue', $options)) { - $this->setCheckedValue($options['checkedValue']); - unset($options['checkedValue']); - } - if (array_key_exists('uncheckedValue', $options)) { - $this->setUncheckedValue($options['uncheckedValue']); - unset($options['uncheckedValue']); - } - parent::setOptions($options); - - $curValue = $this->getValue(); - $test = array($this->getCheckedValue(), $this->getUncheckedValue()); - if (!in_array($curValue, $test)) { - $this->setValue($curValue); - } - - return $this; - } - - /** - * Set value - * - * If value matches checked value, sets to that value, and sets the checked - * flag to true. - * - * Any other value causes the unchecked value to be set as the current - * value, and the checked flag to be set as false. - * - * - * @param mixed $value - * @return Zend_Form_Element_Checkbox - */ - public function setValue($value) - { - if ($value == $this->getCheckedValue()) { - parent::setValue($value); - $this->checked = true; - } else { - parent::setValue($this->getUncheckedValue()); - $this->checked = false; - } - return $this; - } - - /** - * Set checked value - * - * @param string $value - * @return Zend_Form_Element_Checkbox - */ - public function setCheckedValue($value) - { - $this->_checkedValue = (string) $value; - $this->options['checkedValue'] = $value; - return $this; - } - - /** - * Get value when checked - * - * @return string - */ - public function getCheckedValue() - { - return $this->_checkedValue; - } - - /** - * Set unchecked value - * - * @param string $value - * @return Zend_Form_Element_Checkbox - */ - public function setUncheckedValue($value) - { - $this->_uncheckedValue = (string) $value; - $this->options['uncheckedValue'] = $value; - return $this; - } - - /** - * Get value when not checked - * - * @return string - */ - public function getUncheckedValue() - { - return $this->_uncheckedValue; - } - - /** - * Set checked flag - * - * @param bool $flag - * @return Zend_Form_Element_Checkbox - */ - public function setChecked($flag) - { - $this->checked = (bool) $flag; - if ($this->checked) { - $this->setValue($this->getCheckedValue()); - } else { - $this->setValue($this->getUncheckedValue()); - } - return $this; - } - - /** - * Get checked flag - * - * @return bool - */ - public function isChecked() - { - return $this->checked; - } -} diff --git a/lib/zend/Zend/Form/Element/Exception.php b/lib/zend/Zend/Form/Element/Exception.php deleted file mode 100644 index 32e9e71e1e..0000000000 --- a/lib/zend/Zend/Form/Element/Exception.php +++ /dev/null @@ -1,37 +0,0 @@ -loadDefaultDecoratorsIsDisabled()) { - return; - } - - $decorators = $this->getDecorators(); - if (empty($decorators)) { - $this->addDecorator('File') - ->addDecorator('Errors') - ->addDecorator('Description') - ->addDecorator('HtmlTag', array('tag' => 'dd')) - ->addDecorator('Label', array('tag' => 'dt')); - } - } - - /** - * Set plugin loader - * - * @param Zend_Loader_PluginLoader_Interface $loader - * @param string $type - * @return Zend_Form_Element_File - */ - public function setPluginLoader(Zend_Loader_PluginLoader_Interface $loader, $type) - { - $type = strtoupper($type); - - if ($type != self::TRANSFER_ADAPTER) { - return parent::setPluginLoader($loader, $type); - } - - $this->_loaders[$type] = $loader; - return $this; - } - - /** - * Get Plugin Loader - * - * @param string $type - * @return Zend_Loader_PluginLoader_Interface - */ - public function getPluginLoader($type) - { - $type = strtoupper($type); - - if ($type != self::TRANSFER_ADAPTER) { - return parent::getPluginLoader($type); - } - - if (!array_key_exists($type, $this->_loaders)) { - require_once 'Zend/Loader/PluginLoader.php'; - $loader = new Zend_Loader_PluginLoader(array( - 'Zend_File_Transfer_Adapter' => 'Zend/File/Transfer/Adapter/', - )); - $this->setPluginLoader($loader, self::TRANSFER_ADAPTER); - } - - return $this->_loaders[$type]; - } - - /** - * Add prefix path for plugin loader - * - * @param string $prefix - * @param string $path - * @param string $type - * @return Zend_Form_Element_File - */ - public function addPrefixPath($prefix, $path, $type = null) - { - $type = strtoupper($type); - if (!empty($type) && ($type != self::TRANSFER_ADAPTER)) { - return parent::addPrefixPath($prefix, $path, $type); - } - - if (empty($type)) { - $pluginPrefix = rtrim($prefix, '_') . '_Transfer_Adapter'; - $pluginPath = rtrim($path, DIRECTORY_SEPARATOR) . '/Transfer/Adapter/'; - $loader = $this->getPluginLoader(self::TRANSFER_ADAPTER); - $loader->addPrefixPath($pluginPrefix, $pluginPath); - return parent::addPrefixPath($prefix, $path, null); - } - - $loader = $this->getPluginLoader($type); - $loader->addPrefixPath($prefix, $path); - return $this; - } - - /** - * Set transfer adapter - * - * @param string|Zend_File_Transfer_Adapter_Abstract $adapter - * @return Zend_Form_Element_File - */ - public function setTransferAdapter($adapter) - { - if ($adapter instanceof Zend_File_Transfer_Adapter_Abstract) { - $this->_adapter = $adapter; - } elseif (is_string($adapter)) { - $loader = $this->getPluginLoader(self::TRANSFER_ADAPTER); - $class = $loader->load($adapter); - $this->_adapter = new $class; - } else { - require_once 'Zend/Form/Element/Exception.php'; - throw new Zend_Form_Element_Exception('Invalid adapter specified'); - } - - foreach (array('filter', 'validate') as $type) { - $loader = $this->getPluginLoader($type); - $this->_adapter->setPluginLoader($loader, $type); - } - - return $this; - } - - /** - * Get transfer adapter - * - * Lazy loads HTTP transfer adapter when no adapter registered. - * - * @return Zend_File_Transfer_Adapter_Abstract - */ - public function getTransferAdapter() - { - if (null === $this->_adapter) { - $this->setTransferAdapter('Http'); - } - return $this->_adapter; - } - - /** - * Add Validator; proxy to adapter - * - * @param string|Zend_Validate_Interface $validator - * @param bool $breakChainOnFailure - * @param mixed $options - * @return Zend_Form_Element_File - */ - public function addValidator($validator, $breakChainOnFailure = false, $options = array()) - { - $adapter = $this->getTransferAdapter(); - $adapter->addValidator($validator, $breakChainOnFailure, $options, $this->getName()); - $this->_validated = false; - - return $this; - } - - /** - * Add multiple validators at once; proxy to adapter - * - * @param array $validators - * @return Zend_Form_Element_File - */ - public function addValidators(array $validators) - { - $adapter = $this->getTransferAdapter(); - $adapter->addValidators($validators, $this->getName()); - $this->_validated = false; - - return $this; - } - - /** - * Add multiple validators at once, overwriting; proxy to adapter - * - * @param array $validators - * @return Zend_Form_Element_File - */ - public function setValidators(array $validators) - { - $adapter = $this->getTransferAdapter(); - $adapter->setValidators($validators, $this->getName()); - $this->_validated = false; - - return $this; - } - - /** - * Retrieve validator by name; proxy to adapter - * - * @param string $name - * @return Zend_Validate_Interface|null - */ - public function getValidator($name) - { - $adapter = $this->getTransferAdapter(); - return $adapter->getValidator($name); - } - - /** - * Retrieve all validators; proxy to adapter - * - * @return array - */ - public function getValidators() - { - $adapter = $this->getTransferAdapter(); - $validators = $adapter->getValidators($this->getName()); - if ($validators === null) { - $validators = array(); - } - - return $validators; - } - - /** - * Remove validator by name; proxy to adapter - * - * @param string $name - * @return Zend_Form_Element_File - */ - public function removeValidator($name) - { - $adapter = $this->getTransferAdapter(); - $adapter->removeValidator($name); - $this->_validated = false; - - return $this; - } - - /** - * Remove all validators; proxy to adapter - * - * @return Zend_Form_Element_File - */ - public function clearValidators() - { - $adapter = $this->getTransferAdapter(); - $adapter->clearValidators(); - $this->_validated = false; - - return $this; - } - - /** - * Add Filter; proxy to adapter - * - * @param string|array $filter Type of filter to add - * @param string|array $options Options to set for the filter - * @return Zend_Form_Element_File - */ - public function addFilter($filter, $options = null) - { - $adapter = $this->getTransferAdapter(); - $adapter->addFilter($filter, $options, $this->getName()); - - return $this; - } - - /** - * Add Multiple filters at once; proxy to adapter - * - * @param array $filters - * @return Zend_Form_Element_File - */ - public function addFilters(array $filters) - { - $adapter = $this->getTransferAdapter(); - $adapter->addFilters($filters, $this->getName()); - - return $this; - } - - /** - * Sets a filter for the class, erasing all previous set; proxy to adapter - * - * @param string|array $filter Filter to set - * @return Zend_Form_Element_File - */ - public function setFilters(array $filters) - { - $adapter = $this->getTransferAdapter(); - $adapter->setFilters($filters, $this->getName()); - - return $this; - } - - /** - * Retrieve individual filter; proxy to adapter - * - * @param string $name - * @return Zend_Filter_Interface|null - */ - public function getFilter($name) - { - $adapter = $this->getTransferAdapter(); - return $adapter->getFilter($name); - } - - /** - * Returns all set filters; proxy to adapter - * - * @return array List of set filters - */ - public function getFilters() - { - $adapter = $this->getTransferAdapter(); - $filters = $adapter->getFilters($this->getName()); - - if ($filters === null) { - $filters = array(); - } - return $filters; - } - - /** - * Remove an individual filter; proxy to adapter - * - * @param string $name - * @return Zend_Form_Element_File - */ - public function removeFilter($name) - { - $adapter = $this->getTransferAdapter(); - $adapter->removeFilter($name); - - return $this; - } - - /** - * Remove all filters; proxy to adapter - * - * @return Zend_Form_Element_File - */ - public function clearFilters() - { - $adapter = $this->getTransferAdapter(); - $adapter->clearFilters(); - - return $this; - } - - /** - * Validate upload - * - * @param string $value File, can be optional, give null to validate all files - * @param mixed $context - * @return bool - */ - public function isValid($value, $context = null) - { - if ($this->_validated) { - return true; - } - - $adapter = $this->getTransferAdapter(); - $translator = $this->getTranslator(); - if ($translator !== null) { - $adapter->setTranslator($translator); - } - - if (!$this->isRequired()) { - $adapter->setOptions(array('ignoreNoFile' => true), $this->getName()); - } else { - $adapter->setOptions(array('ignoreNoFile' => false), $this->getName()); - if ($this->autoInsertNotEmptyValidator() and - !$this->getValidator('NotEmpty')) - { - $validators = $this->getValidators(); - $notEmpty = array('validator' => 'NotEmpty', 'breakChainOnFailure' => true); - array_unshift($validators, $notEmpty); - $this->setValidators($validators); - } - } - - if($adapter->isValid($this->getName())) { - $this->_validated = true; - return true; - } - - $this->_validated = false; - return false; - } - - /** - * Receive the uploaded file - * - * @return boolean - */ - public function receive() - { - if (!$this->_validated) { - if (!$this->isValid($this->getName())) { - return false; - } - } - - $adapter = $this->getTransferAdapter(); - if ($adapter->receive($this->getName())) { - return true; - } - - return false; - } - - /** - * Retrieve error codes; proxy to transfer adapter - * - * @return array - */ - public function getErrors() - { - return parent::getErrors() + $this->getTransferAdapter()->getErrors(); - } - - /** - * Are there errors registered? - * - * @return bool - */ - public function hasErrors() - { - return (parent::hasErrors() || $this->getTransferAdapter()->hasErrors()); - } - - /** - * Retrieve error messages; proxy to transfer adapter - * - * @return array - */ - public function getMessages() - { - return parent::getMessages() + $this->getTransferAdapter()->getMessages(); - } - - /** - * Set the upload destination - * - * @param string $path - * @return Zend_Form_Element_File - */ - public function setDestination($path) - { - $this->getTransferAdapter()->setDestination($path, $this->getName()); - return $this; - } - - /** - * Get the upload destination - * - * @return string - */ - public function getDestination() - { - return $this->getTransferAdapter()->getDestination($this->getName()); - } - - /** - * Get the final filename - * - * @param string $value (Optional) Element or file to return - * @param boolean $path (Optional) Return also the path, defaults to true - * @return string - */ - public function getFileName($value = null, $path = true) - { - if (empty($value)) { - $value = $this->getName(); - } - - return $this->getTransferAdapter()->getFileName($value, $path); - } - - /** - * Get internal file informations - * - * @param string $value (Optional) Element or file to return - * @return array - */ - public function getFileInfo($value = null) - { - if (empty($value)) { - $value = $this->getName(); - } - - return $this->getTransferAdapter()->getFileInfo($value); - } - - /** - * Set a multifile element - * - * @param integer $count Number of file elements - * @return Zend_Form_Element_File Provides fluent interface - */ - public function setMultiFile($count) - { - if ((integer) $count < 2) { - $this->setIsArray(false); - $this->_counter = 1; - } else { - $this->setIsArray(true); - $this->_counter = (integer) $count; - } - - return $this; - } - - /** - * Returns the multifile element number - * - * @return integer - */ - public function getMultiFile() - { - return $this->_counter; - } - - /** - * Sets the maximum file size of the form - * - * @return integer - */ - public function getMaxFileSize() - { - if (self::$_maxFileSize < 0) { - $ini = $this->_convertIniToInteger(trim(ini_get('post_max_size'))); - $max = $this->_convertIniToInteger(trim(ini_get('upload_max_filesize'))); - $min = max($ini, $max); - if ($ini > 0) { - $min = min($min, $ini); - } - - if ($max > 0) { - $min = min($min, $max); - } - - self::$_maxFileSize = $min; - } - - return self::$_maxFileSize; - } - - /** - * Sets the maximum file size of the form - * - * @param integer $size - * @return integer - */ - public function setMaxFileSize($size) - { - $ini = $this->_convertIniToInteger(trim(ini_get('post_max_size'))); - $max = $this->_convertIniToInteger(trim(ini_get('upload_max_filesize'))); - - if (($max > -1) && ($size > $max)) { - trigger_error("Your 'upload_max_filesize' config setting limits the maximum filesize to '$max'. You tried to set '$size'.", E_USER_NOTICE); - $size = $max; - } - - if (($ini > -1) && ($size > $ini)) { - trigger_error("Your 'post_max_size' config setting limits the maximum filesize to '$ini'. You tried to set '$size'.", E_USER_NOTICE); - $size = $ini; - } - - self::$_maxFileSize = $size; - return $this; - } - - /** - * Converts a ini setting to a integer value - * - * @param string $setting - * @return integer - */ - private function _convertIniToInteger($setting) - { - if (!is_numeric($setting)) { - $type = strtoupper(substr($setting, -1)); - $setting = (integer) substr($setting, 0, -1); - - switch ($type) { - case 'K' : - $setting *= 1024; - break; - - case 'M' : - $setting *= 1024 * 1024; - break; - - case 'G' : - $setting *= 1024 * 1024 * 1024; - break; - - default : - break; - } - } - - return (integer) $setting; - } - - /** - * Set if the file will be uploaded when getting the value - * This defaults to false which will force receive() when calling getValues() - * - * @param boolean $flag Sets if the file is handled as the elements value - * @return Zend_Form_Element_File - */ - public function setValueDisabled($flag) - { - $this->_valueDisabled = (bool) $flag; - return $this; - } - - /** - * Returns if the file will be uploaded when calling getValues() - * - * @return boolean Receive the file on calling getValues()? - */ - public function isValueDisabled() - { - return $this->_valueDisabled; - } - - /** - * Processes the file, returns null or the filename only - * For the complete path, use getFileName - * - * @return null|string - */ - public function getValue() - { - if ($this->_value !== null) { - return $this->_value; - } - - $content = $this->getTransferAdapter()->getFileName($this->getName()); - if (empty($content)) { - return null; - } - - if (!$this->isValid(null)) { - return null; - } - - if (!$this->_valueDisabled && !$this->receive()) { - return null; - } - - return $this->getFileName(null, false); - } - - /** - * Disallow setting the value - * - * @param mixed $value - * @return Zend_Form_Element_File - */ - public function setValue($value) - { - return $this; - } - - /** - * Set translator object for localization - * - * @param Zend_Translate|null $translator - * @return Zend_Form_Element_File - */ - public function setTranslator($translator = null) - { - $adapter = $this->getTransferAdapter(); - $adapter->setTranslator($translator); - parent::setTranslator($translator); - - return $this; - } - - /** - * Retrieve localization translator object - * - * @return Zend_Translate_Adapter|null - */ - public function getTranslator() - { - $adapter = $this->getTransferAdapter(); - return $adapter->getTranslator(); - } - - /** - * Indicate whether or not translation should be disabled - * - * @param bool $flag - * @return Zend_Form_Element_File - */ - public function setDisableTranslator($flag) - { - $adapter = $this->getTransferAdapter(); - $adapter->setDisableTranslator($flag); - $this->_translatorDisabled = (bool) $flag; - - return $this; - } - - /** - * Is translation disabled? - * - * @return bool - */ - public function translatorIsDisabled() - { - $adapter = $this->getTransferAdapter(); - return $adapter->translatorIsDisabled(); - } - - /** - * Was the file received? - * - * @return bool - */ - public function isReceived() - { - $adapter = $this->getTransferAdapter(); - return $adapter->isReceived($this->getName()); - } - - /** - * Was the file uploaded? - * - * @return bool - */ - public function isUploaded() - { - $adapter = $this->getTransferAdapter(); - return $adapter->isUploaded($this->getName()); - } - - /** - * Has the file been filtered? - * - * @return bool - */ - public function isFiltered() - { - $adapter = $this->getTransferAdapter(); - return $adapter->isFiltered($this->getName()); - } - - /** - * Returns the hash for this file element - * - * @param string $hash (Optional) Hash algorithm to use - * @return string|array Hashstring - */ - public function getHash($hash = 'crc32') - { - $adapter = $this->getTransferAdapter(); - return $adapter->getHash($hash, $this->getName()); - } - - /** - * Returns the filesize for this file element - * - * @return string|array Filesize - */ - public function getFileSize() - { - $adapter = $this->getTransferAdapter(); - return $adapter->getFileSize($this->getName()); - } - - /** - * Returns the mimetype for this file element - * - * @return string|array Mimetype - */ - public function getMimeType() - { - $adapter = $this->getTransferAdapter(); - return $adapter->getMimeType($this->getName()); - } - - /** - * Render form element - * Checks for decorator interface to prevent errors - * - * @param Zend_View_Interface $view - * @return string - */ - public function render(Zend_View_Interface $view = null) - { - $marker = false; - foreach ($this->getDecorators() as $decorator) { - if ($decorator instanceof Zend_Form_Decorator_Marker_File_Interface) { - $marker = true; - } - } - - if (!$marker) { - require_once 'Zend/Form/Element/Exception.php'; - throw new Zend_Form_Element_Exception('No file decorator found... unable to render file element'); - } - - return parent::render($view); - } - - /** - * Retrieve error messages and perform translation and value substitution - * - * @return array - */ - protected function _getErrorMessages() - { - $translator = $this->getTranslator(); - $messages = $this->getErrorMessages(); - $value = $this->getFileName(); - foreach ($messages as $key => $message) { - if (null !== $translator) { - $message = $translator->translate($message); - } - - if ($this->isArray() || is_array($value)) { - $aggregateMessages = array(); - foreach ($value as $val) { - $aggregateMessages[] = str_replace('%value%', $val, $message); - } - - if (!empty($aggregateMessages)) { - $messages[$key] = $aggregateMessages; - } - } else { - $messages[$key] = str_replace('%value%', $value, $message); - } - } - - return $messages; - } -} diff --git a/lib/zend/Zend/Form/Element/Hash.php b/lib/zend/Zend/Form/Element/Hash.php deleted file mode 100644 index 4e089632a3..0000000000 --- a/lib/zend/Zend/Form/Element/Hash.php +++ /dev/null @@ -1,259 +0,0 @@ -setAllowEmpty(false) - ->setRequired(true) - ->initCsrfValidator(); - } - - /** - * Set session object - * - * @param Zend_Session_Namespace $session - * @return Zend_Form_Element_Hash - */ - public function setSession($session) - { - $this->_session = $session; - return $this; - } - - /** - * Get session object - * - * Instantiate session object if none currently exists - * - * @return Zend_Session_Namespace - */ - public function getSession() - { - if (null === $this->_session) { - require_once 'Zend/Session/Namespace.php'; - $this->_session = new Zend_Session_Namespace($this->getSessionName()); - } - return $this->_session; - } - - /** - * Initialize CSRF validator - * - * Creates Session namespace, and initializes CSRF token in session. - * Additionally, adds validator for validating CSRF token. - * - * @return Zend_Form_Element_Hash - */ - public function initCsrfValidator() - { - $session = $this->getSession(); - if (isset($session->hash)) { - $rightHash = $session->hash; - } else { - $rightHash = null; - } - - $this->addValidator('Identical', true, array($rightHash)); - return $this; - } - - /** - * Salt for CSRF token - * - * @param string $salt - * @return Zend_Form_Element_Hash - */ - public function setSalt($salt) - { - $this->_salt = (string) $salt; - return $this; - } - - /** - * Retrieve salt for CSRF token - * - * @return string - */ - public function getSalt() - { - return $this->_salt; - } - - /** - * Retrieve CSRF token - * - * If no CSRF token currently exists, generates one. - * - * @return string - */ - public function getHash() - { - if (null === $this->_hash) { - $this->_generateHash(); - } - return $this->_hash; - } - - /** - * Get session namespace for CSRF token - * - * Generates a session namespace based on salt, element name, and class. - * - * @return string - */ - public function getSessionName() - { - return __CLASS__ . '_' . $this->getSalt() . '_' . $this->getName(); - } - - /** - * Set timeout for CSRF session token - * - * @param int $ttl - * @return Zend_Form_Element_Hash - */ - public function setTimeout($ttl) - { - $this->_timeout = (int) $ttl; - return $this; - } - - /** - * Get CSRF session token timeout - * - * @return int - */ - public function getTimeout() - { - return $this->_timeout; - } - - /** - * Override getLabel() to always be empty - * - * @return null - */ - public function getLabel() - { - return null; - } - - /** - * Initialize CSRF token in session - * - * @return void - */ - public function initCsrfToken() - { - $session = $this->getSession(); - $session->setExpirationHops(1, null, true); - $session->setExpirationSeconds($this->getTimeout()); - $session->hash = $this->getHash(); - } - - /** - * Render CSRF token in form - * - * @param Zend_View_Interface $view - * @return string - */ - public function render(Zend_View_Interface $view = null) - { - $this->initCsrfToken(); - return parent::render($view); - } - - /** - * Generate CSRF token - * - * Generates CSRF token and stores both in {@link $_hash} and element - * value. - * - * @return void - */ - protected function _generateHash() - { - $this->_hash = md5( - mt_rand(1,1000000) - . $this->getSalt() - . $this->getName() - . mt_rand(1,1000000) - ); - $this->setValue($this->_hash); - } -} diff --git a/lib/zend/Zend/Form/Element/Hidden.php b/lib/zend/Zend/Form/Element/Hidden.php deleted file mode 100644 index e00d97272b..0000000000 --- a/lib/zend/Zend/Form/Element/Hidden.php +++ /dev/null @@ -1,42 +0,0 @@ -loadDefaultDecoratorsIsDisabled()) { - return; - } - - $decorators = $this->getDecorators(); - if (empty($decorators)) { - $this->addDecorator('Tooltip') - ->addDecorator('Image') - ->addDecorator('Errors') - ->addDecorator('HtmlTag', array('tag' => 'dd')) - ->addDecorator('Label', array('tag' => 'dt')); - } - } - - /** - * Set image path - * - * @param string $path - * @return Zend_Form_Element_Image - */ - public function setImage($path) - { - $this->src = (string) $path; - return $this; - } - - /** - * Get image path - * - * @return string - */ - public function getImage() - { - return $this->src; - } - - /** - * Set image value to use when submitted - * - * @param mixed $value - * @return Zend_Form_Element_Image - */ - public function setImageValue($value) - { - $this->_imageValue = $value; - return $this; - } - - /** - * Get image value to use when submitted - * - * @return mixed - */ - public function getImageValue() - { - return $this->_imageValue; - } - - /** - * Was this element used to submit the form? - * - * @return bool - */ - public function isChecked() - { - $imageValue = $this->getImageValue(); - return ((null !== $imageValue) && ($this->getValue() == $imageValue)); - } - -} diff --git a/lib/zend/Zend/Form/Element/Multi.php b/lib/zend/Zend/Form/Element/Multi.php deleted file mode 100644 index 6d0fb2d27f..0000000000 --- a/lib/zend/Zend/Form/Element/Multi.php +++ /dev/null @@ -1,318 +0,0 @@ -'. - * @var string - */ - protected $_separator = '
      '; - - /** - * Which values are translated already? - * @var array - */ - protected $_translated = array(); - - /** - * Retrieve separator - * - * @return mixed - */ - public function getSeparator() - { - return $this->_separator; - } - - /** - * Set separator - * - * @param mixed $separator - * @return self - */ - public function setSeparator($separator) - { - $this->_separator = $separator; - return $this; - } - - /** - * Retrieve options array - * - * @return array - */ - protected function _getMultiOptions() - { - if (null === $this->options || !is_array($this->options)) { - $this->options = array(); - } - - return $this->options; - } - - /** - * Add an option - * - * @param string $option - * @param string $value - * @return Zend_Form_Element_Multi - */ - public function addMultiOption($option, $value = '') - { - $option = (string) $option; - $this->_getMultiOptions(); - if (!$this->_translateOption($option, $value)) { - $this->options[$option] = $value; - } - - return $this; - } - - /** - * Add many options at once - * - * @param array $options - * @return Zend_Form_Element_Multi - */ - public function addMultiOptions(array $options) - { - foreach ($options as $option => $value) { - if (is_array($value) - && array_key_exists('key', $value) - && array_key_exists('value', $value) - ) { - $this->addMultiOption($value['key'], $value['value']); - } else { - $this->addMultiOption($option, $value); - } - } - return $this; - } - - /** - * Set all options at once (overwrites) - * - * @param array $options - * @return Zend_Form_Element_Multi - */ - public function setMultiOptions(array $options) - { - $this->clearMultiOptions(); - return $this->addMultiOptions($options); - } - - /** - * Retrieve single multi option - * - * @param string $option - * @return mixed - */ - public function getMultiOption($option) - { - $option = (string) $option; - $this->_getMultiOptions(); - if (isset($this->options[$option])) { - $this->_translateOption($option, $this->options[$option]); - return $this->options[$option]; - } - - return null; - } - - /** - * Retrieve options - * - * @return array - */ - public function getMultiOptions() - { - $this->_getMultiOptions(); - foreach ($this->options as $option => $value) { - $this->_translateOption($option, $value); - } - return $this->options; - } - - /** - * Remove a single multi option - * - * @param string $option - * @return bool - */ - public function removeMultiOption($option) - { - $option = (string) $option; - $this->_getMultiOptions(); - if (isset($this->options[$option])) { - unset($this->options[$option]); - if (isset($this->_translated[$option])) { - unset($this->_translated[$option]); - } - return true; - } - - return false; - } - - /** - * Clear all options - * - * @return Zend_Form_Element_Multi - */ - public function clearMultiOptions() - { - $this->options = array(); - $this->_translated = array(); - return $this; - } - - /** - * Set flag indicating whether or not to auto-register inArray validator - * - * @param bool $flag - * @return Zend_Form_Element_Multi - */ - public function setRegisterInArrayValidator($flag) - { - $this->_registerInArrayValidator = (bool) $flag; - return $this; - } - - /** - * Get status of auto-register inArray validator flag - * - * @return bool - */ - public function registerInArrayValidator() - { - return $this->_registerInArrayValidator; - } - - /** - * Is the value provided valid? - * - * Autoregisters InArray validator if necessary. - * - * @param string $value - * @param mixed $context - * @return bool - */ - public function isValid($value, $context = null) - { - if ($this->registerInArrayValidator()) { - if (!$this->getValidator('InArray')) { - $multiOptions = $this->getMultiOptions(); - $options = array(); - - foreach ($multiOptions as $opt_value => $opt_label) { - // optgroup instead of option label - if (is_array($opt_label)) { - $options = array_merge($options, array_keys($opt_label)); - } - else { - $options[] = $opt_value; - } - } - - $this->addValidator( - 'InArray', - true, - array($options) - ); - } - } - return parent::isValid($value, $context); - } - - /** - * Translate an option - * - * @param string $option - * @param string $value - * @return bool - */ - protected function _translateOption($option, $value) - { - if ($this->translatorIsDisabled()) { - return false; - } - - if (!isset($this->_translated[$option]) && !empty($value)) { - $this->options[$option] = $this->_translateValue($value); - if ($this->options[$option] === $value) { - return false; - } - $this->_translated[$option] = true; - return true; - } - - return false; - } - - /** - * Translate a multi option value - * - * @param string $value - * @return string - */ - protected function _translateValue($value) - { - if (is_array($value)) { - foreach ($value as $key => $val) { - $value[$key] = $this->_translateValue($val); - } - return $value; - } else { - if (null !== ($translator = $this->getTranslator())) { - if ($translator->isTranslated($value)) { - return $translator->translate($value); - } - } - return $value; - } - } -} diff --git a/lib/zend/Zend/Form/Element/MultiCheckbox.php b/lib/zend/Zend/Form/Element/MultiCheckbox.php deleted file mode 100644 index f3f1fcbe8d..0000000000 --- a/lib/zend/Zend/Form/Element/MultiCheckbox.php +++ /dev/null @@ -1,52 +0,0 @@ -renderPassword = (bool) $flag; - return $this; - } - - /** - * Get value of renderPassword flag - * - * @return bool - */ - public function renderPassword() - { - return $this->renderPassword; - } - - /** - * Override isValid() - * - * Ensure that validation error messages mask password value. - * - * @param string $value - * @param mixed $context - * @return bool - */ - public function isValid($value, $context = null) - { - foreach ($this->getValidators() as $validator) { - if ($validator instanceof Zend_Validate_Abstract) { - $validator->setObscureValue(true); - } - } - return parent::isValid($value, $context); - } -} diff --git a/lib/zend/Zend/Form/Element/Radio.php b/lib/zend/Zend/Form/Element/Radio.php deleted file mode 100644 index a1ba3acdaa..0000000000 --- a/lib/zend/Zend/Form/Element/Radio.php +++ /dev/null @@ -1,42 +0,0 @@ - $options); - } - - parent::__construct($spec, $options); - } - - /** - * Return label - * - * If no label is present, returns the currently set name. - * - * If a translator is present, returns the translated label. - * - * @return string - */ - public function getLabel() - { - $value = parent::getLabel(); - - if (null === $value) { - $value = $this->getName(); - } - - if (null !== ($translator = $this->getTranslator())) { - return $translator->translate($value); - } - - return $value; - } - - /** - * Has this submit button been selected? - * - * @return bool - */ - public function isChecked() - { - $value = $this->getValue(); - - if (empty($value)) { - return false; - } - if ($value != $this->getLabel()) { - return false; - } - - return true; - } - - /** - * Default decorators - * - * Uses only 'Submit' and 'DtDdWrapper' decorators by default. - * - * @return void - */ - public function loadDefaultDecorators() - { - if ($this->loadDefaultDecoratorsIsDisabled()) { - return; - } - - $decorators = $this->getDecorators(); - if (empty($decorators)) { - $this->addDecorator('Tooltip') - ->addDecorator('ViewHelper') - ->addDecorator('DtDdWrapper'); - } - } -} diff --git a/lib/zend/Zend/Form/Element/Text.php b/lib/zend/Zend/Form/Element/Text.php deleted file mode 100644 index a98c3124d1..0000000000 --- a/lib/zend/Zend/Form/Element/Text.php +++ /dev/null @@ -1,42 +0,0 @@ -loadDefaultDecoratorsIsDisabled()) { - return; - } - - $decorators = $this->getDecorators(); - if (empty($decorators)) { - $this->addDecorator('FormElements') - ->addDecorator('HtmlTag', array('tag' => 'dl')) - ->addDecorator('Fieldset') - ->addDecorator('DtDdWrapper'); - } - } -} diff --git a/lib/zend/Zend/InfoCard.php b/lib/zend/Zend/InfoCard.php deleted file mode 100644 index 25b84b3d2e..0000000000 --- a/lib/zend/Zend/InfoCard.php +++ /dev/null @@ -1,497 +0,0 @@ -_keyPairs = array(); - - if(!extension_loaded('mcrypt')) { - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Use of the Zend_InfoCard component requires the mcrypt extension to be enabled in PHP"); - } - - if(!extension_loaded('openssl')) { - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Use of the Zend_InfoCard component requires the openssl extension to be enabled in PHP"); - } - } - - /** - * Sets the adapter uesd for callbacks into the application using the component, used - * when doing things such as storing / retrieving assertions, etc. - * - * @param Zend_InfoCard_Adapter_Interface $a The Adapter instance - * @return Zend_InfoCard The instnace - */ - public function setAdapter(Zend_InfoCard_Adapter_Interface $a) - { - $this->_adapter = $a; - return $this; - } - - /** - * Retrieves the adapter used for callbacks into the application using the component. - * If no adapter was set then an instance of Zend_InfoCard_Adapter_Default is used - * - * @return Zend_InfoCard_Adapter_Interface The Adapter instance - */ - public function getAdapter() - { - if($this->_adapter === null) { - require_once 'Zend/InfoCard/Adapter/Default.php'; - $this->setAdapter(new Zend_InfoCard_Adapter_Default()); - } - - return $this->_adapter; - } - - /** - * Gets the Public Key Cipher object used in this instance - * - * @return Zend_InfoCard_Cipher_Pki_Interface - */ - public function getPkiCipherObject() - { - return $this->_pkiCipherObj; - } - - /** - * Sets the Public Key Cipher Object used in this instance - * - * @param Zend_InfoCard_Cipher_Pki_Interface $cipherObj - * @return Zend_InfoCard - */ - public function setPkiCipherObject(Zend_InfoCard_Cipher_Pki_Interface $cipherObj) - { - $this->_pkiCipherObj = $cipherObj; - return $this; - } - - /** - * Get the Symmetric Cipher Object used in this instance - * - * @return Zend_InfoCard_Cipher_Symmetric_Interface - */ - public function getSymCipherObject() - { - return $this->_symCipherObj; - } - - /** - * Sets the Symmetric Cipher Object used in this instance - * - * @param Zend_InfoCard_Cipher_Symmetric_Interface $cipherObj - * @return Zend_InfoCard - */ - public function setSymCipherObject($cipherObj) - { - $this->_symCipherObj = $cipherObj; - return $this; - } - - /** - * Remove a Certificate Pair by Key ID from the search list - * - * @throws Zend_InfoCard_Exception - * @param string $key_id The Certificate Key ID returned from adding the certificate pair - * @return Zend_InfoCard - */ - public function removeCertificatePair($key_id) - { - - if(!key_exists($key_id, $this->_keyPairs)) { - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Attempted to remove unknown key id: $key_id"); - } - - unset($this->_keyPairs[$key_id]); - return $this; - } - - /** - * Add a Certificate Pair to the list of certificates searched by the component - * - * @throws Zend_InfoCard_Exception - * @param string $private_key_file The path to the private key file for the pair - * @param string $public_key_file The path to the certificate / public key for the pair - * @param string $type (optional) The URI for the type of key pair this is (default RSA with OAEP padding) - * @param string $password (optional) The password for the private key file if necessary - * @return string A key ID representing this key pair in the component - */ - public function addCertificatePair($private_key_file, $public_key_file, $type = Zend_InfoCard_Cipher::ENC_RSA_OAEP_MGF1P, $password = null) - { - if(!file_exists($private_key_file) || - !file_exists($public_key_file)) { - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Could not locate the public and private certificate pair files: $private_key_file, $public_key_file"); - } - - if(!is_readable($private_key_file) || - !is_readable($public_key_file)) { - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Could not read the public and private certificate pair files (check permissions): $private_key_file, $public_key_file"); - } - - $key_id = md5($private_key_file.$public_key_file); - - if(key_exists($key_id, $this->_keyPairs)) { - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Attempted to add previously existing certificate pair: $private_key_file, $public_key_file"); - } - - switch($type) { - case Zend_InfoCard_Cipher::ENC_RSA: - case Zend_InfoCard_Cipher::ENC_RSA_OAEP_MGF1P: - $this->_keyPairs[$key_id] = array('private' => $private_key_file, - 'public' => $public_key_file, - 'type_uri' => $type); - - if($password !== null) { - $this->_keyPairs[$key_id]['password'] = $password; - } else { - $this->_keyPairs[$key_id]['password'] = null; - } - - return $key_id; - break; - default: - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Invalid Certificate Pair Type specified: $type"); - } - } - - /** - * Return a Certificate Pair from a key ID - * - * @throws Zend_InfoCard_Exception - * @param string $key_id The Key ID of the certificate pair in the component - * @return array An array containing the path to the private/public key files, - * the type URI and the password if provided - */ - public function getCertificatePair($key_id) - { - if(key_exists($key_id, $this->_keyPairs)) { - return $this->_keyPairs[$key_id]; - } - - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Invalid Certificate Pair ID provided: $key_id"); - } - - /** - * Retrieve the digest of a given public key / certificate using the provided digest - * method - * - * @throws Zend_InfoCard_Exception - * @param string $key_id The certificate key id in the component - * @param string $digestMethod The URI of the digest method to use (default SHA1) - * @return string The digest value in binary format - */ - protected function _getPublicKeyDigest($key_id, $digestMethod = self::DIGEST_SHA1) - { - $certificatePair = $this->getCertificatePair($key_id); - - $temp = file($certificatePair['public']); - unset($temp[count($temp)-1]); - unset($temp[0]); - $certificateData = base64_decode(implode("\n", $temp)); - - switch($digestMethod) { - case self::DIGEST_SHA1: - $digest_retval = sha1($certificateData, true); - break; - default: - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Invalid Digest Type Provided: $digestMethod"); - } - - return $digest_retval; - } - - /** - * Find a certificate pair based on a digest of its public key / certificate file - * - * @param string $digest The digest value of the public key wanted in binary form - * @param string $digestMethod The URI of the digest method used to calculate the digest - * @return mixed The Key ID of the matching certificate pair or false if not found - */ - protected function _findCertifiatePairByDigest($digest, $digestMethod = self::DIGEST_SHA1) - { - - foreach($this->_keyPairs as $key_id => $certificate_data) { - - $cert_digest = $this->_getPublicKeyDigest($key_id, $digestMethod); - - if($cert_digest == $digest) { - return $key_id; - } - } - - return false; - } - - /** - * Extracts the Signed Token from an EncryptedData block - * - * @throws Zend_InfoCard_Exception - * @param string $strXmlToken The EncryptedData XML block - * @return string The XML of the Signed Token inside of the EncryptedData block - */ - protected function _extractSignedToken($strXmlToken) - { - $encryptedData = Zend_InfoCard_Xml_EncryptedData::getInstance($strXmlToken); - - // Determine the Encryption Method used to encrypt the token - - switch($encryptedData->getEncryptionMethod()) { - case Zend_InfoCard_Cipher::ENC_AES128CBC: - case Zend_InfoCard_Cipher::ENC_AES256CBC: - break; - default: - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Unknown Encryption Method used in the secure token"); - } - - // Figure out the Key we are using to decrypt the token - - $keyinfo = $encryptedData->getKeyInfo(); - - if(!($keyinfo instanceof Zend_InfoCard_Xml_KeyInfo_XmlDSig)) { - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Expected a XML digital signature KeyInfo, but was not found"); - } - - - $encryptedKey = $keyinfo->getEncryptedKey(); - - switch($encryptedKey->getEncryptionMethod()) { - case Zend_InfoCard_Cipher::ENC_RSA: - case Zend_InfoCard_Cipher::ENC_RSA_OAEP_MGF1P: - break; - default: - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Unknown Key Encryption Method used in secure token"); - } - - $securityTokenRef = $encryptedKey->getKeyInfo()->getSecurityTokenReference(); - - $key_id = $this->_findCertifiatePairByDigest($securityTokenRef->getKeyReference()); - - if(!$key_id) { - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Unable to find key pair used to encrypt symmetric InfoCard Key"); - } - - $certificate_pair = $this->getCertificatePair($key_id); - - // Santity Check - - if($certificate_pair['type_uri'] != $encryptedKey->getEncryptionMethod()) { - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Certificate Pair which matches digest is not of same algorithm type as document, check addCertificate()"); - } - - $PKcipher = Zend_InfoCard_Cipher::getInstanceByURI($encryptedKey->getEncryptionMethod()); - - $base64DecodeSupportsStrictParam = version_compare(PHP_VERSION, '5.2.0', '>='); - - if ($base64DecodeSupportsStrictParam) { - $keyCipherValueBase64Decoded = base64_decode($encryptedKey->getCipherValue(), true); - } else { - $keyCipherValueBase64Decoded = base64_decode($encryptedKey->getCipherValue()); - } - - $symmetricKey = $PKcipher->decrypt( - $keyCipherValueBase64Decoded, - file_get_contents($certificate_pair['private']), - $certificate_pair['password'] - ); - - $symCipher = Zend_InfoCard_Cipher::getInstanceByURI($encryptedData->getEncryptionMethod()); - - if ($base64DecodeSupportsStrictParam) { - $dataCipherValueBase64Decoded = base64_decode($encryptedData->getCipherValue(), true); - } else { - $dataCipherValueBase64Decoded = base64_decode($encryptedData->getCipherValue()); - } - - $signedToken = $symCipher->decrypt($dataCipherValueBase64Decoded, $symmetricKey); - - return $signedToken; - } - - /** - * Process an input Infomation Card EncryptedData block sent from the client, - * validate it, and return the claims contained within it on success or an error message on error - * - * @param string $strXmlToken The XML token sent to the server from the client - * @return Zend_Infocard_Claims The Claims object containing the claims, or any errors which occurred - */ - public function process($strXmlToken) - { - - $retval = new Zend_InfoCard_Claims(); - - require_once 'Zend/InfoCard/Exception.php'; - try { - $signedAssertionsXml = $this->_extractSignedToken($strXmlToken); - } catch(Zend_InfoCard_Exception $e) { - $retval->setError('Failed to extract assertion document'); - $retval->setCode(Zend_InfoCard_Claims::RESULT_PROCESSING_FAILURE); - return $retval; - } - - try { - $assertions = Zend_InfoCard_Xml_Assertion::getInstance($signedAssertionsXml); - } catch(Zend_InfoCard_Exception $e) { - $retval->setError('Failure processing assertion document'); - $retval->setCode(Zend_InfoCard_Claims::RESULT_PROCESSING_FAILURE); - return $retval; - } - - if(!($assertions instanceof Zend_InfoCard_Xml_Assertion_Interface)) { - throw new Zend_InfoCard_Exception("Invalid Assertion Object returned"); - } - - if(!($reference_id = Zend_InfoCard_Xml_Security::validateXMLSignature($assertions->asXML()))) { - $retval->setError("Failure Validating the Signature of the assertion document"); - $retval->setCode(Zend_InfoCard_Claims::RESULT_VALIDATION_FAILURE); - return $retval; - } - - // The reference id should be locally scoped as far as I know - if($reference_id[0] == '#') { - $reference_id = substr($reference_id, 1); - } else { - $retval->setError("Reference of document signature does not reference the local document"); - $retval->setCode(Zend_InfoCard_Claims::RESULT_VALIDATION_FAILURE); - return $retval; - } - - // Make sure the signature is in reference to the same document as the assertions - if($reference_id != $assertions->getAssertionID()) { - $retval->setError("Reference of document signature does not reference the local document"); - $retval->setCode(Zend_InfoCard_Claims::RESULT_VALIDATION_FAILURE); - } - - // Validate we haven't seen this before and the conditions are acceptable - $conditions = $this->getAdapter()->retrieveAssertion($assertions->getAssertionURI(), $assertions->getAssertionID()); - - if($conditions === false) { - $conditions = $assertions->getConditions(); - } - - - if(is_array($condition_error = $assertions->validateConditions($conditions))) { - $retval->setError("Conditions of assertion document are not met: {$condition_error[1]} ({$condition_error[0]})"); - $retval->setCode(Zend_InfoCard_Claims::RESULT_VALIDATION_FAILURE); - } - - $attributes = $assertions->getAttributes(); - - $retval->setClaims($attributes); - - if($retval->getCode() == 0) { - $retval->setCode(Zend_InfoCard_Claims::RESULT_SUCCESS); - } - - return $retval; - } -} diff --git a/lib/zend/Zend/InfoCard/Adapter/Default.php b/lib/zend/Zend/InfoCard/Adapter/Default.php deleted file mode 100644 index fdc679e27e..0000000000 --- a/lib/zend/Zend/InfoCard/Adapter/Default.php +++ /dev/null @@ -1,79 +0,0 @@ -_padding = $padding; - break; - default: - require_once 'Zend/InfoCard/Cipher/Exception.php'; - throw new Zend_InfoCard_Cipher_Exception("Invalid Padding Type Provided"); - break; - } - - return $this; - } - - /** - * Retruns the public-key padding used - * - * @return integer One of the padding constants in this class - */ - public function getPadding() - { - return $this->_padding; - } -} diff --git a/lib/zend/Zend/InfoCard/Cipher/Pki/Adapter/Rsa.php b/lib/zend/Zend/InfoCard/Cipher/Pki/Adapter/Rsa.php deleted file mode 100644 index 02a44c4068..0000000000 --- a/lib/zend/Zend/InfoCard/Cipher/Pki/Adapter/Rsa.php +++ /dev/null @@ -1,120 +0,0 @@ -setPadding($padding); - } - - /** - * Decrypts RSA encrypted data using the given private key - * - * @throws Zend_InfoCard_Cipher_Exception - * @param string $encryptedData The encrypted data in binary format - * @param string $privateKey The private key in binary format - * @param string $password The private key passphrase - * @param integer $padding The padding to use during decryption (of not provided object value will be used) - * @return string The decrypted data - */ - public function decrypt($encryptedData, $privateKey, $password = null, $padding = null) - { - $private_key = openssl_pkey_get_private(array($privateKey, $password)); - - if(!$private_key) { - require_once 'Zend/InfoCard/Cipher/Exception.php'; - throw new Zend_InfoCard_Cipher_Exception("Failed to load private key"); - } - - if($padding !== null) { - try { - $this->setPadding($padding); - } catch(Exception $e) { - openssl_free_key($private_key); - throw $e; - } - } - - switch($this->getPadding()) { - case self::NO_PADDING: - $openssl_padding = OPENSSL_NO_PADDING; - break; - case self::OAEP_PADDING: - $openssl_padding = OPENSSL_PKCS1_OAEP_PADDING; - break; - } - - $result = openssl_private_decrypt($encryptedData, $decryptedData, $private_key, $openssl_padding); - - openssl_free_key($private_key); - - if(!$result) { - require_once 'Zend/InfoCard/Cipher/Exception.php'; - throw new Zend_InfoCard_Cipher_Exception("Unable to Decrypt Value using provided private key"); - } - - if($this->getPadding() == self::NO_PADDING) { - $decryptedData = substr($decryptedData, 2); - $start = strpos($decryptedData, 0) + 1; - $decryptedData = substr($decryptedData, $start); - } - - return $decryptedData; - } -} diff --git a/lib/zend/Zend/InfoCard/Cipher/Pki/Interface.php b/lib/zend/Zend/InfoCard/Cipher/Pki/Interface.php deleted file mode 100644 index 11c03007df..0000000000 --- a/lib/zend/Zend/InfoCard/Cipher/Pki/Interface.php +++ /dev/null @@ -1,33 +0,0 @@ - 0) { - $mcrypt_iv = substr($encryptedData, 0, $iv_length); - $encryptedData = substr($encryptedData, $iv_length); - } - - $decrypted = mcrypt_decrypt(self::MCRYPT_CIPHER, $decryptionKey, $encryptedData, self::MCRYPT_MODE, $mcrypt_iv); - - if(!$decrypted) { - require_once 'Zend/InfoCard/Cipher/Exception.php'; - throw new Zend_InfoCard_Cipher_Exception("Failed to decrypt data using AES256CBC Algorithm"); - } - - $decryptedLength = strlen($decrypted); - $paddingLength = substr($decrypted, $decryptedLength -1, 1); - $decrypted = substr($decrypted, 0, $decryptedLength - ord($paddingLength)); - - return rtrim($decrypted, "\0"); - } -} diff --git a/lib/zend/Zend/InfoCard/Cipher/Symmetric/Aes128cbc/Interface.php b/lib/zend/Zend/InfoCard/Cipher/Symmetric/Aes128cbc/Interface.php deleted file mode 100644 index c183c56479..0000000000 --- a/lib/zend/Zend/InfoCard/Cipher/Symmetric/Aes128cbc/Interface.php +++ /dev/null @@ -1,38 +0,0 @@ -_isValid = true; - return $this; - } - - /** - * Retrieve the PPI (Private Personal Identifier) associated with the information card - * - * @return string the private personal identifier - */ - public function getCardID() - { - return $this->getClaim('http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier'); - } - - /** - * Retrieves the default namespace used in this information card. If a default namespace was not - * set, it figures out which one to consider 'default' by taking the first namespace sorted by use-count - * in claims - * - * @throws Zend_InfoCard_Exception - * @return string The default namespace - */ - public function getDefaultNamespace() - { - if($this->_defaultNamespace === null) { - $namespaces = array(); - $leader = ''; - foreach($this->_claims as $claim) { - if(!isset($namespaces[$claim['namespace']])) { - $namespaces[$claim['namespace']] = 1; - } else { - $namespaces[$claim['namespace']]++; - } - - if(empty($leader) || ($namespaces[$claim['namespace']] > $leader)) { - $leader = $claim['namespace']; - } - } - - if(empty($leader)) { - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Failed to determine default namespace"); - } - - $this->setDefaultNamespace($leader); - } - - return $this->_defaultNamespace; - } - - /** - * Set the default namespace, overriding any existing default - * - * @throws Zend_InfoCard_Exception - * @param string $namespace The default namespace to use - * @return Zend_InfoCard_Claims - */ - public function setDefaultNamespace($namespace) - { - - foreach($this->_claims as $claim) { - if($namespace == $claim['namespace']) { - $this->_defaultNamespace = $namespace; - return $this; - } - } - - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("At least one claim must exist in specified namespace to make it the default namespace"); - } - - /** - * Indicates if this claim object contains validated claims or not - * - * @return bool - */ - public function isValid() - { - return $this->_isValid; - } - - /** - * Set the error message contained within the claims object - * - * @param string $error The error message - * @return Zend_InfoCard_Claims - */ - public function setError($error) - { - $this->_error = $error; - $this->_isValid = false; - return $this; - } - - /** - * Retrieve the error message contained within the claims object - * - * @return string The error message - */ - public function getErrorMsg() - { - return $this->_error; - } - - /** - * Set the claims for the claims object. Can only be set once and is done - * by the component itself. Internal use only. - * - * @throws Zend_InfoCard_Exception - * @param array $claims - * @return Zend_InfoCard_Claims - */ - public function setClaims(Array $claims) - { - if($this->_claims !== null) { - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Claim objects are read-only"); - } - - $this->_claims = $claims; - return $this; - } - - /** - * Set the result code of the claims object. - * - * @throws Zend_InfoCard_Exception - * @param int $code The result code - * @return Zend_InfoCard_Claims - */ - public function setCode($code) - { - switch($code) { - case self::RESULT_PROCESSING_FAILURE: - case self::RESULT_SUCCESS: - case self::RESULT_VALIDATION_FAILURE: - $this->_code = $code; - return $this; - } - - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Attempted to set unknown error code"); - } - - /** - * Gets the result code of the claims object - * - * @return integer The result code - */ - public function getCode() - { - return $this->_code; - } - - /** - * Get a claim by providing its complete claim URI - * - * @param string $claimURI The complete claim URI to retrieve - * @return mixed The claim matching that specific URI or null if not found - */ - public function getClaim($claimURI) - { - if($this->claimExists($claimURI)) { - return $this->_claims[$claimURI]['value']; - } - - return null; - } - - /** - * Indicates if a specific claim URI exists or not within the object - * - * @param string $claimURI The complete claim URI to check - * @return bool true if the claim exists, false if not found - */ - public function claimExists($claimURI) - { - return isset($this->_claims[$claimURI]); - } - - /** - * Magic helper function - * @throws Zend_InfoCard_Exception - */ - public function __unset($k) - { - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Claim objects are read-only"); - } - - /** - * Magic helper function - */ - public function __isset($k) - { - return $this->claimExists("{$this->getDefaultNamespace()}/$k"); - } - - /** - * Magic helper function - */ - public function __get($k) - { - return $this->getClaim("{$this->getDefaultNamespace()}/$k"); - } - - /** - * Magic helper function - * @throws Zend_InfoCard_Exception - */ - public function __set($k, $v) - { - require_once 'Zend/InfoCard/Exception.php'; - throw new Zend_InfoCard_Exception("Claim objects are read-only"); - } -} diff --git a/lib/zend/Zend/InfoCard/Exception.php b/lib/zend/Zend/InfoCard/Exception.php deleted file mode 100644 index ff662d5cf4..0000000000 --- a/lib/zend/Zend/InfoCard/Exception.php +++ /dev/null @@ -1,43 +0,0 @@ -asXML(); - } else if (is_string($xmlData)) { - $strXmlData = $xmlData; - } else { - require_once 'Zend/InfoCard/Xml/Exception.php'; - throw new Zend_InfoCard_Xml_Exception("Invalid Data provided to create instance"); - } - - $sxe = simplexml_load_string($strXmlData); - - $namespaces = $sxe->getDocNameSpaces(); - - foreach($namespaces as $namespace) { - switch($namespace) { - case self::TYPE_SAML: - include_once 'Zend/InfoCard/Xml/Assertion/Saml.php'; - return simplexml_load_string($strXmlData, 'Zend_InfoCard_Xml_Assertion_Saml', null); - } - } - - require_once 'Zend/InfoCard/Xml/Exception.php'; - throw new Zend_InfoCard_Xml_Exception("Unable to determine Assertion type by Namespace"); - } -} diff --git a/lib/zend/Zend/InfoCard/Xml/Assertion/Interface.php b/lib/zend/Zend/InfoCard/Xml/Assertion/Interface.php deleted file mode 100644 index 6e79abdbde..0000000000 --- a/lib/zend/Zend/InfoCard/Xml/Assertion/Interface.php +++ /dev/null @@ -1,69 +0,0 @@ - $conditionValue) { - switch(strtolower($condition)) { - case 'audiencerestrictioncondition': - - $serverName = $this->_getServerName(); - $serverPort = $this->_getServerPort(); - - $self_aliases[] = $serverName; - $self_aliases[] = "{{$serverName}:{$serverPort}"; - - $found = false; - if(is_array($conditionValue)) { - foreach($conditionValue as $audience) { - - list(,,$audience) = explode('/', $audience); - if(in_array($audience, $self_aliases)) { - $found = true; - break; - } - } - } - - if(!$found) { - return array($condition, 'Could not find self in allowed audience list'); - } - - break; - case 'notbefore': - $notbeforetime = strtotime($conditionValue); - - if($currentTime < $notbeforetime) { - if($currentTime + self::CONDITION_TIME_ADJ < $notbeforetime) { - return array($condition, 'Current time is before specified window'); - } - } - - break; - case 'notonorafter': - $notonoraftertime = strtotime($conditionValue); - - if($currentTime >= $notonoraftertime) { - if($currentTime - self::CONDITION_TIME_ADJ >= $notonoraftertime) { - return array($condition, 'Current time is after specified window'); - } - } - - break; - - } - } - } - return true; - } - - /** - * Get the Assertion URI for this type of Assertion - * - * @return string the Assertion URI - */ - public function getAssertionURI() - { - return Zend_InfoCard_Xml_Assertion::TYPE_SAML; - } - - /** - * Get the Major Version of the SAML Assertion - * - * @return integer The major version number - */ - public function getMajorVersion() - { - return (int)(string)$this['MajorVersion']; - } - - /** - * The Minor Version of the SAML Assertion - * - * @return integer The minor version number - */ - public function getMinorVersion() - { - return (int)(string)$this['MinorVersion']; - } - - /** - * Get the Assertion ID of the assertion - * - * @return string The Assertion ID - */ - public function getAssertionID() - { - return (string)$this['AssertionID']; - } - - /** - * Get the Issuer URI of the assertion - * - * @return string the URI of the assertion Issuer - */ - public function getIssuer() - { - return (string)$this['Issuer']; - } - - /** - * Get the Timestamp of when the assertion was issued - * - * @return integer a UNIX timestamp representing when the assertion was issued - */ - public function getIssuedTimestamp() - { - return strtotime((string)$this['IssueInstant']); - } - - /** - * Return an array of conditions which the assertions are predicated on - * - * @throws Zend_InfoCard_Xml_Exception - * @return array an array of conditions - */ - public function getConditions() - { - - list($conditions) = $this->xpath("//saml:Conditions"); - - if(!($conditions instanceof Zend_InfoCard_Xml_Element)) { - throw new Zend_InfoCard_Xml_Exception("Unable to find the saml:Conditions block"); - } - - $retval = array(); - - foreach($conditions->children('urn:oasis:names:tc:SAML:1.0:assertion') as $key => $value) { - switch($key) { - case self::CONDITION_AUDIENCE: - foreach($value->children('urn:oasis:names:tc:SAML:1.0:assertion') as $audience_key => $audience_value) { - if($audience_key == 'Audience') { - $retval[$key][] = (string)$audience_value; - } - } - break; - } - } - - $retval['NotBefore'] = (string)$conditions['NotBefore']; - $retval['NotOnOrAfter'] = (string)$conditions['NotOnOrAfter']; - - return $retval; - } - - /** - * Get they KeyInfo element for the Subject KeyInfo block - * - * @todo Not Yet Implemented - * @ignore - */ - public function getSubjectKeyInfo() - { - /** - * @todo Not sure if this is part of the scope for now.. - */ - - if($this->getConfirmationMethod() == self::CONFIRMATION_BEARER) { - throw new Zend_InfoCard_Xml_Exception("Cannot get Subject Key Info when Confirmation Method was Bearer"); - } - } - - /** - * Return the Confirmation Method URI used in the Assertion - * - * @return string The confirmation method URI - */ - public function getConfirmationMethod() - { - list($confirmation) = $this->xPath("//saml:ConfirmationMethod"); - return (string)$confirmation; - } - - /** - * Return an array of attributes (claims) contained within the assertion - * - * @return array An array of attributes / claims within the assertion - */ - public function getAttributes() - { - $attributes = $this->xPath('//saml:Attribute'); - - $retval = array(); - foreach($attributes as $key => $value) { - - $retkey = (string)$value['AttributeNamespace'].'/'.(string)$value['AttributeName']; - - $retval[$retkey]['name'] = (string)$value['AttributeName']; - $retval[$retkey]['namespace'] = (string)$value['AttributeNamespace']; - - list($aValue) = $value->children('urn:oasis:names:tc:SAML:1.0:assertion'); - $retval[$retkey]['value'] = (string)$aValue; - } - - return $retval; - } -} diff --git a/lib/zend/Zend/InfoCard/Xml/Element.php b/lib/zend/Zend/InfoCard/Xml/Element.php deleted file mode 100644 index 4781d5d624..0000000000 --- a/lib/zend/Zend/InfoCard/Xml/Element.php +++ /dev/null @@ -1,107 +0,0 @@ -asXML(); - } - - /** - * Converts an XML Element object into a DOM object - * - * @throws Zend_InfoCard_Xml_Exception - * @param Zend_InfoCard_Xml_Element $e The object to convert - * @return DOMElement A DOMElement representation of the same object - */ - static public function convertToDOM(Zend_InfoCard_Xml_Element $e) - { - $dom = dom_import_simplexml($e); - - if(!($dom instanceof DOMElement)) { - // Zend_InfoCard_Xml_Element exntes SimpleXMLElement, so this should *never* fail - // @codeCoverageIgnoreStart - require_once 'Zend/InfoCard/Xml/Exception.php'; - throw new Zend_InfoCard_Xml_Exception("Failed to convert between SimpleXML and DOM"); - // @codeCoverageIgnoreEnd - } - - return $dom; - } - - /** - * Converts a DOMElement object into the specific class - * - * @throws Zend_InfoCard_Xml_Exception - * @param DOMElement $e The DOMElement object to convert - * @param string $classname The name of the class to convert it to (must inhert from Zend_InfoCard_Xml_Element) - * @return Zend_InfoCard_Xml_Element a Xml Element object from the DOM element - */ - static public function convertToObject(DOMElement $e, $classname) - { - if (!class_exists($classname)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($classname); - } - - $reflection = new ReflectionClass($classname); - - if(!$reflection->isSubclassOf('Zend_InfoCard_Xml_Element')) { - require_once 'Zend/InfoCard/Xml/Exception.php'; - throw new Zend_InfoCard_Xml_Exception("DOM element must be converted to an instance of Zend_InfoCard_Xml_Element"); - } - - $sxe = simplexml_import_dom($e, $classname); - - if(!($sxe instanceof Zend_InfoCard_Xml_Element)) { - // Since we just checked to see if this was a subclass of Zend_infoCard_Xml_Element this shoudl never fail - // @codeCoverageIgnoreStart - require_once 'Zend/InfoCard/Xml/Exception.php'; - throw new Zend_InfoCard_Xml_Exception("Failed to convert between DOM and SimpleXML"); - // @codeCoverageIgnoreEnd - } - - return $sxe; - } -} diff --git a/lib/zend/Zend/InfoCard/Xml/Element/Interface.php b/lib/zend/Zend/InfoCard/Xml/Element/Interface.php deleted file mode 100644 index b9beef798b..0000000000 --- a/lib/zend/Zend/InfoCard/Xml/Element/Interface.php +++ /dev/null @@ -1,44 +0,0 @@ -asXML(); - } else if (is_string($xmlData)) { - $strXmlData = $xmlData; - } else { - require_once 'Zend/InfoCard/Xml/Exception.php'; - throw new Zend_InfoCard_Xml_Exception("Invalid Data provided to create instance"); - } - - $sxe = simplexml_load_string($strXmlData); - - switch($sxe['Type']) { - case 'http://www.w3.org/2001/04/xmlenc#Element': - include_once 'Zend/InfoCard/Xml/EncryptedData/XmlEnc.php'; - return simplexml_load_string($strXmlData, 'Zend_InfoCard_Xml_EncryptedData_XmlEnc'); - default: - require_once 'Zend/InfoCard/Xml/Exception.php'; - throw new Zend_InfoCard_Xml_Exception("Unknown EncryptedData type found"); - break; - } - } -} diff --git a/lib/zend/Zend/InfoCard/Xml/EncryptedData/Abstract.php b/lib/zend/Zend/InfoCard/Xml/EncryptedData/Abstract.php deleted file mode 100644 index b481a619e9..0000000000 --- a/lib/zend/Zend/InfoCard/Xml/EncryptedData/Abstract.php +++ /dev/null @@ -1,92 +0,0 @@ -KeyInfo[0]); - } - - /** - * Return the Encryption method used to encrypt the assertion document - * (the symmetric cipher) - * - * @throws Zend_InfoCard_Xml_Exception - * @return string The URI of the Symmetric Encryption Method used - */ - public function getEncryptionMethod() - { - - /** - * @todo This is pretty hacky unless we can always be confident that the first - * EncryptionMethod block is the correct one (the AES or compariable symetric algorithm).. - * the second is the PK method if provided. - */ - list($encryption_method) = $this->xpath("//enc:EncryptionMethod"); - - if(!($encryption_method instanceof Zend_InfoCard_Xml_Element)) { - throw new Zend_InfoCard_Xml_Exception("Unable to find the enc:EncryptionMethod symmetric encryption block"); - } - - $dom = self::convertToDOM($encryption_method); - - if(!$dom->hasAttribute('Algorithm')) { - throw new Zend_InfoCard_Xml_Exception("Unable to determine the encryption algorithm in the Symmetric enc:EncryptionMethod XML block"); - } - - return $dom->getAttribute('Algorithm'); - } - - /** - * Returns the value of the encrypted block - * - * @return string the value of the encrypted CipherValue block - */ - abstract function getCipherValue(); -} diff --git a/lib/zend/Zend/InfoCard/Xml/EncryptedData/XmlEnc.php b/lib/zend/Zend/InfoCard/Xml/EncryptedData/XmlEnc.php deleted file mode 100644 index 55c41d0274..0000000000 --- a/lib/zend/Zend/InfoCard/Xml/EncryptedData/XmlEnc.php +++ /dev/null @@ -1,64 +0,0 @@ -registerXPathNamespace('enc', 'http://www.w3.org/2001/04/xmlenc#'); - - list(,$cipherdata) = $this->xpath("//enc:CipherData"); - - if(!($cipherdata instanceof Zend_InfoCard_Xml_Element)) { - throw new Zend_InfoCard_Xml_Exception("Unable to find the enc:CipherData block"); - } - - list(,$ciphervalue) = $cipherdata->xpath("//enc:CipherValue"); - - if(!($ciphervalue instanceof Zend_InfoCard_Xml_Element)) { - throw new Zend_InfoCard_Xml_Exception("Unable to fidn the enc:CipherValue block"); - } - - return (string)$ciphervalue; - } -} diff --git a/lib/zend/Zend/InfoCard/Xml/EncryptedKey.php b/lib/zend/Zend/InfoCard/Xml/EncryptedKey.php deleted file mode 100644 index 6aa1e16331..0000000000 --- a/lib/zend/Zend/InfoCard/Xml/EncryptedKey.php +++ /dev/null @@ -1,174 +0,0 @@ -asXML(); - } else if (is_string($xmlData)) { - $strXmlData = $xmlData; - } else { - throw new Zend_InfoCard_Xml_Exception("Invalid Data provided to create instance"); - } - - $sxe = simplexml_load_string($strXmlData); - - if($sxe->getName() != "EncryptedKey") { - throw new Zend_InfoCard_Xml_Exception("Invalid XML Block provided for EncryptedKey"); - } - - return simplexml_load_string($strXmlData, "Zend_InfoCard_Xml_EncryptedKey"); - } - - /** - * Returns the Encyption Method Algorithm URI of the block - * - * @throws Zend_InfoCard_Xml_Exception - * @return string the Encryption method algorithm URI - */ - public function getEncryptionMethod() - { - - $this->registerXPathNamespace('e', 'http://www.w3.org/2001/04/xmlenc#'); - list($encryption_method) = $this->xpath("//e:EncryptionMethod"); - - if(!($encryption_method instanceof Zend_InfoCard_Xml_Element)) { - throw new Zend_InfoCard_Xml_Exception("Unable to find the e:EncryptionMethod KeyInfo encryption block"); - } - - $dom = self::convertToDOM($encryption_method); - - if(!$dom->hasAttribute('Algorithm')) { - throw new Zend_InfoCard_Xml_Exception("Unable to determine the encryption algorithm in the Symmetric enc:EncryptionMethod XML block"); - } - - return $dom->getAttribute('Algorithm'); - - } - - /** - * Returns the Digest Method Algorithm URI used - * - * @throws Zend_InfoCard_Xml_Exception - * @return string the Digest Method Algorithm URI - */ - public function getDigestMethod() - { - $this->registerXPathNamespace('e', 'http://www.w3.org/2001/04/xmlenc#'); - list($encryption_method) = $this->xpath("//e:EncryptionMethod"); - - if(!($encryption_method instanceof Zend_InfoCard_Xml_Element)) { - throw new Zend_InfoCard_Xml_Exception("Unable to find the e:EncryptionMethod KeyInfo encryption block"); - } - - if(!($encryption_method->DigestMethod instanceof Zend_InfoCard_Xml_Element)) { - throw new Zend_InfoCard_Xml_Exception("Unable to find the DigestMethod block"); - } - - $dom = self::convertToDOM($encryption_method->DigestMethod); - - if(!$dom->hasAttribute('Algorithm')) { - throw new Zend_InfoCard_Xml_Exception("Unable to determine the digest algorithm for the symmetric Keyinfo"); - } - - return $dom->getAttribute('Algorithm'); - - } - - /** - * Returns the KeyInfo block object - * - * @throws Zend_InfoCard_Xml_Exception - * @return Zend_InfoCard_Xml_KeyInfo_Abstract - */ - public function getKeyInfo() - { - - if(isset($this->KeyInfo)) { - return Zend_InfoCard_Xml_KeyInfo::getInstance($this->KeyInfo); - } - - throw new Zend_InfoCard_Xml_Exception("Unable to locate a KeyInfo block"); - } - - /** - * Return the encrypted value of the block in base64 format - * - * @throws Zend_InfoCard_Xml_Exception - * @return string The Value of the CipherValue block in base64 format - */ - public function getCipherValue() - { - - $this->registerXPathNamespace('e', 'http://www.w3.org/2001/04/xmlenc#'); - - list($cipherdata) = $this->xpath("//e:CipherData"); - - if(!($cipherdata instanceof Zend_InfoCard_Xml_Element)) { - throw new Zend_InfoCard_Xml_Exception("Unable to find the e:CipherData block"); - } - - $cipherdata->registerXPathNameSpace('enc', 'http://www.w3.org/2001/04/xmlenc#'); - list($ciphervalue) = $cipherdata->xpath("//enc:CipherValue"); - - if(!($ciphervalue instanceof Zend_InfoCard_Xml_Element)) { - throw new Zend_InfoCard_Xml_Exception("Unable to fidn the enc:CipherValue block"); - } - - return (string)$ciphervalue; - } -} diff --git a/lib/zend/Zend/InfoCard/Xml/Exception.php b/lib/zend/Zend/InfoCard/Xml/Exception.php deleted file mode 100644 index a3312157a3..0000000000 --- a/lib/zend/Zend/InfoCard/Xml/Exception.php +++ /dev/null @@ -1,37 +0,0 @@ -asXML(); - } else if (is_string($xmlData)) { - $strXmlData = $xmlData; - } else { - throw new Zend_InfoCard_Xml_Exception("Invalid Data provided to create instance"); - } - - $sxe = simplexml_load_string($strXmlData); - - $namespaces = $sxe->getDocNameSpaces(); - - if(!empty($namespaces)) { - foreach($sxe->getDocNameSpaces() as $namespace) { - switch($namespace) { - case 'http://www.w3.org/2000/09/xmldsig#': - include_once 'Zend/InfoCard/Xml/KeyInfo/XmlDSig.php'; - return simplexml_load_string($strXmlData, 'Zend_InfoCard_Xml_KeyInfo_XmlDSig'); - default: - - throw new Zend_InfoCard_Xml_Exception("Unknown KeyInfo Namespace provided"); - // We are ignoring these lines, as XDebug reports each as a "non executed" line - // which breaks my coverage % - // @codeCoverageIgnoreStart - } - } - } - // @codeCoverageIgnoreEnd - - include_once 'Zend/InfoCard/Xml/KeyInfo/Default.php'; - return simplexml_load_string($strXmlData, 'Zend_InfoCard_Xml_KeyInfo_Default'); - } -} diff --git a/lib/zend/Zend/InfoCard/Xml/KeyInfo/Abstract.php b/lib/zend/Zend/InfoCard/Xml/KeyInfo/Abstract.php deleted file mode 100644 index 0d978a6d20..0000000000 --- a/lib/zend/Zend/InfoCard/Xml/KeyInfo/Abstract.php +++ /dev/null @@ -1,37 +0,0 @@ - block which doesn't provide a namespace - * In this context, it is assumed to mean that it is the type of KeyInfo block which - * contains the SecurityTokenReference - * - * @category Zend - * @package Zend_InfoCard - * @subpackage Zend_InfoCard_Xml - * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - */ -class Zend_InfoCard_Xml_KeyInfo_Default extends Zend_InfoCard_Xml_KeyInfo_Abstract -{ - /** - * Returns the object representation of the SecurityTokenReference block - * - * @throws Zend_InfoCard_Xml_Exception - * @return Zend_InfoCard_Xml_SecurityTokenReference - */ - public function getSecurityTokenReference() - { - $this->registerXPathNamespace('o', 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd'); - - list($sectokenref) = $this->xpath('//o:SecurityTokenReference'); - - if(!($sectokenref instanceof Zend_InfoCard_Xml_Element)) { - throw new Zend_InfoCard_Xml_Exception('Could not locate the Security Token Reference'); - } - - return Zend_InfoCard_Xml_SecurityTokenReference::getInstance($sectokenref); - } -} diff --git a/lib/zend/Zend/InfoCard/Xml/KeyInfo/Interface.php b/lib/zend/Zend/InfoCard/Xml/KeyInfo/Interface.php deleted file mode 100644 index 0fb9d44d84..0000000000 --- a/lib/zend/Zend/InfoCard/Xml/KeyInfo/Interface.php +++ /dev/null @@ -1,38 +0,0 @@ -registerXPathNamespace('e', 'http://www.w3.org/2001/04/xmlenc#'); - list($encryptedkey) = $this->xpath('//e:EncryptedKey'); - - if(!($encryptedkey instanceof Zend_InfoCard_Xml_Element)) { - throw new Zend_InfoCard_Xml_Exception("Failed to retrieve encrypted key"); - } - - return Zend_InfoCard_Xml_EncryptedKey::getInstance($encryptedkey); - } - - /** - * Returns the KeyInfo Block within the encrypted key - * - * @return Zend_InfoCard_Xml_KeyInfo_Default - */ - public function getKeyInfo() - { - return $this->getEncryptedKey()->getKeyInfo(); - } -} diff --git a/lib/zend/Zend/InfoCard/Xml/Security.php b/lib/zend/Zend/InfoCard/Xml/Security.php deleted file mode 100644 index 0c66ba9a9a..0000000000 --- a/lib/zend/Zend/InfoCard/Xml/Security.php +++ /dev/null @@ -1,305 +0,0 @@ -Signature)) { - require_once 'Zend/InfoCard/Xml/Security/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Exception("Could not identify XML Signature element"); - } - - if(!isset($sxe->Signature->SignedInfo)) { - require_once 'Zend/InfoCard/Xml/Security/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Exception("Signature is missing a SignedInfo block"); - } - - if(!isset($sxe->Signature->SignatureValue)) { - require_once 'Zend/InfoCard/Xml/Security/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Exception("Signature is missing a SignatureValue block"); - } - - if(!isset($sxe->Signature->KeyInfo)) { - require_once 'Zend/InfoCard/Xml/Security/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Exception("Signature is missing a KeyInfo block"); - } - - if(!isset($sxe->Signature->KeyInfo->KeyValue)) { - require_once 'Zend/InfoCard/Xml/Security/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Exception("Signature is missing a KeyValue block"); - } - - switch((string)$sxe->Signature->SignedInfo->CanonicalizationMethod['Algorithm']) { - case self::CANONICAL_METHOD_C14N_EXC: - $cMethod = (string)$sxe->Signature->SignedInfo->CanonicalizationMethod['Algorithm']; - break; - default: - require_once 'Zend/InfoCard/Xml/Security/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Exception("Unknown or unsupported CanonicalizationMethod Requested"); - break; - } - - switch((string)$sxe->Signature->SignedInfo->SignatureMethod['Algorithm']) { - case self::SIGNATURE_METHOD_SHA1: - $sMethod = (string)$sxe->Signature->SignedInfo->SignatureMethod['Algorithm']; - break; - default: - require_once 'Zend/InfoCard/Xml/Security/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Exception("Unknown or unsupported SignatureMethod Requested"); - break; - } - - switch((string)$sxe->Signature->SignedInfo->Reference->DigestMethod['Algorithm']) { - case self::DIGEST_METHOD_SHA1: - $dMethod = (string)$sxe->Signature->SignedInfo->Reference->DigestMethod['Algorithm']; - break; - default: - require_once 'Zend/InfoCard/Xml/Security/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Exception("Unknown or unsupported DigestMethod Requested"); - break; - } - - $base64DecodeSupportsStrictParam = version_compare(PHP_VERSION, '5.2.0', '>='); - - if ($base64DecodeSupportsStrictParam) { - $dValue = base64_decode((string)$sxe->Signature->SignedInfo->Reference->DigestValue, true); - } else { - $dValue = base64_decode((string)$sxe->Signature->SignedInfo->Reference->DigestValue); - } - - if ($base64DecodeSupportsStrictParam) { - $signatureValue = base64_decode((string)$sxe->Signature->SignatureValue, true); - } else { - $signatureValue = base64_decode((string)$sxe->Signature->SignatureValue); - } - - $transformer = new Zend_InfoCard_Xml_Security_Transform(); - - foreach($sxe->Signature->SignedInfo->Reference->Transforms->children() as $transform) { - $transformer->addTransform((string)$transform['Algorithm']); - } - - $transformed_xml = $transformer->applyTransforms($strXMLInput); - - $transformed_xml_binhash = pack("H*", sha1($transformed_xml)); - - if($transformed_xml_binhash != $dValue) { - require_once 'Zend/InfoCard/Xml/Security/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Exception("Locally Transformed XML does not match XML Document. Cannot Verify Signature"); - } - - $public_key = null; - - switch(true) { - case isset($sxe->Signature->KeyInfo->KeyValue->X509Certificate): - - $certificate = (string)$sxe->Signature->KeyInfo->KeyValue->X509Certificate; - - - $pem = "-----BEGIN CERTIFICATE-----\n" . - wordwrap($certificate, 64, "\n", true) . - "\n-----END CERTIFICATE-----"; - - $public_key = openssl_pkey_get_public($pem); - - if(!$public_key) { - require_once 'Zend/InfoCard/Xml/Security/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Exception("Unable to extract and prcoess X509 Certificate from KeyValue"); - } - - break; - case isset($sxe->Signature->KeyInfo->KeyValue->RSAKeyValue): - - if(!isset($sxe->Signature->KeyInfo->KeyValue->RSAKeyValue->Modulus) || - !isset($sxe->Signature->KeyInfo->KeyValue->RSAKeyValue->Exponent)) { - require_once 'Zend/InfoCard/Xml/Security/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Exception("RSA Key Value not in Modulus/Exponent form"); - } - - $modulus = base64_decode((string)$sxe->Signature->KeyInfo->KeyValue->RSAKeyValue->Modulus); - $exponent = base64_decode((string)$sxe->Signature->KeyInfo->KeyValue->RSAKeyValue->Exponent); - - $pem_public_key = self::_getPublicKeyFromModExp($modulus, $exponent); - - $public_key = openssl_pkey_get_public ($pem_public_key); - - break; - default: - require_once 'Zend/InfoCard/Xml/Security/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Exception("Unable to determine or unsupported representation of the KeyValue block"); - } - - $transformer = new Zend_InfoCard_Xml_Security_Transform(); - $transformer->addTransform((string)$sxe->Signature->SignedInfo->CanonicalizationMethod['Algorithm']); - - // The way we are doing our XML processing requires that we specifically add this - // (even though it's in the parent-block).. otherwise, our canonical form - // fails signature verification - $sxe->Signature->SignedInfo->addAttribute('xmlns', 'http://www.w3.org/2000/09/xmldsig#'); - - $canonical_signedinfo = $transformer->applyTransforms($sxe->Signature->SignedInfo->asXML()); - - if(@openssl_verify($canonical_signedinfo, $signatureValue, $public_key)) { - return (string)$sxe->Signature->SignedInfo->Reference['URI']; - } - - return false; - } - - /** - * Transform an RSA Key in Modulus/Exponent format into a PEM encoding and - * return an openssl resource for it - * - * @param string $modulus The RSA Modulus in binary format - * @param string $exponent The RSA exponent in binary format - * @return string The PEM encoded version of the key - */ - static protected function _getPublicKeyFromModExp($modulus, $exponent) - { - $modulusInteger = self::_encodeValue($modulus, self::ASN_TYPE_INTEGER); - $exponentInteger = self::_encodeValue($exponent, self::ASN_TYPE_INTEGER); - $modExpSequence = self::_encodeValue($modulusInteger . $exponentInteger, self::ASN_TYPE_SEQUENCE); - $modExpBitString = self::_encodeValue($modExpSequence, self::ASN_TYPE_BITSTRING); - - $binRsaKeyIdentifier = pack( "H*", self::RSA_KEY_IDENTIFIER ); - - $publicKeySequence = self::_encodeValue($binRsaKeyIdentifier . $modExpBitString, self::ASN_TYPE_SEQUENCE); - - $publicKeyInfoBase64 = base64_encode( $publicKeySequence ); - - $publicKeyString = "-----BEGIN PUBLIC KEY-----\n"; - $publicKeyString .= wordwrap($publicKeyInfoBase64, 64, "\n", true); - $publicKeyString .= "\n-----END PUBLIC KEY-----\n"; - - return $publicKeyString; - } - - /** - * Encode a limited set of data types into ASN.1 encoding format - * which is used in X.509 certificates - * - * @param string $data The data to encode - * @param const $type The encoding format constant - * @return string The encoded value - * @throws Zend_InfoCard_Xml_Security_Exception - */ - static protected function _encodeValue($data, $type) - { - // Null pad some data when we get it (integer values > 128 and bitstrings) - if( (($type == self::ASN_TYPE_INTEGER) && (ord($data) > 0x7f)) || - ($type == self::ASN_TYPE_BITSTRING)) { - $data = "\0$data"; - } - - $len = strlen($data); - - // encode the value based on length of the string - // I'm fairly confident that this is by no means a complete implementation - // but it is enough for our purposes - switch(true) { - case ($len < 128): - return sprintf("%c%c%s", $type, $len, $data); - case ($len < 0x0100): - return sprintf("%c%c%c%s", $type, 0x81, $len, $data); - case ($len < 0x010000): - return sprintf("%c%c%c%c%s", $type, 0x82, $len / 0x0100, $len % 0x0100, $data); - default: - require_once 'Zend/InfoCard/Xml/Security/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Exception("Could not encode value"); - } - - require_once 'Zend/InfoCard/Xml/Security/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Exception("Invalid code path"); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/InfoCard/Xml/Security/Exception.php b/lib/zend/Zend/InfoCard/Xml/Security/Exception.php deleted file mode 100644 index 2274ecbcce..0000000000 --- a/lib/zend/Zend/InfoCard/Xml/Security/Exception.php +++ /dev/null @@ -1,37 +0,0 @@ -_findClassbyURI($uri); - - $this->_transformList[] = array('uri' => $uri, - 'class' => $class); - return $this; - } - - /** - * Return the list of transforms to perform - * - * @return array The list of transforms - */ - public function getTransformList() - { - return $this->_transformList; - } - - /** - * Apply the transforms in the transform list to the input XML document - * - * @param string $strXmlDocument The input XML - * @return string The XML after the transformations have been applied - */ - public function applyTransforms($strXmlDocument) - { - foreach($this->_transformList as $transform) { - if (!class_exists($transform['class'])) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($transform['class']); - } - - $transformer = new $transform['class']; - - // We can't really test this check because it would require logic changes in the component itself - // @codeCoverageIgnoreStart - if(!($transformer instanceof Zend_InfoCard_Xml_Security_Transform_Interface)) { - require_once 'Zend/InfoCard/Xml/Security/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Exception("Transforms must implement the Transform Interface"); - } - // @codeCoverageIgnoreEnd - - $strXmlDocument = $transformer->transform($strXmlDocument); - } - - return $strXmlDocument; - } -} diff --git a/lib/zend/Zend/InfoCard/Xml/Security/Transform/EnvelopedSignature.php b/lib/zend/Zend/InfoCard/Xml/Security/Transform/EnvelopedSignature.php deleted file mode 100644 index 7f5eb52478..0000000000 --- a/lib/zend/Zend/InfoCard/Xml/Security/Transform/EnvelopedSignature.php +++ /dev/null @@ -1,60 +0,0 @@ -Signature) { - require_once 'Zend/InfoCard/Xml/Security/Transform/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Transform_Exception("Unable to locate Signature Block for EnvelopedSignature Transform"); - } - - unset($sxe->Signature); - - return $sxe->asXML(); - } -} diff --git a/lib/zend/Zend/InfoCard/Xml/Security/Transform/Exception.php b/lib/zend/Zend/InfoCard/Xml/Security/Transform/Exception.php deleted file mode 100644 index c30a3c87c6..0000000000 --- a/lib/zend/Zend/InfoCard/Xml/Security/Transform/Exception.php +++ /dev/null @@ -1,37 +0,0 @@ -loadXML($strXMLData); - - if(method_exists($dom, 'C14N')) { - return $dom->C14N(true, false); - } - - require_once 'Zend/InfoCard/Xml/Security/Transform/Exception.php'; - throw new Zend_InfoCard_Xml_Security_Transform_Exception("This transform requires the C14N() method to exist in the DOM extension"); - } -} diff --git a/lib/zend/Zend/InfoCard/Xml/SecurityTokenReference.php b/lib/zend/Zend/InfoCard/Xml/SecurityTokenReference.php deleted file mode 100644 index 9b74757bae..0000000000 --- a/lib/zend/Zend/InfoCard/Xml/SecurityTokenReference.php +++ /dev/null @@ -1,173 +0,0 @@ -asXML(); - } else if (is_string($xmlData)) { - $strXmlData = $xmlData; - } else { - throw new Zend_InfoCard_Xml_Exception("Invalid Data provided to create instance"); - } - - $sxe = simplexml_load_string($strXmlData); - - if($sxe->getName() != "SecurityTokenReference") { - throw new Zend_InfoCard_Xml_Exception("Invalid XML Block provided for SecurityTokenReference"); - } - - return simplexml_load_string($strXmlData, "Zend_InfoCard_Xml_SecurityTokenReference"); - } - - /** - * Return the Key Identifier XML Object - * - * @return Zend_InfoCard_Xml_Element - * @throws Zend_InfoCard_Xml_Exception - */ - protected function _getKeyIdentifier() - { - $this->registerXPathNamespace('o', 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd'); - list($keyident) = $this->xpath('//o:KeyIdentifier'); - - if(!($keyident instanceof Zend_InfoCard_Xml_Element)) { - throw new Zend_InfoCard_Xml_Exception("Failed to retrieve Key Identifier"); - } - - return $keyident; - } - - /** - * Return the Key URI identifying the thumbprint type used - * - * @return string The thumbprint type URI - * @throws Zend_InfoCard_Xml_Exception - */ - public function getKeyThumbprintType() - { - - $keyident = $this->_getKeyIdentifier(); - - $dom = self::convertToDOM($keyident); - - if(!$dom->hasAttribute('ValueType')) { - throw new Zend_InfoCard_Xml_Exception("Key Identifier did not provide a type for the value"); - } - - return $dom->getAttribute('ValueType'); - } - - - /** - * Return the thumbprint encoding type used as a URI - * - * @return string the URI of the thumbprint encoding used - * @throws Zend_InfoCard_Xml_Exception - */ - public function getKeyThumbprintEncodingType() - { - - $keyident = $this->_getKeyIdentifier(); - - $dom = self::convertToDOM($keyident); - - if(!$dom->hasAttribute('EncodingType')) { - throw new Zend_InfoCard_Xml_Exception("Unable to determine the encoding type for the key identifier"); - } - - return $dom->getAttribute('EncodingType'); - } - - /** - * Get the key reference data used to identify the public key - * - * @param bool $decode if true, will return a decoded version of the key - * @return string the key reference thumbprint, either in binary or encoded form - * @throws Zend_InfoCard_Xml_Exception - */ - public function getKeyReference($decode = true) - { - $keyIdentifier = $this->_getKeyIdentifier(); - - $dom = self::convertToDOM($keyIdentifier); - $encoded = $dom->nodeValue; - - if(empty($encoded)) { - throw new Zend_InfoCard_Xml_Exception("Could not find the Key Reference Encoded Value"); - } - - if($decode) { - - $decoded = ""; - switch($this->getKeyThumbprintEncodingType()) { - case self::ENCODING_BASE64BIN: - - if(version_compare(PHP_VERSION, "5.2.0", ">=")) { - $decoded = base64_decode($encoded, true); - } else { - $decoded = base64_decode($encoded); - } - - break; - default: - throw new Zend_InfoCard_Xml_Exception("Unknown Key Reference Encoding Type: {$this->getKeyThumbprintEncodingType()}"); - } - - if(!$decoded || empty($decoded)) { - throw new Zend_InfoCard_Xml_Exception("Failed to decode key reference"); - } - - return $decoded; - } - - return $encoded; - } -} diff --git a/lib/zend/Zend/Json.php b/lib/zend/Zend/Json.php deleted file mode 100644 index c3197d10a4..0000000000 --- a/lib/zend/Zend/Json.php +++ /dev/null @@ -1,339 +0,0 @@ -toJson(); - } - - // Pre-encoding look for Zend_Json_Expr objects and replacing by tmp ids - $javascriptExpressions = array(); - if(isset($options['enableJsonExprFinder']) - && ($options['enableJsonExprFinder'] == true) - ) { - /** - * @see Zend_Json_Encoder - */ - require_once "Zend/Json/Encoder.php"; - $valueToEncode = self::_recursiveJsonExprFinder($valueToEncode, $javascriptExpressions); - } - - // Encoding - if (function_exists('json_encode') && self::$useBuiltinEncoderDecoder !== true) { - $encodedResult = json_encode($valueToEncode); - } else { - require_once 'Zend/Json/Encoder.php'; - $encodedResult = Zend_Json_Encoder::encode($valueToEncode, $cycleCheck, $options); - } - - //only do post-proccessing to revert back the Zend_Json_Expr if any. - if (count($javascriptExpressions) > 0) { - $count = count($javascriptExpressions); - for($i = 0; $i < $count; $i++) { - $magicKey = $javascriptExpressions[$i]['magicKey']; - $value = $javascriptExpressions[$i]['value']; - - $encodedResult = str_replace( - //instead of replacing "key:magicKey", we replace directly magicKey by value because "key" never changes. - '"' . $magicKey . '"', - $value, - $encodedResult - ); - } - } - - return $encodedResult; - } - - /** - * Check & Replace Zend_Json_Expr for tmp ids in the valueToEncode - * - * Check if the value is a Zend_Json_Expr, and if replace its value - * with a magic key and save the javascript expression in an array. - * - * NOTE this method is recursive. - * - * NOTE: This method is used internally by the encode method. - * - * @see encode - * @param mixed $valueToCheck a string - object property to be encoded - * @return void - */ - protected static function _recursiveJsonExprFinder( - &$value, array &$javascriptExpressions, $currentKey = null - ) { - if ($value instanceof Zend_Json_Expr) { - // TODO: Optimize with ascii keys, if performance is bad - $magicKey = "____" . $currentKey . "_" . (count($javascriptExpressions)); - $javascriptExpressions[] = array( - - //if currentKey is integer, encodeUnicodeString call is not required. - "magicKey" => (is_int($currentKey)) ? $magicKey : Zend_Json_Encoder::encodeUnicodeString($magicKey), - "value" => $value->__toString(), - ); - $value = $magicKey; - } elseif (is_array($value)) { - foreach ($value as $k => $v) { - $value[$k] = self::_recursiveJsonExprFinder($value[$k], $javascriptExpressions, $k); - } - } elseif (is_object($value)) { - foreach ($value as $k => $v) { - $value->$k = self::_recursiveJsonExprFinder($value->$k, $javascriptExpressions, $k); - } - } - return $value; - } - - /** - * fromXml - Converts XML to JSON - * - * Converts a XML formatted string into a JSON formatted string. - * The value returned will be a string in JSON format. - * - * The caller of this function needs to provide only the first parameter, - * which is an XML formatted String. The second parameter is optional, which - * lets the user to select if the XML attributes in the input XML string - * should be included or ignored in xml2json conversion. - * - * This function converts the XML formatted string into a PHP array by - * calling a recursive (protected static) function in this class. Then, it - * converts that PHP array into JSON by calling the "encode" static funcion. - * - * Throws a Zend_Json_Exception if the input not a XML formatted string. - * NOTE: Encoding native javascript expressions via Zend_Json_Expr is not possible. - * - * @static - * @access public - * @param string $xmlStringContents XML String to be converted - * @param boolean $ignoreXmlAttributes Include or exclude XML attributes in - * the xml2json conversion process. - * @return mixed - JSON formatted string on success - * @throws Zend_Json_Exception - */ - public static function fromXml ($xmlStringContents, $ignoreXmlAttributes=true) { - // Load the XML formatted string into a Simple XML Element object. - $simpleXmlElementObject = simplexml_load_string($xmlStringContents); - - // If it is not a valid XML content, throw an exception. - if ($simpleXmlElementObject == null) { - require_once 'Zend/Json/Exception.php'; - throw new Zend_Json_Exception('Function fromXml was called with an invalid XML formatted string.'); - } // End of if ($simpleXmlElementObject == null) - - $resultArray = null; - - // Call the recursive function to convert the XML into a PHP array. - $resultArray = self::_processXml($simpleXmlElementObject, $ignoreXmlAttributes); - - // Convert the PHP array to JSON using Zend_Json encode method. - // It is just that simple. - $jsonStringOutput = self::encode($resultArray); - return($jsonStringOutput); - } // End of function fromXml. - - /** - * _processXml - Contains the logic for xml2json - * - * The logic in this function is a recursive one. - * - * The main caller of this function (i.e. fromXml) needs to provide - * only the first two parameters i.e. the SimpleXMLElement object and - * the flag for ignoring or not ignoring XML attributes. The third parameter - * will be used internally within this function during the recursive calls. - * - * This function converts the SimpleXMLElement object into a PHP array by - * calling a recursive (protected static) function in this class. Once all - * the XML elements are stored in the PHP array, it is returned to the caller. - * - * Throws a Zend_Json_Exception if the XML tree is deeper than the allowed limit. - * - * @static - * @access protected - * @param SimpleXMLElement $simpleXmlElementObject XML element to be converted - * @param boolean $ignoreXmlAttributes Include or exclude XML attributes in - * the xml2json conversion process. - * @param int $recursionDepth Current recursion depth of this function - * @return mixed - On success, a PHP associative array of traversed XML elements - * @throws Zend_Json_Exception - */ - protected static function _processXml ($simpleXmlElementObject, $ignoreXmlAttributes, $recursionDepth=0) { - // Keep an eye on how deeply we are involved in recursion. - if ($recursionDepth > self::$maxRecursionDepthAllowed) { - // XML tree is too deep. Exit now by throwing an exception. - require_once 'Zend/Json/Exception.php'; - throw new Zend_Json_Exception( - "Function _processXml exceeded the allowed recursion depth of " . - self::$maxRecursionDepthAllowed); - } // End of if ($recursionDepth > self::$maxRecursionDepthAllowed) - - if ($recursionDepth == 0) { - // Store the original SimpleXmlElementObject sent by the caller. - // We will need it at the very end when we return from here for good. - $callerProvidedSimpleXmlElementObject = $simpleXmlElementObject; - } // End of if ($recursionDepth == 0) - - if ($simpleXmlElementObject instanceof SimpleXMLElement) { - // Get a copy of the simpleXmlElementObject - $copyOfSimpleXmlElementObject = $simpleXmlElementObject; - // Get the object variables in the SimpleXmlElement object for us to iterate. - $simpleXmlElementObject = get_object_vars($simpleXmlElementObject); - } // End of if (get_class($simpleXmlElementObject) == "SimpleXMLElement") - - // It needs to be an array of object variables. - if (is_array($simpleXmlElementObject)) { - // Initialize a result array. - $resultArray = array(); - // Is the input array size 0? Then, we reached the rare CDATA text if any. - if (count($simpleXmlElementObject) <= 0) { - // Let us return the lonely CDATA. It could even be - // an empty element or just filled with whitespaces. - return (trim(strval($copyOfSimpleXmlElementObject))); - } // End of if (count($simpleXmlElementObject) <= 0) - - // Let us walk through the child elements now. - foreach($simpleXmlElementObject as $key=>$value) { - // Check if we need to ignore the XML attributes. - // If yes, you can skip processing the XML attributes. - // Otherwise, add the XML attributes to the result array. - if(($ignoreXmlAttributes == true) && (is_string($key)) && ($key == "@attributes")) { - continue; - } // End of if(($ignoreXmlAttributes == true) && ($key == "@attributes")) - - // Let us recursively process the current XML element we just visited. - // Increase the recursion depth by one. - $recursionDepth++; - $resultArray[$key] = self::_processXml ($value, $ignoreXmlAttributes, $recursionDepth); - - // Decrease the recursion depth by one. - $recursionDepth--; - } // End of foreach($simpleXmlElementObject as $key=>$value) { - - if ($recursionDepth == 0) { - // That is it. We are heading to the exit now. - // Set the XML root element name as the root [top-level] key of - // the associative array that we are going to return to the original - // caller of this recursive function. - $tempArray = $resultArray; - $resultArray = array(); - $resultArray[$callerProvidedSimpleXmlElementObject->getName()] = $tempArray; - } // End of if ($recursionDepth == 0) - - return($resultArray); - } else { - // We are now looking at either the XML attribute text or - // the text between the XML tags. - - // In order to allow Zend_Json_Expr from xml, we check if the node - // matchs the pattern that try to detect if it is a new Zend_Json_Expr - // if it matches, we return a new Zend_Json_Expr instead of a text node - $pattern = '/^[\s]*new Zend_Json_Expr[\s]*\([\s]*[\"\']{1}(.*)[\"\']{1}[\s]*\)[\s]*$/'; - $matchings = array(); - $match = preg_match ($pattern, $simpleXmlElementObject, $matchings); - if ($match) { - return new Zend_Json_Expr($matchings[1]); - } else { - return (trim(strval($simpleXmlElementObject))); - } - - } // End of if (is_array($simpleXmlElementObject)) - } // End of function _processXml. -} diff --git a/lib/zend/Zend/Json/Decoder.php b/lib/zend/Zend/Json/Decoder.php deleted file mode 100644 index 321d180df2..0000000000 --- a/lib/zend/Zend/Json/Decoder.php +++ /dev/null @@ -1,578 +0,0 @@ -_source = self::decodeUnicodeString($source); - $this->_sourceLength = strlen($this->_source); - $this->_token = self::EOF; - $this->_offset = 0; - - // Normalize and set $decodeType - if (!in_array($decodeType, array(Zend_Json::TYPE_ARRAY, Zend_Json::TYPE_OBJECT))) - { - $decodeType = Zend_Json::TYPE_ARRAY; - } - $this->_decodeType = $decodeType; - - // Set pointer at first token - $this->_getNextToken(); - } - - /** - * Decode a JSON source string - * - * Decodes a JSON encoded string. The value returned will be one of the - * following: - * - integer - * - float - * - boolean - * - null - * - StdClass - * - array - * - array of one or more of the above types - * - * By default, decoded objects will be returned as associative arrays; to - * return a StdClass object instead, pass {@link Zend_Json::TYPE_OBJECT} to - * the $objectDecodeType parameter. - * - * Throws a Zend_Json_Exception if the source string is null. - * - * @static - * @access public - * @param string $source String to be decoded - * @param int $objectDecodeType How objects should be decoded; should be - * either or {@link Zend_Json::TYPE_ARRAY} or - * {@link Zend_Json::TYPE_OBJECT}; defaults to TYPE_ARRAY - * @return mixed - * @throws Zend_Json_Exception - */ - public static function decode($source = null, $objectDecodeType = Zend_Json::TYPE_ARRAY) - { - if (null === $source) { - require_once 'Zend/Json/Exception.php'; - throw new Zend_Json_Exception('Must specify JSON encoded source for decoding'); - } elseif (!is_string($source)) { - require_once 'Zend/Json/Exception.php'; - throw new Zend_Json_Exception('Can only decode JSON encoded strings'); - } - - $decoder = new self($source, $objectDecodeType); - - return $decoder->_decodeValue(); - } - - - /** - * Recursive driving rountine for supported toplevel tops - * - * @return mixed - */ - protected function _decodeValue() - { - switch ($this->_token) { - case self::DATUM: - $result = $this->_tokenValue; - $this->_getNextToken(); - return($result); - break; - case self::LBRACE: - return($this->_decodeObject()); - break; - case self::LBRACKET: - return($this->_decodeArray()); - break; - default: - return null; - break; - } - } - - /** - * Decodes an object of the form: - * { "attribute: value, "attribute2" : value,...} - * - * If Zend_Json_Encoder was used to encode the original object then - * a special attribute called __className which specifies a class - * name that should wrap the data contained within the encoded source. - * - * Decodes to either an array or StdClass object, based on the value of - * {@link $_decodeType}. If invalid $_decodeType present, returns as an - * array. - * - * @return array|StdClass - */ - protected function _decodeObject() - { - $members = array(); - $tok = $this->_getNextToken(); - - while ($tok && $tok != self::RBRACE) { - if ($tok != self::DATUM || ! is_string($this->_tokenValue)) { - require_once 'Zend/Json/Exception.php'; - throw new Zend_Json_Exception('Missing key in object encoding: ' . $this->_source); - } - - $key = $this->_tokenValue; - $tok = $this->_getNextToken(); - - if ($tok != self::COLON) { - require_once 'Zend/Json/Exception.php'; - throw new Zend_Json_Exception('Missing ":" in object encoding: ' . $this->_source); - } - - $tok = $this->_getNextToken(); - $members[$key] = $this->_decodeValue(); - $tok = $this->_token; - - if ($tok == self::RBRACE) { - break; - } - - if ($tok != self::COMMA) { - require_once 'Zend/Json/Exception.php'; - throw new Zend_Json_Exception('Missing "," in object encoding: ' . $this->_source); - } - - $tok = $this->_getNextToken(); - } - - switch ($this->_decodeType) { - case Zend_Json::TYPE_OBJECT: - // Create new StdClass and populate with $members - $result = new StdClass(); - foreach ($members as $key => $value) { - $result->$key = $value; - } - break; - case Zend_Json::TYPE_ARRAY: - default: - $result = $members; - break; - } - - $this->_getNextToken(); - return $result; - } - - /** - * Decodes a JSON array format: - * [element, element2,...,elementN] - * - * @return array - */ - protected function _decodeArray() - { - $result = array(); - $starttok = $tok = $this->_getNextToken(); // Move past the '[' - $index = 0; - - while ($tok && $tok != self::RBRACKET) { - $result[$index++] = $this->_decodeValue(); - - $tok = $this->_token; - - if ($tok == self::RBRACKET || !$tok) { - break; - } - - if ($tok != self::COMMA) { - require_once 'Zend/Json/Exception.php'; - throw new Zend_Json_Exception('Missing "," in array encoding: ' . $this->_source); - } - - $tok = $this->_getNextToken(); - } - - $this->_getNextToken(); - return($result); - } - - - /** - * Removes whitepsace characters from the source input - */ - protected function _eatWhitespace() - { - if (preg_match( - '/([\t\b\f\n\r ])*/s', - $this->_source, - $matches, - PREG_OFFSET_CAPTURE, - $this->_offset) - && $matches[0][1] == $this->_offset) - { - $this->_offset += strlen($matches[0][0]); - } - } - - - /** - * Retrieves the next token from the source stream - * - * @return int Token constant value specified in class definition - */ - protected function _getNextToken() - { - $this->_token = self::EOF; - $this->_tokenValue = null; - $this->_eatWhitespace(); - - if ($this->_offset >= $this->_sourceLength) { - return(self::EOF); - } - - $str = $this->_source; - $str_length = $this->_sourceLength; - $i = $this->_offset; - $start = $i; - - switch ($str{$i}) { - case '{': - $this->_token = self::LBRACE; - break; - case '}': - $this->_token = self::RBRACE; - break; - case '[': - $this->_token = self::LBRACKET; - break; - case ']': - $this->_token = self::RBRACKET; - break; - case ',': - $this->_token = self::COMMA; - break; - case ':': - $this->_token = self::COLON; - break; - case '"': - $result = ''; - do { - $i++; - if ($i >= $str_length) { - break; - } - - $chr = $str{$i}; - - if ($chr == '\\') { - $i++; - if ($i >= $str_length) { - break; - } - $chr = $str{$i}; - switch ($chr) { - case '"' : - $result .= '"'; - break; - case '\\': - $result .= '\\'; - break; - case '/' : - $result .= '/'; - break; - case 'b' : - $result .= chr(8); - break; - case 'f' : - $result .= chr(12); - break; - case 'n' : - $result .= chr(10); - break; - case 'r' : - $result .= chr(13); - break; - case 't' : - $result .= chr(9); - break; - case '\'' : - $result .= '\''; - break; - default: - require_once 'Zend/Json/Exception.php'; - throw new Zend_Json_Exception("Illegal escape " - . "sequence '" . $chr . "'"); - } - } elseif($chr == '"') { - break; - } else { - $result .= $chr; - } - } while ($i < $str_length); - - $this->_token = self::DATUM; - //$this->_tokenValue = substr($str, $start + 1, $i - $start - 1); - $this->_tokenValue = $result; - break; - case 't': - if (($i+ 3) < $str_length && substr($str, $start, 4) == "true") { - $this->_token = self::DATUM; - } - $this->_tokenValue = true; - $i += 3; - break; - case 'f': - if (($i+ 4) < $str_length && substr($str, $start, 5) == "false") { - $this->_token = self::DATUM; - } - $this->_tokenValue = false; - $i += 4; - break; - case 'n': - if (($i+ 3) < $str_length && substr($str, $start, 4) == "null") { - $this->_token = self::DATUM; - } - $this->_tokenValue = NULL; - $i += 3; - break; - } - - if ($this->_token != self::EOF) { - $this->_offset = $i + 1; // Consume the last token character - return($this->_token); - } - - $chr = $str{$i}; - if ($chr == '-' || $chr == '.' || ($chr >= '0' && $chr <= '9')) { - if (preg_match('/-?([0-9])*(\.[0-9]*)?((e|E)((-|\+)?)[0-9]+)?/s', - $str, $matches, PREG_OFFSET_CAPTURE, $start) && $matches[0][1] == $start) { - - $datum = $matches[0][0]; - - if (is_numeric($datum)) { - if (preg_match('/^0\d+$/', $datum)) { - require_once 'Zend/Json/Exception.php'; - throw new Zend_Json_Exception("Octal notation not supported by JSON (value: $datum)"); - } else { - $val = intval($datum); - $fVal = floatval($datum); - $this->_tokenValue = ($val == $fVal ? $val : $fVal); - } - } else { - require_once 'Zend/Json/Exception.php'; - throw new Zend_Json_Exception("Illegal number format: $datum"); - } - - $this->_token = self::DATUM; - $this->_offset = $start + strlen($datum); - } - } else { - require_once 'Zend/Json/Exception.php'; - throw new Zend_Json_Exception('Illegal Token'); - } - - return($this->_token); - } - - /** - * Decode Unicode Characters from \u0000 ASCII syntax. - * - * This algorithm was originally developed for the - * Solar Framework by Paul M. Jones - * - * @link http://solarphp.com/ - * @link http://svn.solarphp.com/core/trunk/Solar/Json.php - * @param string $value - * @return string - */ - public static function decodeUnicodeString($chrs) - { - $delim = substr($chrs, 0, 1); - $utf8 = ''; - $strlen_chrs = strlen($chrs); - - for($i = 0; $i < $strlen_chrs; $i++) { - - $substr_chrs_c_2 = substr($chrs, $i, 2); - $ord_chrs_c = ord($chrs[$i]); - - switch (true) { - case preg_match('/\\\u[0-9A-F]{4}/i', substr($chrs, $i, 6)): - // single, escaped unicode character - $utf16 = chr(hexdec(substr($chrs, ($i + 2), 2))) - . chr(hexdec(substr($chrs, ($i + 4), 2))); - $utf8 .= self::_utf162utf8($utf16); - $i += 5; - break; - case ($ord_chrs_c >= 0x20) && ($ord_chrs_c <= 0x7F): - $utf8 .= $chrs{$i}; - break; - case ($ord_chrs_c & 0xE0) == 0xC0: - // characters U-00000080 - U-000007FF, mask 110XXXXX - //see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - $utf8 .= substr($chrs, $i, 2); - ++$i; - break; - case ($ord_chrs_c & 0xF0) == 0xE0: - // characters U-00000800 - U-0000FFFF, mask 1110XXXX - // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - $utf8 .= substr($chrs, $i, 3); - $i += 2; - break; - case ($ord_chrs_c & 0xF8) == 0xF0: - // characters U-00010000 - U-001FFFFF, mask 11110XXX - // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - $utf8 .= substr($chrs, $i, 4); - $i += 3; - break; - case ($ord_chrs_c & 0xFC) == 0xF8: - // characters U-00200000 - U-03FFFFFF, mask 111110XX - // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - $utf8 .= substr($chrs, $i, 5); - $i += 4; - break; - case ($ord_chrs_c & 0xFE) == 0xFC: - // characters U-04000000 - U-7FFFFFFF, mask 1111110X - // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - $utf8 .= substr($chrs, $i, 6); - $i += 5; - break; - } - } - - return $utf8; - } - - /** - * Convert a string from one UTF-16 char to one UTF-8 char. - * - * Normally should be handled by mb_convert_encoding, but - * provides a slower PHP-only method for installations - * that lack the multibye string extension. - * - * This method is from the Solar Framework by Paul M. Jones - * - * @link http://solarphp.com - * @param string $utf16 UTF-16 character - * @return string UTF-8 character - */ - protected static function _utf162utf8($utf16) - { - // Check for mb extension otherwise do by hand. - if( function_exists('mb_convert_encoding') ) { - return mb_convert_encoding($utf16, 'UTF-8', 'UTF-16'); - } - - $bytes = (ord($utf16{0}) << 8) | ord($utf16{1}); - - switch (true) { - case ((0x7F & $bytes) == $bytes): - // this case should never be reached, because we are in ASCII range - // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - return chr(0x7F & $bytes); - - case (0x07FF & $bytes) == $bytes: - // return a 2-byte UTF-8 character - // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - return chr(0xC0 | (($bytes >> 6) & 0x1F)) - . chr(0x80 | ($bytes & 0x3F)); - - case (0xFFFF & $bytes) == $bytes: - // return a 3-byte UTF-8 character - // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - return chr(0xE0 | (($bytes >> 12) & 0x0F)) - . chr(0x80 | (($bytes >> 6) & 0x3F)) - . chr(0x80 | ($bytes & 0x3F)); - } - - // ignoring UTF-32 for now, sorry - return ''; - } -} - diff --git a/lib/zend/Zend/Json/Encoder.php b/lib/zend/Zend/Json/Encoder.php deleted file mode 100644 index 8df375e618..0000000000 --- a/lib/zend/Zend/Json/Encoder.php +++ /dev/null @@ -1,574 +0,0 @@ -_cycleCheck = $cycleCheck; - $this->_options = $options; - } - - /** - * Use the JSON encoding scheme for the value specified - * - * @param mixed $value The value to be encoded - * @param boolean $cycleCheck Whether or not to check for possible object recursion when encoding - * @param array $options Additional options used during encoding - * @return string The encoded value - */ - public static function encode($value, $cycleCheck = false, $options = array()) - { - $encoder = new self(($cycleCheck) ? true : false, $options); - - return $encoder->_encodeValue($value); - } - - /** - * Recursive driver which determines the type of value to be encoded - * and then dispatches to the appropriate method. $values are either - * - objects (returns from {@link _encodeObject()}) - * - arrays (returns from {@link _encodeArray()}) - * - basic datums (e.g. numbers or strings) (returns from {@link _encodeDatum()}) - * - * @param $value mixed The value to be encoded - * @return string Encoded value - */ - protected function _encodeValue(&$value) - { - if (is_object($value)) { - return $this->_encodeObject($value); - } else if (is_array($value)) { - return $this->_encodeArray($value); - } - - return $this->_encodeDatum($value); - } - - - - /** - * Encode an object to JSON by encoding each of the public properties - * - * A special property is added to the JSON object called '__className' - * that contains the name of the class of $value. This is used to decode - * the object on the client into a specific class. - * - * @param $value object - * @return string - * @throws Zend_Json_Exception If recursive checks are enabled and the object has been serialized previously - */ - protected function _encodeObject(&$value) - { - if ($this->_cycleCheck) { - if ($this->_wasVisited($value)) { - - if (isset($this->_options['silenceCyclicalExceptions']) - && $this->_options['silenceCyclicalExceptions']===true) { - - return '"* RECURSION (' . get_class($value) . ') *"'; - - } else { - require_once 'Zend/Json/Exception.php'; - throw new Zend_Json_Exception( - 'Cycles not supported in JSON encoding, cycle introduced by ' - . 'class "' . get_class($value) . '"' - ); - } - } - - $this->_visited[] = $value; - } - - $props = ''; - - if ($value instanceof Iterator) { - $propCollection = $value; - } else { - $propCollection = get_object_vars($value); - } - - foreach ($propCollection as $name => $propValue) { - if (isset($propValue)) { - $props .= ',' - . $this->_encodeValue($name) - . ':' - . $this->_encodeValue($propValue); - } - } - - return '{"__className":"' . get_class($value) . '"' - . $props . '}'; - } - - - /** - * Determine if an object has been serialized already - * - * @param mixed $value - * @return boolean - */ - protected function _wasVisited(&$value) - { - if (in_array($value, $this->_visited, true)) { - return true; - } - - return false; - } - - - /** - * JSON encode an array value - * - * Recursively encodes each value of an array and returns a JSON encoded - * array string. - * - * Arrays are defined as integer-indexed arrays starting at index 0, where - * the last index is (count($array) -1); any deviation from that is - * considered an associative array, and will be encoded as such. - * - * @param $array array - * @return string - */ - protected function _encodeArray(&$array) - { - $tmpArray = array(); - - // Check for associative array - if (!empty($array) && (array_keys($array) !== range(0, count($array) - 1))) { - // Associative array - $result = '{'; - foreach ($array as $key => $value) { - $key = (string) $key; - $tmpArray[] = $this->_encodeString($key) - . ':' - . $this->_encodeValue($value); - } - $result .= implode(',', $tmpArray); - $result .= '}'; - } else { - // Indexed array - $result = '['; - $length = count($array); - for ($i = 0; $i < $length; $i++) { - $tmpArray[] = $this->_encodeValue($array[$i]); - } - $result .= implode(',', $tmpArray); - $result .= ']'; - } - - return $result; - } - - - /** - * JSON encode a basic data type (string, number, boolean, null) - * - * If value type is not a string, number, boolean, or null, the string - * 'null' is returned. - * - * @param $value mixed - * @return string - */ - protected function _encodeDatum(&$value) - { - $result = 'null'; - - if (is_int($value) || is_float($value)) { - $result = (string) $value; - $result = str_replace(",", ".", $result); - } elseif (is_string($value)) { - $result = $this->_encodeString($value); - } elseif (is_bool($value)) { - $result = $value ? 'true' : 'false'; - } - - return $result; - } - - - /** - * JSON encode a string value by escaping characters as necessary - * - * @param $value string - * @return string - */ - protected function _encodeString(&$string) - { - // Escape these characters with a backslash: - // " \ / \n \r \t \b \f - $search = array('\\', "\n", "\t", "\r", "\b", "\f", '"'); - $replace = array('\\\\', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'); - $string = str_replace($search, $replace, $string); - - // Escape certain ASCII characters: - // 0x08 => \b - // 0x0c => \f - $string = str_replace(array(chr(0x08), chr(0x0C)), array('\b', '\f'), $string); - $string = self::encodeUnicodeString($string); - - return '"' . $string . '"'; - } - - - /** - * Encode the constants associated with the ReflectionClass - * parameter. The encoding format is based on the class2 format - * - * @param $cls ReflectionClass - * @return string Encoded constant block in class2 format - */ - private static function _encodeConstants(ReflectionClass $cls) - { - $result = "constants : {"; - $constants = $cls->getConstants(); - - $tmpArray = array(); - if (!empty($constants)) { - foreach ($constants as $key => $value) { - $tmpArray[] = "$key: " . self::encode($value); - } - - $result .= implode(', ', $tmpArray); - } - - return $result . "}"; - } - - - /** - * Encode the public methods of the ReflectionClass in the - * class2 format - * - * @param $cls ReflectionClass - * @return string Encoded method fragment - * - */ - private static function _encodeMethods(ReflectionClass $cls) - { - $methods = $cls->getMethods(); - $result = 'methods:{'; - - $started = false; - foreach ($methods as $method) { - if (! $method->isPublic() || !$method->isUserDefined()) { - continue; - } - - if ($started) { - $result .= ','; - } - $started = true; - - $result .= '' . $method->getName(). ':function('; - - if ('__construct' != $method->getName()) { - $parameters = $method->getParameters(); - $paramCount = count($parameters); - $argsStarted = false; - - $argNames = "var argNames=["; - foreach ($parameters as $param) { - if ($argsStarted) { - $result .= ','; - } - - $result .= $param->getName(); - - if ($argsStarted) { - $argNames .= ','; - } - - $argNames .= '"' . $param->getName() . '"'; - - $argsStarted = true; - } - $argNames .= "];"; - - $result .= "){" - . $argNames - . 'var result = ZAjaxEngine.invokeRemoteMethod(' - . "this, '" . $method->getName() - . "',argNames,arguments);" - . 'return(result);}'; - } else { - $result .= "){}"; - } - } - - return $result . "}"; - } - - - /** - * Encode the public properties of the ReflectionClass in the class2 - * format. - * - * @param $cls ReflectionClass - * @return string Encode properties list - * - */ - private static function _encodeVariables(ReflectionClass $cls) - { - $properties = $cls->getProperties(); - $propValues = get_class_vars($cls->getName()); - $result = "variables:{"; - $cnt = 0; - - $tmpArray = array(); - foreach ($properties as $prop) { - if (! $prop->isPublic()) { - continue; - } - - $tmpArray[] = $prop->getName() - . ':' - . self::encode($propValues[$prop->getName()]); - } - $result .= implode(',', $tmpArray); - - return $result . "}"; - } - - /** - * Encodes the given $className into the class2 model of encoding PHP - * classes into JavaScript class2 classes. - * NOTE: Currently only public methods and variables are proxied onto - * the client machine - * - * @param $className string The name of the class, the class must be - * instantiable using a null constructor - * @param $package string Optional package name appended to JavaScript - * proxy class name - * @return string The class2 (JavaScript) encoding of the class - * @throws Zend_Json_Exception - */ - public static function encodeClass($className, $package = '') - { - $cls = new ReflectionClass($className); - if (! $cls->isInstantiable()) { - require_once 'Zend/Json/Exception.php'; - throw new Zend_Json_Exception("$className must be instantiable"); - } - - return "Class.create('$package$className',{" - . self::_encodeConstants($cls) ."," - . self::_encodeMethods($cls) ."," - . self::_encodeVariables($cls) .'});'; - } - - - /** - * Encode several classes at once - * - * Returns JSON encoded classes, using {@link encodeClass()}. - * - * @param array $classNames - * @param string $package - * @return string - */ - public static function encodeClasses(array $classNames, $package = '') - { - $result = ''; - foreach ($classNames as $className) { - $result .= self::encodeClass($className, $package); - } - - return $result; - } - - /** - * Encode Unicode Characters to \u0000 ASCII syntax. - * - * This algorithm was originally developed for the - * Solar Framework by Paul M. Jones - * - * @link http://solarphp.com/ - * @link http://svn.solarphp.com/core/trunk/Solar/Json.php - * @param string $value - * @return string - */ - public static function encodeUnicodeString($value) - { - $strlen_var = strlen($value); - $ascii = ""; - - /** - * Iterate over every character in the string, - * escaping with a slash or encoding to UTF-8 where necessary - */ - for($i = 0; $i < $strlen_var; $i++) { - $ord_var_c = ord($value[$i]); - - switch (true) { - case (($ord_var_c >= 0x20) && ($ord_var_c <= 0x7F)): - // characters U-00000000 - U-0000007F (same as ASCII) - $ascii .= $value[$i]; - break; - - case (($ord_var_c & 0xE0) == 0xC0): - // characters U-00000080 - U-000007FF, mask 110XXXXX - // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - $char = pack('C*', $ord_var_c, ord($value[$i + 1])); - $i += 1; - $utf16 = self::_utf82utf16($char); - $ascii .= sprintf('\u%04s', bin2hex($utf16)); - break; - - case (($ord_var_c & 0xF0) == 0xE0): - // characters U-00000800 - U-0000FFFF, mask 1110XXXX - // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - $char = pack('C*', $ord_var_c, - ord($value[$i + 1]), - ord($value[$i + 2])); - $i += 2; - $utf16 = self::_utf82utf16($char); - $ascii .= sprintf('\u%04s', bin2hex($utf16)); - break; - - case (($ord_var_c & 0xF8) == 0xF0): - // characters U-00010000 - U-001FFFFF, mask 11110XXX - // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - $char = pack('C*', $ord_var_c, - ord($value[$i + 1]), - ord($value[$i + 2]), - ord($value[$i + 3])); - $i += 3; - $utf16 = self::_utf82utf16($char); - $ascii .= sprintf('\u%04s', bin2hex($utf16)); - break; - - case (($ord_var_c & 0xFC) == 0xF8): - // characters U-00200000 - U-03FFFFFF, mask 111110XX - // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - $char = pack('C*', $ord_var_c, - ord($value[$i + 1]), - ord($value[$i + 2]), - ord($value[$i + 3]), - ord($value[$i + 4])); - $i += 4; - $utf16 = self::_utf82utf16($char); - $ascii .= sprintf('\u%04s', bin2hex($utf16)); - break; - - case (($ord_var_c & 0xFE) == 0xFC): - // characters U-04000000 - U-7FFFFFFF, mask 1111110X - // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - $char = pack('C*', $ord_var_c, - ord($value[$i + 1]), - ord($value[$i + 2]), - ord($value[$i + 3]), - ord($value[$i + 4]), - ord($value[$i + 5])); - $i += 5; - $utf16 = self::_utf82utf16($char); - $ascii .= sprintf('\u%04s', bin2hex($utf16)); - break; - } - } - - return $ascii; - } - - /** - * Convert a string from one UTF-8 char to one UTF-16 char. - * - * Normally should be handled by mb_convert_encoding, but - * provides a slower PHP-only method for installations - * that lack the multibye string extension. - * - * This method is from the Solar Framework by Paul M. Jones - * - * @link http://solarphp.com - * @param string $utf8 UTF-8 character - * @return string UTF-16 character - */ - protected static function _utf82utf16($utf8) - { - // Check for mb extension otherwise do by hand. - if( function_exists('mb_convert_encoding') ) { - return mb_convert_encoding($utf8, 'UTF-16', 'UTF-8'); - } - - switch (strlen($utf8)) { - case 1: - // this case should never be reached, because we are in ASCII range - // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - return $utf8; - - case 2: - // return a UTF-16 character from a 2-byte UTF-8 char - // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - return chr(0x07 & (ord($utf8{0}) >> 2)) - . chr((0xC0 & (ord($utf8{0}) << 6)) - | (0x3F & ord($utf8{1}))); - - case 3: - // return a UTF-16 character from a 3-byte UTF-8 char - // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - return chr((0xF0 & (ord($utf8{0}) << 4)) - | (0x0F & (ord($utf8{1}) >> 2))) - . chr((0xC0 & (ord($utf8{1}) << 6)) - | (0x7F & ord($utf8{2}))); - } - - // ignoring UTF-32 for now, sorry - return ''; - } -} - diff --git a/lib/zend/Zend/Json/Exception.php b/lib/zend/Zend/Json/Exception.php deleted file mode 100644 index 3f4578ce4f..0000000000 --- a/lib/zend/Zend/Json/Exception.php +++ /dev/null @@ -1,37 +0,0 @@ - - * $foo = array( - * 'integer' =>9, - * 'string' =>'test string', - * 'function' => Zend_Json_Expr( - * 'function(){ window.alert("javascript function encoded by Zend_Json") }' - * ), - * ); - * - * Zend_Json::encode($foo, false, array('enableJsonExprFinder' => true)); - * // it will returns json encoded string: - * // {"integer":9,"string":"test string","function":function(){window.alert("javascript function encoded by Zend_Json")}} - * - * - * @category Zend - * @package Zend_Json - * @subpackage Expr - * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - */ -class Zend_Json_Expr -{ - /** - * Storage for javascript expression. - * - * @var string - */ - protected $_expression; - - /** - * Constructor - * - * @param string $expression the expression to hold. - * @return void - */ - public function __construct($expression) - { - $this->_expression = (string) $expression; - } - - /** - * Cast to string - * - * @return string holded javascript expression. - */ - public function __toString() - { - return $this->_expression; - } -} diff --git a/lib/zend/Zend/Json/Server.php b/lib/zend/Zend/Json/Server.php deleted file mode 100644 index 67e045a4fb..0000000000 --- a/lib/zend/Zend/Json/Server.php +++ /dev/null @@ -1,538 +0,0 @@ - count($function)))) { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception('Unable to attach function; invalid'); - } - - if (!is_callable($function)) { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception('Unable to attach function; does not exist'); - } - - $argv = null; - if (2 < func_num_args()) { - $argv = func_get_args(); - $argv = array_slice($argv, 2); - } - - require_once 'Zend/Server/Reflection.php'; - if (is_string($function)) { - $method = Zend_Server_Reflection::reflectFunction($function, $argv, $namespace); - } else { - $class = array_shift($function); - $action = array_shift($function); - $reflection = Zend_Server_Reflection::reflectClass($class, $argv, $namespace); - $methods = $reflection->getMethods(); - $found = false; - foreach ($methods as $method) { - if ($action == $method->getName()) { - $found = true; - break; - } - } - if (!$found) { - $this->fault('Method not found', -32601); - return $this; - } - } - - $definition = $this->_buildSignature($method); - $this->_addMethodServiceMap($definition); - - return $this; - } - - /** - * Register a class with the server - * - * @param string $class - * @param string $namespace Ignored - * @param mixed $argv Ignored - * @return Zend_Json_Server - */ - public function setClass($class, $namespace = '', $argv = null) - { - $argv = null; - if (3 < func_num_args()) { - $argv = func_get_args(); - $argv = array_slice($argv, 3); - } - - require_once 'Zend/Server/Reflection.php'; - $reflection = Zend_Server_Reflection::reflectClass($class, $argv, $namespace); - - foreach ($reflection->getMethods() as $method) { - $definition = $this->_buildSignature($method, $class); - $this->_addMethodServiceMap($definition); - } - return $this; - } - - /** - * Indicate fault response - * - * @param string $fault - * @param int $code - * @return false - */ - public function fault($fault = null, $code = 404, $data = null) - { - require_once 'Zend/Json/Server/Error.php'; - $error = new Zend_Json_Server_Error($fault, $code, $data); - $this->getResponse()->setError($error); - return $error; - } - - /** - * Handle request - * - * @param Zend_Json_Server_Request $request - * @return null|Zend_Json_Server_Response - */ - public function handle($request = false) - { - if ((false !== $request) && (!$request instanceof Zend_Json_Server_Request)) { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception('Invalid request type provided; cannot handle'); - } elseif ($request) { - $this->setRequest($request); - } - - // Handle request - $this->_handle(); - - // Get response - $response = $this->_getReadyResponse(); - - // Emit response? - if ($this->autoEmitResponse()) { - echo $response; - return; - } - - // or return it? - return $response; - } - - /** - * Load function definitions - * - * @param array|Zend_Server_Definition $definition - * @return void - */ - public function loadFunctions($definition) - { - if (!is_array($definition) && (!$definition instanceof Zend_Server_Definition)) { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception('Invalid definition provided to loadFunctions()'); - } - - foreach ($definition as $key => $method) { - $this->_table->addMethod($method, $key); - $this->_addMethodServiceMap($method); - } - } - - public function setPersistence($mode) - { - } - - /** - * Set request object - * - * @param Zend_Json_Server_Request $request - * @return Zend_Json_Server - */ - public function setRequest(Zend_Json_Server_Request $request) - { - $this->_request = $request; - return $this; - } - - /** - * Get JSON-RPC request object - * - * @return Zend_Json_Server_Request - */ - public function getRequest() - { - if (null === ($request = $this->_request)) { - require_once 'Zend/Json/Server/Request/Http.php'; - $this->setRequest(new Zend_Json_Server_Request_Http()); - } - return $this->_request; - } - - /** - * Set response object - * - * @param Zend_Json_Server_Response $response - * @return Zend_Json_Server - */ - public function setResponse(Zend_Json_Server_Response $response) - { - $this->_response = $response; - return $this; - } - - /** - * Get response object - * - * @return Zend_Json_Server_Response - */ - public function getResponse() - { - if (null === ($response = $this->_response)) { - require_once 'Zend/Json/Server/Response/Http.php'; - $this->setResponse(new Zend_Json_Server_Response_Http()); - } - return $this->_response; - } - - /** - * Set flag indicating whether or not to auto-emit response - * - * @param bool $flag - * @return Zend_Json_Server - */ - public function setAutoEmitResponse($flag) - { - $this->_autoEmitResponse = (bool) $flag; - return $this; - } - - /** - * Will we auto-emit the response? - * - * @return bool - */ - public function autoEmitResponse() - { - return $this->_autoEmitResponse; - } - - // overloading for SMD metadata - /** - * Overload to accessors of SMD object - * - * @param string $method - * @param array $args - * @return mixed - */ - public function __call($method, $args) - { - if (preg_match('/^(set|get)/', $method, $matches)) { - if (in_array($method, $this->_getSmdMethods())) { - if ('set' == $matches[1]) { - $value = array_shift($args); - $this->getServiceMap()->$method($value); - return $this; - } else { - return $this->getServiceMap()->$method(); - } - } - } - return null; - } - - /** - * Retrieve SMD object - * - * @return Zend_Json_Server_Smd - */ - public function getServiceMap() - { - if (null === $this->_serviceMap) { - require_once 'Zend/Json/Server/Smd.php'; - $this->_serviceMap = new Zend_Json_Server_Smd(); - } - return $this->_serviceMap; - } - - /** - * Add service method to service map - * - * @param Zend_Server_Reflection_Function $method - * @return void - */ - protected function _addMethodServiceMap(Zend_Server_Method_Definition $method) - { - $serviceInfo = array( - 'name' => $method->getName(), - 'return' => $this->_getReturnType($method), - ); - $params = $this->_getParams($method); - $serviceInfo['params'] = $params; - $serviceMap = $this->getServiceMap(); - if (false !== $serviceMap->getService($serviceInfo['name'])) { - $serviceMap->removeService($serviceInfo['name']); - } - $serviceMap->addService($serviceInfo); - } - - /** - * Translate PHP type to JSON type - * - * @param string $type - * @return string - */ - protected function _fixType($type) - { - return $type; - } - - /** - * Get default params from signature - * - * @param array $args - * @param array $params - * @return array - */ - protected function _getDefaultParams(array $args, array $params) - { - $defaultParams = array_slice($params, count($args)); - foreach ($defaultParams as $param) { - $value = null; - if (array_key_exists('default', $param)) { - $value = $param['default']; - } - array_push($args, $value); - } - return $args; - } - - /** - * Get method param type - * - * @param Zend_Server_Reflection_Function_Abstract $method - * @return string|array - */ - protected function _getParams(Zend_Server_Method_Definition $method) - { - $params = array(); - foreach ($method->getPrototypes() as $prototype) { - foreach ($prototype->getParameterObjects() as $key => $parameter) { - if (!isset($params[$key])) { - $params[$key] = array( - 'type' => $parameter->getType(), - 'name' => $parameter->getName(), - 'optional' => $parameter->isOptional(), - ); - if (null !== ($default = $parameter->getDefaultValue())) { - $params[$key]['default'] = $default; - } - $description = $parameter->getDescription(); - if (!empty($description)) { - $params[$key]['description'] = $description; - } - continue; - } - $newType = $parameter->getType(); - if (!is_array($params[$key]['type'])) { - if ($params[$key]['type'] == $newType) { - continue; - } - $params[$key]['type'] = (array) $params[$key]['type']; - } elseif (in_array($newType, $params[$key]['type'])) { - continue; - } - array_push($params[$key]['type'], $parameter->getType()); - } - } - return $params; - } - - /** - * Set response state - * - * @return Zend_Json_Server_Response - */ - protected function _getReadyResponse() - { - $request = $this->getRequest(); - $response = $this->getResponse(); - - $response->setServiceMap($this->getServiceMap()); - if (null !== ($id = $request->getId())) { - $response->setId($id); - } - if (null !== ($version = $request->getVersion())) { - $response->setVersion($version); - } - - return $response; - } - - /** - * Get method return type - * - * @param Zend_Server_Reflection_Function_Abstract $method - * @return string|array - */ - protected function _getReturnType(Zend_Server_Method_Definition $method) - { - $return = array(); - foreach ($method->getPrototypes() as $prototype) { - $return[] = $prototype->getReturnType(); - } - if (1 == count($return)) { - return $return[0]; - } - return $return; - } - - /** - * Retrieve list of allowed SMD methods for proxying - * - * @return array - */ - protected function _getSmdMethods() - { - if (null === $this->_smdMethods) { - $this->_smdMethods = array(); - require_once 'Zend/Json/Server/Smd.php'; - $methods = get_class_methods('Zend_Json_Server_Smd'); - foreach ($methods as $key => $method) { - if (!preg_match('/^(set|get)/', $method)) { - continue; - } - if (strstr($method, 'Service')) { - continue; - } - $this->_smdMethods[] = $method; - } - } - return $this->_smdMethods; - } - - /** - * Internal method for handling request - * - * @return void - */ - protected function _handle() - { - $request = $this->getRequest(); - - if (!$request->isMethodError() && (null === $request->getMethod())) { - return $this->fault('Invalid Request', -32600); - } - - if ($request->isMethodError()) { - return $this->fault('Invalid Request', -32600); - } - - $method = $request->getMethod(); - if (!$this->_table->hasMethod($method)) { - return $this->fault('Method not found', -32601); - } - - $params = $request->getParams(); - $invocable = $this->_table->getMethod($method); - $serviceMap = $this->getServiceMap(); - $service = $serviceMap->getService($method); - $serviceParams = $service->getParams(); - - if (count($params) < count($serviceParams)) { - $params = $this->_getDefaultParams($params, $serviceParams); - } - - try { - $result = $this->_dispatch($invocable, $params); - } catch (Exception $e) { - return $this->fault($e->getMessage(), $e->getCode()); - } - - $this->getResponse()->setResult($result); - } -} diff --git a/lib/zend/Zend/Json/Server/Cache.php b/lib/zend/Zend/Json/Server/Cache.php deleted file mode 100644 index da9945e4cc..0000000000 --- a/lib/zend/Zend/Json/Server/Cache.php +++ /dev/null @@ -1,102 +0,0 @@ -getServiceMap()->toJson())) { - return false; - } - - return true; - } - - /** - * Retrieve a cached SMD - * - * On success, returns the cached SMD (a JSON string); an failure, returns - * boolean false. - * - * @param string $filename - * @return string|false - */ - public static function getSmd($filename) - { - if (!is_string($filename) - || !file_exists($filename) - || !is_readable($filename)) - { - return false; - } - - - if (false === ($smd = @file_get_contents($filename))) { - return false; - } - - return $smd; - } - - /** - * Delete a file containing a cached SMD - * - * @param string $filename - * @return bool - */ - public static function deleteSmd($filename) - { - if (is_string($filename) && file_exists($filename)) { - unlink($filename); - return true; - } - - return false; - } -} diff --git a/lib/zend/Zend/Json/Server/Error.php b/lib/zend/Zend/Json/Server/Error.php deleted file mode 100644 index 9c1b159d7e..0000000000 --- a/lib/zend/Zend/Json/Server/Error.php +++ /dev/null @@ -1,198 +0,0 @@ -setMessage($message) - ->setCode($code) - ->setData($data); - } - - /** - * Set error code - * - * @param int $code - * @return Zend_Json_Server_Error - */ - public function setCode($code) - { - if (!is_scalar($code)) { - return $this; - } - - $code = (int) $code; - if (in_array($code, $this->_allowedCodes)) { - $this->_code = $code; - } elseif (in_array($code, range(-32099, -32000))) { - $this->_code = $code; - } - - return $this; - } - - /** - * Get error code - * - * @return int|null - */ - public function getCode() - { - return $this->_code; - } - - /** - * Set error message - * - * @param string $message - * @return Zend_Json_Server_Error - */ - public function setMessage($message) - { - if (!is_scalar($message)) { - return $this; - } - - $this->_message = (string) $message; - return $this; - } - - /** - * Get error message - * - * @return string - */ - public function getMessage() - { - return $this->_message; - } - - /** - * Set error data - * - * @param mixed $data - * @return Zend_Json_Server_Error - */ - public function setData($data) - { - $this->_data = $data; - return $this; - } - - /** - * Get error data - * - * @return mixed - */ - public function getData() - { - return $this->_data; - } - - /** - * Cast error to array - * - * @return array - */ - public function toArray() - { - return array( - 'code' => $this->getCode(), - 'message' => $this->getMessage(), - 'data' => $this->getData(), - ); - } - - /** - * Cast error to JSON - * - * @return string - */ - public function toJson() - { - require_once 'Zend/Json.php'; - return Zend_Json::encode($this->toArray()); - } - - /** - * Cast to string (JSON) - * - * @return string - */ - public function __toString() - { - return $this->toJson(); - } -} - diff --git a/lib/zend/Zend/Json/Server/Exception.php b/lib/zend/Zend/Json/Server/Exception.php deleted file mode 100644 index 92076c7ddc..0000000000 --- a/lib/zend/Zend/Json/Server/Exception.php +++ /dev/null @@ -1,36 +0,0 @@ - $value) { - $method = 'set' . ucfirst($key); - if (in_array($method, $methods)) { - $this->$method($value); - } elseif ($key == 'jsonrpc') { - $this->setVersion($value); - } - } - return $this; - } - - /** - * Add a parameter to the request - * - * @param mixed $value - * @param string $key - * @return Zend_Json_Server_Request - */ - public function addParam($value, $key = null) - { - if ((null === $key) || !is_string($key)) { - $index = count($this->_params); - $this->_params[$index] = $value; - } else { - $this->_params[$key] = $value; - } - - return $this; - } - - /** - * Add many params - * - * @param array $params - * @return Zend_Json_Server_Request - */ - public function addParams(array $params) - { - foreach ($params as $key => $value) { - $this->addParam($value, $key); - } - return $this; - } - - /** - * Overwrite params - * - * @param array $params - * @return Zend_Json_Server_Request - */ - public function setParams(array $params) - { - $this->_params = array(); - return $this->addParams($params); - } - - /** - * Retrieve param by index or key - * - * @param int|string $index - * @return mixed|null Null when not found - */ - public function getParam($index) - { - if (array_key_exists($index, $this->_params)) { - return $this->_params[$index]; - } - - return null; - } - - /** - * Retrieve parameters - * - * @return array - */ - public function getParams() - { - return $this->_params; - } - - /** - * Set request method - * - * @param string $name - * @return Zend_Json_Server_Request - */ - public function setMethod($name) - { - if (!preg_match($this->_methodRegex, $name)) { - $this->_isMethodError = true; - } else { - $this->_method = $name; - } - return $this; - } - - /** - * Get request method name - * - * @return string - */ - public function getMethod() - { - return $this->_method; - } - - /** - * Was a bad method provided? - * - * @return bool - */ - public function isMethodError() - { - return $this->_isMethodError; - } - - /** - * Set request identifier - * - * @param mixed $name - * @return Zend_Json_Server_Request - */ - public function setId($name) - { - $this->_id = (string) $name; - return $this; - } - - /** - * Retrieve request identifier - * - * @return mixed - */ - public function getId() - { - return $this->_id; - } - - /** - * Set JSON-RPC version - * - * @param string $version - * @return Zend_Json_Server_Request - */ - public function setVersion($version) - { - if ('2.0' == $version) { - $this->_version = '2.0'; - } else { - $this->_version = '1.0'; - } - return $this; - } - - /** - * Retrieve JSON-RPC version - * - * @return string - */ - public function getVersion() - { - return $this->_version; - } - - /** - * Set request state based on JSON - * - * @param string $json - * @return void - */ - public function loadJson($json) - { - require_once 'Zend/Json.php'; - $options = Zend_Json::decode($json); - $this->setOptions($options); - } - - /** - * Cast request to JSON - * - * @return string - */ - public function toJson() - { - $jsonArray = array( - 'method' => $this->getMethod() - ); - if (null !== ($id = $this->getId())) { - $jsonArray['id'] = $id; - } - $params = $this->getParams(); - if (!empty($params)) { - $jsonArray['params'] = $params; - } - if ('2.0' == $this->getVersion()) { - $jsonArray['jsonrpc'] = '2.0'; - } - - require_once 'Zend/Json.php'; - return Zend_Json::encode($jsonArray); - } - - /** - * Cast request to string (JSON) - * - * @return string - */ - public function __toString() - { - return $this->toJson(); - } -} diff --git a/lib/zend/Zend/Json/Server/Request/Http.php b/lib/zend/Zend/Json/Server/Request/Http.php deleted file mode 100644 index 53523f59de..0000000000 --- a/lib/zend/Zend/Json/Server/Request/Http.php +++ /dev/null @@ -1,66 +0,0 @@ -_rawJson = $json; - if (!empty($json)) { - $this->loadJson($json); - } - } - - /** - * Get JSON from raw POST body - * - * @return string - */ - public function getRawJson() - { - return $this->_rawJson; - } -} diff --git a/lib/zend/Zend/Json/Server/Response.php b/lib/zend/Zend/Json/Server/Response.php deleted file mode 100644 index 8f07686656..0000000000 --- a/lib/zend/Zend/Json/Server/Response.php +++ /dev/null @@ -1,248 +0,0 @@ -_result = $value; - return $this; - } - - /** - * Get result - * - * @return mixed - */ - public function getResult() - { - return $this->_result; - } - - // RPC error, if response results in fault - /** - * Set result error - * - * @param Zend_Json_Server_Error $error - * @return Zend_Json_Server_Response - */ - public function setError(Zend_Json_Server_Error $error) - { - $this->_error = $error; - return $this; - } - - /** - * Get response error - * - * @return null|Zend_Json_Server_Error - */ - public function getError() - { - return $this->_error; - } - - /** - * Is the response an error? - * - * @return bool - */ - public function isError() - { - return $this->getError() instanceof Zend_Json_Server_Error; - } - - /** - * Set request ID - * - * @param mixed $name - * @return Zend_Json_Server_Response - */ - public function setId($name) - { - $this->_id = $name; - return $this; - } - - /** - * Get request ID - * - * @return mixed - */ - public function getId() - { - return $this->_id; - } - - /** - * Set JSON-RPC version - * - * @param string $version - * @return Zend_Json_Server_Response - */ - public function setVersion($version) - { - $version = (string) $version; - if ('2.0' == $version) { - $this->_version = '2.0'; - } else { - $this->_version = null; - } - - return $this; - } - - /** - * Retrieve JSON-RPC version - * - * @return string - */ - public function getVersion() - { - return $this->_version; - } - - /** - * Cast to JSON - * - * @return string - */ - public function toJson() - { - if ($this->isError()) { - $response = array( - 'error' => $this->getError()->toArray(), - 'id' => $this->getId(), - ); - } else { - $response = array( - 'result' => $this->getResult(), - 'id' => $this->getId(), - ); - } - - if (null !== ($version = $this->getVersion())) { - $response['jsonrpc'] = $version; - } - - require_once 'Zend/Json.php'; - return Zend_Json::encode($response); - } - - /** - * Retrieve args - * - * @return mixed - */ - public function getArgs() - { - return $this->_args; - } - - /** - * Set args - * - * @param mixed $args - * @return self - */ - public function setArgs($args) - { - $this->_args = $args; - return $this; - } - - /** - * Set service map object - * - * @param Zend_Json_Server_Smd $serviceMap - * @return Zend_Json_Server_Response - */ - public function setServiceMap($serviceMap) - { - $this->_serviceMap = $serviceMap; - return $this; - } - - /** - * Retrieve service map - * - * @return Zend_Json_Server_Smd|null - */ - public function getServiceMap() - { - return $this->_serviceMap; - } - - /** - * Cast to string (JSON) - * - * @return string - */ - public function __toString() - { - return $this->toJson(); - } -} - diff --git a/lib/zend/Zend/Json/Server/Response/Http.php b/lib/zend/Zend/Json/Server/Response/Http.php deleted file mode 100644 index 54dc3b6df3..0000000000 --- a/lib/zend/Zend/Json/Server/Response/Http.php +++ /dev/null @@ -1,81 +0,0 @@ -sendHeaders(); - if (!$this->isError() && null === $this->getId()) { - return ''; - } - - return parent::toJson(); - } - - /** - * Send headers - * - * If headers are already sent, do nothing. If null ID, send HTTP 204 - * header. Otherwise, send content type header based on content type of - * service map. - * - * @return void - */ - public function sendHeaders() - { - if (headers_sent()) { - return; - } - - if (!$this->isError() && (null === $this->getId())) { - header('HTTP/1.1 204 No Content'); - return; - } - - if (null === ($smd = $this->getServiceMap())) { - return; - } - - $contentType = $smd->getContentType(); - if (!empty($contentType)) { - header('Content-Type: ' . $contentType); - } - } -} diff --git a/lib/zend/Zend/Json/Server/Smd.php b/lib/zend/Zend/Json/Server/Smd.php deleted file mode 100644 index 7eefc9112b..0000000000 --- a/lib/zend/Zend/Json/Server/Smd.php +++ /dev/null @@ -1,480 +0,0 @@ - $value) { - $method = 'set' . ucfirst($key); - if (in_array($method, $methods)) { - $this->$method($value); - } - } - return $this; - } - - /** - * Set transport - * - * @param string $transport - * @return Zend_Json_Server_Smd - */ - public function setTransport($transport) - { - if (!in_array($transport, $this->_transportTypes)) { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception(sprintf('Invalid transport "%s" specified', $transport)); - } - $this->_transport = $transport; - return $this; - } - - /** - * Get transport - * - * @return string - */ - public function getTransport() - { - return $this->_transport; - } - - /** - * Set envelope - * - * @param string $envelopeType - * @return Zend_Json_Server_Smd - */ - public function setEnvelope($envelopeType) - { - if (!in_array($envelopeType, $this->_envelopeTypes)) { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception(sprintf('Invalid envelope type "%s"', $envelopeType)); - } - $this->_envelope = $envelopeType; - return $this; - } - - /** - * Retrieve envelope - * - * @return string - */ - public function getEnvelope() - { - return $this->_envelope; - } - - // Content-Type of response; default to application/json - /** - * Set content type - * - * @param string $type - * @return Zend_Json_Server_Smd - */ - public function setContentType($type) - { - if (!preg_match($this->_contentTypeRegex, $type)) { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception(sprintf('Invalid content type "%s" specified', $type)); - } - $this->_contentType = $type; - return $this; - } - - /** - * Retrieve content type - * - * @return string - */ - public function getContentType() - { - return $this->_contentType; - } - - /** - * Set service target - * - * @param string $target - * @return Zend_Json_Server_Smd - */ - public function setTarget($target) - { - $this->_target = (string) $target; - return $this; - } - - /** - * Retrieve service target - * - * @return string - */ - public function getTarget() - { - return $this->_target; - } - - /** - * Set service ID - * - * @param string $Id - * @return Zend_Json_Server_Smd - */ - public function setId($id) - { - $this->_id = (string) $id; - return $this->_id; - } - - /** - * Get service id - * - * @return string - */ - public function getId() - { - return $this->_id; - } - - /** - * Set service description - * - * @param string $description - * @return Zend_Json_Server_Smd - */ - public function setDescription($description) - { - $this->_description = (string) $description; - return $this->_description; - } - - /** - * Get service description - * - * @return string - */ - public function getDescription() - { - return $this->_description; - } - - /** - * Indicate whether or not to generate Dojo-compatible SMD - * - * @param bool $flag - * @return Zend_Json_Server_Smd - */ - public function setDojoCompatible($flag) - { - $this->_dojoCompatible = (bool) $flag; - return $this; - } - - /** - * Is this a Dojo compatible SMD? - * - * @return bool - */ - public function isDojoCompatible() - { - return $this->_dojoCompatible; - } - - /** - * Add Service - * - * @param Zend_Json_Server_Smd_Service|array $service - * @return void - */ - public function addService($service) - { - require_once 'Zend/Json/Server/Smd/Service.php'; - - if ($service instanceof Zend_Json_Server_Smd_Service) { - $name = $service->getName(); - } elseif (is_array($service)) { - $service = new Zend_Json_Server_Smd_Service($service); - $name = $service->getName(); - } else { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception('Invalid service passed to addService()'); - } - - if (array_key_exists($name, $this->_services)) { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception('Attempt to register a service already registered detected'); - } - $this->_services[$name] = $service; - return $this; - } - - /** - * Add many services - * - * @param array $services - * @return Zend_Json_Server_Smd - */ - public function addServices(array $services) - { - foreach ($services as $service) { - $this->addService($service); - } - return $this; - } - - /** - * Overwrite existing services with new ones - * - * @param array $services - * @return Zend_Json_Server_Smd - */ - public function setServices(array $services) - { - $this->_services = array(); - return $this->addServices($services); - } - - /** - * Get service object - * - * @param string $name - * @return false|Zend_Json_Server_Smd_Service - */ - public function getService($name) - { - if (array_key_exists($name, $this->_services)) { - return $this->_services[$name]; - } - return false; - } - - /** - * Return services - * - * @return array - */ - public function getServices() - { - return $this->_services; - } - - /** - * Remove service - * - * @param string $name - * @return boolean - */ - public function removeService($name) - { - if (array_key_exists($name, $this->_services)) { - unset($this->_services[$name]); - return true; - } - return false; - } - - /** - * Cast to array - * - * @return array - */ - public function toArray() - { - if ($this->isDojoCompatible()) { - return $this->toDojoArray(); - } - - $transport = $this->getTransport(); - $envelope = $this->getEnvelope(); - $contentType = $this->getContentType(); - $SMDVersion = self::SMD_VERSION; - $service = compact('transport', 'envelope', 'contentType', 'SMDVersion'); - - if (null !== ($target = $this->getTarget())) { - $service['target'] = $target; - } - if (null !== ($id = $this->getId())) { - $service['id'] = $id; - } - - $services = $this->getServices(); - if (!empty($services)) { - $service['services'] = array(); - foreach ($services as $name => $svc) { - $svc->setEnvelope($envelope); - $service['services'][$name] = $svc->toArray(); - } - $service['methods'] = $service['services']; - } - - return $service; - } - - /** - * Export to DOJO-compatible SMD array - * - * @return array - */ - public function toDojoArray() - { - $SMDVersion = '.1'; - $serviceType = 'JSON-RPC'; - $service = compact('SMDVersion', 'serviceType'); - - $target = $this->getTarget(); - - $services = $this->getServices(); - if (!empty($services)) { - $service['methods'] = array(); - foreach ($services as $name => $svc) { - $method = array( - 'name' => $name, - 'serviceURL' => $target, - ); - $params = array(); - foreach ($svc->getParams() as $param) { - $paramName = array_key_exists('name', $param) ? $param['name'] : $param['type']; - $params[] = array( - 'name' => $paramName, - 'type' => $param['type'], - ); - } - if (!empty($params)) { - $method['parameters'] = $params; - } - $service['methods'][] = $method; - } - } - - return $service; - } - - /** - * Cast to JSON - * - * @return string - */ - public function toJson() - { - require_once 'Zend/Json.php'; - return Zend_Json::encode($this->toArray()); - } - - /** - * Cast to string (JSON) - * - * @return string - */ - public function __toString() - { - return $this->toJson(); - } -} - diff --git a/lib/zend/Zend/Json/Server/Smd/Service.php b/lib/zend/Zend/Json/Server/Smd/Service.php deleted file mode 100644 index 6133d4f2af..0000000000 --- a/lib/zend/Zend/Json/Server/Smd/Service.php +++ /dev/null @@ -1,473 +0,0 @@ - 'is_string', - 'optional' => 'is_bool', - 'default' => null, - 'description' => 'is_string', - ); - - /** - * Service params - * @var array - */ - protected $_params = array(); - - /** - * Mapping of parameter types to JSON-RPC types - * @var array - */ - protected $_paramMap = array( - 'any' => 'any', - 'arr' => 'array', - 'array' => 'array', - 'assoc' => 'object', - 'bool' => 'boolean', - 'boolean' => 'boolean', - 'dbl' => 'float', - 'double' => 'float', - 'false' => 'boolean', - 'float' => 'float', - 'hash' => 'object', - 'integer' => 'integer', - 'int' => 'integer', - 'mixed' => 'any', - 'nil' => 'null', - 'null' => 'null', - 'object' => 'object', - 'string' => 'string', - 'str' => 'string', - 'struct' => 'object', - 'true' => 'boolean', - 'void' => 'null', - ); - - /** - * Allowed transport types - * @var array - */ - protected $_transportTypes = array( - 'POST', - ); - - /** - * Constructor - * - * @param string|array $spec - * @return void - * @throws Zend_Json_Server_Exception if no name provided - */ - public function __construct($spec) - { - if (is_string($spec)) { - $this->setName($spec); - } elseif (is_array($spec)) { - $this->setOptions($spec); - } - - if (null == $this->getName()) { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception('SMD service description requires a name; none provided'); - } - } - - /** - * Set object state - * - * @param array $options - * @return Zend_Json_Server_Smd_Service - */ - public function setOptions(array $options) - { - $methods = get_class_methods($this); - foreach ($options as $key => $value) { - if ('options' == strtolower($key)) { - continue; - } - $method = 'set' . ucfirst($key); - if (in_array($method, $methods)) { - $this->$method($value); - } - } - return $this; - } - - /** - * Set service name - * - * @param string $name - * @return Zend_Json_Server_Smd_Service - * @throws Zend_Json_Server_Exception - */ - public function setName($name) - { - $name = (string) $name; - if (!preg_match($this->_nameRegex, $name)) { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception(sprintf('Invalid name "%s" provided for service; must follow PHP method naming conventions', $name)); - } - $this->_name = $name; - return $this; - } - - /** - * Retrieve name - * - * @return string - */ - public function getName() - { - return $this->_name; - } - - /** - * Set Transport - * - * Currently limited to POST - * - * @param string $transport - * @return Zend_Json_Server_Smd_Service - */ - public function setTransport($transport) - { - if (!in_array($transport, $this->_transportTypes)) { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception(sprintf('Invalid transport "%s"; please select one of (%s)', $transport, implode(', ', $this->_transportTypes))); - } - - $this->_transport = $transport; - return $this; - } - - /** - * Get transport - * - * @return string - */ - public function getTransport() - { - return $this->_transport; - } - - /** - * Set service target - * - * @param string $target - * @return Zend_Json_Server_Smd_Service - */ - public function setTarget($target) - { - $this->_target = (string) $target; - return $this; - } - - /** - * Get service target - * - * @return string - */ - public function getTarget() - { - return $this->_target; - } - - /** - * Set envelope type - * - * @param string $envelopeType - * @return Zend_Json_Server_Smd_Service - */ - public function setEnvelope($envelopeType) - { - if (!in_array($envelopeType, $this->_envelopeTypes)) { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception(sprintf('Invalid envelope type "%s"; please specify one of (%s)', $envelopeType, implode(', ', $this->_envelopeTypes))); - } - - $this->_envelope = $envelopeType; - return $this; - } - - /** - * Get envelope type - * - * @return string - */ - public function getEnvelope() - { - return $this->_envelope; - } - - /** - * Add a parameter to the service - * - * @param string|array $type - * @param array $options - * @param int|null $order - * @return Zend_Json_Server_Smd_Service - */ - public function addParam($type, array $options = array(), $order = null) - { - if (is_string($type)) { - $type = $this->_validateParamType($type); - } elseif (is_array($type)) { - foreach ($type as $key => $paramType) { - $type[$key] = $this->_validateParamType($paramType); - } - } else { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception('Invalid param type provided'); - } - - $paramOptions = array( - 'type' => $type, - ); - foreach ($options as $key => $value) { - if (in_array($key, array_keys($this->_paramOptionTypes))) { - if (null !== ($callback = $this->_paramOptionTypes[$key])) { - if (!$callback($value)) { - continue; - } - } - $paramOptions[$key] = $value; - } - } - - $this->_params[] = array( - 'param' => $paramOptions, - 'order' => $order, - ); - - return $this; - } - - /** - * Add params - * - * Each param should be an array, and should include the key 'type'. - * - * @param array $params - * @return Zend_Json_Server_Smd_Service - */ - public function addParams(array $params) - { - ksort($params); - foreach ($params as $options) { - if (!is_array($options)) { - continue; - } - if (!array_key_exists('type', $options)) { - continue; - } - $type = $options['type']; - $order = (array_key_exists('order', $options)) ? $options['order'] : null; - $this->addParam($type, $options, $order); - } - return $this; - } - - /** - * Overwrite all parameters - * - * @param array $params - * @return Zend_Json_Server_Smd_Service - */ - public function setParams(array $params) - { - $this->_params = array(); - return $this->addParams($params); - } - - /** - * Get all parameters - * - * Returns all params in specified order. - * - * @return array - */ - public function getParams() - { - $params = array(); - $index = 0; - foreach ($this->_params as $param) { - if (null === $param['order']) { - if (array_search($index, array_keys($params), true)) { - ++$index; - } - $params[$index] = $param['param']; - ++$index; - } else { - $params[$param['order']] = $param['param']; - } - } - ksort($params); - return $params; - } - - /** - * Set return type - * - * @param string|array $type - * @return Zend_Json_Server_Smd_Service - */ - public function setReturn($type) - { - if (is_string($type)) { - $type = $this->_validateParamType($type, true); - } elseif (is_array($type)) { - foreach ($type as $key => $returnType) { - $type[$key] = $this->_validateParamType($returnType, true); - } - } else { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception('Invalid param type provided ("' . gettype($type) .'")'); - } - $this->_return = $type; - return $this; - } - - /** - * Get return type - * - * @return string|array - */ - public function getReturn() - { - return $this->_return; - } - - /** - * Cast service description to array - * - * @return array - */ - public function toArray() - { - $name = $this->getName(); - $envelope = $this->getEnvelope(); - $target = $this->getTarget(); - $transport = $this->getTransport(); - $parameters = $this->getParams(); - $returns = $this->getReturn(); - - if (empty($target)) { - return compact('envelope', 'transport', 'parameters', 'returns'); - } - - return $paramInfo = compact('envelope', 'target', 'transport', 'parameters', 'returns'); - } - - /** - * Return JSON encoding of service - * - * @return string - */ - public function toJson() - { - $service = array($this->getName() => $this->toArray()); - - require_once 'Zend/Json.php'; - return Zend_Json::encode($service); - } - - /** - * Cast to string - * - * @return string - */ - public function __toString() - { - return $this->toJson(); - } - - /** - * Validate parameter type - * - * @param string $type - * @return true - * @throws Zend_Json_Server_Exception - */ - protected function _validateParamType($type, $isReturn = false) - { - if (!is_string($type)) { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception('Invalid param type provided ("' . $type .'")'); - } - - if (!array_key_exists($type, $this->_paramMap)) { - $type = 'object'; - } - - $paramType = $this->_paramMap[$type]; - if (!$isReturn && ('null' == $paramType)) { - require_once 'Zend/Json/Server/Exception.php'; - throw new Zend_Json_Server_Exception('Invalid param type provided ("' . $type . '")'); - } - - return $paramType; - } -} diff --git a/lib/zend/Zend/Layout.php b/lib/zend/Zend/Layout.php deleted file mode 100644 index e1cc3104bd..0000000000 --- a/lib/zend/Zend/Layout.php +++ /dev/null @@ -1,795 +0,0 @@ -setLayoutPath($options); - } elseif (is_array($options)) { - $this->setOptions($options); - } elseif ($options instanceof Zend_Config) { - $this->setConfig($options); - } else { - require_once 'Zend/Layout/Exception.php'; - throw new Zend_Layout_Exception('Invalid option provided to constructor'); - } - } - - $this->_initVarContainer(); - - if ($initMvc) { - $this->_setMvcEnabled(true); - $this->_initMvc(); - } else { - $this->_setMvcEnabled(false); - } - } - - /** - * Static method for initialization with MVC support - * - * @param string|array|Zend_Config $options - * @return Zend_Layout - */ - public static function startMvc($options = null) - { - if (null === self::$_mvcInstance) { - self::$_mvcInstance = new self($options, true); - } - - if (is_string($options)) { - self::$_mvcInstance->setLayoutPath($options); - } elseif (is_array($options) || $options instanceof Zend_Config) { - self::$_mvcInstance->setOptions($options); - } - - return self::$_mvcInstance; - } - - /** - * Retrieve MVC instance of Zend_Layout object - * - * @return Zend_Layout|null - */ - public static function getMvcInstance() - { - return self::$_mvcInstance; - } - - /** - * Reset MVC instance - * - * Unregisters plugins and helpers, and destroys MVC layout instance. - * - * @return void - */ - public static function resetMvcInstance() - { - if (null !== self::$_mvcInstance) { - $layout = self::$_mvcInstance; - $pluginClass = $layout->getPluginClass(); - $front = Zend_Controller_Front::getInstance(); - if ($front->hasPlugin($pluginClass)) { - $front->unregisterPlugin($pluginClass); - } - - if (Zend_Controller_Action_HelperBroker::hasHelper('layout')) { - Zend_Controller_Action_HelperBroker::removeHelper('layout'); - } - - unset($layout); - self::$_mvcInstance = null; - } - } - - /** - * Set options en masse - * - * @param array|Zend_Config $options - * @return void - */ - public function setOptions($options) - { - if ($options instanceof Zend_Config) { - $options = $options->toArray(); - } elseif (!is_array($options)) { - require_once 'Zend/Layout/Exception.php'; - throw new Zend_Layout_Exception('setOptions() expects either an array or a Zend_Config object'); - } - - foreach ($options as $key => $value) { - $method = 'set' . ucfirst($key); - if (method_exists($this, $method)) { - $this->$method($value); - } - } - } - - /** - * Initialize MVC integration - * - * @return void - */ - protected function _initMvc() - { - $this->_initPlugin(); - $this->_initHelper(); - } - - /** - * Initialize front controller plugin - * - * @return void - */ - protected function _initPlugin() - { - $pluginClass = $this->getPluginClass(); - require_once 'Zend/Controller/Front.php'; - $front = Zend_Controller_Front::getInstance(); - if (!$front->hasPlugin($pluginClass)) { - if (!class_exists($pluginClass)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($pluginClass); - } - $front->registerPlugin( - // register to run last | BUT before the ErrorHandler (if its available) - new $pluginClass($this), - 99 - ); - } - } - - /** - * Initialize action helper - * - * @return void - */ - protected function _initHelper() - { - $helperClass = $this->getHelperClass(); - require_once 'Zend/Controller/Action/HelperBroker.php'; - if (!Zend_Controller_Action_HelperBroker::hasHelper('layout')) { - if (!class_exists($helperClass)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($helperClass); - } - Zend_Controller_Action_HelperBroker::getStack()->offsetSet(-90, new $helperClass($this)); - } - } - - /** - * Set options from a config object - * - * @param Zend_Config $config - * @return Zend_Layout - */ - public function setConfig(Zend_Config $config) - { - $this->setOptions($config->toArray()); - return $this; - } - - /** - * Initialize placeholder container for layout vars - * - * @return Zend_View_Helper_Placeholder_Container - */ - protected function _initVarContainer() - { - if (null === $this->_container) { - require_once 'Zend/View/Helper/Placeholder/Registry.php'; - $this->_container = Zend_View_Helper_Placeholder_Registry::getRegistry()->getContainer(__CLASS__); - } - - return $this->_container; - } - - /** - * Set layout script to use - * - * Note: enables layout. - * - * @param string $name - * @return Zend_Layout - */ - public function setLayout($name) - { - $this->_layout = (string) $name; - $this->enableLayout(); - return $this; - } - - /** - * Get current layout script - * - * @return string - */ - public function getLayout() - { - return $this->_layout; - } - - /** - * Disable layout - * - * @return Zend_Layout - */ - public function disableLayout() - { - $this->_enabled = false; - return $this; - } - - /** - * Enable layout - * - * @return Zend_Layout - */ - public function enableLayout() - { - $this->_enabled = true; - return $this; - } - - /** - * Is layout enabled? - * - * @return bool - */ - public function isEnabled() - { - return $this->_enabled; - } - - - public function setViewBasePath($path, $prefix = 'Layout_View') - { - $this->_viewBasePath = $path; - $this->_viewBasePrefix = $prefix; - return $this; - } - - public function getViewBasePath() - { - return $this->_viewBasePath; - } - - public function setViewScriptPath($path) - { - $this->_viewScriptPath = $path; - return $this; - } - - public function getViewScriptPath() - { - return $this->_viewScriptPath; - } - - /** - * Set layout script path - * - * @param string $path - * @return Zend_Layout - */ - public function setLayoutPath($path) - { - return $this->setViewScriptPath($path); - } - - /** - * Get current layout script path - * - * @return string - */ - public function getLayoutPath() - { - return $this->getViewScriptPath(); - } - - /** - * Set content key - * - * Key in namespace container denoting default content - * - * @param string $contentKey - * @return Zend_Layout - */ - public function setContentKey($contentKey) - { - $this->_contentKey = (string) $contentKey; - return $this; - } - - /** - * Retrieve content key - * - * @return string - */ - public function getContentKey() - { - return $this->_contentKey; - } - - /** - * Set MVC enabled flag - * - * @param bool $mvcEnabled - * @return Zend_Layout - */ - protected function _setMvcEnabled($mvcEnabled) - { - $this->_mvcEnabled = ($mvcEnabled) ? true : false; - return $this; - } - - /** - * Retrieve MVC enabled flag - * - * @return bool - */ - public function getMvcEnabled() - { - return $this->_mvcEnabled; - } - - /** - * Set MVC Successful Action Only flag - * - * @param bool $successfulActionOnly - * @return Zend_Layout - */ - public function setMvcSuccessfulActionOnly($successfulActionOnly) - { - $this->_mvcSuccessfulActionOnly = ($successfulActionOnly) ? true : false; - return $this; - } - - /** - * Get MVC Successful Action Only Flag - * - * @return bool - */ - public function getMvcSuccessfulActionOnly() - { - return $this->_mvcSuccessfulActionOnly; - } - - /** - * Set view object - * - * @param Zend_View_Interface $view - * @return Zend_Layout - */ - public function setView(Zend_View_Interface $view) - { - $this->_view = $view; - return $this; - } - - /** - * Retrieve helper class - * - * @return string - */ - public function getHelperClass() - { - return $this->_helperClass; - } - - /** - * Set helper class - * - * @param string $helperClass - * @return Zend_Layout - */ - public function setHelperClass($helperClass) - { - $this->_helperClass = (string) $helperClass; - return $this; - } - - /** - * Retrieve plugin class - * - * @return string - */ - public function getPluginClass() - { - return $this->_pluginClass; - } - - /** - * Set plugin class - * - * @param string $pluginClass - * @return Zend_Layout - */ - public function setPluginClass($pluginClass) - { - $this->_pluginClass = (string) $pluginClass; - return $this; - } - - /** - * Get current view object - * - * If no view object currently set, retrieves it from the ViewRenderer. - * - * @todo Set inflector from view renderer at same time - * @return Zend_View_Interface - */ - public function getView() - { - if (null === $this->_view) { - require_once 'Zend/Controller/Action/HelperBroker.php'; - $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); - if (null === $viewRenderer->view) { - $viewRenderer->initView(); - } - $this->setView($viewRenderer->view); - } - return $this->_view; - } - - /** - * Set layout view script suffix - * - * @param string $viewSuffix - * @return Zend_Layout - */ - public function setViewSuffix($viewSuffix) - { - $this->_viewSuffix = (string) $viewSuffix; - return $this; - } - - /** - * Retrieve layout view script suffix - * - * @return string - */ - public function getViewSuffix() - { - return $this->_viewSuffix; - } - - /** - * Retrieve inflector target - * - * @return string - */ - public function getInflectorTarget() - { - return $this->_inflectorTarget; - } - - /** - * Set inflector target - * - * @param string $inflectorTarget - * @return Zend_Layout - */ - public function setInflectorTarget($inflectorTarget) - { - $this->_inflectorTarget = (string) $inflectorTarget; - return $this; - } - - /** - * Set inflector to use when resolving layout names - * - * @param Zend_Filter_Inflector $inflector - * @return Zend_Layout - */ - public function setInflector(Zend_Filter_Inflector $inflector) - { - $this->_inflector = $inflector; - return $this; - } - - /** - * Retrieve inflector - * - * @return Zend_Filter_Inflector - */ - public function getInflector() - { - if (null === $this->_inflector) { - require_once 'Zend/Filter/Inflector.php'; - $inflector = new Zend_Filter_Inflector(); - $inflector->setTargetReference($this->_inflectorTarget) - ->addRules(array(':script' => array('Word_CamelCaseToDash', 'StringToLower'))) - ->setStaticRuleReference('suffix', $this->_viewSuffix); - $this->setInflector($inflector); - } - - return $this->_inflector; - } - - /** - * Enable inflector - * - * @return Zend_Layout - */ - public function enableInflector() - { - $this->_inflectorEnabled = true; - return $this; - } - - /** - * Disable inflector - * - * @return Zend_Layout - */ - public function disableInflector() - { - $this->_inflectorEnabled = false; - return $this; - } - - /** - * Return status of inflector enabled flag - * - * @return bool - */ - public function inflectorEnabled() - { - return $this->_inflectorEnabled; - } - - /** - * Set layout variable - * - * @param string $key - * @param mixed $value - * @return void - */ - public function __set($key, $value) - { - $this->_container[$key] = $value; - } - - /** - * Get layout variable - * - * @param string $key - * @return mixed - */ - public function __get($key) - { - if (isset($this->_container[$key])) { - return $this->_container[$key]; - } - - return null; - } - - /** - * Is a layout variable set? - * - * @param string $key - * @return bool - */ - public function __isset($key) - { - return (isset($this->_container[$key])); - } - - /** - * Unset a layout variable? - * - * @param string $key - * @return void - */ - public function __unset($key) - { - if (isset($this->_container[$key])) { - unset($this->_container[$key]); - } - } - - /** - * Assign one or more layout variables - * - * @param mixed $spec Assoc array or string key; if assoc array, sets each - * key as a layout variable - * @param mixed $value Value if $spec is a key - * @return Zend_Layout - * @throws Zend_Layout_Exception if non-array/string value passed to $spec - */ - public function assign($spec, $value = null) - { - if (is_array($spec)) { - $orig = $this->_container->getArrayCopy(); - $merged = array_merge($orig, $spec); - $this->_container->exchangeArray($merged); - return $this; - } - - if (is_string($spec)) { - $this->_container[$spec] = $value; - return $this; - } - - require_once 'Zend/Layout/Exception.php'; - throw new Zend_Layout_Exception('Invalid values passed to assign()'); - } - - /** - * Render layout - * - * Sets internal script path as last path on script path stack, assigns - * layout variables to view, determines layout name using inflector, and - * renders layout view script. - * - * $name will be passed to the inflector as the key 'script'. - * - * @param mixed $name - * @return mixed - */ - public function render($name = null) - { - if (null === $name) { - $name = $this->getLayout(); - } - - if ($this->inflectorEnabled() && (null !== ($inflector = $this->getInflector()))) - { - $name = $this->_inflector->filter(array('script' => $name)); - } - - $view = $this->getView(); - - if (null !== ($path = $this->getViewScriptPath())) { - if (method_exists($view, 'addScriptPath')) { - $view->addScriptPath($path); - } else { - $view->setScriptPath($path); - } - } elseif (null !== ($path = $this->getViewBasePath())) { - $view->addBasePath($path, $this->_viewBasePrefix); - } - - return $view->render($name); - } -} diff --git a/lib/zend/Zend/Layout/Controller/Action/Helper/Layout.php b/lib/zend/Zend/Layout/Controller/Action/Helper/Layout.php deleted file mode 100644 index 14341e79e2..0000000000 --- a/lib/zend/Zend/Layout/Controller/Action/Helper/Layout.php +++ /dev/null @@ -1,186 +0,0 @@ -setLayoutInstance($layout); - } else { - /** - * @see Zend_Layout - */ - require_once 'Zend/Layout.php'; - $layout = Zend_Layout::getMvcInstance(); - } - - if (null !== $layout) { - $pluginClass = $layout->getPluginClass(); - $front = $this->getFrontController(); - if ($front->hasPlugin($pluginClass)) { - $plugin = $front->getPlugin($pluginClass); - $plugin->setLayoutActionHelper($this); - } - } - } - - public function init() - { - $this->_isActionControllerSuccessful = false; - } - - /** - * Get front controller instance - * - * @return Zend_Controller_Front - */ - public function getFrontController() - { - if (null === $this->_frontController) { - /** - * @see Zend_Controller_Front - */ - require_once 'Zend/Controller/Front.php'; - $this->_frontController = Zend_Controller_Front::getInstance(); - } - - return $this->_frontController; - } - - /** - * Get layout object - * - * @return Zend_Layout - */ - public function getLayoutInstance() - { - if (null === $this->_layout) { - /** - * @see Zend_Layout - */ - require_once 'Zend/Layout.php'; - if (null === ($this->_layout = Zend_Layout::getMvcInstance())) { - $this->_layout = new Zend_Layout(); - } - } - - return $this->_layout; - } - - /** - * Set layout object - * - * @param Zend_Layout $layout - * @return Zend_Layout_Controller_Action_Helper_Layout - */ - public function setLayoutInstance(Zend_Layout $layout) - { - $this->_layout = $layout; - return $this; - } - - /** - * Mark Action Controller (according to this plugin) as Running successfully - * - * @return Zend_Layout_Controller_Action_Helper_Layout - */ - public function postDispatch() - { - $this->_isActionControllerSuccessful = true; - return $this; - } - - /** - * Did the previous action successfully complete? - * - * @return bool - */ - public function isActionControllerSuccessful() - { - return $this->_isActionControllerSuccessful; - } - - /** - * Strategy pattern; call object as method - * - * Returns layout object - * - * @return Zend_Layout - */ - public function direct() - { - return $this->getLayoutInstance(); - } - - /** - * Proxy method calls to layout object - * - * @param string $method - * @param array $args - * @return mixed - */ - public function __call($method, $args) - { - $layout = $this->getLayoutInstance(); - if (method_exists($layout, $method)) { - return call_user_func_array(array($layout, $method), $args); - } - - require_once 'Zend/Layout/Exception.php'; - throw new Zend_Layout_Exception(sprintf("Invalid method '%s' called on layout action helper", $method)); - } -} diff --git a/lib/zend/Zend/Layout/Controller/Plugin/Layout.php b/lib/zend/Zend/Layout/Controller/Plugin/Layout.php deleted file mode 100644 index 33251bf7b5..0000000000 --- a/lib/zend/Zend/Layout/Controller/Plugin/Layout.php +++ /dev/null @@ -1,155 +0,0 @@ -setLayout($layout); - } - } - - /** - * Retrieve layout object - * - * @return Zend_Layout - */ - public function getLayout() - { - return $this->_layout; - } - - /** - * Set layout object - * - * @param Zend_Layout $layout - * @return Zend_Layout_Controller_Plugin_Layout - */ - public function setLayout(Zend_Layout $layout) - { - $this->_layout = $layout; - return $this; - } - - /** - * Set layout action helper - * - * @param Zend_Layout_Controller_Action_Helper_Layout $layoutActionHelper - * @return Zend_Layout_Controller_Plugin_Layout - */ - public function setLayoutActionHelper(Zend_Layout_Controller_Action_Helper_Layout $layoutActionHelper) - { - $this->_layoutActionHelper = $layoutActionHelper; - return $this; - } - - /** - * Retrieve layout action helper - * - * @return Zend_Layout_Controller_Action_Helper_Layout - */ - public function getLayoutActionHelper() - { - return $this->_layoutActionHelper; - } - - /** - * postDispatch() plugin hook -- render layout - * - * @param Zend_Controller_Request_Abstract $request - * @return void - */ - public function postDispatch(Zend_Controller_Request_Abstract $request) - { - $layout = $this->getLayout(); - $helper = $this->getLayoutActionHelper(); - - // Return early if forward detected - if (!$request->isDispatched() - || ($layout->getMvcSuccessfulActionOnly() - && (!empty($helper) && !$helper->isActionControllerSuccessful()))) - { - return; - } - - // Return early if layout has been disabled - if (!$layout->isEnabled()) { - return; - } - - $response = $this->getResponse(); - $content = $response->getBody(true); - $contentKey = $layout->getContentKey(); - - if (isset($content['default'])) { - $content[$contentKey] = $content['default']; - } - if ('default' != $contentKey) { - unset($content['default']); - } - - $layout->assign($content); - - $fullContent = null; - $obStartLevel = ob_get_level(); - try { - $fullContent = $layout->render(); - $response->setBody($fullContent); - } catch (Exception $e) { - while (ob_get_level() > $obStartLevel) { - $fullContent .= ob_get_clean(); - } - $request->setParam('layoutFullContent', $fullContent); - $request->setParam('layoutContent', $layout->content); - $response->setBody(null); - throw $e; - } - - } -} diff --git a/lib/zend/Zend/Layout/Exception.php b/lib/zend/Zend/Layout/Exception.php deleted file mode 100644 index 6e61d85bf3..0000000000 --- a/lib/zend/Zend/Layout/Exception.php +++ /dev/null @@ -1,35 +0,0 @@ -setOptions($options); - } - - /** - * Destructor. - * - * @return void - */ - public function __destruct() - { - $this->disconnect(); - } - - /** - * @return resource The raw LDAP extension resource. - */ - public function getResource() - { - return $this->_resource; - } - - /** - * Return the LDAP error number of the last LDAP command - * - * @return int - */ - public function getLastErrorCode() - { - $ret = @ldap_get_option($this->getResource(), LDAP_OPT_ERROR_NUMBER, $err); - if ($ret === true) { - if ($err <= -1 && $err >= -17) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - /* For some reason draft-ietf-ldapext-ldap-c-api-xx.txt error - * codes in OpenLDAP are negative values from -1 to -17. - */ - $err = Zend_Ldap_Exception::LDAP_SERVER_DOWN + (-$err - 1); - } - return $err; - } - return 0; - } - - /** - * Return the LDAP error message of the last LDAP command - * - * @param int $errorCode - * @param array $errorMessages - * @return string - */ - public function getLastError(&$errorCode = null, array &$errorMessages = null) - { - $errorCode = $this->getLastErrorCode(); - $errorMessages = array(); - - /* The various error retrieval functions can return - * different things so we just try to collect what we - * can and eliminate dupes. - */ - $estr1 = @ldap_error($this->getResource()); - if ($errorCode !== 0 && $estr1 === 'Success') { - $estr1 = @ldap_err2str($errorCode); - } - if (!empty($estr1)) { - $errorMessages[] = $estr1; - } - - @ldap_get_option($this->getResource(), LDAP_OPT_ERROR_STRING, $estr2); - if (!empty($estr2) && !in_array($estr2, $errorMessages)) { - $errorMessages[] = $estr2; - } - - $message = ''; - if ($errorCode > 0) { - $message = '0x' . dechex($errorCode) . ' '; - } else { - $message = ''; - } - if (count($errorMessages) > 0) { - $message .= '(' . implode('; ', $errorMessages) . ')'; - } else { - $message .= '(no error message from LDAP)'; - } - return $message; - } - - /** - * Sets the options used in connecting, binding, etc. - * - * Valid option keys: - * host - * port - * useSsl - * username - * password - * bindRequiresDn - * baseDn - * accountCanonicalForm - * accountDomainName - * accountDomainNameShort - * accountFilterFormat - * allowEmptyPassword - * useStartTls - * optRefferals - * tryUsernameSplit - * - * @param array|Zend_Config $options Options used in connecting, binding, etc. - * @return Zend_Ldap Provides a fluent interface - * @throws Zend_Ldap_Exception - */ - public function setOptions($options) - { - if ($options instanceof Zend_Config) { - $options = $options->toArray(); - } - - $permittedOptions = array( - 'host' => null, - 'port' => 0, - 'useSsl' => false, - 'username' => null, - 'password' => null, - 'bindRequiresDn' => false, - 'baseDn' => null, - 'accountCanonicalForm' => null, - 'accountDomainName' => null, - 'accountDomainNameShort' => null, - 'accountFilterFormat' => null, - 'allowEmptyPassword' => false, - 'useStartTls' => false, - 'optReferrals' => false, - 'tryUsernameSplit' => true, - ); - - foreach ($permittedOptions as $key => $val) { - if (array_key_exists($key, $options)) { - $val = $options[$key]; - unset($options[$key]); - /* Enforce typing. This eliminates issues like Zend_Config_Ini - * returning '1' as a string (ZF-3163). - */ - switch ($key) { - case 'port': - case 'accountCanonicalForm': - $permittedOptions[$key] = (int)$val; - break; - case 'useSsl': - case 'bindRequiresDn': - case 'allowEmptyPassword': - case 'useStartTls': - case 'optReferrals': - case 'tryUsernameSplit': - $permittedOptions[$key] = ($val === true || - $val === '1' || strcasecmp($val, 'true') == 0); - break; - default: - $permittedOptions[$key] = trim($val); - break; - } - } - } - if (count($options) > 0) { - $key = key($options); - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, "Unknown Zend_Ldap option: $key"); - } - $this->_options = $permittedOptions; - return $this; - } - - /** - * @return array The current options. - */ - public function getOptions() - { - return $this->_options; - } - - /** - * @return string The hostname of the LDAP server being used to authenticate accounts - */ - protected function _getHost() - { - return $this->_options['host']; - } - - /** - * @return int The port of the LDAP server or 0 to indicate that no port value is set - */ - protected function _getPort() - { - return $this->_options['port']; - } - - /** - * @return boolean The default SSL / TLS encrypted transport control - */ - protected function _getUseSsl() - { - return $this->_options['useSsl']; - } - - /** - * @return string The default acctname for binding - */ - protected function _getUsername() - { - return $this->_options['username']; - } - - /** - * @return string The default password for binding - */ - protected function _getPassword() - { - return $this->_options['password']; - } - - /** - * @return boolean Bind requires DN - */ - protected function _getBindRequiresDn() - { - return $this->_options['bindRequiresDn']; - } - - /** - * Gets the base DN under which objects of interest are located - * - * @return string - */ - public function getBaseDn() - { - return $this->_options['baseDn']; - } - - /** - * @return integer Either ACCTNAME_FORM_BACKSLASH, ACCTNAME_FORM_PRINCIPAL or - * ACCTNAME_FORM_USERNAME indicating the form usernames should be canonicalized to. - */ - protected function _getAccountCanonicalForm() - { - /* Account names should always be qualified with a domain. In some scenarios - * using non-qualified account names can lead to security vulnerabilities. If - * no account canonical form is specified, we guess based in what domain - * names have been supplied. - */ - - $accountCanonicalForm = $this->_options['accountCanonicalForm']; - if (!$accountCanonicalForm) { - $accountDomainName = $this->_getAccountDomainName(); - $accountDomainNameShort = $this->_getAccountDomainNameShort(); - if ($accountDomainNameShort) { - $accountCanonicalForm = Zend_Ldap::ACCTNAME_FORM_BACKSLASH; - } else if ($accountDomainName) { - $accountCanonicalForm = Zend_Ldap::ACCTNAME_FORM_PRINCIPAL; - } else { - $accountCanonicalForm = Zend_Ldap::ACCTNAME_FORM_USERNAME; - } - } - - return $accountCanonicalForm; - } - - /** - * @return string The account domain name - */ - protected function _getAccountDomainName() - { - return $this->_options['accountDomainName']; - } - - /** - * @return string The short account domain name - */ - protected function _getAccountDomainNameShort() - { - return $this->_options['accountDomainNameShort']; - } - - /** - * @return string A format string for building an LDAP search filter to match - * an account - */ - protected function _getAccountFilterFormat() - { - return $this->_options['accountFilterFormat']; - } - - /** - * @return boolean Allow empty passwords - */ - protected function _getAllowEmptyPassword() - { - return $this->_options['allowEmptyPassword']; - } - - /** - * @return boolean The default SSL / TLS encrypted transport control - */ - protected function _getUseStartTls() - { - return $this->_options['useStartTls']; - } - - /** - * @return boolean Opt. Referrals - */ - protected function _getOptReferrals() - { - return $this->_options['optReferrals']; - } - - /** - * @return boolean Try splitting the username into username and domain - */ - protected function _getTryUsernameSplit() - { - return $this->_options['tryUsernameSplit']; - } - - /** - * @return string The LDAP search filter for matching directory accounts - */ - protected function _getAccountFilter($acctname) - { - /** - * @see Zend_Ldap_Filter_Abstract - */ - require_once 'Zend/Ldap/Filter/Abstract.php'; - $this->_splitName($acctname, $dname, $aname); - $accountFilterFormat = $this->_getAccountFilterFormat(); - $aname = Zend_Ldap_Filter_Abstract::escapeValue($aname); - if ($accountFilterFormat) { - return sprintf($accountFilterFormat, $aname); - } - if (!$this->_getBindRequiresDn()) { - // is there a better way to detect this? - return sprintf("(&(objectClass=user)(sAMAccountName=%s))", $aname); - } - return sprintf("(&(objectClass=posixAccount)(uid=%s))", $aname); - } - - /** - * @param string $name The name to split - * @param string $dname The resulting domain name (this is an out parameter) - * @param string $aname The resulting account name (this is an out parameter) - * @return void - */ - protected function _splitName($name, &$dname, &$aname) - { - $dname = null; - $aname = $name; - - if (!$this->_getTryUsernameSplit()) { - return; - } - - $pos = strpos($name, '@'); - if ($pos) { - $dname = substr($name, $pos + 1); - $aname = substr($name, 0, $pos); - } else { - $pos = strpos($name, '\\'); - if ($pos) { - $dname = substr($name, 0, $pos); - $aname = substr($name, $pos + 1); - } - } - } - - /** - * @param string $acctname The name of the account - * @return string The DN of the specified account - * @throws Zend_Ldap_Exception - */ - protected function _getAccountDn($acctname) - { - /** - * @see Zend_Ldap_Dn - */ - require_once 'Zend/Ldap/Dn.php'; - if (Zend_Ldap_Dn::checkDn($acctname)) return $acctname; - $acctname = $this->getCanonicalAccountName($acctname, Zend_Ldap::ACCTNAME_FORM_USERNAME); - $acct = $this->_getAccount($acctname, array('dn')); - return $acct['dn']; - } - - /** - * @param string $dname The domain name to check - * @return boolean - */ - protected function _isPossibleAuthority($dname) - { - if ($dname === null) { - return true; - } - $accountDomainName = $this->_getAccountDomainName(); - $accountDomainNameShort = $this->_getAccountDomainNameShort(); - if ($accountDomainName === null && $accountDomainNameShort === null) { - return true; - } - if (strcasecmp($dname, $accountDomainName) == 0) { - return true; - } - if (strcasecmp($dname, $accountDomainNameShort) == 0) { - return true; - } - return false; - } - - /** - * @param string $acctname The name to canonicalize - * @param int $type The desired form of canonicalization - * @return string The canonicalized name in the desired form - * @throws Zend_Ldap_Exception - */ - public function getCanonicalAccountName($acctname, $form = 0) - { - $this->_splitName($acctname, $dname, $uname); - - if (!$this->_isPossibleAuthority($dname)) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, - "Binding domain is not an authority for user: $acctname", - Zend_Ldap_Exception::LDAP_X_DOMAIN_MISMATCH); - } - - if (!$uname) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, "Invalid account name syntax: $acctname"); - } - - if (function_exists('mb_strtolower')) { - $uname = mb_strtolower($uname, 'UTF-8'); - } else { - $uname = strtolower($uname); - } - - if ($form === 0) { - $form = $this->_getAccountCanonicalForm(); - } - - switch ($form) { - case Zend_Ldap::ACCTNAME_FORM_DN: - return $this->_getAccountDn($acctname); - case Zend_Ldap::ACCTNAME_FORM_USERNAME: - return $uname; - case Zend_Ldap::ACCTNAME_FORM_BACKSLASH: - $accountDomainNameShort = $this->_getAccountDomainNameShort(); - if (!$accountDomainNameShort) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'Option required: accountDomainNameShort'); - } - return "$accountDomainNameShort\\$uname"; - case Zend_Ldap::ACCTNAME_FORM_PRINCIPAL: - $accountDomainName = $this->_getAccountDomainName(); - if (!$accountDomainName) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'Option required: accountDomainName'); - } - return "$uname@$accountDomainName"; - default: - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, "Unknown canonical name form: $form"); - } - } - - /** - * @param array $attrs An array of names of desired attributes - * @return array An array of the attributes representing the account - * @throws Zend_Ldap_Exception - */ - protected function _getAccount($acctname, array $attrs = null) - { - $baseDn = $this->getBaseDn(); - if (!$baseDn) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'Base DN not set'); - } - - $accountFilter = $this->_getAccountFilter($acctname); - if (!$accountFilter) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'Invalid account filter'); - } - - if (!is_resource($this->getResource())) { - $this->bind(); - } - - $accounts = $this->search($accountFilter, $baseDn, self::SEARCH_SCOPE_SUB, $attrs); - $count = $accounts->count(); - if ($count === 1) { - $acct = $accounts->getFirst(); - $accounts->close(); - return $acct; - } else if ($count === 0) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - $code = Zend_Ldap_Exception::LDAP_NO_SUCH_OBJECT; - $str = "No object found for: $accountFilter"; - } else { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - $code = Zend_Ldap_Exception::LDAP_OPERATIONS_ERROR; - $str = "Unexpected result count ($count) for: $accountFilter"; - } - $accounts->close(); - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception($this, $str, $code); - } - - /** - * @return Zend_Ldap Provides a fluent interface - */ - public function disconnect() - { - if (is_resource($this->getResource())) { - if (!extension_loaded('ldap')) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'LDAP extension not loaded', - Zend_Ldap_Exception::LDAP_X_EXTENSION_NOT_LOADED); - } - @ldap_unbind($this->getResource()); - } - $this->_resource = null; - return $this; - } - - /** - * @param string $host The hostname of the LDAP server to connect to - * @param int $port The port number of the LDAP server to connect to - * @param boolean $useSsl Use SSL - * @param boolean $useStartTls Use STARTTLS - * @return Zend_Ldap Provides a fluent interface - * @throws Zend_Ldap_Exception - */ - public function connect($host = null, $port = null, $useSsl = null, $useStartTls = null) - { - if ($host === null) { - $host = $this->_getHost(); - } - if ($port === null) { - $port = $this->_getPort(); - } else { - $port = (int)$port; - } - if ($useSsl === null) { - $useSsl = $this->_getUseSsl(); - } else { - $useSsl = (bool)$useSsl; - } - if ($useStartTls === null) { - $useStartTls = $this->_getUseStartTls(); - } else { - $useStartTls = (bool)$useStartTls; - } - - if (!$host) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'A host parameter is required'); - } - - /* To connect using SSL it seems the client tries to verify the server - * certificate by default. One way to disable this behavior is to set - * 'TLS_REQCERT never' in OpenLDAP's ldap.conf and restarting Apache. Or, - * if you really care about the server's cert you can put a cert on the - * web server. - */ - $url = ($useSsl) ? "ldaps://$host" : "ldap://$host"; - if ($port) { - $url .= ":$port"; - } - - /* Because ldap_connect doesn't really try to connect, any connect error - * will actually occur during the ldap_bind call. Therefore, we save the - * connect string here for reporting it in error handling in bind(). - */ - $this->_connectString = $url; - - $this->disconnect(); - - if (!extension_loaded('ldap')) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'LDAP extension not loaded', - Zend_Ldap_Exception::LDAP_X_EXTENSION_NOT_LOADED); - } - - /* Only OpenLDAP 2.2 + supports URLs so if SSL is not requested, just - * use the old form. - */ - $resource = ($useSsl) ? @ldap_connect($url) : @ldap_connect($host, $port); - - if (is_resource($resource) === true) { - $this->_resource = $resource; - - $optReferrals = ($this->_getOptReferrals()) ? 1 : 0; - if (@ldap_set_option($resource, LDAP_OPT_PROTOCOL_VERSION, 3) && - @ldap_set_option($resource, LDAP_OPT_REFERRALS, $optReferrals)) { - if ($useSsl || !$useStartTls || @ldap_start_tls($resource)) { - return $this; - } - } - - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - $zle = new Zend_Ldap_Exception($this, "$host:$port"); - $this->disconnect(); - throw $zle; - } - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, "Failed to connect to LDAP server: $host:$port"); - } - - /** - * @param string $username The username for authenticating the bind - * @param string $password The password for authenticating the bind - * @return Zend_Ldap Provides a fluent interface - * @throws Zend_Ldap_Exception - */ - public function bind($username = null, $password = null) - { - $moreCreds = true; - - if ($username === null) { - $username = $this->_getUsername(); - $password = $this->_getPassword(); - $moreCreds = false; - } - - if ($username === null) { - /* Perform anonymous bind - */ - $password = null; - } else { - /* Check to make sure the username is in DN form. - */ - /** - * @see Zend_Ldap_Dn - */ - require_once 'Zend/Ldap/Dn.php'; - if (!Zend_Ldap_Dn::checkDn($username)) { - if ($this->_getBindRequiresDn()) { - /* moreCreds stops an infinite loop if _getUsername does not - * return a DN and the bind requires it - */ - if ($moreCreds) { - try { - $username = $this->_getAccountDn($username); - } catch (Zend_Ldap_Exception $zle) { - switch ($zle->getCode()) { - case Zend_Ldap_Exception::LDAP_NO_SUCH_OBJECT: - case Zend_Ldap_Exception::LDAP_X_DOMAIN_MISMATCH: - case Zend_Ldap_Exception::LDAP_X_EXTENSION_NOT_LOADED: - throw $zle; - } - throw new Zend_Ldap_Exception(null, - 'Failed to retrieve DN for account: ' . $username . - ' [' . $zle->getMessage() . ']', - Zend_Ldap_Exception::LDAP_OPERATIONS_ERROR); - } - } else { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'Binding requires username in DN form'); - } - } else { - $username = $this->getCanonicalAccountName($username, - $this->_getAccountCanonicalForm()); - } - } - } - - if (!is_resource($this->getResource())) { - $this->connect(); - } - - if ($username !== null && $password === '' && $this->_getAllowEmptyPassword() !== true) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - $zle = new Zend_Ldap_Exception(null, - 'Empty password not allowed - see allowEmptyPassword option.'); - } else { - if (@ldap_bind($this->getResource(), $username, $password)) { - return $this; - } - - $message = ($username === null) ? $this->_connectString : $username; - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - switch ($this->getLastErrorCode()) { - case Zend_Ldap_Exception::LDAP_SERVER_DOWN: - /* If the error is related to establishing a connection rather than binding, - * the connect string is more informative than the username. - */ - $message = $this->_connectString; - } - - $zle = new Zend_Ldap_Exception($this, $message); - } - $this->disconnect(); - throw $zle; - } - - /** - * A global LDAP search routine for finding information. - * - * @param string|Zend_Ldap_Filter_Abstract $filter - * @param string|Zend_Ldap_Dn|null $basedn - * @param integer $scope - * @param array $attributes - * @param string|null $sort - * @param string|null $collectionClass - * @return Zend_Ldap_Collection - * @throws Zend_Ldap_Exception - */ - public function search($filter, $basedn = null, $scope = self::SEARCH_SCOPE_SUB, - array $attributes = array(), $sort = null, $collectionClass = null) - { - if ($basedn === null) { - $basedn = $this->getBaseDn(); - } - else if ($basedn instanceof Zend_Ldap_Dn) { - $basedn = $basedn->toString(); - } - - if ($filter instanceof Zend_Ldap_Filter_Abstract) { - $filter = $filter->toString(); - } - - switch ($scope) { - case self::SEARCH_SCOPE_ONE: - $search = @ldap_list($this->getResource(), $basedn, $filter, $attributes); - break; - case self::SEARCH_SCOPE_BASE: - $search = @ldap_read($this->getResource(), $basedn, $filter, $attributes); - break; - case self::SEARCH_SCOPE_SUB: - default: - $search = @ldap_search($this->getResource(), $basedn, $filter, $attributes); - break; - } - - if($search === false) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception($this, 'searching: ' . $filter); - } - if (!is_null($sort) && is_string($sort)) { - $isSorted = @ldap_sort($this->getResource(), $search, $sort); - if($search === false) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception($this, 'sorting: ' . $sort); - } - } - - /** - * Zend_Ldap_Collection_Iterator_Default - */ - require_once 'Zend/Ldap/Collection/Iterator/Default.php'; - $iterator = new Zend_Ldap_Collection_Iterator_Default($this, $search); - if ($collectionClass === null) { - /** - * Zend_Ldap_Collection - */ - require_once 'Zend/Ldap/Collection.php'; - return new Zend_Ldap_Collection($iterator); - } else { - $collectionClass = (string)$collectionClass; - if (!class_exists($collectionClass)) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, - "Class '$collectionClass' can not be found"); - } - if (!is_subclass_of($collectionClass, 'Zend_Ldap_Collection')) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, - "Class '$collectionClass' must subclass 'Zend_Ldap_Collection'"); - } - return new $collectionClass($iterator); - } - } - - /** - * Count items found by given filter. - * - * @param string|Zend_Ldap_Filter_Abstract $filter - * @param string|Zend_Ldap_Dn|null $basedn - * @param integer $scope - * @return integer - * @throws Zend_Ldap_Exception - */ - public function count($filter, $basedn = null, $scope = self::SEARCH_SCOPE_SUB) - { - try { - $result = $this->search($filter, $basedn, $scope, array('dn'), null); - } catch (Zend_Ldap_Exception $e) { - if ($e->getCode() === Zend_Ldap_Exception::LDAP_NO_SUCH_OBJECT) return 0; - else throw $e; - } - return $result->count(); - } - - /** - * Count children for a given DN. - * - * @param string|Zend_Ldap_Dn $dn - * @return integer - * @throws Zend_Ldap_Exception - */ - public function countChildren($dn) - { - return $this->count('(objectClass=*)', $dn, self::SEARCH_SCOPE_ONE); - } - - /** - * Check if a given DN exists. - * - * @param string|Zend_Ldap_Dn $dn - * @return boolean - * @throws Zend_Ldap_Exception - */ - public function exists($dn) - { - return ($this->count('(objectClass=*)', $dn, self::SEARCH_SCOPE_BASE) == 1); - } - - /** - * Search LDAP registry for entries matching filter and optional attributes - * - * @param string|Zend_Ldap_Filter_Abstract $filter - * @param string|Zend_Ldap_Dn|null $basedn - * @param integer $scope - * @param array $attributes - * @param string|null $sort - * @return array - * @throws Zend_Ldap_Exception - */ - public function searchEntries($filter, $basedn = null, $scope = self::SEARCH_SCOPE_SUB, - array $attributes = array(), $sort = null) - { - $result = $this->search($filter, $basedn, $scope, $attributes, $sort); - return $result->toArray(); - } - - /** - * Get LDAP entry by DN - * - * @param string|Zend_Ldap_Dn $dn - * @param array $attributes - * @param boolean $throwOnNotFound - * @return array - * @throws Zend_Ldap_Exception - */ - public function getEntry($dn, array $attributes = array(), $throwOnNotFound = false) - { - try { - $result = $this->search("(objectClass=*)", $dn, self::SEARCH_SCOPE_BASE, - $attributes, null); - return $result->getFirst(); - } catch (Zend_Ldap_Exception $e){ - if ($throwOnNotFound !== false) throw $e; - } - return null; - } - - /** - * Prepares an ldap data entry array for insert/update operation - * - * @param array $entry - * @return void - * @throws InvalidArgumentException - */ - public static function prepareLdapEntryArray(array &$entry) - { - if (array_key_exists('dn', $entry)) unset($entry['dn']); - foreach ($entry as $key => $value) { - if (is_array($value)) { - foreach ($value as $i => $v) { - if (is_null($v)) unset($value[$i]); - else if (!is_scalar($v)) { - throw new InvalidArgumentException('Only scalar values allowed in LDAP data'); - } else { - $v = (string)$v; - if (strlen($v) == 0) { - unset($value[$i]); - } else { - $value[$i] = $v; - } - } - } - $entry[$key] = array_values($value); - } else { - if (is_null($value)) $entry[$key] = array(); - else if (!is_scalar($value)) { - throw new InvalidArgumentException('Only scalar values allowed in LDAP data'); - } else { - $value = (string)$value; - if (strlen($value) == 0) { - $entry[$key] = array(); - } else { - $entry[$key] = array($value); - } - } - } - } - $entry = array_change_key_case($entry, CASE_LOWER); - } - - /** - * Add new information to the LDAP repository - * - * @param string|Zend_Ldap_Dn $dn - * @param array $entry - * @return Zend_Ldap Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function add($dn, array $entry) - { - if (!($dn instanceof Zend_Ldap_Dn)) { - $dn = Zend_Ldap_Dn::factory($dn, null); - } - self::prepareLdapEntryArray($entry); - foreach ($entry as $key => $value) { - if (is_array($value) && count($value) === 0) { - unset($entry[$key]); - } - } - - $rdnParts = $dn->getRdn(Zend_Ldap_Dn::ATTR_CASEFOLD_LOWER); - foreach ($rdnParts as $key => $value) { - $value = Zend_Ldap_Dn::unescapeValue($value); - if (!array_key_exists($key, $entry) || - !in_array($value, $entry[$key]) || - count($entry[$key]) !== 1) { - $entry[$key] = array($value); - } - } - $adAttributes = array('distinguishedname', 'instancetype', 'name', 'objectcategory', - 'objectguid', 'usnchanged', 'usncreated', 'whenchanged', 'whencreated'); - foreach ($adAttributes as $attr) { - if (array_key_exists($attr, $entry)) { - unset($entry[$attr]); - } - } - - $isAdded = @ldap_add($this->getResource(), $dn->toString(), $entry); - if($isAdded === false) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception($this, 'adding: ' . $dn->toString()); - } - return $this; - } - - /** - * Update LDAP registry - * - * @param string|Zend_Ldap_Dn $dn - * @param array $entry - * @return Zend_Ldap Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function update($dn, array $entry) - { - if (!($dn instanceof Zend_Ldap_Dn)) { - $dn = Zend_Ldap_Dn::factory($dn, null); - } - self::prepareLdapEntryArray($entry); - - $rdnParts = $dn->getRdn(Zend_Ldap_Dn::ATTR_CASEFOLD_LOWER); - $adAttributes = array('distinguishedname', 'instancetype', 'name', 'objectcategory', - 'objectguid', 'usnchanged', 'usncreated', 'whenchanged', 'whencreated'); - $stripAttributes = array_merge(array_keys($rdnParts), $adAttributes); - foreach ($stripAttributes as $attr) { - if (array_key_exists($attr, $entry)) { - unset($entry[$attr]); - } - } - - if (count($entry) > 0) { - $isModified = @ldap_modify($this->getResource(), $dn->toString(), $entry); - if($isModified === false) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception($this, 'updating: ' . $dn->toString()); - } - } - return $this; - } - - /** - * Save entry to LDAP registry. - * - * Internally decides if entry will be updated to added by calling - * {@link exists()}. - * - * @param string|Zend_Ldap_Dn $dn - * @param array $entry - * @return Zend_Ldap Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function save($dn, array $entry) - { - if ($dn instanceof Zend_Ldap_Dn) { - $dn = $dn->toString(); - } - if ($this->exists($dn)) $this->update($dn, $entry); - else $this->add($dn, $entry); - return $this; - } - - /** - * Delete an LDAP entry - * - * @param string|Zend_Ldap_Dn $dn - * @param boolean $recursively - * @return Zend_Ldap Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function delete($dn, $recursively = false) - { - if ($dn instanceof Zend_Ldap_Dn) { - $dn = $dn->toString(); - } - if ($recursively === true) { - if ($this->countChildren($dn)>0) { - $children = $this->_getChildrenDns($dn); - foreach ($children as $c) { - $this->delete($c, true); - } - } - } - $isDeleted = @ldap_delete($this->getResource(), $dn); - if($isDeleted === false) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception($this, 'deleting: ' . $dn); - } - return $this; - } - - /** - * Retrieve the immediate children DNs of the given $parentDn - * - * This method is used in recursive methods like {@see delete()} - * or {@see copy()} - * - * @param string|Zend_Ldap_Dn $parentDn - * @return array of DNs - */ - protected function _getChildrenDns($parentDn) - { - if ($parentDn instanceof Zend_Ldap_Dn) { - $parentDn = $parentDn->toString(); - } - $children = array(); - $search = @ldap_list($this->getResource(), $parentDn, '(objectClass=*)', array('dn')); - for ($entry = @ldap_first_entry($this->getResource(), $search); - $entry !== false; - $entry = @ldap_next_entry($this->getResource(), $entry)) { - $childDn = @ldap_get_dn($this->getResource(), $entry); - if ($childDn === false) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception($this, 'getting dn'); - } - $children[] = $childDn; - } - @ldap_free_result($search); - return $children; - } - - /** - * Moves a LDAP entry from one DN to another subtree. - * - * @param string|Zend_Ldap_Dn $from - * @param string|Zend_Ldap_Dn $to - * @param boolean $recursively - * @param boolean $alwaysEmulate - * @return Zend_Ldap Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function moveToSubtree($from, $to, $recursively = false, $alwaysEmulate = false) - { - if ($from instanceof Zend_Ldap_Dn) { - $orgDnParts = $from->toArray(); - } else { - $orgDnParts = Zend_Ldap_Dn::explodeDn($from); - } - - if ($to instanceof Zend_Ldap_Dn) { - $newParentDnParts = $to->toArray(); - } else { - $newParentDnParts = Zend_Ldap_Dn::explodeDn($to); - } - - $newDnParts = array_merge(array(array_shift($orgDnParts)), $newParentDnParts); - $newDn = Zend_Ldap_Dn::fromArray($newDnParts); - return $this->rename($from, $newDn, $recursively, $alwaysEmulate); - } - - /** - * Moves a LDAP entry from one DN to another DN. - * - * This is an alias for {@link rename()} - * - * @param string|Zend_Ldap_Dn $from - * @param string|Zend_Ldap_Dn $to - * @param boolean $recursively - * @param boolean $alwaysEmulate - * @return Zend_Ldap Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function move($from, $to, $recursively = false, $alwaysEmulate = false) - { - return $this->rename($from, $to, $recursively, $alwaysEmulate); - } - - /** - * Renames a LDAP entry from one DN to another DN. - * - * This method implicitely moves the entry to another location within the tree. - * - * @param string|Zend_Ldap_Dn $from - * @param string|Zend_Ldap_Dn $to - * @param boolean $recursively - * @param boolean $alwaysEmulate - * @return Zend_Ldap Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function rename($from, $to, $recursively = false, $alwaysEmulate = false) - { - $emulate = (bool)$alwaysEmulate; - if (!function_exists('ldap_rename')) $emulate = true; - else if ($recursively) $emulate = true; - - if ($emulate === false) { - if ($from instanceof Zend_Ldap_Dn) { - $from = $from->toString(); - } - - if ($to instanceof Zend_Ldap_Dn) { - $newDnParts = $to->toArray(); - } else { - $newDnParts = Zend_Ldap_Dn::explodeDn($to); - } - - $newRdn = Zend_Ldap_Dn::implodeRdn(array_shift($newDnParts)); - $newParent = Zend_Ldap_Dn::implodeDn($newDnParts); - $isOK = @ldap_rename($this->getResource(), $from, $newRdn, $newParent, true); - if($isOK === false) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception($this, 'renaming ' . $from . ' to ' . $to); - } - else if (!$this->exists($to)) $emulate = true; - } - if ($emulate) { - $this->copy($from, $to, $recursively); - $this->delete($from, $recursively); - } - return $this; - } - - /** - * Copies a LDAP entry from one DN to another subtree. - * - * @param string|Zend_Ldap_Dn $from - * @param string|Zend_Ldap_Dn $to - * @param boolean $recursively - * @return Zend_Ldap Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function copyToSubtree($from, $to, $recursively = false) - { - if ($from instanceof Zend_Ldap_Dn) { - $orgDnParts = $from->toArray(); - } else { - $orgDnParts = Zend_Ldap_Dn::explodeDn($from); - } - - if ($to instanceof Zend_Ldap_Dn) { - $newParentDnParts = $to->toArray(); - } else { - $newParentDnParts = Zend_Ldap_Dn::explodeDn($to); - } - - $newDnParts = array_merge(array(array_shift($orgDnParts)), $newParentDnParts); - $newDn = Zend_Ldap_Dn::fromArray($newDnParts); - return $this->copy($from, $newDn, $recursively); - } - - /** - * Copies a LDAP entry from one DN to another DN. - * - * @param string|Zend_Ldap_Dn $from - * @param string|Zend_Ldap_Dn $to - * @param boolean $recursively - * @return Zend_Ldap Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function copy($from, $to, $recursively = false) - { - $entry = $this->getEntry($from, array(), true); - - if ($to instanceof Zend_Ldap_Dn) { - $toDnParts = $to->toArray(); - } else { - $toDnParts = Zend_Ldap_Dn::explodeDn($to); - } - $this->add($to, $entry); - - if ($recursively === true && $this->countChildren($from)>0) { - $children = $this->_getChildrenDns($from); - foreach ($children as $c) { - $cDnParts = Zend_Ldap_Dn::explodeDn($c); - $newChildParts = array_merge(array(array_shift($cDnParts)), $toDnParts); - $newChild = Zend_Ldap_Dn::implodeDn($newChildParts); - $this->copy($c, $newChild, true); - } - } - return $this; - } - - /** - * Returns the specified DN as a Zend_Ldap_Node - * - * @param string|Zend_Ldap_Dn $dn - * @return Zend_Ldap_Node - * @throws Zend_Ldap_Exception - */ - public function getNode($dn) - { - /** - * Zend_Ldap_Node - */ - require_once 'Zend/Ldap/Node.php'; - return Zend_Ldap_Node::fromLdap($dn, $this); - } - - /** - * Returns the base node as a Zend_Ldap_Node - * - * @return Zend_Ldap_Node - * @throws Zend_Ldap_Exception - */ - public function getBaseNode() - { - return $this->getNode($this->getBaseDn(), $this); - } - - /** - * Returns the RootDSE - * - * @return Zend_Ldap_Node_RootDse - * @throws Zend_Ldap_Exception - */ - public function getRootDse() - { - if ($this->_rootDse === null) { - /** - * @see Zend_Ldap_Node_Schema - */ - require_once 'Zend/Ldap/Node/RootDse.php'; - $this->_rootDse = Zend_Ldap_Node_RootDse::create($this); - } - return $this->_rootDse; - } - - /** - * Returns the schema - * - * @return Zend_Ldap_Node_Schema - * @throws Zend_Ldap_Exception - */ - public function getSchema() - { - if ($this->_schema === null) { - /** - * @see Zend_Ldap_Node_Schema - */ - require_once 'Zend/Ldap/Node/Schema.php'; - $this->_schema = Zend_Ldap_Node_Schema::create($this); - } - return $this->_schema; - } -} diff --git a/lib/zend/Zend/Ldap/Attribute.php b/lib/zend/Zend/Ldap/Attribute.php deleted file mode 100644 index 665efff394..0000000000 --- a/lib/zend/Zend/Ldap/Attribute.php +++ /dev/null @@ -1,420 +0,0 @@ -= 0 && $index_iterator = $iterator; - } - - public function __destruct() - { - $this->close(); - } - - /** - * Closes the current result set - * - * @return boolean - */ - public function close() - { - return $this->_iterator->close(); - } - - /** - * Get all entries as an array - * - * @return array - */ - public function toArray() - { - $data = array(); - foreach ($this as $item) { - $data[] = $item; - } - return $data; - } - - /** - * Get first entry - * - * @return array - */ - public function getFirst() - { - if ($this->count()>0) { - $this->rewind(); - return $this->current(); - } - else return null; - } - - /** - * Returns the number of items in current result - * Implements Countable - * - * @return int - */ - public function count() - { - return $this->_iterator->count(); - } - - /** - * Return the current result item - * Implements Iterator - * - * @return array - * @throws Zend_Ldap_Exception - */ - public function current() - { - if (!array_key_exists($this->_currentNumber, $this->_cache)) - { - $this->_cache[$this->_currentNumber] = - $this->_createEntry($this->_iterator->current()); - } - return $this->_cache[$this->_currentNumber]; - } - - /** - * Creates the data structure for the given entry data - * - * @param array $data - * @return array - */ - protected function _createEntry(array $data) - { - return $data; - } - - /** - * Return the result item key - * Implements Iterator - * - * @return int - */ - public function key() - { - return $this->_currentNumber; - } - - /** - * Move forward to next result item - * Implements Iterator - * - * @throws Zend_Ldap_Exception - */ - public function next() - { - $this->_iterator->next(); - $this->_currentNumber++; - } - - /** - * Rewind the Iterator to the first result item - * Implements Iterator - * - * @throws Zend_Ldap_Exception - */ - public function rewind() - { - $this->_iterator->rewind(); - $this->_currentNumber = 0; - } - - /** - * Check if there is a current result item - * after calls to rewind() or next() - * Implements Iterator - * - * @return boolean - */ - public function valid() - { - if (isset($this->_cache[$this->_currentNumber])) { - return true; - } else { - return $this->_iterator->valid(); - } - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Collection/Iterator/Default.php b/lib/zend/Zend/Ldap/Collection/Iterator/Default.php deleted file mode 100644 index 7d0ad476f4..0000000000 --- a/lib/zend/Zend/Ldap/Collection/Iterator/Default.php +++ /dev/null @@ -1,253 +0,0 @@ -_ldap = $ldap; - $this->_resultId = $resultId; - $this->_itemCount = @ldap_count_entries($ldap->getResource(), $resultId); - if ($this->_itemCount === false) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception($this->_ldap, 'counting entries'); - } - } - - public function __destruct() - { - $this->close(); - } - - /** - * Closes the current result set - * - * @return bool - */ - public function close() - { - $isClosed = false; - if (is_resource($this->_resultId)) { - $isClosed = @ldap_free_result($this->_resultId); - $this->_resultId = null; - $this->_currentDn = null; - $this->_current = null; - } - return $isClosed; - } - - /** - * Gets the current LDAP connection. - * - * @return Zend_Ldap - */ - public function getLdap() - { - return $this->_ldap; - } - - /** - * Returns the number of items in current result - * Implements Countable - * - * @return int - */ - public function count() - { - return $this->_itemCount; - } - - /** - * Return the current result item - * Implements Iterator - * - * @return array - * @throws Zend_Ldap_Exception - */ - public function current() - { - if (!is_resource($this->_current) || !is_string($this->_currentDn)) return null; - - $entry = array('dn' => $this->_currentDn); - $ber_identifier = null; - $name = @ldap_first_attribute($this->_ldap->getResource(), $this->_current, - $ber_identifier); - while ($name) - { - $data = @ldap_get_values_len($this->_ldap->getResource(), $this->_current, $name); - unset($data['count']); - $entry[strtolower($name)] = $data; - $name = @ldap_next_attribute($this->_ldap->getResource(), $this->_current, - $ber_identifier); - } - ksort($entry, SORT_LOCALE_STRING); - return $entry; - } - - /** - * Return the result item key - * Implements Iterator - * - * @return int - */ - public function key() - { - return $this->_currentDn; - } - - /** - * Move forward to next result item - * Implements Iterator - * - * @throws Zend_Ldap_Exception - */ - public function next() - { - if (!is_resource($this->_current)) return; - $this->_current = @ldap_next_entry($this->_ldap->getResource(), $this->_current); - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - if ($this->_current === false) { - $msg = $this->_ldap->getLastError($code); - if ($code === Zend_Ldap_Exception::LDAP_SIZELIMIT_EXCEEDED) { - // we have reached the size limit enforced by the server - return; - } else if ($code > Zend_Ldap_Exception::LDAP_SUCCESS) { - throw new Zend_Ldap_Exception($this->_ldap, 'getting next entry (' . $msg . ')'); - } - } - $this->_storeCurrentDn(); - } - - /** - * Rewind the Iterator to the first result item - * Implements Iterator - * - * @throws Zend_Ldap_Exception - */ - public function rewind() - { - if (!is_resource($this->_resultId)) return; - $this->_current = @ldap_first_entry($this->_ldap->getResource(), $this->_resultId); - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - if ($this->_current === false && - $this->_ldap->getLastErrorCode() > Zend_Ldap_Exception::LDAP_SUCCESS) { - throw new Zend_Ldap_Exception($this->_ldap, 'getting first entry'); - } - - $this->_storeCurrentDn(); - } - - /** - * Stores the current DN - * - * @return void - * @throws Zend_Ldap_Exception - */ - protected function _storeCurrentDn() - { - if (is_resource($this->_current)) { - $this->_currentDn = @ldap_get_dn($this->_ldap->getResource(), $this->_current); - if ($this->_currentDn === false) { - throw new Zend_Ldap_Exception($this->_ldap, 'getting dn'); - } - } else { - $this->_currentDn = null; - } - } - - /** - * Check if there is a current result item - * after calls to rewind() or next() - * Implements Iterator - * - * @return boolean - */ - public function valid() - { - return (is_resource($this->_current) && is_string($this->_currentDn)); - } - -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Collection/Iterator/Interface.php b/lib/zend/Zend/Ldap/Collection/Iterator/Interface.php deleted file mode 100644 index 56f4f28062..0000000000 --- a/lib/zend/Zend/Ldap/Collection/Iterator/Interface.php +++ /dev/null @@ -1,46 +0,0 @@ - - * @link http://pear.php.net/package/Net_LDAP2 - * @author Benedikt Hallinger - * - * @param string $string String to convert - * @return string - */ - public static function ascToHex32($string) - { - for ($i = 0; $i, - * heavily based on work from DavidSmith@byu.net - * @link http://pear.php.net/package/Net_LDAP2 - * @author Benedikt Hallinger , heavily based on work from DavidSmith@byu.net - * - * @param string $string String to convert - * @return string - */ - public static function hex32ToAsc($string) - { - $string = preg_replace("/\\\([0-9A-Fa-f]{2})/e", "''.chr(hexdec('\\1')).''", $string); - return $string; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Dn.php b/lib/zend/Zend/Ldap/Dn.php deleted file mode 100644 index eefd3e5ea6..0000000000 --- a/lib/zend/Zend/Ldap/Dn.php +++ /dev/null @@ -1,794 +0,0 @@ -_dn = $dn; - $this->setCaseFold($caseFold); - } - - /** - * Gets the RDN of the current DN - * - * @param string $caseFold - * @return array - * @throws Zend_Ldap_Exception if DN has no RDN (empty array) - */ - public function getRdn($caseFold = null) - { - $caseFold = self::_sanitizeCaseFold($caseFold, $this->_caseFold); - return self::_caseFoldRdn($this->get(0, 1, $caseFold), null); - } - - /** - * Gets the RDN of the current DN as a string - * - * @param string $caseFold - * @return string - * @throws Zend_Ldap_Exception if DN has no RDN (empty array) - */ - public function getRdnString($caseFold = null) - { - $caseFold = self::_sanitizeCaseFold($caseFold, $this->_caseFold); - return self::implodeRdn($this->getRdn(), $caseFold); - } - - /** - * Get the parent DN $levelUp levels up the tree - * - * @param int $levelUp - * @return Zend_Ldap_Dn - */ - public function getParentDn($levelUp = 1) - { - $levelUp = (int)$levelUp; - if ($levelUp < 1 || $levelUp >= count($this->_dn)) { - /** - * Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'Cannot retrieve parent DN with given $levelUp'); - } - $newDn = array_slice($this->_dn, $levelUp); - return new self($newDn, $this->_caseFold); - } - - /** - * Get a DN part - * - * @param int $index - * @param int $length - * @param string $caseFold - * @return array - * @throws Zend_Ldap_Exception if index is illegal - */ - public function get($index, $length = 1, $caseFold = null) - { - $caseFold = self::_sanitizeCaseFold($caseFold, $this->_caseFold); - $this->_assertIndex($index); - $length = (int)$length; - if ($length <= 0) { - $length = 1; - } - if ($length === 1) { - return self::_caseFoldRdn($this->_dn[$index], $caseFold); - } - else { - return self::_caseFoldDn(array_slice($this->_dn, $index, $length, false), $caseFold); - } - } - - /** - * Set a DN part - * - * @param int $index - * @param array $value - * @return Zend_Ldap_Dn Provides a fluent interface - * @throws Zend_Ldap_Exception if index is illegal - */ - public function set($index, array $value) - { - $this->_assertIndex($index); - self::_assertRdn($value); - $this->_dn[$index] = $value; - return $this; - } - - /** - * Remove a DN part - * - * @param int $index - * @param int $length - * @return Zend_Ldap_Dn Provides a fluent interface - * @throws Zend_Ldap_Exception if index is illegal - */ - public function remove($index, $length = 1) - { - $this->_assertIndex($index); - $length = (int)$length; - if ($length <= 0) { - $length = 1; - } - array_splice($this->_dn, $index, $length, null); - return $this; - } - - /** - * Append a DN part - * - * @param array $value - * @return Zend_Ldap_Dn Provides a fluent interface - */ - public function append(array $value) - { - self::_assertRdn($value); - $this->_dn[] = $value; - return $this; - } - - /** - * Prepend a DN part - * - * @param array $value - * @return Zend_Ldap_Dn Provides a fluent interface - */ - public function prepend(array $value) - { - self::_assertRdn($value); - array_unshift($this->_dn, $value); - return $this; - } - - /** - * Insert a DN part - * - * @param int $index - * @param array $value - * @return Zend_Ldap_Dn Provides a fluent interface - * @throws Zend_Ldap_Exception if index is illegal - */ - public function insert($index, array $value) - { - $this->_assertIndex($index); - self::_assertRdn($value); - $first = array_slice($this->_dn, 0, $index + 1); - $second = array_slice($this->_dn, $index + 1); - $this->_dn = array_merge($first, array($value), $second); - return $this; - } - - /** - * Assert index is correct and usable - * - * @param mixed $index - * @return boolean - * @throws Zend_Ldap_Exception - */ - protected function _assertIndex($index) - { - if (!is_int($index)) { - /** - * Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'Parameter $index must be an integer'); - } - if ($index < 0 || $index >= count($this->_dn)) { - /** - * Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'Parameter $index out of bounds'); - } - return true; - } - - /** - * Assert if value is in a correct RDN format - * - * @param array $value - * @return boolean - * @throws Zend_Ldap_Exception - */ - protected static function _assertRdn(array $value) - { - if (count($value)<1) { - /** - * Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'RDN Array is malformed: it must have at least one item'); - } - - foreach (array_keys($value) as $key) { - if (!is_string($key)) { - /** - * Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'RDN Array is malformed: it must use string keys'); - } - } - } - - /** - * Sets the case fold - * - * @param string|null $caseFold - */ - public function setCaseFold($caseFold) - { - $this->_caseFold = self::_sanitizeCaseFold($caseFold, self::$_defaultCaseFold); - } - - /** - * Return DN as a string - * - * @param string $caseFold - * @return string - * @throws Zend_Ldap_Exception - */ - public function toString($caseFold = null) - { - $caseFold = self::_sanitizeCaseFold($caseFold, $this->_caseFold); - return self::implodeDn($this->_dn, $caseFold); - } - - /** - * Return DN as an array - * - * @param string $caseFold - * @return array - */ - public function toArray($caseFold = null) - { - $caseFold = self::_sanitizeCaseFold($caseFold, $this->_caseFold); - - if ($caseFold === self::ATTR_CASEFOLD_NONE) { - return $this->_dn; - } else { - return self::_caseFoldDn($this->_dn, $caseFold); - } - } - - /** - * Do a case folding on a RDN - * - * @param array $part - * @param string $caseFold - * @return array - */ - protected static function _caseFoldRdn(array $part, $caseFold) - { - switch ($caseFold) { - case self::ATTR_CASEFOLD_UPPER: - return array_change_key_case($part, CASE_UPPER); - case self::ATTR_CASEFOLD_LOWER: - return array_change_key_case($part, CASE_LOWER); - case self::ATTR_CASEFOLD_NONE: - default: - return $part; - } - } - - /** - * Do a case folding on a DN ort part of it - * - * @param array $dn - * @param string $caseFold - * @return array - */ - protected static function _caseFoldDn(array $dn, $caseFold) - { - $return = array(); - foreach ($dn as $part) { - $return[] = self::_caseFoldRdn($part, $caseFold); - } - return $return; - } - - /** - * Cast to string representation {@see toString()} - * - * @return string - */ - public function __toString() - { - return $this->toString(); - } - - /** - * Required by the ArrayAccess implementation - * - * @param int $offset - * @return boolean - */ - public function offsetExists($offset) - { - $offset = (int)$offset; - if ($offset < 0 || $offset >= count($this->_dn)) { - return false; - } else { - return true; - } - } - - /** - * Proxy to {@see get()} - * Required by the ArrayAccess implementation - * - * @param int $offset - * @return array - */ - public function offsetGet($offset) - { - return $this->get($offset, 1, null); - } - - /** - * Proxy to {@see set()} - * Required by the ArrayAccess implementation - * - * @param int $offset - * @param array $value - */ - public function offsetSet($offset, $value) - { - $this->set($offset, $value); - } - - /** - * Proxy to {@see remove()} - * Required by the ArrayAccess implementation - * - * @param int $offset - */ - public function offsetUnset($offset) - { - $this->remove($offset, 1); - } - - /** - * Sets the default case fold - * - * @param string $caseFold - */ - public static function setDefaultCaseFold($caseFold) - { - self::$_defaultCaseFold = self::_sanitizeCaseFold($caseFold, self::ATTR_CASEFOLD_NONE); - } - - /** - * Sanitizes the case fold - * - * @param string $caseFold - * @return string - */ - protected static function _sanitizeCaseFold($caseFold, $default) - { - switch ($caseFold) { - case self::ATTR_CASEFOLD_NONE: - case self::ATTR_CASEFOLD_UPPER: - case self::ATTR_CASEFOLD_LOWER: - return $caseFold; - break; - default: - return $default; - break; - } - } - - /** - * Escapes a DN value according to RFC 2253 - * - * Escapes the given VALUES according to RFC 2253 so that they can be safely used in LDAP DNs. - * The characters ",", "+", """, "\", "<", ">", ";", "#", " = " with a special meaning in RFC 2252 - * are preceeded by ba backslash. Control characters with an ASCII code < 32 are represented as \hexpair. - * Finally all leading and trailing spaces are converted to sequences of \20. - * @see Net_LDAP2_Util::escape_dn_value() from Benedikt Hallinger - * @link http://pear.php.net/package/Net_LDAP2 - * @author Benedikt Hallinger - * - * @param string|array $values An array containing the DN values that should be escaped - * @return array The array $values, but escaped - */ - public static function escapeValue($values = array()) - { - /** - * @see Zend_Ldap_Converter - */ - require_once 'Zend/Ldap/Converter.php'; - - if (!is_array($values)) $values = array($values); - foreach ($values as $key => $val) { - // Escaping of filter meta characters - $val = str_replace(array('\\', ',', '+', '"', '<', '>', ';', '#', '=', ), - array('\\\\', '\,', '\+', '\"', '\<', '\>', '\;', '\#', '\='), $val); - $val = Zend_Ldap_Converter::ascToHex32($val); - - // Convert all leading and trailing spaces to sequences of \20. - if (preg_match('/^(\s*)(.+?)(\s*)$/', $val, $matches)) { - $val = $matches[2]; - for ($i = 0; $i - * @link http://pear.php.net/package/Net_LDAP2 - * @author Benedikt Hallinger - * - * @param string|array $values Array of DN Values - * @return array Same as $values, but unescaped - */ - public static function unescapeValue($values = array()) - { - /** - * @see Zend_Ldap_Converter - */ - require_once 'Zend/Ldap/Converter.php'; - - if (!is_array($values)) $values = array($values); - foreach ($values as $key => $val) { - // strip slashes from special chars - $val = str_replace(array('\\\\', '\,', '\+', '\"', '\<', '\>', '\;', '\#', '\='), - array('\\', ',', '+', '"', '<', '>', ';', '#', '=', ), $val); - $values[$key] = Zend_Ldap_Converter::hex32ToAsc($val); - } - return (count($values) == 1) ? $values[0] : $values; - } - - /** - * Creates an array containing all parts of the given DN. - * - * Array will be of type - * array( - * array("cn" => "name1", "uid" => "user"), - * array("cn" => "name2"), - * array("dc" => "example"), - * array("dc" => "org") - * ) - * for a DN of cn=name1+uid=user,cn=name2,dc=example,dc=org. - * - * @param string $dn - * @param array $keys An optional array to receive DN keys (e.g. CN, OU, DC, ...) - * @param array $vals An optional array to receive DN values - * @param string $caseFold - * @return array - * @throws Zend_Ldap_Exception - */ - public static function explodeDn($dn, array &$keys = null, array &$vals = null, - $caseFold = self::ATTR_CASEFOLD_NONE) - { - $k = array(); - $v = array(); - if (!self::checkDn($dn, $k, $v, $caseFold)) { - /** - * Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'DN is malformed'); - } - $ret = array(); - for ($i = 0; $i < count($k); $i++) { - if (is_array($k[$i]) && is_array($v[$i]) && (count($k[$i]) === count($v[$i]))) { - $multi = array(); - for ($j = 0; $j < count($k[$i]); $j++) { - $key=$k[$i][$j]; - $val=$v[$i][$j]; - $multi[$key] = $val; - } - $ret[] = $multi; - } else if (is_string($k[$i]) && is_string($v[$i])) { - $ret[] = array($k[$i] => $v[$i]); - } - } - if (!is_null($keys)) $keys = $k; - if (!is_null($vals)) $vals = $v; - return $ret; - } - - /** - * @param string $dn The DN to parse - * @param array $keys An optional array to receive DN keys (e.g. CN, OU, DC, ...) - * @param array $vals An optional array to receive DN values - * @param string $caseFold - * @return boolean True if the DN was successfully parsed or false if the string is not a valid DN. - */ - public static function checkDn($dn, array &$keys = null, array &$vals = null, - $caseFold = self::ATTR_CASEFOLD_NONE) - { - /* This is a classic state machine parser. Each iteration of the - * loop processes one character. State 1 collects the key. When equals ( = ) - * is encountered the state changes to 2 where the value is collected - * until a comma (,) or semicolon (;) is encountered after which we switch back - * to state 1. If a backslash (\) is encountered, state 3 is used to collect the - * following character without engaging the logic of other states. - */ - $key = null; - $value = null; - $slen = strlen($dn); - $state = 1; - $ko = $vo = 0; - $multi = false; - $ka = array(); - $va = array(); - for ($di = 0; $di <= $slen; $di++) { - $ch = ($di == $slen) ? 0 : $dn[$di]; - switch ($state) { - case 1: // collect key - if ($ch === '=') { - $key = trim(substr($dn, $ko, $di - $ko)); - if ($caseFold == self::ATTR_CASEFOLD_LOWER) $key = strtolower($key); - else if ($caseFold == self::ATTR_CASEFOLD_UPPER) $key = strtoupper($key); - if (is_array($multi)) { - $keyId = strtolower($key); - if (in_array($keyId, $multi)) { - return false; - } - $ka[count($ka)-1][] = $key; - $multi[] = $keyId; - } else { - $ka[] = $key; - } - $state = 2; - $vo = $di + 1; - } else if ($ch === ',' || $ch === ';' || $ch === '+') { - return false; - } - break; - case 2: // collect value - if ($ch === '\\') { - $state = 3; - } else if ($ch === ',' || $ch === ';' || $ch === 0 || $ch === '+') { - $value = self::unescapeValue(trim(substr($dn, $vo, $di - $vo))); - if (is_array($multi)) { - $va[count($va)-1][] = $value; - } else { - $va[] = $value; - } - $state = 1; - $ko = $di + 1; - if ($ch === '+' && $multi === false) { - $lastKey = array_pop($ka); - $lastVal = array_pop($va); - $ka[] = array($lastKey); - $va[] = array($lastVal); - $multi = array(strtolower($lastKey)); - } else if ($ch === ','|| $ch === ';' || $ch === 0) { - $multi = false; - } - } else if ($ch === '=') { - return false; - } - break; - case 3: // escaped - $state = 2; - break; - } - } - - if ($keys !== null) { - $keys = $ka; - } - if ($vals !== null) { - $vals = $va; - } - - return ($state === 1 && $ko > 0); - } - - /** - * Returns a DN part in the form $attribute = $value - * - * This method supports the creation of multi-valued RDNs - * $part must contain an even number of elemets. - * - * @param array $attribute - * @param string $caseFold - * @return string - * @throws Zend_Ldap_Exception - */ - public static function implodeRdn(array $part, $caseFold = null) - { - self::_assertRdn($part); - $part = self::_caseFoldRdn($part, $caseFold); - $rdnParts = array(); - foreach ($part as $key => $value) { - $value = self::escapeValue($value); - $keyId = strtolower($key); - $rdnParts[$keyId] = implode('=', array($key, $value)); - } - ksort($rdnParts, SORT_STRING); - return implode('+', $rdnParts); - } - - /** - * Implodes an array in the form delivered by {@link explodeDn()} - * to a DN string. - * - * $dnArray must be of type - * array( - * array("cn" => "name1", "uid" => "user"), - * array("cn" => "name2"), - * array("dc" => "example"), - * array("dc" => "org") - * ) - * - * @param array $dnArray - * @param string $caseFold - * @param string $separator - * @return string - * @throws Zend_Ldap_Exception - */ - public static function implodeDn(array $dnArray, $caseFold = null, $separator = ',') - { - $parts = array(); - foreach ($dnArray as $p) { - $parts[] = self::implodeRdn($p, $caseFold); - } - return implode($separator, $parts); - } - - /** - * Checks if given $childDn is beneath $parentDn subtree. - * - * @param string|Zend_Ldap_Dn $childDn - * @param string|Zend_Ldap_Dn $parentDn - * @return boolean - */ - public static function isChildOf($childDn, $parentDn) - { - try { - $keys = array(); - $vals = array(); - if ($childDn instanceof Zend_Ldap_Dn) { - $cdn = $childDn->toArray(Zend_Ldap_Dn::ATTR_CASEFOLD_LOWER); - } else { - $cdn = self::explodeDn($childDn, $keys, $vals, Zend_Ldap_Dn::ATTR_CASEFOLD_LOWER); - } - if ($parentDn instanceof Zend_Ldap_Dn) { - $pdn = $parentDn->toArray(Zend_Ldap_Dn::ATTR_CASEFOLD_LOWER); - } else { - $pdn = self::explodeDn($parentDn, $keys, $vals, Zend_Ldap_Dn::ATTR_CASEFOLD_LOWER); - } - } - catch (Zend_Ldap_Exception $e) { - return false; - } - - $startIndex = count($cdn)-count($pdn); - if ($startIndex<0) return false; - for ($i = 0; $igetLastError($code, $errorMessages) . ': '; - if ($code === 0) { - $message = ''; - $code = $oldCode; - } - } - if (empty($message)) { - if ($code > 0) { - $message = '0x' . dechex($code) . ': '; - } - } - - if (!empty($str)) { - $message .= $str; - } else { - $message .= 'no exception message'; - } - - parent::__construct($message, $code); - } - - - /** - * @deprecated not necessary any more - will be removed - * @param Zend_Ldap $ldap A Zend_Ldap object - * @return int The current error code for the resource - */ - public static function getLdapCode(Zend_Ldap $ldap = null) - { - if ($ldap !== null) { - return $ldap->getLastErrorCode(); - } - return 0; - } - - /** - * @deprecated will be removed - * @return int The current error code for this exception - */ - public function getErrorCode() - { - return $this->getCode(); - } -} diff --git a/lib/zend/Zend/Ldap/Filter.php b/lib/zend/Zend/Ldap/Filter.php deleted file mode 100644 index 2d937cdd64..0000000000 --- a/lib/zend/Zend/Ldap/Filter.php +++ /dev/null @@ -1,265 +0,0 @@ -'; - const TYPE_GREATEROREQUAL = '>='; - const TYPE_LESS = '<'; - const TYPE_LESSOREQUAL = '<='; - const TYPE_APPROX = '~='; - - /** - * Creates an 'equals' filter. - * (attr=value) - * - * @param string $attr - * @param string $value - * @return Zend_Ldap_Filter - */ - public static function equals($attr, $value) - { - return new self($attr, $value, self::TYPE_EQUALS, null, null); - } - - /** - * Creates a 'begins with' filter. - * (attr=value*) - * - * @param string $attr - * @param string $value - * @return Zend_Ldap_Filter - */ - public static function begins($attr, $value) - { - return new self($attr, $value, self::TYPE_EQUALS, null, '*'); - } - - /** - * Creates an 'ends with' filter. - * (attr=*value) - * - * @param string $attr - * @param string $value - * @return Zend_Ldap_Filter - */ - public static function ends($attr, $value) - { - return new self($attr, $value, self::TYPE_EQUALS, '*', null); - } - - /** - * Creates a 'contains' filter. - * (attr=*value*) - * - * @param string $attr - * @param string $value - * @return Zend_Ldap_Filter - */ - public static function contains($attr, $value) - { - return new self($attr, $value, self::TYPE_EQUALS, '*', '*'); - } - - /** - * Creates a 'greater' filter. - * (attr>value) - * - * @param string $attr - * @param string $value - * @return Zend_Ldap_Filter - */ - public static function greater($attr, $value) - { - return new self($attr, $value, self::TYPE_GREATER, null, null); - } - - /** - * Creates a 'greater or equal' filter. - * (attr>=value) - * - * @param string $attr - * @param string $value - * @return Zend_Ldap_Filter - */ - public static function greaterOrEqual($attr, $value) - { - return new self($attr, $value, self::TYPE_GREATEROREQUAL, null, null); - } - - /** - * Creates a 'less' filter. - * (attrtoString(); - } - - /** - * Negates the filter. - * - * @return Zend_Ldap_Filter_Abstract - */ - public function negate() - { - /** - * Zend_Ldap_Filter_Not - */ - require_once 'Zend/Ldap/Filter/Not.php'; - return new Zend_Ldap_Filter_Not($this); - } - - /** - * Creates an 'and' filter. - * - * @param Zend_Ldap_Filter_Abstract $filter,... - * @return Zend_Ldap_Filter_And - */ - public function addAnd($filter) - { - /** - * Zend_Ldap_Filter_And - */ - require_once 'Zend/Ldap/Filter/And.php'; - $fa = func_get_args(); - $args = array_merge(array($this), $fa); - return new Zend_Ldap_Filter_And($args); - } - - /** - * Creates an 'or' filter. - * - * @param Zend_Ldap_Filter_Abstract $filter,... - * @return Zend_Ldap_Filter_Or - */ - public function addOr($filter) - { - /** - * Zend_Ldap_Filter_Or - */ - require_once 'Zend/Ldap/Filter/Or.php'; - $fa = func_get_args(); - $args = array_merge(array($this), $fa); - return new Zend_Ldap_Filter_Or($args); - } - - /** - * Escapes the given VALUES according to RFC 2254 so that they can be safely used in LDAP filters. - * - * Any control characters with an ACII code < 32 as well as the characters with special meaning in - * LDAP filters "*", "(", ")", and "\" (the backslash) are converted into the representation of a - * backslash followed by two hex digits representing the hexadecimal value of the character. - * @see Net_LDAP2_Util::escape_filter_value() from Benedikt Hallinger - * @link http://pear.php.net/package/Net_LDAP2 - * @author Benedikt Hallinger - * - * @param string|array $values Array of values to escape - * @return array Array $values, but escaped - */ - public static function escapeValue($values = array()) - { - /** - * @see Zend_Ldap_Converter - */ - require_once 'Zend/Ldap/Converter.php'; - - if (!is_array($values)) $values = array($values); - foreach ($values as $key => $val) { - // Escaping of filter meta characters - $val = str_replace(array('\\', '*', '(', ')'), array('\5c', '\2a', '\28', '\29'), $val); - // ASCII < 32 escaping - $val = Zend_Ldap_Converter::ascToHex32($val); - if (null === $val) $val = '\0'; // apply escaped "null" if string is empty - $values[$key] = $val; - } - return (count($values) == 1) ? $values[0] : $values; - } - - /** - * Undoes the conversion done by {@link escapeValue()}. - * - * Converts any sequences of a backslash followed by two hex digits into the corresponding character. - * @see Net_LDAP2_Util::escape_filter_value() from Benedikt Hallinger - * @link http://pear.php.net/package/Net_LDAP2 - * @author Benedikt Hallinger - * - * @param string|array $values Array of values to escape - * @return array Array $values, but unescaped - */ - public static function unescapeValue($values = array()) - { - /** - * @see Zend_Ldap_Converter - */ - require_once 'Zend/Ldap/Converter.php'; - - if (!is_array($values)) $values = array($values); - foreach ($values as $key => $value) { - // Translate hex code into ascii - $values[$key] = Zend_Ldap_Converter::hex32ToAsc($value); - } - return (count($values) == 1) ? $values[0] : $values; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Filter/And.php b/lib/zend/Zend/Ldap/Filter/And.php deleted file mode 100644 index b8d2dd0775..0000000000 --- a/lib/zend/Zend/Ldap/Filter/And.php +++ /dev/null @@ -1,48 +0,0 @@ - $s) { - if (is_string($s)) $subfilters[$key] = new Zend_Ldap_Filter_String($s); - else if (!($s instanceof Zend_Ldap_Filter_Abstract)) { - /** - * @see Zend_Ldap_Filter_Exception - */ - require_once 'Zend/Ldap/Filter/Exception.php'; - throw new Zend_Ldap_Filter_Exception('Only strings or Zend_Ldap_Filter_Abstract allowed.'); - } - } - $this->_subfilters = $subfilters; - $this->_symbol = $symbol; - } - - /** - * Adds a filter to this grouping filter. - * - * @param Zend_Ldap_Filter_Abstract $filter - * @return Zend_Ldap_Filter_Logical - */ - public function addFilter(Zend_Ldap_Filter_Abstract $filter) - { - $new = clone $this; - $new->_subfilters[] = $filter; - return $new; - } - - /** - * Returns a string representation of the filter. - * - * @return string - */ - public function toString() - { - $return = '(' . $this->_symbol; - foreach ($this->_subfilters as $sub) $return .= $sub->toString(); - $return .= ')'; - return $return; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Filter/Mask.php b/lib/zend/Zend/Ldap/Filter/Mask.php deleted file mode 100644 index dc7e94c3ce..0000000000 --- a/lib/zend/Zend/Ldap/Filter/Mask.php +++ /dev/null @@ -1,66 +0,0 @@ -_filter; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Filter/Not.php b/lib/zend/Zend/Ldap/Filter/Not.php deleted file mode 100644 index 97d06cfd50..0000000000 --- a/lib/zend/Zend/Ldap/Filter/Not.php +++ /dev/null @@ -1,75 +0,0 @@ -_filter = $filter; - } - - /** - * Negates the filter. - * - * @return Zend_Ldap_Filter_Abstract - */ - public function negate() - { - return $this->_filter; - } - - /** - * Returns a string representation of the filter. - * - * @return string - */ - public function toString() - { - return '(!' . $this->_filter->toString() . ')'; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Filter/Or.php b/lib/zend/Zend/Ldap/Filter/Or.php deleted file mode 100644 index 760131f77b..0000000000 --- a/lib/zend/Zend/Ldap/Filter/Or.php +++ /dev/null @@ -1,48 +0,0 @@ -_filter = $filter; - } - - /** - * Returns a string representation of the filter. - * - * @return string - */ - public function toString() - { - return '(' . $this->_filter . ')'; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Ldif/Encoder.php b/lib/zend/Zend/Ldap/Ldif/Encoder.php deleted file mode 100644 index 8ab8a5bb78..0000000000 --- a/lib/zend/Zend/Ldap/Ldif/Encoder.php +++ /dev/null @@ -1,304 +0,0 @@ - true, - 'version' => 1, - 'wrap' => 78 - ); - - /** - * @var boolean - */ - protected $_versionWritten = false; - - /** - * Constructor. - * - * @param array $options Additional options used during encoding - * @return void - */ - protected function __construct(array $options = array()) - { - $this->_options = array_merge($this->_options, $options); - } - - /** - * Decodes the string $string into an array of LDIF items - * - * @param string $string - * @return array - */ - public static function decode($string) - { - $encoder = new self(array()); - return $encoder->_decode($string); - } - - /** - * Decodes the string $string into an array of LDIF items - * - * @param string $string - * @return array - */ - protected function _decode($string) - { - $items = array(); - $item = array(); - $last = null; - foreach (explode("\n", $string) as $line) { - $line = rtrim($line, "\x09\x0A\x0D\x00\x0B"); - $matches = array(); - if (substr($line, 0, 1) === ' ' && $last !== null) { - $last[2] .= substr($line, 1); - } else if (substr($line, 0, 1) === '#') { - continue; - } else if (preg_match('/^([a-z0-9;-]+)(:[:<]?\s*)([^:<]*)$/i', $line, $matches)) { - $name = strtolower($matches[1]); - $type = trim($matches[2]); - $value = $matches[3]; - if ($last !== null) { - $this->_pushAttribute($last, $item); - } - if ($name === 'version') { - continue; - } else if (count($item) > 0 && $name === 'dn') { - $items[] = $item; - $item = array(); - $last = null; - } - $last = array($name, $type, $value); - } else if (trim($line) === '') { - continue; - } - } - if ($last !== null) { - $this->_pushAttribute($last, $item); - } - $items[] = $item; - return (count($items)>1) ? $items : $items[0]; - } - - /** - * Pushes a decoded attribute to the stack - * - * @param array $attribute - * @param array $entry - */ - protected function _pushAttribute(array $attribute, array &$entry) - { - $name = $attribute[0]; - $type = $attribute[1]; - $value = $attribute[2]; - if ($type === '::') { - $value = base64_decode($value); - } - if ($name === 'dn') { - $entry[$name] = $value; - } else if (isset($entry[$name]) && $value !== '') { - $entry[$name][] = $value; - } else { - $entry[$name] = ($value !== '') ? array($value) : array(); - } - } - - /** - * Encode $value into a LDIF representation - * - * @param mixed $value The value to be encoded - * @param array $options Additional options used during encoding - * @return string The encoded value - */ - public static function encode($value, array $options = array()) - { - $encoder = new self($options); - return $encoder->_encode($value); - } - - /** - * Recursive driver which determines the type of value to be encoded - * and then dispatches to the appropriate method. - * - * @param mixed $value The value to be encoded - * @return string Encoded value - */ - protected function _encode($value) - { - if (is_scalar($value)) { - return $this->_encodeString($value); - } else if (is_array($value)) { - return $this->_encodeAttributes($value); - } else if ($value instanceof Zend_Ldap_Node) { - return $value->toLdif($this->_options); - } - return null; - } - - /** - * Encodes $string according to RFC2849 - * - * @link http://www.faqs.org/rfcs/rfc2849.html - * - * @param string $string - * @param boolen $base64 - * @return string - */ - protected function _encodeString($string, &$base64 = null) - { - $string = (string)$string; - if (empty($string)) { - return ''; - } - - /* - * SAFE-INIT-CHAR = %x01-09 / %x0B-0C / %x0E-1F / - * %x21-39 / %x3B / %x3D-7F - * ; any value <= 127 except NUL, LF, CR, - * ; SPACE, colon (":", ASCII 58 decimal) - * ; and less-than ("<" , ASCII 60 decimal) - * - */ - $unsafe_init_char = array(0, 10, 13, 32, 58, 60); - /* - * SAFE-CHAR = %x01-09 / %x0B-0C / %x0E-7F - * ; any value <= 127 decimal except NUL, LF, - * ; and CR - */ - $unsafe_char = array(0, 10, 13); - - $base64 = false; - for ($i = 0; $i < strlen($string); $i++) { - $char = ord(substr($string, $i, 1)); - if ($char >= 127) { - $base64 = true; - break; - } else if ($i === 0 && in_array($char, $unsafe_init_char)) { - $base64 = true; - break; - } else if (in_array($char, $unsafe_char)) { - $base64 = true; - break; - } - } - // Test for ending space - if (substr($string, -1) == ' ') { - $base64 = true; - } - - if ($base64 === true) { - $string = base64_encode($string); - } - - return $string; - } - - /** - * Encodes an attribute with $name and $value according to RFC2849 - * - * @link http://www.faqs.org/rfcs/rfc2849.html - * - * @param string $name - * @param array|string $value - * @return string - */ - protected function _encodeAttribute($name, $value) - { - if (!is_array($value)) { - $value = array($value); - } - - $output = ''; - - if (count($value) < 1) { - return $name . ': '; - } - - foreach ($value as $v) { - $base64 = null; - $v = $this->_encodeString($v, $base64); - $attribute = $name . ':'; - if ($base64 === true) { - $attribute .= ': ' . $v; - } else { - $attribute .= ' ' . $v; - } - if (isset($this->_options['wrap']) && strlen($attribute) > $this->_options['wrap']) { - $attribute = trim(chunk_split($attribute, $this->_options['wrap'], PHP_EOL . ' ')); - } - $output .= $attribute . PHP_EOL; - } - return trim($output, PHP_EOL); - } - - /** - * Encodes a collection of attributes according to RFC2849 - * - * @link http://www.faqs.org/rfcs/rfc2849.html - * - * @param array $attributes - * @return string - */ - protected function _encodeAttributes(array $attributes) - { - $string = ''; - $attributes = array_change_key_case($attributes, CASE_LOWER); - if (!$this->_versionWritten && array_key_exists('dn', $attributes) && isset($this->_options['version']) - && array_key_exists('objectclass', $attributes)) { - $string .= sprintf('version: %d', $this->_options['version']) . PHP_EOL; - $this->_versionWritten = true; - } - - if (isset($this->_options['sort']) && $this->_options['sort'] === true) { - ksort($attributes, SORT_STRING); - if (array_key_exists('objectclass', $attributes)) { - $oc = $attributes['objectclass']; - unset($attributes['objectclass']); - $attributes = array_merge(array('objectclass' => $oc), $attributes); - } - if (array_key_exists('dn', $attributes)) { - $dn = $attributes['dn']; - unset($attributes['dn']); - $attributes = array_merge(array('dn' => $dn), $attributes); - } - } - foreach ($attributes as $key => $value) { - $string .= $this->_encodeAttribute($key, $value) . PHP_EOL; - } - return trim($string, PHP_EOL); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Node.php b/lib/zend/Zend/Ldap/Node.php deleted file mode 100644 index fa63de0b8c..0000000000 --- a/lib/zend/Zend/Ldap/Node.php +++ /dev/null @@ -1,1098 +0,0 @@ -attachLdap($ldap); - else $this->detachLdap(); - } - - /** - * Serialization callback - * - * Only DN and attributes will be serialized. - * - * @return array - */ - public function __sleep() - { - return array('_dn', '_currentData', '_newDn', '_originalData', - '_new', '_delete', '_children'); - } - - /** - * Deserialization callback - * - * Enforces a detached node. - * - * @return null - */ - public function __wakeup() - { - $this->detachLdap(); - } - - /** - * Gets the current LDAP connection. - * - * @return Zend_Ldap - * @throws Zend_Ldap_Exception - */ - public function getLdap() - { - if (is_null($this->_ldap)) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'No LDAP connection specified.', Zend_Ldap_Exception::LDAP_OTHER); - } - else return $this->_ldap; - } - - /** - * Attach node to an LDAP connection - * - * This is an offline method. - * - * @uses Zend_Ldap_Dn::isChildOf() - * @param Zend_Ldap $ldap - * @return Zend_Ldap_Node Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function attachLdap(Zend_Ldap $ldap) - { - if (!Zend_Ldap_Dn::isChildOf($this->_getDn(), $ldap->getBaseDn())) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'LDAP connection is not responsible for given node.', - Zend_Ldap_Exception::LDAP_OTHER); - } - - if ($ldap !== $this->_ldap) { - $this->_ldap = $ldap; - if (is_array($this->_children)) { - foreach ($this->_children as $child) { - $child->attachLdap($ldap); - } - } - } - return $this; - } - - /** - * Detach node from LDAP connection - * - * This is an offline method. - * - * @return Zend_Ldap_Node Provides a fluid interface - */ - public function detachLdap() - { - $this->_ldap = null; - if (is_array($this->_children)) { - foreach ($this->_children as $child) { - $child->detachLdap(); - } - } - return $this; - } - - /** - * Checks if the current node is attached to a LDAP server. - * - * This is an offline method. - * - * @return boolean - */ - public function isAttached() - { - return (!is_null($this->_ldap)); - } - - /** - * @param array $data - * @param boolean $fromDataSource - * @throws Zend_Ldap_Exception - */ - protected function _loadData(array $data, $fromDataSource) - { - parent::_loadData($data, $fromDataSource); - if ($fromDataSource === true) { - $this->_originalData = $data; - } else { - $this->_originalData = array(); - } - $this->_children = null; - $this->_markAsNew(($fromDataSource === true) ? false : true); - $this->_markAsToBeDeleted(false); - } - - /** - * Factory method to create a new detached Zend_Ldap_Node for a given DN. - * - * @param string|array|Zend_Ldap_Dn $dn - * @param array $objectClass - * @return Zend_Ldap_Node - * @throws Zend_Ldap_Exception - */ - public static function create($dn, array $objectClass = array()) - { - if (is_string($dn) || is_array($dn)) { - $dn = Zend_Ldap_Dn::factory($dn); - } else if ($dn instanceof Zend_Ldap_Dn) { - $dn = clone $dn; - } else { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, '$dn is of a wrong data type.'); - } - $new = new self($dn, array(), false, null); - $new->_ensureRdnAttributeValues(); - $new->setAttribute('objectClass', $objectClass); - return $new; - } - - /** - * Factory method to create an attached Zend_Ldap_Node for a given DN. - * - * @param string|array|Zend_Ldap_Dn $dn - * @param Zend_Ldap $ldap - * @return Zend_Ldap_Node - * @throws Zend_Ldap_Exception - */ - public static function fromLdap($dn, Zend_Ldap $ldap) - { - if (is_string($dn) || is_array($dn)) { - $dn = Zend_Ldap_Dn::factory($dn); - } else if ($dn instanceof Zend_Ldap_Dn) { - $dn = clone $dn; - } else { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, '$dn is of a wrong data type.'); - } - $data = $ldap->getEntry($dn, array('*', '+'), true); - $entry = new self($dn, $data, true, $ldap); - return $entry; - } - - /** - * Factory method to create a detached Zend_Ldap_Node from array data. - * - * @param array $data - * @param boolean $fromDataSource - * @return Zend_Ldap_Node - * @throws Zend_Ldap_Exception - */ - public static function fromArray(array $data, $fromDataSource = false) - { - if (!array_key_exists('dn', $data)) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, '\'dn\' key is missing in array.'); - } - if (is_string($data['dn']) || is_array($data['dn'])) { - $dn = Zend_Ldap_Dn::factory($data['dn']); - } else if ($data['dn'] instanceof Zend_Ldap_Dn) { - $dn = clone $data['dn']; - } else { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, '\'dn\' key is of a wrong data type.'); - } - $fromDataSource = ($fromDataSource === true) ? true : false; - $new = new self($dn, $data, $fromDataSource, null); - $new->_ensureRdnAttributeValues(); - return $new; - } - - /** - * Ensures that teh RDN attributes are correctly set. - * - * @return void - */ - protected function _ensureRdnAttributeValues() - { - foreach ($this->getRdnArray() as $key => $value) { - Zend_Ldap_Attribute::setAttribute($this->_currentData, $key, $value, false); - } - } - - /** - * Marks this node as new. - * - * Node will be added (instead of updated) on calling update() if $new is true. - * - * @param boolean $new - */ - protected function _markAsNew($new) - { - $this->_new = ($new === false) ? false : true; - } - - /** - * Tells if the node is consiedered as new (not present on the server) - * - * Please note, that this doesn't tell you if the node is present on the server. - * Use {@link exits()} to see if a node is already there. - * - * @return boolean - */ - public function isNew() - { - return $this->_new; - } - - /** - * Marks this node as to be deleted. - * - * Node will be deleted on calling update() if $delete is true. - * - * @param boolean $delete - */ - protected function _markAsToBeDeleted($delete) - { - $this->_delete = ($delete === true) ? true : false; - } - - - /** - * Is this node going to be deleted once update() is called? - * - * @return boolean - */ - public function willBeDeleted() - { - return $this->_delete; - } - - /** - * Marks this node as to be deleted - * - * Node will be deleted on calling update() if $delete is true. - * - * @return Zend_Ldap_Node Provides a fluid interface - */ - public function delete() - { - $this->_markAsToBeDeleted(true); - return $this; - } - - /** - * Is this node going to be moved once update() is called? - * - * @return boolean - */ - public function willBeMoved() - { - if ($this->isNew() || $this->willBeDeleted()) { - return false; - } else if ($this->_newDn !== null) { - return ($this->_dn != $this->_newDn); - } else { - return false; - } - } - - /** - * Sends all pending changes to the LDAP server - * - * @param Zend_Ldap $ldap - * @return Zend_Ldap_Node Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function update(Zend_Ldap $ldap = null) - { - if ($ldap !== null) { - $this->attachLdap($ldap); - } - $ldap = $this->getLdap(); - if (!($ldap instanceof Zend_Ldap)) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'No LDAP connection available'); - } - - if ($this->willBeDeleted()) { - if ($ldap->exists($this->_dn)) { - $ldap->delete($this->_dn); - } - return $this; - } - - if ($this->isNew()) { - $data = $this->getData(); - $ldap->add($this->_getDn(), $data); - $this->_loadData($data, true); - return $this; - } - - $changedData = $this->getChangedData(); - if ($this->willBeMoved()) { - $recursive = $this->hasChildren(); - $ldap->rename($this->_dn, $this->_newDn, $recursive, false); - foreach ($this->_newDn->getRdn() as $key => $value) { - if (array_key_exists($key, $changedData)) { - unset($changedData[$key]); - } - } - $this->_dn = $this->_newDn; - $this->_newDn = null; - } - if (count($changedData) > 0) { - $ldap->update($this->_getDn(), $changedData); - } - $this->_originalData = $this->_currentData; - return $this; - } - - /** - * Gets the DN of the current node as a Zend_Ldap_Dn. - * - * This is an offline method. - * - * @return Zend_Ldap_Dn - */ - protected function _getDn() - { - return ($this->_newDn === null) ? parent::_getDn() : $this->_newDn; - } - - /** - * Gets the current DN of the current node as a Zend_Ldap_Dn. - * The method returns a clone of the node's DN to prohibit modification. - * - * This is an offline method. - * - * @return Zend_Ldap_Dn - */ - public function getCurrentDn() - { - $dn = clone parent::_getDn(); - return $dn; - } - - /** - * Sets the new DN for this node - * - * This is an offline method. - * - * @param Zend_Ldap_Dn|string|array $newDn - * @throws Zend_Ldap_Exception - * @return Zend_Ldap_Node Provides a fluid interface - */ - public function setDn($newDn) - { - if ($newDn instanceof Zend_Ldap_Dn) { - $this->_newDn = clone $newDn; - } else { - $this->_newDn = Zend_Ldap_Dn::factory($newDn); - } - $this->_ensureRdnAttributeValues(); - return $this; - } - - /** - * {@see setDn()} - * - * This is an offline method. - * - * @param Zend_Ldap_Dn|string|array $newDn - * @throws Zend_Ldap_Exception - * @return Zend_Ldap_Node Provides a fluid interface - */ - public function move($newDn) - { - return $this->setDn($newDn); - } - - /** - * {@see setDn()} - * - * This is an offline method. - * - * @param Zend_Ldap_Dn|string|array $newDn - * @throws Zend_Ldap_Exception - * @return Zend_Ldap_Node Provides a fluid interface - */ - public function rename($newDn) - { - return $this->setDn($newDn); - } - - /** - * Sets the objectClass. - * - * This is an offline method. - * - * @param array|string $value - * @return Zend_Ldap_Node Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function setObjectClass($value) - { - $this->setAttribute('objectClass', $value); - return $this; - } - - /** - * Appends to the objectClass. - * - * This is an offline method. - * - * @param array|string $value - * @return Zend_Ldap_Node Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function appendObjectClass($value) - { - $this->appendToAttribute('objectClass', $value); - return $this; - } - - /** - * Returns a LDIF representation of the current node - * - * @param array $options Additional options used during encoding - * @return string - */ - public function toLdif(array $options = array()) - { - $attributes = array_merge(array('dn' => $this->getDnString()), $this->getData(false)); - /** - * Zend_Ldap_Ldif_Encoder - */ - require_once 'Zend/Ldap/Ldif/Encoder.php'; - return Zend_Ldap_Ldif_Encoder::encode($attributes, $options); - } - - /** - * Gets changed node data. - * - * The array contains all changed attributes. - * This format can be used in {@link Zend_Ldap::add()} and {@link Zend_Ldap::update()}. - * - * This is an offline method. - * - * @return array - */ - public function getChangedData() - { - $changed = array(); - foreach ($this->_currentData as $key => $value) { - if (!array_key_exists($key, $this->_originalData) && !empty($value)) { - $changed[$key] = $value; - } else if ($this->_originalData[$key] !== $this->_currentData[$key]) { - $changed[$key] = $value; - } - } - return $changed; - } - - /** - * Returns all changes made. - * - * This is an offline method. - * - * @return array - */ - public function getChanges() - { - $changes = array( - 'add' => array(), - 'delete' => array(), - 'replace' => array()); - foreach ($this->_currentData as $key => $value) { - if (!array_key_exists($key, $this->_originalData) && !empty($value)) { - $changes['add'][$key] = $value; - } else if (count($this->_originalData[$key]) === 0 && !empty($value)) { - $changes['add'][$key] = $value; - } else if ($this->_originalData[$key] !== $this->_currentData[$key]) { - if (empty($value)) { - $changes['delete'][$key] = $value; - } else { - $changes['replace'][$key] = $value; - } - } - } - return $changes; - } - - /** - * Sets a LDAP attribute. - * - * This is an offline method. - * - * @param string $name - * @param mixed $value - * @return Zend_Ldap_Node Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function setAttribute($name, $value) - { - $this->_setAttribute($name, $value, false); - return $this; - } - - /** - * Appends to a LDAP attribute. - * - * This is an offline method. - * - * @param string $name - * @param mixed $value - * @return Zend_Ldap_Node Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function appendToAttribute($name, $value) - { - $this->_setAttribute($name, $value, true); - return $this; - } - - /** - * Checks if the attribute can be set and sets it accordingly. - * - * @param string $name - * @param mixed $value - * @param boolean $append - * @throws Zend_Ldap_Exception - */ - protected function _setAttribute($name, $value, $append) - { - $this->_assertChangeableAttribute($name); - Zend_Ldap_Attribute::setAttribute($this->_currentData, $name, $value, $append); - } - - /** - * Sets a LDAP date/time attribute. - * - * This is an offline method. - * - * @param string $name - * @param integer|array $value - * @param boolean $utc - * @return Zend_Ldap_Node Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function setDateTimeAttribute($name, $value, $utc = false) - { - $this->_setDateTimeAttribute($name, $value, $utc, false); - return $this; - } - - /** - * Appends to a LDAP date/time attribute. - * - * This is an offline method. - * - * @param string $name - * @param integer|array $value - * @param boolean $utc - * @return Zend_Ldap_Node Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function appendToDateTimeAttribute($name, $value, $utc = false) - { - $this->_setDateTimeAttribute($name, $value, $utc, true); - return $this; - } - - /** - * Checks if the attribute can be set and sets it accordingly. - * - * @param string $name - * @param integer|array $value - * @param boolean $utc - * @param boolean $append - * @throws Zend_Ldap_Exception - */ - protected function _setDateTimeAttribute($name, $value, $utc, $append) - { - $this->_assertChangeableAttribute($name); - Zend_Ldap_Attribute::setDateTimeAttribute($this->_currentData, $name, $value, $utc, $append); - } - - /** - * Sets a LDAP password. - * - * @param string $password - * @param string $hashType - * @param string $attribName - * @return Zend_Ldap_Node Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function setPasswordAttribute($password, $hashType = Zend_Ldap_Attribute::PASSWORD_HASH_MD5, - $attribName = 'userPassword') - { - $this->_assertChangeableAttribute($attribName); - Zend_Ldap_Attribute::setPassword($this->_currentData, $password, $hashType, $attribName); - return $this; - } - - /** - * Deletes a LDAP attribute. - * - * This method deletes the attribute. - * - * This is an offline method. - * - * @param string $name - * @return Zend_Ldap_Node Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function deleteAttribute($name) - { - if ($this->existsAttribute($name, true)) { - $this->_setAttribute($name, null, false); - } - return $this; - } - - /** - * Removes duplicate values from a LDAP attribute - * - * @param string $attribName - * @return void - */ - public function removeDuplicatesFromAttribute($attribName) - { - Zend_Ldap_Attribute::removeDuplicatesFromAttribute($this->_currentData, $attribName); - } - - /** - * Remove given values from a LDAP attribute - * - * @param string $attribName - * @param mixed|array $value - * @return void - */ - public function removeFromAttribute($attribName, $value) - { - Zend_Ldap_Attribute::removeFromAttribute($this->_currentData, $attribName, $value); - } - - /** - * @param string $name - * @return boolean - * @throws Zend_Ldap_Exception - */ - protected function _assertChangeableAttribute($name) - { - $name = strtolower($name); - $rdn = $this->getRdnArray(Zend_Ldap_Dn::ATTR_CASEFOLD_LOWER); - if ($name == 'dn') { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'DN cannot be changed.'); - } - else if (array_key_exists($name, $rdn)) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'Cannot change attribute because it\'s part of the RDN'); - } else if (in_array($name, self::$_systemAttributes)) { - /** - * @see Zend_Ldap_Exception - */ - require_once 'Zend/Ldap/Exception.php'; - throw new Zend_Ldap_Exception(null, 'Cannot change attribute because it\'s read-only'); - } - else return true; - } - - /** - * Sets a LDAP attribute. - * - * This is an offline method. - * - * @param string $name - * @param mixed $value - * @return null - * @throws Zend_Ldap_Exception - */ - public function __set($name, $value) - { - $this->setAttribute($name, $value); - } - - /** - * Deletes a LDAP attribute. - * - * This method deletes the attribute. - * - * This is an offline method. - * - * @param string $name - * @return null - * @throws Zend_Ldap_Exception - */ - public function __unset($name) - { - $this->deleteAttribute($name); - } - - /** - * Sets a LDAP attribute. - * Implements ArrayAccess. - * - * This is an offline method. - * - * @param string $name - * @param mixed $value - * @return null - * @throws Zend_Ldap_Exception - */ - public function offsetSet($name, $value) - { - $this->setAttribute($name, $value); - } - - /** - * Deletes a LDAP attribute. - * Implements ArrayAccess. - * - * This method deletes the attribute. - * - * This is an offline method. - * - * @param string $name - * @return null - * @throws Zend_Ldap_Exception - */ - public function offsetUnset($name) - { - $this->deleteAttribute($name); - } - - /** - * Check if node exists on LDAP. - * - * This is an online method. - * - * @param Zend_Ldap $ldap - * @return boolean - * @throws Zend_Ldap_Exception - */ - public function exists(Zend_Ldap $ldap = null) - { - if ($ldap !== null) { - $this->attachLdap($ldap); - } - $ldap = $this->getLdap(); - return $ldap->exists($this->_getDn()); - } - - /** - * Reload node attributes from LDAP. - * - * This is an online method. - * - * @param Zend_Ldap $ldap - * @return Zend_Ldap_Node Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function reload(Zend_Ldap $ldap = null) - { - if ($ldap !== null) { - $this->attachLdap($ldap); - } - $ldap = $this->getLdap(); - parent::reload($ldap); - return $this; - } - - /** - * Search current subtree with given options. - * - * This is an online method. - * - * @param string|Zend_Ldap_Filter_Abstract $filter - * @param integer $scope - * @param string $sort - * @return Zend_Ldap_Node_Collection - * @throws Zend_Ldap_Exception - */ - public function searchSubtree($filter, $scope = Zend_Ldap::SEARCH_SCOPE_SUB, $sort = null) - { - /** - * @see Zend_Ldap_Node_Collection - */ - require_once 'Zend/Ldap/Node/Collection.php'; - return $this->getLdap()->search($filter, $this->_getDn(), $scope, array('*', '+'), $sort, - 'Zend_Ldap_Node_Collection'); - } - - /** - * Count items in current subtree found by given filter. - * - * This is an online method. - * - * @param string|Zend_Ldap_Filter_Abstract $filter - * @param integer $scope - * @return integer - * @throws Zend_Ldap_Exception - */ - public function countSubtree($filter, $scope = Zend_Ldap::SEARCH_SCOPE_SUB) - { - return $this->getLdap()->count($filter, $this->_getDn(), $scope); - } - - /** - * Count children of current node. - * - * This is an online method. - * - * @return integer - * @throws Zend_Ldap_Exception - */ - public function countChildren() - { - return $this->countSubtree('(objectClass=*)', Zend_Ldap::SEARCH_SCOPE_ONE); - } - - /** - * Gets children of current node. - * - * This is an online method. - * - * @param string|Zend_Ldap_Filter_Abstract $filter - * @param string $sort - * @return Zend_Ldap_Node_Collection - * @throws Zend_Ldap_Exception - */ - public function searchChildren($filter, $sort = null) - { - return $this->searchSubtree($filter, Zend_Ldap::SEARCH_SCOPE_ONE, $sort); - } - - /** - * Checks if current node has children. - * Returns whether the current element has children. - * - * Can be used offline but returns false if children have not been retrieved yet. - * - * @return boolean - * @throws Zend_Ldap_Exception - */ - public function hasChildren() - { - if (!is_array($this->_children)) { - if ($this->isAttached()) { - return ($this->countChildren() > 0); - } else { - return false; - } - } else { - return (count($this->_children) > 0); - } - } - - /** - * Returns the children for the current node. - * - * Can be used offline but returns an empty array if children have not been retrieved yet. - * - * @return Zend_Ldap_Node_ChildrenIterator - * @throws Zend_Ldap_Exception - */ - public function getChildren() - { - if (!is_array($this->_children)) { - $this->_children = array(); - if ($this->isAttached()) { - $children = $this->searchChildren('(objectClass=*)', null); - foreach ($children as $child) { - $this->_children[$child->getRdnString(Zend_Ldap_Dn::ATTR_CASEFOLD_LOWER)] = $child; - } - } - } - /** - * @see Zend_Ldap_Node_ChildrenIterator - */ - require_once 'Zend/Ldap/Node/ChildrenIterator.php'; - return new Zend_Ldap_Node_ChildrenIterator($this->_children); - } - - /** - * Returns the parent of the current node. - * - * @param Zend_Ldap $ldap - * @return Zend_Ldap_Node - * @throws Zend_Ldap_Exception - */ - public function getParent(Zend_Ldap $ldap = null) - { - if ($ldap !== null) { - $this->attachLdap($ldap); - } - $ldap = $this->getLdap(); - $parentDn = $this->_getDn()->getParentDn(1); - return self::fromLdap($parentDn, $ldap); - } - - /** - * Return the current attribute. - * Implements Iterator - * - * @return array - */ - public function current() - { - return $this; - } - - /** - * Return the attribute name. - * Implements Iterator - * - * @return string - */ - public function key() - { - return $this->getRdnString(); - } - - /** - * Move forward to next attribute. - * Implements Iterator - */ - public function next() - { - $this->_iteratorRewind = false; - } - - /** - * Rewind the Iterator to the first attribute. - * Implements Iterator - */ - public function rewind() - { - $this->_iteratorRewind = true; - } - - /** - * Check if there is a current attribute - * after calls to rewind() or next(). - * Implements Iterator - * - * @return boolean - */ - public function valid() - { - return $this->_iteratorRewind; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Node/Abstract.php b/lib/zend/Zend/Ldap/Node/Abstract.php deleted file mode 100644 index 3c484ce846..0000000000 --- a/lib/zend/Zend/Ldap/Node/Abstract.php +++ /dev/null @@ -1,485 +0,0 @@ -_dn = $dn; - $this->_loadData($data, $fromDataSource); - } - - /** - * @param array $data - * @param boolean $fromDataSource - * @throws Zend_Ldap_Exception - */ - protected function _loadData(array $data, $fromDataSource) - { - if (array_key_exists('dn', $data)) { - unset($data['dn']); - } - ksort($data, SORT_STRING); - $this->_currentData = $data; - } - - /** - * Reload node attributes from LDAP. - * - * This is an online method. - * - * @param Zend_Ldap $ldap - * @return Zend_Ldap_Node_Abstract Provides a fluid interface - * @throws Zend_Ldap_Exception - */ - public function reload(Zend_Ldap $ldap = null) - { - if ($ldap !== null) { - $data = $ldap->getEntry($this->_getDn(), array('*', '+'), true); - $this->_loadData($data, true); - } - return $this; - } - - /** - * Gets the DN of the current node as a Zend_Ldap_Dn. - * - * This is an offline method. - * - * @return Zend_Ldap_Dn - */ - protected function _getDn() - { - return $this->_dn; - } - - /** - * Gets the DN of the current node as a Zend_Ldap_Dn. - * The method returns a clone of the node's DN to prohibit modification. - * - * This is an offline method. - * - * @return Zend_Ldap_Dn - */ - public function getDn() - { - $dn = clone $this->_getDn(); - return $dn; - } - - /** - * Gets the DN of the current node as a string. - * - * This is an offline method. - * - * @param string $caseFold - * @return string - */ - public function getDnString($caseFold = null) - { - return $this->_getDn()->toString($caseFold); - } - - /** - * Gets the DN of the current node as an array. - * - * This is an offline method. - * - * @param string $caseFold - * @return array - */ - public function getDnArray($caseFold = null) - { - return $this->_getDn()->toArray($caseFold); - } - - /** - * Gets the RDN of the current node as a string. - * - * This is an offline method. - * - * @param string $caseFold - * @return string - */ - public function getRdnString($caseFold = null) - { - return $this->_getDn()->getRdnString($caseFold); - } - - /** - * Gets the RDN of the current node as an array. - * - * This is an offline method. - * - * @param string $caseFold - * @return array - */ - public function getRdnArray($caseFold = null) - { - return $this->_getDn()->getRdn($caseFold); - } - - /** - * Gets the objectClass of the node - * - * @return array - */ - public function getObjectClass() - { - return $this->getAttribute('objectClass', null); - } - - /** - * Gets all attributes of node. - * - * The collection contains all attributes. - * - * This is an offline method. - * - * @param boolean $includeSystemAttributes - * @return array - */ - public function getAttributes($includeSystemAttributes = true) - { - $data = array(); - foreach ($this->getData($includeSystemAttributes) as $name => $value) { - $data[$name] = $this->getAttribute($name, null); - } - return $data; - } - - /** - * Returns the DN of the current node. {@see getDnString()} - * - * @return string - */ - public function toString() - { - return $this->getDnString(); - } - - /** - * Cast to string representation {@see toString()} - * - * @return string - */ - public function __toString() - { - return $this->toString(); - } - - /** - * Returns an array representation of the current node - * - * @param boolean $includeSystemAttributes - * @return array - */ - public function toArray($includeSystemAttributes = true) - { - $attributes = $this->getAttributes($includeSystemAttributes); - return array_merge(array('dn' => $this->getDnString()), $attributes); - } - - /** - * Returns a JSON representation of the current node - * - * @param boolean $includeSystemAttributes - * @return string - */ - public function toJson($includeSystemAttributes = true) - { - return json_encode($this->toArray($includeSystemAttributes)); - } - - /** - * Gets node attributes. - * - * The array contains all attributes in its internal format (no conversion). - * - * This is an offline method. - * - * @param boolean $includeSystemAttributes - * @return array - */ - public function getData($includeSystemAttributes = true) - { - if ($includeSystemAttributes === false) { - $data = array(); - foreach ($this->_currentData as $key => $value) { - if (!in_array($key, self::$_systemAttributes)) { - $data[$key] = $value; - } - } - return $data; - } else { - return $this->_currentData; - } - } - - /** - * Checks whether a given attribute exists. - * - * If $emptyExists is false empty attributes (containing only array()) are - * treated as non-existent returning false. - * If $emptyExists is true empty attributes are treated as existent returning - * true. In this case method returns false only if the attribute name is - * missing in the key-collection. - * - * @param string $name - * @param boolean $emptyExists - * @return boolean - */ - public function existsAttribute($name, $emptyExists = false) - { - $name = strtolower($name); - if (isset($this->_currentData[$name])) { - if ($emptyExists) return true; - return count($this->_currentData[$name])>0; - } - else return false; - } - - /** - * Checks if the given value(s) exist in the attribute - * - * @param string $attribName - * @param mixed|array $value - * @return boolean - */ - public function attributeHasValue($attribName, $value) - { - return Zend_Ldap_Attribute::attributeHasValue($this->_currentData, $attribName, $value); - } - - /** - * Gets a LDAP attribute. - * - * This is an offline method. - * - * @param string $name - * @param integer $index - * @return mixed - * @throws Zend_Ldap_Exception - */ - public function getAttribute($name, $index = null) - { - if ($name == 'dn') { - return $this->getDnString(); - } - else { - return Zend_Ldap_Attribute::getAttribute($this->_currentData, $name, $index); - } - } - - /** - * Gets a LDAP date/time attribute. - * - * This is an offline method. - * - * @param string $name - * @param integer $index - * @return array|integer - * @throws Zend_Ldap_Exception - */ - public function getDateTimeAttribute($name, $index = null) - { - return Zend_Ldap_Attribute::getDateTimeAttribute($this->_currentData, $name, $index); - } - - /** - * Sets a LDAP attribute. - * - * This is an offline method. - * - * @param string $name - * @param mixed $value - * @return null - * @throws BadMethodCallException - */ - public function __set($name, $value) - { - throw new BadMethodCallException(); - } - - /** - * Gets a LDAP attribute. - * - * This is an offline method. - * - * @param string $name - * @return array - * @throws Zend_Ldap_Exception - */ - public function __get($name) - { - return $this->getAttribute($name, null); - } - - /** - * Deletes a LDAP attribute. - * - * This method deletes the attribute. - * - * This is an offline method. - * - * @param string $name - * @return null - * @throws BadMethodCallException - */ - public function __unset($name) - { - throw new BadMethodCallException(); - } - - /** - * Checks whether a given attribute exists. - * - * Empty attributes will be treated as non-existent. - * - * @param string $name - * @return boolean - */ - public function __isset($name) - { - return $this->existsAttribute($name, false); - } - - /** - * Sets a LDAP attribute. - * Implements ArrayAccess. - * - * This is an offline method. - * - * @param string $name - * @param mixed $value - * @return null - * @throws BadMethodCallException - */ - public function offsetSet($name, $value) - { - throw new BadMethodCallException(); - } - - /** - * Gets a LDAP attribute. - * Implements ArrayAccess. - * - * This is an offline method. - * - * @param string $name - * @return array - * @throws Zend_Ldap_Exception - */ - public function offsetGet($name) - { - return $this->getAttribute($name, null); - } - - /** - * Deletes a LDAP attribute. - * Implements ArrayAccess. - * - * This method deletes the attribute. - * - * This is an offline method. - * - * @param string $name - * @return null - * @throws BadMethodCallException - */ - public function offsetUnset($name) - { - throw new BadMethodCallException(); - } - - /** - * Checks whether a given attribute exists. - * Implements ArrayAccess. - * - * Empty attributes will be treated as non-existent. - * - * @param string $name - * @return boolean - */ - public function offsetExists($name) - { - return $this->existsAttribute($name, false); - } - - /** - * Returns the number of attributes in node. - * Implements Countable - * - * @return int - */ - public function count() - { - return count($this->_currentData); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Node/ChildrenIterator.php b/lib/zend/Zend/Ldap/Node/ChildrenIterator.php deleted file mode 100644 index 5494974192..0000000000 --- a/lib/zend/Zend/Ldap/Node/ChildrenIterator.php +++ /dev/null @@ -1,209 +0,0 @@ -_data = $data; - } - - /** - * Returns the number of child nodes. - * Implements Countable - * - * @return int - */ - public function count() - { - return count($this->_data); - } - - /** - * Return the current child. - * Implements Iterator - * - * @return Zend_Ldap_Node - */ - public function current() - { - return current($this->_data); - } - - /** - * Return the child'd RDN. - * Implements Iterator - * - * @return string - */ - public function key() - { - return key($this->_data); - } - - /** - * Move forward to next child. - * Implements Iterator - */ - public function next() - { - next($this->_data); - } - - /** - * Rewind the Iterator to the first child. - * Implements Iterator - */ - public function rewind() - { - reset($this->_data); - } - - /** - * Check if there is a current child - * after calls to rewind() or next(). - * Implements Iterator - * - * @return boolean - */ - public function valid() - { - return (current($this->_data)!==false); - } - - /** - * Checks if current node has children. - * Returns whether the current element has children. - * - * @return boolean - */ - public function hasChildren() - { - if ($this->current() instanceof Zend_Ldap_Node) { - return $this->current()->hasChildren(); - } else { - return false; - } - } - - /** - * Returns the children for the current node. - * - * @return Zend_Ldap_Node_ChildrenIterator - */ - public function getChildren() - { - if ($this->current() instanceof Zend_Ldap_Node) { - return $this->current()->getChildren(); - } else { - return null; - } - } - - /** - * Returns a child with a given RDN. - * Implements ArrayAccess. - * - * @param string $rdn - * @return Zend_Ldap_node - */ - public function offsetGet($rdn) - { - if ($this->offsetExists($rdn)) { - return $this->_data[$rdn]; - } else { - return null; - } - } - - /** - * Checks whether a given rdn exists. - * Implements ArrayAccess. - * - * @param string $rdn - * @return boolean - */ - public function offsetExists($rdn) - { - return (array_key_exists($rdn, $this->_data)); - } - - /** - * Does nothing. - * Implements ArrayAccess. - * - * @param string $name - * @return null - */ - public function offsetUnset($name) { } - - /** - * Does nothing. - * Implements ArrayAccess. - * - * @param string $name - * @param mixed $value - * @return null - */ - public function offsetSet($name, $value) { } - - /** - * Get all children as an array - * - * @return array - */ - public function toArray() - { - $data = array(); - foreach ($this as $rdn => $node) { - $data[$rdn] = $node; - } - return $data; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Node/Collection.php b/lib/zend/Zend/Ldap/Node/Collection.php deleted file mode 100644 index f2723f3b70..0000000000 --- a/lib/zend/Zend/Ldap/Node/Collection.php +++ /dev/null @@ -1,67 +0,0 @@ -attachLdap($this->_iterator->getLdap()); - return $node; - } - - /** - * Return the child key (DN). - * Implements Iterator and RecursiveIterator - * - * @return string - */ - public function key() - { - return $this->_iterator->key(); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Node/RootDse.php b/lib/zend/Zend/Ldap/Node/RootDse.php deleted file mode 100644 index 940fc95529..0000000000 --- a/lib/zend/Zend/Ldap/Node/RootDse.php +++ /dev/null @@ -1,158 +0,0 @@ -getEntry($dn, array('*', '+'), true); - if (isset($data['domainfunctionality'])) { - /** - * @see Zend_Ldap_Node_RootDse_ActiveDirectory - */ - require_once 'Zend/Ldap/Node/RootDse/ActiveDirectory.php'; - return new Zend_Ldap_Node_RootDse_ActiveDirectory($dn, $data); - } else if (isset($data['dsaname'])) { - /** - * @see Zend_Ldap_Node_RootDse_ActiveDirectory - */ - require_once 'Zend/Ldap/Node/RootDse/eDirectory.php'; - return new Zend_Ldap_Node_RootDse_eDirectory($dn, $data); - } else if (isset($data['structuralobjectclass']) && - $data['structuralobjectclass'][0] === 'OpenLDAProotDSE') { - /** - * @see Zend_Ldap_Node_RootDse_OpenLdap - */ - require_once 'Zend/Ldap/Node/RootDse/OpenLdap.php'; - return new Zend_Ldap_Node_RootDse_OpenLdap($dn, $data); - } else { - return new self($dn, $data); - } - } - - /** - * Constructor. - * - * Constructor is protected to enforce the use of factory methods. - * - * @param Zend_Ldap_Dn $dn - * @param array $data - */ - protected function __construct(Zend_Ldap_Dn $dn, array $data) - { - parent::__construct($dn, $data, true); - } - - /** - * Gets the namingContexts. - * - * @return array - */ - public function getNamingContexts() - { - return $this->getAttribute('namingContexts', null); - } - - /** - * Gets the subschemaSubentry. - * - * @return string|null - */ - public function getSubschemaSubentry() - { - return $this->getAttribute('subschemaSubentry', 0); - } - - /** - * Determines if the version is supported - * - * @param string|int|array $versions version(s) to check - * @return boolean - */ - public function supportsVersion($versions) - { - return $this->attributeHasValue('supportedLDAPVersion', $versions); - } - - /** - * Determines if the sasl mechanism is supported - * - * @param string|array $mechlist SASL mechanisms to check - * @return boolean - */ - public function supportsSaslMechanism($mechlist) - { - return $this->attributeHasValue('supportedSASLMechanisms', $mechlist); - } - - /** - * Gets the server type - * - * @return int - */ - public function getServerType() - { - return self::SERVER_TYPE_GENERIC; - } - - /** - * Returns the schema DN - * - * @return Zend_Ldap_Dn - */ - public function getSchemaDn() - { - $schemaDn = $this->getSubschemaSubentry(); - /** - * @see Zend_Ldap_Dn - */ - require_once 'Zend/Ldap/Dn.php'; - return Zend_Ldap_Dn::fromString($schemaDn); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Node/RootDse/ActiveDirectory.php b/lib/zend/Zend/Ldap/Node/RootDse/ActiveDirectory.php deleted file mode 100644 index dc125175d5..0000000000 --- a/lib/zend/Zend/Ldap/Node/RootDse/ActiveDirectory.php +++ /dev/null @@ -1,247 +0,0 @@ -getAttribute('configurationNamingContext', 0); - } - - /** - * Gets the currentTime. - * - * @return string|null - */ - public function getCurrentTime() - { - return $this->getAttribute('currentTime', 0); - } - - /** - * Gets the defaultNamingContext. - * - * @return string|null - */ - public function getDefaultNamingContext() - { - return $this->getAttribute('defaultNamingContext', 0); - } - - /** - * Gets the dnsHostName. - * - * @return string|null - */ - public function getDnsHostName() - { - return $this->getAttribute('dnsHostName', 0); - } - - /** - * Gets the domainControllerFunctionality. - * - * @return string|null - */ - public function getDomainControllerFunctionality() - { - return $this->getAttribute('domainControllerFunctionality', 0); - } - - /** - * Gets the domainFunctionality. - * - * @return string|null - */ - public function getDomainFunctionality() - { - return $this->getAttribute('domainFunctionality', 0); - } - - /** - * Gets the dsServiceName. - * - * @return string|null - */ - public function getDsServiceName() - { - return $this->getAttribute('dsServiceName', 0); - } - - /** - * Gets the forestFunctionality. - * - * @return string|null - */ - public function getForestFunctionality() - { - return $this->getAttribute('forestFunctionality', 0); - } - - /** - * Gets the highestCommittedUSN. - * - * @return string|null - */ - public function getHighestCommittedUSN() - { - return $this->getAttribute('highestCommittedUSN', 0); - } - - /** - * Gets the isGlobalCatalogReady. - * - * @return string|null - */ - public function getIsGlobalCatalogReady() - { - return $this->getAttribute('isGlobalCatalogReady', 0); - } - - /** - * Gets the isSynchronized. - * - * @return string|null - */ - public function getIsSynchronized() - { - return $this->getAttribute('isSynchronized', 0); - } - - /** - * Gets the ldapServiceName. - * - * @return string|null - */ - public function getLdapServiceName() - { - return $this->getAttribute('ldapServiceName', 0); - } - - /** - * Gets the rootDomainNamingContext. - * - * @return string|null - */ - public function getRootDomainNamingContext() - { - return $this->getAttribute('rootDomainNamingContext', 0); - } - - /** - * Gets the schemaNamingContext. - * - * @return string|null - */ - public function getSchemaNamingContext() - { - return $this->getAttribute('schemaNamingContext', 0); - } - - /** - * Gets the serverName. - * - * @return string|null - */ - public function getServerName() - { - return $this->getAttribute('serverName', 0); - } - - /** - * Determines if the capability is supported - * - * @param string|string|array $oids capability(s) to check - * @return boolean - */ - public function supportsCapability($oids) - { - return $this->attributeHasValue('supportedCapabilities', $oids); - } - - /** - * Determines if the control is supported - * - * @param string|array $oids control oid(s) to check - * @return boolean - */ - public function supportsControl($oids) - { - return $this->attributeHasValue('supportedControl', $oids); - } - - /** - * Determines if the version is supported - * - * @param string|array $policies policy(s) to check - * @return boolean - */ - public function supportsPolicy($policies) - { - return $this->attributeHasValue('supportedLDAPPolicies', $policies); - } - - /** - * Gets the server type - * - * @return int - */ - public function getServerType() - { - return self::SERVER_TYPE_ACTIVEDIRECTORY; - } - - /** - * Returns the schema DN - * - * @return Zend_Ldap_Dn - */ - public function getSchemaDn() - { - $schemaDn = $this->getSchemaNamingContext(); - /** - * @see Zend_Ldap_Dn - */ - require_once 'Zend/Ldap/Dn.php'; - return Zend_Ldap_Dn::fromString($schemaDn); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Node/RootDse/OpenLdap.php b/lib/zend/Zend/Ldap/Node/RootDse/OpenLdap.php deleted file mode 100644 index 509afdb0d2..0000000000 --- a/lib/zend/Zend/Ldap/Node/RootDse/OpenLdap.php +++ /dev/null @@ -1,102 +0,0 @@ -getAttribute('configContext', 0); - } - - /** - * Gets the monitorContext. - * - * @return string|null - */ - public function getMonitorContext() - { - return $this->getAttribute('monitorContext', 0); - } - - /** - * Determines if the control is supported - * - * @param string|array $oids control oid(s) to check - * @return boolean - */ - public function supportsControl($oids) - { - return $this->attributeHasValue('supportedControl', $oids); - } - - /** - * Determines if the extension is supported - * - * @param string|array $oids oid(s) to check - * @return boolean - */ - public function supportsExtension($oids) - { - return $this->attributeHasValue('supportedExtension', $oids); - } - - /** - * Determines if the feature is supported - * - * @param string|array $oids feature oid(s) to check - * @return boolean - */ - public function supportsFeature($oids) - { - return $this->attributeHasValue('supportedFeatures', $oids); - } - - /** - * Gets the server type - * - * @return int - */ - public function getServerType() - { - return self::SERVER_TYPE_OPENLDAP; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Node/RootDse/eDirectory.php b/lib/zend/Zend/Ldap/Node/RootDse/eDirectory.php deleted file mode 100644 index 871f0c522c..0000000000 --- a/lib/zend/Zend/Ldap/Node/RootDse/eDirectory.php +++ /dev/null @@ -1,160 +0,0 @@ -attributeHasValue('supportedExtension', $oids); - } - - /** - * Gets the vendorName. - * - * @return string|null - */ - public function getVendorName() - { - return $this->getAttribute('vendorName', 0); - } - - /** - * Gets the vendorVersion. - * - * @return string|null - */ - public function getVendorVersion() - { - return $this->getAttribute('vendorVersion', 0); - } - - /** - * Gets the dsaName. - * - * @return string|null - */ - public function getDsaName() - { - return $this->getAttribute('dsaName', 0); - } - - /** - * Gets the server statistics "errors". - * - * @return string|null - */ - public function getStatisticsErrors() - { - return $this->getAttribute('errors', 0); - } - - /** - * Gets the server statistics "securityErrors". - * - * @return string|null - */ - public function getStatisticsSecurityErrors() - { - return $this->getAttribute('securityErrors', 0); - } - - /** - * Gets the server statistics "chainings". - * - * @return string|null - */ - public function getStatisticsChainings() - { - return $this->getAttribute('chainings', 0); - } - - /** - * Gets the server statistics "referralsReturned". - * - * @return string|null - */ - public function getStatisticsReferralsReturned() - { - return $this->getAttribute('referralsReturned', 0); - } - - /** - * Gets the server statistics "extendedOps". - * - * @return string|null - */ - public function getStatisticsExtendedOps() - { - return $this->getAttribute('extendedOps', 0); - } - - /** - * Gets the server statistics "abandonOps". - * - * @return string|null - */ - public function getStatisticsAbandonOps() - { - return $this->getAttribute('abandonOps', 0); - } - - /** - * Gets the server statistics "wholeSubtreeSearchOps". - * - * @return string|null - */ - public function getStatisticsWholeSubtreeSearchOps() - { - return $this->getAttribute('wholeSubtreeSearchOps', 0); - } - - /** - * Gets the server type - * - * @return int - */ - public function getServerType() - { - return self::SERVER_TYPE_EDIRECTORY; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Node/Schema.php b/lib/zend/Zend/Ldap/Node/Schema.php deleted file mode 100644 index 3c98e4bcf1..0000000000 --- a/lib/zend/Zend/Ldap/Node/Schema.php +++ /dev/null @@ -1,120 +0,0 @@ -getRootDse()->getSchemaDn(); - $data = $ldap->getEntry($dn, array('*', '+'), true); - switch ($ldap->getRootDse()->getServerType()) { - case Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY: - /** - * @see Zend_Ldap_Node_Schema_ActiveDirectory - */ - require_once 'Zend/Ldap/Node/Schema/ActiveDirectory.php'; - return new Zend_Ldap_Node_Schema_ActiveDirectory($dn, $data, $ldap); - case Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP: - /** - * @see Zend_Ldap_Node_RootDse_ActiveDirectory - */ - require_once 'Zend/Ldap/Node/Schema/OpenLdap.php'; - return new Zend_Ldap_Node_Schema_OpenLdap($dn, $data, $ldap); - case Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY: - default: - return new self($dn, $data, $ldap); - } - } - - /** - * Constructor. - * - * Constructor is protected to enforce the use of factory methods. - * - * @param Zend_Ldap_Dn $dn - * @param array $data - * @param Zend_Ldap $ldap - */ - protected function __construct(Zend_Ldap_Dn $dn, array $data, Zend_Ldap $ldap) - { - parent::__construct($dn, $data, true); - $this->_parseSchema($dn, $ldap); - } - - /** - * Parses the schema - * - * @param Zend_Ldap_Dn $dn - * @param Zend_Ldap $ldap - * @return Zend_Ldap_Node_Schema Provides a fluid interface - */ - protected function _parseSchema(Zend_Ldap_Dn $dn, Zend_Ldap $ldap) - { - return $this; - } - - /** - * Gets the attribute Types - * - * @return array - */ - public function getAttributeTypes() - { - return array(); - } - - /** - * Gets the object classes - * - * @return array - */ - public function getObjectClasses() - { - return array(); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Node/Schema/ActiveDirectory.php b/lib/zend/Zend/Ldap/Node/Schema/ActiveDirectory.php deleted file mode 100644 index 36a1297d25..0000000000 --- a/lib/zend/Zend/Ldap/Node/Schema/ActiveDirectory.php +++ /dev/null @@ -1,103 +0,0 @@ -search('(objectClass=classSchema)', $dn, - Zend_Ldap::SEARCH_SCOPE_ONE) as $node) { - $val = new Zend_Ldap_Node_Schema_ObjectClass_ActiveDirectory($node); - $this->_objectClasses[$val->getName()] = $val; - } - foreach ($ldap->search('(objectClass=attributeSchema)', $dn, - Zend_Ldap::SEARCH_SCOPE_ONE) as $node) { - $val = new Zend_Ldap_Node_Schema_AttributeType_ActiveDirectory($node); - $this->_attributeTypes[$val->getName()] = $val; - } - return $this; - } - - /** - * Gets the attribute Types - * - * @return array - */ - public function getAttributeTypes() - { - return $this->_attributeTypes; - } - - /** - * Gets the object classes - * - * @return array - */ - public function getObjectClasses() - { - return $this->_objectClasses; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Node/Schema/AttributeType/ActiveDirectory.php b/lib/zend/Zend/Ldap/Node/Schema/AttributeType/ActiveDirectory.php deleted file mode 100644 index 3dcce91584..0000000000 --- a/lib/zend/Zend/Ldap/Node/Schema/AttributeType/ActiveDirectory.php +++ /dev/null @@ -1,104 +0,0 @@ -ldapdisplayname[0]; - } - - /** - * Gets the attribute OID - * - * @return string - */ - public function getOid() - { - - } - - /** - * Gets the attribute syntax - * - * @return string - */ - public function getSyntax() - { - - } - - /** - * Gets the attribute maximum length - * - * @return int|null - */ - public function getMaxLength() - { - - } - - /** - * Returns if the attribute is single-valued. - * - * @return boolean - */ - public function isSingleValued() - { - - } - - /** - * Gets the attribute description - * - * @return string - */ - public function getDescription() - { - - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Node/Schema/AttributeType/Interface.php b/lib/zend/Zend/Ldap/Node/Schema/AttributeType/Interface.php deleted file mode 100644 index 9797c3f14c..0000000000 --- a/lib/zend/Zend/Ldap/Node/Schema/AttributeType/Interface.php +++ /dev/null @@ -1,75 +0,0 @@ -name; - } - - /** - * Gets the attribute OID - * - * @return string - */ - public function getOid() - { - return $this->oid; - } - - /** - * Gets the attribute syntax - * - * @return string - */ - public function getSyntax() - { - if ($this->syntax === null) { - $parent = $this->getParent(); - if ($parent === null) return null; - else return $parent->getSyntax(); - } else { - return $this->syntax; - } - } - - /** - * Gets the attribute maximum length - * - * @return int|null - */ - public function getMaxLength() - { - $maxLength = $this->{'max-length'}; - if ($maxLength === null) { - $parent = $this->getParent(); - if ($parent === null) return null; - else return $parent->getMaxLength(); - } else { - return (int)$maxLength; - } - } - - /** - * Returns if the attribute is single-valued. - * - * @return boolean - */ - public function isSingleValued() - { - return $this->{'single-value'}; - } - - /** - * Gets the attribute description - * - * @return string - */ - public function getDescription() - { - return $this->desc; - } - - /** - * Returns the parent attribute type in the inhertitance tree if one exists - * - * @return Zend_Ldap_Node_Schema_AttributeType_OpenLdap|null - */ - public function getParent() - { - if (count($this->_parents) === 1) { - return $this->_parents[0]; - } - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Node/Schema/Item.php b/lib/zend/Zend/Ldap/Node/Schema/Item.php deleted file mode 100644 index 7e8e0df41e..0000000000 --- a/lib/zend/Zend/Ldap/Node/Schema/Item.php +++ /dev/null @@ -1,163 +0,0 @@ -setData($data); - } - - /** - * Sets the data - * - * @param array $data - * @return Zend_Ldap_Node_Schema_Item Provides a fluid interface - */ - public function setData(array $data) - { - $this->_data = $data; - return $this; - } - - /** - * Gets the data - * - * @return array - */ - public function getData() - { - return $this->_data; - } - - /** - * Gets a specific attribute from this item - * - * @param string $name - * @return mixed - */ - public function __get($name) - { - if (array_key_exists($name, $this->_data)) { - return $this->_data[$name]; - } else { - return null; - } - } - - /** - * Checks whether a specific attribute exists. - * - * @param string $name - * @return boolean - */ - public function __isset($name) - { - return (array_key_exists($name, $this->_data)); - } - - /** - * Always throws BadMethodCallException - * Implements ArrayAccess. - * - * This method is needed for a full implementation of ArrayAccess - * - * @param string $name - * @param mixed $value - * @return null - * @throws BadMethodCallException - */ - public function offsetSet($name, $value) - { - throw new BadMethodCallException(); - } - - /** - * Gets a specific attribute from this item - * - * @param string $name - * @return mixed - */ - public function offsetGet($name) - { - return $this->__get($name); - } - - /** - * Always throws BadMethodCallException - * Implements ArrayAccess. - * - * This method is needed for a full implementation of ArrayAccess - * - * @param string $name - * @return null - * @throws BadMethodCallException - */ - public function offsetUnset($name) - { - throw new BadMethodCallException(); - } - - /** - * Checks whether a specific attribute exists. - * - * @param string $name - * @return boolean - */ - public function offsetExists($name) - { - return $this->__isset($name); - } - - /** - * Returns the number of attributes. - * Implements Countable - * - * @return int - */ - public function count() - { - return count($this->_data); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Node/Schema/ObjectClass/ActiveDirectory.php b/lib/zend/Zend/Ldap/Node/Schema/ObjectClass/ActiveDirectory.php deleted file mode 100644 index 7ccc175850..0000000000 --- a/lib/zend/Zend/Ldap/Node/Schema/ObjectClass/ActiveDirectory.php +++ /dev/null @@ -1,115 +0,0 @@ -ldapdisplayname[0]; - } - - /** - * Gets the objectClass OID - * - * @return string - */ - public function getOid() - { - - } - - /** - * Gets the attributes that this objectClass must contain - * - * @return array - */ - public function getMustContain() - { - - } - - /** - * Gets the attributes that this objectClass may contain - * - * @return array - */ - public function getMayContain() - { - - } - - /** - * Gets the objectClass description - * - * @return string - */ - public function getDescription() - { - - } - - /** - * Gets the objectClass type - * - * @return integer - */ - public function getType() - { - - } - - /** - * Returns the parent objectClasses of this class. - * This includes structural, abstract and auxiliary objectClasses - * - * @return array - */ - public function getParentClasses() - { - - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Node/Schema/ObjectClass/Interface.php b/lib/zend/Zend/Ldap/Node/Schema/ObjectClass/Interface.php deleted file mode 100644 index 51045e1d45..0000000000 --- a/lib/zend/Zend/Ldap/Node/Schema/ObjectClass/Interface.php +++ /dev/null @@ -1,83 +0,0 @@ -name; - } - - /** - * Gets the objectClass OID - * - * @return string - */ - public function getOid() - { - return $this->oid; - } - - /** - * Gets the attributes that this objectClass must contain - * - * @return array - */ - public function getMustContain() - { - if ($this->_inheritedMust === null) { - $this->_resolveInheritance(); - } - return $this->_inheritedMust; - } - - /** - * Gets the attributes that this objectClass may contain - * - * @return array - */ - public function getMayContain() - { - if ($this->_inheritedMay === null) { - $this->_resolveInheritance(); - } - return $this->_inheritedMay; - } - - /** - * Resolves the inheritance tree - * - * @return void - */ - protected function _resolveInheritance() - { - $must = $this->must; - $may = $this->may; - foreach ($this->getParents() as $p) { - $must = array_merge($must, $p->getMustContain()); - $may = array_merge($may, $p->getMayContain()); - } - $must = array_unique($must); - $may = array_unique($may); - $may = array_diff($may, $must); - sort($must, SORT_STRING); - sort($may, SORT_STRING); - $this->_inheritedMust = $must; - $this->_inheritedMay = $may; - } - - /** - * Gets the objectClass description - * - * @return string - */ - public function getDescription() - { - return $this->desc; - } - - /** - * Gets the objectClass type - * - * @return integer - */ - public function getType() - { - if ($this->structural) { - return Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_STRUCTURAL; - } else if ($this->abstract) { - return Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_ABSTRACT; - } else if ($this->auxiliary) { - return Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_AUXILIARY; - } else { - return Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_UNKNOWN; - } - } - - /** - * Returns the parent objectClasses of this class. - * This includes structural, abstract and auxiliary objectClasses - * - * @return array - */ - public function getParentClasses() - { - return $this->sup; - } - - /** - * Returns the parent object classes in the inhertitance tree if one exists - * - * @return array of Zend_Ldap_Node_Schema_ObjectClass_OpenLdap - */ - public function getParents() - { - return $this->_parents; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Ldap/Node/Schema/OpenLdap.php b/lib/zend/Zend/Ldap/Node/Schema/OpenLdap.php deleted file mode 100644 index ea5634067c..0000000000 --- a/lib/zend/Zend/Ldap/Node/Schema/OpenLdap.php +++ /dev/null @@ -1,502 +0,0 @@ -_loadAttributeTypes(); - $this->_loadLdapSyntaxes(); - $this->_loadMatchingRules(); - $this->_loadMatchingRuleUse(); - $this->_loadObjectClasses(); - return $this; - } - - /** - * Gets the attribute Types - * - * @return array - */ - public function getAttributeTypes() - { - return $this->_attributeTypes; - } - - /** - * Gets the object classes - * - * @return array - */ - public function getObjectClasses() - { - return $this->_objectClasses; - } - - /** - * Gets the LDAP syntaxes - * - * @return array - */ - public function getLdapSyntaxes() - { - return $this->_ldapSyntaxes; - } - - /** - * Gets the matching rules - * - * @return array - */ - public function getMatchingRules() - { - return $this->_matchingRules; - } - - /** - * Gets the matching rule use - * - * @return array - */ - public function getMatchingRuleUse() - { - return $this->_matchingRuleUse; - } - - /** - * Loads the attribute Types - * - * @return void - */ - protected function _loadAttributeTypes() - { - $this->_attributeTypes = array(); - foreach ($this->getAttribute('attributeTypes') as $value) { - $val = $this->_parseAttributeType($value); - $val = new Zend_Ldap_Node_Schema_AttributeType_OpenLdap($val); - $this->_attributeTypes[$val->getName()] = $val; - - } - foreach ($this->_attributeTypes as $val) { - if (count($val->sup) > 0) { - $this->_resolveInheritance($val, $this->_attributeTypes); - } - foreach ($val->aliases as $alias) { - $this->_attributeTypes[$alias] = $val; - } - } - ksort($this->_attributeTypes, SORT_STRING); - } - - /** - * Parses an attributeType value - * - * @param string $value - * @return array - */ - protected function _parseAttributeType($value) - { - $attributeType = array( - 'oid' => null, - 'name' => null, - 'desc' => null, - 'obsolete' => false, - 'sup' => null, - 'equality' => null, - 'ordering' => null, - 'substr' => null, - 'syntax' => null, - 'max-length' => null, - 'single-value' => false, - 'collective' => false, - 'no-user-modification' => false, - 'usage' => 'userApplications', - '_string' => $value, - '_parents' => array()); - - $tokens = $this->_tokenizeString($value); - $attributeType['oid'] = array_shift($tokens); // first token is the oid - $this->_parseLdapSchemaSyntax($attributeType, $tokens); - - if (array_key_exists('syntax', $attributeType)) { - // get max length from syntax - if (preg_match('/^(.+){(\d+)}$/', $attributeType['syntax'], $matches)) { - $attributeType['syntax'] = $matches[1]; - $attributeType['max-length'] = $matches[2]; - } - } - - $this->_ensureNameAttribute($attributeType); - - return $attributeType; - } - - /** - * Loads the object classes - * - * @return void - */ - protected function _loadObjectClasses() - { - $this->_objectClasses = array(); - foreach ($this->getAttribute('objectClasses') as $value) { - $val = $this->_parseObjectClass($value); - $val = new Zend_Ldap_Node_Schema_ObjectClass_OpenLdap($val); - $this->_objectClasses[$val->getName()] = $val; - } - foreach ($this->_objectClasses as $val) { - if (count($val->sup) > 0) { - $this->_resolveInheritance($val, $this->_objectClasses); - } - foreach ($val->aliases as $alias) { - $this->_objectClasses[$alias] = $val; - } - } - ksort($this->_objectClasses, SORT_STRING); - } - - /** - * Parses an objectClasses value - * - * @param string $value - * @return array - */ - protected function _parseObjectClass($value) - { - $objectClass = array( - 'oid' => null, - 'name' => null, - 'desc' => null, - 'obsolete' => false, - 'sup' => array(), - 'abstract' => false, - 'structural' => false, - 'auxiliary' => false, - 'must' => array(), - 'may' => array(), - '_string' => $value, - '_parents' => array()); - - $tokens = $this->_tokenizeString($value); - $objectClass['oid'] = array_shift($tokens); // first token is the oid - $this->_parseLdapSchemaSyntax($objectClass, $tokens); - - $this->_ensureNameAttribute($objectClass); - - return $objectClass; - } - - /** - * Resolves inheritance in objectClasses and attributes - * - * @param Zend_Ldap_Node_Schema_Item $node - * @param array $repository - */ - protected function _resolveInheritance(Zend_Ldap_Node_Schema_Item $node, array $repository) - { - $data = $node->getData(); - $parents = $data['sup']; - if ($parents === null || !is_array($parents) || count($parents) < 1) return; - foreach ($parents as $parent) { - if (!array_key_exists($parent, $repository)) continue; - if (!array_key_exists('_parents', $data) || !is_array($data['_parents'])) { - $data['_parents'] = array(); - } - $data['_parents'][] = $repository[$parent]; - } - $node->setData($data); - } - - /** - * Loads the LDAP syntaxes - * - * @return void - */ - protected function _loadLdapSyntaxes() - { - $this->_ldapSyntaxes = array(); - foreach ($this->getAttribute('ldapSyntaxes') as $value) { - $val = $this->_parseLdapSyntax($value); - $this->_ldapSyntaxes[$val['oid']] = $val; - } - ksort($this->_ldapSyntaxes, SORT_STRING); - } - - /** - * Parses an ldapSyntaxes value - * - * @param string $value - * @return array - */ - protected function _parseLdapSyntax($value) - { - $ldapSyntax = array( - 'oid' => null, - 'desc' => null, - '_string' => $value); - - $tokens = $this->_tokenizeString($value); - $ldapSyntax['oid'] = array_shift($tokens); // first token is the oid - $this->_parseLdapSchemaSyntax($ldapSyntax, $tokens); - - return $ldapSyntax; - } - - /** - * Loads the matching rules - * - * @return void - */ - protected function _loadMatchingRules() - { - $this->_matchingRules = array(); - foreach ($this->getAttribute('matchingRules') as $value) { - $val = $this->_parseMatchingRule($value); - $this->_matchingRules[$val['name']] = $val; - } - ksort($this->_matchingRules, SORT_STRING); - } - - /** - * Parses an matchingRules value - * - * @param string $value - * @return array - */ - protected function _parseMatchingRule($value) - { - $matchingRule = array( - 'oid' => null, - 'name' => null, - 'desc' => null, - 'obsolete' => false, - 'syntax' => null, - '_string' => $value); - - $tokens = $this->_tokenizeString($value); - $matchingRule['oid'] = array_shift($tokens); // first token is the oid - $this->_parseLdapSchemaSyntax($matchingRule, $tokens); - - $this->_ensureNameAttribute($matchingRule); - - return $matchingRule; - } - - /** - * Loads the matching rule use - * - * @return void - */ - protected function _loadMatchingRuleUse() - { - $this->_matchingRuleUse = array(); - foreach ($this->getAttribute('matchingRuleUse') as $value) { - $val = $this->_parseMatchingRuleUse($value); - $this->_matchingRuleUse[$val['name']] = $val; - } - ksort($this->_matchingRuleUse, SORT_STRING); - } - - /** - * Parses an matchingRuleUse value - * - * @param string $value - * @return array - */ - protected function _parseMatchingRuleUse($value) - { - $matchingRuleUse = array( - 'oid' => null, - 'name' => null, - 'desc' => null, - 'obsolete' => false, - 'applies' => array(), - '_string' => $value); - - $tokens = $this->_tokenizeString($value); - $matchingRuleUse['oid'] = array_shift($tokens); // first token is the oid - $this->_parseLdapSchemaSyntax($matchingRuleUse, $tokens); - - $this->_ensureNameAttribute($matchingRuleUse); - - return $matchingRuleUse; - } - - /** - * Ensures that a name element is present and that it is single-values. - * - * @param array $data - */ - protected function _ensureNameAttribute(array &$data) - { - if (!array_key_exists('name', $data) || empty($data['name'])) { - // force a name - $data['name'] = $data['oid']; - } - if (is_array($data['name'])) { - // make one name the default and put the other ones into aliases - $aliases = $data['name']; - $data['name'] = array_shift($aliases); - $data['aliases'] = $aliases; - } else { - $data['aliases'] = array(); - } - } - - /** - * Parse the given tokens into a data structure - * - * @param array $data - * @param array $tokens - * @return void - */ - protected function _parseLdapSchemaSyntax(array &$data, array $tokens) - { - // tokens that have no value associated - $noValue = array('single-value', - 'obsolete', - 'collective', - 'no-user-modification', - 'abstract', - 'structural', - 'auxiliary'); - // tokens that can have multiple values - $multiValue = array('must', 'may', 'sup'); - - while (count($tokens) > 0) { - $token = strtolower(array_shift($tokens)); - if (in_array($token, $noValue)) { - $data[$token] = true; // single value token - } else { - $data[$token] = array_shift($tokens); - // this one follows a string or a list if it is multivalued - if ($data[$token] == '(') { - // this creates the list of values and cycles through the tokens - // until the end of the list is reached ')' - $data[$token] = array(); - while ($tmp = array_shift($tokens)) { - if ($tmp == ')') break; - if ($tmp != '$') { - $data[$token][] = Zend_Ldap_Attribute::convertFromLdapValue($tmp); - } - } - } else { - $data[$token] = Zend_Ldap_Attribute::convertFromLdapValue($data[$token]); - } - // create a array if the value should be multivalued but was not - if (in_array($token, $multiValue) && !is_array($data[$token])) { - $data[$token] = array($data[$token]); - } - } - } - } - - /** - * Tokenizes the given value into an array - * - * @param string $value - * @return array tokens - */ - protected function _tokenizeString($value) - { - $tokens = array(); - $matches = array(); - // this one is taken from PEAR::Net_LDAP2 - $pattern = "/\s* (?:([()]) | ([^'\s()]+) | '((?:[^']+|'[^\s)])*)') \s*/x"; - preg_match_all($pattern, $value, $matches); - $cMatches = count($matches[0]); - $cPattern = count($matches); - for ($i = 0; $i < $cMatches; $i++) { // number of tokens (full pattern match) - for ($j = 1; $j < $cPattern; $j++) { // each subpattern - $tok = trim($matches[$j][$i]); - if (!empty($tok)) { // pattern match in this subpattern - $tokens[$i] = $tok; // this is the token - } - } - } - if ($tokens[0] == '(') array_shift($tokens); - if ($tokens[count($tokens) - 1] == ')') array_pop($tokens); - return $tokens; - } -} diff --git a/lib/zend/Zend/Loader/Autoloader.php b/lib/zend/Zend/Loader/Autoloader.php deleted file mode 100644 index b6b5ae83eb..0000000000 --- a/lib/zend/Zend/Loader/Autoloader.php +++ /dev/null @@ -1,584 +0,0 @@ - true, - 'ZendX_' => true, - ); - - /** - * @var array Namespace-specific autoloaders - */ - protected $_namespaceAutoloaders = array(); - - /** - * @var bool Whether or not to suppress file not found warnings - */ - protected $_suppressNotFoundWarnings = false; - - /** - * @var null|string - */ - protected $_zfPath; - - /** - * Retrieve singleton instance - * - * @return Zend_Loader_Autoloader - */ - public static function getInstance() - { - if (null === self::$_instance) { - self::$_instance = new self(); - } - return self::$_instance; - } - - /** - * Reset the singleton instance - * - * @return void - */ - public static function resetInstance() - { - self::$_instance = null; - } - - /** - * Autoload a class - * - * @param string $class - * @return bool - */ - public static function autoload($class) - { - $self = self::getInstance(); - - foreach ($self->getClassAutoloaders($class) as $autoloader) { - if ($autoloader instanceof Zend_Loader_Autoloader_Interface) { - if ($autoloader->autoload($class)) { - return true; - } - } elseif (is_string($autoloader)) { - if ($autoloader($class)) { - return true; - } - } elseif (is_array($autoloader)) { - $object = array_shift($autoloader); - $method = array_shift($autoloader); - if (call_user_func(array($object, $method), $class)) { - return true; - } - } - } - - return false; - } - - /** - * Set the default autoloader implementation - * - * @param string|array $callback PHP callback - * @return void - */ - public function setDefaultAutoloader($callback) - { - if (!is_callable($callback)) { - throw new Zend_Loader_Exception('Invalid callback specified for default autoloader'); - } - - $this->_defaultAutoloader = $callback; - return $this; - } - - /** - * Retrieve the default autoloader callback - * - * @return string|array PHP Callback - */ - public function getDefaultAutoloader() - { - return $this->_defaultAutoloader; - } - - /** - * Set several autoloader callbacks at once - * - * @param array $autoloaders Array of PHP callbacks (or Zend_Loader_Autoloader_Interface implementations) to act as autoloaders - * @return Zend_Loader_Autoloader - */ - public function setAutoloaders(array $autoloaders) - { - $this->_autoloaders = $autoloaders; - return $this; - } - - /** - * Get attached autoloader implementations - * - * @return array - */ - public function getAutoloaders() - { - return $this->_autoloaders; - } - - /** - * Return all autoloaders for a given namespace - * - * @param string $namespace - * @return array - */ - public function getNamespaceAutoloaders($namespace) - { - $namespace = (string) $namespace; - if (!array_key_exists($namespace, $this->_namespaceAutoloaders)) { - return array(); - } - return $this->_namespaceAutoloaders[$namespace]; - } - - /** - * Register a namespace to autoload - * - * @param string|array $namespace - * @return Zend_Loader_Autoloader - */ - public function registerNamespace($namespace) - { - if (is_string($namespace)) { - $namespace = (array) $namespace; - } elseif (!is_array($namespace)) { - throw new Zend_Loader_Exception('Invalid namespace provided'); - } - - foreach ($namespace as $ns) { - if (!isset($this->_namespaces[$ns])) { - $this->_namespaces[$ns] = true; - } - } - return $this; - } - - /** - * Unload a registered autoload namespace - * - * @param string|array $namespace - * @return Zend_Loader_Autoloader - */ - public function unregisterNamespace($namespace) - { - if (is_string($namespace)) { - $namespace = (array) $namespace; - } elseif (!is_array($namespace)) { - throw new Zend_Loader_Exception('Invalid namespace provided'); - } - - foreach ($namespace as $ns) { - if (isset($this->_namespaces[$ns])) { - unset($this->_namespaces[$ns]); - } - } - return $this; - } - - /** - * Get a list of registered autoload namespaces - * - * @return array - */ - public function getRegisteredNamespaces() - { - return array_keys($this->_namespaces); - } - - public function setZfPath($spec, $version = 'latest') - { - $path = $spec; - if (is_array($spec)) { - if (!isset($spec['path'])) { - throw new Zend_Loader_Exception('No path specified for ZF'); - } - $path = $spec['path']; - if (isset($spec['version'])) { - $version = $spec['version']; - } - } - - $this->_zfPath = $this->_getVersionPath($path, $version); - set_include_path(implode(PATH_SEPARATOR, array( - $this->_zfPath, - get_include_path(), - ))); - return $this; - } - - public function getZfPath() - { - return $this->_zfPath; - } - - /** - * Get or set the value of the "suppress not found warnings" flag - * - * @param null|bool $flag - * @return bool|Zend_Loader_Autoloader Returns boolean if no argument is passed, object instance otherwise - */ - public function suppressNotFoundWarnings($flag = null) - { - if (null === $flag) { - return $this->_suppressNotFoundWarnings; - } - $this->_suppressNotFoundWarnings = (bool) $flag; - return $this; - } - - /** - * Indicate whether or not this autoloader should be a fallback autoloader - * - * @param bool $flag - * @return Zend_Loader_Autoloader - */ - public function setFallbackAutoloader($flag) - { - $this->_fallbackAutoloader = (bool) $flag; - return $this; - } - - /** - * Is this instance acting as a fallback autoloader? - * - * @return bool - */ - public function isFallbackAutoloader() - { - return $this->_fallbackAutoloader; - } - - /** - * Get autoloaders to use when matching class - * - * Determines if the class matches a registered namespace, and, if so, - * returns only the autoloaders for that namespace. Otherwise, it returns - * all non-namespaced autoloaders. - * - * @param string $class - * @return array Array of autoloaders to use - */ - public function getClassAutoloaders($class) - { - $namespace = false; - $autoloaders = array(); - - // Add concrete namespaced autoloaders - foreach (array_keys($this->_namespaceAutoloaders) as $ns) { - if ('' == $ns) { - continue; - } - if (0 === strpos($class, $ns)) { - $namespace = $ns; - $autoloaders = $autoloaders + $this->getNamespaceAutoloaders($ns); - break; - } - } - - // Add internal namespaced autoloader - foreach ($this->getRegisteredNamespaces() as $ns) { - if (0 === strpos($class, $ns)) { - $namespace = $ns; - $autoloaders[] = $this->_internalAutoloader; - break; - } - } - - // Add non-namespaced autoloaders - $autoloaders = $autoloaders + $this->getNamespaceAutoloaders(''); - - // Add fallback autoloader - if (!$namespace && $this->isFallbackAutoloader()) { - $autoloaders[] = $this->_internalAutoloader; - } - - return $autoloaders; - } - - /** - * Add an autoloader to the beginning of the stack - * - * @param object|array|string $callback PHP callback or Zend_Loader_Autoloader_Interface implementation - * @param string|array $namespace Specific namespace(s) under which to register callback - * @return Zend_Loader_Autoloader - */ - public function unshiftAutoloader($callback, $namespace = '') - { - $autoloaders = $this->getAutoloaders(); - array_unshift($autoloaders, $callback); - $this->setAutoloaders($autoloaders); - - $namespace = (array) $namespace; - foreach ($namespace as $ns) { - $autoloaders = $this->getNamespaceAutoloaders($ns); - array_unshift($autoloaders, $callback); - $this->_setNamespaceAutoloaders($autoloaders, $ns); - } - - return $this; - } - - /** - * Append an autoloader to the autoloader stack - * - * @param object|array|string $callback PHP callback or Zend_Loader_Autoloader_Interface implementation - * @param string|array $namespace Specific namespace(s) under which to register callback - * @return Zend_Loader_Autoloader - */ - public function pushAutoloader($callback, $namespace = '') - { - $autoloaders = $this->getAutoloaders(); - array_push($autoloaders, $callback); - $this->setAutoloaders($autoloaders); - - $namespace = (array) $namespace; - foreach ($namespace as $ns) { - $autoloaders = $this->getNamespaceAutoloaders($ns); - array_push($autoloaders, $callback); - $this->_setNamespaceAutoloaders($autoloaders, $ns); - } - - return $this; - } - - /** - * Remove an autoloader from the autoloader stack - * - * @param object|array|string $callback PHP callback or Zend_Loader_Autoloader_Interface implementation - * @param null|string|array $namespace Specific namespace(s) from which to remove autoloader - * @return Zend_Loader_Autoloader - */ - public function removeAutoloader($callback, $namespace = null) - { - if (null === $namespace) { - $autoloaders = $this->getAutoloaders(); - if (false !== ($index = array_search($callback, $autoloaders, true))) { - unset($autoloaders[$index]); - $this->setAutoloaders($autoloaders); - } - - foreach ($this->_namespaceAutoloaders as $ns => $autoloaders) { - if (false !== ($index = array_search($callback, $autoloaders, true))) { - unset($autoloaders[$index]); - $this->_setNamespaceAutoloaders($autoloaders, $ns); - } - } - } else { - $namespace = (array) $namespace; - foreach ($namespace as $ns) { - $autoloaders = $this->getNamespaceAutoloaders($ns); - if (false !== ($index = array_search($callback, $autoloaders, true))) { - unset($autoloaders[$index]); - $this->_setNamespaceAutoloaders($autoloaders, $ns); - } - } - } - - return $this; - } - - /** - * Constructor - * - * Registers instance with spl_autoload stack - * - * @return void - */ - protected function __construct() - { - spl_autoload_register(array(__CLASS__, 'autoload')); - $this->_internalAutoloader = array($this, '_autoload'); - } - - /** - * Internal autoloader implementation - * - * @param string $class - * @return bool - */ - protected function _autoload($class) - { - $callback = $this->getDefaultAutoloader(); - try { - if ($this->suppressNotFoundWarnings()) { - @call_user_func($callback, $class); - } else { - call_user_func($callback, $class); - } - return $class; - } catch (Zend_Exception $e) { - return false; - } - } - - /** - * Set autoloaders for a specific namespace - * - * @param array $autoloaders - * @param string $namespace - * @return Zend_Loader_Autoloader - */ - protected function _setNamespaceAutoloaders(array $autoloaders, $namespace = '') - { - $namespace = (string) $namespace; - $this->_namespaceAutoloaders[$namespace] = $autoloaders; - return $this; - } - - /** - * Retrieve the filesystem path for the requested ZF version - * - * @param string $path - * @param string $version - * @return void - */ - protected function _getVersionPath($path, $version) - { - $type = $this->_getVersionType($version); - - if ($type == 'latest') { - $version = 'latest'; - } - - $availableVersions = $this->_getAvailableVersions($path, $version); - if (empty($availableVersions)) { - throw new Zend_Loader_Exception('No valid ZF installations discovered'); - } - - $matchedVersion = array_pop($availableVersions); - return $matchedVersion; - } - - /** - * Retrieve the ZF version type - * - * @param string $version - * @return string "latest", "major", "minor", or "specific" - * @throws Zend_Loader_Exception if version string contains too many dots - */ - protected function _getVersionType($version) - { - if (strtolower($version) == 'latest') { - return 'latest'; - } - - $parts = explode('.', $version); - $count = count($parts); - if (1 == $count) { - return 'major'; - } - if (2 == $count) { - return 'minor'; - } - if (3 < $count) { - throw new Zend_Loader_Exception('Invalid version string provided'); - } - return 'specific'; - } - - /** - * Get available versions for the version type requested - * - * @param string $path - * @param string $version - * @return array - */ - protected function _getAvailableVersions($path, $version) - { - if (!is_dir($path)) { - throw new Zend_Loader_Exception('Invalid ZF path provided'); - } - - $path = rtrim($path, '/'); - $path = rtrim($path, '\\'); - $versionLen = strlen($version); - $versions = array(); - $dirs = glob("$path/*", GLOB_ONLYDIR); - foreach ($dirs as $dir) { - $dirName = substr($dir, strlen($path) + 1); - if (!preg_match('/^(?:ZendFramework-)?(\d+\.\d+\.\d+((a|b|pl|pr|p|rc)\d+)?)(?:-minimal)?$/i', $dirName, $matches)) { - continue; - } - - $matchedVersion = $matches[1]; - - if (('latest' == $version) - || ((strlen($matchedVersion) >= $versionLen) - && (0 === strpos($matchedVersion, $version))) - ) { - $versions[$matchedVersion] = $dir . '/library'; - } - } - - uksort($versions, 'version_compare'); - return $versions; - } -} diff --git a/lib/zend/Zend/Loader/Autoloader/Interface.php b/lib/zend/Zend/Loader/Autoloader/Interface.php deleted file mode 100644 index 0837312cc2..0000000000 --- a/lib/zend/Zend/Loader/Autoloader/Interface.php +++ /dev/null @@ -1,34 +0,0 @@ -toArray(); - } - if (!is_array($options)) { - require_once 'Zend/Loader/Exception.php'; - throw new Zend_Loader_Exception('Options must be passed to resource loader constructor'); - } - - $this->setOptions($options); - - $namespace = $this->getNamespace(); - if ((null === $namespace) - || (null === $this->getBasePath()) - ) { - require_once 'Zend/Loader/Exception.php'; - throw new Zend_Loader_Exception('Resource loader requires both a namespace and a base path for initialization'); - } - - if (!empty($namespace)) { - $namespace .= '_'; - } - Zend_Loader_Autoloader::getInstance()->unshiftAutoloader($this, $namespace); - } - - /** - * Overloading: methods - * - * Allow retrieving concrete resource object instances using 'get()' - * syntax. Example: - * - * $loader = new Zend_Loader_Autoloader_Resource(array( - * 'namespace' => 'Stuff_', - * 'basePath' => '/path/to/some/stuff', - * )) - * $loader->addResourceType('Model', 'models', 'Model'); - * - * $foo = $loader->getModel('Foo'); // get instance of Stuff_Model_Foo class - * - * - * @param string $method - * @param array $args - * @return mixed - * @throws Zend_Loader_Exception if method not beginning with 'get' or not matching a valid resource type is called - */ - public function __call($method, $args) - { - if ('get' == substr($method, 0, 3)) { - $type = strtolower(substr($method, 3)); - if (!$this->hasResourceType($type)) { - require_once 'Zend/Loader/Exception.php'; - throw new Zend_Loader_Exception("Invalid resource type $type; cannot load resource"); - } - if (empty($args)) { - require_once 'Zend/Loader/Exception.php'; - throw new Zend_Loader_Exception("Cannot load resources; no resource specified"); - } - $resource = array_shift($args); - return $this->load($resource, $type); - } - - require_once 'Zend/Loader/Exception.php'; - throw new Zend_Loader_Exception("Method '$method' is not supported"); - } - - /** - * Attempt to autoload a class - * - * @param string $class - * @return mixed False if not matched, otherwise result if include operation - */ - public function autoload($class) - { - $segments = explode('_', $class); - $namespaceTopLevel = $this->getNamespace(); - $namespace = ''; - - if (!empty($namespaceTopLevel)) { - $namespace = array_shift($segments); - if ($namespace != $namespaceTopLevel) { - // wrong prefix? we're done - return false; - } - } - - if (count($segments) < 2) { - // assumes all resources have a component and class name, minimum - return false; - } - - $final = array_pop($segments); - $component = $namespace; - $lastMatch = false; - do { - $segment = array_shift($segments); - $component .= empty($component) ? $segment : '_' . $segment; - if (isset($this->_components[$component])) { - $lastMatch = $component; - } - } while (count($segments)); - - if (!$lastMatch) { - return false; - } - - $final = substr($class, strlen($lastMatch)); - $path = $this->_components[$lastMatch]; - return include $path . '/' . str_replace('_', '/', $final) . '.php'; - } - - /** - * Set class state from options - * - * @param array $options - * @return Zend_Loader_Autoloader_Resource - */ - public function setOptions(array $options) - { - $methods = get_class_methods($this); - foreach ($options as $key => $value) { - $method = 'set' . ucfirst($key); - if (in_array($method, $methods)) { - $this->$method($value); - } - } - return $this; - } - - /** - * Set namespace that this autoloader handles - * - * @param string $namespace - * @return Zend_Loader_Autoloader_Resource - */ - public function setNamespace($namespace) - { - $this->_namespace = rtrim((string) $namespace, '_'); - return $this; - } - - /** - * Get namespace this autoloader handles - * - * @return string - */ - public function getNamespace() - { - return $this->_namespace; - } - - /** - * Set base path for this set of resources - * - * @param string $path - * @return Zend_Loader_Autoloader_Resource - */ - public function setBasePath($path) - { - $this->_basePath = (string) $path; - return $this; - } - - /** - * Get base path to this set of resources - * - * @return string - */ - public function getBasePath() - { - return $this->_basePath; - } - - /** - * Add resource type - * - * @param string $type identifier for the resource type being loaded - * @param string $path path relative to resource base path containing the resource types - * @param null|string $namespace sub-component namespace to append to base namespace that qualifies this resource type - * @return Zend_Loader_Autoloader_Resource - */ - public function addResourceType($type, $path, $namespace = null) - { - $type = strtolower($type); - if (!isset($this->_resourceTypes[$type])) { - if (null === $namespace) { - require_once 'Zend/Loader/Exception.php'; - throw new Zend_Loader_Exception('Initial definition of a resource type must include a namespace'); - } - $namespaceTopLevel = $this->getNamespace(); - $namespace = ucfirst(trim($namespace, '_')); - $this->_resourceTypes[$type] = array( - 'namespace' => empty($namespaceTopLevel) ? $namespace : $namespaceTopLevel . '_' . $namespace, - ); - } - if (!is_string($path)) { - require_once 'Zend/Loader/Exception.php'; - throw new Zend_Loader_Exception('Invalid path specification provided; must be string'); - } - $this->_resourceTypes[$type]['path'] = $this->getBasePath() . '/' . rtrim($path, '\/'); - - $component = $this->_resourceTypes[$type]['namespace']; - $this->_components[$component] = $this->_resourceTypes[$type]['path']; - return $this; - } - - /** - * Add multiple resources at once - * - * $types should be an associative array of resource type => specification - * pairs. Each specification should be an associative array containing - * minimally the 'path' key (specifying the path relative to the resource - * base path) and optionally the 'namespace' key (indicating the subcomponent - * namespace to append to the resource namespace). - * - * As an example: - * - * $loader->addResourceTypes(array( - * 'model' => array( - * 'path' => 'models', - * 'namespace' => 'Model', - * ), - * 'form' => array( - * 'path' => 'forms', - * 'namespace' => 'Form', - * ), - * )); - * - * - * @param array $types - * @return Zend_Loader_Autoloader_Resource - */ - public function addResourceTypes(array $types) - { - foreach ($types as $type => $spec) { - if (!is_array($spec)) { - require_once 'Zend/Loader/Exception.php'; - throw new Zend_Loader_Exception('addResourceTypes() expects an array of arrays'); - } - if (!isset($spec['path'])) { - require_once 'Zend/Loader/Exception.php'; - throw new Zend_Loader_Exception('addResourceTypes() expects each array to include a paths element'); - } - $paths = $spec['path']; - $namespace = null; - if (isset($spec['namespace'])) { - $namespace = $spec['namespace']; - } - $this->addResourceType($type, $paths, $namespace); - } - return $this; - } - - /** - * Overwrite existing and set multiple resource types at once - * - * @see Zend_Loader_Autoloader_Resource::addResourceTypes() - * @param array $types - * @return Zend_Loader_Autoloader_Resource - */ - public function setResourceTypes(array $types) - { - $this->clearResourceTypes(); - return $this->addResourceTypes($types); - } - - /** - * Retrieve resource type mappings - * - * @return array - */ - public function getResourceTypes() - { - return $this->_resourceTypes; - } - - /** - * Is the requested resource type defined? - * - * @param string $type - * @return bool - */ - public function hasResourceType($type) - { - return isset($this->_resourceTypes[$type]); - } - - /** - * Remove the requested resource type - * - * @param string $type - * @return Zend_Loader_Autoloader_Resource - */ - public function removeResourceType($type) - { - if ($this->hasResourceType($type)) { - $namespace = $this->_resourceTypes[$type]['namespace']; - unset($this->_components[$namespace]); - unset($this->_resourceTypes[$type]); - } - return $this; - } - - /** - * Clear all resource types - * - * @return Zend_Loader_Autoloader_Resource - */ - public function clearResourceTypes() - { - $this->_resourceTypes = array(); - $this->_components = array(); - return $this; - } - - /** - * Set default resource type to use when calling load() - * - * @param string $type - * @return Zend_Loader_Autoloader_Resource - */ - public function setDefaultResourceType($type) - { - if ($this->hasResourceType($type)) { - $this->_defaultResourceType = $type; - } - return $this; - } - - /** - * Get default resource type to use when calling load() - * - * @return string|null - */ - public function getDefaultResourceType() - { - return $this->_defaultResourceType; - } - - /** - * Object registry and factory - * - * Loads the requested resource of type $type (or uses the default resource - * type if none provided). If the resource has been loaded previously, - * returns the previous instance; otherwise, instantiates it. - * - * @param string $resource - * @param string $type - * @return object - * @throws Zend_Loader_Exception if resource type not specified or invalid - */ - public function load($resource, $type = null) - { - if (null === $type) { - $type = $this->getDefaultResourceType(); - if (empty($type)) { - require_once 'Zend/Loader/Exception.php'; - throw new Zend_Loader_Exception('No resource type specified'); - } - } - if (!$this->hasResourceType($type)) { - require_once 'Zend/Loader/Exception.php'; - throw new Zend_Loader_Exception('Invalid resource type specified'); - } - $namespace = $this->_resourceTypes[$type]['namespace']; - $class = $namespace . '_' . ucfirst($resource); - if (!isset($this->_resources[$class])) { - $this->_resources[$class] = new $class; - } - return $this->_resources[$class]; - } -} diff --git a/lib/zend/Zend/Loader/Exception.php b/lib/zend/Zend/Loader/Exception.php deleted file mode 100644 index f1e01e3b74..0000000000 --- a/lib/zend/Zend/Loader/Exception.php +++ /dev/null @@ -1,35 +0,0 @@ -_useStaticRegistry = $staticRegistryName; - if(!isset(self::$_staticPrefixToPaths[$staticRegistryName])) { - self::$_staticPrefixToPaths[$staticRegistryName] = array(); - } - if(!isset(self::$_staticLoadedPlugins[$staticRegistryName])) { - self::$_staticLoadedPlugins[$staticRegistryName] = array(); - } - } - - foreach ($prefixToPaths as $prefix => $path) { - $this->addPrefixPath($prefix, $path); - } - } - - /** - * Format prefix for internal use - * - * @param string $prefix - * @return string - */ - protected function _formatPrefix($prefix) - { - if($prefix == "") { - return $prefix; - } - return rtrim($prefix, '_') . '_'; - } - - /** - * Add prefixed paths to the registry of paths - * - * @param string $prefix - * @param string $path - * @return Zend_Loader_PluginLoader - */ - public function addPrefixPath($prefix, $path) - { - if (!is_string($prefix) || !is_string($path)) { - require_once 'Zend/Loader/PluginLoader/Exception.php'; - throw new Zend_Loader_PluginLoader_Exception('Zend_Loader_PluginLoader::addPrefixPath() method only takes strings for prefix and path.'); - } - - $prefix = $this->_formatPrefix($prefix); - $path = rtrim($path, '/\\') . '/'; - - if ($this->_useStaticRegistry) { - self::$_staticPrefixToPaths[$this->_useStaticRegistry][$prefix][] = $path; - } else { - if (!isset($this->_prefixToPaths[$prefix])) { - $this->_prefixToPaths[$prefix] = array(); - } - if (!in_array($path, $this->_prefixToPaths[$prefix])) { - $this->_prefixToPaths[$prefix][] = $path; - } - } - return $this; - } - - /** - * Get path stack - * - * @param string $prefix - * @return false|array False if prefix does not exist, array otherwise - */ - public function getPaths($prefix = null) - { - if ((null !== $prefix) && is_string($prefix)) { - $prefix = $this->_formatPrefix($prefix); - if ($this->_useStaticRegistry) { - if (isset(self::$_staticPrefixToPaths[$this->_useStaticRegistry][$prefix])) { - return self::$_staticPrefixToPaths[$this->_useStaticRegistry][$prefix]; - } - - return false; - } - - if (isset($this->_prefixToPaths[$prefix])) { - return $this->_prefixToPaths[$prefix]; - } - - return false; - } - - if ($this->_useStaticRegistry) { - return self::$_staticPrefixToPaths[$this->_useStaticRegistry]; - } - - return $this->_prefixToPaths; - } - - /** - * Clear path stack - * - * @param string $prefix - * @return bool False only if $prefix does not exist - */ - public function clearPaths($prefix = null) - { - if ((null !== $prefix) && is_string($prefix)) { - $prefix = $this->_formatPrefix($prefix); - if ($this->_useStaticRegistry) { - if (isset(self::$_staticPrefixToPaths[$this->_useStaticRegistry][$prefix])) { - unset(self::$_staticPrefixToPaths[$this->_useStaticRegistry][$prefix]); - return true; - } - - return false; - } - - if (isset($this->_prefixToPaths[$prefix])) { - unset($this->_prefixToPaths[$prefix]); - return true; - } - - return false; - } - - if ($this->_useStaticRegistry) { - self::$_staticPrefixToPaths[$this->_useStaticRegistry] = array(); - } else { - $this->_prefixToPaths = array(); - } - - return true; - } - - /** - * Remove a prefix (or prefixed-path) from the registry - * - * @param string $prefix - * @param string $path OPTIONAL - * @return Zend_Loader_PluginLoader - */ - public function removePrefixPath($prefix, $path = null) - { - $prefix = $this->_formatPrefix($prefix); - if ($this->_useStaticRegistry) { - $registry =& self::$_staticPrefixToPaths[$this->_useStaticRegistry]; - } else { - $registry =& $this->_prefixToPaths; - } - - if (!isset($registry[$prefix])) { - require_once 'Zend/Loader/PluginLoader/Exception.php'; - throw new Zend_Loader_PluginLoader_Exception('Prefix ' . $prefix . ' was not found in the PluginLoader.'); - } - - if ($path != null) { - $pos = array_search($path, $registry[$prefix]); - if ($pos === null) { - require_once 'Zend/Loader/PluginLoader/Exception.php'; - throw new Zend_Loader_PluginLoader_Exception('Prefix ' . $prefix . ' / Path ' . $path . ' was not found in the PluginLoader.'); - } - unset($registry[$prefix][$pos]); - } else { - unset($registry[$prefix]); - } - - return $this; - } - - /** - * Normalize plugin name - * - * @param string $name - * @return string - */ - protected function _formatName($name) - { - return ucfirst((string) $name); - } - - /** - * Whether or not a Plugin by a specific name is loaded - * - * @param string $name - * @return Zend_Loader_PluginLoader - */ - public function isLoaded($name) - { - $name = $this->_formatName($name); - if ($this->_useStaticRegistry) { - return isset(self::$_staticLoadedPlugins[$this->_useStaticRegistry][$name]); - } - - return isset($this->_loadedPlugins[$name]); - } - - /** - * Return full class name for a named plugin - * - * @param string $name - * @return string|false False if class not found, class name otherwise - */ - public function getClassName($name) - { - $name = $this->_formatName($name); - if ($this->_useStaticRegistry - && isset(self::$_staticLoadedPlugins[$this->_useStaticRegistry][$name]) - ) { - return self::$_staticLoadedPlugins[$this->_useStaticRegistry][$name]; - } elseif (isset($this->_loadedPlugins[$name])) { - return $this->_loadedPlugins[$name]; - } - - return false; - } - - /** - * Get path to plugin class - * - * @param mixed $name - * @return string|false False if not found - */ - public function getClassPath($name) - { - $name = $this->_formatName($name); - if ($this->_useStaticRegistry - && !empty(self::$_staticLoadedPluginPaths[$this->_useStaticRegistry][$name]) - ) { - return self::$_staticLoadedPluginPaths[$this->_useStaticRegistry][$name]; - } elseif (!empty($this->_loadedPluginPaths[$name])) { - return $this->_loadedPluginPaths[$name]; - } - - if ($this->isLoaded($name)) { - $class = $this->getClassName($name); - $r = new ReflectionClass($class); - $path = $r->getFileName(); - if ($this->_useStaticRegistry) { - self::$_staticLoadedPluginPaths[$this->_useStaticRegistry][$name] = $path; - } else { - $this->_loadedPluginPaths[$name] = $path; - } - return $path; - } - - return false; - } - - /** - * Load a plugin via the name provided - * - * @param string $name - * @param bool $throwExceptions Whether or not to throw exceptions if the - * class is not resolved - * @return string|false Class name of loaded class; false if $throwExceptions - * if false and no class found - * @throws Zend_Loader_Exception if class not found - */ - public function load($name, $throwExceptions = true) - { - $name = $this->_formatName($name); - if ($this->isLoaded($name)) { - return $this->getClassName($name); - } - - if ($this->_useStaticRegistry) { - $registry = self::$_staticPrefixToPaths[$this->_useStaticRegistry]; - } else { - $registry = $this->_prefixToPaths; - } - - $registry = array_reverse($registry, true); - $found = false; - $classFile = str_replace('_', DIRECTORY_SEPARATOR, $name) . '.php'; - $incFile = self::getIncludeFileCache(); - foreach ($registry as $prefix => $paths) { - $className = $prefix . $name; - - if (class_exists($className, false)) { - $found = true; - break; - } - - $paths = array_reverse($paths, true); - - foreach ($paths as $path) { - $loadFile = $path . $classFile; - if (Zend_Loader::isReadable($loadFile)) { - include_once $loadFile; - if (class_exists($className, false)) { - if (null !== $incFile) { - self::_appendIncFile($loadFile); - } - $found = true; - break 2; - } - } - } - } - - if (!$found) { - if (!$throwExceptions) { - return false; - } - - $message = "Plugin by name '$name' was not found in the registry; used paths:"; - foreach ($registry as $prefix => $paths) { - $message .= "\n$prefix: " . implode(PATH_SEPARATOR, $paths); - } - require_once 'Zend/Loader/PluginLoader/Exception.php'; - throw new Zend_Loader_PluginLoader_Exception($message); - } - - if ($this->_useStaticRegistry) { - self::$_staticLoadedPlugins[$this->_useStaticRegistry][$name] = $className; - self::$_staticLoadedPluginPaths[$this->_useStaticRegistry][$name] = (isset($loadFile) ? $loadFile : ''); - } else { - $this->_loadedPlugins[$name] = $className; - $this->_loadedPluginPaths[$name] = (isset($loadFile) ? $loadFile : ''); - } - return $className; - } - - /** - * Set path to class file cache - * - * Specify a path to a file that will add include_once statements for each - * plugin class loaded. This is an opt-in feature for performance purposes. - * - * @param string $file - * @return void - * @throws Zend_Loader_PluginLoader_Exception if file is not writeable or path does not exist - */ - public static function setIncludeFileCache($file) - { - if (null === $file) { - self::$_includeFileCache = null; - return; - } - - if (!file_exists($file) && !file_exists(dirname($file))) { - require_once 'Zend/Loader/PluginLoader/Exception.php'; - throw new Zend_Loader_PluginLoader_Exception('Specified file does not exist and/or directory does not exist (' . $file . ')'); - } - if (file_exists($file) && !is_writable($file)) { - require_once 'Zend/Loader/PluginLoader/Exception.php'; - throw new Zend_Loader_PluginLoader_Exception('Specified file is not writeable (' . $file . ')'); - } - if (!file_exists($file) && file_exists(dirname($file)) && !is_writable(dirname($file))) { - require_once 'Zend/Loader/PluginLoader/Exception.php'; - throw new Zend_Loader_PluginLoader_Exception('Specified file is not writeable (' . $file . ')'); - } - - self::$_includeFileCache = $file; - } - - /** - * Retrieve class file cache path - * - * @return string|null - */ - public static function getIncludeFileCache() - { - return self::$_includeFileCache; - } - - /** - * Append an include_once statement to the class file cache - * - * @param string $incFile - * @return void - */ - protected static function _appendIncFile($incFile) - { - if (!file_exists(self::$_includeFileCache)) { - $file = ' true, 'aa_DJ' => true, 'aa_ER' => true, 'aa_ET' => true, 'aa' => true, - 'af_NA' => true, 'af_ZA' => true, 'af' => true, 'ak_GH' => true, 'ak' => true, - 'am_ET' => true, 'am' => true, 'ar_AE' => true, 'ar_BH' => true, 'ar_DZ' => true, - 'ar_EG' => true, 'ar_IQ' => true, 'ar_JO' => true, 'ar_KW' => true, 'ar_LB' => true, - 'ar_LY' => true, 'ar_MA' => true, 'ar_OM' => true, 'ar_QA' => true, 'ar_SA' => true, - 'ar_SD' => true, 'ar_SY' => true, 'ar_TN' => true, 'ar_YE' => true, 'ar' => true, - 'as_IN' => true, 'as' => true, 'az_AZ' => true, 'az' => true, 'be_BY' => true, - 'be' => true, 'bg_BG' => true, 'bg' => true, 'bn_BD' => true, 'bn_IN' => true, - 'bn' => true, 'bo_CN' => true, 'bo_IN' => true, 'bo' => true, 'bs_BA' => true, - 'bs' => true, 'byn_ER'=> true, 'byn' => true, 'ca_ES' => true, 'ca' => true, - 'cch_NG'=> true, 'cch' => true, 'cop' => true, 'cs_CZ' => true, 'cs' => true, - 'cy_GB' => true, 'cy' => true, 'da_DK' => true, 'da' => true, 'de_AT' => true, - 'de_BE' => true, 'de_CH' => true, 'de_DE' => true, 'de_LI' => true, 'de_LU' => true, - 'de' => true, 'dv_MV' => true, 'dv' => true, 'dz_BT' => true, 'dz' => true, - 'ee_GH' => true, 'ee_TG' => true, 'ee' => true, 'el_CY' => true, 'el_GR' => true, - 'el' => true, 'en_AS' => true, 'en_AU' => true, 'en_BE' => true, 'en_BW' => true, - 'en_BZ' => true, 'en_CA' => true, 'en_GB' => true, 'en_GU' => true, 'en_HK' => true, - 'en_IE' => true, 'en_IN' => true, 'en_JM' => true, 'en_MH' => true, 'en_MP' => true, - 'en_MT' => true, 'en_NA' => true, 'en_NZ' => true, 'en_PH' => true, 'en_PK' => true, - 'en_SG' => true, 'en_TT' => true, 'en_UM' => true, 'en_US' => true, 'en_VI' => true, - 'en_ZA' => true, 'en_ZW' => true, 'en' => true, 'eo' => true, 'es_AR' => true, - 'es_BO' => true, 'es_CL' => true, 'es_CO' => true, 'es_CR' => true, 'es_DO' => true, - 'es_EC' => true, 'es_ES' => true, 'es_GT' => true, 'es_HN' => true, 'es_MX' => true, - 'es_NI' => true, 'es_PA' => true, 'es_PE' => true, 'es_PR' => true, 'es_PY' => true, - 'es_SV' => true, 'es_US' => true, 'es_UY' => true, 'es_VE' => true, 'es' => true, - 'et_EE' => true, 'et' => true, 'eu_ES' => true, 'eu' => true, 'fa_AF' => true, - 'fa_IR' => true, 'fa' => true, 'fi_FI' => true, 'fi' => true, 'fil_PH'=> true, - 'fil' => true, 'fo_FO' => true, 'fo' => true, 'fr_BE' => true, 'fr_CA' => true, - 'fr_CH' => true, 'fr_FR' => true, 'fr_LU' => true, 'fr_MC' => true, 'fr_SN' => true, - 'fr' => true, 'fur_IT'=> true, 'fur' => true, 'ga_IE' => true, 'ga' => true, - 'gaa_GH'=> true, 'gaa' => true, 'gez_ER'=> true, 'gez_ET'=> true, 'gez' => true, - 'gl_ES' => true, 'gl' => true, 'gsw_CH'=> true, 'gsw' => true, 'gu_IN' => true, - 'gu' => true, 'gv_GB' => true, 'gv' => true, 'ha_GH' => true, 'ha_NE' => true, - 'ha_NG' => true, 'ha_SD' => true, 'ha' => true, 'haw_US'=> true, 'haw' => true, - 'he_IL' => true, 'he' => true, 'hi_IN' => true, 'hi' => true, 'hr_HR' => true, - 'hr' => true, 'hu_HU' => true, 'hu' => true, 'hy_AM' => true, 'hy' => true, - 'ia' => true, 'id_ID' => true, 'id' => true, 'ig_NG' => true, 'ig' => true, - 'ii_CN' => true, 'ii' => true, 'in' => true, 'is_IS' => true, 'is' => true, - 'it_CH' => true, 'it_IT' => true, 'it' => true, 'iu' => true, 'iw' => true, - 'ja_JP' => true, 'ja' => true, 'ka_GE' => true, 'ka' => true, 'kaj_NG'=> true, - 'kaj' => true, 'kam_KE'=> true, 'kam' => true, 'kcg_NG'=> true, 'kcg' => true, - 'kfo_CI'=> true, 'kfo' => true, 'kk_KZ' => true, 'kk' => true, 'kl_GL' => true, - 'kl' => true, 'km_KH' => true, 'km' => true, 'kn_IN' => true, 'kn' => true, - 'ko_KR' => true, 'ko' => true, 'kok_IN'=> true, 'kok' => true, 'kpe_GN'=> true, - 'kpe_LR'=> true, 'kpe' => true, 'ku_IQ' => true, 'ku_IR' => true, 'ku_SY' => true, - 'ku_TR' => true, 'ku' => true, 'kw_GB' => true, 'kw' => true, 'ky_KG' => true, - 'ky' => true, 'ln_CD' => true, 'ln_CG' => true, 'ln' => true, 'lo_LA' => true, - 'lo' => true, 'lt_LT' => true, 'lt' => true, 'lv_LV' => true, 'lv' => true, - 'mk_MK' => true, 'mk' => true, 'ml_IN' => true, 'ml' => true, 'mn_CN' => true, - 'mn_MN' => true, 'mn' => true, 'mo' => true, 'mr_IN' => true, 'mr' => true, - 'ms_BN' => true, 'ms_MY' => true, 'ms' => true, 'mt_MT' => true, 'mt' => true, - 'my_MM' => true, 'my' => true, 'nb_NO' => true, 'nb' => true, 'nds_DE'=> true, - 'nds' => true, 'ne_IN' => true, 'ne_NP' => true, 'ne' => true, 'nl_BE' => true, - 'nl_NL' => true, 'nl' => true, 'nn_NO' => true, 'nn' => true, 'no' => true, - 'nr_ZA' => true, 'nr' => true, 'nso_ZA'=> true, 'nso' => true, 'ny_MW' => true, - 'ny' => true, 'oc_FR' => true, 'oc' => true, 'om_ET' => true, 'om_KE' => true, - 'om' => true, 'or_IN' => true, 'or' => true, 'pa_IN' => true, 'pa_PK' => true, - 'pa' => true, 'pl_PL' => true, 'pl' => true, 'ps_AF' => true, 'ps' => true, - 'pt_BR' => true, 'pt_PT' => true, 'pt' => true, 'ro_MD' => true, 'ro_RO' => true, - 'ro' => true, 'ru_RU' => true, 'ru_UA' => true, 'ru' => true, 'rw_RW' => true, - 'rw' => true, 'sa_IN' => true, 'sa' => true, 'se_FI' => true, 'se_NO' => true, - 'se' => true, 'sh_BA' => true, 'sh_CS' => true, 'sh_YU' => true, 'sh' => true, - 'si_LK' => true, 'si' => true, 'sid_ET'=> true, 'sid' => true, 'sk_SK' => true, - 'sk' => true, 'sl_SI' => true, 'sl' => true, 'so_DJ' => true, 'so_ET' => true, - 'so_KE' => true, 'so_SO' => true, 'so' => true, 'sq_AL' => true, 'sq' => true, - 'sr_BA' => true, 'sr_CS' => true, 'sr_ME' => true, 'sr_RS' => true, 'sr_YU' => true, - 'sr' => true, 'ss_SZ' => true, 'ss_ZA' => true, 'ss' => true, 'st_LS' => true, - 'st_ZA' => true, 'st' => true, 'sv_FI' => true, 'sv_SE' => true, 'sv' => true, - 'sw_KE' => true, 'sw_TZ' => true, 'sw' => true, 'syr_SY'=> true, 'syr' => true, - 'ta_IN' => true, 'ta' => true, 'te_IN' => true, 'te' => true, 'tg_TJ' => true, - 'tg' => true, 'th_TH' => true, 'th' => true, 'ti_ER' => true, 'ti_ET' => true, - 'ti' => true, 'tig_ER'=> true, 'tig' => true, 'tl' => true, 'tn_ZA' => true, - 'tn' => true, 'to_TO' => true, 'to' => true, 'tr_TR' => true, 'tr' => true, - 'trv_TW'=> true, 'trv' => true, 'ts_ZA' => true, 'ts' => true, 'tt_RU' => true, - 'tt' => true, 'ug_CN' => true, 'ug' => true, 'uk_UA' => true, 'uk' => true, - 'ur_IN' => true, 'ur_PK' => true, 'ur' => true, 'uz_AF' => true, 'uz_UZ' => true, - 'uz' => true, 've_ZA' => true, 've' => true, 'vi_VN' => true, 'vi' => true, - 'wal_ET'=> true, 'wal' => true, 'wo_SN' => true, 'wo' => true, 'xh_ZA' => true, - 'xh' => true, 'yo_NG' => true, 'yo' => true, 'zh_CN' => true, 'zh_HK' => true, - 'zh_MO' => true, 'zh_SG' => true, 'zh_TW' => true, 'zh' => true, 'zu_ZA' => true, - 'zu' => true - ); - - /** - * Autosearch constants - */ - const BROWSER = 'browser'; - const ENVIRONMENT = 'environment'; - const ZFDEFAULT = 'default'; - - /** - * Defines if old behaviour should be supported - * Old behaviour throws notices and will be deleted in future releases - * - * @var boolean - */ - public static $compatibilityMode = false; - - /** - * Internal variable - * - * @var boolean - */ - private static $_breakChain = false; - - /** - * Actual set locale - * - * @var string Locale - */ - protected $_locale; - - /** - * Automatic detected locale - * - * @var string Locales - */ - protected static $_auto; - - /** - * Browser detected locale - * - * @var string Locales - */ - protected static $_browser; - - /** - * Environment detected locale - * - * @var string Locales - */ - protected static $_environment; - - /** - * Default locale - * - * @var string Locales - */ - protected static $_default = array('en' => true); - - /** - * Generates a locale object - * If no locale is given a automatic search is done - * Then the most probable locale will be automatically set - * Search order is - * 1. Given Locale - * 2. HTTP Client - * 3. Server Environment - * 4. Framework Standard - * - * @param string|Zend_Locale $locale (Optional) Locale for parsing input - * @throws Zend_Locale_Exception When autodetection has been failed - */ - public function __construct($locale = null) - { - $locale = self::_prepareLocale($locale); - $this->setLocale((string) $locale); - } - - /** - * Serialization Interface - * - * @return string - */ - public function serialize() - { - return serialize($this); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return (string) $this->_locale; - } - - /** - * Returns a string representation of the object - * Alias for toString - * - * @return string - */ - public function __toString() - { - return $this->toString(); - } - - /** - * Return the default locale - * - * @return array Returns an array of all locale string - */ - public static function getDefault() - { - if ((self::$compatibilityMode === true) or (func_num_args() > 0)) { - if (!self::$_breakChain) { - self::$_breakChain = true; - trigger_error('You are running Zend_Locale in compatibility mode... please migrate your scripts', E_USER_NOTICE); - $params = func_get_args(); - $param = null; - if (isset($params[0])) { - $param = $params[0]; - } - return self::getOrder($param); - } - - self::$_breakChain = false; - } - - return self::$_default; - } - - /** - * Sets a new default locale which will be used when no locale can be detected - * If provided you can set a quality between 0 and 1 (or 2 and 100) - * which represents the percent of quality the browser - * requested within HTTP - * - * @param string|Zend_Locale $locale Locale to set - * @param float $quality The quality to set from 0 to 1 - * @throws Zend_Locale_Exception When a autolocale was given - * @throws Zend_Locale_Exception When a unknown locale was given - * @return void - */ - public static function setDefault($locale, $quality = 1) - { - if (($locale === 'auto') or ($locale === 'root') or ($locale === 'default') or - ($locale === 'environment') or ($locale === 'browser')) { - require_once 'Zend/Locale/Exception.php'; - throw new Zend_Locale_Exception('Only full qualified locales can be used as default!'); - } - - if (($quality < 0.1) or ($quality > 100)) { - require_once 'Zend/Locale/Exception.php'; - throw new Zend_Locale_Exception("Quality must be between 0.1 and 100"); - } - - if ($quality > 1) { - $quality /= 100; - } - - $locale = self::_prepareLocale($locale); - if (isset(self::$_localeData[(string) $locale]) === true) { - self::$_default = array((string) $locale => $quality); - } else { - $elocale = explode('_', (string) $locale); - if (isset(self::$_localeData[$elocale[0]]) === true) { - self::$_default = array($elocale[0] => $quality); - } else { - require_once 'Zend/Locale/Exception.php'; - throw new Zend_Locale_Exception("Unknown locale '" . (string) $locale . "' can not be set as default!"); - } - } - } - - /** - * Expects the Systems standard locale - * - * For Windows: - * f.e.: LC_COLLATE=C;LC_CTYPE=German_Austria.1252;LC_MONETARY=C - * would be recognised as de_AT - * - * @return array - */ - public static function getEnvironment() - { - if (self::$_environment !== null) { - return self::$_environment; - } - - require_once 'Zend/Locale/Data/Translation.php'; - - $language = setlocale(LC_ALL, 0); - $languages = explode(';', $language); - $languagearray = array(); - - foreach ($languages as $locale) { - if (strpos($locale, '=') !== false) { - $language = substr($locale, strpos($locale, '=')); - $language = substr($language, 1); - } - - if ($language !== 'C') { - if (strpos($language, '.') !== false) { - $language = substr($language, 0, (strpos($language, '.') - 1)); - } else if (strpos($language, '@') !== false) { - $language = substr($language, 0, (strpos($language, '@') - 1)); - } - - $splitted = explode('_', $language); - $language = (string) $language; - if (isset(self::$_localeData[$language]) === true) { - $languagearray[$language] = 1; - if (strlen($language) > 4) { - $languagearray[substr($language, 0, 2)] = 1; - } - - continue; - } - - if (empty(Zend_Locale_Data_Translation::$localeTranslation[$splitted[0]]) === false) { - if (empty(Zend_Locale_Data_Translation::$localeTranslation[$splitted[1]]) === false) { - $languagearray[Zend_Locale_Data_Translation::$localeTranslation[$splitted[0]] . '_' . - Zend_Locale_Data_Translation::$localeTranslation[$splitted[1]]] = 1; - } - - $languagearray[Zend_Locale_Data_Translation::$localeTranslation[$splitted[0]]] = 1; - } - } - } - - self::$_environment = $languagearray; - return $languagearray; - } - - /** - * Return an array of all accepted languages of the client - * Expects RFC compilant Header !! - * - * The notation can be : - * de,en-UK-US;q=0.5,fr-FR;q=0.2 - * - * @return array - list of accepted languages including quality - */ - public static function getBrowser() - { - if (self::$_browser !== null) { - return self::$_browser; - } - - $httplanguages = getenv('HTTP_ACCEPT_LANGUAGE'); - $languages = array(); - if (empty($httplanguages) === true) { - return $languages; - } - - $accepted = preg_split('/,\s*/', $httplanguages); - - foreach ($accepted as $accept) { - $match = null; - $result = preg_match('/^([a-z]{1,8}(?:[-_][a-z]{1,8})*)(?:;\s*q=(0(?:\.[0-9]{1,3})?|1(?:\.0{1,3})?))?$/i', - $accept, $match); - - if ($result < 1) { - continue; - } - - if (isset($match[2]) === true) { - $quality = (float) $match[2]; - } else { - $quality = 1.0; - } - - $countrys = explode('-', $match[1]); - $region = array_shift($countrys); - - $country2 = explode('_', $region); - $region = array_shift($country2); - - foreach ($countrys as $country) { - $languages[$region . '_' . strtoupper($country)] = $quality; - } - - foreach ($country2 as $country) { - $languages[$region . '_' . strtoupper($country)] = $quality; - } - - if ((isset($languages[$region]) === false) || ($languages[$region] < $quality)) { - $languages[$region] = $quality; - } - } - - self::$_browser = $languages; - return $languages; - } - - /** - * Sets a new locale - * - * @param string|Zend_Locale $locale (Optional) New locale to set - * @return void - */ - public function setLocale($locale = null) - { - $locale = self::_prepareLocale($locale); - - if (isset(self::$_localeData[(string) $locale]) === false) { - $region = substr((string) $locale, 0, 3); - if (isset($region[2]) === true) { - if (($region[2] === '_') or ($region[2] === '-')) { - $region = substr($region, 0, 2); - } - } - - if (isset(self::$_localeData[(string) $region]) === true) { - $this->_locale = $region; - } else { - $this->_locale = 'root'; - } - } else { - $this->_locale = $locale; - } - } - - /** - * Returns the language part of the locale - * - * @return string - */ - public function getLanguage() - { - $locale = explode('_', $this->_locale); - return $locale[0]; - } - - /** - * Returns the region part of the locale if available - * - * @return string|false - Regionstring - */ - public function getRegion() - { - $locale = explode('_', $this->_locale); - if (isset($locale[1]) === true) { - return $locale[1]; - } - - return false; - } - - /** - * Return the accepted charset of the client - * - * @return string - */ - public static function getHttpCharset() - { - $httpcharsets = getenv('HTTP_ACCEPT_CHARSET'); - - $charsets = array(); - if ($httpcharsets === false) { - return $charsets; - } - - $accepted = preg_split('/,\s*/', $httpcharsets); - foreach ($accepted as $accept) { - if (empty($accept) === true) { - continue; - } - - if (strpos($accept, ';') !== false) { - $quality = (float) substr($accept, (strpos($accept, '=') + 1)); - $pos = substr($accept, 0, strpos($accept, ';')); - $charsets[$pos] = $quality; - } else { - $quality = 1.0; - $charsets[$accept] = $quality; - } - } - - return $charsets; - } - - /** - * Returns true if both locales are equal - * - * @param Zend_Locale $object Locale to check for equality - * @return boolean - */ - public function equals(Zend_Locale $object) - { - if ($object->toString() === $this->toString()) { - return true; - } - - return false; - } - - /** - * Returns localized informations as array, supported are several - * types of informations. - * For detailed information about the types look into the documentation - * - * @param string $path (Optional) Type of information to return - * @param string|Zend_Locale $locale (Optional) Locale|Language for which this informations should be returned - * @param string $value (Optional) Value for detail list - * @return array Array with the wished information in the given language - */ - public static function getTranslationList($path = null, $locale = null, $value = null) - { - require_once 'Zend/Locale/Data.php'; - $locale = self::_prepareLocale($locale); - $result = Zend_Locale_Data::getList($locale, $path, $value); - if (empty($result) === true) { - return false; - } - - return $result; - } - - /** - * Returns an array with the name of all languages translated to the given language - * - * @param string|Zend_Locale $locale (Optional) Locale for language translation - * @return array - * @deprecated - */ - public static function getLanguageTranslationList($locale = null) - { - trigger_error("The method getLanguageTranslationList is deprecated. Use getTranslationList('language', $locale) instead", E_USER_NOTICE); - return self::getTranslationList('language', $locale); - } - - /** - * Returns an array with the name of all scripts translated to the given language - * - * @param string|Zend_Locale $locale (Optional) Locale for script translation - * @return array - * @deprecated - */ - public static function getScriptTranslationList($locale = null) - { - trigger_error("The method getScriptTranslationList is deprecated. Use getTranslationList('script', $locale) instead", E_USER_NOTICE); - return self::getTranslationList('script', $locale); - } - - /** - * Returns an array with the name of all countries translated to the given language - * - * @param string|Zend_Locale $locale (Optional) Locale for country translation - * @return array - * @deprecated - */ - public static function getCountryTranslationList($locale = null) - { - trigger_error("The method getCountryTranslationList is deprecated. Use getTranslationList('territory', $locale, 2) instead", E_USER_NOTICE); - return self::getTranslationList('territory', $locale, 2); - } - - /** - * Returns an array with the name of all territories translated to the given language - * All territories contains other countries. - * - * @param string|Zend_Locale $locale (Optional) Locale for territory translation - * @return array - * @deprecated - */ - public static function getTerritoryTranslationList($locale = null) - { - trigger_error("The method getTerritoryTranslationList is deprecated. Use getTranslationList('territory', $locale, 1) instead", E_USER_NOTICE); - return self::getTranslationList('territory', $locale, 1); - } - - /** - * Returns a localized information string, supported are several types of informations. - * For detailed information about the types look into the documentation - * - * @param string $value Name to get detailed information about - * @param string $path (Optional) Type of information to return - * @param string|Zend_Locale $locale (Optional) Locale|Language for which this informations should be returned - * @return string|false The wished information in the given language - */ - public static function getTranslation($value = null, $path = null, $locale = null) - { - require_once 'Zend/Locale/Data.php'; - $locale = self::_prepareLocale($locale); - $result = Zend_Locale_Data::getContent($locale, $path, $value); - if (empty($result) === true) { - return false; - } - - return $result; - } - - /** - * Returns the localized language name - * - * @param string $value Name to get detailed information about - * @param string $locale (Optional) Locale for language translation - * @return array - * @deprecated - */ - public static function getLanguageTranslation($value, $locale = null) - { - trigger_error("The method getLanguageTranslation is deprecated. Use getTranslation($value, 'language', $locale) instead", E_USER_NOTICE); - return self::getTranslation($value, 'language', $locale); - } - - /** - * Returns the localized script name - * - * @param string $value Name to get detailed information about - * @param string $locale (Optional) locale for script translation - * @return array - * @deprecated - */ - public static function getScriptTranslation($value, $locale = null) - { - trigger_error("The method getScriptTranslation is deprecated. Use getTranslation($value, 'script', $locale) instead", E_USER_NOTICE); - return self::getTranslation($value, 'script', $locale); - } - - /** - * Returns the localized country name - * - * @param string $value Name to get detailed information about - * @param string|Zend_Locale $locale (Optional) Locale for country translation - * @return array - * @deprecated - */ - public static function getCountryTranslation($value, $locale = null) - { - trigger_error("The method getCountryTranslation is deprecated. Use getTranslation($value, 'country', $locale) instead", E_USER_NOTICE); - return self::getTranslation($value, 'country', $locale); - } - - /** - * Returns the localized territory name - * All territories contains other countries. - * - * @param string $value Name to get detailed information about - * @param string|Zend_Locale $locale (Optional) Locale for territory translation - * @return array - * @deprecated - */ - public static function getTerritoryTranslation($value, $locale = null) - { - trigger_error("The method getTerritoryTranslation is deprecated. Use getTranslation($value, 'territory', $locale) instead", E_USER_NOTICE); - return self::getTranslation($value, 'territory', $locale); - } - - /** - * Returns an array with translated yes strings - * - * @param string|Zend_Locale $locale (Optional) Locale for language translation (defaults to $this locale) - * @return array - */ - public static function getQuestion($locale = null) - { - require_once 'Zend/Locale/Data.php'; - $locale = self::_prepareLocale($locale); - $quest = Zend_Locale_Data::getList($locale, 'question'); - $yes = explode(':', $quest['yes']); - $no = explode(':', $quest['no']); - $quest['yes'] = $yes[0]; - $quest['yesarray'] = $yes; - $quest['no'] = $no[0]; - $quest['noarray'] = $no; - $quest['yesexpr'] = self::_prepareQuestionString($yes); - $quest['noexpr'] = self::_prepareQuestionString($no); - - return $quest; - } - - /** - * Internal function for preparing the returned question regex string - * - * @param string $input Regex to parse - * @return string - */ - private static function _prepareQuestionString($input) - { - $regex = ''; - if (is_array($input) === true) { - $regex = '^'; - $start = true; - foreach ($input as $row) { - if ($start === false) { - $regex .= '|'; - } - - $start = false; - $regex .= '('; - $one = null; - if (strlen($row) > 2) { - $one = true; - } - - foreach (str_split($row, 1) as $char) { - $regex .= '[' . $char; - $regex .= strtoupper($char) . ']'; - if ($one === true) { - $one = false; - $regex .= '('; - } - } - - if ($one === false) { - $regex .= ')'; - } - - $regex .= '?)'; - } - } - - return $regex; - } - - /** - * Checks if a locale identifier is a real locale or not - * Examples: - * "en_XX" refers to "en", which returns true - * "XX_yy" refers to "root", which returns false - * - * @param string|Zend_Locale $locale Locale to check for - * @param boolean $strict (Optional) If true, no rerouting will be done when checking - * @param boolean $compatible (DEPRECIATED) Only for internal usage, brakes compatibility mode - * @return boolean If the locale is known dependend on the settings - */ - public static function isLocale($locale, $strict = false, $compatible = true) - { - if ($locale instanceof Zend_Locale) { - return true; - } - - if (($locale !== null) and !is_string($locale) and !is_array($locale)) { - return false; - } - - try { - $locale = self::_prepareLocale($locale, $strict); - } catch (Zend_Locale_Exception $e) { - return false; - } - - if (($compatible === true) and (self::$compatibilityMode === true)) { - trigger_error('You are running Zend_Locale in compatibility mode... please migrate your scripts', E_USER_NOTICE); - if (isset(self::$_localeData[$locale]) === true) { - return $locale; - } else if (!$strict) { - $locale = explode('_', $locale); - if (isset(self::$_localeData[$locale[0]]) === true) { - return $locale[0]; - } - } - } else { - if (isset(self::$_localeData[$locale]) === true) { - return true; - } else if (!$strict) { - $locale = explode('_', $locale); - if (isset(self::$_localeData[$locale[0]]) === true) { - return true; - } - } - } - - return false; - } - - /** - * Finds the proper locale based on the input - * Checks if it exists, degrades it when necessary - * Detects registry locale and when all fails tries to detect a automatic locale - * Returns the found locale as string - * - * @param string $locale - * @throws Zend_Locale_Exception When the given locale is no locale or the autodetection fails - * @return string - */ - public static function findLocale($locale = null) - { - if ($locale === null) { - require_once 'Zend/Registry.php'; - if (Zend_Registry::isRegistered('Zend_Locale')) { - $locale = Zend_Registry::get('Zend_Locale'); - } - } - - require_once 'Zend/Locale.php'; - if ($locale === null) { - $locale = new Zend_Locale(); - } - - if (!Zend_Locale::isLocale($locale, true, false)) { - if (!Zend_Locale::isLocale($locale, false, false)) { - require_once 'Zend/Locale/Exception.php'; - throw new Zend_Locale_Exception("The locale '$locale' is no known locale"); - } - - $locale = new Zend_Locale($locale); - } - - if ($locale instanceof Zend_Locale) { - $locale = $locale->toString(); - } - - return $locale; - } - - /** - * Returns a list of all known locales where the locale is the key - * Only real locales are returned, the internal locales 'root', 'auto', 'browser' - * and 'environment' are suppressed - * - * @return array List of all Locales - */ - public static function getLocaleList() - { - $list = self::$_localeData; - unset($list['root']); - unset($list['auto']); - unset($list['browser']); - unset($list['environment']); - return $list; - } - - /** - * Returns the set cache - * - * @return Zend_Cache_Core The set cache - */ - public static function getCache() - { - require_once 'Zend/Locale/Data.php'; - $cache = Zend_Locale_Data::getCache(); - - return $cache; - } - - /** - * Sets a cache - * - * @param Zend_Cache_Core $cache Cache to set - * @return void - */ - public static function setCache(Zend_Cache_Core $cache) - { - require_once 'Zend/Locale/Data.php'; - Zend_Locale_Data::setCache($cache); - } - - /** - * Returns true when a cache is set - * - * @return boolean - */ - public static function hasCache() - { - require_once 'Zend/Locale/Data.php'; - return Zend_Locale_Data::hasCache(); - } - - /** - * Removes any set cache - * - * @return void - */ - public static function removeCache() - { - require_once 'Zend/Locale/Data.php'; - Zend_Locale_Data::removeCache(); - } - - /** - * Clears all set cache data - * - * @return void - */ - public static function clearCache() - { - require_once 'Zend/Locale/Data.php'; - Zend_Locale_Data::clearCache(); - } - - /** - * Disables the set cache - * - * @param boolean $flag True disables any set cache, default is false - * @return void - */ - public static function disableCache($flag) - { - require_once 'Zend/Locale/Data.php'; - Zend_Locale_Data::disableCache($flag); - } - - /** - * Internal function, returns a single locale on detection - * - * @param string|Zend_Locale $locale (Optional) Locale to work on - * @param boolean $strict (Optional) Strict preparation - * @throws Zend_Locale_Exception When no locale is set which is only possible when the class was wrong extended - * @return string - */ - private static function _prepareLocale($locale, $strict = false) - { - if ($locale instanceof Zend_Locale) { - $locale = $locale->toString(); - } - - if (is_array($locale)) { - return ''; - } - - if (empty(self::$_auto) === true) { - self::$_browser = self::getBrowser(); - self::$_environment = self::getEnvironment(); - self::$_breakChain = true; - self::$_auto = self::getBrowser() + self::getEnvironment() + self::getDefault(); - } - - if (!$strict) { - if ($locale === 'browser') { - $locale = self::$_browser; - } - - if ($locale === 'environment') { - $locale = self::$_environment; - } - - if ($locale === 'default') { - $locale = self::$_default; - } - - if (($locale === 'auto') or ($locale === null)) { - $locale = self::$_auto; - } - - if (is_array($locale) === true) { - $locale = key($locale); - } - } - - // This can only happen when someone extends Zend_Locale and erases the default - if ($locale === null) { - require_once 'Zend/Locale/Exception.php'; - throw new Zend_Locale_Exception('Autodetection of Locale has been failed!'); - } - - if (strpos($locale, '-') !== false) { - $locale = strtr($locale, '-', '_'); - } - - $parts = explode('_', $locale); - if (!isset(self::$_localeData[$parts[0]])) { - return ''; - } - - foreach($parts as $key => $value) { - if ((strlen($value) < 2) || (strlen($value) > 3)) { - unset($parts[$key]); - } - } - - $locale = implode('_', $parts); - return (string) $locale; - } - - /** - * Search the locale automatically and return all used locales - * ordered by quality - * - * Standard Searchorder is Browser, Environment, Default - * - * @param string $searchorder (Optional) Searchorder - * @return array Returns an array of all detected locales - */ - public static function getOrder($order = null) - { - switch ($order) { - case self::ENVIRONMENT: - self::$_breakChain = true; - $languages = self::getEnvironment() + self::getBrowser() + self::getDefault(); - break; - - case self::ZFDEFAULT: - self::$_breakChain = true; - $languages = self::getDefault() + self::getEnvironment() + self::getBrowser(); - break; - - default: - self::$_breakChain = true; - $languages = self::getBrowser() + self::getEnvironment() + self::getDefault(); - break; - } - - return $languages; - } -} diff --git a/lib/zend/Zend/Locale/Data.php b/lib/zend/Zend/Locale/Data.php deleted file mode 100644 index aa389a2bea..0000000000 --- a/lib/zend/Zend/Locale/Data.php +++ /dev/null @@ -1,1476 +0,0 @@ - - * test - * content - * content2 - * - * - * - * Case 1: _readFile('ar','/ldml/delimiter') -> returns [] = test - * Case 1: _readFile('ar','/ldml/second[@type=myone]') -> returns [] = content - * Case 2: _readFile('ar','/ldml/second','type') -> returns [myone] = content; [mysecond] = content2 - * Case 3: _readFile('ar','/ldml/delimiter',,'right') -> returns [right] = test - * Case 4: _readFile('ar','/ldml/third','type','myone') -> returns [myone] = mythird - * - * @param string $locale - * @param string $path - * @param string $attribute - * @param string $value - * @access private - * @return array - */ - private static function _readFile($locale, $path, $attribute, $value, $temp) - { - // without attribute - read all values - // with attribute - read only this value - if (!empty(self::$_ldml[(string) $locale])) { - - $result = self::$_ldml[(string) $locale]->xpath($path); - if (!empty($result)) { - foreach ($result as &$found) { - - if (empty($value)) { - - if (empty($attribute)) { - // Case 1 - $temp[] = (string) $found; - } else if (empty($temp[(string) $found[$attribute]])){ - // Case 2 - $temp[(string) $found[$attribute]] = (string) $found; - } - - } else if (empty ($temp[$value])) { - - if (empty($attribute)) { - // Case 3 - $temp[$value] = (string) $found; - } else { - // Case 4 - $temp[$value] = (string) $found[$attribute]; - } - - } - } - } - } - return $temp; - } - - /** - * Find possible routing to other path or locale - * - * @param string $locale - * @param string $path - * @param string $attribute - * @param string $value - * @param array $temp - * @throws Zend_Locale_Exception - * @access private - */ - private static function _findRoute($locale, $path, $attribute, $value, &$temp) - { - // load locale file if not already in cache - // needed for alias tag when referring to other locale - if (empty(self::$_ldml[(string) $locale])) { - $filename = dirname(__FILE__) . '/Data/' . $locale . '.xml'; - if (!file_exists($filename)) { - require_once 'Zend/Locale/Exception.php'; - throw new Zend_Locale_Exception("Missing locale file '$filename' for '$locale' locale."); - } - - self::$_ldml[(string) $locale] = simplexml_load_file($filename); - } - - // search for 'alias' tag in the search path for redirection - $search = ''; - $tok = strtok($path, '/'); - - // parse the complete path - if (!empty(self::$_ldml[(string) $locale])) { - while ($tok !== false) { - $search .= '/' . $tok; - if (strpos($search, '[@') !== false) { - while (strrpos($search, '[@') > strrpos($search, ']')) { - $tok = strtok('/'); - if (empty($tok)) { - $search .= '/'; - } - $search = $search . '/' . $tok; - } - } - $result = self::$_ldml[(string) $locale]->xpath($search . '/alias'); - - // alias found - if (!empty($result)) { - - $source = $result[0]['source']; - $newpath = $result[0]['path']; - - // new path - path //ldml is to ignore - if ($newpath != '//ldml') { - // other path - parse to make real path - - while (substr($newpath,0,3) == '../') { - $newpath = substr($newpath, 3); - $search = substr($search, 0, strrpos($search, '/')); - } - - // truncate ../ to realpath otherwise problems with alias - $path = $search . '/' . $newpath; - while (($tok = strtok('/'))!== false) { - $path = $path . '/' . $tok; - } - } - - // reroute to other locale - if ($source != 'locale') { - $locale = $source; - } - - $temp = self::_getFile($locale, $path, $attribute, $value, $temp); - return false; - } - - $tok = strtok('/'); - } - } - return true; - } - - /** - * Read the right LDML file - * - * @param string $locale - * @param string $path - * @param string $attribute - * @param string $value - * @access private - */ - private static function _getFile($locale, $path, $attribute = false, $value = false, $temp = array()) - { - $result = self::_findRoute($locale, $path, $attribute, $value, $temp); - if ($result) { - $temp = self::_readFile($locale, $path, $attribute, $value, $temp); - } - - // parse required locales reversive - // example: when given zh_Hans_CN - // 1. -> zh_Hans_CN - // 2. -> zh_Hans - // 3. -> zh - // 4. -> root - if (($locale != 'root') && ($result)) { - $locale = substr($locale, 0, -strlen(strrchr($locale, '_'))); - if (!empty($locale)) { - $temp = self::_getFile($locale, $path, $attribute, $value, $temp); - } else { - $temp = self::_getFile('root', $path, $attribute, $value, $temp); - } - } - return $temp; - } - - /** - * Find the details for supplemental calendar datas - * - * @param string $locale Locale for Detaildata - * @param array $list List to search - * @return string Key for Detaildata - */ - private static function _calendarDetail($locale, $list) - { - $ret = "001"; - foreach ($list as $key => $value) { - if (strpos($locale, '_') !== false) { - $locale = substr($locale, strpos($locale, '_') + 1); - } - if (strpos($key, $locale) !== false) { - $ret = $key; - break; - } - } - return $ret; - } - - /** - * Internal function for checking the locale - * - * @param string|Zend_Locale $locale Locale to check - * @return string - */ - private static function _checkLocale($locale) - { - if (empty($locale)) { - $locale = new Zend_Locale(); - } - - if (!(Zend_Locale::isLocale((string) $locale, null, false))) { - require_once 'Zend/Locale/Exception.php'; - throw new Zend_Locale_Exception("Locale (" . (string) $locale . ") is a unknown locale"); - } - - return (string) $locale; - } - - /** - * Read the LDML file, get a array of multipath defined value - * - * @param string $locale - * @param string $path - * @param string $value - * @return array - * @access public - */ - public static function getList($locale, $path, $value = false) - { - $locale = self::_checkLocale($locale); - - if (!isset(self::$_cache) && !self::$_cacheDisabled) { - require_once 'Zend/Cache.php'; - self::$_cache = Zend_Cache::factory( - 'Core', - 'File', - array('automatic_serialization' => true), - array()); - } - - $val = $value; - if (is_array($value)) { - $val = implode('_' , $value); - } - - $val = urlencode($val); - $id = strtr('Zend_LocaleL_' . $locale . '_' . $path . '_' . $val, array('-' => '_', '%' => '_', '+' => '_')); - if (!self::$_cacheDisabled && ($result = self::$_cache->load($id))) { - return unserialize($result); - } - - $temp = array(); - switch(strtolower($path)) { - case 'language': - $temp = self::_getFile($locale, '/ldml/localeDisplayNames/languages/language', 'type'); - break; - - case 'script': - $temp = self::_getFile($locale, '/ldml/localeDisplayNames/scripts/script', 'type'); - break; - - case 'territory': - $temp = self::_getFile($locale, '/ldml/localeDisplayNames/territories/territory', 'type'); - if ($value === 1) { - foreach($temp as $key => $value) { - if ((is_numeric($key) === false) and ($key != 'QO') and ($key != 'QU')) { - unset($temp[$key]); - } - } - } else if ($value === 2) { - foreach($temp as $key => $value) { - if (is_numeric($key) or ($key == 'QO') or ($key == 'QU')) { - unset($temp[$key]); - } - } - } - break; - - case 'variant': - $temp = self::_getFile($locale, '/ldml/localeDisplayNames/variants/variant', 'type'); - break; - - case 'key': - $temp = self::_getFile($locale, '/ldml/localeDisplayNames/keys/key', 'type'); - break; - - case 'type': - if (empty($type)) { - $temp = self::_getFile($locale, '/ldml/localeDisplayNames/types/type', 'type'); - } else { - if (($value == 'calendar') or - ($value == 'collation') or - ($value == 'currency')) { - $temp = self::_getFile($locale, '/ldml/localeDisplayNames/types/type[@key=\'' . $value . '\']', 'type'); - } else { - $temp = self::_getFile($locale, '/ldml/localeDisplayNames/types/type[@type=\'' . $value . '\']', 'type'); - } - } - break; - - case 'layout': - $temp = self::_getFile($locale, '/ldml/layout/orientation', 'lines', 'lines'); - $temp += self::_getFile($locale, '/ldml/layout/orientation', 'characters', 'characters'); - $temp += self::_getFile($locale, '/ldml/layout/inList', '', 'inList'); - $temp += self::_getFile($locale, '/ldml/layout/inText[@type=\'currency\']', '', 'currency'); - $temp += self::_getFile($locale, '/ldml/layout/inText[@type=\'dayWidth\']', '', 'dayWidth'); - $temp += self::_getFile($locale, '/ldml/layout/inText[@type=\'fields\']', '', 'fields'); - $temp += self::_getFile($locale, '/ldml/layout/inText[@type=\'keys\']', '', 'keys'); - $temp += self::_getFile($locale, '/ldml/layout/inText[@type=\'languages\']', '', 'languages'); - $temp += self::_getFile($locale, '/ldml/layout/inText[@type=\'long\']', '', 'long'); - $temp += self::_getFile($locale, '/ldml/layout/inText[@type=\'measurementSystemNames\']', '', 'measurementSystemNames'); - $temp += self::_getFile($locale, '/ldml/layout/inText[@type=\'monthWidth\']', '', 'monthWidth'); - $temp += self::_getFile($locale, '/ldml/layout/inText[@type=\'quarterWidth\']', '', 'quarterWidth'); - $temp += self::_getFile($locale, '/ldml/layout/inText[@type=\'scripts\']', '', 'scripts'); - $temp += self::_getFile($locale, '/ldml/layout/inText[@type=\'territories\']', '', 'territories'); - $temp += self::_getFile($locale, '/ldml/layout/inText[@type=\'types\']', '', 'types'); - $temp += self::_getFile($locale, '/ldml/layout/inText[@type=\'variants\']', '', 'variants'); - break; - - case 'characters': - $temp = self::_getFile($locale, '/ldml/characters/exemplarCharacters', '', 'characters'); - $temp += self::_getFile($locale, '/ldml/characters/exemplarCharacters[@type=\'auxiliary\']', '', 'auxiliary'); - $temp += self::_getFile($locale, '/ldml/characters/exemplarCharacters[@type=\'currencySymbol\']', '', 'currencySymbol'); - break; - - case 'delimiters': - $temp = self::_getFile($locale, '/ldml/delimiters/quotationStart', '', 'quoteStart'); - $temp += self::_getFile($locale, '/ldml/delimiters/quotationEnd', '', 'quoteEnd'); - $temp += self::_getFile($locale, '/ldml/delimiters/alternateQuotationStart', '', 'quoteStartAlt'); - $temp += self::_getFile($locale, '/ldml/delimiters/alternateQuotationEnd', '', 'quoteEndAlt'); - break; - - case 'measurement': - $temp = self::_getFile('supplementalData', '/supplementalData/measurementData/measurementSystem[@type=\'metric\']', 'territories', 'metric'); - $temp += self::_getFile('supplementalData', '/supplementalData/measurementData/measurementSystem[@type=\'US\']', 'territories', 'US'); - $temp += self::_getFile('supplementalData', '/supplementalData/measurementData/paperSize[@type=\'A4\']', 'territories', 'A4'); - $temp += self::_getFile('supplementalData', '/supplementalData/measurementData/paperSize[@type=\'US-Letter\']', 'territories', 'US-Letter'); - break; - - case 'months': - if (empty($value)) { - $value = "gregorian"; - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/months/default', 'choice', 'context'); - $temp += self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/months/monthContext[@type=\'format\']/default', 'choice', 'default'); - $temp['format']['abbreviated'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/months/monthContext[@type=\'format\']/monthWidth[@type=\'abbreviated\']/month', 'type'); - $temp['format']['narrow'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/months/monthContext[@type=\'format\']/monthWidth[@type=\'narrow\']/month', 'type'); - $temp['format']['wide'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/months/monthContext[@type=\'format\']/monthWidth[@type=\'wide\']/month', 'type'); - $temp['stand-alone']['abbreviated'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/months/monthContext[@type=\'stand-alone\']/monthWidth[@type=\'abbreviated\']/month', 'type'); - $temp['stand-alone']['narrow'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/months/monthContext[@type=\'stand-alone\']/monthWidth[@type=\'narrow\']/month', 'type'); - $temp['stand-alone']['wide'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/months/monthContext[@type=\'stand-alone\']/monthWidth[@type=\'wide\']/month', 'type'); - break; - - case 'month': - if (empty($value)) { - $value = array("gregorian", "format", "wide"); - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/months/monthContext[@type=\'' . $value[1] . '\']/monthWidth[@type=\'' . $value[2] . '\']/month', 'type'); - break; - - case 'days': - if (empty($value)) { - $value = "gregorian"; - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/days/default', 'choice', 'context'); - $temp += self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/days/dayContext[@type=\'format\']/default', 'choice', 'default'); - $temp['format']['abbreviated'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/days/dayContext[@type=\'format\']/dayWidth[@type=\'abbreviated\']/day', 'type'); - $temp['format']['narrow'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/days/dayContext[@type=\'format\']/dayWidth[@type=\'narrow\']/day', 'type'); - $temp['format']['wide'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/days/dayContext[@type=\'format\']/dayWidth[@type=\'wide\']/day', 'type'); - $temp['stand-alone']['abbreviated'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/days/dayContext[@type=\'stand-alone\']/dayWidth[@type=\'abbreviated\']/day', 'type'); - $temp['stand-alone']['narrow'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/days/dayContext[@type=\'stand-alone\']/dayWidth[@type=\'narrow\']/day', 'type'); - $temp['stand-alone']['wide'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/days/dayContext[@type=\'stand-alone\']/dayWidth[@type=\'wide\']/day', 'type'); - break; - - case 'day': - if (empty($value)) { - $value = array("gregorian", "format", "wide"); - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/days/dayContext[@type=\'' . $value[1] . '\']/dayWidth[@type=\'' . $value[2] . '\']/day', 'type'); - break; - - case 'week': - $minDays = self::_calendarDetail($locale, self::_getFile('supplementalData', '/supplementalData/weekData/minDays', 'territories')); - $firstDay = self::_calendarDetail($locale, self::_getFile('supplementalData', '/supplementalData/weekData/firstDay', 'territories')); - $weekStart = self::_calendarDetail($locale, self::_getFile('supplementalData', '/supplementalData/weekData/weekendStart', 'territories')); - $weekEnd = self::_calendarDetail($locale, self::_getFile('supplementalData', '/supplementalData/weekData/weekendEnd', 'territories')); - - $temp = self::_getFile('supplementalData', "/supplementalData/weekData/minDays[@territories='" . $minDays . "']", 'count', 'minDays'); - $temp += self::_getFile('supplementalData', "/supplementalData/weekData/firstDay[@territories='" . $firstDay . "']", 'day', 'firstDay'); - $temp += self::_getFile('supplementalData', "/supplementalData/weekData/weekendStart[@territories='" . $weekStart . "']", 'day', 'weekendStart'); - $temp += self::_getFile('supplementalData', "/supplementalData/weekData/weekendEnd[@territories='" . $weekEnd . "']", 'day', 'weekendEnd'); - break; - - case 'quarters': - if (empty($value)) { - $value = "gregorian"; - } - $temp['format']['abbreviated'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/quarters/quarterContext[@type=\'format\']/quarterWidth[@type=\'abbreviated\']/quarter', 'type'); - $temp['format']['narrow'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/quarters/quarterContext[@type=\'format\']/quarterWidth[@type=\'narrow\']/quarter', 'type'); - $temp['format']['wide'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/quarters/quarterContext[@type=\'format\']/quarterWidth[@type=\'wide\']/quarter', 'type'); - $temp['stand-alone']['abbreviated'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/quarters/quarterContext[@type=\'stand-alone\']/quarterWidth[@type=\'abbreviated\']/quarter', 'type'); - $temp['stand-alone']['narrow'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/quarters/quarterContext[@type=\'stand-alone\']/quarterWidth[@type=\'narrow\']/quarter', 'type'); - $temp['stand-alone']['wide'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/quarters/quarterContext[@type=\'stand-alone\']/quarterWidth[@type=\'wide\']/quarter', 'type'); - break; - - case 'quarter': - if (empty($value)) { - $value = array("gregorian", "format", "wide"); - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/quarters/quarterContext[@type=\'' . $value[1] . '\']/quarterWidth[@type=\'' . $value[2] . '\']/quarter', 'type'); - break; - - case 'eras': - if (empty($value)) { - $value = "gregorian"; - } - $temp['names'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/eras/eraNames/era', 'type'); - $temp['abbreviated'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/eras/eraAbbr/era', 'type'); - $temp['narrow'] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/eras/eraNarrow/era', 'type'); - break; - - case 'era': - if (empty($value)) { - $value = array("gregorian", "Abbr"); - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/eras/era' . $value[1] . '/era', 'type'); - break; - - case 'date': - if (empty($value)) { - $value = "gregorian"; - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateFormats/dateFormatLength[@type=\'full\']/dateFormat/pattern', '', 'full'); - $temp += self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateFormats/dateFormatLength[@type=\'long\']/dateFormat/pattern', '', 'long'); - $temp += self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateFormats/dateFormatLength[@type=\'medium\']/dateFormat/pattern', '', 'medium'); - $temp += self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateFormats/dateFormatLength[@type=\'short\']/dateFormat/pattern', '', 'short'); - break; - - case 'time': - if (empty($value)) { - $value = "gregorian"; - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/timeFormats/timeFormatLength[@type=\'full\']/timeFormat/pattern', '', 'full'); - $temp += self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/timeFormats/timeFormatLength[@type=\'long\']/timeFormat/pattern', '', 'long'); - $temp += self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/timeFormats/timeFormatLength[@type=\'medium\']/timeFormat/pattern', '', 'medium'); - $temp += self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/timeFormats/timeFormatLength[@type=\'short\']/timeFormat/pattern', '', 'short'); - break; - - case 'datetime': - if (empty($value)) { - $value = "gregorian"; - } - - $timefull = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/timeFormats/timeFormatLength[@type=\'full\']/timeFormat/pattern', '', 'full'); - $timelong = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/timeFormats/timeFormatLength[@type=\'long\']/timeFormat/pattern', '', 'long'); - $timemedi = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/timeFormats/timeFormatLength[@type=\'medium\']/timeFormat/pattern', '', 'medi'); - $timeshor = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/timeFormats/timeFormatLength[@type=\'short\']/timeFormat/pattern', '', 'shor'); - - $datefull = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateFormats/dateFormatLength[@type=\'full\']/dateFormat/pattern', '', 'full'); - $datelong = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateFormats/dateFormatLength[@type=\'long\']/dateFormat/pattern', '', 'long'); - $datemedi = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateFormats/dateFormatLength[@type=\'medium\']/dateFormat/pattern', '', 'medi'); - $dateshor = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateFormats/dateFormatLength[@type=\'short\']/dateFormat/pattern', '', 'shor'); - - $full = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateTimeFormats/dateTimeFormatLength[@type=\'full\']/dateTimeFormat/pattern', '', 'full'); - $long = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateTimeFormats/dateTimeFormatLength[@type=\'long\']/dateTimeFormat/pattern', '', 'long'); - $medi = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateTimeFormats/dateTimeFormatLength[@type=\'medium\']/dateTimeFormat/pattern', '', 'medi'); - $shor = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateTimeFormats/dateTimeFormatLength[@type=\'short\']/dateTimeFormat/pattern', '', 'shor'); - - $temp['full'] = str_replace(array('{0}', '{1}'), array($timefull['full'], $datefull['full']), $full['full']); - $temp['long'] = str_replace(array('{0}', '{1}'), array($timelong['long'], $datelong['long']), $long['long']); - $temp['medium'] = str_replace(array('{0}', '{1}'), array($timemedi['medi'], $datemedi['medi']), $medi['medi']); - $temp['short'] = str_replace(array('{0}', '{1}'), array($timeshor['shor'], $dateshor['shor']), $shor['shor']); - break; - - case 'dateitem': - if (empty($value)) { - $value = "gregorian"; - } - $_temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateTimeFormats/availableFormats/dateFormatItem', 'id'); - foreach($_temp as $key => $found) { - $temp += self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateTimeFormats/availableFormats/dateFormatItem[@id=\'' . $key . '\']', '', $key); - } - break; - - case 'dateinterval': - if (empty($value)) { - $value = "gregorian"; - } - $_temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateTimeFormats/intervalFormats/intervalFormatItem', 'id'); - foreach($_temp as $key => $found) { - $temp[$key] = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateTimeFormats/intervalFormats/intervalFormatItem[@id=\'' . $key . '\']/greatestDifference', 'id'); - } - break; - - case 'field': - if (empty($value)) { - $value = "gregorian"; - } - $temp2 = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/fields/field', 'type'); - foreach ($temp2 as $key => $keyvalue) { - $temp += self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/fields/field[@type=\'' . $key . '\']/displayName', '', $key); - } - break; - - case 'relative': - if (empty($value)) { - $value = "gregorian"; - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/fields/field/relative', 'type'); - break; - - case 'symbols': - $temp = self::_getFile($locale, '/ldml/numbers/symbols/decimal', '', 'decimal'); - $temp += self::_getFile($locale, '/ldml/numbers/symbols/group', '', 'group'); - $temp += self::_getFile($locale, '/ldml/numbers/symbols/list', '', 'list'); - $temp += self::_getFile($locale, '/ldml/numbers/symbols/percentSign', '', 'percent'); - $temp += self::_getFile($locale, '/ldml/numbers/symbols/nativeZeroDigit', '', 'zero'); - $temp += self::_getFile($locale, '/ldml/numbers/symbols/patternDigit', '', 'pattern'); - $temp += self::_getFile($locale, '/ldml/numbers/symbols/plusSign', '', 'plus'); - $temp += self::_getFile($locale, '/ldml/numbers/symbols/minusSign', '', 'minus'); - $temp += self::_getFile($locale, '/ldml/numbers/symbols/exponential', '', 'exponent'); - $temp += self::_getFile($locale, '/ldml/numbers/symbols/perMille', '', 'mille'); - $temp += self::_getFile($locale, '/ldml/numbers/symbols/infinity', '', 'infinity'); - $temp += self::_getFile($locale, '/ldml/numbers/symbols/nan', '', 'nan'); - break; - - case 'nametocurrency': - $_temp = self::_getFile($locale, '/ldml/numbers/currencies/currency', 'type'); - foreach ($_temp as $key => $found) { - $temp += self::_getFile($locale, '/ldml/numbers/currencies/currency[@type=\'' . $key . '\']/displayName', '', $key); - } - break; - - case 'currencytoname': - $_temp = self::_getFile($locale, '/ldml/numbers/currencies/currency', 'type'); - foreach ($_temp as $key => $keyvalue) { - $val = self::_getFile($locale, '/ldml/numbers/currencies/currency[@type=\'' . $key . '\']/displayName', '', $key); - if (!isset($val[$key])) { - continue; - } - if (!isset($temp[$val[$key]])) { - $temp[$val[$key]] = $key; - } else { - $temp[$val[$key]] .= " " . $key; - } - } - break; - - case 'currencysymbol': - $_temp = self::_getFile($locale, '/ldml/numbers/currencies/currency', 'type'); - foreach ($_temp as $key => $found) { - $temp += self::_getFile($locale, '/ldml/numbers/currencies/currency[@type=\'' . $key . '\']/symbol', '', $key); - } - break; - - case 'question': - $temp = self::_getFile($locale, '/ldml/posix/messages/yesstr', '', 'yes'); - $temp += self::_getFile($locale, '/ldml/posix/messages/nostr', '', 'no'); - break; - - case 'currencyfraction': - $_temp = self::_getFile('supplementalData', '/supplementalData/currencyData/fractions/info', 'iso4217'); - foreach ($_temp as $key => $found) { - $temp += self::_getFile('supplementalData', '/supplementalData/currencyData/fractions/info[@iso4217=\'' . $key . '\']', 'digits', $key); - } - break; - - case 'currencyrounding': - $_temp = self::_getFile('supplementalData', '/supplementalData/currencyData/fractions/info', 'iso4217'); - foreach ($_temp as $key => $found) { - $temp += self::_getFile('supplementalData', '/supplementalData/currencyData/fractions/info[@iso4217=\'' . $key . '\']', 'rounding', $key); - } - break; - - case 'currencytoregion': - $_temp = self::_getFile('supplementalData', '/supplementalData/currencyData/region', 'iso3166'); - foreach ($_temp as $key => $keyvalue) { - $temp += self::_getFile('supplementalData', '/supplementalData/currencyData/region[@iso3166=\'' . $key . '\']/currency', 'iso4217', $key); - } - break; - - case 'regiontocurrency': - $_temp = self::_getFile('supplementalData', '/supplementalData/currencyData/region', 'iso3166'); - foreach ($_temp as $key => $keyvalue) { - $val = self::_getFile('supplementalData', '/supplementalData/currencyData/region[@iso3166=\'' . $key . '\']/currency', 'iso4217', $key); - if (!isset($val[$key])) { - continue; - } - if (!isset($temp[$val[$key]])) { - $temp[$val[$key]] = $key; - } else { - $temp[$val[$key]] .= " " . $key; - } - } - break; - - case 'regiontoterritory': - $_temp = self::_getFile('supplementalData', '/supplementalData/territoryContainment/group', 'type'); - foreach ($_temp as $key => $found) { - $temp += self::_getFile('supplementalData', '/supplementalData/territoryContainment/group[@type=\'' . $key . '\']', 'contains', $key); - } - break; - - case 'territorytoregion': - $_temp2 = self::_getFile('supplementalData', '/supplementalData/territoryContainment/group', 'type'); - $_temp = array(); - foreach ($_temp2 as $key => $found) { - $_temp += self::_getFile('supplementalData', '/supplementalData/territoryContainment/group[@type=\'' . $key . '\']', 'contains', $key); - } - foreach($_temp as $key => $found) { - $_temp3 = explode(" ", $found); - foreach($_temp3 as $found3) { - if (!isset($temp[$found3])) { - $temp[$found3] = (string) $key; - } else { - $temp[$found3] .= " " . $key; - } - } - } - break; - - case 'scripttolanguage': - $_temp = self::_getFile('supplementalData', '/supplementalData/languageData/language', 'type'); - foreach ($_temp as $key => $found) { - $temp += self::_getFile('supplementalData', '/supplementalData/languageData/language[@type=\'' . $key . '\']', 'scripts', $key); - if (empty($temp[$key])) { - unset($temp[$key]); - } - } - break; - - case 'languagetoscript': - $_temp2 = self::_getFile('supplementalData', '/supplementalData/languageData/language', 'type'); - $_temp = array(); - foreach ($_temp2 as $key => $found) { - $_temp += self::_getFile('supplementalData', '/supplementalData/languageData/language[@type=\'' . $key . '\']', 'scripts', $key); - } - foreach($_temp as $key => $found) { - $_temp3 = explode(" ", $found); - foreach($_temp3 as $found3) { - if (empty($found3)) { - continue; - } - if (!isset($temp[$found3])) { - $temp[$found3] = (string) $key; - } else { - $temp[$found3] .= " " . $key; - } - } - } - break; - - case 'territorytolanguage': - $_temp = self::_getFile('supplementalData', '/supplementalData/languageData/language', 'type'); - foreach ($_temp as $key => $found) { - $temp += self::_getFile('supplementalData', '/supplementalData/languageData/language[@type=\'' . $key . '\']', 'territories', $key); - if (empty($temp[$key])) { - unset($temp[$key]); - } - } - break; - - case 'languagetoterritory': - $_temp2 = self::_getFile('supplementalData', '/supplementalData/languageData/language', 'type'); - $_temp = array(); - foreach ($_temp2 as $key => $found) { - $_temp += self::_getFile('supplementalData', '/supplementalData/languageData/language[@type=\'' . $key . '\']', 'territories', $key); - } - foreach($_temp as $key => $found) { - $_temp3 = explode(" ", $found); - foreach($_temp3 as $found3) { - if (empty($found3)) { - continue; - } - if (!isset($temp[$found3])) { - $temp[$found3] = (string) $key; - } else { - $temp[$found3] .= " " . $key; - } - } - } - break; - - case 'timezonetowindows': - $_temp = self::_getFile('supplementalData', '/supplementalData/timezoneData/mapTimezones[@type=\'windows\']/mapZone', 'other'); - foreach ($_temp as $key => $found) { - $temp += self::_getFile('supplementalData', '/supplementalData/timezoneData/mapTimezones[@type=\'windows\']/mapZone[@other=\'' . $key . '\']', 'type', $key); - } - break; - - case 'windowstotimezone': - $_temp = self::_getFile('supplementalData', '/supplementalData/timezoneData/mapTimezones[@type=\'windows\']/mapZone', 'type'); - foreach ($_temp as $key => $found) { - $temp += self::_getFile('supplementalData', '/supplementalData/timezoneData/mapTimezones[@type=\'windows\']/mapZone[@type=\'' .$key . '\']', 'other', $key); - } - break; - - case 'territorytotimezone': - $_temp = self::_getFile('supplementalData', '/supplementalData/timezoneData/zoneFormatting/zoneItem', 'type'); - foreach ($_temp as $key => $found) { - $temp += self::_getFile('supplementalData', '/supplementalData/timezoneData/zoneFormatting/zoneItem[@type=\'' . $key . '\']', 'territory', $key); - } - break; - - case 'timezonetoterritory': - $_temp = self::_getFile('supplementalData', '/supplementalData/timezoneData/zoneFormatting/zoneItem', 'territory'); - foreach ($_temp as $key => $found) { - $temp += self::_getFile('supplementalData', '/supplementalData/timezoneData/zoneFormatting/zoneItem[@territory=\'' . $key . '\']', 'type', $key); - } - break; - - case 'citytotimezone': - $_temp = self::_getFile($locale, '/ldml/dates/timeZoneNames/zone', 'type'); - foreach($_temp as $key => $found) { - $temp += self::_getFile($locale, '/ldml/dates/timeZoneNames/zone[@type=\'' . $key . '\']/exemplarCity', '', $key); - } - break; - - case 'timezonetocity': - $_temp = self::_getFile($locale, '/ldml/dates/timeZoneNames/zone', 'type'); - $temp = array(); - foreach($_temp as $key => $found) { - $temp += self::_getFile($locale, '/ldml/dates/timeZoneNames/zone[@type=\'' . $key . '\']/exemplarCity', '', $key); - if (!empty($temp[$key])) { - $temp[$temp[$key]] = $key; - } - unset($temp[$key]); - } - break; - - case 'phonetoterritory': - $_temp = self::_getFile('telephoneCodeData', '/supplementalData/telephoneCodeData/codesByTerritory', 'territory'); - foreach ($_temp as $key => $keyvalue) { - $temp += self::_getFile('telephoneCodeData', '/supplementalData/telephoneCodeData/codesByTerritory[@territory=\'' . $key . '\']/telephoneCountryCode', 'code', $key); - } - break; - - case 'territorytophone': - $_temp = self::_getFile('telephoneCodeData', '/supplementalData/telephoneCodeData/codesByTerritory', 'territory'); - foreach ($_temp as $key => $keyvalue) { - $val = self::_getFile('telephoneCodeData', '/supplementalData/telephoneCodeData/codesByTerritory[@territory=\'' . $key . '\']/telephoneCountryCode', 'code', $key); - if (!isset($val[$key])) { - continue; - } - if (!isset($temp[$val[$key]])) { - $temp[$val[$key]] = $key; - } else { - $temp[$val[$key]] .= " " . $key; - } - } - break; - - case 'numerictoterritory': - $_temp = self::_getFile('supplementalData', '/supplementalData/codeMappings/territoryCodes', 'type'); - foreach ($_temp as $key => $keyvalue) { - $temp += self::_getFile('supplementalData', '/supplementalData/codeMappings/territoryCodes[@type=\'' . $key . '\']', 'numeric', $key); - } - break; - - case 'territorytonumeric': - $_temp = self::_getFile('supplementalData', '/supplementalData/codeMappings/territoryCodes', 'numeric'); - foreach ($_temp as $key => $keyvalue) { - $temp += self::_getFile('supplementalData', '/supplementalData/codeMappings/territoryCodes[@numeric=\'' . $key . '\']', 'type', $key); - } - break; - - case 'alpha3toterritory': - $_temp = self::_getFile('supplementalData', '/supplementalData/codeMappings/territoryCodes', 'type'); - foreach ($_temp as $key => $keyvalue) { - $temp += self::_getFile('supplementalData', '/supplementalData/codeMappings/territoryCodes[@type=\'' . $key . '\']', 'alpha3', $key); - } - break; - - case 'territorytoalpha3': - $_temp = self::_getFile('supplementalData', '/supplementalData/codeMappings/territoryCodes', 'alpha3'); - foreach ($_temp as $key => $keyvalue) { - $temp += self::_getFile('supplementalData', '/supplementalData/codeMappings/territoryCodes[@alpha3=\'' . $key . '\']', 'type', $key); - } - break; - - case 'postaltoterritory': - $_temp = self::_getFile('postalCodeData', '/supplementalData/postalCodeData/postCodeRegex', 'territoryId'); - foreach ($_temp as $key => $keyvalue) { - $temp += self::_getFile('postalCodeData', '/supplementalData/postalCodeData/postCodeRegex[@territoryId=\'' . $key . '\']', 'territoryId'); - } - break; - - case 'numberingsystem': - $_temp = self::_getFile('numberingSystems', '/supplementalData/numberingSystems/numberingSystem', 'id'); - foreach ($_temp as $key => $keyvalue) { - $temp += self::_getFile('numberingSystems', '/supplementalData/numberingSystems/numberingSystem[@id=\'' . $key . '\']', 'digits', $key); - if (empty($temp[$key])) { - unset($temp[$key]); - } - } - break; - - case 'chartofallback': - $_temp = self::_getFile('characters', '/supplementalData/characters/character-fallback/character', 'value'); - foreach ($_temp as $key => $keyvalue) { - $temp2 = self::_getFile('characters', '/supplementalData/characters/character-fallback/character[@value=\'' . $key . '\']/substitute', '', $key); - $temp[current($temp2)] = $key; - } - break; - - case 'fallbacktochar': - $_temp = self::_getFile('characters', '/supplementalData/characters/character-fallback/character', 'value'); - foreach ($_temp as $key => $keyvalue) { - $temp += self::_getFile('characters', '/supplementalData/characters/character-fallback/character[@value=\'' . $key . '\']/substitute', '', $key); - } - break; - - case 'localeupgrade': - $_temp = self::_getFile('likelySubtags', '/supplementalData/likelySubtags/likelySubtag', 'from'); - foreach ($_temp as $key => $keyvalue) { - $temp += self::_getFile('likelySubtags', '/supplementalData/likelySubtags/likelySubtag[@from=\'' . $key . '\']', 'to', $key); - } - break; - - case 'unit': - $_temp = self::_getFile($locale, '/ldml/units/unit', 'type'); - foreach($_temp as $key => $keyvalue) { - $_temp2 = self::_getFile($locale, '/ldml/units/unit[@type=\'' . $key . '\']/unitPattern', 'count'); - $temp[$key] = $_temp2; - } - break; - - default : - require_once 'Zend/Locale/Exception.php'; - throw new Zend_Locale_Exception("Unknown list ($path) for parsing locale data."); - break; - } - - if (isset(self::$_cache)) { - self::$_cache->save( serialize($temp), $id); - } - - return $temp; - } - - /** - * Read the LDML file, get a single path defined value - * - * @param string $locale - * @param string $path - * @param string $value - * @return string - * @access public - */ - public static function getContent($locale, $path, $value = false) - { - $locale = self::_checkLocale($locale); - - if (!isset(self::$_cache) && !self::$_cacheDisabled) { - require_once 'Zend/Cache.php'; - self::$_cache = Zend_Cache::factory( - 'Core', - 'File', - array('automatic_serialization' => true), - array()); - } - - $val = $value; - if (is_array($value)) { - $val = implode('_' , $value); - } - $val = urlencode($val); - $id = strtr('Zend_LocaleC_' . $locale . '_' . $path . '_' . $val, array('-' => '_', '%' => '_', '+' => '_')); - if (!self::$_cacheDisabled && ($result = self::$_cache->load($id))) { - return unserialize($result); - } - - switch(strtolower($path)) { - case 'language': - $temp = self::_getFile($locale, '/ldml/localeDisplayNames/languages/language[@type=\'' . $value . '\']', 'type'); - break; - - case 'script': - $temp = self::_getFile($locale, '/ldml/localeDisplayNames/scripts/script[@type=\'' . $value . '\']', 'type'); - break; - - case 'country': - case 'territory': - $temp = self::_getFile($locale, '/ldml/localeDisplayNames/territories/territory[@type=\'' . $value . '\']', 'type'); - break; - - case 'variant': - $temp = self::_getFile($locale, '/ldml/localeDisplayNames/variants/variant[@type=\'' . $value . '\']', 'type'); - break; - - case 'key': - $temp = self::_getFile($locale, '/ldml/localeDisplayNames/keys/key[@type=\'' . $value . '\']', 'type'); - break; - - case 'defaultcalendar': - $temp = self::_getFile($locale, '/ldml/dates/calendars/default', 'choice', 'default'); - break; - - case 'monthcontext': - if (empty ($value)) { - $value = "gregorian"; - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/months/default', 'choice', 'context'); - break; - - case 'defaultmonth': - if (empty ($value)) { - $value = "gregorian"; - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/months/monthContext[@type=\'format\']/default', 'choice', 'default'); - break; - - case 'month': - if (!is_array($value)) { - $temp = $value; - $value = array("gregorian", "format", "wide", $temp); - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/months/monthContext[@type=\'' . $value[1] . '\']/monthWidth[@type=\'' . $value[2] . '\']/month[@type=\'' . $value[3] . '\']', 'type'); - break; - - case 'daycontext': - if (empty($value)) { - $value = "gregorian"; - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/days/default', 'choice', 'context'); - break; - - case 'defaultday': - if (empty($value)) { - $value = "gregorian"; - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/days/dayContext[@type=\'format\']/default', 'choice', 'default'); - break; - - case 'day': - if (!is_array($value)) { - $temp = $value; - $value = array("gregorian", "format", "wide", $temp); - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/days/dayContext[@type=\'' . $value[1] . '\']/dayWidth[@type=\'' . $value[2] . '\']/day[@type=\'' . $value[3] . '\']', 'type'); - break; - - case 'quarter': - if (!is_array($value)) { - $temp = $value; - $value = array("gregorian", "format", "wide", $temp); - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/quarters/quarterContext[@type=\'' . $value[1] . '\']/quarterWidth[@type=\'' . $value[2] . '\']/quarter[@type=\'' . $value[3] . '\']', 'type'); - break; - - case 'am': - if (empty($value)) { - $value = "gregorian"; - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/am', '', 'am'); - break; - - case 'pm': - if (empty($value)) { - $value = "gregorian"; - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/pm', '', 'pm'); - break; - - case 'era': - if (!is_array($value)) { - $temp = $value; - $value = array("gregorian", "Abbr", $temp); - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/eras/era' . $value[1] . '/era[@type=\'' . $value[2] . '\']', 'type'); - break; - - case 'defaultdate': - if (empty($value)) { - $value = "gregorian"; - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/dateFormats/default', 'choice', 'default'); - break; - - case 'date': - if (empty($value)) { - $value = array("gregorian", "medium"); - } - if (!is_array($value)) { - $temp = $value; - $value = array("gregorian", $temp); - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/dateFormats/dateFormatLength[@type=\'' . $value[1] . '\']/dateFormat/pattern', '', 'pattern'); - break; - - case 'defaulttime': - if (empty($value)) { - $value = "gregorian"; - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value . '\']/timeFormats/default', 'choice', 'default'); - break; - - case 'time': - if (empty($value)) { - $value = array("gregorian", "medium"); - } - if (!is_array($value)) { - $temp = $value; - $value = array("gregorian", $temp); - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/timeFormats/timeFormatLength[@type=\'' . $value[1] . '\']/timeFormat/pattern', '', 'pattern'); - break; - - case 'datetime': - if (empty($value)) { - $value = array("gregorian", "medium"); - } - if (!is_array($value)) { - $temp = $value; - $value = array("gregorian", $temp); - } - - $date = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/dateFormats/dateFormatLength[@type=\'' . $value[1] . '\']/dateFormat/pattern', '', 'pattern'); - $time = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/timeFormats/timeFormatLength[@type=\'' . $value[1] . '\']/timeFormat/pattern', '', 'pattern'); - $datetime = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/dateTimeFormats/dateTimeFormatLength[@type=\'' . $value[1] . '\']/dateTimeFormat/pattern', '', 'pattern'); - $temp = str_replace(array('{0}', '{1}'), array(current($time), current($date)), current($datetime)); - break; - - case 'dateitem': - if (empty($value)) { - $value = array("gregorian", "yyMMdd"); - } - if (!is_array($value)) { - $temp = $value; - $value = array("gregorian", $temp); - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/dateTimeFormats/availableFormats/dateFormatItem[@id=\'' . $value[1] . '\']', ''); - break; - - case 'dateinterval': - if (empty($value)) { - $value = array("gregorian", "yMd", "y"); - } - if (!is_array($value)) { - $temp = $value; - $value = array("gregorian", $temp, $temp[0]); - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/dateTimeFormats/intervalFormats/intervalFormatItem[@id=\'' . $value[1] . '\']/greatestDifference[@id=\'' . $value[2] . '\']', ''); - break; - - case 'field': - if (!is_array($value)) { - $temp = $value; - $value = array("gregorian", $temp); - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/fields/field[@type=\'' . $value[1] . '\']/displayName', '', $value[1]); - break; - - case 'relative': - if (!is_array($value)) { - $temp = $value; - $value = array("gregorian", $temp); - } - $temp = self::_getFile($locale, '/ldml/dates/calendars/calendar[@type=\'' . $value[0] . '\']/fields/field/relative[@type=\'' . $value[1] . '\']', '', $value[1]); - break; - - case 'decimalnumber': - $temp = self::_getFile($locale, '/ldml/numbers/decimalFormats/decimalFormatLength/decimalFormat/pattern', '', 'default'); - break; - - case 'scientificnumber': - $temp = self::_getFile($locale, '/ldml/numbers/scientificFormats/scientificFormatLength/scientificFormat/pattern', '', 'default'); - break; - - case 'percentnumber': - $temp = self::_getFile($locale, '/ldml/numbers/percentFormats/percentFormatLength/percentFormat/pattern', '', 'default'); - break; - - case 'currencynumber': - $temp = self::_getFile($locale, '/ldml/numbers/currencyFormats/currencyFormatLength/currencyFormat/pattern', '', 'default'); - break; - - case 'nametocurrency': - $temp = self::_getFile($locale, '/ldml/numbers/currencies/currency[@type=\'' . $value . '\']/displayName', '', $value); - break; - - case 'currencytoname': - $temp = self::_getFile($locale, '/ldml/numbers/currencies/currency[@type=\'' . $value . '\']/displayName', '', $value); - $_temp = self::_getFile($locale, '/ldml/numbers/currencies/currency', 'type'); - $temp = array(); - foreach ($_temp as $key => $keyvalue) { - $val = self::_getFile($locale, '/ldml/numbers/currencies/currency[@type=\'' . $key . '\']/displayName', '', $key); - if (!isset($val[$key]) or ($val[$key] != $value)) { - continue; - } - if (!isset($temp[$val[$key]])) { - $temp[$val[$key]] = $key; - } else { - $temp[$val[$key]] .= " " . $key; - } - } - break; - - case 'currencysymbol': - $temp = self::_getFile($locale, '/ldml/numbers/currencies/currency[@type=\'' . $value . '\']/symbol', '', $value); - break; - - case 'question': - $temp = self::_getFile($locale, '/ldml/posix/messages/' . $value . 'str', '', $value); - break; - - case 'currencyfraction': - if (empty($value)) { - $value = "DEFAULT"; - } - $temp = self::_getFile('supplementalData', '/supplementalData/currencyData/fractions/info[@iso4217=\'' . $value . '\']', 'digits', 'digits'); - break; - - case 'currencyrounding': - if (empty($value)) { - $value = "DEFAULT"; - } - $temp = self::_getFile('supplementalData', '/supplementalData/currencyData/fractions/info[@iso4217=\'' . $value . '\']', 'rounding', 'rounding'); - break; - - case 'currencytoregion': - $temp = self::_getFile('supplementalData', '/supplementalData/currencyData/region[@iso3166=\'' . $value . '\']/currency', 'iso4217', $value); - break; - - case 'regiontocurrency': - $_temp = self::_getFile('supplementalData', '/supplementalData/currencyData/region', 'iso3166'); - $temp = array(); - foreach ($_temp as $key => $keyvalue) { - $val = self::_getFile('supplementalData', '/supplementalData/currencyData/region[@iso3166=\'' . $key . '\']/currency', 'iso4217', $key); - if (!isset($val[$key]) or ($val[$key] != $value)) { - continue; - } - if (!isset($temp[$val[$key]])) { - $temp[$val[$key]] = $key; - } else { - $temp[$val[$key]] .= " " . $key; - } - } - break; - - case 'regiontoterritory': - $temp = self::_getFile('supplementalData', '/supplementalData/territoryContainment/group[@type=\'' . $value . '\']', 'contains', $value); - break; - - case 'territorytoregion': - $_temp2 = self::_getFile('supplementalData', '/supplementalData/territoryContainment/group', 'type'); - $_temp = array(); - foreach ($_temp2 as $key => $found) { - $_temp += self::_getFile('supplementalData', '/supplementalData/territoryContainment/group[@type=\'' . $key . '\']', 'contains', $key); - } - $temp = array(); - foreach($_temp as $key => $found) { - $_temp3 = explode(" ", $found); - foreach($_temp3 as $found3) { - if ($found3 !== $value) { - continue; - } - if (!isset($temp[$found3])) { - $temp[$found3] = (string) $key; - } else { - $temp[$found3] .= " " . $key; - } - } - } - break; - - case 'scripttolanguage': - $temp = self::_getFile('supplementalData', '/supplementalData/languageData/language[@type=\'' . $value . '\']', 'scripts', $value); - break; - - case 'languagetoscript': - $_temp2 = self::_getFile('supplementalData', '/supplementalData/languageData/language', 'type'); - $_temp = array(); - foreach ($_temp2 as $key => $found) { - $_temp += self::_getFile('supplementalData', '/supplementalData/languageData/language[@type=\'' . $key . '\']', 'scripts', $key); - } - $temp = array(); - foreach($_temp as $key => $found) { - $_temp3 = explode(" ", $found); - foreach($_temp3 as $found3) { - if ($found3 !== $value) { - continue; - } - if (!isset($temp[$found3])) { - $temp[$found3] = (string) $key; - } else { - $temp[$found3] .= " " . $key; - } - } - } - break; - - case 'territorytolanguage': - $temp = self::_getFile('supplementalData', '/supplementalData/languageData/language[@type=\'' . $value . '\']', 'territories', $value); - break; - - case 'languagetoterritory': - $_temp2 = self::_getFile('supplementalData', '/supplementalData/languageData/language', 'type'); - $_temp = array(); - foreach ($_temp2 as $key => $found) { - $_temp += self::_getFile('supplementalData', '/supplementalData/languageData/language[@type=\'' . $key . '\']', 'territories', $key); - } - $temp = array(); - foreach($_temp as $key => $found) { - $_temp3 = explode(" ", $found); - foreach($_temp3 as $found3) { - if ($found3 !== $value) { - continue; - } - if (!isset($temp[$found3])) { - $temp[$found3] = (string) $key; - } else { - $temp[$found3] .= " " . $key; - } - } - } - break; - - case 'timezonetowindows': - $temp = self::_getFile('supplementalData', '/supplementalData/timezoneData/mapTimezones[@type=\'windows\']/mapZone[@other=\''.$value.'\']', 'type', $value); - break; - - case 'windowstotimezone': - $temp = self::_getFile('supplementalData', '/supplementalData/timezoneData/mapTimezones[@type=\'windows\']/mapZone[@type=\''.$value.'\']', 'other', $value); - break; - - case 'territorytotimezone': - $temp = self::_getFile('supplementalData', '/supplementalData/timezoneData/zoneFormatting/zoneItem[@type=\'' . $value . '\']', 'territory', $value); - break; - - case 'timezonetoterritory': - $temp = self::_getFile('supplementalData', '/supplementalData/timezoneData/zoneFormatting/zoneItem[@territory=\'' . $value . '\']', 'type', $value); - break; - - case 'citytotimezone': - $temp = self::_getFile($locale, '/ldml/dates/timeZoneNames/zone[@type=\'' . $value . '\']/exemplarCity', '', $value); - break; - - case 'timezonetocity': - $_temp = self::_getFile($locale, '/ldml/dates/timeZoneNames/zone', 'type'); - $temp = array(); - foreach($_temp as $key => $found) { - $temp += self::_getFile($locale, '/ldml/dates/timeZoneNames/zone[@type=\'' . $key . '\']/exemplarCity', '', $key); - if (!empty($temp[$key])) { - if ($temp[$key] == $value) { - $temp[$temp[$key]] = $key; - } - } - unset($temp[$key]); - } - break; - - case 'phonetoterritory': - $temp = self::_getFile('telephoneCodeData', '/supplementalData/telephoneCodeData/codesByTerritory[@territory=\'' . $value . '\']/telephoneCountryCode', 'code', $value); - break; - - case 'territorytophone': - $_temp2 = self::_getFile('telephoneCodeData', '/supplementalData/telephoneCodeData/codesByTerritory', 'territory'); - $_temp = array(); - foreach ($_temp2 as $key => $found) { - $_temp += self::_getFile('telephoneCodeData', '/supplementalData/telephoneCodeData/codesByTerritory[@territory=\'' . $key . '\']/telephoneCountryCode', 'code', $key); - } - $temp = array(); - foreach($_temp as $key => $found) { - $_temp3 = explode(" ", $found); - foreach($_temp3 as $found3) { - if ($found3 !== $value) { - continue; - } - if (!isset($temp[$found3])) { - $temp[$found3] = (string) $key; - } else { - $temp[$found3] .= " " . $key; - } - } - } - break; - - case 'numerictoterritory': - $temp = self::_getFile('supplementalData', '/supplementalData/codeMappings/territoryCodes[@type=\''.$value.'\']', 'numeric', $value); - break; - - case 'territorytonumeric': - $temp = self::_getFile('supplementalData', '/supplementalData/codeMappings/territoryCodes[@numeric=\''.$value.'\']', 'type', $value); - break; - - case 'alpha3toterritory': - $temp = self::_getFile('supplementalData', '/supplementalData/codeMappings/territoryCodes[@type=\''.$value.'\']', 'alpha3', $value); - break; - - case 'territorytoalpha3': - $temp = self::_getFile('supplementalData', '/supplementalData/codeMappings/territoryCodes[@alpha3=\''.$value.'\']', 'type', $value); - break; - - case 'postaltoterritory': - $temp = self::_getFile('postalCodeData', '/supplementalData/postalCodeData/postCodeRegex[@territoryId=\'' . $value . '\']', 'territoryId'); - break; - - case 'numberingsystem': - $temp = self::_getFile('numberingSystems', '/supplementalData/numberingSystems/numberingSystem[@id=\'' . strtolower($value) . '\']', 'digits', $value); - break; - - case 'chartofallback': - $_temp = self::_getFile('characters', '/supplementalData/characters/character-fallback/character', 'value'); - foreach ($_temp as $key => $keyvalue) { - $temp2 = self::_getFile('characters', '/supplementalData/characters/character-fallback/character[@value=\'' . $key . '\']/substitute', '', $key); - if (current($temp2) == $value) { - $temp = $key; - } - } - break; - - $temp = self::_getFile('characters', '/supplementalData/characters/character-fallback/character[@value=\'' . $value . '\']/substitute', '', $value); - break; - - case 'fallbacktochar': - $temp = self::_getFile('characters', '/supplementalData/characters/character-fallback/character[@value=\'' . $value . '\']/substitute', ''); - break; - - case 'localeupgrade': - $temp = self::_getFile('likelySubtags', '/supplementalData/likelySubtags/likelySubtag[@from=\'' . $value . '\']', 'to', $value); - break; - - case 'unit': - $temp = self::_getFile($locale, '/ldml/units/unit[@type=\'' . $value[0] . '\']/unitPattern[@count=\'' . $value[1] . '\']', ''); - break; - - default : - require_once 'Zend/Locale/Exception.php'; - throw new Zend_Locale_Exception("Unknown detail ($path) for parsing locale data."); - break; - } - - if (is_array($temp)) { - $temp = current($temp); - } - if (isset(self::$_cache)) { - self::$_cache->save( serialize($temp), $id); - } - - return $temp; - } - - /** - * Returns the set cache - * - * @return Zend_Cache_Core The set cache - */ - public static function getCache() - { - return self::$_cache; - } - - /** - * Set a cache for Zend_Locale_Data - * - * @param Zend_Cache_Core $cache A cache frontend - */ - public static function setCache(Zend_Cache_Core $cache) - { - self::$_cache = $cache; - } - - /** - * Returns true when a cache is set - * - * @return boolean - */ - public static function hasCache() - { - if (self::$_cache !== null) { - return true; - } - - return false; - } - - /** - * Removes any set cache - * - * @return void - */ - public static function removeCache() - { - self::$_cache = null; - } - - /** - * Clears all set cache data - * - * @return void - */ - public static function clearCache() - { - self::$_cache->clean(); - } - - /** - * Disables the cache - * - * @param unknown_type $flag - */ - public static function disableCache($flag) - { - self::$_cacheDisabled = (boolean) $flag; - } -} diff --git a/lib/zend/Zend/Locale/Data/Translation.php b/lib/zend/Zend/Locale/Data/Translation.php deleted file mode 100644 index c1d6b07c35..0000000000 --- a/lib/zend/Zend/Locale/Data/Translation.php +++ /dev/null @@ -1,96 +0,0 @@ - 'AU', - 'Austria' => 'AT', - 'Belgium' => 'BE', - 'Brazil' => 'BR', - 'Canada' => 'CA', - 'China' => 'CN', - 'Czech Republic' => 'CZ', - 'Denmark' => 'DK', - 'Finland' => 'FI', - 'France' => 'FR', - 'Germany' => 'DE', - 'Greece' => 'GR', - 'Hong Kong SAR' => 'HK', - 'Hungary' => 'HU', - 'Iceland' => 'IS', - 'Ireland' => 'IE', - 'Italy' => 'IT', - 'Japan' => 'JP', - 'Korea' => 'KP', - 'Mexiko' => 'MX', - 'The Netherlands' => 'NL', - 'New Zealand' => 'NZ', - 'Norway' => 'NO', - 'Poland' => 'PL', - 'Portugal' => 'PT', - 'Russia' => 'RU', - 'Singapore' => 'SG', - 'Slovakia' => 'SK', - 'Spain' => 'ES', - 'Sweden' => 'SE', - 'Taiwan' => 'TW', - 'Turkey' => 'TR', - 'United Kingdom' => 'GB', - 'United States' => 'US', - - 'Chinese' => 'zh', - 'Czech' => 'cs', - 'Danish' => 'da', - 'Dutch' => 'nl', - 'English' => 'en', - 'Finnish' => 'fi', - 'French' => 'fr', - 'German' => 'de', - 'Greek' => 'el', - 'Hungarian' => 'hu', - 'Icelandic' => 'is', - 'Italian' => 'it', - 'Japanese' => 'ja', - 'Korean' => 'ko', - 'Norwegian' => 'no', - 'Polish' => 'pl', - 'Portuguese' => 'pt', - 'Russian' => 'ru', - 'Slovak' => 'sk', - 'Spanish' => 'es', - 'Swedish' => 'sv', - 'Turkish' => 'tr' - ); -} diff --git a/lib/zend/Zend/Locale/Data/aa.xml b/lib/zend/Zend/Locale/Data/aa.xml deleted file mode 100644 index 98e976d954..0000000000 --- a/lib/zend/Zend/Locale/Data/aa.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - - - - - Qafar - Arabic - German - English - Spanish - French - Hindi - Italian - Japanese - Portuguese - Russian - Chinese - - - - - - Brazil - China - Germany - Yabuuti - Eretria - Otobbia - France - United Kingdom - India - Italy - Japan - Russia - United States - - - - [a-z] - - - - - - - - Qun - Nah - Cig - Agd - Cax - Qas - Qad - Leq - Way - Dit - Xim - Kax - - - Qunxa Garablu - Kudo - Ciggilta Kudo - Agda Baxis - Caxah Alsa - Qasa Dirri - Qado Dirri - Liiqen - Waysu - Diteli - Ximoli - Kaxxa Garablu - - - - - Q - N - C - A - C - Q - Q - L - W - D - X - K - - - - - - - Aca - Etl - Tal - Arb - Kam - Gum - Sab - - - Acaada - Etleeni - Talaata - Arbaqa - Kamiisi - Gumqata - Sabti - - - - - A - E - T - A - K - G - S - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - saaku - carra - - - Yaasuusuk Duma - Yaasuusuk Wadir - - - - - - EEEE, MMMM dd, y - - - - - dd MMMM y - - - - - dd-MMM-y - - - - - dd/MM/yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - - ¤#,##0.00 - - - - - - diff --git a/lib/zend/Zend/Locale/Data/aa_DJ.xml b/lib/zend/Zend/Locale/Data/aa_DJ.xml deleted file mode 100644 index 91f128f522..0000000000 --- a/lib/zend/Zend/Locale/Data/aa_DJ.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - Naharsi Kudo - Agda Baxisso - Leqeeni - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/aa_ER.xml b/lib/zend/Zend/Locale/Data/aa_ER.xml deleted file mode 100644 index bc79e536fe..0000000000 --- a/lib/zend/Zend/Locale/Data/aa_ER.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/aa_ER_SAAHO.xml b/lib/zend/Zend/Locale/Data/aa_ER_SAAHO.xml deleted file mode 100644 index aae4a0a79a..0000000000 --- a/lib/zend/Zend/Locale/Data/aa_ER_SAAHO.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - Nab - San - Sal - Rab - Cam - Jum - Qun - - - Naba Sambat - Sani - Salus - Rabuq - Camus - Jumqata - Qunxa Sambat - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/aa_ET.xml b/lib/zend/Zend/Locale/Data/aa_ET.xml deleted file mode 100644 index d69fc154ce..0000000000 --- a/lib/zend/Zend/Locale/Data/aa_ET.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/af.xml b/lib/zend/Zend/Locale/Data/af.xml deleted file mode 100644 index 2a2f450632..0000000000 --- a/lib/zend/Zend/Locale/Data/af.xml +++ /dev/null @@ -1,822 +0,0 @@ - - - - - - - - - - - Afrikaans - Ander Afro-Asiaties - Amharies - Arabies - Aramees - Ander Kunsmatig - Assamees - Aserbeidjaans - Ander Balties - Wit-Russies - Berbers - Bulgaars - Bihari - Bengaals - Bantoe - Bretons - Bosnies - Katalaans - Ander Kelties - Cherokees - Kopties - Tsjeggies - Kerkslawies - Wallies - Deens - Duits - Antieke Egipties - Grieks - Engels - Esperanto - Spaans - Latyns-Amerikaanse Spaans - Estnies - Baskies - Persies - Fins - Filippyns - Fidjiaans - Faroëes - Frans - Fries - Iers - Skots-Gaelies - Ander Germaans - Galicies - Guarani - Goties - Antieke Grieks - Gujarati - Manx - Hebreeus - Hindi - Hetities - Kroaties - Hongaars - Armeens - Interlingua - Indonesies - Interlingue - Ander Indo-Europees - Yslands - Italiaans - Japannees - Javaans - Georgies - Ander Khoi-San - Khmer - Kannada - Koreaans - kru - Koerdies - Kornies - Kirgisies - Latyn - Limburgs - Lingala - Laotanees - Litaus - Letties - Masai - Malgassies - Macedonies - Malabaars - Mongalees - Mahratti - Maleisies - Maltees - Veelvuldige tale - Birmaans - Noord-Ndebele - Nepalees - Nederlands - Vlaams - Noorweegse Nynorsk - Noors - Suid-Ndebele - Sepedi - Occitaans - Oria - Pandjabi - Fenisies - Pools - Pasjtoe - Portugees - Brasiliaanse Portugees - Roemeens - Russies - Sanskrit - Skots - Sindhi - Ander Semities - Gebaretaal - Serwo-Kroaties - Singalees - Slowaaks - Sloweens - Ander Slawies - Shona - Somalies - Albanees - Serwies - Swazi - Suid-Sotho - Soedanees - Sweeds - Swahili - Tamil - Telugees - Thais - Tigrinya - Turkmeens - Klingon - Tswana - Turks - Tsonga - Twi - Uighoers - Oekraïens - Onbepaald - Oerdoe - Oesbekies - Venda - Viëtnamees - Xhosa - Jiddisj - Sjinees - Vereenvoudigde Sjinees - Tradisionele Sjinees - Zoeloe - - - - - - - - - - - - - - - - - - - - - - - - - - - Wêreld - Afrika - Suid-Amerika - Oseanië - Wes-Afrika - Sentraal-Amerika - Oos-Afrika - Noord-Afrika - Midde-Afrika - Suider-Afrika - Amerikas - Noord-Amerika - Karibies - Oos-Asië - Suid-Asië - Suidoos-Asië - Suid-Europa - Australië en Nieu-Seeland - Melanesië - Polinesië - Asië - Sentraal-Asië - Wes-Asië - Europa - Oos-Europa - Noord-Europa - Wes-Europa - Statebond - Andorra - Verenigde Arabiese Emirate - Afganistan - Antigua en Barbuda - Albanië - Armenië - Nederlands-Antille - Angola - Antarktika - Argentinië - Amerikaans Samoa - Oostenryk - Australië - Aserbeidjan - Bosnië en Herzegowina - Bangladesj - België - Boerkina Fasso - Bulgarye - Bahrein - Benin - Broenei - Bolivië - Brasilië - Bahamas - Bhoetan - Botswana - Wit-Rusland - Kanada - Sentraal-Afrikaanse Republiek - Kongo - Switserland - Ivoorkus - Chili - Kameroen - Sjina - Costa Rica - Serwië en Montenegro - Kuba - Kaap Verde - Ciprus - Tjeggiese Republiek - Duitsland - Djiboeti - Denemarke - Dominikaanse Republiek - Algerië - Estland - Egipte - Wes-Sahara - Spanje - Ethiopië - Finland - Fidji - Falklandeilande - Mikronesië - Faroëreilande - Frankryk - Gaboen - Groot-Brittanje - Georgië - Frans-Guyana - Ghana - Groenland - Gambië - Guinee - Ekwatoriaal-Guinee - Griekeland - Guinee-Bissau - Hongkong - Kroasië - Haïti - Hongarye - Indonesië - Ierland - Israel - Indië - Irak - Iran - Ysland - Italië - Jamaika - Jordanië - Japan - Kenia - Kirgisië - Kambodja - Comore - Saint Kitts en Nevis - Noord-Korea - Suid-Korea - Koeweit - Kaaimanseilande - Kasakstan - Laos - Libanon - Liechtenstein - Sri Lanka - Liberië - Lesotho - Litaue - Luxemburg - Letland - Libië - Marokko - Monaco - Madagaskar - Marshall-eilande - Macedonië - Mali - Mongolië - Macao - Mouritanië - Malta - Mauritius - Maldive - Meksiko - Maleisië - Mosambiek - Namibië - Nieu-Kaledonië - Niger - Nigerië - Nicaragua - Nederland - Noorweë - Naoeroe - Nieu-Seeland - Oman - Panama - Peru - Papoea Nieu-Guinee - Filippyne - Pakistan - Pole - Puerto Rico - Portugal - Paraguay - Katar - Réunion - Roemenië - Rusland - Rwanda - Saoedi-Arabië - Solomon Eilande - Seychelle - Soedan - Swede - Singapoer - Slowenië - Slowakye - Sierra Leone - San Marino - Senegal - Somalië - Suriname - Sao Tome en Principe - Salvador - Sirië - Swaziland - Tsjaad - Thailand - Tadjikistan - Turkmenië - Tunisië - Tonga - Turkye - Trinidad en Tobago - Taiwan - Tanzanië - Oekraine - Uganda - Verenigde State van Amerika - Oesbekistan - Vatikaan - Saint Vincent en die Grenadine - Venezuela - Viëtnam - Samoa - Jemen - Suid-Afrika - Zambië - Zimbabwe - - - Tradisionele Duitse ortografie - Duitse ortografie van 1996 - Hersiene ortografie - - - Kalender - Vergelyking - Geldeenheid - - - Tradisionele Sjinees (Groot5) - Sjinese kalender - Vereenvoudigde Sjinees - Gregoriaanse kalender - Hebreeuse kalender - Islamitiese kalender - Japannese kalender - Telefoongidsvolgorde - Tradisioneel - - - VSA - Metriek - - - Taal: {0} - Skrif: {0} - Omgewing: {0} - - - - [a á â b-e é è ê ë f-i î ï j-o ô ö p-u û v-z] - [à å-ç ñ ø œ ß] - [a-z] - - - ‘ - ’ - “ - ” - - - - - - - - Jan - Feb - Mar - Apr - Mei - Jun - Jul - Aug - Sep - Okt - Nov - Des - - - Januarie - Februarie - Maart - April - Mei - Junie - Julie - Augustus - September - Oktober - November - Desember - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - So - Ma - Di - Wo - Do - Vr - Sa - - - Sondag - Maandag - Dinsdag - Woensdag - Donderdag - Vrydag - Saterdag - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - K1 - K2 - K3 - K4 - - - 1ste kwartaal - 2de kwartaal - 3de kwartaal - 4de kwartaal - - - - vm. - nm. - - - voor Christus - na Christus - - - v.C. - n.C. - - - - - - EEEE dd MMMM y - - - - - dd MMMM y - - - - - dd MMM y - - - - - yyyy/MM/dd - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - d MMMM - dd MMMM - MM/dd - Q yy - yyyy/MM - MMMM y - - - {0} - {1} - - M-M - - - E, MM-dd - E, MM-dd - E, MM-dd - E, MM-dd - - - MMM-MMM - - - E, MMM d - E, MMM d - E, MMM d - E, MMM d - - - MMM d - MMM d - MMM d-d - - - MM-dd - MM-dd - MM-dd - MM-dd - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - yyyy-MM - yyyy-MM - yyyy-MM - yyyy-MM - - - E, yyyy-MM-dd - E, yyyy-MM-dd - E, yyyy-MM-dd - E, yyyy-MM-dd - E, yyyy-MM-dd - E, yyyy-MM-dd - - - y MMM-MMM - y MMM - y MMM - - - E, y MMM dd - E, y MMM dd - E, y MMM dd - E, y MMM dd - E, y MMM dd - E, y MMM dd - - - y MMM d - MMM d - y MMM d-d - y MMM d - y MMM d - - - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - - - - - - Tydperk - - - Jaar - - - Maand - - - Week - - - Dag - - - Dag van die week - - - Uur - - - Minuut - - - Sekonde - - - Tydsone - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - Suidpool - - - Bagrein - - - Sjanghai - - - Mexikostad - - - Lissabon - - - Moskou - - - - - - , -   - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤#,##0.00 - - - - - - Reaal - - - Switserse frank - - - Joean - - - Euro - - - Britse pond - - - Italiaanse lier - - - Japannese jen - - - Namibiese dollar - - - Roebel - - - Ou Turkse lier - - - Turkse lier - - - Amerikaanse dollar - - - Onbekende of ongeldige geldeenheid - - - Rand - - - - - - ja:j - nee:n - - - - diff --git a/lib/zend/Zend/Locale/Data/af_NA.xml b/lib/zend/Zend/Locale/Data/af_NA.xml deleted file mode 100644 index b96798af21..0000000000 --- a/lib/zend/Zend/Locale/Data/af_NA.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - EEEE d MMMM y - - - - - d MMMM y - - - - - d MMM y - - - - - yyyy-MM-dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - MM-dd - yyyy-MM - - - - - - - - - - ¤ #,##0.00 - - - - - diff --git a/lib/zend/Zend/Locale/Data/af_ZA.xml b/lib/zend/Zend/Locale/Data/af_ZA.xml deleted file mode 100644 index 86030ac891..0000000000 --- a/lib/zend/Zend/Locale/Data/af_ZA.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ak.xml b/lib/zend/Zend/Locale/Data/ak.xml deleted file mode 100644 index b5e077ae48..0000000000 --- a/lib/zend/Zend/Locale/Data/ak.xml +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - - - - [a b d e ɛ f-i k-o ɔ p r-u w y] - [c j q v z] - - - - - - - - S-Ɔ - K-Ɔ - E-Ɔ - E-O - E-K - O-A - A-K - D-Ɔ - F-Ɛ - Ɔ-A - Ɔ-O - M-Ɔ - - - Sanda-Ɔpɛpɔn - Kwakwar-Ɔgyefuo - Ebɔw-Ɔbenem - Ebɔbira-Oforisuo - Esusow Aketseaba-Kɔtɔnimba - Obirade-Ayɛwohomumu - Ayɛwoho-Kitawonsa - Difuu-Ɔsandaa - Fankwa-Ɛbɔ - Ɔbɛsɛ-Ahinime - Ɔberɛfɛw-Obubuo - Mumu-Ɔpɛnimba - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Kwe - Dwo - Ben - Wuk - Yaw - Fia - Mem - - - Kwesida - Dwowda - Benada - Wukuda - Yawda - Fida - Memeneda - - - - - K - D - B - W - Y - F - M - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - AN - EW - - - Ansa Kristo - Kristo Ekyiri - - - AK - KE - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - Sidi - - - - - diff --git a/lib/zend/Zend/Locale/Data/ak_GH.xml b/lib/zend/Zend/Locale/Data/ak_GH.xml deleted file mode 100644 index f0210566be..0000000000 --- a/lib/zend/Zend/Locale/Data/ak_GH.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/am.xml b/lib/zend/Zend/Locale/Data/am.xml deleted file mode 100644 index b4112f11d9..0000000000 --- a/lib/zend/Zend/Locale/Data/am.xml +++ /dev/null @@ -1,1409 +0,0 @@ - - - - - - - - - - - አፋርኛ - አብሐዚኛ - አፍሪካንስኛ - አማርኛ - ዐርቢኛ - አሳሜዛዊ - አያማርኛ - አዜርባይጃንኛ - ባስኪርኛ - ቤላራሻኛ - ቡልጋሪኛ - ቢሃሪ - ቢስላምኛ - በንጋሊኛ - ትበትንኛ - ብሬቶንኛ - ቦስኒያንኛ - ብሊን - ካታላንኛ - ኮርሲካኛ - ቼክኛ - ወልሽ - ዴኒሽ - ጀርመን - ድዞንግኻኛ - ግሪክኛ - እንግሊዝኛ - ኤስፐራንቶ - ስፓኒሽ - ኤስቶኒአን - ባስክኛ - ፐርሲያኛ - ፊኒሽ - ፊሊፕንኛ - ፊጂኛ - ፋሮኛ - ፈረንሳይኛ - ፍሪስኛ - አይሪሽ - እስኮትስ ጌልክኛ - ግዕዝኛ - ጋለጋኛ - ጓራኒኛ - ጉጃርቲኛ - ሃውሳኛ - ዕብራስጥ - ሐንድኛ - ክሮሽያንኛ - ሀንጋሪኛ - አርመናዊ - ኢንቴርሊንጓ - እንዶኒሲኛ - እንተርሊንግወ - እኑፒያቅኛ - አይስላንድኛ - ጣሊያንኛ - እኑክቲቱትኛ - ጃፓንኛ - ጃቫንኛ - ጊዮርጊያን - ካዛክኛ - ካላሊሱትኛ - ክመርኛ - ካናዳኛ - ኮሪያኛ - ካሽሚርኛ - ኩርድሽኛ - ኪርጊዝኛ - ላቲንኛ - ሊንጋላኛ - ላውስኛ - ሊቱአኒያን - ላትቪያን - ማላጋስኛ - ማዮሪኛ - ማከዶኒኛ - ማላያላምኛ - ሞንጎላዊኛ - ሞልዳቫዊና - ማራዚኛ - ማላይኛ - ማልቲስኛ - ቡርማኛ - ናኡሩ - ኔፓሊኛ - ደች - የኖርዌ አዲሱ ኖርዌጅያንኛ - ኖርዌጂያን - ኦኪታንኛ - ኦሮምኛ - ኦሪያኛ - ፓንጃቢኛ - ፖሊሽ - ፑሽቶኛ - ፖርቱጋሊኛ - ፖርቱጋሊኛ (የብራዚል) - ፖርቱጋሊኛ (የፖርቱጋል) - ኵቿኛ - ሮማንስ - ሩንዲኛ - ሮማኒያን - ራሽኛ - ኪንያርዋንድኛ - ሳንስክሪትኛ - ሲንድሂኛ - ሳንጎኛ - ሰርቦ-ክሮኤሽያኛ - ስንሃልኛ - ሲዳምኛ - ስሎቫክኛ - ስሎቪኛ - ሳሞአኛ - ሾናኛ - ሱማልኛ - ልቤኒኛ - ሰርቢኛ - ስዋቲኛ - ሶዞኛ - ሱዳንኛ - ስዊድንኛ - ስዋሂሊኛ - ታሚልኛ - ተሉጉኛ - ታጂኪኛ - ታይኛ - ትግርኛ - ትግረ - ቱርክመንኛ - ታጋሎገኛ - ክሊንግኦንኛ - ጽዋናዊኛ - ቶንጋ - ቱርክኛ - ጾንጋኛ - ታታርኛ - ትዊኛ - ኡዊግሁርኛ - ዩክረኒኛ - ያልተወሰነ - ኡርዱኛ - ኡዝበክኛ - ቪትናምኛ - ቮላፑክኛ - ዎሎፍኛ - ዞሳኛ - ይዲሻዊኛ - ዮሩባዊኛ - ዡዋንግኛ - ቻይንኛ - ዙሉኛ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ዓለም - አፍሪካ - ደቡባዊ አሜሪካ - ኦሽኒያ - ምዕራባዊ አፍሪካ - መካከለኛ አሜሪካ [013] - ምስራቃዊ አፍሪካ - ሰሜናዊ አፍሪካ - መካከለኛ አፍሪካ - ደቡባዊ አፍሪካ - አሜሪካዎች - ሰሜናዊ አሜሪካ - ካሪቢያን - ደቡብ-ምሥራቃዊ እስያ [030] - ምሥራቃዊ እስያ - ደቡብ-ምሥራቃዊ እስያ [035] - ደቡባዊ አውሮፓ - አውስትራሊያ እና ኒው ዚላንድ - ሜላኔሲያ - ሚክሮኔዢያ [057] - ፖሊኔዢያ - እስያ - መካከለኛ አሜሪካ [143] - ምዕራባዊ እስያ - አውሮፓ - ምስራቃዊ አውሮፓ - ሰሜናዊ አውሮፓ - ምዕራባዊ አውሮፓ - አንዶራ - የተባበሩት አረብ ኤምሬትስ - አፍጋኒስታን - አንቲጓ እና ባሩዳ - አንጉኢላ - አልባኒያ - አርሜኒያ - ኔዘርላንድስ አንቲልስ - አንጐላ - አንታርክቲካ - አርጀንቲና - የአሜሪካ ሳሞአ - ኦስትሪያ - አውስትሬሊያ - አሩባ - የአላንድ ደሴቶች - አዘርባጃን - ቦስኒያ እና ሄርዞጎቪኒያ - ባርቤዶስ - ባንግላዲሽ - ቤልጄም - ቡርኪና ፋሶ - ቡልጌሪያ - ባህሬን - ብሩንዲ - ቤኒን - ቤርሙዳ - ብሩኒ - ቦሊቪያ - ብራዚል - ባሃማስ - ቡህታን - የቦውቬት ደሴት - ቦትስዋና - ቤላሩስ - ቤሊዘ - ካናዳ - ኮኮስ ኬሊንግ ደሴቶች - ኮንጎ - የመካከለኛው አፍሪካ ሪፐብሊክ - ኮንጐ - ስዊዘርላንድ - ኮት ዲቯር - ኩክ ደሴቶች - ቺሊ - ካሜሩን - ቻይና - ኮሎምቢያ - ኮስታ ሪካ - ሰርቢያ - ኩባ - ኬፕ ቬርዴ - የገና ደሴቶች - ሳይፕረስ - ቼክ ሪፑብሊክ - ጀርመን - ጂቡቲ - ዴንማርክ - ዶሚኒካ - ዶሚኒክ ሪፑብሊክ - አልጄሪያ - ኢኳዶር - ኤስቶኒያ - ግብጽ - ምዕራባዊ ሳህራ - ኤርትራ - ስፔን - ኢትዮጵያ - ፊንላንድ - ፊጂ - የፎልክላንድ ደሴቶች - ሚክሮኔዢያ - የፋሮይ ደሴቶች - ፈረንሳይ - ጋቦን - እንግሊዝ - ግሬናዳ - ጆርጂያ - የፈረንሳይ ጉዊአና - ጋና - ጊብራልታር - ግሪንላንድ - ጋምቢያ - ጊኒ - ጉዋደሉፕ - ኢኳቶሪያል ጊኒ - ግሪክ - ደቡብ ጆርጂያ እና የደቡድ ሳንድዊች ደሴቶች - ጉዋቲማላ - ጉዋም - ቢሳዎ - ጉያና - ሆንግ ኮንግ - የኧርድ እና የማክዶናልድ ደሴቶች - ሆንዱራስ - ክሮኤሽያ - ሀይቲ - ሀንጋሪ - ኢንዶኔዢያ - አየርላንድ - እስራኤል - ህንድ - የብሪታኒያ ህንድ ውቂያኖስ ግዛት - ኢራቅ - ኢራን - አይስላንድ - ጣሊያን - ጃማይካ - ጆርዳን - ጃፓን - ኬንያ - ካምቦዲያ - ኪሪባቲ - ኮሞሮስ - ቅዱስ ኪትስ እና ኔቪስ - ሰሜን ኮሪያ - ደቡብ ኮሪያ - ክዌት - ካይማን ደሴቶች - ላኦስ - ሊባኖስ - ሴንት ሉቺያ - ሊችተንስታይን - ሲሪላንካ - ላይቤሪያ - ሌሶቶ - ሊቱዌኒያ - ሉክሰምበርግ - ላትቪያ - ሊቢያ - ሞሮኮ - ሞናኮ - ሞልዶቫ - ማዳጋስካር - ማርሻል አይላንድ - ማከዶኒያ - ማሊ - ማያንማር - ሞንጎሊያ - ማካዎ - የሰሜናዊ ማሪያና ደሴቶች - ማርቲኒክ - ሞሪቴኒያ - ሞንትሴራት - ማልታ - ማሩሸስ - ማልዲቭስ - ማላዊ - ሜክሲኮ - ማሌዢያ - ሞዛምቢክ - ናሚቢያ - ኒው ካሌዶኒያ - ኒጀር - ኖርፎልክ ደሴት - ናይጄሪያ - ኒካራጓ - ኔዘርላንድ - ኖርዌ - ኔፓል - ናኡሩ - ኒኡይ - ኒው ዚላንድ - ኦማን - ፓናማ - ፔሩ - የፈረንሳይ ፖሊኔዢያ - ፓፑዋ ኒው ጊኒ - ፊሊፒንስ - ፓኪስታን - ፖላንድ - ቅዱስ ፒዬር እና ሚኩኤሎን - ፒትካኢርን - ፖርታ ሪኮ - የፍልስጤም ግዛት - ፖርቱጋል - ፓላው - ፓራጓይ - ኳታር - ወጣ ያለ ኦሽኒያ - ሪዩኒየን - ሮሜኒያ - ራሺያ - ሩዋንዳ - ሳውድአረቢያ - ሰሎሞን ደሴት - ሲሼልስ - ሱዳን - ስዊድን - ሲንጋፖር - ሴንት ሄለና - ስሎቬኒያ - የስቫልባርድ እና ዣን ማየን ደሴቶች - ስሎቫኪያ - ሴራሊዮን - ሳን ማሪኖ - ሴኔጋል - ሱማሌ - ሱሪናም - ሳኦ ቶሜ እና ፕሪንሲፔ - ኤል ሳልቫዶር - ሲሪያ - ሱዋዚላንድ - የቱርኮችና የካኢኮስ ደሴቶች - ቻድ - የፈረንሳይ ደቡባዊ ግዛቶች - ቶጐ - ታይላንድ - ታጃኪስታን - ቶክላው - ምስራቅ ቲሞር - ቱርክሜኒስታን - ቱኒዚያ - ቶንጋ - ቱርክ - ትሪኒዳድ እና ቶባጎ - ቱቫሉ - ታይዋን - ታንዛኒያ - ዩክሬን - ዩጋንዳ - የአሜሪካ ራቅ ያሉ አናሳ ደሴቶች - አሜሪካ - ኡራጓይ - ዩዝበኪስታን - ቫቲካን - ቅዱስ ቪንሴንት እና ግሬናዲንስ - ቬንዙዌላ - የእንግሊዝ ድንግል ደሴቶች - የአሜሪካ ቨርጂን ደሴቶች - ቬትናም - ቫኑአቱ - ዋሊስ እና ፉቱና ደሴቶች - ሳሞአ - የመን - ሜይኦቴ - ደቡብ አፍሪካ - ዛምቢያ - ዚምቧቤ - - - የቀን መቁጠሪያ - የጽሑፎች ንፅፅር - ገንዘብ - - - የቻይና ባህላዊ ቅደም ተከተል (Big5) - የቡድሐ የቀን መቁጠሪያ - የቻይና የቀን መቁጠሪያ - ቀጥታ የቃላት ንፅፅር - የቀለል ያለ ቻይንኛ (GB2312) ቅደም ተከተል - የግሪጐሪ የቀን መቁጠሪያ - የእብራይስጥ የቀን መቁጠሪያ - የእስላም የቀን መቁጠሪያ - የእስላም ሕዝባዊ የቀን መቁጠሪያ - የጃፓን የቀን መቁጠሪያ - የስልክ ማውጫ ቅደም ተከተል - የፒንዪን ቅደም ተከተል - የጭረት/የመቀቢያ ቅደም ተከተል - ባህላዊ ቅደም ተከተል - - - ሜትሪክ - - - - [\u135F ሀ-ሆ ለ-ቆ ቈ ቊ-ቍ በ-ኆ ኈ ኊ-ኍ ነ-ኮ ኰ ኲ-ኵ ኸ-ኾ ወ-ዎ ዐ-ዖ ዘ-ዷ ጀ-ጎ ጐ ጒ-ጕ ጠ-ፚ] - [᎐-᎙ ሇ ⶀ ᎀ-ᎃ ⶁ-ⶄ ቇ ቐ-ቖ ቘ ቚ-ቝ ᎄ-ᎇ ⶅ-ⶇ ኇ ⶈ-ⶊ ኯ ዀ ዂ-ዅ ዏ ⶋ ⶌ ዸ-ዿ ⶍ ⶎ ጏ ጘ-ጟ ⶓ-ⶖ ⶏ-ⶑ ᎈ-ᎏ ⶒ ⶠ-ⶦ ⶨ-ⶮ ⶰ-ⶶ ⶸ-ⶾ ⷀ-ⷆ ⷈ-ⷎ ⷐ-ⷖ ⷘ-ⷞ] - - - « - » - ‹ - › - - - - - - - ዓ/ዓ - ዓ/ም - - - - - - - - መስከ - ጥቅም - ኅዳር - ታኅሣ - ጥር - የካቲ - መጋቢ - ሚያዝ - ግንቦ - ሰኔ - ሐምሌ - ነሐሴ - ጳጉሜ - - - መስከረም - ጥቅምት - ኅዳር - ታኅሣሥ - ጥር - የካቲት - መጋቢት - ሚያዝያ - ግንቦት - ሰኔ - ሐምሌ - ነሐሴ - ጳጉሜን - - - - - - - - - ጃንዩ - ፌብሩ - ማርች - ኤፕረ - ሜይ - ጁን - ጁላይ - ኦገስ - ሴፕቴ - ኦክተ - ኖቬም - ዲሴም - - - ጃንዩወሪ - ፌብሩወሪ - ማርች - ኤፕረል - ሜይ - ጁን - ጁላይ - ኦገስት - ሴፕቴምበር - ኦክተውበር - ኖቬምበር - ዲሴምበር - - - - - ጃ - ፌ - ማ - ኤ - ሜ - ጁ - ጁ - ኦ - ሴ - ኦ - ኖ - ዲ - - - - - - - እሑድ - ሰኞ - ማክሰ - ረቡዕ - ሐሙስ - ዓርብ - ቅዳሜ - - - እሑድ - ሰኞ - ማክሰኞ - ረቡዕ - ሐሙስ - ዓርብ - ቅዳሜ - - - - - እ - ሰ - ማ - ረ - ሐ - ዓ - ቅ - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - ጡዋት - ከሳዓት - - - ዓ/ዓ - ዓ/ም - - - - - - EEEE፣ dd MMMM ቀን y G - - - - - dd MMMM y - - - - - MMM d y - - - - - dd/MM/yy - - - - - - - hh:mm:ss a zzzz - - - - - hh:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - MMMM d - dd MMMM - dd/MM - MM/yy - Q yy - MMMM y - - - {0} - {1} - - M-M - - - E, MM-dd - E, MM-dd - E, MM-dd - E, MM-dd - - - MMM-MMM - - - E, MMM d - E, MMM d - E, MMM d - E, MMM d - - - MMM d - MMM d - MMM d-d - - - MM-dd - MM-dd - MM-dd - MM-dd - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - yyyy-MM - yyyy-MM - yyyy-MM - yyyy-MM - - - E, yyyy-MM-dd - E, yyyy-MM-dd - E, yyyy-MM-dd - E, yyyy-MM-dd - E, yyyy-MM-dd - E, yyyy-MM-dd - - - y MMM-MMM - y MMM - y MMM - - - E, y MMM dd - E, y MMM dd - E, y MMM dd - E, y MMM dd - E, y MMM dd - E, y MMM dd - - - y MMM d - MMM d - y MMM d-d - y MMM d - y MMM d - - - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - - - - - - ዘመን - - - ዓመት - - - ወር - - - ሳምንት - - - ቀን - - - ሰዓት - - - ደቂቃ - - - - - - - - ሙሀረም - ሳፈር - ረቢዑል አወል - ረቢዑል አኺር - ጀማደል አወል - ጀማደል አኺር - ረጀብ - ሻእባን - ረመዳን - ሸዋል - ዙልቂዳህ - ዙልሂጃህ - - - - - - - +HHmm;-HHmm - GMT{0} - {0} - - ሮተራ - - - ፓልመር - - - South_Pole - - - ስዮዋ - - - ማውሰን - - - ዴቪስ - - - ቮስቱክ - - - ቼሲ - - - ዱሞንትዱርቪል - - - ማክሙርዶ - - - Rio_Gallegos - - - ሜንዶዛ - - - San_Juan - - - La_Rioja - - - ካታማርካ - - - ጁጁይ - - - ኮርዶባ - - - ቡኤኖስ-ኤይሪስ - - - ፕርዝ - - - ዳርዊን - - - አዴላኢደ - - - ብሮከን ሂል - - - ሜልቦኡመ - - - ሆባርት - - - ሊንደማን - - - ሲድኒ - - - ቢሪስባን - - - ሎርድ ሆዌ - - - ኢሩኔፕ - - - ሪኦ ብራንኮ - - - ፖርቶ ቨልሆ - - - ቦአ ቪስታ - - - ማናኡስ - - - ኩባ - - - Campo_Grande - - - በለም - - - አራጉአኢና - - - ሳኦ ፓውሎ - - - America/Bahia - - - ፎርታለዛ - - - ማቺዎ - - - ሪሲፋይ - - - ኖሮሃ - - - ዳውሰን - - - ሁዋይትሆርስ - - - ኢኑቪክ - - - ቫንኩቨር - - - ዳውሰን ክሪክ - - - የሎውናይፍ - - - ኤድመንተን - - - ስዊፍት ከረንት - - - ካምብሪጅ ቤይ - - - ሬጂና - - - ዊኒፔግ - - - ሬኒ ሪቨር - - - ራንኪን ኢንሌት - - - ተንደር ቤይ - - - ኒፒጎን - - - ቶሮንቶ - - - ሞንትሪያል - - - ኢካሊኡት - - - ፓንግኒርቱንግ - - - ሀሊፋክስ - - - ጉዝ ቤይ - - - ግሌስ ቤይ - - - ሴንት ጆንስ - - - ኪንሻሳ - - - ሉቡምባሺ - - - ኢስተር - - - ሳንቲያጎ - - - ካሽጋር - - - ኡሩምኪ - - - ቾንግኪንግ - - - ሻንጋይ - - - ባርቢን - - - ጋላፓጎስ - - - ጓያኪል - - - ካናሪ - - - ኬውታ - - - ማርድሪድ - - - ትሩክ - - - ፖኔፕ - - - ኮስራይ - - - ሎንዶን - - - ቱለ - - - ጐድታኽብ - - - ስኮረስቢሱንድ - - - ዴንማርክ - - - ጃካርታ - - - ፖንቲአንካ - - - ማካሳር - - - ጃያፑራ - - - እንደርቡርይ - - - ኪሪቲማቲ - - - ታራዋ - - - አክታው - - - ኦራል - - - አክቶቤ - - - ኪዝያሎርዳ - - - አልማቲ - - - ክዋጃላይን - - - ማጁሮ - - - ባማኮ - - - ሆቭድ - - - ኡላንባታር - - - ቾይባልሳን - - - ቲጁአና - - - ሄርሞሲሎ - - - ማዛቲአን - - - ቺኽዋኽዋ - - - ሞንተሪ - - - ሜክሲኮ ሲቲ - - - ሜሪዳ - - - ካንኩን - - - ኳላልምፑር - - - ኩቺንግ - - - ቻትሃም - - - ኦክላንድ - - - ታሂቲ - - - ማሩኩሳስ - - - ጋምባየር - - - አዞረስ - - - ማዴኢራ - - - ሊስቦን - - - ካሊኒንጋርድ - - - ማስኮ - - - ሳማራ - - - የካተሪንበርግ - - - ኦምስክ - - - ኖቮሲቢርስክ - - - ክራስኖያሽክ - - - ኢርኩትስክ - - - ያኩትስክ - - - ቭላዲቮስቱክ - - - ሳክሃሊን - - - ማጋዳን - - - ካምቻትካ - - - አናዲር - - - ኡዝጎሩድ - - - ካይቭ - - - ሲምፈሮፖል - - - ዛፖሮዝሂይ - - - ሚድዌ - - - ጆንስቶን - - - ዌክ - - - አዳክ - - - ኖሜ - - - ሆኖሉሉ - - - አንኮራጅ - - - ያኩታት - - - ጁነአኡ - - - ሎስ አንጀለስ - - - ቦይስ - - - ፎኔክስ - - - ዴንቨር - - - መካከል - - - ቺካጐ - - - መኖሚኔ - - - ክኖክስ - - - ማሬንጎ - - - ኢንዲያናፖሊስ - - - ሉዊስቪለ - - - ቬቫይ - - - ሞንቲሴሎ - - - ዲትሮይት - - - ኒውዮርክ - - - ሳማርካንድ - - - ታሽኬንት - - - - - - . - , - - - - - #,##0.00 ¤ - - - - - - የብራዚል ሪል - - - የቻይና ዩአን ረንሚንቢ - - - የኢትዮጵያ ብር - ብር - - - ዩሮ - - - የእንግሊዝ ፓውንድ ስተርሊንግ - - - የሕንድ ሩፒ - - - የጃፓን የን - - - የራሻ ሩብል - - - የአሜሪካን ዶላር - - - - - - አዎን:y - አይ:n - - - diff --git a/lib/zend/Zend/Locale/Data/am_ET.xml b/lib/zend/Zend/Locale/Data/am_ET.xml deleted file mode 100644 index c14a190cf3..0000000000 --- a/lib/zend/Zend/Locale/Data/am_ET.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ar.xml b/lib/zend/Zend/Locale/Data/ar.xml deleted file mode 100644 index 66afe27d55..0000000000 --- a/lib/zend/Zend/Locale/Data/ar.xml +++ /dev/null @@ -1,3118 +0,0 @@ - - - - - - - - - - - {0} ({1}) - ، - - - الأفارية - الأبخازية - الأتشينيزية - الأكولية - الأدانجمية - الأديجه - الأفستية - الأفريقية - لغة أفرو آسيوية - الأفريهيلية - الآينوية - الأكانية - الأكادية - الأليوتية - اللغات الأمريكية الهندية - الألطائية الجنوبية - الأمهرية - الأراجونية - الانجليزية القديمة - الأنجيكا - اللغات الأباتشية - العربية - الآرامية - الأروكانية - الأراباهو - الصناعية - أخرى - الأراواكية - الأسامية - الأسترية - اللغات الأزباسكانية - اللغات الأسترالية - الأفاريكية - الأوادية - الأيمارا - الأذرية - الباشكيرية - الباندا - اللغات الباميليكية - البلوشية - اللغة البالية - الباسا - البلطيقية - أخرى - البيلوروسية - البيجا - البيمبا - البربرية - البلغارية - البيهارية - البهوجبرية - البيسلامية - البيكولية - البينية - السيكسيكية - البامبارا - البنغالية - البانتو - التبتية - البريتونية - البراجية - البوسنية - الباتاكية - البرياتية - البجينيزية - البلينية - الكاتالوينية - الكادو - الهندية الأمريكية الوسطى - أخرى - الكاريبية - القوقازية - أخرى - الأتسام - الشيشانية - السيبيونو - السلتية - أخرى - التشامورو - التشيبشا - التشاجاتاى - التشكيزية - الماري - الشينوك جارجون - الشوكتو - الشيباوايان - الشيروكى - الشايان - اللغات التشاميكية - الكورسيكية - قبطية - الكرييولى و اللغات المبسطة الأخرى للتفاهم بين الشعوب على أساس الأنجليزية - الكرييولى و اللغات المبسطة الأخرى للتفاهم بين الشعوب على أساس الفرنسية - الكرييولى و اللغات المبسطة الأخرى للتفاهم بين الشعوب على أساس البرتغالية - الكرى - تركى كريمين، لغة توركية كريمينية - الكرييولى و اللغات المبسطة الأخرى للتفاهم بين الشعوب - أخرى - التشيكية - الكاشبايان - سلافية كنسية - الكشيتيك - أخرى - التشفاش - الولزية - الدانماركية - الداكوتا - الدارجوا - الدياك - الألمانية - الألمانية النمساوية - الألمانية العليا السويسرية - الديلوير - السلافية - الدوجريب - الدنكا - الدوجرى - الدرافيدين - أخرى - الصربية السفلى - الديولا - الهولندية الوسطى - المالديفية - الدايلا - الزونخاية - الايوي - الافيك - المصرية القديمة - الاكاجك - اليونانية - الامايت - الانجليزية - الانجليزية الأسترالية - الإنجليزية الكندية - الانجليزية البريطانية - إنجليزية الولايات المتحدة - الانجليزية الوسطى - اسبرانتو - الأسبانية - أسبانية أمريكا اللاتينية - الأسبانية الأيبيرية - الأستونية - لغة الباسك - الايوندو - الفارسية - الفانج - الفانتى - الفلة - الفنلندية - الفلبينية - فينو أجرايان - أخرى - الفيجية - الفارويز - الفون - الفرنسية - الفرنسية الكندية - الفرنسية السويسرية - الفرنسية الوسطى - الفرنسية القديمة - الفريزينية الشمالية - الفريزينية الشرقية - الفريلايان - الفريزيان - الأيرلندية - الجا - الجايو - الجبيا - الغيلية الأسكتلندية - لغة جرمانية - الجيز - لغة أهل جبل طارق - الجاليكية - الألمانية العليا الوسطى - الجوارانى - الألمانية العليا القديمة - الجندى - الجورونتالو - القوطية - الجريبو - اليونانية القديمة - الألمانية السويسرية - الغوجاراتية - المنكية - الهوسا - الهيدا - لغة أهل الهاواى - العبرية - الهندية - الهيليجينون - الهيماتشالى - الحثية - الهمونجية - الهيرى موتو - الكرواتية - الصربية العليا - الهايتية - الهنغارية - الهبا - الأرمينية - الهيريرو - اللّغة الوسيطة - الايبان - الأندونيسية - الانترلينج - الايجبو - السيتشيون يى - الايجو - الاينبياك - الايلوكو - الهندية - أخرى - الهندية الأوروبية - أخرى - الانجوشية - الايدو - الايرانية - اللغات الايروكويانية - الأيسلاندية - الايطالية - الاينكتيتت - اليابانية - اللوجبان - الجيدو الفارسى - الجيدو العربى - الجاوية - الجورجية - الكارا-كالباك - القبيلية - الكاتشين - الجو - الكامبا - الكاريين - الكوي - الكاباردايان - الكورو - الكونغو - الكازية - الخويسان - أخرى - الخوتانيز - الكيكيو - الكيونياما - الكازاخستانية - الكالاليست - الخميرية - الكيمبندو - الكانادا - الكورية - الكونكانية - الكوسراين - الكبيل - الكانيوري - الكاراتشاي-بالكار - الكريلية - الكرو - الكاشميرية - الكردية - الكميك - الكتيناي - الكومي - الكورنية - القيرغستانية - اللاتينية - الاسباعبرية - اللاهندا - اللامبا - اللوكسمبرجية - الليزجهايانية - الجاندا - الليمبرجيشية - اللينجالا - اللاوية - منغولى - اللوزى - اللتوانية - اللبا-كاتانجا - اللبا-لؤلؤ - اللوسينو - اللوندا - اللو - اللشاي - اللاتفية - المادريز - الماجا - المايثيلي - الماكاسار - الماندينغ - الأوسترونيسيان - الماساي - الموكشا - الماندار - الميند - المالاجاشية - الأيرلندية الوسطى - المارشالية - الماورية - الميكماكيونية - المينانجكاباو - اللغات المتنوعة - المقدونية - المون خمير- أخرى - الماليالام - المنغولية - المانشو - المانيبرى - لغات مانوبو - المولدوفية - الموهوك - الموسي - الماراثى - لغة الملايو - المالطية - اللغات المتعددة - لغات المندا - الكريك - الميرانديز - الماروارى - البورمية - لغات المايا - اللغة الارزية - النورو - الناهيوتل - الهندية الأمريكية الشمالية - أخرى - اللغة النابولية - البوكمالية النرويجية - النديبيل الشمالى - الألمانية السفلى - النيبالية - النيواري - الندونجا - النياس - النيجر - كوردوفانايان - النيوي - الهولندية - النينورسك النرويجي - النرويجية - النوجاى - النورس القديم - انكو - النديبيل الجنوبى - السوتو الشمالية - اللغات النوبية - النافاجو - النوارية التقليدية - النيانجا، التشيتشوا، التشوا - النيامويزى - النيانكول - النيورو - النزيما - الأوكيتانية - الأوجيبوا - الأورومو - الأورييا - الأوسيتيك - الأوساج - التركية العثمانية - اللغات الأوتومية - البنجابية - الغينية - أخرى - البانجاسينان - البهلوية - البامبانجا - البابيامينتو - البالوان - الفارسية القديمة - الفليبينية - أخرى - الفينيقية - البالية - البولندية - البوهنبيايان - اللغات البراقريطية - البروفانسية القديمة - البشتونية - البرتغالية - البرتغالية البرازيلية - البرتغالية الأيبيرية - الكويتشوا - الراجاسثانية - الرابانى - الراروتونجانى - الرهايتو-رومانس - الرندى - الرومانية - الرومانسية - أخرى - rom - الجذر - الروسية - الأرومانيان - الكينيارواندا - السنسكريتية - السانداوى - الياكت - الهندية الأمريكية الجنوبية - أخرى - لغات ساليشان - الآرامية السومارية - الساساك - السانتالى - السردينية - الصقلية - الأسكتلندية - السيندى - السامي الشمالى - السيلكب - السامية - أخرى - السانجو - الأيرلندية القديمة - لغات الإشارة - الشانية - السريلانكية - السيدامو - لغات السيويون - الصينية التيبتية - أخرى - السلوفاكية - السلوفانية - السلافية - أخرى - الساموائية - السامي الجنوبى - اللغات السامية - أخرى - اللول سامى - الاينارى سامى - السكولت سامى - الشونا - السونينك - الصومالية - السوجدين - السونجهاى - الألبانية - الصربية - السرانان تونجو - السرر - السواتى - النيلية الصحراوية - أخرى - السوتو الجنوبية - السودانية - السوكوما - السوسو - السومارية - السويدية - السواحلية - سريانية تقليدية - السريانية - التاميلية - تاى - أخرى - التيلجو - التيمن - التيرينو - التيتم - الطاجيكية - التايلاندية - التيجرينيا - التيجر - التيف - التركمانية - التوكيلاو - التاغالوغية - الكلينجون - التلينغيتية - التاماشيك - التسوانية - تونجا - جزر تونجا - تونجا - نياسا - التوك بيسين - التركية - السونجا - التسيمشيان - التتارية - التامبوكا - اللغات التوبية - الألطائية - أخرى - التوفالو - التوي - التاهيتية - الأدمرت - الأغورية - اليجاريتيك - الأوكرانية - الأمبندو - غير محدده - الأردية - الاوزباكية - الفاى - الفيندا - الفيتنامية - الفوتيك - الولونية - لغات الواكاشان - الوالامو - الواراى - الواشو - اللغات الصربية - الولوف - الكالميك - الياو - اليابيز - اليديشية - اليوروبية - اللغات اليوبيكية - الزهيونج - الزابوتيك - الزيناجا - الصينية - الصينية المبسطة - الصينية التقليدية - الزاند - الزولو - الزونية - بدون محتوى لغوي - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - العالم - افريقيا - أمريكا الشمالية - أمريكا الجنوبية - أوقيانوسيا - غرب افريقيا - أمريكا الوسطى - شرق افريقيا - شمال افريقيا - وسط افريقيا - جنوب افريقيا - الأمريكتين - شمال أمريكا - الكاريبي - شرق آسيا - جنوب آسيا - جنوب شرق آسيا - جنوب أوروبا - أستراليا ونيوزيلندا - ميلانيزيا - الجزر الميكرونيزية - بولينيزيا - جنوب وسط آسيا - آسيا - وسط آسيا - غرب آسيا - أوروبا - شرق أوروبا - شمال أوروبا - غرب أوروبا - كومنولث الدول المستقلة - أمريكا اللاتينية و الكاريبي - أندورا - الامارات العربية المتحدة - أفغانستان - أنتيجوا وبربودا - أنجويلا - ألبانيا - أرمينيا - جزر الأنتيل الهولندية - أنجولا - القطب الجنوبي - الأرجنتين - ساموا الأمريكية - النمسا - أستراليا - آروبا - جزر أولان - أذربيجان - البوسنة والهرسك - بربادوس - بنجلاديش - بلجيكا - بوركينا فاسو - بلغاريا - البحرين - بوروندي - بنين - برمودا - بروناي - بوليفيا - البرازيل - الباهاما - بوتان - جزيرة بوفيه - بتسوانا - روسيا البيضاء - بليز - كندا - جزر كوكوس - جمهورية الكونغو الديمقراطية - جمهورية افريقيا الوسطى - الكونغو - برازافيل - سويسرا - ساحل العاج - جزر كوك - شيلي - الكاميرون - الصين - كولومبيا - كوستاريكا - صربيا والجبل الأسود - كوبا - الرأس الأخضر - جزيرة الكريسماس - قبرص - جمهورية التشيك - ألمانيا - جيبوتي - الدانمرك - دومينيكا - جمهورية الدومينيك - الجزائر - الاكوادور - استونيا - مصر - الصحراء الغربية - اريتريا - أسبانيا - اثيوبيا - فنلندا - فيجي - جزر فوكلاند - ميكرونيزيا - جزر فارو - فرنسا - الجابون - المملكة المتحدة - جرينادا - جورجيا - غويانا - غانا - جبل طارق - جرينلاند - غامبيا - غينيا - جوادلوب - غينيا الاستوائية - اليونان - جورجيا الجنوبية وجزر ساندويتش الجنوبية - جواتيمالا - جوام - غينيا بيساو - غيانا - هونج كونج الصينية - جزيرة هيرد وماكدونالد - هندوراس - كرواتيا - هايتي - المجر - اندونيسيا - أيرلندا - اسرائيل - جزيرة مان - الهند - المحيط الهندي البريطاني - العراق - ايران - أيسلندا - ايطاليا - جيرسي - جامايكا - الأردن - اليابان - كينيا - قرغيزستان - كمبوديا - كيريباتي - جزر القمر - سانت كيتس ونيفيس - كوريا الشمالية - كوريا الجنوبية - الكويت - جزر الكايمن - كازاخستان - لاوس - لبنان - سانت لوسيا - ليختنشتاين - سريلانكا - ليبيريا - ليسوتو - ليتوانيا - لوكسمبورج - لاتفيا - ليبيا - المغرب - موناكو - مولدافيا - الجبل الأسود - سانت مارتين - مدغشقر - جزر المارشال - مقدونيا - مالي - ميانمار - منغوليا - ماكاو الصينية - جزر ماريانا الشمالية - مارتينيك - موريتانيا - مونتسرات - مالطا - موريشيوس - جزر الملديف - ملاوي - المكسيك - ماليزيا - موزمبيق - ناميبيا - كاليدونيا الجديدة - النيجر - جزيرة نورفوك - نيجيريا - نيكاراجوا - هولندا - النرويج - نيبال - نورو - نيوي - نيوزيلاندا - عمان - بنما - بيرو - بولينيزيا الفرنسية - بابوا غينيا الجديدة - الفيلبين - باكستان - بولندا - سانت بيير وميكولون - بتكايرن - بورتوريكو - فلسطين - البرتغال - بالاو - باراجواي - قطر - أوقيانوسيا النائية - الاتحاد الاوروبي - روينيون - رومانيا - صربيا - روسيا - رواندا - المملكة العربية السعودية - جزر سليمان - سيشل - السودان - السويد - سنغافورة - سانت هيلنا - سلوفينيا - سفالبارد وجان مايان - سلوفاكيا - سيراليون - سان مارينو - السنغال - الصومال - سورينام - ساو تومي وبرينسيبي - السلفادور - سوريا - سوازيلاند - جزر الترك وجايكوس - تشاد - المقاطعات الجنوبية الفرنسية - توجو - تايلند - طاجكستان - توكيلو - تيمور الشرقية - تركمانستان - تونس - تونجا - تركيا - ترينيداد وتوباغو - توفالو - تايوان - تانزانيا - أوكرانيا - أوغندا - جزر الولايات المتحدة البعيدة الصغيرة - الولايات المتحدة الأمريكية - أورجواي - أوزبكستان - الفاتيكان - سانت فنسنت وغرنادين - فنزويلا - جزر فرجين البريطانية - جزر فرجين الأمريكية - فيتنام - فانواتو - جزر والس وفوتونا - ساموا - اليمن - مايوت - جمهورية جنوب افريقيا - زامبيا - زيمبابوي - منطقة غير معرفة - - - التهجئة الألمانية التقليدية - التهجئة الألمانية لعام 1996 - أرمنية شرقية - أرمنية غربية - الأبجدية التركية اللاتينية الموحدة - أحادي النغمة - لهجة ناتيسون - متعدد النغمات - حاسب آلي - تهجئة تم مراجعتها - بلنسية - - - التقويم - الترتيب - العملات - - - الترتيب الصيني التقليدي - Big5 - التقويم البوذي - التقويم الصيني - ترتيب مباشر - الترتيب الصيني المبسط - GB2312 - التقويم الميلادي - التقويم العبري - التقويم الهجري - تقويم اسلامي مدني - التقويم الياباني - ترتيب دليل الهاتف - ترتيب تقليدي - - - النظام الأمريكي - النظام المتري - - - اللغة: {0} - نظام الكتابة: {0} - المنطقة: {0} - - - - - - - [\u064B-\u0652 ء-غ ف-ي] - [\u0640 \u200C-\u200F] - [a-z] - - - “ - ” - ‘ - ’ - - - - - - - التقويم البوذي - - - - - - - - توت - بابه - هاتور - كيهك - طوبة - أمشير - برمهات - برمودة - بشنس - بؤونة - أبيب - مسرى - نسيئ - - - توت - بابه - هاتور - كيهك - طوبة - أمشير - برمهات - برمودة - بشنس - بؤونة - أبيب - مسرى - نسيئ - - - - - - - - - مسكريم - تكمت - هدار - تهساس - تر - يكتت - مجابيت - ميازيا - جنبت - سين - هامل - نهاس - باجمن - - - مسكريم - تكمت - هدار - تهساس - تر - يكتت - مجابيت - ميازيا - جنبت - سين - هامل - نهاس - باجمن - - - - - - - - - يناير - فبراير - مارس - أبريل - مايو - يونيو - يوليو - أغسطس - سبتمبر - أكتوبر - نوفمبر - ديسمبر - - - يناير - فبراير - مارس - أبريل - مايو - يونيو - يوليو - أغسطس - سبتمبر - أكتوبر - نوفمبر - ديسمبر - - - - - ي - ف - م - أ - و - ن - ل - غ - س - ك - ب - د - - - - - - - أحد - إثنين - ثلاثاء - أربعاء - خميس - جمعة - سبت - - - الأحد - الإثنين - الثلاثاء - الأربعاء - الخميس - الجمعة - السبت - - - - - ح - ن - ث - ر - خ - ج - س - - - - - - - الربع الأول - الربع الثاني - الربع الثالث - الربع الرابع - - - الربع الأول - الربع الثاني - الربع الثالث - الربع الرابع - - - - - ١ - ٢ - ٣ - ٤ - - - - ص - م - - - قبل الميلاد - ميلادي - - - ق.م - م - - - - - - EEEE، d MMMM، y - - - - - d MMMM، y - - - - - dd‏/MM‏/yyyy - - - - - d‏/M‏/yyyy - - - - - - - zzzz h:mm:ss a - - - - - z h:mm:ss a - - - - - h:mm:ss a - - - - - h:mm a - - - - - - H:mm - L - E، d-M - LLL - E d MMM - E d MMMM - d MMMM - d MMM - dd‏/MM - d/‏M - d - mm:ss - y - M‏/yyyy - EEE، d/‏M/‏yyyy - MMM y - EEE، d MMMM y - MMMM y - yyyy Q - y QQQ - Q yy - MM‏/yyyy - MMMM، y - - - {0} – {1} - - M-M - - - E، d/‏M - E، d/‏M - E، d/‏M -‏ E، d/‏M - - - MMM-MMM - - - E، d MMM - E، d MMM - E، d - E، d MMM - - - LLLL-LLLL - - - d MMM - d MMM - d-d MMM - - - d‏/M - d‏/M - d‏/M - d‏/M - - - d-d - - - h a - h a - h–h a - - - h:mm a - h:mm a - h:mm–h:mm a - h:mm–h:mm a - - - v h:mm a - h:mm a - v h:mm–h:mm a - v h:mm–h:mm a - - - v h a - h a - v h–h a - - - y-y - - - M‏/yyyy - M‏/yyyy - M‏/yyyy - M‏/yyyy - - - E، d‏/M‏/yyyy - E، d‏/M‏/yyyy - E، dd‏/MM‏/yyyy - E، dd‏/MM‏/yyyy - E، d‏/M‏/yyyy - E، d‏/M‏/yyyy - - - MMM - MMM، y - MMM، y - MMM، y - - - E، d MMM - E، d MMM، y - E، d - ِE، d MMM، yyyy - E، d MMM، y - E، d MMM، y - - - MM ‏– MM‏-yyyy‏ - MM -‏ MM–‏yyyy - - - d MMM - d MMM، yyyy - d-d MMM، y - d MMM، y - d MMM، y - - - d‏/M‏/yyyy - d‏/M‏/yyyy - d‏/M‏/yyyy - d‏/M‏/yyyy - d‏/M‏/yyyy - d‏/M‏/yyyy - - - - - - العصر - - - السنة - - - الشهر - - - الأسبوع - - - يوم - أمس - اليوم - غدًا - بعد الغد - - - اليوم - - - ص/م - - - الساعات - - - الدقائق - - - الثواني - - - التوقيت - - - - - - - - تشري - مرحشوان - كيسلو - طيفت - شباط - آذار الأول - آذار الثاني - نيسان - أيار - سيفان - تموز - آب - أيلول - - - تشري - مرحشوان - كيسلو - طيفت - شباط - آذار الأول - آذار الثاني - نيسان - أيار - سيفان - تموز - آب - - - - - - - - - محرم - صفر - ربيع الأول - ربيع الآخر - جمادى الأولى - جمادى الآخرة - رجب - شعبان - رمضان - شوال - ذو القعدة - ذو الحجة - - - - - م - ص - ر - ر - ج - ج - ر - ش - ر - ش - ذ - ذ - - - - ص - م - - - هـ - - - - - d‏/M - M‏/yyyy - - - - - - - تيكا - هاكتشي - هاكهو - شتشو - تيهو - كيين - وادو - رييكي - يورو - جينكي - تمبيو - تمبيو-كامبو - تمبيو-شوهو - تمبيو-هوجي - تمفو-جينجو - جينجو-كيين - هوكي - تن-أو - إنرياكو - ديدو - كونين - تنتشو - شووا - كاجو - نينجو - سيكو - تنان - جوجان - جينكيي - نينا - كامبيو - شوتاي - انجي - انتشو - شوهيي - تنجيو - تنرياكو - تنتوكو - أووا - كوهو - آنا - تينروكو - تن-ان - جوجن - تنجن - إيكان - كانا - اي-ان - ايسو - شورياكو - تشوتوكو - تشوهو - كانكو - تشووا - كانين - جاين - مانجو - تشوجين - تشورياكو - تشوكيو - كانتوكو - ايشو - تينجي - كوهيي - جيرياكو - انكيو - شوهو - شورياكو - ايهو - أوتوكو - كانجي - كاهو - ايتشو - شوتوكو - كووا - تشوجي - كاشو - تنين - تن-اي - ايكيو - جن-اي - هوان - تنجي - ديجي - تنشو - تشوشو - هوين - ايجي - كوجي - تنيو - كيوان - نينبيي - كيوجو - هجين - هيجي - ايرياكو - أوهو - تشوكان - ايمان - نين-ان - كاو - شون - أنجين - جيشو - يووا - جيي - جنريوكو - بنجي - كنكيو - شوجي - كنين - جنكيو - كن-اي - شوجن - كنرياكو - كنبو - شوكيو - جو - جيننين - كروكو - أنتيي - كنكي - جويي - تمبكو - بنرياكو - كاتيي - رياكنين - ان-أو - نينجي - كنجين - هوجي - كنتشو - كوجن - شوكا - شوجن - بن-أو - كوتشو - بن-اي - كنجي - كوان - شوو - اينين - شوان - كنجن - كجن - توكجي - انكي - أوتشو - شووا - بنبو - جنو - جنكيو - شوتشو - كريكي - جنتكو - جنكو - كمو - إنجن - كوككو - شوهي - كنتكو - بنتشو - تنجو - كورياكو - كووا - جنتشو - مييتكو - كاكي - كو - مييتكو - أويي - شوتشو - ايكيو - ككيتسو - بن-أن - هوتكو - كيوتكو - كوشو - تشوركو - كنشو - بنشو - أونين - بنمي - تشوكيو - انتكو - ميو - بنكي - ايشو - تييي - كيوركو - تنمن - كوجي - ايركو - جنكي - تنشو - بنركو - كيتشو - جنوا - كان-اي - شوهو - كيان - شوو - ميرياكو - منجي - كنبن - انبو - تنوا - جوكيو - جنركو - هويي - شوتكو - كيوهو - جنبن - كنبو - انكيو - كان-ان - هورياكو - مييوا - ان-اي - تنمي - كنسي - كيووا - بنكا - بنسي - تنبو - كوكا - كاي - أنسي - من-ان - بنكيو - جنجي - كيو - ميجي - تيشو - شووا - هيسي - - - - - - - - فرفردن - أذربيهشت - خرداد - تار - مرداد - شهرفار - مهر - آيان - آذر - دي - بهمن - اسفندار - - - فرفردن - أذربيهشت - خرداد - تار - مرداد - شهرفار - مهر - آيان - آذر - دي - بهمن - اسفندار - - - - - - ه‍.ش - - - - - - +HH:mm;-HH:mm - {0} - - غير معروف - - - روثيرا - - - بالمير - - - القطب الجنوبي - - - سايووا - - - ماوسون - - - دافيز - - - فوستوك - - - كاساي - - - دي مونت دو روفيل - - - ماك موردو - - - ريو جالييوس - - - ميندوزا - - - سان خوان - - - أشوا - - - لا ريوجا - - - سان لويس - - - كاتاماركا - - - جوجو - - - تاكمان - - - كوردوبا - - - بوينوس أيرس - - - برثا - - - دارون - - - استراليا(توقيت أدليادا - - - بروكن هيل - - - ميلبورن - - - هوبارت - - - ليندمان - - - سيدني - - - برسيبان - - - لورد هاو - - - ايرونبي - - - ريوبرانكو - - - بورتو فيلو - - - باو فيستا - - - ماناوس - - - كيابا - - - كومبو جراند - - - بلم - - - أروجوانيا - - - ساو باولو - - - باهيا - - - فورتاليزا - - - ماشيو - - - ريسيف - - - نوروناه - - - داوسان - - - وايت هورس - - - اينوفيك - - - فانكوفر - - - داوسن كريك - - - يلونيف - - - ايدمونتون - - - سوفت كارنت - - - كامبرديج باي - - - ريجينا - - - وينيبيج - - - راني ريفر - - - رانكن انلت - - - كورال هاربر - - - ثندر باي - - - نيبيجون - - - تورونتو - - - مونتريال - - - اكويلت - - - بانجينتينج - - - وينكتون - - - هاليفاكس - - - جوس باي - - - جلاس باي - - - سانت جونس - - - كينشاسا - - - لومبباشا - - - استر - - - سانتيجو - - - كاشجار - - - أرومكي - - - تشونجكينج - - - العالمية - - - هاربين - - - جلاباجوس - - - جواياكيل - - - كناري - - - سيتا - - - مدريد - - - ترك - - - باناب - - - كوسرا - - - لندن - - - جيرونسى - - - ثيل - - - جودثاب - - - سكورسبيسند - - - دانمرك شافن - - - جاكرتا - - - بونتيانك - - - ماكسار - - - جايابيورا - - - إيطاليا - - - جيرسى - - - اندربيرج - - - كيريتي ماتي - - - تاراوا - - - أكتاو - - - أورال - - - أكتوب - - - كيزيلوردا - - - ألماتي - - - الجبل الأسود - - - كواجالين - - - ماجورو - - - باماكو - - - هوفد - - - آلانباتار - - - تشوبالسان - - - تيخوانا - - - هيرموسيلو - - - مازاتلان - - - تشيواوا - - - مونتيري - - - مدينة المكسيك - - - ميريدا - - - كانكن - - - كوالالمبور - - - كيشينج - - - تشاثام - - - أوكلاند - - - تاهيتي - - - ماركيساس - - - جامبير - - - أزورس - - - ماديرا - - - ليسبون - - - صربيا - - - كالينجراد - - - موسكو - - - فولوجراد - - - سمراء - - - يكاترنبيرج - - - أومسك - - - نوفوسبيرسك - - - كراسنويارسك - - - ايركيتسك - - - ياكتسك - - - فلاديفوستك - - - سكالين - - - مجادن - - - كامتشاتكا - - - أندير - - - لونجيربن - - - أوزجرود - - - كييف - - - سيمفروبول - - - زابوروزي - - - ميدواي - - - جونستون - - - واك - - - أداك - - - نوم - - - هونولولو - - - أنشوراج - - - ياكوتات - - - جوني - - - لوس انجلوس - - - بويس - - - فينكس - - - شيبروك - - - دنفر - - - نيو ساليم - - - سنتر - - - شيكاغو - - - مينوميني - - - فينسينس - - - بيترسبرغ - - - كونكس - - - ويناماك - - - مارنجو - - - إنديانابوليس - - - لويس فيل - - - فيفاي - - - مونتيسيلو - - - ديترويت - - - نيويورك - - - سمرقند - - - طشقند - - - - - arab - - ٫ - ٬ - ؛ - ٪ - ٠ - # - + - - - اس - ؉ - ∞ - ليس رقم - - - - - #,##0.###;#,##0.###- - - - - - - - ¤ #,##0.00;¤ #,##0.00- - - - {0} {1} - {0} {1} - {0} {1} - {0} {1} - {0} {1} - {0} {1} - - - - بيستا أندوري - - - درهم اماراتى - د.إ.‏ - - - أفغاني - 1927-2002 - - - أفغاني - - - ليك ألباني - - - درام أرمينى - - - جلدر هولندى [ANG] - - - كوانزا أنجولي - - - كوانزا أنجولى - 1977-1990 - - - كوانزا أنجولى جديدة - 1990-2000 - - - كوانزا أنجولى معدلة - 1995 - 1999 - - - استرال أرجنتيني - - - بيزو أرجنتينى - 1983-1985 - - - بيزو أرجنتينى - - - شلن نمساوى - - - دولار أسترالى - - - جلدر أروبى - - - مانات أذريبجانى - - - دينار البوسنة و الهرسك - - - مارك البوسنة و الهرسك قابل للتحويل - - - دولار بربادوسى - - - تاكا بنجلاديشى - - - فرنك بلجيكي (قابل للتحويل) - - - فرنك بلجيكى - - - فرنك بلجيكي (مالي) - - - ليف بلغارى - - - ليف بلغارى جديد - - - دينار بحرينى - د.ب.‏ - - - فرنك بروندى - - - دولار برمودى - - - دولار بروناى - - - بوليفاريو - - - بيزو بوليفى - - - مفدول بوليفى - - - نوفو كروزايرو برازيلى - 1967-1986 - - - كروزادو برازيلى - - - كروزايرو برازيلى - 1990-1993 - - - ريال برازيلي - ر.ب.‏ - - - دولار باهامى - - - نولتوم بوتانى - - - كيات بورمى - - - بولا بتسوانى - - - روبل بيلاروسى جديد - 1994-1999 - - - روبل بيلاروسى - - - دولار بليزى - - - دولار كندى - - - فنك كونغولى - - - فرنك سويسرى - - - بيزو شيلى - - - يوان صيني - ى.ص - - - بيزو كولومبى - - - كولن كوستا ريكى - - - دينار صربى - - - كرونة تشيكوسلوفاكيا - - - بيزو كوبى - - - اسكودو الرأس الخضراء - - - جنيه قبرصى - - - كرونة تشيكية - - - أوستمارك المانى شرقى - - - مارك المانى - - - فرنك جيبوتى - - - كرونة دانماركى - - - بيزو الدومنيكان - - - دينار جزائري - د.ج.‏ - - - كرونة استونية - - - جنيه مصرى - ج.م.‏ - - - ناكفا أريترى - - - بيزيتا اسباني - - - بير أثيوبى - - - يورو - - - ماركا فنلندى - - - دولار فيجى - - - جنيه جزر فوكلاند - - - فرنك فرنسى - - - جنيه سترليني - - - لارى جورجى - - - سيدى غانى - - - جنيه جبل طارق - - - دلاسي جامبي - - - فرنك غينيا - - - سيلى غينيا - - - اكويل جونينا غينيا الاستوائيّة - - - دراخما يونانى - - - كوتزال جواتيمالا - - - اسكود برتغالى غينيا - - - بيزو غينيا بيساو - - - دولار غيانا - - - دولار هونج كونج - - - ليمبيرا هنداروس - - - دينار كرواتى - - - كونا كرواتى - - - جوردى هايتى - - - فورينت مجرى - - - روبية اندونيسية - - - جنيه ايرلندى - - - جنيه اسرائيلى - - - شيكل اسرائيلى جديد - - - روبيه هندي - ر.ه.‏ - - - دينار عراقى - د.ع.‏ - - - ريال ايرانى - - - كرونه أيسلندى - - - ليرة ايطالية - - - دولار جامايكى - - - دينار أردنى - د.أ.‏ - - - ين ياباني - - - شلن كينيي - - - سوم قيرغستانى - - - رييال كمبودى - - - فرنك جزر القمر - ف.ج.ق.‏ - - - وون كوريا الشمالية - - - وون كوريا الجنوبية - - - دينار كويتى - د.ك.‏ - - - دولار جزر كيمن - - - تينغ كازاخستانى - - - كيب لاوسى - - - جنية لبنانى - ل.ل.‏ - - - روبية سريلانكية - - - دولار ليبيري - - - لوتى ليسوتو - - - الليتا الليتوانية - - - تالوناس ليتوانى - - - فرنك لوكسمبرج قابل للتحويل - - - فرنك لوكسمبرج - - - فرنك لوكسمبرج المالى - - - لاتس لاتفيا - - - روبل لاتفيا - - - دينار ليبى - د.ل.‏ - - - درهم مغربى - د.م.‏ - - - فرنك مغربي - - - لاو مولدوفى - - - ارياري مدغشقر - - - فرنك مدغشقر - - - دينار مقدونى - - - فرنك مالى - - - كيات ميانمار - - - توغروغ منغولى - - - باتاكا ماكاوى - - - أوقية موريتانية - أ.م.‏ - - - ليرة مالطية - - - جنيه مالطى - - - روبي موريشي - - - روفيه جزر المالديف - - - كواشا مالاوى - - - بيزو مكسيكى - - - بيزو فضى مكسيكى - 1861-1992 - - - رينغيت ماليزى - - - اسكود موزمبيقى - - - دولار نامبيا - - - نايرا نيجيرى - - - كوردوبة نيكاراجوا - - - جلدر هولندى - - - كرونة نرويجية - - - روبية نيبالي - - - دولار نيوزيلندى - - - ريال عمانى - ر.ع.‏ - - - بالبوا بنمى - - - كينا بابوا غينيا الجديدة - - - بيزو فلبينى - - - روبية باكستاني - - - زلوتى بولندى - - - زلوتى بولندى - 1950-1995 - - - اسكود برتغالى - - - جواراني باراجواي - - - ريال قطرى - ر.ق.‏ - - - دولار روديسى - - - ليو رومانى قديم - - - روبل روسي - ر.ر.‏ - - - روبل روسى - 1991-1998 - - - فرنك رواندى - - - ريال سعودى - ر.س.‏ - - - دولار جزر سليمان - - - روبية سيشيلية - - - دينار سوداني - د.س.‏ - - - جنيه سودانى - ج.س.‏ - - - كرونة سويدية - - - دولار سنغافورى - - - جنيه سانت هيلين - - - تولار سلوفيني - - - كرونة سلوفاكية - - - ليون سيراليونى - - - شلن صومالى - - - دولار سورينامى - - - جلدر سورينامى - - - دوبرا ساو تومي وبرينسيبي - - - روبل سوفيتى - - - كولون سلفادورى - - - جنيه سورى - ل.س.‏ - - - ليلانجيني سوازيلندى - - - باخت تايلاندى - - - روبل طاجيكستانى - - - سوموني طاجيكستانى - - - مانات تركمنستانى - - - دينارتونسى - د.ت.‏ - - - اسكود تيمورى - - - ليرة تركي - - - ليرة تركية جديدة - - - دولار ترينداد و توباجو - - - دولار تايوانى - - - شلن تنزانى - - - هريفنيا أوكرانى - - - شلن أوغندى - 1966-1987 - - - شلن أوغندى - - - دولار أمريكي - - - دولار أمريكي (اليوم التالي)‏ - - - دولار أمريكي (نفس اليوم)‏ - - - بيزو أوروجواى - 1975-1993 - - - سوم أوزبكستانى - - - بوليفار فنزويلي - - - دونج فيتنامى - - - فرنك افريقي - ف.ا.‏ - - - فضة - - - ذهب - - - الوحدة الأوروبية المركبة - - - الوحدة المالية الأوروبية - - - الوحدة الحسابية الأوروبية - - - XBD - - - دولار شرق الكاريبى - - - حقوق السحب الخاصة - - - وحدة النقد الأوروبية - - - فرنك فرنسى ذهبى - - - XFU - - - البلاتين - - - كود اختبار العملة - - - بدون عملة - *** - - - دينار يمنى - - - ريال يمنى - ر.ي.‏ - - - دينار يوغسلافى - - - دينار يوغسلافى قابل للتحويل - - - راند جنوب أفريقيا -مالى - - - راند جنوب أفريقيا - - - كواشا زامبى - - - زائير زائيرى جديد - - - زائير زائيرى - - - دولار زمبابوى - - - - - - {0} أيام - {0} يوماً - يوم - {0} يوم - يومان - لا أيام - - - {0} ساعات - {0} ساعةً - ساعة - {0} ساعة - ساعتان - لا ساعات - - - {0} دقائق - {0} دقيقةً - دقيقة - {0} دقيقة - دقيقتان - لا دقائق - - - {0} أشهر - {0} شهراً - شهر - {0} شهر - شهران - لا أشهر - - - {0} ثوان - {0} ثانيةً - ثانية - {0} ثانية - ثانيتان - لا ثوان - - - {0} أسابيع - {0} أسبوعاً - أسبوع - {0} أسبوع - أسبوعان - لا أسابيع - - - {0} سنوات - {0} سنةً - سنة - {0} سنة - سنتان - لا سنوات - - - - - نعم:ن - لا:ل - - - diff --git a/lib/zend/Zend/Locale/Data/ar_AE.xml b/lib/zend/Zend/Locale/Data/ar_AE.xml deleted file mode 100644 index d0877405e6..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_AE.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ar_BH.xml b/lib/zend/Zend/Locale/Data/ar_BH.xml deleted file mode 100644 index cec4765f56..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_BH.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ar_DZ.xml b/lib/zend/Zend/Locale/Data/ar_DZ.xml deleted file mode 100644 index 3d56cef723..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_DZ.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - M‏-M - - - d‏-d MMM - - - d‏-d - - - y‏-y - - - - - - - - latn - - 0 - - - - diff --git a/lib/zend/Zend/Locale/Data/ar_EG.xml b/lib/zend/Zend/Locale/Data/ar_EG.xml deleted file mode 100644 index 96bc7b8556..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_EG.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ar_IQ.xml b/lib/zend/Zend/Locale/Data/ar_IQ.xml deleted file mode 100644 index 6ed861fcf1..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_IQ.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ar_JO.xml b/lib/zend/Zend/Locale/Data/ar_JO.xml deleted file mode 100644 index 2be0543eef..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_JO.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - كانون الثاني - شباط - آذار - نيسان - أيار - حزيران - تموز - آب - أيلول - تشرين الأول - تشرين الثاني - كانون الأول - - - كانون الثاني - شباط - آذار - نيسان - أيار - حزيران - تموز - آب - أيلول - تشرين الأول - تشرين الثاني - كانون الأول - - - - - - - الأحد - الاثنين - الثلاثاء - الأربعاء - الخميس - الجمعة - السبت - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ar_KW.xml b/lib/zend/Zend/Locale/Data/ar_KW.xml deleted file mode 100644 index 12c3e2c0fa..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_KW.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ar_LB.xml b/lib/zend/Zend/Locale/Data/ar_LB.xml deleted file mode 100644 index aaa0c294c3..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_LB.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - كانون الثاني - شباط - آذار - نيسان - نوار - حزيران - تموز - آب - أيلول - تشرين الأول - تشرين الثاني - كانون الأول - - - كانون الثاني - شباط - آذار - نيسان - نوار - حزيران - تموز - آب - أيلول - تشرين الأول - تشرين الثاني - كانون الأول - - - - - - - الأحد - الاثنين - الثلاثاء - الأربعاء - الخميس - الجمعة - السبت - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ar_LY.xml b/lib/zend/Zend/Locale/Data/ar_LY.xml deleted file mode 100644 index f4063b1b05..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_LY.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ar_MA.xml b/lib/zend/Zend/Locale/Data/ar_MA.xml deleted file mode 100644 index 806c33de53..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_MA.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - d‏-d MMM - - - d‏-d - - - y‏-y - - - MM ‏- MM ‏–yyyy - - - d‏–d MMM، y - - - - - - - - latn - - 0 - - - - diff --git a/lib/zend/Zend/Locale/Data/ar_OM.xml b/lib/zend/Zend/Locale/Data/ar_OM.xml deleted file mode 100644 index 7ab81698f6..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_OM.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ar_QA.xml b/lib/zend/Zend/Locale/Data/ar_QA.xml deleted file mode 100644 index 434c169318..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_QA.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - الأحد - الاثنين - الثلاثاء - الأربعاء - الخميس - الجمعة - السبت - - - - - - - - - - - #0.###;#0.###- - - - - - - - ¤#0.00 - - - - - diff --git a/lib/zend/Zend/Locale/Data/ar_SA.xml b/lib/zend/Zend/Locale/Data/ar_SA.xml deleted file mode 100644 index e3599cf6e4..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_SA.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - الأحد - الاثنين - الثلاثاء - الأربعاء - الخميس - الجمعة - السبت - - - - - - - - - - - #0.###;#0.###- - - - - - - - ¤#0.00 - - - - - diff --git a/lib/zend/Zend/Locale/Data/ar_SD.xml b/lib/zend/Zend/Locale/Data/ar_SD.xml deleted file mode 100644 index 9b6d9acbb1..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_SD.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ar_SY.xml b/lib/zend/Zend/Locale/Data/ar_SY.xml deleted file mode 100644 index e1a0c6155a..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_SY.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - كانون الثاني - شباط - آذار - نيسان - نوار - حزيران - تموز - آب - أيلول - تشرين الأول - تشرين الثاني - كانون الأول - - - كانون الثاني - شباط - آذار - نيسان - نوار - حزيران - تموز - آب - أيلول - تشرين الأول - تشرين الثاني - كانون الأول - - - - - - - الأحد - الاثنين - الثلاثاء - الأربعاء - الخميس - الجمعة - السبت - - - - - - - - - - - #0.###;#0.###- - - - - - - - ¤#0.00 - - - - - diff --git a/lib/zend/Zend/Locale/Data/ar_TN.xml b/lib/zend/Zend/Locale/Data/ar_TN.xml deleted file mode 100644 index 18eb5821c6..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_TN.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - الأحد - الاثنين - الثلاثاء - الأربعاء - الخميس - الجمعة - السبت - - - - - - - M‏-M - - - d‏-d MMM - - - d‏-d - - - y‏-y - - - d‏-d MMM، y - - - - - - - - latn - - 0 - E - - - - - #0.###;#0.###- - - - - - - - ¤#0.00 - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ar_YE.xml b/lib/zend/Zend/Locale/Data/ar_YE.xml deleted file mode 100644 index a66b31ac5a..0000000000 --- a/lib/zend/Zend/Locale/Data/ar_YE.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - الأحد - الاثنين - الثلاثاء - الأربعاء - الخميس - الجمعة - السبت - - - - - - - - - - - #0.###;#0.###- - - - - - - - ¤#0.00 - - - - - diff --git a/lib/zend/Zend/Locale/Data/as.xml b/lib/zend/Zend/Locale/Data/as.xml deleted file mode 100644 index cfd8da660f..0000000000 --- a/lib/zend/Zend/Locale/Data/as.xml +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - - - - - - অসমীয়া - উপস্থাপন ভাষা - কম্বোডিয়ান - - - - - - এন্টাৰ্টিকা - ব্ৰাজিল - বভেট দ্বীপ - চীন - জাৰ্মানি - ফ্ৰান্স - সংযুক্ত ৰাজ্য - দক্ষিণ জৰ্জিয়া আৰু দক্ষিণ চেণ্ডৱিচ্‌ দ্বীপ - হাৰ্ড দ্বীপ আৰু মেক্‌ডোনাল্ড দ্বীপ - ভাৰত - ব্ৰিটিশ্ব ইণ্ডিয়ান মহাসাগৰৰ অঞ্চল - ইটালি - জাপান - ৰুচ - দক্ষিণ ফ্ৰান্সৰ অঞ্চল - যুক্তৰাষ্ট্ৰ - অজ্ঞাত বা অবৈধ অঞ্চল - - - পঞ্জিকা - শৰীকৰণ - মুদ্ৰা - - - পৰম্পৰাগত চীনা শৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম - Big5 - বৌদ্ধ পঞ্জিকা - চীনা পঞ্জিকা - পোনপটীয়াকৈ শৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম - সৰল চীনা শৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম - GB2312 - গ্ৰিগোৰীয় পঞ্জিকা - হীব্ৰু পঞ্জিকা - ভাৰতীয় ৰাষ্ট্ৰীয় পঞ্জিকা - ইচলামী পঞ্জিকা - ইচলামী-নাগৰিকৰ পঞ্জিকা - জাপানী পঞ্জিকা - টেলিফোন বহিৰ মতেশৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম - পিন্‌য়িন শৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম - চীনা গণৰাজ্যৰ পঞ্জিকা - স্ট্ৰোক শৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম - পৰম্পৰাগতভাবে শৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম - - - - [় অ-ঋ ৠ ঌ ৡ এ ঐ ও ঔ ং ঁ ঃ ক-ড {ড়} ঢ {ঢ়} ণ ত ৎ থ-ন প-য {য়} ৰ ল ৱ শ-হ ঽ-ৄ ৢ ৣ ে ৈ ো-্ ৗ] - [\u200C \u200D ৲] - - - - - - - - জানু - ফেব্ৰু - মাৰ্চ - এপ্ৰিল - মে - জুন - জুলাই - আগ - সেপ্ট - অক্টো - নভে - ডিসে - - - জানুয়াৰী - ফেব্ৰুয়াৰী - মাৰ্চ - এপ্ৰিল - মে - জুন - জুলাই - আগষ্ট - সেপ্টেম্বৰ - অক্টোবৰ - নভেম্বৰ - ডিসেম্বৰ - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - ৰবি - সোম - মঙ্গল - বুধ - বৃহষ্পতি - শুক্ৰ - শনি - - - দেওবাৰ - সোমবাৰ - মঙ্গলবাৰ - বুধবাৰ - বৃহষ্পতিবাৰ - শুক্ৰবাৰ - শনিবাৰ - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - পূৰ্বা - অপ - - - BCE - CE - - - - - - EEEE, d MMMM, y - - - - - d MMMM, y - - - - - dd-MM-yyyy - - - - - d-M-yyyy - - - - - - - h.mm.ss a zzzz - - - - - h.mm.ss a z - - - - - h.mm.ss a - - - - - h.mm. a - - - - - - d MMMM - dd-MM - Q yy - MM-yyyy - MMMM, y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - এলাহাৱাদ - - - - ভাৰতীয় সময় - - - ভা. স. - - true - - - - - - - - #,##,##0.### - - - - - - - #,##,##0% - - - - - - - ¤ #,##,##0.00 - - - - - - টকা - - - - diff --git a/lib/zend/Zend/Locale/Data/as_IN.xml b/lib/zend/Zend/Locale/Data/as_IN.xml deleted file mode 100644 index 1475eb64be..0000000000 --- a/lib/zend/Zend/Locale/Data/as_IN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/az.xml b/lib/zend/Zend/Locale/Data/az.xml deleted file mode 100644 index 1b9218d284..0000000000 --- a/lib/zend/Zend/Locale/Data/az.xml +++ /dev/null @@ -1,2716 +0,0 @@ - - - - - - - - - - - afarca - abxazca - akin dili - akoli dili - adangme dili - aduge dili - avestanca - Afrikaanca - afro-aziat dili - afrihili dili - aynuca - akanca - akadianca - aleutca - algonguyan dili - cənub altay dili - amarikcə - aragonca - qədimi ingiliscə - angikə dili - apaçi dili - Ərəbcə - aramik dili - araukanca - arapaho dili - suni dil - aravakça - as - asturicə - atapaskanca - avstraliyca - avarikcə - avadicə - aymarca - azərbaycanca - başkir dili - banda dili - bamilek dili - baluc dili - balincə - basa dili - baltik dili - belarusca - beja dili - bemba dili - berber dili - bolqarca - biharicə - bxoçpuri dili - bislama dili - bikolca - bini dili - siksikə dili - bambara dili - Benqal dili - bantu dili - tibet dili - Bretonca - braj dili - bosniya dili - batak dili - buryat dili - bugin dili - bilincə - katalanca - kado dili - mərkəzi amerika indus dili - karib dili - qavqaz dili - atsamca - çeçen dili - kebuano dili - kelt dili - çamoro dili - çibçə dili - çağatay dili - çukiz dili - mari dili - çinuk ləhçəsi - çoktau dili - çipevyan dili - çiroki dili - çeyen dili - çamik dili - korsikan dili - kopt dili - inglis kreol dili - fransız kreol dili - portugal kreol dili - kri dili - krım türkçə - kreol dili - çex dili - kaşubyan dili - kilsə slav dili - kuşitik dili - çuvaş dili - uelscə - danimarka dili - dakota dili - darqva dili - dayak dili - almanca - almanca (AT) - isveç yüksək almancası - delaver dili - slavey - doqrib dili - dinka dili - doqri dili - dravid dili - aşağı sorbca - duala dili - ortacaq hollandca - diveh dili - dyula dili - dzonqa dili - eve dili - efik dili - qədimi misir dili - ekacuk dili - yunanca - elamit dili - ingiliscə - ingiliscə (AU) - ingiliscə (CA) - ingiliscə (GB) - ingiliscə (ABŞ) - ortacaq ingiliscə - esperanto dili - ispanca - latın amerika ispancası - iber-ispanca - estonca - bask dili - evondo dili - farsca - fang dili - fanti dili - fula dili - fincə - taqaloqca - fin-uğri dili - fiji dili - farer dili - fon dili - fransızca - fransızca (CA) - isveç fransızca - ortacaq fransızca - qədimi fransızca - şimal fris dili - friul dili - frisk dili - irlandca - qa dili - qayo dili - qabaya dili - skot gaelik dili - Alman dili - qez dili - qilbert gili - qalisian dili - ortacaq yüksək almanca - quaranicə - qədimi almanca - qondi dili - qorontalo dili - gotça - qrebo dili - qədimi yunanca - isveç almanca - gujarati dili - manks dili - qviçin dili - Hausa dili - hayda dili - Qavayca - ivritcə - hindi dili - hiliqaynon dili - himaçali dili - hittit dili - monq dili - hiri motu dili - xorvatca - yuxarı sorbca - haiti dili - macarca - hupa dili - Ermənicə - Herer dili - interlingua dili - iban dili - indoneziya dili - interlingue dili - iqbo dili - siçuan yi dili - ico dili - inupiaq dili - iloko dili - diqər hint dili - hint-yevropa dili - inquş dili - ido dili - iranca - irokuay dili - isləndcə - italyanca - inuktikut dili - yaponca - loğban dili - judo-farsca - jude-ərəbcə - yavaca dili - gürcü dili - qara-qalpaq dili - kabule dili - kaçinca - ju dili - kamba dili - karen dili - kavi dili - kabardca - tiyap dili - koro dili - konqo dili - xazi dili - xoyzan dili - xotan dili - kikuyu dili - kuanyama dili - qazax dili - kalalisut dili - kambodiya dili - kimbundu dili - kannada dili - koreya dili - konkan dili - kosreyan dili - kpelle dili - kanur dili - qaraçay-balkar dili - karelyan dili - kru dili - kurux dili - kəşmir dili - kürdcə - kumuk dili - kutenay dili - komi dili - korniş dili - qırğızca - latınca - ladin dili - laxnda dili - lamba dili - luksemburq dili - ləzqi dili - qanda dili - limburqiş dili - Linqala dili - laos dili - monqo dili - lozi dili - litva dili - luba-katanqa dili - luba-lulua dili - luyseno dili - lunda dili - luo dili - lushayca - latışca - maduriz dili - maqahi dili - maitili dili - makasar dili - məndinqo dili - avstronezicə - masay dili - mokşa dili - mandar dili - mende dili - malaqas dili - ortacaq irlandca - marşal dili - maori dili - mikmak dili - minanqkaban dili - çeşitli diller - makedoniya dili - mon-xmer dili - malayalamca - monqolca - mançu dili - manipüri dili - manobo dili - moldavca - moxak dili - mosi dili - marati dili - malayca - malta dili - digər dillər - munda dili - krik dili - mirand dili - maruari dili - burmis dili - maya dili - erzya dili - nauru dili - nahuatl dili - şimal amerika yerli dili - neapolital dili - norvec bokmal dili - şimal ndebele dili - aşağı almanca - nepalca - nevari dili - nqonka dili - nyas dili - niger-kordofyan dili - niyuan dili - hollandca - flem dili - norveç ninorsk dili - norveç dili - noqay dili - qədimi norsca - nqo dili - cənub ndebele dili - şimal soto dili - nubiy dili - navayo dili - nyanca dili - nyamvezi dili - nyankol dili - niyoro dili - nizima dili - oksitanca - ocibva dili - oromo dili - Oriyə dili - osetik dili - osage dili - osman dili - otomian dili - puncab dili - papua dili - panqasinan dili - paxlavi dili - pampanqa dili - papyamento dili - palayanca - qədimi farsca - filipin dili - foyenik dili - pali dili - Polish dili - ponpeyan dili - prakrit dili - qədimi provensialca - Puştu dili - portuqalca - İber portuqalca - kuechya dili - racastan dili - rapanu dili - rarotonqan dili - rundi dili - rumın - roman dili - rut dili - rusca - aromanca - kinyarvanda dili - Sanskrit dili - sandave dili - yakut dili - cənub amerika yerli dili - salişan dili - samaritan dili - sasak dili - santal dili - sardin dili - sisili dili - skots dili - sindhi dili - şimal sami dili - selkup dili - ivrit dili - sanqo dili - qədimi irlandca - işarət dili - serb-xorvatca - şan dili - sinhaliscə - sidamo dili - sioyan dili - sino-tibet dili - slovakca - slovencə - slav dili - samoa dili - cənub sami dili - səmi dili - lule sami dili - inari sami - skolt dili - şona dili - soninke dili - somali dili - soqdiyen dili - sonqay dili - Albanca - serb dili - sranan tonqo dili - serer dilii - svati dili - nilo-sahara dili - Sesoto dili - sundanca - sukuma dili - susu dili - sumeryan dili - isveçcə - suahilicə - siryak dili - tamilcə - tay dili - teluqu dili - timne dili - tereno dili - tetum dili - tacik dili - tayca - tiqrin dili - tiqre dili - tiv dili - türkməncə - tokelay dili - taqaloq dili - klinqon - tlinqit dili - tamaşek dili - svana dili - tonqa dili - niyasa tonga dili - tok pisin dili - türkcə - sonqa dili - simşyan dili - tatarca - tumbuka dili - tupi dili - altaik dili - tuvalu dili - Tvi dili - taxiti dili - tuvinyan dili - udmurt dili - uyğurca - uqaritik dili - ukraynaca - umbundu dili - bilinməyən vəya gəcərsiz dil - urduca - özbəkcə - vay dili - venda dili - vyetnamca - volapük dili - votik dili - valun dili - vakaşan dili - valamo dili - varay dili - vaşo dili - sorb dili - volof dili - kalmıqca - xosa dili - yao dili - yapiz dili - Yahudi dili - yoruba dili - yupik dili - juənq dili - zapotek dili - blisimbols dili - zenaqa dili - çincə - adi çincə - gələnəksəl çincə - zande dili - zulu dili - zuni dili - zaza dili - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dünya - Afrika - Şimal Amerika - Cənub Amerika - Okeyaniya - Qərb afrika - Orta Amerika - Şərq Afrika - Şimal Afrika - Orta Afrika - 018 - Amerikalar - 021 - Kariyıplar - Şərq Asiya - Cənub Asiya - Cənub Şərq Asiya - Cənub Avropa - Avstraliya və Yeni Zelandiya - Melanesya - Mikronesiya reqionu - Polineziya - Cənub Orta Asiya - Aziya - Orta Aziya - Qərb Asiya - Avropa - Şərq Avropa - Şimal Avropa - Qərb Avropa - 172 - Latın Amerikası və Kariblər - Andorra - Birləşmiş Ərəb Emiratları - Əfqənistan - Antiqua və Barbuda - Anquila - Albaniya - Ermənistan - Hollandiya antilleri - Angola - Antarktika - Arqentina - Amerika Samoası - Avstriya - Avstraliya - Aruba - Aland Adaları - Azərbaycan - Bosniya və Herzokovina - Barbados - Banqladeş - Belçika - Burkina Faso - Bolqariya - Bahreyn - Burundi - Benin - Seynt Bartelemey - Bermuda - Bruney - Boliviya - Braziliya - Bahamalar - Butan - Bove Adası - Botsvana - Belarus - Beliz - Kanada - Kokos Adaları - Konqo - Kinşasa - Orta Afrika respublikası - Konqo - Brazavil - isveçriya - İvori Sahili - Kuk Adaları - Çile - Kamerun - Çin - Kolumbiya - Kosta Rika - Kuba - Kape Verde - Çristmas Adası - Kipr - Çex respublikası - Almaniya - Ciboti - Danemarka - Dominika - Dominik Respublikası - Cezayır - Ekvador - Estoniya - Misir - Qərb Sahara - Eritreya - İspaniya - Efiopiya - Finlandiya - Fici - Folkland Adaları - Mikronesiya - Faro Adaları - Fransa - Qabon - Birləşmiş Krallıq - Qrenada - Gürcüstan - Fransız Quyanası - Görnsey - Qana - Gibraltar - Qrinland - Qambiya - Qvineya - Qvadalup - Ekvator Qineya - Yunanıstan - Cənub Gürcüstan və Cənub Sandvilç Adaları - Qvatemala - Quam - Qvineya-Bisau - Quyana - Honk Konq çina - Hörd və Makdonald Adaları - Qonduras - Xorvatiya - Haiti - Macaristan - İndoneziya - İrlandiya - İzrail - Man Adası - Hindistan - Britaniya-Hindistan Okeanik territoriyası - İrak - İran - İslandiya - İtaliya - Cörsi - Yamayka - Ürdün - Yaponiya - Kenya - Kırqızstan - Kambodiya - Kiribati - Komoros - Seynt Kits və Nevis - Şimal Koreya - Cənub Koreya - Kuveyt - Kayman Adaları - Kazaxstan - Laos - Lebanon - Seynt Lusiya - Lixtenşteyn - Şri Lanka - Liberiya - Lesoto - Litva - Lüksemburq - Latviya - Libya - Morokko - Monako - Moldova - Monteneqro - Seynt Martin - Madaqaskar - Marşal Adaları - Masedoniya - Mali - Myanmar - Monqoliya - Makao Çina - Şimal Mariana Adaları - Martiniqu - Mavritaniya - Montserat - Malta - Mavritis - Maldiv - Malavi - Meksika - Malaysiya - Mazambik - Namibiya - Yeni Kaledoniya - nijer - Norfolk Adası - Nijeriya - Nikaraqua - Hollandiya - Norvec - Nepal - Nauru - Niye - Yeni Zelandiya - Oman - Panama - Peru - Fransız Polineziya - Papua Yeni Qvineya - Filipin - Pakistan - Polşa - Seynt Piyer və Mikelon - Pitkarn - Puerto Riko - Fələstin Bölqüsü - Portuqal - Palav - Paraqvay - Qatar - Uzak Okeyaniya - Avropa Birləşliyi - Reyunion - Romaniya - Serbiya - Rusiya - Rvanda - Saudi Ərəbistan - Solomon Adaları - Seyçels - sudan - isveç - Sinqapur - Seynt Elena - Sloveniya - svalbard və yan mayen - Slovakiya - Siyera Leon - San Marino - Seneqal - Somaliya - surinamə - Sao Tom və Prinsip - El Salvador - siriya - svazilənd - Türk və Kaykos Adaları - Çad - Fransız Cənub teritoriyası - Toqo - tayland - tacikistan - Tokelau - Şərq Timor - Türkmənistan - Tunisiya - Tonqa - Türkiya - Trinidan və Tobaqo - Tuvalu - tayvan - tanzaniya - Ukraina - Uqanda - Birləşmiş Ştatların uzaq adaları - Amerika Birləşmiş Ştatları - Uruqvay - Özbəkistan - Vatikan - Seynt Vinsent və Qrenada - Venesuela - Britaniya Virgin Adaları - ABŞ Virqin Adaları - Vyetnam - Vanuatu - Valis və Futuna - Samoa - Yemen - Mayot - Cənub Afrika - Zambiya - Zimbabve - bilinmir - - - Budist təqvimi - Çin təqvimi - Qreqoriy təqvimi - Yahudi təqvimi - Hindi təqvimi - Müsəlman təqvimi - Ivrit təqvimi - Yapon təqvimi - Pinyin təqvimi - Çin respublikası təqvimi - - - ABŞ - metr - - - Dil: {0} - Yazı: {0} - Rayon: {0} - - - - [a-c ç d e ə f g ğ h x ı i İ {i\u0307} j k q l-o ö p r s ş t u ü v y z] - [w] - - - “ - ” - ‘ - ’ - - - - - - - - yan - fev - mar - apr - may - iyn - iyl - avq - sen - okt - noy - dek - - - Yanvar - Fevral - Mart - Aprel - May - İyun - İyul - Avqust - Sentyabr - Oktyabr - Noyabr - Dekabr - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - B. - B.E. - Ç.A. - Ç. - C.A. - C - Ş. - - - bazar - bazar ertəsi - çərşənbə axşamı - çərşənbə - cümə axşamı - cümə - şənbə - - - - - 7 - 1 - 2 - 3 - 4 - 5 - 6 - - - - - - - 1-ci kv. - 2-ci kv. - 3-cü kv. - 4-cü kv. - - - 1-ci kvartal - 2-ci kvartal - 3-cü kvartal - 4-cü kvartal - - - - AM - PM - - - eramızdan əvvəl - bizim eramızın - - - e.ə. - b.e. - - - - - - EEEE, d, MMMM, y - - - - - d MMMM , y - - - - - d MMM, y - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - era - - - il - - - ay - - - həftə - - - bu gün - üç gün əvvəl - dünən - bu gün - sabah - üç gün sonra - - - həftə günü - - - saat - - - dəqiqə - - - saniyə - - - zona - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - {1} ({0}) - - Bilinmir - - - rofera - - - çənub polus - - - syova - - - moson - - - Deyvis - - - vostok - - - Keysi - - - Dumont de Urvile - - - makmurdo - - - rio qayegos - - - mendoza - - - san xuan - - - uşuya - - - La Rioha - - - san luis - - - Katamarka - - - Cucuy - - - tukuman - - - Kordoba - - - Buenos Ayres - - - perf - - - Yukla - - - Darvin - - - Adelayd - - - Broken Hil - - - Kuriye - - - melburn - - - sidney - - - Brisbeyn - - - Lord Hove - - - İrunepe - - - Rio Branko - - - porto velo - - - Kuyaba - - - Kampo Qrande - - - Araguayna - - - sao paulo - - - Bahiya - - - Maseyo - - - resif - - - noronha - - - Douson - - - vaythors - - - İnuvik - - - vənkuver - - - Douson Krik - - - yelounayf - - - Edmondton - - - svift kurent - - - Kəmbric Bey - - - recina - - - vinipeq - - - resolut - - - reyni river - - - rankin inlet - - - Koral Harbor - - - funder bey - - - nipiqon - - - toronto - - - montreal - - - İqalut - - - panqnirtanq - - - monkton - - - Halifaks - - - Qus Bey - - - Qleys Bey - - - Blank-Sablon - - - St Johns - - - Kinşasa - - - Lubumbaşi - - - İster - - - Kaşqar - - - urumçi - - - Conqinq - - - Qalapaqos - - - Kanari - - - Seuta - - - ponape - - - Kosraye - - - tul - - - skoresbisund - - - Danmarkşavn - - - Cakarta - - - pontiyanak - - - Makasar - - - Cayapura - - - Enderböri - - - Kirimati - - - tarava - - - Aktau - - - qüzülorda - - - Almati - - - Kvajaleyn - - - Maxiro - - - ulanbatar - - - Coybalsan - - - tixuana - - - Hermosilo - - - mazaltan - - - Cihuvava - - - monterey - - - mexiko - - - Kankun - - - Kuçinq - - - Çatam - - - Markuyesas - - - Qambiyer - - - Madeyra - - - Kalininqrad - - - moskva - - - volqoqrad - - - samara - - - yekaterinburq - - - novosibirsk - - - İrkutsk - - - yakutsk - - - vladivostok - - - saxalin - - - Maqadan - - - Kamçatka - - - Anadır - - - ujgorod - - - Kiyev - - - simferopol - - - zaporojye - - - midvey - - - Conston - - - veyk - - - nom - - - Ankorac - - - yakutat - - - Cüneau - - - Los Anceles - - - Boyse - - - finiks - - - şiprok - - - nyu salem - - - Orta, Şimal Dakota - - - Cikaqo - - - menomini - - - vinsenes - - - pitersburq - - - tell şəhəri - - - Noks - - - vinamak - - - Marenqo - - - İndianapolis - - - Luisvil - - - vevey - - - montiçelo - - - Detroyt - - - nyu york - - - səmərkənd - - - - Orta Avropa - Orta Avropa/yay - - - Orta Avropa/standart - Orta Avropa/yaz - - - - - Şərq Avropa - Şərq Avropa/yay - - - Şərq Avropa/standart - Şərq Avropa/yaz - - true - - - - Kuybuşev - Kuybuşev/yay - - - - - Moskva - Moskva/standart - Moskva/yay - - true - - - - Samara - Samara/yay - - - - - Türkiya - Türkiya/yay - - true - - - - Volqoqrad - Volqoqrad/yay - - - - - - - , - . - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - ¤ #,##0.00 - - - - - - Andora pesetası - Andora pesetası - - - Birləşmiş ərəb emiratlar dirhamı - BƏE dirhamı - - - Əfgəni (AFA) - Əfgən (AFA) - - - Əfgəni - Əfgən - - - Alban leki - Alban leki - - - Erməni dramı - Erməni dramı - - - Hollandiya antila gilderi - Hollandiya Antila gilderi - - - Anqola kvanzası - Anqola kvanzasi - - - Anqola kvanzasi (1977-1990) - Anqola kvanzasi (AOK) - - - Anqola yeni kvanzası (1990-2000) - Anqola yeni kvanzasi (AON) - - - Anqola kvanzası (1995-1999) - Anqola kvanzasi (AOR) - - - Argentina avstralı - Argentina avstralı - - - Argentina pesosu (1983-1985) - Argentina pesosu (ARP) - - - Argentina pesosu - Argentina pesosu - - - Avstriya şilingi - Avstriya şilingi - - - Avstraliya dolları - Avstraliya dolları - - - Aruba qilderi - Aruba qilderi - - - Manat - Azərbaycan manatı (AZM) - - - Azərbaycan manatı - Azərbaycan manatı - - - Bosniya-Herzeqovina dinarı - Bosniya-Herzeqovina dinarı - - - Bosniya-Herzeqovina markası - Bosniya-Herzeqovina markası - - - Barbados dolları - Barbados dolları - - - Banqladeş takası - Banqladeş takası - - - Belçika frankı (deyşirik) - Belçika frankı (deyşirik) - - - Belçika frankı - Belçika frankı - - - Belçika frankı (finans) - Belçika frankı (finans) - - - Bolqariya levası - Bolqariya levası - - - Bolqariya yeni levası - Bolqariya yeni levası - - - Bahreyn dinarı - Bahreyn dinarı - - - Burundi frankası - Burundi frankası - - - Bermuda dolları - Bermuda dolları - - - Bruney dolları - Bruney dolları - - - Boliviano - Boliviano - - - Boliviya pesosu - Boliviya pesosu - - - Boliviya mvdolı - Boliviya mvdolı - - - Braziliya kruzeyro novası - Braziliya kruzeyro novası - - - Braziliya kruzadosu - Braziliya kruzadosu - - - Braziliya kruzeyrosu (1990-1993) - Braziliya kruzeyrosu (BRE) - - - Braziliya realı - Braziliya realı - - - Braziliya kruzado novası - Braziliya kruzado novası - - - Braziliya kruzeyrosu - Braziliya kruzeyrosu - - - Bahama dolları - Bahama dolları - - - Butan ngultrumu - Butan ngultrumu - - - Burmis kyatı - Burmis kyatı - - - Botsvana pulası - Botsvana pulası - - - Belarusiya yeni rublu - Belarusiya yeni rublu - - - Belarusiya rublu - Belarusiya rublu - - - Beliz dolları - Beliz dolları - - - Kanadiya dolları - Kanada dolları - - - Konqoliz frank konqolaysı - Konqoliz frank konqolaysı - - - WIR Yevrosu - WIR Yevrosu - - - İsveçriya frankası - İsveçriya frankası - - - WIR frankası - WIR frankası - - - Çili pesosu - Çili pesosu - - - Çin yuan renminbi - Çin yuanı - - - Kolombiya pesosu - Kolombiya pesosu - - - Kosta rika kolonu - Kosta Rika kolonu - - - Qədimi Serb dinarı - Qədimi serb dinarı - - - Çexoslavakiya korunası - Çexoslavakiya korunası - - - Kuba pesosu - Kuba pesosu - - - Kape Verde eskudosu - Kape Verde eskudosu - - - Kipr paundu - Kipr paundu - - - Çex respublikası korunası - Cex respublika korunası - - - şərq almaniya ostmarkı - Şərq Almaniya ostmarkı - - - alman markası - Alman markası - - - jibouti frankası - Jibouti frankası - - - Danemarka kronası - Danemarka kronası - - - dominika pesosu - Dominika pesosu - - - Alcəzir dinarı - Alcəzir dinarı - - - ekvador sukresi - Ekvador sukresi - - - Estoniya krunu - Estoniya krunu - - - misir paundu - Misir paundu - - - Eirtreya nakfası - Eritreya nakfası - - - İspan pesetası (A) - İspan pesetası (A account) - - - İspan pesetası (dəyşirik) - İspan pesetası (dəyşirik) - - - İspan pesetası - İspan pesetası - - - Efiopiya birası - Efiopiya birası - - - Yevro - yevro - - - Fin markası - Fin markası - - - Fici dolları - Fici dolları - - - Folkland Adası paundu - Folkland adası paundu - - - Fransız markası - Fransız markası - - - Britaniya paund sterlingi - Britaniya paund sterlingi - - - Gürcüstan kupon lariti - Gürcüstan kupon lariti - - - Gürcüstan larisi - Gürcüstan larisi - - - Qana sedisi (1979-2007) - Qana sedisi (GHC) - - - Qana sedisi - Qana sedisi - - - Gibraltar paundu - Gibraltar paundu - - - Qambiya dalasi - Qambiya dalasi - - - Qvineya frankası - qvineya frankası - - - Qvineya sulisi - Gineya sulisi - - - Ekvatoriya Gvineya ekvele quneanası - Ekvatoriya Gvineya ekvele quneanası - - - Yunan draçması - Yunan draxması - - - Qvatemala küetzalı - Qvatemala küetzalı - - - Portugal Qvineya eskudosu - Portugal Qvineya eskudosu - - - Qvineya-Bisau pesosu - Qvineya-Bisau pesosu - - - Quyana dolları - Quyana dolları - - - Honk Konq dolları - Honk Konq dolları - - - Honduras lempirası - Honduras lempirası - - - Xorvatiya dinarı - Xorvatiya dinarı - - - Xorvatiya kunu - Xorvatiya kunu - - - Haiti qourdu - Haiti qourdu - - - Macarıstan forinti - Macarıstan forinti - - - İndoneziya rupisi - İndoneziya rupisi - - - İrlandiya paundu - İrlandiya paundu - - - İzrail paundu - İzrail paundu - - - İzrail yeni şekeli - İzrail ail yeni şekeli - - - Hindistan rupisi - Hindistan rupisi - - - İraq dinarı - İraq dinarı - - - İran rialı - İran rialı - - - Aysland kronası - Aysland kronası - - - İtaliya lirası - İtaliya lirası - - - Yamayka dolları - Yamayka dolları - - - İordaniya dinarı - İordaniya dinarı - - - Yapon yeni - Yapon yeni - - - Kenya şillingi - Kenya şillingi - - - Kırğızstan somu - Kırğızstan somu - - - Kambodiya riyeli - Kambodiya riyeli - - - Komoro frankı - Komoro frankı - - - Şimal koreya vonu - Şimal Koreya vonu - - - Cənub koreya vonu - Cənub Koreya vonu - - - Kuveyt dinarı - Kuveyt dinarı - - - Keyman Adaları dolları - Keyman Adaları dolları - - - Kazaxstan tenqesi - Kazaxstan tenqesi - - - Laotiya kipi - Laotiya kipi - - - Lebanon paundu - Lebanon paundu - - - Şri Lanka rupisi - Şri Lanka rupisi - - - Liberiya dolları - Liberiya dolları - - - Lesoto lotisi - Lesoto lotisi - - - Litva litası - Litva litası - - - Litva talonası - Litva talonası - - - Luksemburq frankası (dəyişik) - Luksemburq dəyişik frankası - - - Luksemburq frankası - Luksemburq frankası - - - Luksemburq frankası (finans) - Luksemburq finans frankası - - - Latviya latsı - Latviya latsı - - - Latviya rublu - Latviya rublu - - - Liviya dinarı - Liviya dinarı - - - Morokko dirhamı - Morokko dirhamı - - - Morokko frankası - Morokko frankası - - - Moldova leyusu - Moldova leyusu - - - Madaqaskar ariarisi - Madaqaskar ariarisi - - - Madaqaskar frankası - Madaqaskar frankası - - - Masedoniya denarı - Masedoniya denarı - - - Mali frankı - Mali frankı - - - Myanmar kiyatı - Myanmar kiyatı - - - Monqoliya tuqriki - Monqoliya tuqriki - - - Makao patakası - Makao patakası - - - Mavritaniya oyuquyası - Mavritaniya oyuquyası - - - Maltiz paundu - Maltiz paundu - - - Mavritis rupiyi - Mavritis rupiyi - - - Maldiv Adaları rufiyi - Maldiv adaları rufiyi - - - Malavi kvaçası - Malavi kvaçası - - - Meksika pesosu - Meksika pesosu - - - Meksika gümüş pesosu - Meksika gümüş pesosu - - - Malaysiya rinqiti - Malaysiya rinqiti - - - Mozambik eskudosu - Mozambik eskudosu - - - Qədim Mozambik metikalı - Qədim mozambik metikalı - - - Mozambik metikalı - Mozambik metikalı - - - Namibiya dolları - Namibiya dolları - - - Nigeriya nairi - Nigeriya nairi - - - Nikaraqua kordobu - Nikaraqua kordobu - - - Hollandiya gilderi - Hollandiya gilderi - - - Norveç kronu - Norveç kronu - - - Nepal rupiyi - Nepal rupiyi - - - Yeni Zelandiya dolları - Yeni Zelandiya dolları - - - Mman rialı - Oman rialı - - - Panamaniya balboa - Panamaniya balboa - - - Peru inti - Peru inti - - - Peru sol nuyevosu - Peru sol nuyevosu - - - Peru solu - Peru solu - - - Papua Yeni Qvineya kini - Papua Yeni Qvineya kini - - - Filipin pesosu - Filipin pesosu - - - Pakistan rupiyi - Pakistan rupiyi - - - Polsha zlotisi - Polsha zlotisi - - - Polsha zlotisi (1950-1995) - Polsha zlotisi (PLZ) - - - Portuqal eskudosu - Portuqal eskudosu - - - Paraqvay quarani - Paraqvay quarani - - - Qatar rialı - Qatar rialı - - - Rodezian dolları - Rodezian dolları - - - Qədim Roman leyu - Roman qədimi leyu - - - Roman leyu - Roman leyu - - - Serbiya dinarı - Serbiya dinarı - - - Rusiya rublu - Rusiya rublu - - - Rusiya rublu (1991-1998) - Rusiya rublu (RUR) - - - Rvanda frankı - Rvanda frankı - - - Saudi riyalı - Saudi riyalı - - - Solomon Adaları dolları - Solomon Adaları dolları - - - Seyçel rupiyi - Seyçel rupiyi - - - Sudan paundu - Sudan paundu - - - İsveç kronu - İsveç kronu - - - Sinqapur dolları - Sinqapur dolları - - - Sloveniya toları - Sloveniya toları - - - Slovak korunası - Slovak korunası - - - Somaliya şillingi - Somaliya şillingi - - - Surinam dolları - Surinam dolları - - - Sovet rublu - Sovet rublu - - - el salvador kolonu - El Salvador kolonu - - - Siriya paundu - Siriya paundu - - - Svazilənd lilangeni - Svazilənd lilangeni - - - tay bahtı - Tay bahtı - - - Tacikistan rublu - Tacikistan rublu - - - Tacikistan somoni - Tacikistan somoni - - - Türkmənistan manatı - Türkmənistan manatı - - - Tunis dinarı - Tunis dinarı - - - Tonqa panqası - Tonqa panqası - - - Timor eskudu - Timor eskudu - - - Türk köhnə lirası - Türk köhnə lirası - - - Türk lirası - Türk lira - - - Tayvan yeni dolları - Tayvan yeni dolları - - - Tanzaniya şilingi - Tanzaniya şilingi - - - Ukraina hrivnyası - Ukraina hrivnyası - - - Ukraina karbovenesası - Ukraina karbovenesası - - - Uqanda şelingi (1966-1987) - Uqanda şelingi (UGS) - - - Uqanda şelingi - Uqanda şelingi - - - ABŞ dolları - ABŞ dolları - - - ABŞ dolları (yeni gün) - ABŞ dolları (yeni gün) - - - ABŞ dolları (həmin gün) - ABŞ dolları (həmin gün) - - - Uruqvay pesosu Unidades Indexadas - Uruqvay pesosu unidades indexadas - - - Uruqvay pesosu (1975-1993) - Uruqvay pesosu (UYP) - - - Uruqvay pesosu (Uruguayo) - Uruqvay pesosu - - - özbəkistan sumu - Özbəkistan sumu - - - venesuela bolivarı - Venesuela bolivarı - - - venesuela bolivar fuerti - Venesuela Bolivar fuerti - - - vyetnam donqu - Vyetnam donqu - - - qərb samoa talası - Qərb Samoa talası - - - gümüş - gümüş - - - qızıl - qızıl - - - şərq karib dolları - Şərq karib dolları - - - Fransız gızıl frankı - Fransız gızıl frankı - - - Fransız UİC frankı - Fransız UİC frankı - - - CFA franka BCEAO - CFA franka BCEAO - - - Palladium - Palladium - - - CFP frankı - CFP frankı - - - platinum - platinum - - - bilinməyən vəya gəcərsiz - bilinməyən vəya gəcərsiz - - - yemen dinarı - Yemen dinarı - - - yemen rialı - Yemen rialı - - - Yuqoslaviya dinarı (hard) - Yuqoslaviya dinarı (hard) - - - Yuqoslaviya yeni dinarı (hard) - Yuqoslaviya yeni dinarı (hard) - - - Yuqoslaviya dinarı (dəyişik) - Yuqoslaviya dinarı (dəyişik) - - - Cənub afrika randı (finans) - Cənub Afrika randı (finans) - - - Cənub afrika randı - Cənub Afrika randı - - - Zambiya kvaçı - Zambiya kvaçı - - - Zair yeni zairi - Zair yeni zairi - - - Zair zairi - Zair zairi - - - Zimbabve dolları - Zimbabve dolları - - - - - - {0} gün - - - {0} saat - - - {0} dəqiqə - - - {0} ay - - - {0} saniyə - - - {0} həftə - - - {0} il - - - - - hə:h - yox:y - - - - diff --git a/lib/zend/Zend/Locale/Data/az_AZ.xml b/lib/zend/Zend/Locale/Data/az_AZ.xml deleted file mode 100644 index 2b1e6c7337..0000000000 --- a/lib/zend/Zend/Locale/Data/az_AZ.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/az_Cyrl.xml b/lib/zend/Zend/Locale/Data/az_Cyrl.xml deleted file mode 100644 index b4d24d8e50..0000000000 --- a/lib/zend/Zend/Locale/Data/az_Cyrl.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - Свет - Афрыка - Паўночная Амэрыка - Паўднёвая Амэрыка - Акіянія - Заходняя Афрыка - Цэнтральная Амэрыка - Усходняя Афрыка - Паўночная Афрыка - Цэнтральная Афрыка - Паўднёвая Афрыка - Паўночная і Паўднёвая Амерыкі - ЗША і Канада - Карыбскія астравы - Усходняя Азія - Паўднёвая Азія - Паўднёва-Усходняя Азія - Паўднёвая Еўропа - Аўстралія і Новая Зэландыя - Палінезія - Паўднёва-Цэнтральная Азія - Азія - Цэнтральная Азія - Заходняя Азія - Еўропа - Усходняя Еўропа - Паўночная Еўропа - Заходняя Еўропа - Садружнасць Незалежных Дзяржаў - Андора - Аб'яднаныя Арабскія Эміраты - Афганістан - Антыгуа і Барбуда - Ангуілля - Албанія - Арменія - Нідэрландскія Антылы - Ангола - Антарктыка - Аргенціна - Амерыканскае Самоа - Аўстрыя - Аўстралія - Аруба - Аландскія астравы - Азербайджан - Боснія і Герцагавіна - Барбадас - Бангладэш - Бельгія - Буркіна-Фасо - Балгарыя - Бахрэйн - Бурундзі - Бенін - Бермудскія астравы - Бруней-Дарусалам - Балівія - Бразілія - Багамскія Астравы - Бутан - Бувэ востраў - Батсвана - Беларусь - Беліз - Канада - Какосавыя астравы - Конга, Дэмакратычная Рэспубліка - Цэнтральна-Афрыканская Рэспубліка - Конга - Швейцарыя - Кука астравы - Чылі - Камерун - Кітай - Калумбія - Коста-Рыка - Куба - Каба-Вердэ - Калядаў востраў - Кіпр - Чэхія - Германія - Джыбуці - Данія - Дамініка - Дамініканская Рэспубліка - Алжыр - Эквадор - Эстонія - Егіпет - Заходняя Сахара - Эрытрэя - Іспанія - Эфіопія - Фінляндыя - Фіджы - Фолклэндскія астравы - Мікранезія - Францыя - Габон - Велікабрытанія - Грэнада - Грузія - Французская Гвіяна - Гана - Гібралтар - Грэнландыя - Гамбія - Гвінея - Гвадэлупа - Экватарыяльная Гвінея - Грэцыя - Паўднёвая Джорджыя і Паўднёвыя Сандвічавы астравы - Гватэмала - Гвінея-Бісаў - Гаяна - Гон-Конг, Кітай (САР) - Гэрда востраў і МакДоналда астравы - Гандурас - Харватыя - Гаіці - Венгрыя - Інданезія - Ірландыя - Ізраіль - Індыя - Брытанская тэрыторыя Індыйскага акіяну - Ірак - Іран, Ісламская Рэспубліка - Ісландыя - Італія - Ямайка - Іарданія - Японія - Кенія - Кыргызстан - Камбоджа - Кірыбаці - Каморскія Астравы - Сэнт-Кітс і Нэвіс - Паўночная Карэя - Паўднёвая Карэя - Кувейт - Кайманавы астравы - Казахстан - Лаоская Народна-Дэмакратычная Рэспубліка - Ліван - Сэнт-Люсія - Ліхтэнштэйн - Шры-Ланка - Ліберыя - Лесота - Літва - Люксембург - Латвія - Лівійская Арабская Джамахірыя - Марока - Манака - Малдова - Чарнагорыя - Мадагаскар - Маршалавы Астравы - Македонія, БЮР - Малі - М'янма - Манголія - Макао, Кітай (САР) - Паўночныя Марыянскія астравы - Марцініка - Маўрытанія - Монсэрат - Мальта - Маўрыкій - Мальдыўскія Астравы - Малаві - Мексіка - Малайзія - Мазамбік - Намібія - Новая Каледонія - Нігер - Норфалкскія астравы - Нігерыя - Нікарагуа - Нідэрланды - Нарвегія - Непал - Науру - Ніуэ - Новая Зеландыя - Аман - Панама - Перу - Франузская Палінэзія - Папуа-Новая Гвінея - Філіпіны - Пакістан - Польшча - Палестынскія тэрыторыі - Партугалія - Палаў - Парагвай - Катар - Вонкавая Акіянія - Еўрапейскі Звяз - Рэюньён - Румынія - Сербія - Расія - Руанда - Саудаўская Аравія - Саламонавы Астравы - Сейшэльскія Астравы - Судан - Швецыя - Сінгапур - Святой Алены, Востраў - Славенія - Свальбард (Паўночна-Усходняя Зямля) і Ян-Маен - Славакія - Сьера-Леонэ - Сенегал - Самалі - Сурынам - Сан-Томэ і Прынсіпі - Сальвадор - Сірыйская Арабская Рэспубліка - Свазіленд - Тэркс і Кайкас астравы - Чад - Французскія Паўднёвыя тэрыторыі - Тога - Тайланд - Таджыкістан - Такелаў - Усходні Тымор - Туркменістан - Туніс - Тангійская - Турцыя - Трынідад і Табага - Тувалу - Тайвань - Танзанія, Аб'яднаная Рэспубліка - Украіна - Уганда - Злучаныя Штаты - Уругвай - Узбекістан - Ватыкан - Сэнт-Вінсэнт і Грэнадыны - Венесуэла - Віргінскія астравы - Віргінскія астравы, ЗША - В'етнам - Вануату - Уоліс і Футуна - Самоа (Заходняе) - Емен - Паўднёва-Афрыканская Рэспубліка - Замбія - Зімбабвэ - Невядомы рэгіён - - - каляндар - параўнаньне тэксту - валюта - - - будысцкі каляндар - кітайскі каляндар - грэгарыянскі каляндар - іудэйскі каляндар - мусульманскі каляндар - мусульманскі свецкі каляндар - японскі каляндар - - - ЗША - метрычная - - - Мова: {0} - Пісьмо: {0} - Рэгіён: {0} - - - - lowercase-words - - - [а-д {дж} {дз} е ё ж з і й-у ў ф-ш ы-я] - [] - [a-z] - - - „ - ” - « - » - - - - - - - - EEEE, d MMMM y G - - - - - d MMMM y G - - - - - d MMM y G - - - - - d.M.yy - - - - - - - - - сту - лют - сак - кра - май - чэр - ліп - жні - вер - кас - ліс - сне - - - т - - - студзень - люты - сакавік - красавік - май - чэрвень - ліпень - жнівень - верасень - кастрычнік - лістапад - снежань - - - - - тра - - - с - л - с - к - м - ч - л - ж - в - к - л - с - - - травень - - - - - - - нд - пн - аў - ср - чц - пт - сб - - - нядзеля - панядзелак - аўторак - серада - чацвер - пятніца - субота - - - - - н - п - а - с - ч - п - с - - - - - - - 1-шы кв. - 2-гі кв. - 3-ці кв. - 4-ты кв. - - - 1-шы квартал - 2-гі квартал - 3-ці квартал - 4-ты квартал - - - - - 1 - 2 - 3 - 4 - - - - да палудня - пасля палудня - - - да н.э. - н.э. - - - да н.е. - н.е. - - - да н.э. - н.э. - - - - - - EEEE, d MMMM y - - - - - d MMMM y - - - - - d.M.yyyy - - - - - d.M.yy - - - - - - - HH.mm.ss zzzz - - - - - HH.mm.ss z - - - - - HH.mm.ss - - - - - HH.mm - - - - - - H.mm - H.mm.ss - L - E, d MMM - LLL - E, d MMM - MMMM d, EEEE - MMMM d - d MMM - d.M - d - h.mm a - h.mm.ss a - mm:ss - y - MM/yyyy - EEE, dd/MM/yyyy - MMM y - EEE, d MMM y - MMMM y - Q 'кв'. y - QQQ y - Q yy - MM/yyyy - MMMM y - - - {0} - {1} - - M-M - - - E, d.M - E, d.M - E, d.M - E, d.M - - - MMM-MMM - - - E, d MMM - E, d MMM - E, d - E, d MMM - - - d MMM - d MMM - d-d MMM - - - d.M - d.M - d.M - d.M - - - d-d - - - HH-HH - - - HH.mm-HH.mm - HH.mm-HH.mm - - - HH.mm-HH.mm v - HH.mm-HH.mm v - - - HH-HH v - - - y-y - - - M.yy - M.yy - M.yy - M.yy - - - E, d.M.yy - E, d.M.yy - E, d.M.yy - E, d.M.yy - E, d.M.yy - E, d.M.yy - - - MMM-MMM y - MMM y - MMM y - - - E, d MMM - E, d MMM y - E, d - E, d MMM y - E, d MMM y - E, d MMM y - - - d MMM - d MMM y - d-d MMM y - d MMM y - d MMM y - - - d.M.yy - d.M.yy - d.M.yy - d.M.yy - d.M.yy - d.M.yy - - - - - - эра - - - год - - - месяц - - - тыдзень - - - дзень - пазаўчора - учора - сёння - заўтра - паслязаўтра - - - дзень тыдня - - - Dayperiod - - - гадзіна - - - хвіліна - - - секунда - - - Zone - - - - - - +HH:mm;-HH:mm - GMT{0} - Час: {0} - {1} ({0}) - - Невядомы - - - Рыё Бранка - - - Кампа Грандэ - - - Сан-Паўлу - - - Ганалулу - - - Анкорыдж - - - Лос-Анджэлас - - - Фэнікс - - - Дэнвэр - - - Чыкага - - - Індыянапаліс - - - Нью-Ёрк - - - - Паўночнаамэрыканскі цэнтральны час - Паўночнаамэрыканскі цэнтральны стандартны час - Паўночнаамэрыканскі цэнтральны летні час - - - - - Паўночнаамэрыканскі усходні час - Паўночнаамэрыканскі усходні стандартны час - Паўночнаамэрыканскі усходні летні час - - - - - Паўночнаамэрыканскі горны час - Паўночнаамэрыканскі горны стандартны час - Паўночнаамэрыканскі горны летні час - - - - - Ціхаакіянскі час - Ціхаакіянскі стандартны час - Ціхаакіянскі летні час - - - - - Атлянтычны час - Атлянтычны стандартны час - Атлянтычны летні час - - - - - Цэнтральнаэўрапейскі час - Цэнтральнаэўрапейскі летні час - - - - - Усходнеэўрапейскі час - Усходнеэўрапейскі летні час - - - - - Заходнеэўрапейскі час - Заходнеэўрапейскі летні час - - - - - Грынвічскі час - - true - - - - - - , -   - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤#,##0.00 - - - - - - аўстралійскі даляр - - - бразільскі рэал - - - Руб - - - беларускі рубель - - - кітайскі юань Renminbi - - - эрытрэйская накфа - - - еўра - - - англійскі фунт - - - індыйская рупія - - - японская іена - ¥ - - - нарвэская крона - - - рускі рубель - рас. руб. - - - долар ЗША - $ - - - невядомая або недапушчальная валюта - - - - - - {0} дні - {0} дзён - {0} дзень - {0} дня - - - {0} гадзіны - {0} гадзін - {0} гадзіна - {0} гадзіны - - - {0} хвіліны - {0} хвілін - {0} хвіліна - {0} хвіліны - - - {0} месяца - {0} месяцаў - {0} месяц - {0} месяца - - - {0} сэкунды - {0} сэкунд - {0} сэкунда - {0} сэкунды - - - {0} тыдні - {0} тыдняў - {0} тыдзень - {0} тыдня - - - {0} гады - {0} гадоў - {0} год - {0} году - - - - - так:т - не:н - - - - diff --git a/lib/zend/Zend/Locale/Data/be_BY.xml b/lib/zend/Zend/Locale/Data/be_BY.xml deleted file mode 100644 index f353ea4efa..0000000000 --- a/lib/zend/Zend/Locale/Data/be_BY.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/bg.xml b/lib/zend/Zend/Locale/Data/bg.xml deleted file mode 100644 index cc28f845f4..0000000000 --- a/lib/zend/Zend/Locale/Data/bg.xml +++ /dev/null @@ -1,3966 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - афар - абхазски - ачински - аколи - адангме - адиге - авестски - африканс - афро-азиатски - африхили - айну - акан - акадски - алеутски - алгонквин - южноалтайски - амхарски - арагонски - староанглийски - ангика - езици на апахите - арабски - арамейски - мапуче - арапахо - изкуствен - аравак - асамски - астурски - атабаски езици - австралийски езици - аварски - авади - аймара - азърбайджански - башкирски - банда - бамикеле - балучи - балинейски - баса - балтийски - беларуски - бея - бемба - берберски - български - бихари - божпури - бислама - биколски - бини - сиксика - бамбара - бенгалски - банту - тибетски - бретонски - брадж - босненски - батак - бурятски - бугински - биленски - каталонски - каддо - централноамерикански индиански - карибски - кавказски - атсам - чеченски - себуано - келтски - чаморо - чибча - чагатай - чуук - марийски - жаргон чинуук - чокто - чиипувски - чероки - чейенски - чамски - корсикански - коптски - креолски или пиджин от английски - креолски и пиджин от френски - креолски или пиджин от португалски - крии - кримскотатарски - креолски или пиджини - чешки - кашубски - църковно славянски - кушитски езици - чувашки - уелски - датски - дакотски - даргва - даякски - немски - австрийски немски - швейцарски горногермански - делауер - слейви - догриб - динка - догри - дравидски езици - долносербски - дуала - средновековен холандски - дивехи - диула - дзонха - еуе - ефик - египетски - екажук - гръцки - еламитски - английски - австралийски английски - канадски английски - британски английски - американски английски - средновековен английски - есперанто - испански - латиноамерикански испански - иберийски испански - естонски - баски - евондо - персийски - фанг - фанти - фула - фински - филипински - угрофински - фиджийски - фарьорски - фон - френски - канадски френски - швейцарски френски - средновековен френски - старофренски - северен фризски - източен фризски - фриулиански - фризийски - ирландски - га - гайо - гбая - шотландски галски - германски - гииз - гилбертски - галисийски - средновековен немски - гуарани - старовисоконемски - гонди - горонтало - готически - гребо - древногръцки - швейцарски немски - гуджарати - манкски - гвичин - хауза - хайда - хавайски - иврит - хинди - хилигайнон - химачали - хитски - хмонг - хири моту - хърватски - горносербски - хаитянски - унгарски - хупа - арменски - хереро - интерлингва - ибан - индонезийски - оксидентал - игбо - сечуански - иджо - инупиак - илоко - индийска група - индо-европейски - ингушетски - идо - ирански - ироквиански езици - исландски - италиански - инуктитут - японски - лоджбан - еврейско-персийски - еврейско-арабски - явански - грузински - каракалпашки - кабилски - качински - жжи - камба - каренски - кави - кабардиан - туап - коро - конгоански - кхаси - езици коисан - котски - кикуйу - кваняма - казахски - гренландски ескимоски - кхмерски - кимбунду - каннада - корейски - конкани - косраен - кпеле - канури - карачай-балкарски - карелски - кру - курук - кашмирски - кюрдски - кумикски - кутенай - Коми - корнуолски келтски - киргизски - латински - ладино - лахнда - ламба - люксембургски - лезгински - ганда - лимбургски - лингала - лаоски - монго - лози - литовски - луба катанга - луба-лулуа - луисеньо - лунда - луо - лушаи - латвийски - мадурски - магахи - майтхили - макасар - мандинго - австронезийски - масайски - мокша - мандар - менде - малгашки - средновековен ирландски - маршалезе - маорски - микмак - минангбау - други езици - македонски - мон-кхмерски език - малаялам - монголски - манчжурски - манипури - манобо - молдовски - мохавк - моси - маратхи - малайски - малтийски - многоезични - мунда - крик - мирандийски - марвари - бирмански - майя език - ерзиа - науру - нахуатл - северноамерикански индиански - неаполитански - норвежки бокмал - северен ндебеле - долносаксонски - непалски - неварски - ндонга - ниас - нигер-кордофански - ниуеан - холандски - фламандски - съвременен норвежки - норвежки - ногаи - старонорвежски - н’ко - южен ндебеле - северен сото - нубийски езици - навахо - класически невари - чинянджа - ниамвези - нианколе - нуоро - нзима - окситански - оджибва - оромо - ория - осетски - оседжи - отомански турски - старотурски езици - пенджабски - папуаски - пангасинан - пехлевийски - пампанга - папиаменту - палауан - староперсийски - филипински (други) - финикийски - пали - полски - похнпеиан - пракритски език - провансалски - пущу - португалски - кечуа - раджастански - рапа нуи - рапотонган - реторомански - рунди - румънски - романски - цигански език - роот - руски - арумънски - киняруанда - санкскритски - сандве - якутски - южноамерикански индиански - салишански език - самаритански арамейски - сасак - сантали - сардински - сицилиански - шотландски - синдхи - северен сами - селкуп - семитски - санго - староирландски - жестомимичен език - сърбохърватски - шан - синхалски - сидамо - език сиу - синотибетски - словашки - словенски - славянски - самоански - южносаамски - саамски езици - луле-саамски - инари-саамски - сколт-саамски - шона - сонинке - сомалийски - согдийски - сонгхай - албански - сръбски - сранан тонго - серер - суази - нило-сахарски език - сесуто - сундански - сукума - сусу - шумерски - шведски - суахили - класически сирийски - сирийски - тамилски - тайландски - телугу - темне - терено - тетум - таджикски - таи - тигриня - тигре - тив - туркменски - токелайски - тагалог - клингон - тлингит - тамашек - тсвана - тонга - нианса тонга - ток писин - турски - тсонга - цимшиански - татарски - тумбука - тупи - алтайски - тувалуански - туи - таитянски - тувински - удмуртски - уйгурски - угаритски - украински - умбунду - неопределен - урду - узбекски - ваи - венда - виетнамски - волапюк - вотик - валонски - вакашански език - валамо - варай - уашо - лужишки език - волоф - калмик - ксоса - яо - япезе - идиш - йоруба - юпик - зуанг - запотек - блис символи - зенага - китайски - опростен китайски - традиционен китайски - занде - зулуски - зуни - без лингвистично съдържание - заза - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Земята - Африка - Северноамерикански континент - Южна Америка - Океания - Западна Афирка - Централна Америка - Източна Африка - Северна Африка - Централна Африка - Южноафрикански регион - Америка - Северна Америка - Карибски о-ви - Източна Азия - Южна Азия - Югоизточна Азия - Южна Европа - Австралия и Нова Зеландия - Меланезия - Микронезия - Полинезия - Южна Азия [062] - Азия - Централна Азия - Западна Азия - Европа - Източна Европа - Северна Европа - Западна Европа - Общност на независимите държави - Латинска Америка и Карибски басейн - Нормандски о-ви - Андора - Обединени арабски емирства - Афганистан - Антигуа и Барбуда - Ангуила - Албания - Армения - Холандски Антили - Ангола - Антарктика - Аржентина - Американско Самоа - Австрия - Австралия - Аруба - Аландски о-ви - Азербайджан - Босна и Херцеговина - Барбадос - Бангладеш - Белгия - Буркина Фасо - България - Бахрейн - Бурунди - Бенин - Сейнт Бартоломей - Бермуда - Бруней Дарусалам - Боливия - Бразилия - Бахами - Бутан - Остров Буве - Ботсуана - Беларус - Белиз - Канада - Кокосови (Кийлинг) острови - Демократична република Конго - Централноафриканска Република - Конго - Швейцария - Бряг на слоновата кост - Острови Кук - Чили - Камерун - Китай - Колумбия - Коста Рика - Сърбия и Черна гора - Куба - Кабо Верде - Остров Кристмас - Кипър - Чешка република - Германия - Джибути - Дания - Доминика - Доминиканска република - Алжир - Еквадор - Естония - Египет - Западна Сахара - Еритрея - Испания - Етиопия - Финландия - Фиджи - Фолклендски острови - Микронезия, Обединени Щати - Фарьорски острови - Франция - Габон - Обединено кралство - Гренада - Грузия - Френска Гвиана - о. Гърнзи - Гана - Гибралтар - Гренландия - Гамбия - Гвинея - Гваделупа - Екваториална Гвинея - Гърция - Южна Джорджия и Южни Сандвичеви Острови - Гватемала - Гуам - Гвинея-Бисау - Гвиана - Хонг-Конг О.А.Р. на Китай - Остров Хърд и Острови Макдоналд - Хондурас - Хърватска - Хаити - Унгария - Индонезия - Ирландия - Израел - о.Ман - Индия - Британски територии в Индийския океан - Ирак - Иран, Ислямска република - Исландия - Италия - о. Джързи - Ямайка - Йордания - Япония - Кения - Киргизстан - Камбоджа - Кирибати - Комори - Сейнт Китс и Невис - Корея, Северна - Корея, Южна - Кувейт - Кайманови острови - Казахстан - Народна демократична република Лаос - Ливан - Сейнт Лусия - Лихтенщайн - Шри Ланка - Либерия - Лесото - Литва - Люксембург - Латвия - Либийска арабска джамахирия - Мароко - Монако - Молдова, Република - Черна гора - Сейнт Мартин - Мадагаскар - Маршалови острови - Македония, Република - Мали - Мианмар - Монголия - Макао О.А.Р. на Китай - Северни Мариански Острови - Мартиника - Мавритания - Монсерат - Малта - Мавриций - Малдиви - Малави - Мексико - Малайзия - Мозамбик - Намибия - Нова Каледония - Нигер - Остров Норфолк - Нигерия - Никарагуа - Холандия - Норвегия - Непал - Науру - Ниуе - Нова Зеландия - Оман - Панама - Перу - Френска Полинезия - Папуа Нова Гвинея - Филипини - Пакистан - Полша - Сен Пиер и Мигелон - Питкайрн - Пуерто Рико - Палестински територии - Португалия - Палау - Парагвай - Катар - Океания [QO] - Европейски съюз - Реюниън - Румъния - Сърбия - Руска федерация - Руанда - Саудитска Арабия - Соломонови острови - Сейшели - Судан - Швеция - Сингапур - Света Елена - Словения - Свалбард и Ян Майен - Словакия - Сиера Леоне - Сан Марино - Сенегал - Сомалия - Суринам - Сао Томе и Принципе - Ел Салвадор - Сирийска арабска република - Суазиленд - Острови Туркс и Кайкос - Чад - Френски южни територии - Того - Тайланд - Таджикистан - Токелау - Източен Тимор - Туркменистан - Тунис - Тонга - Турция - Тринидад и Тобаго - Тувалу - Тайван - Танзания - Украйна - Уганда - САЩ - външни острови - САЩ - Уругвай - Узбекистан - Свещено море (Ватиканска държава) - Сейнт Винсънт и Гренадини - Венецуела - Британски Вирджински острони - САЩ, Вирджински острови - Виетнам - Вануату - Уолис и Футуна - Самоа - Йемен - Мейот - Южна Африка - Замбия - Зимбабве - Непозната или несъществуваща област - - - Традиционен немски правопис - Стандартен резиански правопис - Немски правопис от 1996 - Късен средновековен френски до 1606 - Ранен съвременен френски - Източно арменски - Западно арменски - Унифицирана тюркска азбука - Диалект Сан Джорджио/Била - Бунтлинг - Международна фонетична азбука - Уралска фонетична азбука - Диалект Липовац - Монотонично - Диалект Натисоне - Диалект Нджива - Диалект Осеако/Осояне - Политонично - Компютърен - Променен правопис - Резиански - Сахо - Шотландски английски - Ливърпулски диалект - Диалект Столвиза - Тарашкевица - Валенсиански - - - Календар - Сортиране - Валута - - - Традиционен китайски (Big5) - Будистки календар - Китайски календар - Директно - Опростен китайски (GB2312) - Григориански календар - Еврейски календар - Индийски граждански календар - Ислямски календар - Ислямски цивилен календар - Японски календар - Азбучен ред - Сортиране Пинин - Календар на Република Китай - Сортиране по щрих - Традиционно - - - Американска - Метрична - - - - lowercase-words - - - [а-ъ ь ю я] - [i v x {а\u0300} ѐ ѝ {о\u0300} {у\u0300} {ъ\u0300} ѣ {ю\u0300} {я\u0300} ѫ] - - - „ - “ - ‘ - ’ - - - - - - - - ян. - февр. - март - апр. - май - юни - юли - авг. - септ. - окт. - ноем. - дек. - - - януари - февруари - март - април - май - юни - юли - август - септември - октомври - ноември - декември - - - - - я - ф - м - а - м - ю - ю - а - с - о - н - д - - - - - - - нд - пн - вт - ср - чт - пт - сб - - - неделя - понеделник - вторник - сряда - четвъртък - петък - събота - - - - - н - п - в - с - ч - п - с - - - - - - - I трим. - II трим. - III трим. - IV трим. - - - 1-во тримесечие - 2-ро тримесечие - 3-то тримесечие - 4-то тримесечие - - - - пр. об. - сл. об. - - - пр.Хр. - сл.Хр. - - - пр. н. е. - от н. е. - - - сл.н.е. - - - - - - dd MMMM y, EEEE - - - - - dd MMMM y - - - - - dd.MM.yyyy - - - - - dd.MM.yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - E d - H - HH:mm - HH:mm:ss - d MMM, E - d MMMM - dd MMMM - dd.MM - h:mm a - h:mm:ss a - mm:ss - MM.yy - Q yy - y - MM.yyyy - MMMM y - QQQQ y 'г'. - - - {0} - {1} - - M-M - - - dd.MM, E - dd.MM, E - dd.MM, E - dd.MM, E - - - MMM-MMM - - - d MMM, E - d MMM, E - d MMM, E - d MMM, E - - - dd MMM - dd MMM - dd-dd MMM - - - dd.MM - dd.MM - dd.MM - dd.MM - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - MM.yy - MM.yy - MM.yy - MM.yy - - - dd.MM.yy, E - dd.MM.yy, E - dd.MM.yy, E - dd.MM.yy, E - dd.MM.yy, E - dd.MM.yy, E - - - MMM-MMM y - MMM y - MMM y - - - d MMM y, E - d MMM y, E - d MMM y, E - d MMM y, E - d MMM y, E - d MMM y, E - - - dd MMM - dd MMM y - dd-dd MMM y - dd MMM y - dd MMM y - - - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - - - - - - ера - - - година - - - месец - - - седмица - - - Ден - Онзи ден - Вчера - Днес - Утре - Вдругиден - - - Ден от седмицата - - - ден - - - час - - - минута - - - секунда - - - зона - - - - - - - - тишри - хешван - кислев - тебет - шебат - адар I - адар - нисан - иар - сиван - тамуз - - - тишри - хешван - кислев - тебет - шебат - адар I - адар - нисан - иар - сиван - тамуз - - - - - тишри - хешван - кислев - тебет - шебат - адар I - адар - нисан - иар - сиван - тамуз - - - - - - - - - чайтра - вайсакха - джаинтха - асадха - сравана - бхада - азвина - картика - аграхайана - пауза - магха - пхалгуна - - - чайтра - вайсакха - джаинтха - асадха - сравана - бхада - азвина - картика - аграхайана - пауза - пхалгуна - - - - - чайтра - вайсакха - джаинтха - асадха - сравана - бхада - азвина - картика - аграхайана - пауза - магха - пхалгуна - - - - - - - - - мухарам - сафар - раби-1 - раби-2 - джумада-1 - джумада-2 - раджаб - шабан - рамазан - Шавал - Дхул-Каада - Дхул-хиджа - - - мухарам - сафар - раби-1 - раби-2 - джумада-1 - джумада-2 - раджаб - шабан - рамазан - Шавал - Дхул-Каада - Дхул-хиджа - - - - - раби-1 - раби-2 - джумада-1 - джумада-2 - раджаб - шабан - рамазан - - - мухарам - сафар - раби-1 - раби-2 - джумада-1 - джумада-2 - раджаб - шабан - Рамазан - Шавал - Дхул-Каада - Дхул-хиджа - - - - - - - +HHmm;-HHmm - Гриинуич{0} - Гриинуич - {0} - {1} ({0}) - - Неизвестен - - - Андора - - - Дубай - - - Кабул - - - Антигуа - - - Ангила - - - Тирана - - - Ереван - - - Кюрасао - - - Луанда - - - Ротера - - - Палмър - - - Южен полюс - - - Суова - - - Моусън - - - База Дейвис - - - Восток - - - Кейси - - - Дюмон Дюрвил - - - Мак Мърдоу - - - Рио Галегос - - - Мендоса - - - Сан Хуан - - - Ушуая - - - Ла Риоха - - - Сан Луис - - - Катамарка - - - Салта - - - Джуджую - - - Тукуман - - - Кордоба - - - Буенос Айрес - - - Паго Паго - - - Виена - - - Пърт - - - Юкла - - - Даруин - - - Аделаида - - - Броукън Хил - - - Кери - - - Мелбърн - - - Хоубарт - - - Линдеман - - - Сидни - - - Бризбейн - - - Лорд Хов - - - Аруба - - - Баку - - - Бриджтаун - - - Дака - - - Брюксел - - - Уагадугу - - - София - - - Бахрейн - - - Бужумбура - - - Порто Ново - - - Бермудски О-ви - - - Бруней - - - Ла Пас - - - Ейрунепе - - - Рио Бранко - - - Порту Вельо - - - Буа Виста - - - Мануас - - - Чуяба - - - Сантарем - - - Кампо Гранде - - - Белем - - - Арагуайна - - - Сао Пауло - - - Бахиа - - - Фортацела - - - Масейо - - - Ресифе - - - Норонха - - - Насау - - - Тхимпу - - - Габороне - - - Минск - - - Белмопан - - - Доусън - - - Уайтхорс - - - Инувик - - - Ванкувър - - - Доусън Крийк - - - Йелоунайф - - - Едмънтън - - - Суифт Кърент - - - Кеймбридж Бей - - - Регина - - - Уинипег - - - Резолют - - - Рейни Ривър - - - Ранкин Инлет - - - Корал Харбър - - - Тъндър Бей - - - Нипигон - - - Торонто - - - Монреал - - - Иквалуит - - - Пангниртунг - - - Монктон - - - Халифакс - - - Гус Бей - - - Глейс Бей - - - Блан-Саблон - - - Сейнт Джоунс - - - Кокос - - - Киншаса - - - Лубумбаши - - - Банги - - - Бразавил - - - Цюрих - - - Абиджан - - - Раротонга - - - Великденски о-ви - - - Сантиаго - - - Дуала - - - Кашгар - - - Урумчи - - - Чунцин - - - Шанхай - - - Харбин - - - Богота - - - Сан Хосе - - - Хавана - - - Кабо Верде - - - Коледни о-ви - - - Никозия - - - Берлин - - - Джибути - - - Копенхаген - - - Доминика - - - Санто Доминго - - - Алжир - - - о-ви Галапагос - - - Гуаякил - - - Талин - - - Кайро - - - Ел Аюн - - - Асмера - - - Канарски о-ви - - - Сеута - - - Мадрид - - - Адис Абеба - - - Хелзинки - - - Фиджи - - - Стенли - - - о-ви Трук - - - о. Понапе - - - о. Косрае - - - Фарьорите - - - Париж - - - Либървил - - - Лондон - - - Сент Джорджес - - - Тбилиси - - - Кайен - - - Акра - - - Гибралтар - - - Туле - - - Готхоб - - - Сгорсбисон - - - Данмаркшавн - - - Банджул - - - Конакри - - - Бас Тер - - - Малабо - - - Атина - - - Южна Джорджия - - - Гватемала - - - Гуам - - - Бисау - - - Джорджтаун - - - Хонг Конг - - - Порт-о-Пренс - - - Будапеща - - - Джакарта - - - Понтианак - - - Макасарски проток - - - Джаяпура - - - Дъблин - - - Йерусалим - - - Чагос - - - Багдад - - - Техеран - - - Рейкявик - - - Рим - - - Кингстън - - - Аман - - - Токио - - - Найроби - - - Бишкек - - - Пном Пен - - - о. Ендърбъри - - - о. Рождество - - - о. Тарава - - - Коморски о-ви - - - Сейнт Китс - - - Пхенян - - - Сеул - - - Кувейт - - - Кайманите - - - Актау - - - Арал - - - Актобе - - - Язилорда - - - Алма Ата - - - Виентян - - - Бейрут - - - Св. Лучия - - - Вадуц - - - Коломбо - - - Монровия - - - Масеру - - - Вилнюс - - - Люксембург - - - Рига - - - Триполи - - - Казабланка - - - Монако - - - Кишинев - - - Антананариво - - - Квайджален - - - Мажуро - - - Бамако - - - Рангун - - - Кобдо - - - Уланбатор - - - Чойбалсан - - - Макау - - - Сайпан - - - Мартиник - - - Нуакшот - - - Монсерат - - - Ла Валета - - - Мавриций - - - Малдивски О-ви - - - Блантайр - - - Тихуана - - - Хермосило - - - Мацатлан - - - Чиуауа - - - Монтерей - - - Мексико - - - Мерида - - - Канкун - - - Куала Лумпур - - - Кучин - - - Мапуту - - - Виндхук - - - Нумеа - - - Ниамей - - - Норфолк - - - Лагос - - - Манагуа - - - Амстердам - - - Осло - - - Катманду - - - Науру - - - Ниуе - - - о-ви Чатам - - - Окланд - - - Мускат - - - Панама - - - Лима - - - Таити - - - Маркизки о-ви - - - Гамбиер - - - Порт Морсби - - - Манила - - - Карачи - - - Варшава - - - Микелон - - - Питкерн - - - Пуерто Рико - - - Газа - - - Азорски о-ви - - - Мадейра - - - Лисабон - - - Палау - - - Асунсион - - - Катар - - - Реюнион - - - Букурещ - - - Калининград - - - Москва - - - Волгоград - - - Самара - - - Екатерининбург - - - Омск - - - Новосибирск - - - Красноярск - - - Иркутск - - - Якутск - - - Владивосток - - - Сахалин - - - Магадан - - - п-в Камчатка - - - Анадир - - - Кигали - - - Рияд - - - Гуадалканал - - - Махе - - - Хартум - - - Стокхолм - - - Сингапур - - - Св. Елена - - - Лонгирбюен - - - Фрийтаун - - - Дакар - - - Могадишо - - - Парамарибо - - - Сао Томе - - - Сан Салвадор - - - Дамаск - - - Мбабане - - - Гранд Тюрк - - - Нджамена - - - Кергелен - - - Ломе - - - Бангкок - - - Душанбе - - - Факаофо - - - Дили - - - Ашхабад - - - Тунис - - - Тонгатапу - - - Истанбул - - - Порт ъф Спейн - - - Фунафути - - - Тайпей - - - Дар ес Салаам - - - Ужгород - - - Киев - - - Севастопол - - - Запорожие - - - Кампала - - - о. Мидуей - - - о. Джонсън - - - о. Уейк - - - Адак - - - Ноум - - - Хонолулу - - - Анкоридж - - - Якутат - - - Джуно - - - Лос Анжелис - - - Буаз - - - Финикс - - - Шипрок - - - Денвър - - - Ню Салем, Северна Дакота - - - Сентър - - - Чикаго - - - Меномнии - - - Винсенс, Индиана - - - Петерсбург, Индиана - - - Тел Сити, Индиана - - - Нокс - - - Уинамак, Индиана - - - Маренго - - - Индианополис - - - Луизвил - - - Веве - - - Монтичело - - - Детройт - - - Ню Йорк - - - Монтевидео - - - Самарканд - - - Ташкент - - - Св. Винсент - - - Каракас - - - Тортола - - - Св. Томас - - - Сайгон - - - Ефате - - - Уолис - - - Апиа - - - Аден - - - Майоте - - - Йоханесбург - - - Лусака - - - Хараре - - - - Часова зона Аляска - Лятна часова зона Аляска - - - - - Американска централна часова зона - Американска централна лятна часова зона - - - - - Американска източна часова зона - Американска източна лятна часова зона - - - - - Американска планинска часова зона - Американска планинска лятна часова зона - - - - - Тихоокеанска часова зона - Тихоокеанска лятна часова зона - - - - - AQTT (Актау) - AQTST (Актау) - - - - - AQTT (Актобе) - AQTST (Актобе) - - - - - AST (Саудитска Арабия) - ADT (Саудитска Арабия) - - - - - AMT (Армения) - AMST (Армения) - - - - - Атлантическа часова зона - Атлантическа лятна часова зона - - - - - Китайска часова зона - - - CST (Китай) - CDT (Китай) - - - - - CST (Куба) - CDT (Куба) - - - - - Централноевропейска часова зона - Централноевропейска лятна часова зона - - - - - Източноевропейска часова зона - Източноевропейска лятна часова зона - - - - - Часова зона Гринуич - - - - - GST (Гуам) - - - - - Часова зона Израел - Лятна часова зона Израел - - - IST (Израел) - - - - - Японска часова зона - Японска часова зона - - - - - Часова зона Нюфаундленд - Лятна часова зона Нюфаундленд - - - - - SAMT (Самарканд) - SAMST (Самарканд) - - - - - GST (Южна Джорджия) - - - - - - - , -   - ; - % - 0 - + - - - ‰ - ∞ - Н/Ч - - - - - #,##0.### - - - - - - - #,##0% - - - - - - - #,##0.00 ¤ - - - - - - Андорска песета - андорска песета - андорски песети - - - Обединени арабски емирства-дирхам - Обединени арабски емирства-дирхам - Обединени арабски емирства-дирхама - - - Афганистански афган (1927-2002) - афганистански афган (AFA) - афганистански афгана (AFA) - - - Афганистански афган - афганистански афган - афганистански афгана - - - Албански лек - албански лек - албански лека - - - Арменски драм - арменски драм - арменски драма - - - Антилски гулден - антилски гулден - антилски гулдена - - - Анголска кванца - анголска кванца - анголски кванци - - - Анголска кванца (1977-1990) - анголска кванца (AOK) - анголски кванци (AOK) - - - Анголска нова кванца (1990-2000) - анголска нова кванца (AON) - анголски нови кванци (AON) - - - Анголска нова кванца (1995-1999) - анголска нова кванца (AOR) - анголски нови кванци (AOR) - - - Аржентински австрал - аржентински австрал - аржентински австрала - - - Аржентинско песо (1983-1985) - аржентинско песо (ARP) - аржентински песо (ARP) - - - Аржентинско песо - аржентинско песо - аржентински песо - - - Австрийски шилинг - австрийски шилинг - австрийски шилинга - - - Австралийски долар - австралийски долар - австралийски долара - - - Арубски гилдер - о. Аруба - арубски гилдер - арубски гилдера - - - Азербайджански манат (1993-2006) - азербайджански манат (AZM) - азербайджански маната (AZM) - - - Азербайджански манат - азербайджански манат - - - Босна и Херцеговина-динар - Босна и Херцеговина-динар - Босна и Херцеговина-динара - - - Босненска конвертируема марка - босненска конвертируема марка - босненски конвертируеми марки - - - Барбейдоски долар - барбейдоски долар - барбейдоски долара - - - Бангладешка така - бангладешка така - бангладешки таки - - - Белгийски франк (конвертируем) - белгийски франк (конвертируем) - белгийски франка (конвертируеми) - - - Белгийски франк - белгийски франк - белгийски франка - - - Белгийски франк (финансов) - белгийски франк (финансов) - белгийски франка (финансови) - - - Български конвертируем лев (1962-1999) - български конвертируем лев - български конвертируеми лева - - - Български лев - български лев - български лева - лв. - - - Бахрейнски динар - бахрейнски динар - бахрейнски динара - - - Бурундийски франк - бурундийски франк - бурундийски франка - - - Бермудски долар - бермудски долар - бермудски долара - - - Брунейски долар - брунейски долар - брунейски долара - - - Боливийско боливиано - боливийско боливиано - боливийски боливиано - - - Боливийско песо - боливийско песо - боливийски песо - - - Боливийски мвдол - - - Бразилско ново крузейро (1967-1986) - - - Бразилско крозадо - - - Бразилско крузейро (1990-1993) - - - Бразилски реал - бразилски реал - бразилски реала - - - Бразилско ново крозадо - - - Бразилско крузейро - - - Бахамски долар - бахамски долар - бахамски долара - - - Бутански нгултрум - бутански нгултрум - бутански нгултрума - - - Киат - - - Ботсуанска пула - ботсуанска пула - ботсуански пули - - - Беларуска нова рубла (1994-1999) - беларуска нова рубла (BYB) - беларуски нови рубли (BYB) - - - Беларуска рубла - беларуска рубла - беларуски рубли - - - Белизийски долар - белизийски долар - белизийски долара - - - Канадски долар - канадски долар - канадски долара - - - Конгоански фран½к - конгоански франк - конгоански франка - - - WIR евро - - - Швейцарски франк - швейцарски франк - швейцарски франка - - - WIR франк - - - Условна разчетна единица на Чили - - - Чилийско песо - чилийско песо - чилийски песо - - - Китайски ренминби юан - китайски ренминби юан - китайски ренминби юана - - - Колумбийско песо - колумбийско песо - колумбийски песо - - - Колумбийска единица на реалната стойност - - - Костарикански колон - костарикански колон - костарикански колона - - - Стар сръбски динар - - - Чехословашка конвертируема крона - чехословашка конвертируема крона - чехословашки конвертируеми крони - - - Кубинско песо - кубинско песо - кубински песо - - - Кабо Верде ескудо - - - Кипърска лира - кипърска лира - кипърски лири - - - Чешка крона - чешка крона - чешки крони - - - Източногерманска марка - - - Германска марка - германска марка - германски марки - - - Джибутски франк - джибутски франк - джибутски франка - - - Датска крона - датска крона - датски крони - - - Доминиканско песо - доминиканско песо - доминикански песо - - - Алжирски динар - алжирски динар - алжирски динара - - - Еквадорско сукре - еквадорско сукре - - - Еквадорска банкова единица - - - Естонска крона - естонска крона - естонски крони - - - Египетска лира - египетска лира - египетски лири - - - Еритрейска накфа - еритрейска накфа - еритрейски накфи - - - Испанска песета - испанска песета - испански песети - - - Етиопски бир - етиопски бир - етиопски бира - - - Евро - - - Финландска марка - финландска марка - финландски марки - - - Фиджи - долар - Фиджи - долар - Фиджи - долара - - - Фолкландска лира - фолкландска лира - фолкландски лири - - - Френски франк - френски франк - френски франка - - - Британска лира - британска лира - британски лири - - - Грузински купон - - - Грузински лари - грузински лари - грузински лари - - - Ганайско седи (1979-2007) - ганайско седи (GHC) - ганайски седи (GHC) - - - Ганайско седи - - - Гибралтарска лира - гибралтарска лира - гибралтарски лири - - - Гамбийски даласи - гамбийски даласи - гамбийски даласи - - - Гвинейски франк - гвинейски франк - гвинейски франка - - - Гвинейска сили - - - Екваториално гвинейско еквеле - - - Гръцка драхма - гръцка драхма - гръцки драхми - - - Гватемалски кветзал - гватемалски кветзал - гватемалски кветзала - - - Ескудо от Португалска Гвинея - - - Гвинея-Бисау песо - - - Гаянски долар - гаянски долар - гаянски долара - - - Хонгконгски долар - хонгконгски долар - хонгконгски долара - - - Хондураска лемпира - хондураска лемпира - хондураски лемпири - - - Хърватски динар - хърватски динар - хърватски динара - - - Хърватска куна - хърватска куна - хърватски куни - - - Хаитски гурд - хаитски гурд - хаитски гурда - - - Унгарски форинт - унгарски форинт - унгарски форинта - - - Индонезийска рупия - индонезийска рупия - индонезийски рупии - - - Ирландска лира - ирландска лира - ирландски лири - - - Израелска лира - израелска лира - израелски лири - - - Израелски нов шекел - израелски нов шекел - израелски нови шекела - - - Индийска рупия - индийска рупия - индийски рупии - - - Иракски динар - иракски динар - иракски динара - - - Ирански риал - ирански риал - ирански риала - - - Исландска крона - исландска крона - исландски крони - - - Италианска лира - италианска лира - италиански лири - - - Ямайски долар - ямайски долар - ямайски долара - - - Йордански динар - йордански динар - йордански динара - - - Японска йена - японска йена - японски йени - - - Кенийски шилинг - кенийски шилинг - кенийски шилинга - - - Киргистански сом - киргистански сом - киргистански сома - - - Камбоджански риел - камбоджански риел - камбоджански риела - - - Коморски франк - коморски франк - коморски франка - - - Севернокорейски вон - севернокорейски вон - севернокорейски вона - - - КНДР вон - КНДР вона - - - Кувейтски динар - кувейтски динар - кувейтски динара - - - Кайманови острови - долар - Кайманови острови - долара - - - Казахстанско тенге - казахстанско тенге - казахстански тенге - - - Лаоски кип - лаоски кип - лаоски кипа - - - Ливанска лира - ливанска лира - ливански лири - - - Шриланкска рупия - шриланкска рупия - шриланкски рупии - - - Либерийски долар - либерийски долар - либерийски долара - - - Лесотско лоти - лесотско лоти - лесотски лоти - - - Литовски литаз - литовски литаз - литовски литаза - - - Литовски талон - - - Люксембургски франк - люксембургски франк - люксембургски франка - - - Латвийски лат - латвийски лат - латвийски лата - - - Латвийска рубла - латвийска рубла - латвийски рубли - - - Либийски динар - либийски динар - либийски динара - - - Марокански дирхам - марокански дирхам - марокански дирхама - - - Марокански франк - марокански франк - марокански франка - - - Молдовско леу - молдовско леу - молдовски леу - - - Малагасийски ариари - - - Малгашки франк - Мадагаскар - малгашки франк - Мадагаскар - малгашки франка - Мадагаскар - - - Македонски денар - македонски денар - македонски денара - - - Малийски франк - - - Миянмарски (Бирма) кият - миянмарски кият - миянмарски кията - - - Монголски тугрик - монголски тугрик - монголски тугрика - - - Макао - патака - - - Мавританска огия - мавританска огия - мавритански огии - - - Малтийска лира - малтийска лира - малтийски лири - - - Малтийски лири - - - Маврицийска рупия - маврицийска рупия - маврицийски рупии - - - Малдивска руфия - малдивска руфия - малдивски руфии - - - Малавийска квача - малавийска квача - малавийски квачи - - - Мексиканско ново песо - мексиканско ново песо - мексикански нови песо - - - Мексиканско сребърно песо (1861-1992) - мексиканско сребърно песо (MXP) - мексикански сребърни песо (MXP) - - - Мексиканска конвертируема единица (UDI) - - - Малайзийски рингит - малайзийски рингит - малайзийски рингити - - - Мозамбикско ескудо - мозамбикско ескудо - мозамбикски ескудо - - - Мозамбикски метикал - мозамбикски метикал - мозамбикски метикала - - - Мозамбишки метикал - - - Намибийски долар - намибийски долар - намибийски долара - - - Нигерийска найра - нигерийска найра - нигерийски найри - - - Никарагуанска кордоба - никарагуанска кордоба - никарагуански кордоби - - - Никарагуанска златна кордоба - - - Холандски гулден - холандски гулден - холандски гулдена - - - Норвежка крона - норвежка крона - норвежки крони - - - Непалска рупия - непалска рупия - непалски рупии - - - Новозеландски долар - новозеландски долар - новозеландски долара - - - Омански риал - омански риал - омански риала - - - Панамски балбоа - панамски балбоа - панамски балбоа - - - Перуанско инти - - - Перуански нов сол - перуански нов сол - - - Перуански сол - перуански сол - - - Папуа-новогвинейска кина - - - Филипинско песо - филипинско песо - филипински песо - - - Пакистанска рупия - пакистанска рупия - пакистански рупии - - - Полска злота - полска злота - полски злоти - - - Полска злота (1950-1995) - полска злота (PLZ) - полски злоти (PLZ) - - - Португалско ескудо - португалско ескудо - португалски ескудо - - - Парагвайско гуарани - парагвайско гуарани - парагвайски гуарани - - - Катарски риал - катарски риал - катарски риала - - - Родезийски долар - - - Стара румънска лея - стара румънска лея - стари румънски леи - - - Румънска лея - румънска лея - румънски леи - - - Сръбски динар - сръбски динар - сръбски динара - - - Руска рубла - руска рубла - руски рубли - Руб. - - - Руска рубла (1991-1998) - руска рубла (RUR) - руски рубли (RUR) - - - Руандски франк - руандски франк - руандски франка - - - Саудитскоарабски риал - саудитскоарабски риал - саудитскоарабски риала - - - Соломонови острови - долар - Соломонови острови - долара - - - Сейшелска рупия - сейшелска рупия - сейшелски рупии - - - Судански динар - судански динар - судански динара - - - Судански лири - - - Суданска лира - суданска лира - судански лири - - - Шведска крона - шведска крона - шведски крони - - - Сингапурски долар - сингапурски долар - сингапурски долара - - - Света Елена лира - - - Словенски толар - словенски толар - словенски толара - - - Словашка крона - словашка крона - словашки крони - - - Сиералеонско леоне - сиералеонско леоне - сиералеонски леоне - - - Сомалийски шилинг - сомалийски шилинг - сомалийски шилинга - - - Суринамски долар - - - Суринамски гилдер - суринамски гилдер - суринамски гилдера - - - Сао Томе и Принсипи - добра - - - Съветска рубла - съветска рубла - съветски рубли - - - Салвадорски колон - салвадорски колон - салвадорски колона - - - Сирийска лира - сирийска лира - сирийски лири - - - Свазилендски лилангени - свазилендски лилангени - свазилендски лилангени - - - Тайландски бат - тайландски бат - тайландски бата - - - Таджикистанска рубла - таджикистанска рубла - таджикистански рубли - - - Таджикистански сомони - таджикистански сомони - таджикистански сомони - - - Туркменистански манат - туркменистански манат - туркменистански маната - - - Тунизийски динар - тунизийски динар - тунизийски динара - - - Тонга - па анга - - - Тиморско ескудо - тиморско ескудо - тиморски ескудо - - - Турска лира - турска лира - турски лири - - - Нова турска лира - нова турска лира - нови турски лири - - - Тринидат и Тобаго - долар - Тринидат и Тобаго - долара - - - Тайвански долар - тайвански долар - тайвански долара - - - Танзанийски шилинг - танзанийски шилинг - танзанийски шилинга - - - Украинска хривня - украинска хривня - украински хривни - - - Украински карбованец - украински карбованец - украински карбованеца - - - Угандийски шилинг (1966-1987) - угандийски шилинг (UGS) - угандийски шилинга (UGS) - - - Угандийски нов шилинг - угандийски нов шилинг - угандийски нови шилинга - - - САЩ долар - САЩ долара - - - Уругвайско песо (индекс на инфлацията) - - - Уругвайско песо (1975-1993) - уругвайско песо (UYP) - уругвайски песо (UYP) - - - Уругвайско песо - уругвайско песо - уругвайски песо - - - Узбекистански сум - узбекистански сум - узбекистански сума - - - Венецуелски боливар - венецуелски боливар - венецуелски боливара - - - Венецуелски боливар фуерте - - - Виетнамски донг - виетнамски донг - виетнамски донга - - - Вануату - вату - - - Самоа - тала - - - Буркина Фасо - CFA - франк - - - Злато - - - Източнокарибски долар - Антигуа - източнокарибски долар - източнокарибски долара - - - Еку на ЕИО - - - Френски златен франк - френски златен франк - френски златна франка - - - Бенин - CFA франк - - - Френскополинезийски франк - френскополинезийски франк - френскополинезийски франка - - - Непозната или невалидна валута - - - Йеменски динар - йеменски динар - йеменски динара - - - Йеменски риал - йеменски риал - йеменски риала - - - Югославски твърд динар - - - Югославски динар - югославски динар - югославски динара - - - Югославски конвертируем динар - югославски конвертируем динар - югославски конвертируеми динара - - - Южноафрикански ранд (финансов) - южноафрикански ранд (финансов) - южноафрикански ранда (финансови) - - - Южноафрикански ранд - южноафрикански ранд - южноафрикански ранда - - - Замбийска квача - замбийска квача - замбийски квачи - - - Заирско ново зайре - заирско ново зайре - заирски нови зайре - - - Заирско зайре - заирско зайре - заирски зайре - - - Зимбабвийски долар - зимбабвийски долар - зимбабвийски долара - - - - - - {0} ден - {0} дена - - - {0} час - {0} часа - - - {0} минута - {0} минути - - - {0} месец - {0} месеца - - - {0} секунда - {0} секунди - - - {0} седмица - {0} седмици - - - {0} година - {0} години - - - - - да:д - не:н - - - diff --git a/lib/zend/Zend/Locale/Data/bg_BG.xml b/lib/zend/Zend/Locale/Data/bg_BG.xml deleted file mode 100644 index 865deb21f3..0000000000 --- a/lib/zend/Zend/Locale/Data/bg_BG.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/bn.xml b/lib/zend/Zend/Locale/Data/bn.xml deleted file mode 100644 index 4b118df4c4..0000000000 --- a/lib/zend/Zend/Locale/Data/bn.xml +++ /dev/null @@ -1,2834 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - আফার - আব্খাজিয় - আচিনিয় - আকোলী - অদাগ্মে - আদেগে - আবেস্তীয় - আফ্রিকান্স - অফ্রো-এশিয়াটিক - আফ্রিহিলি - আইনু - আকান - আক্কাদিয়ান - আলেউত - আলগোঙকুইআন - দক্ষিন আলতাই - আমহারিক - আর্গোনিজ - প্রাচীন ইংরেজী - আঙ্গীকা - অ্যাপাচি - আরবী - আরামাইক - অ্যারোকেনিয় - আরাপাহো - কৃত্রিম - আরাওয়াক - আসামি - আস্তুরিয় - আথাপাস্কান - অস্ট্রেলিয় - আভেরিক - আওয়াধি - আয়মারা - আজারবাইজানীয় - বাশকির - বান্দা - বামিলেকে ভাষা - বেলুচী - বালিনীয় - বাসা - বাল্টিক ভাষা - বেলারুশিয় - বেজা - বেম্বা - বেরবের - বুলগেরিয় - বিহারি - ভোজপুরি - বিসলামা - বিকোল - বিনি - সিকসিকা - বামবারা - বাংলা - বান্টু - তিব্বতি - ব্রেটোন - ব্রাজ - বসনীয় - বাতাক - বুরিয়াত - বুগিনি - ব্লিন - কাতালান - ক্যাডো - মধ্য যুক্তরাষ্ঠের আদিবাসীদের ভাষা - ক্যারিব - ককেশীয - আত্সাম - চেচেন - চেবুয়ানো - কেল্টিক - চামেরো - চিবচা - চাগাতাই - চুকি - মারি - চিনুক পরিভাষা - চক্টো - চিপেওয়ান - চেরোকি - শাইয়েন - চামিক ভাষা - কর্সিকান - কপটিক - ইংরেজি জাত ক্রেওল অথবা পিজিন - ফরাসি জাত ক্রেওল অথবা পিজিন - পোর্তুগিজ-ভিত্তিক ক্রেওল বা পিজন - ক্রি - ক্রিমিয়ান তুর্কি - ক্রেওল অথবা পিজিন - চেক - কাশুবিয়ান - চার্চ স্লাভিও - কুশিতিক ভাষা - চুবাস - ওয়েলশ - ডেনিশ - ডাকোটা - দার্গওয়া - দায়াক - জার্মান - অস্ট্রিয়ান জার্মানি - সুইস উচ্চ জার্মানি - ডেলাওয়ের - স্ল্যাভ - দোগ্রীব - ডিংকা - দোগরি - দ্রাবীড় ভাষা - নিম্নতর সোর্বিয়ান - দুয়ালা - মধ্য ডাচ - দিবেহি - ডিউলা - ভুটানি - ইওয়ে - এফিক - প্রাচীন মিশরীয় - ইকাজুক - গ্রিক - এলামাইট - ইংরেজি - অস্ট্রেলীয় ইংরেজি - কানাডীয় ইংরেজি - ব্রিটিশ ইংরেজি - যুক্তরাষ্ট্র ইংরেজি - মধ্য ইংরেজি - এস্পেরান্তো - স্পেনীয় - ল্যাটিন আমেরিকান স্প্যানিশ - আইবেরিয়ান স্প্যানিশ - এস্তোনীয় - বাস্ক - ইওন্ডো - ফার্সি - ফ্যাঙ্গ - ফান্তি - ফুলাহ্ - ফিনিশ - ফিলিপিনো - ফিনো-ইউগ্রিক - ফিজিও - ফেরাউনি - ফন - ফরাসি - কানাডীয় ফরাসি - সুইস ফরাসি - মধ্য ফরাসি - প্রাচীন ফরাসি - উত্তরাঞ্চলীয় ফ্রিসিয়ান - পূর্ব ফ্রিসিয় - ফ্রিউলিয়ান - পশ্চিম ফ্রিসিয় - আইরিশ - গা - গায়ো - বায়া - স্কটস-গ্যেলিক - জার্মানিক ভাষা - গীজ - গিলবার্টিজ - গ্যালিশিয় - মধ্য-উচ্চ জার্মানি - গুয়ারানি - প্রাচীন উচ্চ জার্মানি - গোন্ডি - গোরোন্তালো - গথিক - গ্রেবো - প্রাচীন গ্রীক - সুইস জার্মান - গুজরাটি - ম্যাঙ্কস - গওইচ্’ইন - হাউসা - হাইডা - হাওয়াইয়ান - হিব্রু - হিন্দি - হিলিগ্যায়নোন - হিমাচালি - হিট্টিট - হ্‌মোঙ - হিরি মোতু - ক্রোয়েশীয় - উচ্চ সোর্বিয়ান - হাইতিয়ান - হাঙ্গেরীয় - হুপা - আর্মেনিয় - হেরেরো - ইন্টারলিঙ্গুয়া - ইবান - ইন্দোনেশীয় - ইন্টারলিঙ্গ - ইগ্‌বো - সিচুয়ান য়ি - ইজো - ইনুপিয়াক - ইলোকো - ভারতীয় ভাষা - ইন্দো-ইউরোপীয় ভাষা - ইঙ্গুশ - ইডো - ইরানী ভাষা - ইরোকোইয়ান ভাষা - আইসল্যান্ডীয় - ইতালীয় - ইনুক্টিটুট - জাপানি - লোজবান - জুদেও ফার্সি - জুদেও আরবি - জাভানি - জর্জিয়ান - কারা-কাল্পাক - কাবাইলে - কাচিন - অজ্জু - কাম্বা - কারেন - কাউই - কাবার্ডিয়ান - টাইয়াপ - কোরো - কোঙ্গো - খাশি - খোয়েশান ভাষা - খোটানিজ - কিকু্ইয়ু - কোয়ানিয়ামা - কাজাখ - ক্যালাল্লিসুট - খমের - কিম্বুন্দু - কান্নাড়ী - কোরিয়ান - কোঙ্কানি - কোস্রাইন - ক্‌পেল্লে - কানুরি - কারচে-বাল্কার - কারেলিয়ান - ক্রু - কুরুখ - কাশ্মীরী - কুর্দি - কুমিক - কুটেনাই - কোমি - কর্ণিশ - কির্গিজ - লাটিন - লাডিনো - লান্ডা - লাম্বা - লুক্সেমবার্গীয় - লেজঘিয়ান - গ্যান্ডা - লিম্বুর্গিশ - লিঙ্গালা - লাও - মোঙ্গো - লোজি - লিথুয়েনীয - লুবা-কাটাঙ্গা - লুবা-লুলুয়া - লুইসেনো - লুন্ডা - লুয়ো - লুশাই - লাত্‌ভীয় - মাদুরেসে - মাগাহি - মৈথিলি - ম্যাকাসার - ম্যান্ডিঙ্গো - অস্ট্রোনেশীয় - মাসাই - মোকশা - ম্যাণ্ডার - মেন্ডে - মালাগাসি - মধ্য আইরিশ - মার্শালিজ - মাওরি - মিকম্যাক - মিনাঙ্গ্‌কাবাউ - বিবিধ ভাষা - ম্যাসেডোনীয - মন-খমের ভাষা - মালেয়ালাম - মঙ্গোলিয় - মাঞ্চু - মণিপুরী - ম্যানোবো ভাষা - মলদাভিয় - মোহাওক - মসি - মারাঠি - মালে - মল্টিয় - বহুগুণিতক ভাষাসমূহ - মুণ্ডা ভাষা - ক্রিক - মিরান্ডিজ - মারোয়ারি - বর্মি - মায়ান ভাষা - এরজিয়া - নাউরু - নাহুৎল - উত্তৱ আমেরিকার ইন্ডিয়ান ভাষা - নেয়াপোলিটান - নরওয়ে বোকমাল - উত্তর এন্দেবিলি - নিম্ন জার্মানি - নেপালী - নেওয়ারি - এন্দোঙ্গা - নিয়াস - নাইজার-কোর্ডোফানিয়ান ভাষা - নিউয়ান - ডাচ - ফ্লেমিশ - নরওয়েজীয়ান নিনর্স্ক - নরওয়েজীয় - নোগাই - প্রাচীন নর্স - এন’কো - দক্ষিণ এনডেবেলে - উত্তরাঞ্চলীয় সোথো - নুবিয়ান ভাষা - নাভাজো - প্রাচীন নেওয়ারী - নায়াঞ্জা - ন্যায়ামওয়েজি - ন্যায়াঙ্কোলে - ন্যোরো - এন্.জিমা - অক্সিটান - ওজিবওয়া - অরোমো - উড়িয়া - ওসেটিক - ওসেজ - অটোমান তুর্কি - অটোমান ভাষা - পাঞ্জাবী - পাপুয়ান ভাষা - পাঙ্গাসিনান - পাহ্লাভি - পাম্পাঙ্গা - পাপিয়ামেন্টো - পালায়ুয়ান - প্রাচীন ফার্সি - ফিলিপাইন ভাষা - ফোনিশীয়ান - পালি - পোলিশ - পোহ্নপেইয়ান - প্রাকৃত ভাষা - প্রাচীন প্রোভেনসাল - পশ্তু - পর্তুগীজ - ব্রাজিলীয় পর্তুগীজ - আইবেরিয়ান পর্তুগিজ - কেচুয়া - রাজস্থানী - রাপানুই - রারোটোংগান - রেটো-রোমানীয় - রুন্দি - রোমানীয় - রোমান ভাষা - রোমানি - মূল - রুশ - আরোমানিয় - কিনয়ারোয়ান্ডা - সংষ্কৃত - স্যান্ডাওয়ে - ইয়াকুট - উত্তর আমেরিকান ইন্ডিয়ান ভাষা - শালিশান ভাষা - সামারিটান আরামিক - সাসাক - সাঁওতালি - সার্ডিনিয়ান - সিসিলিয়ান - স্কটস - সিন্ধি - উত্তরাঞ্চলীয় সামি - সেল্কুপ - সেমেটিক ভাষা - সাঙ্গো - প্রাচীন আইরিশ - চিহ্ন ভাষা - সার্বো-ক্রোয়েশিয় - শান - সিংহলী - সিডামো - সিওয়ুয়ান ভাষা - সিনো-তিব্বোতীয় ভাষা - স্লোভাক - স্লোভেনীয় - স্ল্যাভিক ভাষা - সামোয়ান - দক্ষিণাঞ্চলীয় সামি - সামি ভাষা - লুলে সামি - ইনারি সামি - স্কোল্ট সামি - শোনা - সোনিঙ্কে - সোমালী - সোগডিয়ান - সোঙ্গহাই - আলবেনীয় - সার্বীয় - স্রানান টোঙ্গো - সেরের - সোয়াতি - নিলো-সাহারান ভাষা - দক্ষিন সোথো - সুদানী - সুকুমা - সুসু - সুমেরীয় - সুইডিশ - সোয়াহিলি - প্রাচীন সিরিও - সিরিয়াক - তামিল - তাই ভাষা - তেলেগু - টাইম্নে - তেরেনো - তেতুম - তাজিক - থাই - তিগরিনিয়া - টাইগ্রে - টিভ - তুর্কমেনী - টোকেলাউ - তাগালগ - ক্লিঙ্গন - ত্লিঙ্গিট - তামাশেক - সোয়ানা - টঙ্গা - নায়াসা টোঙ্গা - টোক পিসিন - তুর্কী - সঙ্গা - সিমশিয়ান - তাতার - তুম্বুকা - তুপি ভাষা - আলতায়ীক ভাষা - টুভালু - টোয়াই - তাহিতিয়ান - টুভিনিয়ান - উডমুর্ট - উইঘুর - উগারিটিক - ইউক্রেনীয় - উম্বুন্দু - অজানা বা ভুল ভাষা - উর্দু - উজবেকীয় - ভাই - ভেন্ডা - ভিয়েতনামী - ভোলাপুক - ভোটিক - ওয়ালুন - ওয়াকাশান ভাষা - ওয়ালামো - ওয়ারে - ওয়াশো - সোরবিয়ান ভাষা - উওলোফ - কাল্মইক - জোসা - ইয়াও - ইয়াপেসে - য়িদ্দিশ - ইওরুবা - ইয়ুপিক ভাষা - ঝু্য়াঙ - জাপোটেক - চিত্র ভাষা - জেনাগা - চীনা - সহজ চীনা - প্রথাগত চীনা - জান্ডে - জুলু - জুনি - ভাষাতাত্তিক বিষয়সূচী বহির্ভুত - জাজা - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - পৃথিবী - আফ্রিকা - উত্তর আমেরিক - দক্ষিন আমেরিকা - ওসানিয়া - পশ্চিমাঞ্চলীয় আফ্রিকা - মধ্য আমেরিকা - পূর্ব আফ্রিকা - উত্তর আফ্রিকা - মধ্য আফ্রিকা - দক্ষিণাঞ্চলীয় আফ্রিকা - আমেরিকাস - উত্তরাঞ্চলীয় আমেরিকা - ক্যারাবিয়ান - পূর্ব এশিয়া - দক্ষিণাঞ্চলীয় এশিয়া - দক্ষিন পূর্ব এশিয়া - দক্ষিণাঞ্চলীয় ইউরোপ - অস্ট্রেলিয়া এবং নিউজিল্যান্ড - ম্যালেনেশিয়া - ম্যালেনিশা অঞ্চল - পলিনেশিয়া - দক্ষিন মধ্য এশিয়া - এশিয়া - মধ্য এশিয়া - পশ্চিমাঞ্চলীয় এশিয়া - ইউরোপ - পূর্ব ইউরোপ - উত্তরাঞ্চলীয় ইউরোপ - পশ্চিমাঞ্চলীয় ইউরোপ - স্বাধীন রাষ্ট্রের কমনওয়েলথ - চেকোস্লোভাকিয়া - ল্যাটিন আমেরিকা এবং ক্যারাবিয়ান - চ্যানেল দ্বীপপুঞ্জ - এ্যান্ডোরা - সংযুক্ত আরব আমিরাত - আফগানিস্তান - এন্টিগুয়া ও বারবুডা - এ্যাঙ্গুইলা - আলব্যানিয়া - আর্মেনিয়া - নেদারল্যান্ডস এ্যান্টিলিস - এ্যাঙ্গোলা - এন্টার্কটিকা - আর্জেণ্টাইনা - আমেরিকান সামোয়া - অস্ট্রিয়া - অস্ট্রেলিয়া - আরুবা - আলান্ড দ্বীপপুঞ্জ - আজারবাইজান - বসনিয়া ও হার্জেগোভিনা - বারবাদোস - বাংলাদেশ - বেলজিয়াম - বুরকিনা ফাসো - বুলগেরিয়া - বাহরাইন - বুরুন্ডি - বেনিন - সেন্ট বারথেলিমি - বারমুডা - ব্রুনেই - বোলিভিয়া - ব্রাজিল - বাহামা দ্বীপপুঞ্জ - ভুটান - বোভেট দ্বীপ - বতসোয়ানা - বেলোরুশিয়া - বেলিয - কানাডা - কোকোস দ্বীপপুঞ্জ - কঙ্গো - কিনসাসা - মধ্য আফ্রিকান প্রজাতন্ত্র - কঙ্গো - সুইজর্লণ্ড - আইভরি কোস্ট - কুক দ্বীপপুঞ্জ - চিলি - ক্যামেরুন - চীন - কোলোম্বিয়া - কোস্টারিকা - সারবিয়ান এবং মন্টেনিগ্রো - কিউবা - কেপভার্দে - ক্রিসমাস দ্বীপ - সাইপ্রাস - চেক প্রজাতন্ত্র - জার্মানি - জিবুতি - ডেনমার্ক - ডোমিনিকা - ডোমেনিকান প্রজাতন্ত্র - এলজিরিয়া - ইকুয়েডর - এস্তোনিয়া - মিশর - পশ্চিমী সাহারা - ইরিত্রিয়া - স্পেন - ইফিওপিয়া - ফিন্ল্যাণ্ড - ফিজি - ফকল্যান্ড দ্বীপপুঞ্জ - মাইক্রোনেশিয়া - ফ্যারও দ্বীপপুঞ্জ - ফ্রান্স - গ্যাবন - গ্রেটবৃটেন - গ্রেনাডা - জর্জিয়া - ফরাসী গায়ানা - গ্রাঞ্জি - ঘানা - জিব্রাল্টার - গ্রীনল্যান্ড - গাম্বিয়া - গিনি - গুয়াদেলৌপ - নিরক্ষীয় গিনি - গ্রীস্ - দক্ষিণ জর্জিয়া ও দক্ষিণ স্যান্ডউইচ দ্বীপপুঞ - গোয়াটিমালা - গুয়াম - গিনি-বিসাউ - গিয়ানা - হংকং এসএআর চীনা - হার্ড দ্বীপ এবং ম্যাকডোনাল্ড দ্বীপপুঞ্জ - হণ্ডুরাস - ক্রোয়েশিয়া - হাইতি - হাঙ্গেরি - ইন্দোনেশিয়া - আয়ার্লণ্ড - ইস্রায়েল - ম্যানদ্বীপ - ভারত - ব্রিটিশ ভারত মহাসাগরীয় অঞ্চল - ইরাক - ইরান - আইসলণ্ড - ইতালী - জার্সি - জ্যামেকা - জর্ডন - জাপান - কেনিয়া - কির্গিজিয়া - কাম্বোজ - কিরিবাতি - কমোরোস - সেন্ট কিটস ও নেভিস - উত্তর কোরিয়া - দক্ষিণ কোরিয়া - কুয়েত - কেম্যান দ্বীপপুঞ্জ - কাজাকস্থান - লাওস - লেবানন - সেন্ট লুসিয়া - লিচেনস্টেইন - শ্রীলঙ্কা - লাইবেরিয়া - লেসোথো - লিত্ভা - লাক্সেমবার্গ - লাত্ভিয়া - লিবিয়া - মোরক্কো - মোনাকো - মোল্দাভিয়া - মন্টিনিগ্রো - সেন্ট মার্টিন - মাদাগাস্কার - মার্শাল দ্বীপপুঞ্জ - ম্যাসাডোনিয়া - মালি - মায়ানমার - মঙ্গোলিয়া - ম্যাকাও এসএআর চীনা - উত্তরাঞ্চলীয় মারিয়ানা দ্বীপপুঞ্জ - মার্টিনিক - মরিতানিয়া - মন্টসেরাট - মাল্টা - মরিশাস - মালদ্বীপ - মালাউই - মক্সিকো - মাল্যাশিয়া - মোজাম্বিক - নামিবিয়া - নিউ ক্যালেডোনিয়া - নাইজার - নিরফোক দ্বীপ - নাইজেরিয়া - নিকারাগুয়া - হলণ্ড - নরওয়ে - নেপাল - নাউরু - নিউয়ে - নিউ জিলণ্ড - ওমান - পানামা - পিরু - ফরাসী পলিনেশিয়া - পাপুয়া নিউ গিনি - ফিলিপাইন - পাকিস্তান - পোল্যাণ্ড - সেন্ট পিয়ের ও মিকুয়েলন - পিটকেয়ার্ন - পুয়ের্টোরিকো - ফিলিস্তিন অঞ্চল - পর্তুগাল - পালাউ - প্যারাগোয়ে - কাতার - আউটলাইনিং ওসানিয়া - ইউরোপীয় ইউনিয়ন - রিইউনিয়ন - রুমানিয়া - সারবিয়া - রাশিয়া - রুয়ান্ডা - সাউদি আরব - সলোমন দ্বীপপুঞ্জ - সিসিলি - সুদান - সুইডেন - সিঙ্গাপুর - সেন্ট হেলেনা - স্লোভানিয়া - স্বালবার্ড ও জান মেয়েন - শ্লোভাকিয়া - সিয়েরালিওন - সান মারিনো - সেনেগাল - সোমালি - সুরিনাম - সাওটোমা ও প্রিন্সিপি - এল সালভেদর - সিরিয়া - সোয়াজিল্যান্ড - তুর্কস ও কাইকোস দ্বীপপুঞ্জ - চাদ - ফরাসী দক্ষিণাঞ্চল - টোগো - থাই - তাজিকস্থান - টোকেলাউ - পূর্ব-তিমুর - তুর্কমেনিয়া - টিউনিস্ - টোঙ্গা - তুরস্ক - ত্রিনিনাদ ও টোব্যাগো - টুভালু - তাইওয়ান - তাঞ্জানিয়া - ইউক্রেইন - উগান্ডা - যুক্তরাষ্ট্রের ক্ষুদ্র ও পার্শ্ববর্তী দ্বীপপুঞ্জ - মার্কিন যুক্তরাষ্ট্র - উরুগোয়ে - উজ্বেকিস্থান - ভ্যাটিকান সিটি - সেন্ট ভিনসে‡ন্ট ও দ্যা গ্রেনাডিনস - ভেনেজুয়েলা - ব্রিটিশ ভার্জিন দ্বীপপুঞ্জ - মার্কিন ভার্জিন দ্বীপপুঞ্জ - ভিয়েতনাম - ভানুয়াটু - ওয়ালিস ও ফুটুনা - সামোয়া - ইমেন - মায়োত্তে - দক্ষিণ আফ্রিকা - জাম্বিয়া - জিম্বাবুয়ে - অজানা অথবা ভুল স্থান - - - ক্যালেন্ডার - সজ্জাক্রম - মুদ্রা - - - প্রথাগত চীনা সজ্জাক্রম - বিগ৫ - বৌদ্ধ বর্ষপঞ্জী - চীনা বর্ষপঞ্জী - প্রত্যক্ষ সজ্জাক্রম - সাধারণ চীনা সজ্জাক্রম - জিবি২৩১২ - গ্রিগোরিয়ান বর্ষপঞ্জী - হিব্রু বর্ষপঞ্জী - ভারতীয় জাতীয় বর্ষপঞ্জী - ইসলামিক বর্ষপঞ্জী - ইসলামিক-সিভিল বর্ষপঞ্জী - জাপানি বর্ষপঞ্জী - ফোনবুক সজ্জাক্রম - পিনিন সজ্জাক্রম - গণপ্রজাতন্ত্রী চীনা বর্ষপঞ্জী - আবর্তিত সজ্জাক্রম - প্রথাগত সজ্জাক্রম - - - মার্কিন - মেট্রিক - - - ভাষা: {0} - লিপি: {0} - অঞ্চল: {0} - - - - [় ঁ-ঃ ৺ অ-ঋ ৠ ঌ ৡ এ ঐ ও-ড {ড়} ঢ {ঢ়} ণ ত ৎ থ-ন প-য {য়} র ল শ-হ ঽ-ৄ ৢ ৣ ে ৈ ো-্ ৗ] - [\u200C \u200D ৺ ৸ ৹ ৲-৷ a d e E h l L m M q Q s v y ৠ ঌ ৡ ৰ ৱ ঽ ৄ ৢ ৣ] - [৳] - - - “ - ” - ‘ - ’ - - - - - - - - জানুয়ারী - ফেব্রুয়ারী - মার্চ - এপ্রিল - মে - জুন - জুলাই - আগস্ট - সেপ্টেম্বর - অক্টোবর - নভেম্বর - ডিসেম্বর - - - জানুয়ারী - ফেব্রুয়ারী - মার্চ - এপ্রিল - মে - জুন - জুলাই - আগস্ট - সেপ্টেম্বর - অক্টোবর - নভেম্বর - ডিসেম্বর - - - - - জা - ফে - মা - এ - মে - জুন - জু - আ - সে - অ - ন - ডি - - - - - - - রবি - সোম - মঙ্গল - বুধ - বৃহস্পতি - শুক্র - শনি - - - রবিবার - সোমবার - মঙ্গলবার - বুধবার - বৃহষ্পতিবার - শুক্রবার - শনিবার - - - - - র - সো - ম - বু - বৃ - শু - শ - - - - - - - চতুর্থাংশ ১ - চতুর্থাংশ ২ - চতুর্থাংশ ৩ - চতুর্থাংশ ৪ - - - প্রথম চতুর্থাংশ - দ্বিতীয় চতুর্থাংশ - তৃতীয় চতুর্থাংশ - চতুর্থ চতুর্থাংশ - - - - - ১ - ২ - ৩ - ৪ - - - - পূর্বাহ্ণ - অপরাহ্ণ - - - খৃষ্টপূর্ব - খৃষ্টাব্দ - - - - - - EEEE, d MMMM, y - - - - - d MMMM, y - - - - - d MMM, y - - - - - d/M/yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - d EEE - HH:mm - L - E, d-M - LLL - E d MMM - E d MMMM - d MMMM - d MMM - dd-MM - d/M - d - mm:ss - y - M/yyyy - EEE, d/M/yyy - MMM y - EEE, d MMM, y - MMMM y - Q y - QQQ y - Q yy - MM-yyyy - MMMM y - - - {0} – {1} - - M-M - - - E, d/M – E, d/M - E, d/M – E, d/M - - - LLL-LLL - - - E, d MMM – E, d MMM - E, d MMM – E, d MMM - - - LLLL-LLLL - - - d MMM – d MMM - d–d MMM - - - d/M - d/M - d/M - d/M - - - d-d - - - h a – h a - h–h a - - - h:mm a – h:mm a - h:mm–h:mm a - h:mm–h:mm a - - - h:mm a – h:mm a v - h:mm–h:mm a v - h:mm–h:mm a v - - - h a – h a v - h–h a v - - - y-y - - - M/yy – M/yy - M/yy – M/yy - - - E, d/M/yy – E, d/M/yy - E, d/M/yy – E, d/M/yy - E, d/M/yy – E, d/M/yy - - - MMM–MMM y - MMM y – MMM y - - - E, d MMM – E, d MMM, y - E, d MMM – E, d MMM, y - E, d MMM, y – E, d MMM, y - - - MM – MM -yyyy - MM-yyyy – MM-yyyy - - - d MMM – d MMM, y - d–d MMM, y - d MMM, y – d MMM, y - - - d/M/yy – d/M/yy - d/M/yy – d/M/yy - d/M/yy – d/M/yy - - - - - - যুগ - - - বছর - - - মাস - - - সপ্তাহ - - - দিন - গত তরশু - গত পরশু - গতকাল - আজ - আগামীকাল - আগামী পরশু - আগামী তরশু - - - সপ্তাহের দিন - - - পূর্বাহ্ণ/অপরাহ্ণ - - - ঘন্টা - - - মিনিট - - - সেকেন্ড - - - এলাকা - - - - - - - - চৈত্র - বৈশাখ - জৈষ্ঠ্য - আষাঢ় - শ্রাবণ - ভাদ্র - আশ্বিন - কার্তিক - অগ্রহায়ণ - পৌষ - মাঘ - ফাল্গুন - - - চৈত্র - বৈশাখ - জৈষ্ঠ্য - আষাঢ় - শ্রাবণ - ভাদ্র - আশ্বিন - কার্তিক - অগ্রহায়ণ - পৌষ - মাঘ - ফাল্গুন - - - - - ১ - ২ - ৩ - ৪ - ৫ - ৬ - ৭ - ৮ - ৯ - ১০ - ১১ - ১২ - - - - পূর্বাহ্ন - অপরাহ্ন - - - সাল - - - - - - - - মহরম - সফর - রবিউল আউয়াল - রবিউস সানি - জমাদিউল আউয়াল - জমাদিউস সানি - রজব - শা'বান - রমজান - শাওয়াল - জ্বিলকদ - জ্বিলহজ্জ - - - মহররম - সফর - রবিউল আউয়াল - রবিউস সানি - জমাদিউল আউয়াল - জমাদিউস সানি - রজব - শা'বান - রমজান - শাওয়াল - জ্বিলকদ - জ্বিলহজ্জ - - - - - ১ - ২ - ৩ - ৪ - ৫ - ৬ - ৭ - ৮ - ৯ - ১০ - ১১ - ১২ - - - - পূর্বাহ্ন - অপরাহ্ন - - - যুগ - - - - - - +HH:mm;-HH:mm - গ্রীনিচ মান সময় {0} - গ্রীনিচ মান সময় - {0} সময় - {1} ({0}) - - অজানা - - - রথেরা - - - পামার - - - দক্ষিণ মেরু - - - সিওয়া - - - মসোন - - - ডেভিস - - - ভস্টোক - - - কেইসি - - - ডুমন্ট ডি’উরভিল - - - ম্যাকমুর্ডো - - - রিও গায়েগোস - - - মেন্ডোজা - - - সান হুয়ান - - - উশুয়াইয়া - - - লা রিওহা - - - সান লুইস - - - ক্যাটামার্কা - - - হুহুই - - - টুকুমান - - - কর্ডোবা - - - বুয়েনোস আয়েরেস - - - পার্থ - - - ইউক্লা - - - ডারউইন - - - এ্যাডেলেইড - - - ব্রোকেন হিল - - - কিউরি - - - মেলবার্ন - - - হোবার্ট - - - লিনডেম্যান - - - সিডনি - - - ব্রিসবেন - - - লর্ড হাও - - - আইরুনেপে - - - রিও ব্রাঙ্কো - - - পোর্তো ভেল্‌হো - - - বোয়া ভিস্তা - - - মানাউস - - - কুইয়াবা - - - কাম্পো গ্রান্ডে - - - বেলেম - - - আরাগুয়াইনা - - - সাও পাউলো - - - বাহিয়া - - - ফোর্টালেজা - - - মাসেয়ো - - - রেসিফে - - - নরোন্‌হা - - - ডসোন - - - হো্য়াইট হর্স - - - ইনুভ্যাক - - - ভ্যাঙ্কুভার - - - ডসোন ক্রিক - - - ইয়েলোনাইফ - - - এডমন্টোন - - - সুইফ্ট কারেন্ট - - - কেমব্রিজ বে - - - রেজিনা - - - উইনিপেগ - - - রেসোলুট - - - রেইনি রিভার - - - র‌্যাঙ্কিন ইনলেট - - - কোরাল হার্বার - - - থান্ডার বে - - - নিপিগোন - - - টোরন্টো - - - মন্ট্রিয়াল - - - ইকুয়ালুইট - - - প্যাঙ্গনির্টুং - - - মঙ্কটোন - - - হ্যালিফ্যাক্স - - - গুস বে - - - গ্লাস বে - - - ব্লাঙ্ক-সাব্লোন - - - সেন্ট জন্স - - - কিনশাসা - - - লুবুম্বাশি - - - ইস্টার - - - ক্যাশগার - - - উরুমকি - - - চোঙকিং - - - হার্বিন - - - গ্যালাপ্যাগোস - - - কানেরি - - - সেউটা - - - ট্রুক - - - পোনাপে - - - কোসরায় - - - থুলি - - - স্কোর্সবায়সুন্ড - - - ডানমার্কশ্যাভন - - - জাকার্তা - - - পন্টিয়ান্যাক - - - মাকাসসার - - - জয়াপুরা - - - এন্ডারবারি - - - কিরিতিমাতি - - - টারাওয়া - - - আকটাউ - - - ওরাল - - - আকটোবে - - - কিজিলর্ডা - - - আলমাটি - - - কোয়াজালেইন - - - মাজুরো - - - হোভ্ড - - - উলানবাতার - - - চোইবাল্‌স্যান - - - তিয়াওয়ানা - - - হারমোসিল্লো - - - মাজাটলান - - - চিহুয়াহুয়া - - - মন্টেরি - - - মেক্সিকো সিটি - - - মেরিডা - - - ক্যানকুন - - - কুচিং - - - চ্যাঠাম - - - মার্কেসাস - - - গাম্বিয়ের - - - আজোরেস - - - মাডেইরা - - - কালিনিঙগ্রাড - - - মস্কো - - - ভোল্গোগ্রাদ - - - সামারা - - - ইয়েকাটেরিনবার্গ - - - ওম্স্ক - - - নভোসিবির্স্ক - - - ক্রাসনোইয়ার্স্ক - - - ইর্কুট্স্ক - - - ইয়াকুট্স্ক - - - ভ্লাদিভস্তোক - - - সাখালিন - - - ম্যাগাডান - - - কামচাটকা - - - অ্যানাডির - - - উঝগোরোড - - - কিয়েভ - - - সিমফেরোপোল - - - জাপোরোঝা - - - মিডওয়ে - - - জনস্টন - - - ওয়েক - - - আডাক - - - নোম - - - হনোলুলু - - - এনকোরেজ - - - ইয়াকুটাট - - - জুনো - - - লস এ্যাঞ্জেলেস - - - বয়জি - - - ফিনিক্স - - - শিপ্রক - - - ডেনভার - - - নিউ সালেম, উত্তর ডাকোটা - - - মধ্য, উত্তর ডাকোটা - - - শিকাগো - - - মেনোমিনি - - - ভিনসেন্নেস, ইন্ডিয়ানা - - - পিটারর্সবার্গ, ইন্ডিয়ানা - - - টেলসিটি, ইন্ডিয়ানা - - - নক্স, ইন্ডিয়ানা - - - উইনাম্যাক, ইন্ডিয়ানা - - - মারেঙ্গো, ইন্ডিয়ানা - - - ইন্ডিয়ানাপোলিস - - - লুইসভিল - - - ভেভেয়, ইন্ডিয়ানা - - - মন্টিচেলো, কেন্টাকি - - - ডেট্রোইট - - - নিউইয়র্ক - - - সমরখন্দ - - - - বাংলাদেশ সময় - - - - - - beng - - . - , - ; - % - ০ - # - + - - - E - ‰ - ∞ - সংখ্যা না - - - - - #,##,##0.### - - - - - - - #E0 - - - - - - - #,##,##0% - - - - - - - #,##,##0.00¤;(#,##,##0.00¤) - - - {0} {1} - {0} {1} - - - - এ্যান্ডোরান পেসেতা - - - সংযুক্ত আরব আমিরাত দিরহাম - - - আফগানি (১৯২৭-২০০২) - - - আফগানি - - - আলবেনিয়ান লেক - - - আরমেনিয়ান দ্রাম - - - নেদারল্যান্ড এ্যান্টিলিয়ান গুল্ডের - - - এ্যাঙ্গোলান কওয়ানজা - - - এ্যাঙ্গোলান কওয়ানজা (১৯৭৭-১৯৯০) - - - এ্যাঙ্গোলান নতুন কওয়ানজা (১৯৯৫-২০০০) - - - এ্যাঙ্গোলান কওয়ানজা (১৯৯৫-১৯৯৯) - - - আর্জেন্টিনা অস্ট্রাল - - - আর্জেন্টিনা পেসো (১৯৮৩-১৯৮৫) - - - আর্জেন্টিনা পেসো - - - অস্ট্রিয়ান শিলিং - - - অস্ট্রেলিয়ান ডলার - - - আরুবা গিল্ডার - - - আজারবাইজান মানাত (১৯৯৩-২০০৬) - - - আজারবাইজান মানাত - - - বসনিয়া এবং হার্জেগোভিনা দিনার - - - বসনিয়া এবং হার্জেগোভিনা মার্ক - - - বার্বেডোজ ডলার - - - বাংলাদেশী টাকা - ৳ - - - বেলজিয়ান ফ্রাঙ্ক (রূপান্তরযোগ্য) - - - বেলজিয়ান ফ্রাঙ্ক - - - বেলজিয়ান ফ্রাঙ্ক (আর্থিক) - - - বুলগেরীয় হার্ড লেভ - - - বুলগেরীয় নিউ লেভ - - - বাহরাইনি দিনার - - - বুরুন্ডি ফ্রাঙ্ক - - - বারমিউডান ডলার - - - ব্রুনেই ডলার - - - বলিভিয়ানো - - - বলিভিয়ান পেসো - - - বলিভিয়ান মভডোল - - - ব্রাজিলিয়ান ক্রুজেয়রোনোভো (১৯৬৭-১৯৮৬) - - - ব্রাজিলিয়ান ক্রুজেইডাউ - - - ব্রাজিলিয়ান ক্রুজেয়রো (১৯৯০-১৯৯৩) - - - ব্রাজিলিয়ান রিয়েল - - - ব্রাজিলিয়ান ক্রুজেইডো নোভো - - - ব্রাজিলিয়ান ক্রুজেয়রো - - - বাহামিয়ান ডলার - - - ভুটানি এনগুল্ট্রুম - - - বর্মি কিয়াৎ - - - বতসোয়ানা পুলা - - - বেলারুশিয়ান নিউ রুবেল (১৯৯৪-১৯৯৯) - - - বেলারুশিয়ান রুবেল - - - বেলিজ ডলার - - - কম্বোডিয়ান ডলার - - - কঙ্গো ফ্র্যাঙ্ক কঙ্গোলাইস - - - সুইজারল্যান্ড ইউরো - - - সুইস ফ্রাঙ্ক - - - সুইজারল্যান্ড ফ্রাঙ্ক - - - চিলিয়ান উনিদাদেস দি ফোমেন্তো - - - চিলি পেসো - - - চীনা য়ুয়ান রেন্মিন্‌বি - - - কলোম্বিয়ান পেসো - - - উনিদাদ দি ভ্যালোর রিয়েল - - - কোস্টা রিকা কোলোন - - - প্রাচীন সারবিয়ান দিনার - - - চেকোস্লোভাক হার্ড কোরুনা - - - কিউবান পেসো - - - কেপ ভার্দে এসকুডো - - - সাইপ্রাস পাউন্ড - - - চেকোস্লোভাক কোরুনা - - - পূর্ব জার্মান মার্ক - - - ডয়চ্ মার্ক - - - জিবুতি ফ্রাঙ্ক - - - ড্যানিশ ক্রৌন - - - ডোমিনিকান পেসো - - - আলজেরীয় দিনার - - - ইকুয়াডোর সুক্রে - - - ইকুয়াডোর উনিদাদেস দি ভেলর কনসতান্তে (ইউভিসি) - - - এস্তোনিয়া ক্রুনি - - - মিশরীয় পাউন্ড - - - এরিট্রিয়েন নাকফা - - - স্প্যানিশ পেসেতা (একই হিসাব) - - - স্প্যানিশ পেসেতা (রূপান্তরযোগ্য হিসাব) - - - স্প্যানিশ পেসেতা - - - ইথিওপিয়ান বির - - - ইউরো - - - ফিনিস মার্কা - - - ফিজি ডলার - - - ফকল্যান্ড দ্বীপপুঞ্জ পাউন্ড - - - ফরাসি ফ্রাঙ্ক - - - ব্রিটিশ পাউন্ড স্টার্লিং - - - জর্জিয়ান কুপন লারিট - - - জর্জিয়ান লারি - - - ঘানা সেডি (১৯৭৯-২০০৭) - - - ঘানা সেডি - - - জিব্রাল্টার পাউন্ড - - - গাম্বিয়া ডালাসি - - - গিনি ফ্রাঙ্ক - - - গিনি সাইলি - - - ইকুয়েটোরিয়াল গিনি ইকুয়িলি - - - গ্রীক দ্রাচমা - - - গুয়াতেমালা কুয়েৎজাল - গুয়াতেমালা কুয়েৎজাল - - - পর্তুগিজ গিনি এসকুডো - - - গিনি বিসাউ পেসো - - - গাইয়েনা ডলার - - - হংকং ডলার - - - হন্ডুরাস লেম্পিরা - - - ক্রোয়েশিয়ান দিনার - - - ক্রোয়েশিয়ান কুনা - ক্রোয়েশিয়ান কুনাস - - - হাইতি গৌর্দে - - - হাঙ্গেরিয়ান ফোরিন্ট - - - ইন্দোনেশিয়ান রুপিয়াহ - - - ইরিশ পাউন্ড - - - ইস্রাইলি পাউন্ড - - - ইস্রাইলি নতুন শেকেল - - - ভারতীয় রুপি - টাকা - - - ইরাকি দিনার - - - ইরানিয়ান রিয়াল - - - আইসল্যান্ড ক্রৌন - - - ইতালীয় লিরা - - - জ্যামাইকান ডলার - - - জর্ডানিয়ান দিনার - - - জাপানিজ ইয়েন - - - কেনিয়ান শিলিং - - - কিরগিজস্তান সোম - - - কম্বোডিয়ান রিয়েল - - - কম্বোরো ফ্রাঙ্ক - - - নাইজেরিয়ান পাউন্ড - - - দক্ষিণ কোরিয়ান ওন - - - কুয়েতি দিনার - - - কেম্যান দ্বীপপুঞ্জের ডলার - - - কাজাক্সটান টেঙ্গে - - - লেউশান কিপ - - - লেবানিজ পাউন্ড - - - শ্রীলঙ্কান রুপি - - - লাইবেরিয়ান ডলার - - - লেসুটু লোটি - - - লিথুইনিয়ান লিটা - - - লিথুইনিয়ান টালোন্যাস - - - লুক্সেমবার্গ রুপান্তযোগ্য ফ্রাঙ্ক - - - লুক্সেমবার্গ ফ্রাঙ্ক - - - লুক্সেমবার্গ ফাইনেনশিয়াল ফ্রাঙ্ক - - - ল্যাটভিয়ান ল্যাট্‌স - - - ল্যাটভিয়ান রুবল - - - লিবিয়ান ডলার - - - মোরোক্কান দিরহাম - - - মোরোক্কান ফ্রাঙ্ক - - - মোল্ডোভান লেয়ু - - - মাদাগাস্কার আরিয়ারি - - - মাদাগাস্কার ফ্রাঙ্ক - - - ম্যাসেডোনিয়ান দিনার - - - মালি ফ্রাঙ্ক - - - মায়ানমার কিয়াত - - - মঙ্গোলিয়ান তুগরিক - - - ম্যাক্যাও পাটাকা - - - মৌরিতানিয়ান ওউগুইয়া - - - মাল্টা লিরা - - - মাল্টা পাউন্ড - - - মৌরিতানিয়ান রুপি - - - মালদিভিয়ান রুফিয়া - - - মালাউই॰¯়ান কওয়াচ - - - ম্যাক্সিকান পেসো - - - ম্যাক্সিকান সিলভার পেসো (১৮৬১-১৯৯২) - - - মেক্সিকান উনিদাদ দি ইনভার্সান (UDI) - - - মালয়েশিয়ান রিঙ্গিৎ - - - মোজাম্বিক এসকুডো - - - প্রাচীন মোজাম্বিক মেটিকেল - - - মোজাম্বিক মেটিকেল - - - নামিবিয়া ডলার - - - নাইজেরিয়ান নায়রা - - - নিকারাগুয়ান কর্ডোবা - - - নিকারাগুয়ান কর্ডোবা ওরো - - - নেদারল্যান্ড গুল্ডের - - - নরওয়ে ক্রৌন - - - নেপালি রুপি - - - নিউজিল্যান্ড ডলার - - - ওমানি রিয়াল - - - পানামা বেলবোয়া - - - পেরুভিয়ান ইন্তি - - - পেরুভিয়ান সোল নুয়েভো - - - পেরুভিয়ান সোল - - - পপুয়ানিউগিনি কিনা - - - ফিলিপাইন পেসো - - - পাকিস্তানি রুপি - - - পোলিশ জ্লোটি - - - পোলিশ জ্লোটি (১৯৫০-১৯৯৫) - - - পর্তুগিজ এসকুডো - - - প্যারগুয়ান - - - কাতার রিয়্যাল - - - রোডেশিয়ান ডলার - - - প্রাচীন রুমানিয়া লেয়ু - - - রুমানিয়া লেয়ু - - - সারবিয়ান দিনার - - - রাশিয়ান রুবেল - - - রাশিয়ান রুবল (১৯৯১-১৯৯৮) - - - রুয়ান্ডান ফ্রাঙ্ক - - - সৌদি রিয়্যাল - - - সলোমন দ্বীপপুঞ্জ ডলার - - - সেয়চেল্লোইস রুপি - - - প্রাচীন সুদানি দিনার - - - সুদানি পাউন্ড - সুদানি পাউন্ড - - - প্রাচীন সুদানি পাউন্ড - - - সুইডিশ ক্রোনা - - - সিঙ্গাপুর ডলার - - - সেন্ট হেলেনা পাউন্ড - - - স্লোভানিয়া টোলার - - - স্লোভাক কোরুনা - - - সিয়েরালিয়ন লিয়ন - - - সোমালি শিলিং - - - সুরিনাম ডলার - - - সুরিনাম গিল্ডার - - - সাও টোমে এবং প্রিন্সিপে ডোবরা - - - সোভিয়েত রুবল - - - এল স্যালভোডোর কোলোন - - - সিরিয়ান পাউন্ড - - - সোয়াজিল্যান্ড লিলাঙ্গেনি - - - থাই বাত - - - তাজিকিস্তান রুবল - - - তাজিকিস্তান সোমোনি - - - তুর্কমেনিস্টানি মানাত - - - তুর্কমেনিস্তান নতুন মানত - - - তিউনেশিয়ান দিনার - - - টোঙ্গা পা’আঙ্গা - - - তিমুর এসকুডো - - - প্রাচীন তুর্কি লিরা - - - তুর্কি লিরা - - - ত্রিনিদাদ এবং টোবাগো ডলার - - - নূতন তাইওয়ান ক্যারাবিয়ান ডলার - - - তাঞ্জনিয়া শিলিং - - - ইউক্রেইন হৃভনিয়া - - - ইউক্রেইন কার্বোভ্যান্টস - - - উগান্ডান শিলিং (১৯৬৬-১৯৮৭) - - - উগান্ডান শিলিং - - - মার্কিন ডলার - - - মার্কিন ডলার (পরবর্তী দিন) - - - মার্কিন ডলার (একই দিন) - - - উরুগুয়ায়ান পেসো এন উনিদাদেস ইনডেক্সেডাস - - - উরুগুয়ে পেসো (১৯৭৫-১৯৯৩) - - - উরুগুয়ে পেসো উরুগুয়েও - - - উজবেকিস্তানি সোম - - - ভেনিজুয়েলান বলিভার - - - ভেনিজুয়েলীয় বলিভার র্ফুতে - - - ভিয়েতনামি ডঙ্গ - - - ভানুয়াতু ভাতু - - - পশ্চিমাঞ্চলীয় সামোয়ান টালা - - - সিএফএ ফ্র্যাঙ্ক বিইএসি - - - সিলভার - - - গোল্ড - - - ইউরোপীয় আর্থিক একক - - - পূর্ব ক্যারাবিয়ান ডলার - - - ইউরোপীয় মুদ্রা একক - - - ফরাসি গোল্ড ফ্রাঙ্ক - - - ফরাসি ইউআইসি - ফ্রাঙ্ক - - - সিএফএ ফ্র্যাঙ্ক বিসিইএও - - - প্যালেডিয়াম - - - সিএফপি ফ্র্যাঙ্ক - - - প্লাটিনাম - - - অজানা বা ভুল মুদ্রা - - - ইয়েমেনি দিনার - - - ইয়েমেনি রিয়াল - - - যুগোশ্লাভিয় হার্ড দিনার - - - যুগোশ্লাভিয় নোভি দিনার - - - যুগোশ্লাভিয় রুপান্তরযোগ্য দিনার - - - দক্ষিণ আফ্রিকান র‌্যান্ড - - - দক্ষিণ আফ্রিকান রেন্ড - - - জাম্বিয়ান কওয়াচা - - - জাইরিয়ান নিউ জাইরে - - - জাইরিয়ান জাইরে - - - জিম্বাবুয়ে ডলার - - - জিম্বাবুয়ে ডলার (২০০৯) - - - জিম্বাবুয়ে ডলার (২০০৮) - - - - - - {0} দিন - {0} দিন - - - {0} ঘন্টা - {0} ঘন্টা - - - {0} মিনিট - {0} মিনিট - - - {0} মাস - {0} মাস - - - {0} সেকেন্ড - {0} সেকেন্ড - - - {0} সপ্তাহ - {0} সপ্তাহ - - - {0} বছর - {0} বছর - - - - - হাঁ - না - - - diff --git a/lib/zend/Zend/Locale/Data/bn_BD.xml b/lib/zend/Zend/Locale/Data/bn_BD.xml deleted file mode 100644 index 94fb24b179..0000000000 --- a/lib/zend/Zend/Locale/Data/bn_BD.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/bn_IN.xml b/lib/zend/Zend/Locale/Data/bn_IN.xml deleted file mode 100644 index f7a4a690e7..0000000000 --- a/lib/zend/Zend/Locale/Data/bn_IN.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - আবখাজিয়ান - অ্যাচাইনিজ - আকোলি - আফ্রো-এশিয়াটিক ভাষা - আলগোনকিউয়ান ভাষা - আঙ্গিকা - চামোরো - চিনুক জার্গন - চকটোও - চিপেওয়াইয়ান - চেয়েনি - চার্চ স্লাভিক - অস্ট্রিয়ান জারমান - ডোগরি - অস্ট্রেলিয়ান ইংরাজী - ক্যানাডিয়ান ইংরেজি - ব্রিটিশ ইংরেজী - ক্যানাডিয়ান ফরাসী - অস্ট্রোনেসিয়ান - আরমেনিয়ান - আলটাইক - ব্লিসসিম্বলস - - - diff --git a/lib/zend/Zend/Locale/Data/bo.xml b/lib/zend/Zend/Locale/Data/bo.xml deleted file mode 100644 index 6d495d6a45..0000000000 --- a/lib/zend/Zend/Locale/Data/bo.xml +++ /dev/null @@ -1,441 +0,0 @@ - - - - - - - - - - - པོད་སྐད་ - འཇར་མན་གྱི། - རྫོང་ཁ - ཨིང་ལིཤ་སྐད། - ཨིང་ལིཤ་སྐད། (ཁེ་ན་ཌ་) - ཨིང་ལིཤ་སྐད། (རྦི་རི་ཊིཤ་) - ཨིང་ལིཤ་སྐད། (ཨ་རི་) - ཞི་པན་ཡའི། - ཧྥ་རན་སིའི་། - གཱ་སྐད། - གུཇ་རཱཏི་སྐད། - ཧིན་དི - དབྱི་ཏ་་ལའི་མི། - རི་པིན་སྐད་ - ལེ་ཊིན་སྐད། - ནེ་པ་ལི - ཕི་ཐོ་ཡའི། - པ་ཞའི་མི། ཕི་ཐོ་ཡའི་མི། - ཨུ་རུ་སུ་སྐད་ - མིའི་ཤེས་རྟོགས་མ་བྱུང་བ། ཡང་ན་ཆད་ལྷག་ཅན་གྱི་སྐད་བརྡ། - ཟེ་ན་གཱ་སྐད། - རྒྱ་སྐད་ - སྟབས་བརྡའི། ཀྲུང་གོའི། - སྲོལ་རྒྱུན་གྱི། - ཟུ་ལུ་སྐད། - ཟུ་ནི་སྐད། - ཟ་ཟཱ་སྐད། - - - - - - - - - - - - - འཛམ་གླིང་། - ཨཕྲི་ཀ། - ཨ་མེ་རི་ཀ། - ཨསྟྲེ་ལི་ཡ་དང་། ནིའུ་ཛི་ལན྄ཌ། - ཨེ་ཤི་ཡ། - ཡུ་རོབ། - ཨེན་ཌོ་ར། - ཨ་རབ། ཨི་མི་རཊ྄། ཆིག་སྒྲིལ་རྒྱལ་ཁབ། - ཨཕ་ག་ནི་སྟཱན། - ཨེན་ཊི་གུ་དང་། བྷར་བུ་ཌ། - ཨང་གུའི་ལ། - ཨལ་བཱ་ནི་ཡ། - ཨར་མེ་ནི་ཡ། - ཨང་གཽ་ལ། - ལྷོ་རྩེའི་མཐའ་གླིང་། - ཨར་ཇེན་ཊི་ན། - ཨསྟྲི་ཡ། - ཨསྟྲེ་ལི་ཡ། - ཨ་རུ་བ། - ཨཛར་བཡེ་ཇན། - བོསྣི་ཡ་དང་ཧརྫོ་གོ་ཝི་ན། - བཱརྦ་ཌོས྄། - བངྒ་ལ་དེཤ། - བེལ་ཇི་ཡམ། - བརཀི་ན། ཕསོ། - བུལ་ག་རི་ཡ། - བྷཱ་རེན། - བུ་རུན་ཌི། - བཱེ་ནིན། - བར་མུ་ཌ། - བུ་རུ་ནེ། - བོ་ལི་ཝིཡ། - བ་རཱ་ཛིལ། - བྷཱ་མས྄། - འབྲུག་ཡུལ། - བོཙ་ཝ་ན། - བེ་ལུ་རུ་སུ། - བེ་ལིཛ། - ཁེ་ན་ཌ། - ཀོ་ཊེ་ཌི། ཨི་ཝོ་རེ། - ཀཱུག གླིང་ཕྲེན་རྒྱལ་ཁབ། - ཅི་ལི། - ཀ་མེ་རུན། - རྒྱ་ནག - ཀོ་ལོམ་བི་ཡ། - ཀོ་ས྄ཊ་རི་ཀ། - ཁྱུའུ་བ། - སཱཡེ་པ་རས྄། - ཅཻག་སྤྱི་མཐུན་རྒྱལ་ཁབ། - འཇར་མན་ - ཛི་བུ་ཏི། - ཌེན་མཱརྐ། - ཌོ་མིན་ནི་ཀ། - ཌོ་མིནནི་ཀན་སྤྱི་མཐུན་རྒྱལ་ཁབ། - ཨལ་ཇི་རི་ཡ། - ཨི་ཁྭ་ཌོར། - ཨིསྟོ་ནི་ཡ། - ཨི་ཇིབྚ། - ཨེ་རི་ཏྲེ་ཨ། - སི་པན། - ཨི་ཐིའོ་པི་ཡ། - ཕིན་ལན྄ཌ། - ཕི་ཇི། - ཕལྐ་ལནྜ་གླིང་ཕྲན། - ཕ་རཱན་སི། - གེ་བཽན། - དབྱིན་ཇི་ - གྷ་རི་ན་ཌ། - ཇོར་ཇི་ཡ། - གྷ་ན། - ཇིབ་རཱལ་ཊར། - གྷམ་བི་ཡ། - གྷི་ནི་ཡ། - གྷི་རཱི་སི། - གྷོ་ཊེ་མ་ལ། - གྷི་ནི་ཡ་བིས྄་སོ། - གྷུ་ཡཱ་ན། - ཧོང་ཀོང༌། - ཧོན་དུ་རས྄། - ཀུརོ་ཤི་ཡ། - ཧེ་ཏི། - ཧངྒ་རི། - ཨིན་ཌོ་ནེ་ཤི་ཡ། - ཨ་ཡར་ལནཌ། - ཨི་ཛ྄་རེལ། - རྒྱ་གར་ - ཨི་རག། - ཨི་རཱན། - ཨ་ཨི་སི་ལནད། - ཨི་ཀྲར་ལི་ - ཛ་མེ་ཀ། - ཇོར་ཌན། - རི་པིན་ - ཁེན་ཉི་ཡ། - ཁིར་གིཛ་སྟཱན། - ཀམ་བོ་ཌི་ཡ། - ཀི་རི་བཱ་ཏི། - སེནྚ། ཀིཊྚས྄། དང༌། ནེ་བིས྄། - ཀོ་རི་ཡ། ལྷོ་མ། - ཀུ་ཝེད་རྒྱལ་ཁབ། - ཁེ་མེན་གླིང་ཕྲན། - ཁ་ཛཱག་སྟཱན། - ལཱ་འོས། - ལེབ་ནོན། - སེནྚ། ལུ་ཤི་ཡ། - ལེག་ཏེན་ཚིན། - ཤྲཱི་ལང་ཀ། - ལི་བེ་རི་ཡ། - ལེ་སོ་ཐོ། - ལི་ཐུ་ཨེ་ནི་ཡ། - ལཀ་ཛམ་བོརྒ། - ལཏ་བི་ཡ། - ལི་བི་ཡ། - མོ་རོ་ཀྐོ། - མོ་ན་ཀོ། - མ་དཱ་གྷསྐཱར། - མཱར་ཤལ་གླིང་ཕྲེན། - མ་ལི། - འབར་མ། - སོག་ཡུལ། - མེ་ཀའོ། - མཽ་རི་ཏ་ནི་ཡ། - མལ་ཊ། - མཽ་རིཤས྄། - མལ་དྭིབ། - མཱ་ལཱ་ཝི། - མེཀ་སི་ཀོ། - མ་ལེ་ཤི་ཡ། - མོ་ཛམ་བིག། - ན་མི་བི་ཡ། - ནའི་ཇར། - ནཱའི་ཇི་རི་ཡ། - ནི་ཀ་ར་གུ་ཨ། - ནེ་ཐར་ལནྜ། - ནོར་ཝེ། - བར་ཡུལ་ - ནཽ་རུ། - ནིའུ་ཝ། - ནིའུ་ཛི་ལན྄ཌ། - ཨོ་མན། - པ་ནཱ་མ། - པེ་རུ། - པ་པུ་ཨ། ནིའུ། གྷི་ནི། - ཕི་ལི་པིནས྄། - པཀི་སྟཱན། - པོ་ལནྜ། - པོར་ཏུ་གྷལ། - པ་ལཽ། - པཱ་ར་གེ། - ཀ་ཏཱར། - རོ་མཱ་ནིཡ། - སེར་བི་ཡ། - ཨུ་རུ་སུ་ - རུ་ཝན་ཌ། - སཽ་དྷི་ཨ་རཱ་བི་ཡ། - སོ་ལོ་མོན། གླིང་ཕྲན་ཚོ་ཁག། - སཱ་ཤཻལ། - སུ་དཱན། - སིངྒ་པུར། - སེནྚ། ཧེ་ལི་ན། - ས་ལཽ་ཝེ་ནི་ཡ། - ས་ལཽ་ཝཀྱ། - སེ་ཡར་ར། ལིའོན། - སན་མེ་རི་ནོ། - སེ་ནི་གྷལ། - སོ་མཱལི་ཡ། - སུ་རི་ནཱམ། - ས་འོ་ཏོད་མད། དང༌། པ྄རིན་སི་པེ། - ཨེལ། སཱལ་ཝ་ཌོར། - ཅཻཌ། - ཏུརཀི། - ཐུ་ཝ་ལུ། - ཡུ་ཀརེན། - ཡུ་གན་ཌ། - ཨ་མེ་རི་ཀ་ - ཨུ་རུ་གྷེ། - ཨུཛ་བེ་ཀིསྟཱན། - ཝེ་ཊི་ཀན། - སེནྚ། ཝིན་སན། དང༌། གྷིརིན་ཌིན། - ཝེ་ནི་ཛུའེ་ལ། - ཝེད་ནམ། - ཝ་ནུ་ཨ་ཐུ། - ནུ་བ་ས་མོ་འ། - ཡེ་མེན། - ལྷོ་ ཨཕྲི་ཀ། - ཛམ་བི་ཡ། - ཛིམ་བྷཱ་བེ། - མིའི་ཤེས་རྟོགས་མ་བྱུང་བའི་ཁོར་ཡུག - - - ཨ་མེ་རི་ཀའི། - - - - [\u0F7E ཿ ་ ། ༎ ༠-༩ ཀ {ཀ\u0FB5} \u0F90 {\u0F90\u0FB5} ཁ \u0F91 ག {ག\u0FB7} \u0F92 {\u0F92\u0FB7} ང \u0F94 ཅ \u0F95 ཆ \u0F96 ཇ \u0F97 ཉ \u0F99 ཊ \u0F9A ཋ \u0F9B ཌ {ཌ\u0FB7} \u0F9C {\u0F9C\u0FB7} ཎ \u0F9E ཏ \u0F9F ཐ \u0FA0 ད {ད\u0FB7} \u0FA1 {\u0FA1\u0FB7} ན \u0FA3 པ \u0FA4 ཕ \u0FA5 བ {བ\u0FB7} \u0FA6 {\u0FA6\u0FB7} མ \u0FA8 ཙ \u0FA9 ཚ \u0FAA ཛ {ཛ\u0FB7} \u0FAB {\u0FAB\u0FB7} ཝ \u0FAD \u0FBA ཞ \u0FAE ཟ \u0FAF འ \u0FB0 ཡ \u0FB1 \u0FBB ར ཪ \u0FB2 \u0FBC ལ \u0FB3 ཤ \u0FB4 ཥ \u0FB5 ས \u0FB6 ཧ \u0FB7 ཨ \u0FB8 \u0F71 \u0F72 {\u0F71\u0F72} \u0F80 {\u0F71\u0F80} \u0F74 {\u0F71\u0F74} {\u0FB2\u0F80} \u0F77 {\u0FB3\u0F80} \u0F79-\u0F7D \u0F84] - [ༀ] - - - - - - - - ཟླ་༡ - ཟླ་༢ - ཟླ་༣ - ཟླ་༤ - ཟླ་༥ - ཟླ་༦ - ཟླ་༧ - ཟླ་༨ - ཟླ་༩ - ཟླ་༡༠ - ཟླ་༡༡ - ཟླ་༡༢ - - - ཟླ་བ་དང་པོ་ - ཟླ་བ་གཉིས་པ་ - ཟླ་བ་སུམ་པ་ - ཟླ་བ་བཞི་པ་ - ཟླ་བ་ལྔ་པ་ - ཟླ་བ་དྲུག་པ་ - ཟླ་བ་བདུན་པ་ - ཟླ་བ་བརྒྱད་པ་ - ཟླ་བ་དགུ་པ་ - ཟླ་བ་བཅུ་པ་ - ཟླ་བ་བཅུ་གཅིག་པ་ - ཟླ་བ་བཅུ་གཉིས་པ་ - - - - - - - ཉི་མ་ - ཟླ་བ་ - མིག་དམར་ - ཧླག་པ་ - ཕུར་བུ་ - སངས་ - སྤེན་པ་ - - - གཟའ་ཉི་མ་ - གཟའ་ཟླ་བ་ - གཟའ་མིག་དམར་ - གཟའ་ཧླག་པ་ - གཟའ་ཕུར་བུ་ - གཟའ་སངས་ - གཟའ་སྤེན་པ་ - - - - - ཉི - ཟླ - མི - ཧླ - ཕུ - ས - སྤེ - - - - - - - དུས་ཚིགས་དང་པོ། - དུས་ཚིགས་གཉིས་པ། - ་དུས་ཚིགས་གསུམ་པ། - དུས་ཚིགས་བཞི་པ། - - - - སྔ་དྲོ་ - ཕྱི་དྲོ་ - - - སྤྱི་ལོ་སྔོན། - སྤྱི་ལོ། - - - - - - སྦྱི་ལོ་y MMMMའི་ཙེས་dད - - - - - y ལོ་འི་MMMཙེས་d - - - - - - ལོ་རིམ། - - - ལོ། - - - ཟླ་བ་ - - - གཟའ་འཁོར། - - - ཉིན། - ཁས་ཉིན་ཀ་ - ཁས་ས་ - དེ་རིང་ - སང་ཉིན་ - གནངས་ཉིན་ཀ་ - - - གཟའ་འཁོར་གཅིག - - - སྔ་དྲོ། ཕྱི་དྲོ། - - - ཆུ་ཙོ་ - - - སྐར་མ། - - - སྐར་ཆ། - - - དུས་ཚོད། - - - - - - - མ་རྟོགས་པ - - - - - tibt - - . - , - ༠ - ཨང་མེན་ - - - - - #,##0.### - - - - - - - #,##0% - - - - - - - ¤ #,##0.00 - - - - - - ཡུ་ཨན་ - - - རྒྱ་གར་སྒོར་མོ་ - - - མ་རྟོགས་པའི་ནུས་མེད་དངུལ་ལོར - - - - - - ཡིན།:Y - མེད།:N - - - - diff --git a/lib/zend/Zend/Locale/Data/bo_CN.xml b/lib/zend/Zend/Locale/Data/bo_CN.xml deleted file mode 100644 index c8ad01f86c..0000000000 --- a/lib/zend/Zend/Locale/Data/bo_CN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/bo_IN.xml b/lib/zend/Zend/Locale/Data/bo_IN.xml deleted file mode 100644 index 88c32dc922..0000000000 --- a/lib/zend/Zend/Locale/Data/bo_IN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/bs.xml b/lib/zend/Zend/Locale/Data/bs.xml deleted file mode 100644 index 29b580e775..0000000000 --- a/lib/zend/Zend/Locale/Data/bs.xml +++ /dev/null @@ -1,330 +0,0 @@ - - - - - - - - - - - afrikaans - amharski - arapski - asameski - azerbejdžanski - bjeloruski - bugarski - bihari - bengalski - tibetanski - bretonac - bosanski - katalonski - češki - velški - danski - njemački - grčki - engleski - esperanto - španjolski - estonski - baskijski - perzijski - finski - filipinski - farski - francuski - frizijski - irski - škotski gelski - galicijski - guarani - gudžarati - hebrejski - hindu - hrvatski - mađarski - armenski - interlingua - indonezijski - međujezični - islandski - talijanski - japanski - javanski - gruzijski - kambodžanski - kannada - koreanski - kurdski - kirgiski - latinski - n/a - laothian - litvanski - latvijski - makedonski - malajalamski - mongolski - marati - malajski - malteški - nepalski - holandski - norveški (novonorveški) - norveški - oksitanski - indijski - pendžabi - poljski - pakistanski - portugalski - portugalski (Brazil) - portugalski (Portugal) - rumunski - ruski - sanskrit - sindi - srpsko-hrvatski - sinhaleski - slovački - slovenački - somalski - albanski - srpski - sesoto - sudanski - švedski - svahili - tamilski - telugu - tajlandski - tigrinya (eritrejski) - turkmenski - klingonski - turski - twi - uighur - ukrajinski - nepoznati ili nevažeći jezik - urdu - uzbekistanski - vijetnamski - bantu - jidiš - kineski - zulu - - - - - - - Bosna i Hercegovina - Crna Gora - Srbija - Tonga - Nepoznata ili nevažeća oblast - - - - [a-c ć č d đ {dž} e-l {lj} m n {nj} o p r s š t-v z ž] - [q w-y] - - - ‘ - ’ - “ - ” - - - - - - - - Jan - Feb - Mar - Apr - Maj - Jun - Jul - Avg - Sep - Okt - Nov - Dec - - - Januar - Februar - Mart - April - Maj - Juni - Juli - Avgust - Septembar - Oktobar - Novembar - Decembar - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Ned - Pon - Uto - Sri - Čet - Pet - Sub - - - Nedjelja - Ponedjeljak - Utorak - Srijeda - Četvrtak - Petak - Subota - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - K1 - K2 - K3 - K4 - - - Prvi kvartal - Drugi kvartal - Treći kvartal - Četvrti kvartal - - - - AM - PM - - - BC - AD - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - Nepoznati ili nevažeći grad - - - - - - , - . - - - - Konvertibilna marka - - - Nepoznata ili nevažeća valuta - - - - - - da:d - ne:n - - - diff --git a/lib/zend/Zend/Locale/Data/bs_BA.xml b/lib/zend/Zend/Locale/Data/bs_BA.xml deleted file mode 100644 index 70584353fc..0000000000 --- a/lib/zend/Zend/Locale/Data/bs_BA.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/byn.xml b/lib/zend/Zend/Locale/Data/byn.xml deleted file mode 100644 index c4fa0e334a..0000000000 --- a/lib/zend/Zend/Locale/Data/byn.xml +++ /dev/null @@ -1,502 +0,0 @@ - - - - - - - - - - - አፋርኛ - አብሐዚኛ - አፍሪቃንስኛ - አማርኛ - ዐርቢኛ - አሳሜዛዊ - አያማርኛ - አዜርባይጃንኛ - ባስኪርኛ - ቤላራሻኛ - ቡልጋሪኛ - ቢሃሪ - ቢስላምኛ - በንጋሊኛ - ትበትንኛ - ብሬቶንኛ - ብሊን - ካታላንኛ - ኮርሲካኛ - ቼክኛ - ወልሽ - ዴኒሽ - ጀርመን - ድዞንግኻኛ - ግሪክኛ - እንግሊዝኛ - ኤስፐራንቶ - ስፓኒሽ - ኤስቶኒአን - ባስክኛ - ፐርሲያኛ - ፊኒሽ - ፊጂኛ - ፋሮኛ - ፈረንሳይኛ - ፍሪስኛ - አይሪሽ - እስኮትስ ጌልክኛ - ግዕዝኛ - ጋለጋኛ - ጓራኒኛ - ጉጃርቲኛ - ሃውሳኛ - ዕብራስጥ - ሐንድኛ - ክሮሽያንኛ - ሀንጋሪኛ - አርመናዊ - ኢንቴርሊንጓ - እንዶኒሲኛ - እንተርሊንግወ - እኑፒያቅኛ - አይስላንድኛ - ጣሊያንኛ - እኑክቲቱትኛ - ጃፓንኛ - ጃቫንኛ - ጊዮርጊያን - ካዛክኛ - ካላሊሱትኛ - ክመርኛ - ካናዳኛ - ኮሪያኛ - ካሽሚርኛ - ኩርድሽኛ - ኪርጊዝኛ - ላቲንኛ - ሊንጋላኛ - ላውስኛ - ሊቱአኒያን - ላትቪያን - ማላጋስኛ - ማዮሪኛ - ማከዶኒኛ - ማላያላምኛ - ሞንጎላዊኛ - ሞልዳቫዊና - ማራዚኛ - ማላይኛ - ማልቲስኛ - ቡርማኛ - ናኡሩ - ኔፓሊኛ - ደች - ኖርዌጂያን - ኦኪታንኛ - ኦሮምኛ - ኦሪያኛ - ፓንጃቢኛ - ፖሊሽ - ፑሽቶኛ - ፖርቱጋሊኛ - ኵቿኛ - ሮማንስ - ሩንዲኛ - ሮማኒያን - ራሽኛ - ኪንያርዋንድኛ - ሳንስክሪትኛ - ሲንድሂኛ - ሳንጎኛ - ስንሃልኛ - ሲዳምኛ - ስሎቫክኛ - ስሎቪኛ - ሳሞአኛ - ሾናኛ - ሱማልኛ - ልቤኒኛ - ሰርቢኛ - ስዋቲኛ - ሶዞኛ - ሱዳንኛ - ስዊድንኛ - ስዋሂሊኛ - ታሚልኛ - ተሉጉኛ - ታጂኪኛ - ታይኛ - ትግርኛ - ትግረ - ቱርክመንኛ - ታጋሎገኛ - ጽዋናዊኛ - ቶንጋ - ቱርክኛ - ጾንጋኛ - ታታርኛ - ትዊኛ - ኡዊግሁርኛ - ዩክረኒኛ - ኡርዱኛ - ኡዝበክኛ - ቪትናምኛ - ቮላፑክኛ - ዎሎፍኛ - ዞሳኛ - ይዲሻዊኛ - ዮሩባዊኛ - ዡዋንግኛ - ቻይንኛ - ዙሉኛ - - - - - - አንዶራ - የተባበሩት አረብ ኤምሬትስ - አልባኒያ - አርሜኒያ - ኔዘርላንድስ አንቲልስ - አርጀንቲና - ኦስትሪያ - አውስትሬሊያ - አዘርባጃን - ቦስኒያ እና ሄርዞጎቪኒያ - ባርቤዶስ - ቤልጄም - ቡልጌሪያ - ባህሬን - ቤርሙዳ - ቦሊቪያ - ብራዚል - ቡህታን - ቤላሩስ - ቤሊዘ - ኮንጎ - የመካከለኛው አፍሪካ ሪፐብሊክ - ስዊዘርላንድ - ቺሊ - ካሜሩን - ቻይና - ኮሎምቢያ - ሰርቢያ - ኬፕ ቬርዴ - ሳይፕረስ - ቼክ ሪፑብሊክ - ጀርመን - ዴንማርክ - ዶሚኒካ - ዶሚኒክ ሪፑብሊክ - አልጄሪያ - ኢኳዶር - ኤስቶኒያ - ግብጽ - ምዕራባዊ ሳህራ - ኤርትራ - ስፔን - ኢትዮጵያ - ፊንላንድ - ፊጂ - ሚክሮኔዢያ - ፈረንሳይ - እንግሊዝ - ጆርጂያ - የፈረንሳይ ጉዊአና - ጋምቢያ - ጊኒ - ኢኳቶሪያል ጊኒ - ግሪክ - ቢሳዎ - ጉያና - ሆንግ ኮንግ - ክሮኤሽያ - ሀይቲ - ሀንጋሪ - ኢንዶኔዢያ - አየርላንድ - እስራኤል - ህንድ - ኢራቅ - አይስላንድ - ጣሊያን - ጃማይካ - ጆርዳን - ጃፓን - ካምቦዲያ - ኮሞሮስ - ደቡብ ኮሪያ - ሰሜን ኮሪያ - ክዌት - ሊባኖስ - ሊቱዌኒያ - ላትቪያ - ሊቢያ - ሞሮኮ - ሞልዶቫ - ማከዶኒያ - ሞንጎሊያ - ማካዎ - ሞሪቴኒያ - ማልታ - ማሩሸስ - ሜክሲኮ - ማሌዢያ - ናሚቢያ - ኒው ካሌዶኒያ - ናይጄሪያ - ኔዘርላንድ - ኖርዌ - ኔፓል - ኒው ዚላንድ - ፔሩ - የፈረንሳይ ፖሊኔዢያ - ፓፑዋ ኒው ጊኒ - ፖላንድ - ፖርታ ሪኮ - ሮሜኒያ - ራሺያ - ሳውድአረቢያ - ሱዳን - ስዊድን - ሲንጋፖር - ስሎቬኒያ - ስሎቫኪያ - ሴኔጋል - ሱማሌ - ሲሪያ - ቻድ - የፈረንሳይ ደቡባዊ ግዛቶች - ታይላንድ - ታጃኪስታን - ምስራቅ ቲሞር - ቱኒዚያ - ቱርክ - ትሪኒዳድ እና ቶባጎ - ታንዛኒያ - ዩጋንዳ - አሜሪካ - ዩዝበኪስታን - ቬንዙዌላ - የእንግሊዝ ድንግል ደሴቶች - የአሜሪካ ቨርጂን ደሴቶች - የመን - ደቡብ አፍሪካ - ዛምቢያ - - - - [\u135F ሀ-ሆ ለ-ሟ ረ-ቆ ቈ ቊ-ቍ ቐ-ቖ ቘ ቚ-ቝ በ-ኆ ኈ ኊ-ኍ ነ-ኮ ኰ ኲ-ኵ ኸ-ኾ ዀ ዂ-ዅ ወ-ዎ ዐ-ዖ ዘ-ዮ ደ-ዷ ጀ-ጎ ጐ ጒ-ጕ ጘ-ጟ ⶓ-ⶖ ጠ-ጯ ጸ-ጿ ፈ-ፗ] - [᎐-᎙ ሇ ⶀ ᎀ-ᎃ ⶁ ሠ-ሧ ⶂ-ⶄ ቇ ᎄ-ᎇ ⶅ-ⶇ ኇ ⶈ-ⶊ ኯ ዏ ⶋ ዯ ⶌ ዸ-ዿ ⶍ ⶎ ጏ ⶏ-ⶑ ፇ ᎈ-ᎏ ⶒ ፘ-ፚ ⶠ-ⶦ ⶨ-ⶮ ⶰ-ⶶ ⶸ-ⶾ ⷀ-ⷆ ⷈ-ⷎ ⷐ-ⷖ ⷘ-ⷞ] - - - - - - - - ልደት - ካብኽ - ክብላ - ፋጅኺ - ክቢቅ - ም/ት - ኰር - ማርያ - ያኸኒ - መተሉ - ም/ም - ተሕሳ - - - ልደትሪ - ካብኽብቲ - ክብላ - ፋጅኺሪ - ክቢቅሪ - ምኪኤል ትጟኒሪ - ኰርኩ - ማርያም ትሪ - ያኸኒ መሳቅለሪ - መተሉ - ምኪኤል መሽወሪ - ተሕሳስሪ - - - - - ል - ካ - ክ - ፋ - ክ - ም - ኰ - ማ - ያ - መ - ም - ተ - - - - - - - ሰ/ቅ - ሰኑ - ሰሊጝ - ለጓ - ኣምድ - ኣርብ - ሰ/ሽ - - - ሰንበር ቅዳዅ - ሰኑ - ሰሊጝ - ለጓ ወሪ ለብዋ - ኣምድ - ኣርብ - ሰንበር ሽጓዅ - - - - - ሰ - ሰ - ሰ - ለ - ኣ - ኣ - ሰ - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - ፋዱስ ጃብ - ፋዱስ ደምቢ - - - ይጅ - ኣድ - - - - - - EEEE፡ dd MMMM ግርጋ y G - - - - - dd MMMM y - - - - - dd-MMM-y - - - - - dd/MM/yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - dd MMMM - dd/MM - MM/yy - Q yy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - - ¤#,##0.00 - - - - - - የብራዚል ሪል - - - የቻይና ዩአን ረንሚንቢ - - - የኢትዮጵያ ብር - - - አውሮ - - - የእንግሊዝ ፓውንድ ስተርሊንግ - - - የሕንድ ሩፒ - - - የጃፓን የን - - - የራሻ ሩብል - - - የአሜሪካን ዶላር - - - - - diff --git a/lib/zend/Zend/Locale/Data/byn_ER.xml b/lib/zend/Zend/Locale/Data/byn_ER.xml deleted file mode 100644 index ac761cdf93..0000000000 --- a/lib/zend/Zend/Locale/Data/byn_ER.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ca.xml b/lib/zend/Zend/Locale/Data/ca.xml deleted file mode 100644 index 136204399f..0000000000 --- a/lib/zend/Zend/Locale/Data/ca.xml +++ /dev/null @@ -1,3253 +0,0 @@ - - - - - - - - - es_ES - - - {0} ({1}) - , - - - àfar - abkhaz - atjeh - acoli - adangme - adigué - avèstic - afrikaans - llengua afroasiàtica - afrihili - ainu - àkan - accadi - aleuta - llengua algonquina - altaic meridional - amhàric - aragonès - anglès antic - angika - llengua apatxe - àrab - arameu - araucà - arapaho - llengua artificial - arauac - assamès - asturià - llengua atapascana - llengua australiana - àvar - awadhi - aimara - àzeri - baixkir - banda - bamileké - balutxi - balinès - basa - llengua bàltica - bielorús - beja - bemba - berber - búlgar - bihari - bhojpuri - bislama - bicol - bini - blackfoot - bambara - bengalí - bantu - tibetà - bretó - braj - bosnià - batak - buriat - bugui - bilin - català - caddo - llengua ameríndia d'Amèrica Central - carib - llengua caucàsica - atsam - txetxè - cebuano - llengua cèltica - chamorro - txibtxa - txagatai - chuuk - mari - pidgin chinook - choctaw - chipewyan - cherokee - xeienne - txam - cors - copte - llengua criolla o pidgin basada en l'anglès - llengua criolla o pidgin basada en el francès - llengua criolla o pidgin basada en el portuguès - cree - tàtar de Crimea - llengua criolla o pidgin - txec - caixubi - eslau eclesiàstic - llengua cuixítica - txuvaix - gal·lès - danès - dakota - darguà - daiak - alemany - alemany austríac - alt alemany suís - delaware - slavey - dogrib - dinka - dogri - llengua dravídica - baix sòrab - duala - neerlandès mitjà - divehi - jula - dzongka - ewe - efik - egipci antic - ekajuk - grec - elamita - anglès - anglès australià - anglès canadenc - anglès britànic - anglès americà - anglès mitjà - esperanto - espanyol - espanyol d'Hispanoamèrica - espanyol d'Espanya - estonià - basc - ewondo - persa - fang - fanti - ful - finès - filipí - llengua finoúgrica - fijià - feroès - fon - francès - francès canadenc - francès suís - francès mitjà - francès antic - frisó septentrional - frisó occidental - friülà - frisó oriental - irlandès - ga - gayo - gbaya - gaèlic escocès - llengua germànica - gueez - gilbertès - gallec - alt alemany mitjà - guaraní - alt alemany antic - gondi - gorontalo - gòtic - grebo - grec antic - alemany suís - gujarati - manx - gwichin - haussa - haida - hawaià - hebreu - hindi - hiligainon - himachali - hitita - hmong - hiri motu - croat - alt sòrab - haitià - hongarès - hupa - armeni - herero - interlingua - iban - indonesi - interlingue - igbo - yi sichuan - ijo - inupiak - ilocà - llengua índica - llengua indoeuropea - ingúix - ido - llengua irànica - iroquès - islandès - italià - inuktitut - japonès - lojban - judeopersa - judeoàrab - javanès - georgià - karakalpak - cabilenc - katxin - jju - kamba - karen - kawi - kabardí - tyap - koro - kongo - khasi - llengua khoisan - khotanès - kikuiu - kuanyama - kazakh - grenlandès - khmer - kimbundu - kannada - coreà - konkani - kosraeà - kpelle - kanuri - karatxai - carelià - kru - kurukh - caixmiri - kurd - kúmik - kutenai - komi - còrnic - kirguís - llatí - ladí - panjabi occidental - lamba - luxemburguès - lesguià - ganda - limburguès - lingala - laosià - mongo - lozi - lituà - luba katanga - luba-lulua - luisenyo - lunda - luo - mizo - letó - madurès - magahi - maithili - makassar - mandinga - llengua austronèsia - massai - mordovià moksa - mandar - mende - malgaix - gaèlic irlandès mitjà - marshallès - maori - micmac - minangkabau - llengua miscel·lània - macedoni - llengua monkhmer - malaialam - mongol - manxú - manipurí - llengua manobo - moldau - mohawk - moré - marathi - malai - maltès - llengües vàries - llengua munda - creek - mirandès - marwari - birmà - llengua maia - mordovià erza - nauruà - nàhuatl - llengua ameríndia septentrional - napolità - noruec bokmål - ndebele septentrional - baix alemany - nepalès - newari - ndonga - nias - llengua nigerokurdufaniana - niueà - neerlandès - flamenc - noruec nynorsk - noruec - nogai - nòrdic antic - n’Ko - ndebele meridional - sotho septentrional - llengua nubiana - navaho - newari clàssic - nyanja - nyamwesi - nyankore - nyoro - nzema - occità - ojibwa - oromo - oriya - osset - osage - turc otomà - llengua otomangueana - panjabi - llengua papú - pangasi - pahlavi - pampangà - papiamento - palauà - persa antic - llengua filipina - fenici - pali - polonès - ponapeà - pràcrit - provençal antic - paixto - portuguès - portuguès de Brasil - portuguès de Portugal - quètxua - rajasthani - rapanui - rarotongà - retoromànic - rundi - romanès - llengua romànica - romaní - arrel - rus - aromanès - ruandès - sànscrit - sandawe - iacut - llengua ameríndia meridional - llengua salish - arameu samarità - sasak - santali - sard - sicilià - escocès - sindhi - sami septentrional - selkup - llengua semítica - sango - irlandès antic - llengua de signes - serbocroat - xan - singalès - sidamo - llengua sioux - llengua sinotibetana - eslovac - eslovè - llengua eslava - samoà - sami meridional - llengua sami - sami lule - sami d'Inari - sami skolt - shona - soninke - somali - sogdià - songhai - albanès - serbi - sranan - serer - siswati - llengua nilosahariana - sotho meridional - sundanès - sukuma - susú - sumeri - suec - suahili - siríac clàssic - siríac - tàmil - llengua tai - telugu - temne - terena - tetun - tadjik - thai - tigrinya - tigre - tiv - turcman - tokelauès - tagàlog - klingonià - tlingit - tamazight - tswana - tongalès - tonga - tok pisin - turc - tsonga - tsimshià - tàtar - tumbuka - llengua tupí - llengua altaica - tuvaluà - twi - tahitià - tuvinià - udmurt - uigur - ugarític - ucraïnès - umbundu - idioma desconegut o no vàlid - urdú - uzbek - vai - venda - vietnamita - volapük - vòtic - való - llengua wakash - ameto - waray-waray - washo - sòrab - wòlof - calmuc - xosa - yao - yapeà - jiddisch - ioruba - llengua iupik - zhuang - zapoteca - símbols Bliss - zenaga - xinès - xinès simplificat - xinès tradicional - zande - zulu - zuni - sense contingut lingüístic - zaza - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Món - Àfrica - Amèrica del Nord - Amèrica del Sud - Oceania - Àfrica Occidental - Amèrica Central - Àfrica Oriental - Àfrica septentrional - Àfrica Central - Àfrica meridional - Amèrica - Amèrica septentrional - Carib - Àsia Oriental - Àsia meridional - Àsia Sud-oriental - Europa meridional - Austràlia i Nova Zelanda - Melanèsia - Regió de la Micronèsia - Polinèsia - Àsia Sud-central - Àsia - Àsia Central - Àsia Occidental - Europa - Europa Oriental - Europa septentrional - Europa Occidental - Comunitat d'Estats Independents - Amèrica Llatina i Carib - Andorra - Unió dels Emirats Àrabs - Afganistan - Antigua i Barbuda - Anguilla - Albània - Armènia - Antilles Neerlandeses - Angola - Antàrtida - Argentina - Samoa Americana - Àustria - Austràlia - Aruba - Illes Åland - Azerbaidjan - Bòsnia i Hercegovina - Barbados - Bangla Desh - Bèlgica - Burkina Faso - Bulgària - Bahrain - Burundi - Benín - Saint Barthélemy - Bermudes - Brunei - Bolívia - Brasil - Bahames - Bhutan - Illa Bouvet - Botswana - Bielorússia - Belize - Canadà - Illes Cocos - República Democràtica del Congo - República Centreafricana - Congo - Suïssa - Costa d’Ivori - Illes Cook - Xile - Camerun - Xina - Colòmbia - Costa Rica - Sèrbia i Montenegro - Cuba - Cap Verd - Illa Christmas - Xipre - República Txeca - Alemanya - Djibouti - Dinamarca - Dominica - República Dominicana - Algèria - Equador - Estònia - Egipte - Sàhara Occidental - Eritrea - Espanya - Etiòpia - Finlàndia - Fiji - Illes Malvines - Micronèsia - Illes Fèroe - França - Gabon - Regne Unit - Grenada - Geòrgia - Guaiana Francesa - Guernsey - Ghana - Gibraltar - Grenlàndia - Gàmbia - Guinea - Guadeloupe - Guinea Equatorial - Grècia - Illes Geòrgia del Sud i Sandwich del Sud - Guatemala - Guam - Guinea Bissau - Guyana - Regió administrativa especial xinesa de Hong Kong - Illa Heard i Illes McDonald - Hondures - Croàcia - Haití - Hongria - Indonèsia - Irlanda - Israel - Illa de Man - Índia - Territori Britànic de l'Oceà Índic - Iraq - Iran - Islàndia - Itàlia - Jersey - Jamaica - Jordània - Japó - Kenya - Kirguizistan - Cambodja - Kiribati - Comores - Saint Christopher i Nevis - Corea del Nord - Corea del Sud - Kuwait - Illes Caiman - Kazakhstan - Laos - Líban - Saint Lucia - Liechtenstein - Sri Lanka - Libèria - Lesotho - Lituània - Luxemburg - Letònia - Líbia - Marroc - Mònaco - Moldàvia - Montenegro - Saint Martin - Madagascar - Illes Marshall - Macedònia - Mali - Myanmar - Mongòlia - Regió administrativa especial xinesa de Macau - Illes Mariannes del Nord - Martinica - Mauritània - Montserrat - Malta - Maurici - Maldives - Malawi - Mèxic - Malàisia - Moçambic - Namíbia - Nova Caledònia - Níger - Illa Norfolk - Nigèria - Nicaragua - Països Baixos - Noruega - Nepal - Nauru - Niue - Nova Zelanda - Oman - Panamà - Perú - Polinèsia Francesa - Papua Nova Guinea - Filipines - Pakistan - Polònia - Saint Pierre i Miquelon - Illes Pitcairn - Puerto Rico - Palestina - Portugal - Palau - Paraguai - Qatar - Territoris allunyats d'Oceania - Unió Europea - Illa de la Reunió - Romania - Sèrbia - Rússia - Rwanda - Aràbia Saudita - Illes Salomó - Seychelles - Sudan - Suècia - Singapur - Saint Helena - Eslovènia - Svalbard i Jan Mayen - Eslovàquia - Sierra Leone - San Marino - Senegal - Somàlia - Surinam - São Tomé i Príncipe - El Salvador - Síria - Swazilàndia - Illes Turks i Caicos - Txad - Territoris Francesos del Sud - Togo - Tailàndia - Tadjikistan - Tokelau - Timor Oriental - Turkmenistan - Tunísia - Tonga - Turquia - Trinitat i Tobago - Tuvalu - Taiwan - Tanzània - Ucraïna - Uganda - Illes Perifèriques Menors dels EUA - Estats Units - Uruguai - Uzbekistan - Vaticà - Saint Vincent i les Grenadines - Veneçuela - Illes Verges Britàniques - Illes Verges Nord-americanes - Vietnam - Vanuatu - Wallis i Futuna - Samoa - Iemen - Mayotte - República de Sud-àfrica - Zàmbia - Zimbabwe - Regió desconeguda o no vàlida - - - ortografia alemanya tradicional - ortofrafia resiana estandarditzada - ortografia alemanya de 1996 - francès mitjà tardà fins el 1606 - francès modern primerenc - armeni oriental - armeni occidental - alfabet llatí turc unificat - dialecte de San Giorgio/Bila - Boontling - alfabet fonètic internacional - sistema fonètic UPA - dialecte Lipovaz del resià - monotònic - dialecte de Natisone - dialecte de Gniva/Njiva - dialecte d'Oseacco/Osojane - politònic - ordenador - ortografia revisada - resià - saho - anglès estàndard d'Escòcia - scouse - dialecte de Stolvizza/Solbica - ortografia taraskievica - valencià - - - calendari - ordre alfabètic - moneda - - - ordre del xinès tradicional - Big5 - calendari budista - calendari xinès - ordre directe - ordre del xinès simplificat - GB2312 - calendari gregorià - calendari hebreu - calendari hindú - calendari musulmà - calendari civil islàmic - calendari japonès - ordre de la guia telefònica - ordre pinyin - calendari de la República Popular de Xina - ordre dels traços - ordre tradicional - - - imperial - mètric - - - Idioma: {0} - Escriptura: {0} - Regió: {0} - - - - [a à b c ç d e é è f-i í ï j-l ŀ m-o ó ò p-u ú ü v-z] - [á ă â å ä ã ā æ-è ĕ ê ë ē ì ĭ î ï ī ñ º ò ŏ ô ö ø ō œ ß ù ŭ û ū ÿ] - [a-c č d-l ł m-o º p-z] - - - ‘ - ’ - “ - ” - - - - - - - - gen. - febr. - març - abr. - maig - juny - jul. - ag. - set. - oct. - nov. - des. - - - gener - febrer - març - abril - maig - juny - juliol - agost - setembre - octubre - novembre - desembre - - - - - g - f - m - a - m - j - j - a - s - o - n - d - - - - - - - dg. - dl. - dt. - dc. - dj. - dv. - ds. - - - diumenge - dilluns - dimarts - dimecres - dijous - divendres - dissabte - - - - - dg - dl - dt - dc - dj - dv - ds - - - g - l - t - c - j - v - s - - - - - - - 1T - 2T - 3T - 4T - - - 1r trimestre - 2n trimestre - 3r trimestre - 4t trimestre - - - - - 1 - 2 - 3 - 4 - - - - a.m. - p.m. - - - aC - dC - - - - - - EEEE d 'de' MMMM 'de' y - - - - - d 'de' MMMM 'de' y - - - - - dd/MM/yyyy - - - - - dd/MM/yy - - - - - - - H:mm:ss zzzz - - - - - H:mm:ss z - - - - - H:mm:ss - - - - - H:mm - - - - - - EEE d - HH:mm:ss - H:mm - L - E d/M - LLL - E d MMM - E d MMMM - d 'de' MMMM - d MMM - d/M - d - mm:ss - mm:ss - y - M/yyyy - E d/M/yyyy - MMM y - EEE d MMM y - LLLL 'del' y - Q yyyy - QQQ y - Q yy - MM/yyyy - - - {0} - {1} - - M-M - - - E dd/MM - E dd/MM - E dd/MM - E dd/MM - - - MMM-MMM - - - E d 'de' MMM - E d 'de' MMM - E d - E d 'de' MMM - - - LLLL-LLLL - - - d 'de' MMM - d 'de' MMM - d-d 'de' MMM - - - dd/MM - dd/MM - dd/MM - dd/MM - - - d-d - - - HH-HH - H-H - - - HH:mm-HH:mm - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - H-H v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - - - MMM-MMM 'de' y - MMM 'de' y - MMM 'de' y - - - E d 'de' MMM - E d 'de' MMM 'de' y - E d - E d 'de' MMM 'de' y - E d 'de' MMM 'de' y - E d 'de' MMM 'de' y - - - MM – MM-yyyy - MM-yyyy – MM-yyyy - - - d 'de' MMM - d 'de' MMM 'de' y - d-d 'de' MMM 'de' y - d 'de' MMM 'de' y - d 'de' MMM 'de' y - - - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - - - - - - era - - - any - - - mes - - - setmana - - - dia - fa tres dies - abans d'ahir - ahir - avui - demà - demà passat - d'aquí a tres dies - - - dia de la setmana - - - a.m./p.m. - - - hora - - - minut - - - segon - - - zona - - - - - - +HH:mm;-HH:mm - GMT{0} - Hora de: {0} - {1} ({0}) - - Zona desconeguda - - - Tirana - - - Pol sud - - - Río Gallegos - - - Tucumán - - - Córdoba - - - Viena - - - Brussel·les - - - Eirunepé - - - Río Branco - - - Cuiabá - - - Belém - - - Araguaína - - - São Paulo - - - Maceió - - - Belise - - - Zuric - - - Illa de Pasqua - - - Urumchi - - - Bogotà - - - Cap Verd - - - Pasqua - - - Praga - - - Berlín - - - Copenhaguen - - - Alger - - - Galápagos - - - El Caire - - - Illes Canàries - - - Hèlsinki - - - Fèroe - - - París - - - Londres - - - Granada - - - Guadalupe - - - Atenes - - - Geòrgia del Sud - - - Port Príncep - - - Makasar - - - Dublín - - - Bagdad - - - Teheran - - - Roma - - - Tòquio - - - St. Kitts - - - Seül - - - Caiman - - - Aqtaū - - - Aķtöbe - - - St. Lucia - - - Luxemburg - - - Mònaco - - - Martinica - - - Maurici - - - Les Maldives - - - Mazatlán - - - Mèxic - - - Mérida - - - Numea - - - Katmandú - - - Panamà - - - Tahití - - - Marqueses - - - Varsòvia - - - Açores - - - Lisboa - - - Asunción - - - Reunió - - - Bucarest - - - Moscou - - - Jekaterinburg - - - Krasnoiarsk - - - Jakutsk - - - Kamtxatka - - - Anadyr' - - - Estocolm - - - Singapur - - - Sao Tomé - - - Salvador - - - Damasc - - - Illes Turks i Caicos - - - Tunísia - - - Port Espanya - - - Kíev - - - New Salem, Dakota del Nord - - - Center, Dakota del Nord - - - Nova York - - - Samarcanda - - - Sant Vicenç - - - Sant Tomàs - - - - Hora d'Àfrica Central - - - - - Hora d'Àfrica Oriental - - - - - Hora d'Àfrica Austral - - - - - Hora d'Àfrica Occidental - Hora d'estiu d'Àfrica Occidental - - - - - Hora central - Hora estàndard central - Hora d'estiu central - - - CT - CST - CDT - - - - - Hora oriental - Hora estàndard oriental - Hora d'estiu oriental - - - ET - EST - EDT - - - - - Hora de muntanya - Hora estàndard de muntanya - Hora d'estiu de muntanya - - - MT - MST - MDT - - - - - Hora del Pacífic - Hora estàndard del Pacífic - Hora d'estiu del Pacífic - - - PT - PST - PDT - - - - - Hora d'Aràbia - Hora estàndard d'Aràbia - Hora d'estiu d'Aràbia - - - AT (Aràbia) - AST (Aràbia) - ADT (Aràbia) - - - - - Hora de l'Atlàntic - Hora estàndard de l'Atlàntic - Hora d'estiu de l'Atlàntic - - - AT - AST - ADT - - - - - Hora estàndard de la Xina - - - CST (Xina) - - - - - Hora d'Espanya - Hora Central Europea - Hora Central Europea de l'estiu - - - Hora d'Espanya - CET - CEST - - - - - Hora d'Europa de l'Est - Hora d'estiu d'Europa de l'Est - - - EET - EEST - - - - - Hora d'Europa Occidental - Hora d'estiu d'Europa Occidental - - - WET - WEST - - - - - Hora mitjana de Greenwich - - - GMT - - - - - Hora estàndard de l'Índia - - - - - Hora estàndard d'Israel - Hora d'estiu d'Israel - - - IST (Israel) - - - - - Hora estàndard del Japó - - - - - Hora estàndard de Corea - - - - - Hora de Kujbysev - Hora d'estiu de Kujbysev - - - - - Hora de Moscou - Hora d'estiu de Moscou - - - - - Hora de Samara - Hora d'estiu de Samara - - - - - Hora de Turquia - Hora d'estiu de Turquia - - - - - Hora de Volgograd - Hora d'estiu de Volgograd - - - - - - - , - . - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - - - - pesseta andorrana - pesseta andorrana - pessetes andorranes - - - dirhem dels Emirats Àrabs Units - dirhem dels Emirats Àrabs Units - dirhems dels Emirats Àrabs Units - - - afgani afganès (1927-2002) - afgani afganès (AFA) - afganis afganesos (AFA) - - - afgani afganès - afgani afganès - afganis afganesos - - - lek albanès - lek albanès - lekë albanesos - - - dram armeni - dram armeni - drams armenis - - - florí de les Antilles Neerlandeses - florí de les Antilles Neerlandeses - florins de les Antilles Neerlandeses - - - kwanza angolès - kwanza angolès - kwanzas angolesos - - - kwanza angolès (1977-1990) - kwanza angolès (AOK) - kwanzas angolesos (AOK) - - - nou kwanza angolès (1990-2000) - nou kwanza angolès (AON) - nous kwanzas angolesos (AON) - - - kwanza angolès reajustat (1995-1999) - kwanza angolès reajustat (AOR) - kwanzas angolesos reajustats (AOR) - - - austral argentí - austral argentí - australs argentins - - - peso argentí (1983-1985) - peso argentí (ARP) - pesos argentins (ARP) - - - peso argentí - peso argentí - pesos argentins - - - xíling austríac - xíling austríac - xílings austríacs - - - dòlar australià - dòlar australià - dòlars australians - - - florí d'Aruba - florí d'Aruba - florins d'Aruba - - - manat azerbaidjanès (1993-2006) - manat azerbaidjanès (AZM) - manats azerbaidjanesos (AZM) - - - manat azerbaidjanès - manat azerbaidjanès - manats azerbaidjanesos - - - dinar de Bòsnia i Hercegovina - dinar de Bòsnia i Hercegovina - dinars de Bòsnia i Hercegovina - - - marc convertible de Bòsnia i Hercegovina - marc convertible de Bòsnia i Hercegovina - marcs convertibles de Bòsnia i Hercegovina - - - dòlar de Barbados - dòlar de Barbados - dòlars de Barbados - - - taka de Bangla Desh - taka de Bangla Desh - taka de Bangla Desh - - - franc belga (convertible) - franc belga (convertible) - francs belgues (convertibles) - - - franc belga - franc belga - francs belgues - - - franc belga (financer) - franc belga (financer) - francs belgues (financers) - - - lev fort búlgar - lev fort búlgar - leva forts búlgars - - - lev búlgar - lev búlgar - leva búlgars - - - dinar de Bahrain - dinar de Bahrain - dinars de Bahrain - - - franc de Burundi - franc de Burundi - francs de Burundi - - - dòlar de les Bermudes - dòlar de les Bermudes - dòlars de les Bermudes - - - dòlar de Brunei - dòlar de Brunei - dòlars de Brunei - - - boliviano - boliviano - bolivianos - - - peso bolivià - peso bolivià - pesos bolivians - - - MVDOL bolivià - MVDOL bolivià - MVDOL bolivians - - - cruzeiro novo brasiler (1967-1986) - cruzeiro novo brasiler (BRB) - cruzeiros novos brasilers (BRB) - - - cruzado brasiler - cruzado brasiler - cruzados brasilers - - - cruzeiro brasiler (1990-1993) - cruzeiro brasiler (BRE) - cruzeiros brasilers (BRE) - - - real brasiler - real brasiler - reais brasilers - - - cruzado novo brasiler - cruzado novo brasiler - cruzados novos brasilers - - - cruzeiro brasiler - cruzeiro brasiler - cruzeiros brasilers - - - dòlar de les Bahames - dòlar de les Bahames - dòlars de les Bahames - - - ngultrum de Bhutan - ngultrum de Bhutan - ngultrums de Bhutan - - - kyat birmà - kyat birmà - kyats birmans - - - pula de Botswana - pula de Botswana - pula de Botswana - - - nou ruble bielorús (1994-1999) - nou ruble bielorús (BYB) - nous rubles bielorussos (BYB) - - - ruble bielorús - ruble bielorús - rubles bielorussos - - - dòlar de Belize - dòlar de Belize - dòlars de Belize - - - dòlar canadenc - dòlar canadenc - dòlars canadencs - - - franc congolès - franc congolès - francs congolesos - - - euro WIR - euro WIR - euros WIR - - - franc suís - franc suís - francs suïssos - - - franc WIR - franc WIR - francs WIR - - - unidad de fomento xilena - unidad de fomento xilena - unidades de fomento xilenes - - - peso xilè - peso xilè - pesos xilens - - - iuan renmimbi xinès - iuan xinès - iuan xinesos - - - peso colombià - peso colombià - pesos colombians - - - unidad de valor real colombiana - unidad de valor real colombiana - unidades de valor real colombianes - - - colón costa-riqueny - colón costa-riqueny - colones costa-riquenys - - - dinar serbi antic - dinar serbi antic - dinars serbis antics - - - corona forta txecoslovaca - corona forta txecoslovaca - corones fortes txecoslovaques - - - peso cubà - peso cubà - pesos cubans - - - escut de Cap Verd - escut de Cap Verd - escuts de Cap Verd - - - lliura xipriota - lliura xipriota - lliures xipriotes - - - corona txeca - corona txeca - corones txeques - - - marc de l'Alemanya Oriental - marc de l'Alemanya Oriental - marcs de l'Alemanya Oriental - - - marc alemany - marc alemany - marcs alemanys - - - franc de Djibouti - franc de Djibouti - francs de Djibouti - - - corona danesa - corona danesa - corones daneses - - - peso dominicà - peso dominicà - pesos dominicans - - - dinar algerià - dinar algerià - dinars algerians - - - sucre equatorià - sucre equatorià - sucres equatorians - - - unidad de valor constante (UVC) equatoriana - unidad de valor constante (UVC) equatoriana - unidades de valor constante (UVC) equatorianes - - - corona estoniana - corona estoniana - corones estonianes - - - lliura egípcia - lliura egípcia - lliures egípcies - - - nakfa eritreu - nakfa eritreu - nakfes eritreus - - - pesseta espanyola (compte A) - pesseta espanyola (compte A) - pessetes espanyoles (compte A) - - - pesseta espanyola (compte convertible) - pesseta espanyola (compte convertible) - pessetes espanyoles (compte convertible) - - - ¤ #,##0;-¤ #,##0 - pesseta espanyola - pesseta espanyola - pessetes espanyoles - ₧ - , - . - - - birr etíop - birr etíop - birrs etíops - - - euro - euro - euros - - - marc finlandès - marc finlandès - marcs finlandesos - - - dòlar fijià - dòlar fijià - dòlars fijians - - - lliura de les illes Malvines - lliura de les illes Malvines - lliures de les illes Malvines - - - franc francès - franc francès - francs francesos - - - lliura esterlina britànica - lliura esterlina britànica - lliures esterlines britàniques - - - cupó de lari georgià - cupó de lari georgià - cupons de lari georgians - - - lari georgià - lari georgià - laris georgians - - - cedi ghanès (1979-2007) - cedi ghanès (GHC) - cedis ghanesos (GHC) - - - cedi ghanès - cedi ghanès - cedis ghanesos - - - lliura de Gibraltar - lliura de Gibraltar - lliures de Gibraltar - - - dalasi gambià - dalasi gambià - dalasis gambians - - - franc guineà - franc guineà - francs guineans - - - syli guineà - syli guineà - sylis guineans - - - ekwele de Guinea Equatorial - ekwele de Guinea Equatorial - bipkwele de Guinea Equatorial - - - dracma grega - dracma grega - dracmes gregues - - - quetzal guatemalenc - quetzal guatemalenc - quetzals guatemalencs - - - escut de la Guinea Portuguesa - escut de la Guinea Portuguesa - escuts de la Guinea Portuguesa - - - peso de Guinea Bissau - peso de Guinea Bissau - pesos de Guinea Bissau - - - dòlar de Guyana - dòlar de Guyana - dòlars de Guyana - - - dòlar de Hong Kong - dòlar de Hong Kong - dòlars de Hong Kong - - - lempira hondurenya - lempira hondurenya - lempires hondurenyes - - - dinar croat - dinar croat - dinars croats - - - kuna croata - kuna croata - kunes croates - - - gourde haitià - gourde haitià - gourdes haitians - - - fòrint hongarès - fòrint hongarès - fòrints hongaresos - - - rupia indonèsia - rupia indonèsia - rupies indonèsies - - - lliura irlandesa - lliura irlandesa - lliures irlandeses - - - lliura israeliana - lliura israeliana - lliures israelianes - - - xéquel israelià - xéquel israelià - xéquel israelià - - - nou xéquel israelià - nou xéquel israelià - nous xéquels israelians - - - rupia índia - rupia índia - rupies índies - - - dinar iraquià - dinar iraquià - dinars iraquians - - - rial iranià - rial iranià - rials iranians - - - corona islandesa antiga - corona islandesa antiga - corones islandeses antigues - - - corona islandesa - corona islandesa - corones islandeses - - - lira italiana - lira italiana - lires italianes - - - dòlar jamaicà - dòlar jamaicà - dòlars jamaicans - - - dinar jordà - dinar jordà - dinars jordans - - - ien japonès - ien japonès - iens japonesos - - - xíling kenyà - xíling kenyà - xílings kenyans - - - som kirguís - som kirguís - soms kirguisos - - - riel cambodjà - riel cambodjà - riels cambodjans - - - franc de les Comores - franc de les Comores - francs de les Comores - - - won nord-coreà - won nord-coreà - wons nord-coreans - - - won sud-coreà - won sud-coreà - wons sud-coreans - - - dinar kuwaitià - dinar kuwaitià - dinars kuwaitians - - - dòlar de les illes Caiman - dòlar de les illes Caiman - dòlars de les illes Caiman - - - tenge kazakh - tenge kazakh - tenges kazakhs - - - kip laosià - kip laosià - kips laosians - - - lliura libanesa - lliura libanesa - lliures libaneses - - - rupia de Sri Lanka - rupia de Sri Lanka - rupies de Sri Lanka - - - dòlar liberià - dòlar liberià - dòlars liberians - - - loti de Lesotho - loti de Lesotho - maloti de Lesotho - - - litas lituà - litas lituà - litai lituans - - - talonas lituà - talonas lituà - talonai lituans - - - franc convertible luxemburguès - franc convertible luxemburguès - francs convertibles luxemburguesos - - - franc luxemburguès - franc luxemburguès - francs luxemburguesos - - - franc financer luxemburguès - franc financer luxemburguès - francs financers luxemburguesos - - - lats letó - lats letó - lati letons - - - ruble letó - ruble letó - rubles letons - - - dinar libi - dinar libi - dinars libis - - - dírham marroquí - dírham marroquí - dírhams marroquins - - - franc marroquí - franc marroquí - francs marroquins - - - leu moldau - leu moldau - lei moldaus - - - ariary malgaix - ariary malgaix - ariarys malgaixos - - - franc malgaix - franc malgaix - francs malgaixos - - - denar macedoni - denar macedoni - denari macedonis - - - franc malià - franc malià - francs malians - - - kyat de Myanmar - kyat de Myanmar - kyats de Myanmar - - - tögrög mongol - tögrög mongol - tögrögs mongols - - - pataca de Macau - pataca de Macau - pataques de Macau - - - ouguiya maurità - ouguiya maurità - ouguiyas mauritans - - - lira maltesa - lira maltesa - lires malteses - - - lliura maltesa - lliura maltesa - lliures malteses - - - rupia de Maurici - rupia de Maurici - rupies de Maurici - - - rupia de les Maldives - rupia de les Maldives - rupies de les Maldives - - - kwacha malawià - kwacha malawià - kwachas malawians - - - peso mexicà - peso mexicà - pesos mexicans - - - peso de plata mexicà (1861-1992) - peso de plata mexicà (MXP) - pesos de plata mexicans (MXP) - - - unidad de inversión (UDI) mexicana - unidad de inversión (UDI) mexicana - unidades de inversión (UDI) mexicanes - - - ringgit de Malàisia - ringgit de Malàisia - ringgits de Malàisia - - - escut moçambiquès - escut moçambiquès - escuts moçambiquesos - - - antic metical moçambiquès - antic metical moçambiquès - antics meticals moçambiquesos - - - metical moçambiquès - metical moçambiquès - meticals moçambiquesos - - - dòlar namibià - dòlar namibià - dòlars namibians - - - naira nigerià - naira nigerià - naires nigerians - - - córdoba nicaragüenca - córdoba nicaragüenca - córdobas nicaragüenques - - - córdoba oro nicaragüenca - córdoba oro nicaragüenca - córdobas oro nicaragüenques - - - florí neerlandès - florí neerlandès - florins neerlandesos - - - corona noruega - corona noruega - corones noruegues - - - rupia nepalesa - rupia nepalesa - rupies nepaleses - - - dòlar neozelandès - dòlar neozelandès - dòlars neozelandesos - - - rial omanita - rial omanita - rials omanites - - - balboa panameny - balboa panameny - balboes panamenys - - - inti peruà - inti peruà - intis peruans - - - nou sol peruà - nou sol peruà - nous sols peruans - - - sol peruà - sol peruà - sols peruans - - - kina de Papua Nova Guinea - kina de Papua Nova Guinea - kines de Papua Nova Guinea - - - peso filipí - peso filipí - pesos filipins - - - rupia pakistanesa - rupia pakistanesa - rupies pakistaneses - - - zloty polonès - zloty polonès - zlote polonesos - - - zloty polonès (1950-1995) - zloty polonès (PLZ) - zlote polonesos (PLZ) - - - escut portuguès - escut portuguès - escuts portuguesos - - - guaraní paraguaià - guaraní paraguaià - guaranís paraguaians - - - riyal de Qatar - riyal de Qatar - riyals de Qatar - - - dòlar rhodesià - dòlar rhodesià - dòlars rhodesians - - - antic leu romanès - antic leu romanès - antics lei romanesos - - - leu romanès - leu romanès - lei romanesos - - - dinar serbi - dinar serbi - dinars serbis - - - ruble rus - ruble rus - rubles russos - - - ruble rus (1991-1998) - ruble rus (RUR) - rubles russos (RUR) - - - franc rwandès - franc rwandès - francs rwandesos - - - riyal saudita - riyal saudita - riyals saudites - - - dòlar de les illes Salomó - dòlar de les illes Salomó - dòlars de les illes Salomó - - - rupia de les Seychelles - rupia de les Seychelles - rupies de les Seychelles - - - dinar sudanès - dinar sudanès - dinars sudanesos - - - lliura sudanesa - lliura sudanesa - lliures sudaneses - - - antiga lliura sudanesa - antiga lliura sudanesa - antigues lliures sudaneses - - - corona sueca - corona sueca - corones sueques - - - dòlar de Singapur - dòlar de Singapur - dòlars de Singapur - - - lliura de Santa Helena - lliura de Santa Helena - lliures de Santa Helena - - - tolar eslovè - tolar eslovè - tolars eslovens - - - corona eslovaca - corona eslovaca - corones eslovaques - - - leone de Sierra Leone - leone de Sierra Leone - leones de Sierra Leone - - - xíling somali - xíling somali - xílings somalis - - - dòlar de Surinam - dòlar de Surinam - dòlars de Surinam - - - florí de Surinam - florí de Surinam - florins de Surinam - - - dobra de São Tomé i Príncipe - dobra de São Tomé i Príncipe - dobras de São Tomé i Príncipe - - - ruble soviètic - ruble soviètic - rubles soviètics - - - colón salvadorenc - colón salvadorenc - colones salvadorencs - - - lliura síria - lliura síria - lliures síries - - - lilangeni swazi - lilangeni swazi - emalangeni swazis - - - baht tailandès - baht tailandès - bahts tailandesos - - - ruble tadjik - ruble tadjik - rubles tadjiks - - - somoni tadjik - somoni tadjik - somonis tadjiks - - - manat turcman - manat turcman - manats turcmans - - - dinar tunisià - dinar tunisià - dinars tunisians - - - pa‘anga tongà - pa‘anga tongà - pa‘angas tongans - - - escut de Timor - escut de Timor - escuts de Timor - - - antiga lira turca - antiga lira turca - antigues lires turques - - - lira turca - lira turca - lires turques - - - dòlar de Trinitat i Tobago - dòlar de Trinitat i Tobago - dòlars de Trinitat i Tobago - - - nou dòlar de Taiwan - nou dòlar de Taiwan - nous dòlars de Taiwan - - - xíling tanzà - xíling tanzà - xílings tanzans - - - hrívnia ucraïnesa - hrívnia ucraïnesa - hrívnies ucraïneses - - - karbóvanets ucraïnès - karbóvanets ucraïnès - karbóvantsiv ucraïnesos - - - xíling ugandès (1966-1987) - xíling ugandès (UGS) - xílings ugandesos (UGS) - - - xíling ugandès - xíling ugandès - xílings ugandesos - - - dòlar dels Estats Units - dòlar dels Estats Units - dòlars dels Estats Units - - - dòlar dels Estats Units (dia següent) - dòlar dels Estats Units (dia següent) - dòlars dels Estats Units (dia següent) - - - dòlar dels Estats Units (mateix dia) - dòlar dels Estats Units (mateix dia) - dòlars dels Estats Units (mateix dia) - - - peso uruguaià en unitats indexades - peso uruguaià en unitats indexades - pesos uruguaians en unitats indexades - - - peso uruguaià (1975-1993) - peso uruguaià (UYP) - pesos uruguaians (UYP) - - - peso uruguaià - peso uruguaià - pesos uruguaians - - - som uzbek - som uzbek - soms uzbeks - - - bolívar veneçolà - bolívar veneçolà - bolívars veneçolans - - - bolívar fort veneçolà - bolívar fort veneçolà - bolívars forts veneçolans - - - dong vietnamita - dong vietnamita - dongs vietnamites - - - vatu de Vanuatu - vatu de Vanuatu - vatus de Vanuatu - - - tala samoà - tala samoà - tales samoans - - - franc CFA BEAC - franc CFA BEAC - francs CFA BEAC - - - plata - plata - plata - - - or - or - or - - - unitat compensatòria europea - unitat compensatòria europea - unitats compensatòries europees - - - unitat monetària europea - unitat monetària europea - unitats monetàries europees - - - unitat de compte europea (XBC) - unitat de compte europea (XBC) - unitats de compte europees (XBC) - - - unitat de compte europea (XBD) - unitat de compte europea (XBD) - unitats de compte europees (XBD) - - - dòlar del Carib Oriental - dòlar del Carib Oriental - dòlars del Carib Oriental - - - drets especials de gir - drets especials de gir - drets especials de gir - - - unitat de moneda europea - unitat de moneda europea - unitats de moneda europees - - - franc or francès - franc or francès - francs or francesos - - - franc UIC francès - franc UIC francès - francs UIC francesos - - - franc CFA BCEAO - franc CFA BCEAO - francs CFA BCEAO - - - pal·ladi - pal·ladi - pal·ladi - - - franc CFP - franc CFP - francs CFP - - - platí - platí - platí - - - fons RINET - fons RINET - fons RINET - - - codi reservat per a proves - codi reservat per a proves - codi reservat per a proves - - - moneda desconeguda/no vàlida - moneda desconeguda/no vàlida - monedes desconegudes/no vàlides - - - dinar iemenita - dinar iemenita - dinars iemenites - - - rial iemenita - rial iemenita - rials iemenites - - - dinar fort iugoslau - dinar fort iugoslau - dinars forts iugoslaus - - - nou dinar iugoslau - nou dinar iugoslau - nous dinars iugoslaus - - - dinar convertible iugoslau - dinar convertible iugoslau - dinars convertibles iugoslaus - - - rand sud-africà (financer) - rand sud-africà (financer) - rands sud-africans (financers) - - - rand sud-africà - rand sud-africà - rands sud-africans - - - kwacha zambià - kwacha zambià - kwacha zambians - - - nou zaire zairès - nou zaire zairès - nous zaires zairesos - - - zaire zairès - zaire zairès - zaires zairesos - - - dòlar zimbabuès - dòlar zimbabuès - dòlars zimbabuesos - - - - - - {0} dia - {0} dies - - - {0} hora - {0} hores - - - {0} minut - {0} minuts - - - {0} mes - {0} mesos - - - {0} segon - {0} segons - - - {0} setmana - {0} setmanes - - - {0} any - {0} anys - - - - - sí:s - no:n - - - - diff --git a/lib/zend/Zend/Locale/Data/ca_ES.xml b/lib/zend/Zend/Locale/Data/ca_ES.xml deleted file mode 100644 index 1d9cbd9369..0000000000 --- a/lib/zend/Zend/Locale/Data/ca_ES.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/cch.xml b/lib/zend/Zend/Locale/Data/cch.xml deleted file mode 100644 index 6e5221cfa1..0000000000 --- a/lib/zend/Zend/Locale/Data/cch.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - [a {a\u0331} b c {ch} d {dy} e-g {g\u0331} {gb} {gw} {gy} h {hy} i-k ḵ {kp} {kw} l {ly} m n ṉ {ny} o p {ph} {py} r {ry} s {sh} t-w {wh} y {y\u0331} z ʼ] - - - - - - - - Dyon - Baa - Atat - Anas - Atyo - Achi - Atar - Awur - Shad - Shak - Naba - Nata - - - Pen Dyon - Pen Ba'a - Pen Atat - Pen Anas - Pen Atyon - Pen Achirim - Pen Atariba - Pen Awurr - Pen Shadon - Pen Shakur - Pen Kur Naba - Pen Kur Natat - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Yok - Tung - T. Tung - Tsan - Nas - Nat - Chir - - - Wai Yoka Bawai - Wai Tunga - Toki Gitung - Tsam Kasuwa - Wai Na Nas - Wai Na Tiyon - Wai Na Chirim - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - AM - PM - - - Gabanin Miladi - Miladi - - - GM - M - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - Aman - - - - - diff --git a/lib/zend/Zend/Locale/Data/cch_NG.xml b/lib/zend/Zend/Locale/Data/cch_NG.xml deleted file mode 100644 index 4c81cc0d01..0000000000 --- a/lib/zend/Zend/Locale/Data/cch_NG.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/characters.xml b/lib/zend/Zend/Locale/Data/characters.xml deleted file mode 100644 index 8d68b644c3..0000000000 --- a/lib/zend/Zend/Locale/Data/characters.xml +++ /dev/null @@ -1,482 +0,0 @@ - - - - - - - - - - (C) - - - << - - - - - - - (R) - - - >> - - - 1/4 - - - 1/2 - - - 3/4 - - - AE - - - ss - - - ae - - - 'n - - - OE - - - oe - - - Ş - - - ş - - - Ţ - - - ţ - - - - - - - ' - - - " - - - , - - - ' - - - - - - - - - - - - - - - - - - - - - - - - - - - ' - - - ' - - - , - - - ' - - - " - - - " - - - ,, - - - " - - - · - - - · - - - / - - - CE - - - CRC - - - ¢ - - - Cr - - - Fr. - - - L. - - - NGN - - - Pts - - - KRW - - - ILS - - - VND - - - EUR - - - LAK - - - MNT - - - GRD - - - PHP - - - PYG - - - GHS - - - Rx - - - 1/3 - - - 2/3 - - - 1/5 - - - 2/5 - - - 3/5 - - - 4/5 - - - 1/6 - - - 5/6 - - - 1/8 - - - 3/8 - - - 5/8 - - - 7/8 - - - 1/ - - - Π - - - Σ - - - - - - - / - - - \ - - - | - - - || - - - - - - dm² - - - dm³ - - - mm² - - - cm² - - - m² - - - km² - - - mm³ - - - cm³ - - - m³ - - - km³ - - - m/s - - - m/s² - - - rad/s - - - rad/s² - - - CC - - - C/kg - - - pH - - - V/m - - - A/m - - - ſt - - - (( - - - )) - - - ゛ - - - ゜ - - - ㅤ - - - ㄱ - - - ㄲ - - - ㄳ - - - ㄴ - - - ㄵ - - - ㄶ - - - ㄷ - - - ㄸ - - - ㄹ - - - ㄺ - - - ㄻ - - - ㄼ - - - ㄽ - - - ㄾ - - - ㄿ - - - ㅀ - - - ㅁ - - - ㅂ - - - ㅃ - - - ㅄ - - - ㅅ - - - ㅆ - - - ㅇ - - - ㅈ - - - ㅉ - - - ㅊ - - - ㅋ - - - ㅌ - - - ㅍ - - - ㅎ - - - ㅏ - - - ㅐ - - - ㅑ - - - ㅒ - - - ㅓ - - - ㅔ - - - ㅕ - - - ㅖ - - - ㅗ - - - ㅘ - - - ㅙ - - - ㅚ - - - ㅛ - - - ㅜ - - - ㅝ - - - ㅞ - - - ㅟ - - - ㅠ - - - ㅡ - - - ㅢ - - - ㅣ - - - ¯ - - - - diff --git a/lib/zend/Zend/Locale/Data/cop.xml b/lib/zend/Zend/Locale/Data/cop.xml deleted file mode 100644 index 2a32e3ca06..0000000000 --- a/lib/zend/Zend/Locale/Data/cop.xml +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - - - - - [α-ρ σ ϲ τ-ω ϣ ϥ ϧ ϩ ϫ ϭ ϯ] - - - - - - - - ωογτ - Παοπι - Αθορ - Χοιακ - Τωβι - Μεϣιρ - Παρεμϩατ - Φαρμοθι - Παϣαν - Παωνι - Επηπ - Μεϲωρη - Πικογϫι μαβοτ - - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - AM - PM - - - BCE - CE - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - diff --git a/lib/zend/Zend/Locale/Data/cs.xml b/lib/zend/Zend/Locale/Data/cs.xml deleted file mode 100644 index 09d7bca0f5..0000000000 --- a/lib/zend/Zend/Locale/Data/cs.xml +++ /dev/null @@ -1,2440 +0,0 @@ - - - - - - - - - - - afarština - abcházština - acehština - ačoli - adangme - adygejština - avestánština - afrikánština - afroasijské jazyky (jiné) - afrihili - ainština - akanština - akkadština - aleutština - algonkinské jazyky (jiné) - amharština - aragonština - staroangličtina - angika - apačské jazyky - arabština - aramejština - araukánština - arapažština - umělé jazyky (jiné) - arawacké jazyky - assaméština - athapaskánské jazyky - australské jazyky - avarština - awadhština - aymárština - azerbajdžánština - baskirština - banda - bamileke (jiné) - balúčština - balijština - basa - baltské jazyky (jiné) - běloruština - bedža - bembštiva - berberské jazyky (jiné) - bulharština - biharština - bhojpurština - bislámština - bikolština - bini - siksika - bambarština - bengálština - bantuské jazyky (jiné) - tibetština - bretaňština - bradžština - bosenština - batačtina - burjatština - bugiština - katalánština - caddo - středoamerické indiánské jazyky (jiné) - karibština - kavkazské jazyky (jiné) - čečenština - cebuánština - keltské jazyky (jiné) - čamoro - čibča - čagatajština - čukština - marijština - činuk pidžin - choctawština - chipewyan - cherokee - čejenština - čamština - korsičtina - koptština - kreolština a jiné pidginy na základě angličtiny - kreolština a jiné pidginy na základě francouzštiny - kreolština a jiné pidginy na základě portugalštiny - krí - krymská turečtina - kreolština a jiné pidginy - čeština - staroslověnština - kúšitské jazyky (jiné) - čuvašština - velština - dánština - dakotština - dajáčtina - němčina - německy (Rakousko) - delaware - slave - dogrib - dinkština - dórgí - drávidské jazyky (jiné) - dualština - středoholandština - divehi - djula - bhútánština - eweština - efik - egyptština stará - ekajuk - řečtina - elamitština - angličtina - anglicky (Kanada) - angličtina (USA) - středoangličtina - esperanto - španělština - estonština - baskičtina - ewondo - perština - fang - fantština - fulahština - finština - tagalogština - ugrofinské jazyky (jiné) - fidži - faerština - francouzština - francouzsky (Kanada) - středofrancouzština - starofrancouzština - furlandština - fríština - irština - ga - gayo - gbaja - skotská galština - germánské jazyky (jiné) - geez - kiribatština - haličština - hornoněmčina stará - guaranština - stará hornoněmčina - góndština - gorontalo - gótština - grebo - starořečtina - gujaratština - manština - gwichʼin - hausa - haida - havajský - hebrejština - hindština - hiligayonština - himáčalština - chetitština - hmongština - hiri motu - chorvatština - maďarština - hupa - arménština - herero - interlingua - iban - indonéština - interlingue - igboština - idžo - inupiakština - ilokánština - indické jazyky (jiné) - indoevropské jazyky (jiné) - inguština - íránské jazyky (jiné) - irokézské jazyky (jiné) - islandština - italština - inuktitutština - japonština - javánština - gruzínština - karakalpačtina - kabylština - kačijština - kambština - karenština - kawi - kabardinština - konžština - khásí - khoisanské jazyky (jiné) - chotánština - kikujština - kuaňamština - kazachština - grónština - kambodžština - kimbundština - kannadština - korejština - kónkánština - kosrajština - kpelle - kanuri - kru - krukukhština - kašmírština - kurdština - kumyčtina - kutenai - komijština - kornština - kirgizština - latina - ladinština - lahndština - lambština - Lucemburština - lezginština - ganda - lingalština - laoština - mongština - lozština - litevština - lubu-katanžština - luba-luluaština - luiseňo - lundština - luoština - lišáí - lotyština - madurština - magadhiština - maithiliština - makasarština - mandingština - austronéské jazyky (jiné) - masajština - mandar - mende - malgaština - středoirština - maršálština - maorština - micmac - minangkabau - různé jazyky - makedonština - mon-khmerské jazyky (jiné) - malabarština - mongolština - mandžuština - manipurština - manobo jazyky - moldavština - mohawk - mosi - marathi - malajština - maltština - více jazyků - mundské jazyky (jiné) - muskogee (creek) - márvárština - barmština - mayské jazyky - nauru - nahuatl - severoamerické indiánské jazyky (jiné) - neapolština - norština (Bokmål) - ndebele (Zimbabwe) - dolnoněmčina - nepálština - névárština - ndondština - nias - nigero-kordofánské jazyky (jiné) - niue - nizozemština - norština (nynorsk) - norština - norština historická - ndebele (Jižní Afrika) - severní sotho - núbijské jazyky - navažština - ňandžština - ňamwežština - nyakolština - nyorština - nzima - occitan - odžibvejština - Oromo (Afan) - oriya - osetština - osage - osmanská turečtina - otomijské jazyky - paňdžábština - papuánské jazyky (jiné) - pangasinan - pahlaví - papangau - papiamento - palauština - staroperština - filipínské jazyky (jiné) - féničtina - pálí - polština - pohnpeiština - prákritské jazyky - provensálština - Pashto (Pushto) - portugalština - kečuánština - rádžastánština - rapanuiština - rarotongaština - rétorománština - kirundi - rumunština - románské jazyky (jiné) - romština - ruština - kinyarwandština - sanskrt - sandawština - jakutština - jihoamerické indiánské jazyky (jiné) - salishské jazyky - samarština - sasakština - santálí - sardština - skotština - sindhi - selkupština - semitské jazyky (jiné) - sangho - staroirština - znakové jazyky - srbochorvatština - šanština - sinhálština - sidamo - siouxské jazyky - tibetočínské jazyky (jiné) - slovenština - slovinština - slovanský jazyk - samoyština - sami jazyky - shona - sonikština - somálština - sogdština - songhajština - albánština - srbština - serer - siswatština - nilo-saharské jazyky (jiné) - sesotho - sundanština - sukuma - susu - sumerský - švédština - svahilština - syrština - tamilština - thajské jazyky (jiné) - telugština - temne - tereno - tetumština - tádžičtina - thajština - tigrinijština - tigrejština - tivština - turkmenština - tokelauština - tagalog - klingonština - tlingit - tamašek - setswanština - tonga - tok pisin - turečtina - tsonga - tsimshijské jazyky - tatarština - tumbukština - altajské jazyky (jiné) - tuvalština - twi - tahitština - tuvinština - udmurtština - uighurština - ugaritština - ukrajinština - umbundu - neznámý nebo neplatný jazyk - urdština - uzbečtina - vai - vendština - vietnamština - volapuk - votiatština - valonština - wakashské jazyky - walamština - waray - washo - lužickosrbské jazyky - wolof - kalmyčtina - xhosa - jaoština - yapese - jidiš - yoruba - yupik - zhuang - zapotéčtina - zenaga - čínština - čínština (zjednodušená) - čínština (tradiční) - zandština - zulu - zunijština - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Svět - Afrika - 003 - Jižní Amerika - Oceánie - Západní Afrika - Střední Amerika - Východní Afrika - Severní Afrika - Střední Afrika - Jižní Afrika - Amerika - Severní Amerika - Karibik - Východní Asie - Jižní Asie - Jihovýchodní Asie - Jižní Evropa - Austrálie a Nový Zéland - Melanésie - Mikronésie - Polynésie - Jižní a centrální Asie - Asie - Střední Asie - Západní Asie - Evropa - Východní Evropa - Severní Evropa - Západní Evropa - Společenství nezávislých států - Československo - Latinská Amerika a Karibské moře - Normanské ostrovy - Andorra - Spojené arabské emiráty - Afghánistán - Antigua a Barbuda - Anguila - Albánie - Arménie - Nizozemské Antily - Angola - Antarktida - Argentina - Americká Samoa - Rakousko - Austrálie - Aruba - Alandy - Ázerbájdžán - Bosna a Hercegovina - Barbados - Bangladéš - Belgie - Burkina Faso - Bulharsko - Bahrajn - Burundi - Benin - Svatý Bartoloměj - Bermudy - Brunej Darussalam - Bolívie - Brazílie - Bahamy - Bhútán - Ostrov Bouvet - Botswana - Bělorusko - Belize - Kanada - Kokosové ostrovy - Demokratická republika Kongo - Středoafrická republika - Kongo - Švýcarsko - Pobřeží slonoviny - Cookovy ostrovy - Chile - Kamerun - Čína - Kolumbie - Kostarika - Srbsko a Černá Hora - Kuba - Kapverdy - Vánoční ostrovy - Kypr - Česká republika - Německo - Džibuti - Dánsko - Dominika - Dominikánská republika - Alžírsko - Ekvádor - Estonsko - Egypt - Západní Sahara - Eritrea - Španělsko - Etiopie - Finsko - Fidži - Falklandské ostrovy - Mikronézie - Faerské ostrovy - Francie - Gabon - Velká Británie - Grenada - Gruzie - Francouzská Guyana - Guernsey - Ghana - Gibraltar - Grónsko - Gambie - Guinea - Guadeloupe - Rovníková Guinea - Řecko - Jižní Georgie a Jižní Sandwichovy ostrovy - Guatemala - Guam - Guinea-Bissau - Guyana - Hongkong, zvláštní administrativní oblast Číny - Ostrovy Heard a McDonald - Honduras - Chorvatsko - Haiti - Maďarsko - Indonésie - Irsko - Izrael - Ostrov Man - Indie - Britské území v Indickém oceánu - Irák - Írán - Island - Itálie - Jersey - Jamajka - Jordánsko - Japonsko - Keňa - Kyrgyzstán - Kambodža - Kiribati - Komory - Svatý Kitts a Nevis - Severní Korea - Jižní Korea - Kuvajt - Kajmanské ostrovy - Kazachstán - Lidově demokratická republika Laos - Libanon - Svatá Lucie - Lichtenštejnsko - Srí Lanka - Libérie - Lesotho - Litva - Lucembursko - Lotyšsko - Libye - Maroko - Monako - Moldavsko, republika - Černá Hora - Svatý Martin - Madagaskar - Marshallovy ostrovy - Macedonia - Mali - Myanmar - Mongolsko - Zvláštní administrativní oblast Číny Macao - Severní Mariany - Martinik - Mauritánie - Montserrat - Malta - Mauricius - Maladivy - Malawi - Mexiko - Malajsie - Mosambik - Namibie - Nová Kaledonie - Niger - Norfolk - Nigérie - Nikaragua - Nizozemsko - Norsko - Nepál - Nauru - Niue - Nový Zéland - Omán - Panama - Peru - Francouzská Polynésie - Papua-Nová Guinea - Filipíny - Pákistán - Polsko - Svatý Pierre a Miquelon - Pitcairn - Portoriko - Palestinian Territory - Portugalsko - Palau - Paraguay - Katar - Vnější Oceánie - Evropská unie - Réunion - Rumunsko - Srbsko - Rusko - Rwanda - Saúdská Arábie - Šalamounovy ostrovy - Seychely - Súdán - Švédsko - Singapur - Svatá Helena - Slovinsko - Svalbard a Jan Mayen - Slovensko - Sierra Leone - San Marino - Senegal - Somálsko - Surinam - Svatý Tomáš - El Salvador - Sýrie - Svazijsko - Ostrovy Caicos a Turks - Čad - Francouzská jižní teritoria - Togo - Thajsko - Tádžikistán - Tokelau - Východní Timor - Turkmenistán - Tunisko - Tonga - Turecko - Trinidad a Tobago - Tuvalu - Tchaj-wan - Tanzanie - Ukrajina - Uganda - Menší odlehlé ostrovy USA - Spojené státy - Uruguay - Uzbekistán - Svatý stolec - Svatý Vincent a Grenadiny - Venezuela - Britské Panenské ostrovy - Americké Panenské ostrovy - Vietnam - Vanuatu - Wallis a Futuna - Samoa - Jemen - Mayotte - Jihoafrická republika - Zambie - Zimbabwe - Neznámá nebo neplatná oblast - - - Kalendář - Třídění - Měna - - - Buddhistický kalendář - Čínský kalendář - Gregoriánský kalendář - Hebrejský kalendář - Indický národní kalendář - Muslimský kalendář - Muslimský občanský kalendář - Japonský kalendář - - - USA - Metrický - - - Jazyk: {0} - Skript: {0} - Region: {0} - - - - titlecase-firstword - lowercase-words - - - [a á b c č d ď e é ě f-h {ch} i í j-n ň o ó p-r ř s š t ť u ú ů v-y ý z ž] - - - „ - “ - ‚ - ‘ - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - ledna - února - března - dubna - května - června - července - srpna - září - října - listopadu - prosince - - - - - 1. - 2. - 3. - 4. - 5. - 6. - 7. - 8. - 9. - 10. - 11. - 12. - - - l - ú - b - d - k - č - č - s - z - ř - l - p - - - leden - únor - březen - duben - květen - červen - červenec - srpen - září - říjen - listopad - prosinec - - - - - - - ne - po - út - st - čt - pá - so - - - neděle - pondělí - úterý - středa - čtvrtek - pátek - sobota - - - - - N - P - Ú - S - Č - P - S - - - - - - - Q1 - Q2 - Q3 - Q4 - - - 1. čtvrtletí - 2. čtvrtletí - 3. čtvrtletí - 4. čtvrtletí - - - - - 1 - 2 - 3 - 4 - - - - dop. - odp. - - - př.Kr. - po Kr. - - - - - - EEEE, d. MMMM y - - - - - d. MMMM y - - - - - d.M.yyyy - - - - - d.M.yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - H:mm:ss - - - - - H:mm - - - - - - H - HH:mm - HH:mm:ss - d. MMMM - d.M - mm:ss - Q yy - y - M.yyyy - MMMM y - - - {0} - {1} - - M.-M. - - - E, d.M. - E, d.M. - E, d.M. - E, d.M. - - - MMM-MMM - - - E, d. MMM - E, d. MMM - E, d. - E, d. MMM - - - LLLL-LLLL - - - d. MMM - d. MMM - d.-d. MMM - - - d.M. - d.M. - d.M. - d.M. - - - d.-d. - - - H-H - - - H:mm-H:mm - H:mm-H:mm - - - H:mm-H:mm v - H:mm-H:mm v - - - H-H v - - - y-y - - - M.yy - M.yy - M.yy - M.yy - - - E, d.M.yy - E, d.M.yy - E, d.M.yy - E, d.M.yy - E, d.M.yy - E, d.M.yy - - - MMM-MMM y - MMM y - MMM y - - - E, d. MMM - E, d. MMM y - E, d. - E, d. MMM y - E, d. MMM y - E, d. MMM y - - - LLLL-LLLL y - LLLL y - LLLL y - - - d. MMM - d. MMM y - d.-d. MMM y - d. MMM y - d. MMM y - - - d.M.yy - d.M.yy - d.M.yy - d.M.yy - d.M.yy - d.M.yy - - - - - - Epocha - - - Rok - - - Měsíc - - - Týden - - - Den - Předevčírem - Včera - Dnes - Zítra - Pozítří - - - Den v týdnu - - - Část dne - - - Hodina - - - Minuta - - - Sekunda - - - Pásmo - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - Není známo - - - Dubaj - - - Kábul - - - Tirana - - - Jerevan - - - Jižní pól - - - Dumont D'Urville - - - Kordoba - - - Vídeň - - - Dháka - - - Brusel - - - Sofie - - - Bahrajn - - - Bermudy - - - Brunej - - - Belém - - - Bahía - - - St. Johns - - - Curych - - - Velikonoční ostrov - - - Kašghar - - - Urumči - - - Čchung-čching - - - Šanghaj - - - Charbin - - - Kostarika - - - Kapverdy - - - Vánoční ostrov - - - Lefkosía - - - Berlín - - - Džibuti - - - Kodaň - - - Alžír - - - Galapágy - - - Káhira - - - Kanárské ostrovy - - - Fidži - - - Paříž - - - Londýn - - - Atény - - - Jižní Georgia - - - Budapešť - - - Jeruzalém - - - Bagdád - - - Teherán - - - Reykjavík - - - Řím - - - Jamajka - - - Ammán - - - Tokio - - - Biškek - - - Phnompenh - - - St. Kitts - - - Pchjongjang - - - Soul - - - Kuvajt - - - Bejrút - - - St. Lucia - - - Lucembursko - - - Tripolis - - - Rangún - - - Ulánbátar - - - Martinik - - - Mauricius - - - Maledivy - - - Tichuana - - - Cancún - - - Karáčí - - - Varšava - - - Portoriko - - - Azorské ostrovy - - - Lisabon - - - Katar - - - Bukurešť - - - Moskva - - - Jekatěrinburg - - - Krasnojarsk - - - Jakutsk - - - Sachalin - - - Kamčatka - - - Rijád - - - Chartúm - - - Singapur - - - Sv. Helena - - - Mogadišo - - - Svatý Tomáš - - - Salvador - - - Damašek - - - Dušanbe - - - Ašgabad - - - Užhorod - - - Kyjev - - - Záporoží - - - Aljašský čas - - - Taškent - - - St. Vincent - - - St. Thomas - - - - Aljašský standardní čas - Aljašský letní čas - - - - - Centrální standardní čas - Centrální letní čas - - - - - Východní standardní čas - Východní letní čas - - - - - Horský standardní čas - Horský letní čas - - - - - Pacifický standardní čas - Pacifický letní čas - - - - - Atlantický standardní čas - Atlantický letní čas - - - - - Čínský standardní čas - - - - - Středoevropský standardní čas - Středoevropský letní čas - - - - - Východoevropský standardní čas - Východoevropský letní čas - - - - - Greenwichský střední čas - - - - - Izraelský standardní čas - Izraelský letní čas - - - - - Japonský standardní čas - Japonský letní čas - - - - - Newfoundlandský standardní čas - Newfoundlandský letní čas - - - - - - - , -   - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - #,##0.00 ¤ - - - - - - Peseta andorrská - - - Dirham SAE - - - Afghán (1927-2002) - - - Afghán - - - Lek - - - Dram arménský - - - Zlatý Nizozemských Antil - - - Kwanza - - - Kwanza (1977-1990) - - - Kwanza nová (1990-2000) - - - Kwanza reajustado (1995-1999) - - - Austral - - - Peso argentinské (1983-1985) - - - Peso argentinské - - - Šilink - - - Dolar australský - - - Zlatý arubský - - - Manat ázerbajdžánský - - - Dinár Bosny a Hercegoviny - - - Marka konvertibilní - - - Dolar barbadoský - - - Taka - - - Frank konvertibilní belgický - - - Frank belgický - - - Frank finanční belgický - - - Lev - - - Lev Bulharský - - - Dinár bahrajnský - - - Frank burundský - - - Dolar bermudský - - - Dolar brunejský - - - Boliviano - - - Peso - - - Mvdol - - - Cruzeiro (1967-1986) - - - Cruzado - - - Cruzeiro (1990-1993) - - - Real brazilský - - - Cruzado nové - - - Cruzeiro real - - - Dolar bahamský - - - Ngultrum - - - Kyat barmský - - - Pula - - - Rubl nový běloruský (1994-1999) - - - Rubl běloruský - - - Dolar belizský - - - Dolar kanadský - - - Frank konžský - - - Frank švýcarský - - - Unidades de fomento - - - Peso chilské - - - Juan renminbi - - - Peso kolumbijské - - - Colón kostarický - - - Koruna československá - - - Peso kubánské - - - Escudo kapverdské - - - Libra kyperská - - - Koruna česká - - - Marka NDR - - - Marka německá - - - Frank džibutský - - - Koruna dánská - - - Peso dominikánské - - - Dinár alžírský - - - Sucre ekvádorský - - - Ecuador Unidad de Valor Constante (UVC) - - - Kroon - - - Libra egyptská - - - Nakfa - - - Peseta španělská („A“ účet) - - - Konvertibilní pesetové účty - - - Peseta španělská - - - Birr etiopský - - - Euro - - - Markka - - - Dolar fidžijský - - - Libra falklandská - - - Frank francouzský - - - Libra šterlinků - - - Georgian Kupon Larit - - - Lari - - - Cedi - - - Libra gibraltarská - - - Dalasi - - - Frank guinejský - - - Guinea Syli - - - Equatorial Guinea Ekwele Guineana - - - Drachma - - - Quetzal - - - Escudo guinejské - - - Peso Guinnea-Bissau - - - Dolar guyanský - - - Dolar hongkongský - - - Lempira - - - Dinar chorvatský - - - Kuna chorvatská - - - Gourde - - - Forint - - - Rupie indonézská - - - Libra irská - - - Libra izraelská - - - Šekel nový izraelský - - - Rupie indická - - - Dinár irácký - - - Rijál íránský - - - Koruna islandská - - - Lira italská - - - Dolar jamajský - - - Dinár jordánský - - - Jen - - - Šilink keňský - - - Som - - - Riel - - - Frank komorský - - - Won severokorejský - - - Won jihokorejský - - - Dinár kuvajtský - - - Dolar Kajmanských ostrovů - - - Tenge - - - Kip - - - Libra libanonská - - - Rupie srílanská - - - Dolar liberijský - - - Loti - - - Litus litevský - - - Talon - - - Frank konvertibilní lucemburský - - - Frank lucemburský - - - Frank finanční lucemburský - - - Lat lotyšský - - - Rubl lotyšský - - - Dinár lybijský - - - Dirham marocký - - - Frank marocký - - - Leu moldavský - - - Ariary madagaskarský - - - Frank madagaskarský - - - Denár - - - Frank malijský - - - Kyat - - - Tugrik - - - Pataca - - - Ouguiya - - - Lira maltská - - - Libra maltská - - - Rupie mauricijská - - - Rufiyaa - - - Kwacha malawská - - - Peso mexické - - - Peso stříbrné mexické (1861-1992) - - - Mexican Unidad de Inversion (UDI) - - - Ringgit malajskijský - - - Escudo Mosambiku - - - Metical - - - Dolar namibijský - - - Naira - - - Cordoba - - - Cordoba oro - - - Zlatý holandský - - - Koruna norská - - - Rupie nepálská - - - Dolar novozélandský - - - Rijál ománský - - - Balboa - - - Inti - - - Nuevo sol - - - Sol - - - Kina - - - Peso filipínské - - - Rupie pákistánská - - - Zlotý - - - Zlotý (1950-1995) - - - Escudo portugalské - - - Guarani - - - Rijál katarský - - - Lei - - - Leu rumunské - - - Dinár srbský - - - Rubl ruský - - - Rubl ruský (1991-1998) - - - Frank rwandský - - - Rijál saudský - - - Dolar Šalamounových ostrovů - - - Rupie seychelská - - - Dinár súdánský - - - Libra súdánská - - - Koruna švédská - - - Dolar singapurský - - - Libra Svaté Heleny - - - Tolar - - - Koruna slovenská - - - Leone - - - Šilink somálský - - - Zlatý surinamský - - - Dobra - - - Rubl - - - Colon salvadorský - - - Libra syrská - - - Lilangeni - - - Baht - - - Tajikistan Ruble - - - Somoni - - - Manat - - - Dinár tuniský - - - Paʻanga - - - Escudo timorské - - - Lira turecká - - - Lira nová turecká - - - Dolar Trinidad a Tobago - - - Dolar tchajvanský nový - - - Šilink tanzanský - - - Hřivna - - - Karbovanec - - - Šilink ugandský (1966-1987) - - - Šilink ugandský - - - Dolar americký - - - Dolar americký (příští den) - - - Dolar americký (týž den) - - - Peso uruguayské (1975-1993) - - - Peso uruguayské - - - Sum uzbecký - - - Bolivar - - - Dong vietnamský - - - Vatu - - - Tala - - - Frank BEAC/CFA - - - Stříbro - - - Zlato - - - Evropská smíšená jednotka - - - Evropská peněžní jednotka - - - Evropská jednotka účtu 9 (XBC) - - - Evropská jednotka účtu 17 (XBD) - - - Dolar východokaribský - - - SDR - - - Evropská měnová jednotka - - - Frank zlatý - - - Frank UIC - - - Frank BCEAO/CFA - - - Paladium - - - Frank CFP - - - Platina - - - Kód fondů RINET - - - Kódy zvlášť vyhrazené pro testovací účely - - - Neznámá nebo neplatná měna - - - Dinár jemenský - - - Rijál jemenský - - - Dinár jugoslávský nový [YUD] - - - Dinár jugoslávský nový [YUM] - - - Dinár jugoslávský konvertibilní - - - Rand finanční - - - Rand - - - Kwacha zambijská - - - Zaire nový - - - Zaire - - - Dolar zimbabwský - - - - - - {0} dny - {0} den - {0} dní - - - {0} hodiny - {0} hodina - {0} hodin - - - {0} minuty - {0} minuta - {0} minut - - - {0} měsíce - {0} měsíc - {0} měsíců - - - {0} sekundy - {0} sekunda - {0} sekund - - - {0} týdny - {0} týden - {0} týdnů - - - {0} roky - {0} rok - {0} let - - - - - ano:a - ne:n - - - - diff --git a/lib/zend/Zend/Locale/Data/cs_CZ.xml b/lib/zend/Zend/Locale/Data/cs_CZ.xml deleted file mode 100644 index 96294e377d..0000000000 --- a/lib/zend/Zend/Locale/Data/cs_CZ.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/cy.xml b/lib/zend/Zend/Locale/Data/cy.xml deleted file mode 100644 index b33f784566..0000000000 --- a/lib/zend/Zend/Locale/Data/cy.xml +++ /dev/null @@ -1,783 +0,0 @@ - - - - - - - - - - - Affricaneg - Amhareg - Arabeg - Asameg - Azerbaijani - Belarwsiyn - Bwlgareg - Bihari - Bengali; Bangla - Llydaweg - Bosnieg - Catalaneg - Tsiec - Cymraeg - Daneg - Almaeneg - Groeg - Saesneg - Esperanto - Sbaeneg - Estoneg - Basgeg - Persieg - Ffineg - Tagalog - Ffaroeg - Ffrangeg - Ffrisieg - Gwyddeleg - Gaeleg yr Alban - Galiseg - Guarani - Gwjarati - Hebraeg - Hindi - Croateg - Hwngareg - Armeneg - Interlingua - Indonesieg - Interlingue - Islandeg - Eidaleg - Siapaneeg - Jafanaeg - Georgeg - Cambodieg - Kannada - Corëeg - Cwrdeg - Kyrgyz - Lladin - Lingala - Laoeg - Lithwaneg - Latfieg - Macedoneg - Malayalam - Mongoleg - Marathi - Malai - Malteseg - Nepali - Iseldireg - Norwyeg (Nynorsk) - Norwyeg - Ocsitaneg - Oriya - Pwnjabi - Pwyleg - Pashto - Portiwgaleg - Rwmaneg - Rwsieg - Sansgrit - Sindhi - Serbo-Croateg - Sinhaleg - Slofaceg - Slofeneg - Somaleg - Albaneg - Serbeg - Sesotheg - Sundaneg - Swedeg - Swahili - Tamil - Telugu - Tai - Tigrinya - Tyrcmeneg - Klingon - Twrceg - Twi - Uighur - Wcreineg - anh - Urdu - Wsbeceg - Fietnameg - Xhosa - Iddew-Almaeneg - Tseineeg - Zwlw - - - - - - Y Byd - Affrica - De America - Oceania - Gorllewin Affrica - Canolbarth America - Dwyrain Affrica - Gogledd Affrica - Canol Affrica - De Affrica [018] - Americas - Gogledd America - Y Caribî - Dwyrain Asia - De ddwyrain Asia - De Ewrop - Awstralia a Seland Newydd - Melanesia - Micronesia [057] - Polynesia - De Canol Asia - Asia - Gorllewin Asia - Ewrop - Dwyrain Ewrop - Gogledd Ewrop - Gorllewin Ewrop - Ynysoedd y Sianel - Andorra - Emiraethau Arabaidd Unedig - Affganistan - Antigwa a Barbuda - Anguilla - Albania - Armenia - Ynysoedd Caribî yr Iseldiroedd - Angola - Antarctica - Yr Ariannin - Samoa Americanaidd - Awstria - Awstralia - Aruba - Ynysoedd Aland - Azerbaijan - Bosnia a Herzegovina - Barbados - Bangladesh - Gwlad Belg - Burkina Faso - Bwlgaria - Bahrain - Burundi - Benin - Bermwda - Brunei - Bolifia - Brasil - Y Bahamas - Bhwtan - Ynys Bouvet - Botswana - Belarws - Belize - Canada - Ynysoedd Cocos (Keeling) - Gweriniaeth Ddemocrataidd y Congo - Gweriniaeth Canol Affrica - Congo - Y Swistir - Côte d’Ivoire - Ynysoedd Cook - Chile - Y Camerŵn - Tseina - Colombia - Costa Rica - Ciwba - Cape Verde - Ynys y Nadolig - Cyprus - Gweriniaeth Tsiec - Yr Almaen - Djibouti - Denmarc - Dominica - Y Weriniaeth Ddominicaidd - Algeria - Ecwador - Estonia - Yr Aifft - Gorllewin Sahara - Eritrea - Sbaen - Ethiopia - Y Ffindir - Fiji - Ynysoedd y Falkland - Micronesia - Ynysoedd Ffaröe - Ffrainc - Gabon - Prydain Fawr - Grenada - Georgia - Giana Ffrengig - Ghana - Gibraltar - Yr Ynys Las - Gambia - Gini - Guadeloupe - Gini Gyhydeddol - Gwlad Groeg - Ynysoedd De Georgia a De Sandwich - Guatemala - Guam - Guinea-Bissau - Guyana - Hong Kong S.A.R., Tseina - Ynys Heard ac Ynysoedd McDonald - Hondwras - Croatia - Haiti - Hwngari - Indonesia - Iwerddon - Israel - Ynys Manaw - India - Tiriogaeth Cefnfor India Prydain - Irac - Iran - Gwlad yr Iâ - Yr Eidal - Jamaica - Yr Iorddonen - Siapan - Cenia - Cirgistan - Cambodia - Kiribati - Comoros - Saint Kitts a Nevis - Gogledd Corea - De Corea - Coweit - Ynysoedd Cayman - Kazakhstan - Laos - Libanus - Saint Lucia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Lithwania - Lwcsembwrg - Latfia - Libia - Moroco - Monaco - Moldofa - Madagascar - Ynysoedd Marshall - Macedonia - Mali - Myanmar - Mongolia - Macao S.A.R., Tseina - Ynysoedd Gogledd Mariana - Martinique - Mawritania - Montserrat - Malta - Mawrisiws - Maldives - Malawi - Mecsico - Malaysia - Mozambique - Namibia - Caledonia Newydd - Niger - Ynys Norfolk - Nigeria - Nicaragwa - Yr Iseldiroedd - Norwy - Nepal - Nawrw - Niue - Seland Newydd - Oman - Panama - Perw - Polynesia Ffrainc - Papua Gini Newydd - Philipinau - Pacistan - Gwlad Pwyl - Saint Pierre a Miquelon - Pitcairn - Puerto Rico - Tiriogaeth Palesteina - Portiwgal - Palau - Paraguay - Qatar - Ynysoedd Pellenig y De - Réunion - Rwmania - Rwsia - Rwanda - Sawdi-Arabia - Ynysoedd Solomon - Seychelles - Y Swdan - Sweden - Singapore - Saint Helena - Slofenia - Svalbard a Jan Mayen - Slofacia - Sierra Leone - San Marino - Senegal - Somalia - Swrinam - Sao Tome a Principe - El Salfador - Syria - Swaziland - Ynysoedd Turks a Caicos - Chad - Tiriogaethau Ffrengig y De - Togo - Gwlad Thai - Tajicistan - Tokelau - Timor-Leste - Tyrcmenistan - Tiwnisia - Tonga - Twrci - Trinidad a Thobago - Twfalw - Taiwan - Tansanïa - Wcráin - Uganda - Mân Ynysoedd Pellenig yr Unol Daleithiau - Yr Unol Daleithiau - Uruguay - Wsbecistan - Y Fatican - Saint Vincent a’r Grenadines - Venezuela - Ynysoedd Prydeinig y Wyryf - Ynysoedd Americanaidd y Wyryf - Fietnam - Vanuatu - Wallis a Futuna - Samoa - Yemen - Mayotte - De Affrica - Sambia - Simbabwe - - - UD - Metrig - - - - [a á à â ä b c {ch} d {dd} e é è ê ë f {ff} g-i í ì î ï l {ll} m n {ng} o ó ò ô ö p {ph} r {rh} s t {th} u ú ù û ü w ẃ ẁ ŵ ẅ y ý ỳ ŷ ÿ] - [j k q v x z] - - - ‘ - ’ - “ - ” - - - - - - - - Ion - Chwef - Mawrth - Ebrill - Mai - Meh - Gorff - Awst - Medi - Hyd - Tach - Rhag - - - Ionawr - Chwefror - Mawrth - Ebrill - Mai - Mehefin - Gorffenaf - Awst - Medi - Hydref - Tachwedd - Rhagfyr - - - - - Chwe - Maw - Ebr - Gor - - - I - C - M - E - M - M - G - A - M - H - T - R - - - Gorffennaf - - - - - - - Sul - Llun - Maw - Mer - Iau - Gwen - Sad - - - Dydd Sul - Dydd Llun - Dydd Mawrth - Dydd Mercher - Dydd Iau - Dydd Gwener - Dydd Sadwrn - - - - - Gwe - - - S - L - M - M - I - G - S - - - - - - - Ch1 - Ch2 - Ch3 - Ch4 - - - Chwarter 1af - 2il chwarter - 3ydd chwarter - 4ydd chwarter - - - - - 1 - 2 - 3 - 4 - - - - AM - PM - - - Cyn Crist - Oed Crist - - - CC - OC - - - C - O - - - - - - EEEE, dd MMMM y - - - - - dd MMMM y - - - - - d MMM y - - - - - dd/MM/yyyy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - HH:mm - HH:mm:ss - dd MMMM - dd/MM - d/M - hh:mm a - hh:mm:ss a - yy-MM-dd - Q yy - QQQQ yy - MM/yyyy - MMMM y - - - {0} – {1} - - M-M - - - E, d/M – E, d/M - E, d/M – E, d/M - - - MMM-MMM - - - E, d MMM – E, d MMM - E, d MMM – E, d MMM - - - LLLL-LLLL - - - d MMM – d MMM - MMM d–d - - - d/M – d/M - d/M – d/M - - - d-d - - - h a – h a - h–h a - - - h:mm a – h:mm a - h:mm–h:mm a - h:mm–h:mm a - - - h:mm a – h:mm a v - h:mm–h:mm a v - h:mm–h:mm a v - - - h a – h a v - h–h a v - - - y-y - - - M/yy – M/yy - M/yy – M/yy - - - E, d/M/yy - E, d/M/yy - E, d/M/yy - E, d/M/yy - E, d/M/yy - E, d/M/yy - - - MMM - MMM, y - MMM y - MMM y - - - E, d MMM - E, d MMM, y - E, d MMM - E, d MMM, y - E, d MMM, y - E, d MMM, y - - - yyyy-MM – MM - yyyy-MM – yyyy-MM - - - d MMM - d MMM, y - d-d MMM, y - d MMM, y - d MMM, y - - - d/M/yy - d/M/yy - d/M/yy - d/M/yy - d/M/yy - d/M/yy - - - - - - Oes - - - Blwyddyn - - - Mis - - - Wythnos - - - Dydd - Dridiau yn ôl - Echdoe - Drennydd - Ymhen tridiau - - - Dydd o'r Wythnos - - - AM/PM - - - Awr - - - Munud - - - Eiliad - - - Cylchfa - - - - - - +HHmm;-HHmm - GMT{0} - {0} - - Pegwn y De - - - St. John’s - - - Llundain - - - Dinas Mecsico - - - Efrog Newydd - - - - - - - - ¤#,##0.00 - - - - - - Real Brasil - - - Yuan Renminbi Tseina - - - Ewro - - - Punt Sterling Prydain - - - Rwpî India - - - Yen Siapan - - - Rwbl Rwsia - - - Doler yr UDA - - - - diff --git a/lib/zend/Zend/Locale/Data/cy_GB.xml b/lib/zend/Zend/Locale/Data/cy_GB.xml deleted file mode 100644 index 47baacb840..0000000000 --- a/lib/zend/Zend/Locale/Data/cy_GB.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/da.xml b/lib/zend/Zend/Locale/Data/da.xml deleted file mode 100644 index 0add6be8fb..0000000000 --- a/lib/zend/Zend/Locale/Data/da.xml +++ /dev/null @@ -1,3130 +0,0 @@ - - - - - - - - - nb nn sv en - - - {0} ({1}) - , - - - afar - abkhasisk - achinesisk - acoli - adangme - adyghe - avestan - afrikaans - afro-asiatisk sprog - afrihili - ainu - akan - akkadisk - aleutisk - algonkisk sprog - sydaltaisk - amharisk - aragonesisk - oldengelsk - angika - apachesprog - arabisk - aramæisk - araukansk - arapaho - kunstsprog - arawak - assamesisk - asturisk - athapaskisk sprog - australsk sprog - avarisk - awadhi - aymara - aserbajdsjansk - bashkir - banda - bamilekisk sprog - baluchi - balinesisk - basa - baltisk sprog - hviderussisk - beja - bemba - berberisk - bulgarsk - bihari - bhojpuri - bislama - bikol - bini - siksika - bambara - bengalsk - bantu - tibetansk - bretonsk - braj - bosnisk - batak - buriatisk - buginesisk - blin - katalansk - caddo - mellemamerikansk indiansk sprog - caribisk - kaukasisk sprog - atsam - tjetjensk - cebuano - keltisk sprog - chamorro - chibcha - chagatai - chuukese - mari - chinook - choctaw - chipewyan - cherokee - cheyenne - chamiske sprog - korsikansk - koptisk - engelsk baseret kreolsk eller pidgin - fransk baseret kreolsk eller pidginsprog - portugisisk baseret kreolsk eller pidginsprog - cree - krim tyrkisk - kreolsk eller pidginsprog - tjekkisk - kasjubisk - kirkeslavisk - kusjitisk sprog - chuvash - walisisk - dansk - dakota - dargwa - dayak - tysk - østrigsk tysk - schweizerhøjtysk - delaware - athapaskisk - dogrib - dinka - dogri - dravidisk sprog - nedersorbisk - duala - middelhollandsk - divehi - dyula - dzongkha - ewe - efik - oldegyptisk - ekajuk - græsk - elamitisk - engelsk - australsk engelsk - canadisk engelsk - britisk engelsk - amerikansk engelsk - middelengelsk - esperanto - spansk - latinamerikansk spansk - castiliansk spansk - estisk - baskisk - ewondo - persisk - fang - fanti - fulah - finsk - filippinsk - finsk-ugrisk sprog - fijiansk - færøsk - fon - fransk - canadisk fransk - schweizisk fransk - middelfransk - oldfransk - nordfrisisk - østfrisisk - friulian - frisisk - irsk - ga - gayo - gbaya - skotsk gælisk - germansk sprog - geez - gilbertesisk - galicisk - middelhøjtysk - guarani - oldhøjtysk - gondi - gorontalo - gotisk - grebo - oldgræsk - schweizertysk - gujarati - manx - gwichin - hausa - haida - hawaiiansk - hebraisk - hindi - hiligaynon - himachali - hittitisk - hmong - Hiri Motu - kroatisk - øvresorbisk - haitisk - ungarsk - hupa - armensk - herero - interlingua - iban - indonesisk - interlingue - igbo - sichuan yi - ijo - inupiaq - iloko - indisk sprog - indo-europæisk sprog - ingush - ido - iransk sprog - irokesisk sprog - islandsk - italiensk - inuktitut - japansk - lojban - jødisk-persisk - jødisk-arabisk - javanesisk - georgisk - karakalpakisk - kabyle - kachin - jju - kamba - karen - kawi - kabardian - tyap - koro - kongo - khasi - khoisansprog - khotanesisk - kikuyu - kuanyama - kasakhisk - grønlandsk - khmer - kimbundu - kannaresisk - koreansk - konkani - kosraean - kpelle - kanuri - karatjai-balkar - karelsk - kru - kurukh - kashmiri - kurdisk - kymyk - kutenaj - komi - cornisk - kirgisisk - latin - ladino - lahnda - lamba - luxembourgsk - lezghian - ganda - limburgsk - lingala - laotisk - mongo - lozi - litauisk - luba-Katanga - luba-Lulua - luiseno - lunda - luo - lushai - lettisk - madurese - magahi - maithili - makasar - mandingo - austronesisk sprog - masai - moksha - mandar - mende - malagasy - middelirsk - marshallese - maori - micmac - minangkabau - diverse sprog - makedonsk - mon-khmer sprog - malayalam - mongolsk - manchu - manipuri - manobo sprog - moldovisk - mohawk - mossi - marathisk - malay - maltesisk - flere sprog - mundasprog - creek - mirandesisk - marwari - burmesisk - mayasprog - erzya - nauru - nahuatl - nordamerikansk indiansk sprog - neapolitansk - norsk bokmål - nordndebele - nedertysk - nepalesisk - newari - ndonga - nias - Niger-Congo sprog - niuean - hollandsk - flamsk - nynorsk - norsk - nogai - oldislandsk - n-ko - sydndebele - nordsotho - nubisk sprog - navajo - klassisk newarisk - nyanja - nyamwezi - nyankole - nyoro sprog - nzima - occitansk - ojibwa - oromo - oriya - ossetisk - osage - osmannisk-tyrkisk - otomi sprog - punjabi - papua-australsk sprog - pangasinan - pahlavi - pampanga - papiamento - palauansk - oldpersisk - filippinsk sprog - fønikisk - pali - polsk - ponape - prakritsprog - oldprovencalsk - pashto - portugisisk - brasiliansk portugisisk - iberisk portugisisk - quechua - rajasthani - rapanui - rarotongan - rætoromansk - rundi - rumænsk - romansk sprog - romani - rot - russisk - arumænsk - kinyarwanda - sanskrit - sandawe - yakut - sydamerikansk indiansk sprog - salikisk sprog - samaritansk - sasak - santali - sardinsk - siciliansk - skotsk - sindhi - nordsamisk - selkupisk - semitisk sprog - sango - oldirsk - tegnsprog - serbokroatisk - shan - singalesisk - sidamo - sioux sprog - sino-tibetansk sprog - slovakisk - slovensk - slavisk sprog - samoansk - sydsamisk - samisk sprog - lule sami - inari sami - skolt sami - shona - soninke - somalisk - sogdiansk - songhai - albansk - serbisk - sranan tongo - serer - swati - nilo-saharansk sprog - sydsotho - sundanesisk - sukuma - susu - sumerisk - svensk - swahili - klassisk syrisk - syrisk - tamilsk - thaisprog - telugu - temne - tereno - tetum - tajik - thailandsk - tigrinya - tigre - tivi - turkmensk - tokelau - tagalog - klingon - tlingit - tamashek - tswana - tongansk - nyasa tongansk - Tok Pisin - tyrkisk - tsonga - tsimshisk - tatarisk - tumbuka - tupisprog - altaisk sprog - tuvalu - twi - tahitiansk - tuvinian - udmurt - uigurisk - ugaristisk - ukrainsk - umbundu - ukendt eller ugyldigt sprog - urdu - usbekisk - vai - venda - vietnamesisk - volapyk - votisk - vallonsk - wakashansk sprog - walamo - waray - washo - vendisk sprog - wolof - kalmyk - xhosa - yao - yap - jiddisch - yoruba - yupisk sprog - zhuang - zapotec - blissymboler - zenaga - kinesisk - forenklet kinesisk - traditionelt kinesisk - zande - zulu - zuni - intet sprogligt indhold - zaza - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Verden - Afrika - Nordamerika - Sydamerika - Oceanien - Vestafrika - Mellemamerika - Østafrika - Nordafrika - Centralafrika - Det sydlige Afrika - Amerika - Det nordlige Amerika - Caribien - Østasien - Sydasien - Sydøstasien - Sydeuropa - Australien og New Zealand - Melanesien - Mikronesien - Polynesien - Sydcentralasien - Asien - Centralasien - Vestasien - Europa - Østeuropa - Nordeuropa - Vesteuropa - Sammenslutningen af uafhængige stater - Latinamerika og Caribien - Andorra - Forenede Arabiske Emirater - Afghanistan - Antigua og Barbuda - Anguilla - Albanien - Armenien - Hollandske Antiller - Angola - Antarktis - Argentina - Amerikansk Samoa - Østrig - Australien - Aruba - Åland - Aserbajdsjan - Bosnien-Hercegovina - Barbados - Bangladesh - Belgien - Burkina Faso - Bulgarien - Bahrain - Burundi - Benin - Saint Barthélemy - Bermuda - Brunei Darussalam - Bolivia - Brasilien - Bahamas - Bhutan - Bouvetø - Botswana - Hviderusland - Belize - Canada - Cocosøerne - Congo-Kinshasa - Centralafrikanske Republik - Congo - Schweiz - Elfenbenskysten - Cook-øerne - Chile - Cameroun - Kina - Colombia - Costa Rica - Serbien og Montenegro - Cuba - Kap Verde - Juleøen - Cypern - Tjekkiet - Tyskland - Djibouti - Danmark - Dominica - Den Dominikanske Republik - Algeriet - Ecuador - Estland - Egypten - Vestsahara - Eritrea - Spanien - Etiopien - Finland - Fiji-øerne - Falklandsøerne - Mikronesiens Forenede Stater - Færøerne - Frankrig - Gabon - Storbritannien - Grenada - Georgien - Fransk Guyana - Guernsey - Ghana - Gibraltar - Grønland - Gambia - Guinea - Guadeloupe - Ækvatorialguinea - Grækenland - South Georgia og De Sydlige Sandwichøer - Guatemala - Guam - Guinea-Bissau - Guyana - SAR Hongkong - Heard- og McDonald-øerne - Honduras - Kroatien - Haiti - Ungarn - Indonesien - Irland - Israel - Isle of Man - Indien - Det Britiske Territorium i Det Indiske Ocean - Irak - Iran - Island - Italien - Jersey - Jamaica - Jordan - Japan - Kenya - Kirgisistan - Cambodja - Kiribati - Comorerne - Saint Kitts og Nevis - Nordkorea - Sydkorea - Kuwait - Caymanøerne - Kasakhstan - Laos - Libanon - Saint Lucia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Litauen - Luxembourg - Letland - Libyen - Marokko - Monaco - Republikken Moldova - Montenegro - Saint Martin - Madagaskar - Marshalløerne - Republikken Makedonien - Mali - Myanmar - Mongoliet - SAR Macao - Nordmarianerne - Martinique - Mauretanien - Montserrat - Malta - Mauritius - Maldiverne - Malawi - Mexico - Malaysia - Mozambique - Namibia - Ny Caledonien - Niger - Norfolk Island - Nigeria - Nicaragua - Holland - Norge - Nepal - Nauru - Niue - New Zealand - Oman - Panama - Peru - Fransk Polynesien - Papua Ny Guinea - Filippinerne - Pakistan - Polen - Saint Pierre og Miquelon - Pitcairn - Puerto Rico - De palæstinensiske områder - Portugal - Palau - Paraguay - Qatar - Ydre Oceanien - EU - Reunion - Rumænien - Serbien - Rusland - Rwanda - Saudi-Arabien - Salomonøerne - Seychellerne - Sudan - Sverige - Singapore - St. Helena - Slovenien - Svalbard og Jan Mayen - Slovakiet - Sierra Leone - San Marino - Senegal - Somalia - Surinam - Sao Tome og Principe - El Salvador - Syrien - Swaziland - Turks- og Caicosøerne - Tchad - Franske Besiddelser i Det Sydlige Indiske Ocean - Togo - Thailand - Tadsjikistan - Tokelau - Timor-Leste - Turkmenistan - Tunesien - Tonga - Tyrkiet - Trinidad og Tobago - Tuvalu - Taiwan - Tanzania - Ukraine - Uganda - De Mindre Amerikanske Oversøiske Øer - USA - Uruguay - Usbekistan - Vatikanstaten - St. Vincent og Grenadinerne - Venezuela - De britiske jomfruøer - De amerikanske jomfruøer - Vietnam - Vanuatu - Wallis og Futunaøerne - Samoa - Yemen - Mayotte - Sydafrika - Zambia - Zimbabwe - Ukendt eller ugyldigt område - - - traditionel tysk retskrivning - tysk retskrivning fra 1996 - østarmensk - boontling - det internationale fonetiske alfabet - det uraliske fonetiske alfabet - lipovaz - computer - revideret retskrivning - - - Kalender - Sortering - Valuta - - - sorteringsrækkefølge uforkortet kinesisk - Big5 - buddhistisk kalender - kinesisk kalender - direkte sorteringsrækkefølge - sorteringsrækkefølge forkortet kinesisk - GB2312 - gregoriansk kalender - jødisk kalender - indisk nationalkalender - islamisk kalender - verdslig islamisk kalender - japansk kalender - sorteringsrækkefølge i telefonbøger - pinyin-baseret sorteringsrækkefølge - kalender for Republikken Kina - stregbaseret sorteringsrækkefølge - traditionel sorteringsrækkefølge - - - De amerikanske målesystemer - Det metriske system - - - Sprog: {0} - Instruks: {0} - Område: {0} - - - - titlecase-firstword - lowercase-words - titlecase-firstword - titlecase-firstword - lowercase-words - lowercase-words - lowercase-words - titlecase-firstword - lowercase-words - lowercase-words - lowercase-words - - - [a-z æ ø å] - [á é è ê ë ß ü ä ö] - [a-z] - - - ” - ” - ” - ” - - - {0}–{1} - - - - - - EEEE d. MMMM y G - - - - - d. MMMM y G - - - - - d. MMM y G - - - - - d/M/yyyy - - - - - - - - - jan. - feb. - mar. - apr. - maj - jun. - jul. - aug. - sep. - okt. - nov. - dec. - - - januar - februar - marts - april - maj - juni - juli - august - september - oktober - november - december - - - - - jan - feb - mar - apr - maj - jun - jul - aug - sep - okt - nov - dec - - - J - F - M - A - M - J - J - A - S - O - N - D - - - - - - - søn - man - tir - ons - tor - fre - lør - - - søndag - mandag - tirsdag - onsdag - torsdag - fredag - lørdag - - - - - S - M - T - O - T - F - L - - - - - - - K1 - K2 - K3 - K4 - - - 1. kvartal - 2. kvartal - 3. kvartal - 4. kvartal - - - - - 1 - 2 - 3 - 4 - - - - f.m. - e.m. - - - f.Kr. - e.Kr. - - - f.Kr. - e.Kr. - - - - - - EEEE 'den' d. MMMM y - - - - - d. MMM y - - - - - dd/MM/yyyy - - - - - dd/MM/yy - - - - - - - HH.mm.ss zzzz - - - - - HH:mm:ss z - - - - - HH.mm.ss - - - - - HH.mm - - - - - - H - HH.mm.ss - HH.mm - M - E. d-M - MMM - E d MMM - E, d. MMMM - d. MMMM - d. MMM - dd/MM - d/M - d. - h.mm a - h.mm.ss a - mm.ss - y - M-yyyy - EEE. d-M-yyyy - MMM y - EEE. d. MMM y - MMMM y - Q yyyy - QQQ y - MM/yy - MMM yy - Q. 'kvartal' yy - y - MM/yyyy - MMM y - - - {0} - {1} - - M-M - - - E dd/MM - E dd/MM - E dd/MM - E dd/MM - - - MMM-MMM - - - E 'den' d. MMM - E 'den' d. MMM - E 'den' d. - E 'den' d. MMM - - - MMMM-MMMM - - - d. MMM - d. MMM - d.-d. MMM - - - dd/MM - dd/MM - dd/MM - dd/MM - - - d.-d. - - - HH-HH - HH-HH - - - HH.mm-HH.mm - HH.mm-HH.mm - HH.mm-HH.mm - - - HH.mm-HH.mm v - HH.mm-HH.mm v - HH.mm-HH.mm v - - - HH-HH v - HH-HH v - - - y-y - - - MM/yyyy - MM/yyyy - MM/yyyy - MM/yyyy - - - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - - - MMM-MMM y - MMM y - MMM y - - - E 'den' d. MMM - E 'den' d. MMM y - E 'den' d. - E 'den' d. MMM y - E 'den' d. MMM y - E 'den' d. MMM y - - - MM-MM yyyy - MM yyyy - MM yyyy - - - d. MMM - d. MMM y - d.-d. MMM y - d. MMM y - d. MMM y - - - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - - - - - - æra - - - år - - - måned - - - uge - - - dag - for tre dage siden - i forgårs - i går - i dag - i morgen - i overmorgen - om tre dage - - - ugedag - - - dagtid - - - time - - - minut - - - sekund - - - zone - - - - - - +HH.mm;-HH.mm - GMT{0} - {0} - {1} ({0}) - - Ukendt - - - Sydpolen - - - Dumont d’Urville - - - Wien - - - Bruxelles - - - St. Johns - - - Zürich - - - Påskeøen - - - Kap Verde - - - Juleøen - - - København - - - Algier - - - De Kanariske Øer - - - Færøerne - - - Nuuk - - - Athen - - - Hongkong - - - Teheran - - - Rom - - - St. Kitts - - - St. Lucia - - - Macao - - - Maldiverne - - - Warszawa - - - Azorerne - - - Lissabon - - - Réunion - - - Bukarest - - - Moskva - - - Salvador - - - Alaska - - - St. Vincent - - - St. Thomas - - - - Acre-tid - Acre-sommertid - - - - - Afghansk tid - - - - - centralafrikansk tid - - - - - østafrikansk tid - - - - - sydafrikansk tid - sydafrikansk normaltid - - - - - vestafrikansk tid - vestafrikansk sommertid - - - - - Aktyubinsk-tid - Aktyubinsk-sommertid - - - - - Alaska-tid - Alaska-normaltid - Alaska-sommertid - - - - - Alaska-Hawaii-tid - Alaska-Hawaii-normaltid - Alaska-Hawaii-sommertid - - - - - Almaty-tid - Almaty-sommertid - - - - - Amazonas-tid - Amazonas-sommertid - - - - - Central-tid - Central-normaltid - Central-sommertid - - - - - Eastern-tid - Eastern-normaltid - Eastern-sommertid - - - - - Mountain-tid - Mountain-normaltid - Mountain-sommertid - - - - - Pacific-tid - Pacific-normaltid - Pacific-sommertid - - - - - Anadyr-tid - Anadyr-sommertid - - - - - Aqtau-tid - Aqtau-sommertid - - - - - Aqtobe-tid - Aqtobe-sommertid - - - - - Arabisk tid - Arabisk normaltid - Arabisk sommertid - - - AT (arabisk) - AST (arabisk) - ADT (arabisk) - - - - - Argentinsk tid - Argentinsk sommertid - - - - - Vestargentinsk tid - - - - - Armensk tid - Armensk sommertid - - - AMST (Armenien) - - - - - Ashkhabad-tid - Ashkhabad-sommertid - - - - - Atlantic-tid - Atlantic-normaltid - Atlantic-sommertid - - - - - Centralaustralsk tid - Centralaustralsk normaltid - Centralaustralsk sommertid - - - - - Vestlig centralaustralsk tid - Vestlig centralaustralsk normaltid - Vestlig centralaustralsk sommertid - - - - - Østaustralsk tid - Østaustralsk normaltid - Østaustralsk sommertid - - - - - Vestaustralsk tid - Vestaustralsk normaltid - Vestaustralsk sommertid - - - - - Aserbajdsjansk tid - Aserbajdsjansk sommertid - - - - - Baku-tid - Baku-sommertid - - - - - Bangladeshisk tid - - - - - Bering-tid - Bering-normaltid - Bering-sommertid - - - - - Bhutanesisk tid - - - - - Boliviansk tid - - - - - Borneo-tid - Borneo-sommertid - - - - - Brasiliansk tid - Brasiliansk sommertid - - - - - Brunei Darussalam-tid - - - - - Changbai-tid - - - - - Chilensk tid - Chilensk sommertid - - - - - Kinesisk tid - Kinesisk normaltid - Kinesisk sommertid - - - CT (Kina) - CST (Kina) - CDT (Kina) - - - - - Choibalsan-tid - Choibalsan-sommertid - - - - - Colombiansk tid - Colombiansk sommertid - - - - - Cubansk tid - Cubansk normaltid - Cubansk sommertid - - - - - Dacca-tid - - - - - Davis-tid - - - - - Dumont-d'Urville-tid - - - - - Dushanbe-tid - Dushanbe-sommertid - - - - - Hollandsk Guiana-tid - - - - - Østtimor-tid - - - - - Ecuadoriansk tid - - - - - mellemeuropæisk tid - mellemeuropæisk normaltid - mellemeuropæisk sommertid - - true - - - - østeuropæisk tid - østeuropæisk normaltid - østeuropæisk sommertid - - true - - - - vesteuropæisk tid - vesteuropæisk normaltid - vesteuropæisk sommertid - - true - - - - Fransk Guiana-tid - - - - - Frunze-tid - Frunze-sommertid - - - - - Verdenstid - - true - - - - Georgiansk tid - Georgiansk sommertid - - - - - Centralgrønlandsk tid - Centralgrønlandsk sommertid - - - - - Østgrønlandsk tid - Østgrønlandsk sommertid - - - - - Vestgrønlandsk tid - Vestgrønlandsk sommertid - - - - - Guyana-tid - - - - - Hongkong-tid - Hongkong-sommertid - - - - - Hovd-tid - Hovd-sommertid - - - - - Indisk normaltid - - - - - Indokinesisk tid - - - - - Centralindonesisk tid - - - - - Østindonesisk tid - - - - - Vestindonesisk tid - - - - - Israelsk normaltid - Israelsk sommertid - - - IST (Israel) - - - - - Japansk tid - Japansk normaltid - Japansk sommertid - - - - - Koreansk normaltid - - - - - Lord Howe-tid - Lord Howe-normaltid - Lord Howe-sommertid - - - - - Mawson-tid - - - - - Moskva-normaltid - Moskva-sommertid - - - - - Newzealandsk tid - Newzealandsk normaltid - Newzealandsk sommertid - - - - - Newfoundland-tid - Newfoundland-normaltid - Newfoundland-sommertid - - - - - Fernando de Noronha-tid - Fernando de Noronha-sommertid - - - - - Paraguayansk tid - Paraguayansk sommertid - - - - - Peruviansk tid - Peruviansk sommertid - - - - - Pierre- og Miquelon-tid - Pierre- og Miquelon-normaltid - Pierre- og Miquelon-sommertid - - - - - Rothera-tid - - - - - Surinam-tid - - - - - Syowa-tid - - - - - Uruguayansk tid - Uruguayansk sommertid - - - - - Venezuelansk tid - - - - - Vostok-tid - - - - - Yukon-tid - Yukon-normaltid - Yukon-sommertid - - - - - - - , - . - , - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0 % - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - - - - Andorransk peseta - Andorranske pesetas - - - Dirham fra de Forenede Arabiske Emirater - - - Afghani (1927-2002) - - - Afghani - - - Albansk lek - Albansk lek - Albanske lek - - - Armensk dram - Armenske dram - - - Gylden fra De Hollandske Antiller - - - Angolansk kwanza - Angolanske kwanza - - - Angolansk kwanza (1977-1990) - Angolanske kwanza (AOK) - - - Ny angolansk kwanza (1990-2000) - - - Angolansk kwanza reajustado (1995-1999) - - - Argentinsk austral - Argentinsk austral - Argentinske austral - - - Argentinsk peso (1983-1985) - Argentinsk pesos (APR) - Argentinske pesos (ARP) - - - Argentinsk peso - Argentinsk pesos - Argentinske pesos - - - Østrigsk schilling - Østrigsk schilling - Østrigske schilling - - - Australsk dollar - Australsk dollar - Australske dollar - - - Arubansk gylden - Arubanske gylden - - - Aserbajdsjansk manat 1993-2006 - - - Aserbajdsjansk manat - Aserbajdsjansk manat - Aserbajdsjanske manat - - - Bosnien-Hercegovinsk dinar - Bosnien-Hercegovinske dinarer - - - Bosnien-Hercegovinsk konvertibel mark - Bosnien-Hercegovinske konvertible mark - - - Barbadisk dollar - Barbadiske dollar - - - Bangladeshisk taka - Bangladeshiske taka - - - Belgisk franc (konvertibel) - Belgisk franc (konvertibel) - Belgiske franc (konvertible) - - - Belgisk franc - Belgisk franc - Belgiske franc - - - Belgisk franc (financial) - Belgisk franc (financial) - Belgiske franc (financial) - - - Bulgarsk hard lev - Bulgarske hard lev - - - Ny bulgarsk lev - Ny bulgarske lev - - - Bahrainsk dinar - Bahrainske dinarer - - - Burundisk franc - Burundiske franc - - - Bermudansk dollar - Bermudanske dollar - - - Bruneisk dollar - Bruneiske dollar - - - Boliviansk boliviano - Bolivianske boliviano - - - Boliviansk peso - Bolivianske pesos - - - Boliviansk mvdol - - - Brasiliansk cruzeiro novo (1967-1986) - - - Brasiliansk cruzado - Brasilianske cruzado - - - Brasiliansk cruzeiro (1990-1993) - - - Brasiliansk real - Brasiliansk real - Brasilianske real - - - Brasiliansk cruzado novo - Brasilianske cruzado novo - - - Brasiliansk cruzeiro - Brasiliansk cruzeiro - Brasilianske cruzeiro - - - Bahamansk dollar - Bahamanske dollar - - - Bhutansk ngultrum - - - Burmesisk kyat - - - Botswansk pula - - - Ny hviderussisk rubel (1994-1999) - - - Hviderussisk rubel - Hviderussiske rubler - - - Belizisk dollar - - - Canadisk dollar - Canadisk dollar - Canadiske dollar - - - Congolesisk franc congolais - - - WIR euro - - - Schweizisk franc - Schweizisk franc - Schweiziske franc - - - WIR franc - - - Chilensk unidades de fomento - - - Chilensk peso - Chilensk pesos - Chilenske pesos - - - Kinesisk yuan renminbi - - - Colombiansk peso - Colombiansk pesos - Colombianske pesos - - - Unidad de Valor Real - - - Costaricansk colon - Costaricansk colon - Costaricanske colon - - - Gammel serbisk dinar - - - Tjekkoslovakisk hard koruna - Tjekkoslovakisk hard koruna - Tjekkoslovakiske hard koruna - - - Cubansk peso - Cubansk pesos - Cubanske pesos - - - Kapverdisk escudo - Kapverdiske escudos - - - Cypriotisk pund - Cypriotisk pund - Cypriotiske pund - - - Tjekkisk koruna - Tjekkisk koruna - Tjekkiske koruna - - - Østtysk mark - Østtyske mark - - - Tysk mark - Tysk mark - Tyske mark - - - Djiboutisk franc - - - Dansk krone - Dansk krone - Danske kroner - kr - - - Dominikansk peso - Dominikanske pesos - - - Algerisk dinar - Algerisk dinar - Algeriske dinarer - - - Ecuadoriansk sucre - Ecuadorianske sucre - - - Ecuadoriansk Unidad de Valor Constante (UVC) - - - Estisk kroon - Estisk kroon - Estiske kroon - - - Egyptisk pund - Egyptisk pund - Egyptiske pund - - - Eritreisk nakfa - - - Spansk peseta (A-konto) - - - Spansk peseta (konvertibel konto) - - - Spansk peseta - Spansk pesetas - Spanske pesetas - - - Etiopisk birr - Etiopiske birr - - - Euro - - - Finsk mark - Finsk mark - Finske mar - - - Fijiansk dollar - Fijiansk dollar - Fijianske dollar - - - Pund fra Falklandsøerne - - - Fransk franc - Fransk franc - Franske franc - - - Britisk pund - Britisk pund - Britiske pund - - - Georgisk kupon larit - Georgisk kupon larit - Georgiske kupon larit - - - Georgisk lari - Georgisk lari - Georgiske lari - - - Ghanesisk cedi 1979-2007 - Ghanesiske cedi - - - Ghanesisk cedi - - - Gibraltarisk pund - Gibraltarisk pund - Gibraltariske pund - - - Gambisk dalasi - Gambiske dalasi - - - Guineansk franc - Guineanske franc - - - Guineansk syli - Guineanske syli - - - Ækvatorialguineask ekwele guineana - - - Græsk drakme - Græsk drakmer - Græske drakmer - - - Guatemalansk quetzal - - - Portugisisk guinea escudo - Portugisiske guinea escudo - - - Guineansk peso - Guinea-Bissau-pesos - - - Guyansk dollar - Guyanske dollar - - - Hongkong dollar - - - Honduransk lempira - - - Kroatisk dinar - Kroatisk dinar - Kroatiske dinarer - - - Kroatisk kuna - Kroatisk kuna - Kroatiske kuna - - - Haitisk gourde - Haitiske gourde - - - Ungarsk forint - Ungarsk forint - Ungarske forint - - - Indonesisk pupiah - Indonesiske rupiah - - - Irsk pund - Irske pund - - - Israelsk pund - Israelsk pund - Israelske pund - - - Ny israelsk shekel - Ny israelsk shekel - Nye israelske shekel - - - Indisk rupee - Indisk rupee - Indiske rupees - - - Irakisk dinar - Irakisk dinar - Irakiske dinarer - - - Iransk rial - Iransk rial - Iranske rial - - - Islansk krone - Islandsk krone - Islandske kroner - - - Italiensk lire - Italiensk lire - Italienske lire - - - Jamaicansk dollar - Jamaicanske dollar - - - Jordansk dinar - Jordanske dinarer - - - Japansk yen - Japansk yen - Japanske yen - - - Kenyansk shilling - Kenyanske shilling - - - Kirgisisk som - Kirgisiske som - - - Cambodjansk riel - Cambodjanske riel - - - Comorisk franc - Comoriske franc - - - Nordkoreansk won - Nordkoreansk won - Nordkoreanske won - - - Sydkoreansk won - Sydkoreansk won - Sydkoreanske won - - - Kuwaitisk dinar - Kuwaitiske dinarer - - - Dollar fra Caymanøerne - - - Kasakhisk tenge - Kasakhiske tenge - - - Laotisk kip - Laotiske kip - - - Libanesisk pund - Libanesiske pund - - - Srilankansk rupee - Srilankanske rupees - - - Liberisk dollar - Liberiske dollar - - - Lesothisk loti - Lesothiske loti - - - Litauisk lita - Litauiske lita - - - Litauisk talonas - Litauiske talonas - - - Luxembourgsk konvertibel franc - - - Luxembourgsk franc - Luxembourgsk franc - Luxembourgske franc - - - Luxembourgsk finansiel franc - - - Lettisk lat - Lettisk lat - Lettiske lat - - - Lettisk rubel - Lettisk rubel - Lettiske rubler - - - Libysk dinar - Libyske dinarer - - - Marokkansk dirham - Marokkanske dirham - - - Marokkansk franc - Marokkanske franc - - - Moldovisk leu - Moldoviske leu - - - Madagaskisk ariary - Madagaskiske ariary - - - Madagaskisk franc - Madagaskiske franc - - - Makedonsk denar - Makedonske denarer - - - Malisk franc - Maliske franc - - - Myanmarsk kyat - Myanmarske kyat - - - Mongolsk tugrik - - - Macaosk pataca - - - Mauritansk ouguiya - - - Maltesisk lira - Maltesiske lira - - - Maltesisk pund - Maltesiske pund - - - Mauritisk rupee - Mauritiske rupees - - - Maldivisk rufiyaa - Maldiviske rufiyaa - - - Malawisk kwacha - Malawiske kwacha - - - Mexicansk peso - Mexicansk pesos - Mexicanske pesos - - - Mexicansk silver peso (1861-1992) - - - Mexicansk Unidad de Inversion (UDI) - - - Malaysisk ringgit - Malaysiske ringgit - - - Mozambiquisk escudo - - - Gammel mozambiquisk metical - - - Mozambiquisk metical - - - Namibisk dollar - Namibiske dollar - - - Nigeriansk naira - Nigerianske naira - - - Nicaraguansk cordoba - Nicaraguanske cordoba - - - Nicaraguansk cordoba oro - Nicaraguanske cordoba oro - - - Hollandsk guilder - Hollandsk gylden - Hollandske gylden - - - Norsk krone - Norsk krone - Norske kroner - - - Nepalesisk rupee - Nepalesiske rupees - - - New Zealandsk dollar - New Zealandsk dollar - New Zealandske dollar - - - Omansk rial - Omanske rial - - - Panamansk balboa - - - Peruviansk inti - Peruvianske inti - - - Peruviansk sol nuevo - - - Peruviansk sol - - - Papuansk kina - - - Filippinsk peso - Filippinsk pesos - Filippinske pesos - - - Pakistansk rupee - Pakistanske rupees - - - Polsk zloty - Polsk zloty - Polske zloty - - - Polsk zloty (1950-1995) - - - Portugisisk escudo - Portugisiske escudo - - - Paraguaysk guarani - Paraguayske guarani - - - Qatarsk rial - - - Gammel rumænsk leu - - - Rumænsk leu - - - Serbisk dinar - Serbiske dinarer - - - Russisk rubel - Russiske rubler - - - Russisk rubel (1991-1998) - - - Rwandisk franc - - - Saudisk riyal - Saudiske riyal - - - Salomonsk dollar - - - Seychellisk rupee - - - Sudansk dinar - - - Sudanesisk pund - - - Sudansk pund - - - Svensk krone - Svensk krone - Svenske kroner - - - Singaporeansk dollar - Singaporeanske dollar - - - Pund fra Saint Helena - - - Slovensk tolar - Slovenske tolar - - - Slovakisk koruna - - - Sierraleonsk leone - - - Somalisk shilling - Somaliske shilling - - - Surinamsk dollar - - - Surinamsk guilder - - - Dobra fra Sao Tome og Principe - - - Sovjetisk rubel - Sovjetisk rubel - Sovjetiske rubler - - - Salvadoransk colon - Salvadoranske colon - - - Syrisk pund - Syrisk pund - Syriske pund - - - Swazilandsk lilangeni - - - Thailandsk baht - Thailandsk baht - Thailandske baht - - - Tadsjikisk rubel - - - Tadsjikisk somoni - Tadsjikiske somoni - - - Turkmensk manat - - - Tunesisk dinar - Tunesiske dinarer - - - Tongask paʻanga - Tongaske paʻanga - - - Escudo fra Timor - - - Tyrkisk lire - Tyrkisk lire - Tyrkiske lire - - - Ny tyrkisk lire - Tyrkiske lira - - - Dollar fra Trinidad og Tobago - - - Ny taiwansk dollar - Taiwanske dollar - - - Tanzanisk shilling - Tanzaniske shilling - - - Ukrainsk grynia - Ukrainske grynia - - - Ukrainsk karbovanetz - - - Ugandisk shilling (1966-1987) - - - Ugandisk shilling - Ugandiske shilling - - - Amerikansk dollar - Amerikansk dollar - Amerikanske dollar - $ - - - Amerikansk dollar (næste dag) - - - Amerikansk dollar (samme dag) - - - Uruguayan Peso en Unidades Indexadas - - - Uruguaysk peso (1975-1993) - - - Uruguaysk peso uruguayo - - - Usbekisk sum - Usbekiske sum - - - Venezuelansk bolivar - - - Venezuelansk bolivar fuerte - - - Vietnamesisk dong - Vietnamesiske dong - - - Vanuaisk vatu - - - Samoansk tala - Samoanske tala - - - Beninsk CFA-franc - - - Sølv - - - Guld - - - EURCO - - - EMU - - - Østkaribisk dollar - Østkaribiske dollar - - - SDR - - - ECU - - - Fransk guldfranc - - - Fransk UIC-franc - - - CFA-franc BCEAO - - - Palladium - - - CFP-franc - - - Platinum - - - RINET-fond - - - testvalutakode - testvaluta - testvaluta - - - Ukendt eller ugyldig valuta - ukendt valuta - ukendt valuta - - - Yemenitisk dinar - Yemenitiske dinarer - - - Yemenitisk rial - Yemenitiske rial - - - Jugoslavisk hard dinar - - - Jugoslavisk noviy dinar - - - Jugoslavisk konvertibel dinar - - - Sydafrikansk rand (financial) - - - Sydafrikansk rand - Sydafrikanske rand - - - Zambisk kwacha - Zambiske kwacha - - - Ny zairisk zaire - - - Zairisk zaire - Zairiske zaire - - - Zimbabwisk dollar - Zimbabwiske dollar - - - - - - {0} dag - {0} dage - - - {0} time - {0} timer - - - {0} minut - {0} minutter - - - {0} måned - {0} måneder - - - {0} sekund - {0} sekunder - - - {0} uge - {0} uger - - - {0} år - {0} år - - - - - ja:j - nej:n - - - - diff --git a/lib/zend/Zend/Locale/Data/da_DK.xml b/lib/zend/Zend/Locale/Data/da_DK.xml deleted file mode 100644 index ea499c7838..0000000000 --- a/lib/zend/Zend/Locale/Data/da_DK.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/de.xml b/lib/zend/Zend/Locale/Data/de.xml deleted file mode 100644 index 53972f25f9..0000000000 --- a/lib/zend/Zend/Locale/Data/de.xml +++ /dev/null @@ -1,2950 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - Afar - Abchasisch - Aceh-Sprache - Acholi-Sprache - Adangme - Adygeisch - Avestisch - Afrikaans - Afroasiatische Sprachen - Afrihili - Ainu-Sprache - Akan - Akkadisch - Aleutisch - Algonkin-Sprachen - Süd-Altaisch - Amharisch - Aragonesisch - Altenglisch - Angika - Apachen-Sprache - Arabisch - Aramäisch - Araukanisch - Arapaho-Sprache - Kunstsprache - Arawak-Sprachen - Assamesisch - Asturianisch - Athapaskische Sprachen - Australische Sprachen - Awarisch - Awadhi - Aymara - Aserbaidschanisch - Baschkirisch - Banda-Sprache - Bamileke-Sprache - Belutschisch - Balinesisch - Basaa-Sprache - Baltische Sprachen - Weißrussisch - Bedauye - Bemba-Sprache - Berbersprache - Bulgarisch - Biharisch - Bhodschpuri - Bislama - Bikol-Sprache - Bini-Sprache - Blackfoot-Sprache - Bambara-Sprache - Bengalisch - Bantusprachen - Tibetisch - Bretonisch - Braj-Bhakha - Bosnisch - Batak - Burjatisch - Buginesisch - Blin - Katalanisch - Caddo - Zentralamerikanische Indianersprache - Karibische Sprachen - Kaukasische Sprache - Atsam - Tschetschenisch - Cebuano - Keltische Sprachen - Chamorro-Sprache - Chibcha-Sprache - Tschagataisch - Trukesisch - Tscheremissisch - Chinook - Choctaw - Chipewyan - Cherokee - Cheyenne - Cham-Sprachen - Korsisch - Koptisch - Kreolisch-Englische Sprache - Kreolisch-Französische Sprache - Kreolisch-Portugiesische Sprache - Cree - Krimtatarisch - Kreolische Sprache - Tschechisch - Kaschubisch - Kirchenslawisch - Kuschitische Sprachen - Tschuwaschisch - Walisisch - Dänisch - Dakota-Sprache - Darginisch - Dajak - Deutsch - Österreichisches Deutsch - Schweizer Hochdeutsch - Delaware-Sprache - Slave - Dogrib - Dinka-Sprache - Dogri - Drawidische Sprache - Niedersorbisch - Duala - Mittelniederländisch - Maledivisch - Dyula-Sprache - Bhutanisch - Ewe-Sprache - Efik - Ägyptisch - Ekajuk - Griechisch - Elamisch - Englisch - Australisches Englisch - Kanadisches Englisch - Britisches Englisch - Amerikanisches Englisch - Mittelenglisch - Esperanto - Spanisch - Lateinamerikanisches Spanisch - Iberisches Spanisch - Estnisch - Baskisch - Ewondo - Persisch - Pangwe-Sprache - Fanti-Sprache - Ful - Finnisch - Filipino - Finnougrische Sprachen - Fidschianisch - Färöisch - Fon-Sprache - Französisch - Kanadisches Französisch - Schweizer Französisch - Mittelfranzösisch - Altfranzösisch - Nordfriesisch - Ostfriesisch - Friulisch - Friesisch - Irisch - Ga-Sprache - Gayo - Gbaya-Sprache - Schottisches Gälisch - Germanische Sprachen - Geez - Gilbertesisch - Galizisch - Mittelhochdeutsch - Guarani - Althochdeutsch - Gondi-Sprache - Mongondou - Gotisch - Grebo-Sprache - Altgriechisch - Schweizerdeutsch - Gujarati - Manx - Kutchin-Sprache - Hausa - Haida-Sprache - Hawaiisch - Hebräisch - Hindi - Hiligaynon-Sprache - Himachali - Hethitisch - Miao-Sprachen - Hiri-Motu - Kroatisch - Obersorbisch - Haitianisch - Ungarisch - Hupa - Armenisch - Herero-Sprache - Interlingua - Iban - Indonesisch - Interlingue - Igbo-Sprache - Sichuan Yi - Ijo-Sprache - Inupiak - Ilokano-Sprache - Indoarische Sprache - Indogermanische Sprachen - Inguschisch - Ido-Sprache - Iranische Sprachen - Irokesische Sprache - Isländisch - Italienisch - Inukitut - Japanisch - Lojban - Jüdisch-Persisch - Jüdisch-Arabisch - Javanisch - Georgisch - Karakalpakisch - Kabylisch - Kachin-Sprache - Jju - Kamba - Karenisch - Kawi - Kabardinisch - Tyap - Koro - Kongo - Khasi-Sprache - Khoisan-Sprache - Sakisch - Kikuyu-Sprache - Kwanyama - Kasachisch - Grönländisch - Kambodschanisch - Kimbundu-Sprache - Kannada - Koreanisch - Konkani - Kosraeanisch - Kpelle-Sprache - Kanuri-Sprache - Karatschaiisch-Balkarisch - Karelisch - Kru-Sprachen - Oraon-Sprache - Kaschmirisch - Kurdisch - Kumükisch - Kutenai-Sprache - Komi-Sprache - Kornisch - Kirgisisch - Latein - Ladino - Lahnda - Lamba-Sprache - Luxemburgisch - Lesgisch - Ganda-Sprache - Limburgisch - Lingala - Laotisch - Mongo - Rotse-Sprache - Litauisch - Luba-Katanga - Luba-Lulua - Luiseno-Sprache - Lunda-Sprache - Luo-Sprache - Lushai-Sprache - Lettisch - Maduresisch - Khotta - Maithili - Makassarisch - Manding-Sprache - Austronesische Sprachen - Massai-Sprache - Moksha - Mandaresisch - Mende-Sprache - Malagassi-Sprache - Mittelirisch - Marschallesisch - Maori - Micmac-Sprache - Minangkabau-Sprache - Verschiedene Sprachen - Mazedonisch - Mon-Khmer-Sprache - Malayalam - Mongolisch - Mandschurisch - Meithei-Sprache - Manobo-Sprache - Moldauisch - Mohawk-Sprache - Mossi-Sprache - Marathi - Malaiisch - Maltesisch - Mehrsprachig - Munda-Sprachen - Muskogee-Sprachen - Mirandesisch - Marwari - Birmanisch - Maya-Sprachen - Ersja-Mordwinisch - Nauruisch - Nahuatl - Nordamerikanische Indianersprache - Neapolitanisch - Norwegisch Bokmål - Nord-Ndebele-Sprache - Niederdeutsch - Nepalesisch - Newari - Ndonga - Nias-Sprache - Nigerkordofanische Sprachen - Niue-Sprache - Niederländisch - Flämisch - Norwegisch Nynorsk - Norwegisch - Nogai - Altnordisch - N’Ko - Süd-Ndebele-Sprache - Nord-Sotho-Sprache - Nubische Sprachen - Navajo-Sprache - Alt-Newari - Nyanja-Sprache - Nyamwezi-Sprache - Nyankole - Nyoro - Nzima - Okzitanisch - Ojibwa-Sprache - Oromo - Orija - Ossetisch - Osage-Sprache - Osmanisch - Otomangue-Sprachen - Pandschabisch - Papuasprachen - Pangasinan-Sprache - Mittelpersisch - Pampanggan-Sprache - Papiamento - Palau - Altpersisch - Philippinen-Austronesische Sprachen - Phönikisch - Pali - Polnisch - Ponapeanisch - Prakrit - Altprovenzalisch - Paschtu - Portugiesisch - Brasilianisches Portugiesisch - Iberisches Portugiesisch - Quechua - Rajasthani - Osterinsel-Sprache - Rarotonganisch - Rätoromanisch - Rundi-Sprache - Rumänisch - Romanische Sprachen - Romani - Root - Russisch - Aromunisch - Ruandisch - Sanskrit - Sandawe-Sprache - Jakutisch - Südamerikanische Indianersprache - Salish-Sprache - Samaritanisch - Sasak - Santali - Sardisch - Sizilianisch - Schottisch - Sindhi - Nord-Samisch - Selkupisch - Semitische Sprachen - Sango - Altirisch - Gebärdensprache - Serbo-Kroatisch - Schan-Sprache - Singhalesisch - Sidamo - Sioux-Sprachen - Sinotibetische Sprache - Slowakisch - Slowenisch - Slawische Sprachen - Samoanisch - Süd-Samisch - Lappisch - Lule-Lappisch - Inari-Lappisch - Skolt-Lappisch - Shona - Soninke-Sprache - Somali - Sogdisch - Songhai-Sprache - Albanisch - Serbisch - Srananisch - Serer-Sprache - Swazi - Nilosaharanische Sprachen - Süd-Sotho-Sprache - Sundanesisch - Sukuma-Sprache - Susu - Sumerisch - Schwedisch - Suaheli - Altsyrisch - Syrisch - Tamilisch - Thaisprache - Telugu - Temne - Tereno-Sprache - Tetum-Sprache - Tadschikisch - Thailändisch - Tigrinja - Tigre - Tiv-Sprache - Turkmenisch - Tokelauanisch - Tagalog - Klingonisch - Tlingit-Sprache - Tamaseq - Tswana-Sprache - Tongaisch - Tsonga-Sprache - Neumelanesisch - Türkisch - Tsonga - Tsimshian-Sprache - Tatarisch - Tumbuka-Sprache - Tupi-Sprachen - Altaische Sprache - Elliceanisch - Twi - Tahitisch - Tuwinisch - Udmurtisch - Uigurisch - Ugaritisch - Ukrainisch - Mbundu-Sprache - Unbestimmte Sprache - Urdu - Usbekisch - Vai-Sprache - Venda-Sprache - Vietnamesisch - Volapük - Wotisch - Wallonisch - Wakashanisch - Walamo-Sprache - Waray - Washo-Sprache - Sorbisch - Wolof - Kalmückisch - Xhosa - Yao-Sprache - Yapesisch - Jiddisch - Yoruba - Yupik-Sprache - Zhuang - Zapotekisch - Bliss-Symbole - Zenaga - Chinesisch - Chinesisch (vereinfacht) - Chinesisch (traditionell) - Zande-Sprache - Zulu - Zuni-Sprache - Keine Sprachinhalte - Zaza - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Welt - Afrika - Nordamerika - Südamerika - Ozeanien - Westafrika - Mittelamerika - Ostafrika - Nordafrika - Zentralafrika - Südliches Afrika - Amerika - Nördliches Amerika - Karibik - Ostasien - Südasien - Südostasien - Südeuropa - Australien und Neuseeland - Melanesien - Mikronesisches Inselgebiet - Polynesien - Süd-Zentralasien - Asien - Zentralasien - Westasien - Europa - Osteuropa - Nordeuropa - Westeuropa - Gemeinschaft Unabhängiger Staaten - Lateinamerika und Karibik - Kanalinseln - Andorra - Vereinigte Arabische Emirate - Afghanistan - Antigua und Barbuda - Anguilla - Albanien - Armenien - Niederländische Antillen - Angola - Antarktis - Argentinien - Amerikanisch-Samoa - Österreich - Australien - Aruba - Alandinseln - Aserbaidschan - Bosnien und Herzegowina - Barbados - Bangladesch - Belgien - Burkina Faso - Bulgarien - Bahrain - Burundi - Benin - St. Barthélemy - Bermuda - Brunei Darussalam - Bolivien - Brasilien - Bahamas - Bhutan - Bouvetinsel - Botsuana - Belarus - Belize - Kanada - Kokosinseln - Demokratische Republik Kongo - Zentralafrikanische Republik - Kongo - Schweiz - Côte d’Ivoire - Cookinseln - Chile - Kamerun - China - Kolumbien - Costa Rica - Serbien und Montenegro - Kuba - Kap Verde - Weihnachtsinsel - Zypern - Tschechische Republik - Deutschland - Dschibuti - Dänemark - Dominica - Dominikanische Republik - Algerien - Ecuador - Estland - Ägypten - Westsahara - Eritrea - Spanien - Äthiopien - Finnland - Fidschi - Falklandinseln - Mikronesien - Färöer - Frankreich - Gabun - Vereinigtes Königreich - Grenada - Georgien - Französisch-Guayana - Guernsey - Ghana - Gibraltar - Grönland - Gambia - Guinea - Guadeloupe - Äquatorialguinea - Griechenland - Südgeorgien und die Südlichen Sandwichinseln - Guatemala - Guam - Guinea-Bissau - Guyana - Sonderverwaltungszone Hongkong - Heard- und McDonald-Inseln - Honduras - Kroatien - Haiti - Ungarn - Indonesien - Irland - Israel - Isle of Man - Indien - Britisches Territorium im Indischen Ozean - Irak - Iran - Island - Italien - Jersey - Jamaika - Jordanien - Japan - Kenia - Kirgisistan - Kambodscha - Kiribati - Komoren - St. Kitts und Nevis - Demokratische Volksrepublik Korea - Republik Korea - Kuwait - Kaimaninseln - Kasachstan - Laos - Libanon - St. Lucia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Litauen - Luxemburg - Lettland - Libyen - Marokko - Monaco - Republik Moldau - Montenegro - St. Martin - Madagaskar - Marshallinseln - Mazedonien - Mali - Myanmar - Mongolei - Sonderverwaltungszone Macao - Nördliche Marianen - Martinique - Mauretanien - Montserrat - Malta - Mauritius - Malediven - Malawi - Mexiko - Malaysia - Mosambik - Namibia - Neukaledonien - Niger - Norfolkinsel - Nigeria - Nicaragua - Niederlande - Norwegen - Nepal - Nauru - Niue - Neuseeland - Oman - Panama - Peru - Französisch-Polynesien - Papua-Neuguinea - Philippinen - Pakistan - Polen - St. Pierre und Miquelon - Pitcairn - Puerto Rico - Palästinensische Gebiete - Portugal - Palau - Paraguay - Katar - Äußeres Ozeanien - Europäische Union - Réunion - Rumänien - Serbien - Russische Föderation - Ruanda - Saudi-Arabien - Salomonen - Seychellen - Sudan - Schweden - Singapur - St. Helena - Slowenien - Svalbard und Jan Mayen - Slowakei - Sierra Leone - San Marino - Senegal - Somalia - Suriname - São Tomé und Príncipe - El Salvador - Syrien - Swasiland - Turks- und Caicosinseln - Tschad - Französische Süd- und Antarktisgebiete - Togo - Thailand - Tadschikistan - Tokelau - Osttimor - Turkmenistan - Tunesien - Tonga - Türkei - Trinidad und Tobago - Tuvalu - Taiwan - Tansania - Ukraine - Uganda - Amerikanisch-Ozeanien - Vereinigte Staaten - Uruguay - Usbekistan - Vatikanstadt - St. Vincent und die Grenadinen - Venezuela - Britische Jungferninseln - Amerikanische Jungferninseln - Vietnam - Vanuatu - Wallis und Futuna - Samoa - Jemen - Mayotte - Südafrika - Sambia - Simbabwe - Unbekannte oder ungültige Region - - - Alte deutsche Rechtschreibung - Standardisierte Resianische Rechtschreibung - Neue deutsche Rechtschreibung - Spätes Mittelfranzösisch - Klassisches Französisch - Ostarmenisch - Westarmenisch - Einheitliches Türkisches Alphabet - Bela-Dialekt - Boontling - IPA Phonetisch - Phonetisch (UPA) - Lipovaz-Dialekt - Monotonisch - Natisone-Dialekt - Njiva-Dialekt - Osojane-Dialekt - Polytonisch - Posix - Revidierte Rechtschreibung - Resianisch - Saho - Schottisches Standardenglisch - Scouse-Dialekt - Solbica-Dialekt - Taraskievica-Orthographie - Valencianisch - - - Kalender - Sortierung - Währung - - - Traditionelles Chinesisch - Big5 - Buddhistischer Kalender - Chinesischer Kalender - Direkte Sortierregeln - Vereinfachtes Chinesisch - GB2312 - Gregorianischer Kalender - Hebräischer Kalender - Indischer Nationalkalender - Islamischer Kalender - Bürgerlicher islamischer Kalender - Japanischer Kalender - Telefonbuch-Sortierregeln - Pinyin-Sortierregeln - Kalender der Republik China - Strichfolge - Traditionelle Sortierregeln - - - Angloamerikanisch - Metrisch - - - Sprache: {0} - Schrift: {0} - Region: {0} - - - - [a ä b-o ö p-s ß t u ü v-z] - [á à ă â å ä ā æ ç é è ĕ ê ë ē í ì ĭ î ï ī ñ ó ò ŏ ô ö ø ō œ ß ú ù ŭ û ü ū ÿ] - [a-z] - - - „ - “ - ‚ - ‘ - - - {0}−{1} - - - vorm. - nachm. - - - - EEEE d. MMMM y G - - - - - d. MMMM y G - - - - - d. MMM y G - - - - - d.M.yyyy - - - - - - vorm. - nachm. - - - vorm. - nachm. - - - - - - Jan - Feb - Mär - Apr - Mai - Jun - Jul - Aug - Sep - Okt - Nov - Dez - - - Januar - Februar - März - April - Mai - Juni - Juli - August - September - Oktober - November - Dezember - - - - - Mär - Jul - Aug - Sep - Okt - Nov - Dez - - - J - F - M - A - M - J - J - A - S - O - N - D - - - - - - - So. - Mo. - Di. - Mi. - Do. - Fr. - Sa. - - - Sonntag - Montag - Dienstag - Mittwoch - Donnerstag - Freitag - Samstag - - - - - S - M - D - M - D - F - S - - - - - - - Q1 - Q2 - Q3 - Q4 - - - 1. Quartal - 2. Quartal - 3. Quartal - 4. Quartal - - - - - 1 - 2 - 3 - 4 - - - - vorm. - nachm. - - - v. Chr. - n. Chr. - - - v. Chr. - n. Chr. - - - - - - EEEE, d. MMMM y - - - - - d. MMMM y - - - - - dd.MM.yyyy - - - - - dd.MM.yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - - {1} {0} - - - - - {1} {0} - - - - - {1} {0} - - - - - {1} {0} - - - - d. EEE - E d. - H - HH:mm - HH:mm:ss - H:mm - L - E, d.M. - LLL - E d. MMM - E d. MMMM - d. MMMM - dd. MMMM - d. MMM - d.MM. - dd.MM. - d.M. - d - mm:ss - mm:ss - y - yyyy-M - EEE, yyyy-M-d - MMM y - EEE, d. MMM y - MMMM y - Q yyyy - QQQ y - MM.yy - MMM yy - dd.MM.yy - Q yy - QQQQ yy - y - MMMM y - - - {0} - {1} - - M.-M. - - - E, dd.MM. - E, dd.MM. - E, dd.MM. - E, dd.MM. - - - MMM-MMM - - - E, d. MMM - E, d. MMM - E, d. - E, d. MMM - - - LLLL-LLLL - - - d. MMM - d. MMM - d.-d. MMM - - - dd.MM. - dd.MM. - dd.MM. - dd.MM. - - - d.-d. - - - HH-HH - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - HH-HH v - - - y-y - - - MM.yy - MM.yy - MM.yy - MM.yy - - - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - - - MMM-MMM y - MMM y - MMM y - - - E, d. MMM - E, d. MMM y - E, d. - E, d. MMM y - E, d. MMM y - E, d. MMM y - - - MM – MM.yyyy - MM.yyyy – MM.yyyy - - - d. MMM - d. MMM y - d.-d. MMM y - d. MMM y - d. MMM y - - - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - - - - - - Epoche - - - Jahr - - - Monat - - - Woche - - - Tag - Vor drei Tagen - Vorgestern - Gestern - Heute - Morgen - Übermorgen - In drei Tagen - - - Wochentag - - - Tageshälfte - - - Stunde - - - Minute - - - Sekunde - - - Zone - - - - - vorm. - nachm. - - - vorm. - nachm. - - - - +HH:mm;-HH:mm - GMT{0} - {0} - {1} ({0}) - - Unbekannt - - - Tirana - - - Erivan - - - Curaçao - - - Südpol - - - Wostok - - - Dumont D'Urville - - - Wien - - - Brüssel - - - Wagadugu - - - Bermudas - - - Zürich - - - Osterinsel - - - Havanna - - - Kap Verde - - - Weihnachts-Inseln - - - Nikosia - - - Dschibuti - - - Kopenhagen - - - Algier - - - Kairo - - - El Aaiún - - - Kanaren - - - Addis Abeba - - - Fidschi - - - Färöer - - - Tiflis - - - Akkra - - - Athen - - - Süd-Georgien - - - Hongkong - - - Bagdad - - - Teheran - - - Rom - - - Jamaika - - - Tokio - - - Bischkek - - - Komoren - - - St. Kitts - - - Pjöngjang - - - Kaimaninseln - - - Aktobe - - - St. Lucia - - - Wilna - - - Luxemburg - - - Tripolis - - - Kischinau - - - Macao - - - Malediven - - - Mexiko-Stadt - - - Niger - - - Muskat - - - Warschau - - - Azoren - - - Lissabon - - - Asunción - - - Katar - - - Réunion - - - Bukarest - - - Moskau - - - Jekaterinburg - - - Nowosibirsk - - - Krasnojarsk - - - Jakutsk - - - Wladiwostok - - - Sachalin - - - Kamtschatka - - - Riad - - - Khartum - - - Singapur - - - St. Helena - - - Mogadischu - - - São Tomé - - - Salvador - - - Damaskus - - - Duschanbe - - - Port-of-Spain - - - Taipeh - - - Daressalam - - - Uschgorod - - - Kiew - - - Saporischja - - - Knox - - - Taschkent - - - St. Vincent - - - St. Thomas - - - - Acre-Zeit - Acre-Sommerzeit - - - - - Afghanistan-Zeit - - - - - Zentralafrikanische Zeit - - - - - Ostafrikanische Zeit - - - - - Südafrikanische Zeit - Südafrikanische Standardzeit - - - - - Westafrikanische Zeit - Westafrikanische Sommerzeit - - - - - Aktyubinsk-Zeit - Aktyubinsk-Sommerzeit - - - - - Alaska-Zeit - Alaska-Standardzeit - - true - - - - Alaska-Hawaii-Zeit - Alaska-Hawaii-Standardzeit - - - - - Almaty-Zeit - Almaty-Sommerzeit - - - - - Amazonas-Sommerzeit - - - - - Mitteleuropäische Zeit - Mitteleuropäische Sommerzeit - - - MEZ - MESZ - - true - - - - Osteuropäische Zeit - Osteuropäische Sommerzeit - - - OEZ - OESZ - - - - - Westeuropäische Zeit - Westeuropäische Sommerzeit - - - WEZ - WESZ - - - - - Moskauer Zeit - Moskauer Sommerzeit - - - - - - - , - . - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0 % - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - - - - Andorranische Pesete - Andorranische Peseten - - - UAE Dirham - UAE Dirham - - - Afghani (1927-2002) - Afghani (1927-2002) - - - Afghani - Afghani - - - Lek - Albanische Lek - - - Dram - Armenische Dram - - - Niederl. Antillen Gulden - Niederländische-Antillen-Gulden - - - Kwanza - Angolanische Kwanza - - - Angolanischer Kwanza (1977-1990) - Angolanische Kwanza (AOK) - - - Neuer Kwanza - Angolanische Neue Kwanza (AON) - - - Kwanza Reajustado - Angolanische Kwanza Reajustado (AOR) - - - Argentinischer Austral - Argentinische Austral - - - Argentinischer Peso (1983-1985) - Argentinische Peso (ARP) - - - Argentinischer Peso - Argentinische Peso - - - Österreichischer Schilling - Österreichische Schilling - öS - - - Australischer Dollar - Australische Dollar - - - Aruba Florin - Aruba Florin - - - Aserbaidschan-Manat (1993-2006) - Aserbaidschan-Manat (AZM) - - - Aserbaidschan-Manat - Aserbaidschan-Manat - - - Bosnien und Herzegowina Dinar - Bosnien und Herzegowina Dinar - - - Konvertierbare Mark - Bosnien und Herzegowina Konvertierbare Mark - - - Barbados-Dollar - Barbados-Dollar - - - Taka - Taka - - - Belgischer Franc (konvertibel) - Belgische Franc (konvertibel) - - - Belgischer Franc - Belgische Franc - - - Belgischer Finanz-Franc - Belgische Finanz-Franc - - - Lew (1962-1999) - Bulgarische Lew - - - Lew - Bulgarische Lew (BGN) - - - Bahrain-Dinar - Bahrain-Dinar - - - Burundi-Franc - Burundi-Franc - - - Bermuda-Dollar - Bermuda-Dollar - - - Brunei-Dollar - Brunei-Dollar - - - Boliviano - Boliviano - - - Bolivianischer Peso - Bolivianische Peso - - - Mvdol - Bolivianische Mvdol - - - Brasilianischer Cruzeiro Novo (1967-1986) - Brasilianische Cruzeiro Novo (BRB) - - - Brasilianischer Cruzado - Brasilianische Cruzado - - - Brasilianischer Cruzeiro (1990-1993) - Brasilianische Cruzeiro (BRE) - - - Real - Brasilianische Real - - - Brasilianischer Cruzado Novo - Brasilianische Cruzado Novo - - - Brasilianischer Cruzeiro - Brasilianische Cruzeiro - - - Bahama-Dollar - Bahama-Dollar - - - Ngultrum - Bhutanische Ngultrum - - - Birmanischer Kyat - Birmanische Kyat - - - Pula - Botswanische Pula - - - Belarus Rubel (alt) - Belarus-Rubel (BYB) - - - Belarus Rubel (neu) - Belarus-Rubel - - - Belize-Dollar - Belize-Dollar - - - Kanadischer Dollar - Kanadische Dollar - - - Franc congolais - Franc congolais - - - WIR-Euro - - - Schweizer Franken - Schweizer Franken - - - WIR Franken - WIR Franken - - - Unidades de Fomento - Chilenische Unidades de Fomento - - - Chilenischer Peso - Chilenische Pesos - - - Renminbi Yuan - Renminbi Yuan - - - Kolumbianischer Peso - Kolumbianische Pesos - - - Unidad de Valor Real - Unidad de Valor Real - - - Costa Rica Colon - Costa Rica Colon - - - Alter Serbischer Dinar - Alte Serbische Dinar - - - Tschechoslowakische Krone - Tschechoslowakische Kronen - - - Kubanischer Peso - Kubanische Pesos - - - Kap Verde Escudo - Kap Verde Escudo - - - Zypern-Pfund - Zypern Pfund - - - Tschechische Krone - Tschechische Kronen - - - Mark der DDR - Mark der DDR - - - Deutsche Mark - Deutsche Mark - - - Dschibuti-Franc - Dschibuti-Franc - - - Dänische Krone - Dänische Kronen - - - Dominikanischer Peso - Dominikanische Pesos - - - Algerischer Dinar - Algerische Dinar - - - Ecuadorianischer Sucre - Ecuadorianische Sucre - - - Verrechnungseinheit für EC - Verrechnungseinheiten für EC - - - Estnische Krone - Estnische Kronen - - - Ägyptisches Pfund - Ägyptische Pfund - - - Nakfa - Eritreische Nakfa - - - Spanische Peseta (A-Konten) - Spanische Peseten (A-Konten) - - - Spanische Peseta (konvertibel) - Spanische Peseten (konvertibel) - - - Spanische Peseta - Spanische Peseten - - - Birr - Äthiopische Birr - - - Euro - Euro - - - Finnische Mark - Finnische Mark - - - Fidschi-Dollar - Fidschi Dollar - - - Falkland-Pfund - Falkland Pfund - - - Französischer Franc - Französische Franc - - - Pfund Sterling - Pfund Sterling - - - Georgischer Kupon Larit - Georgische Kupon Larit - - - Georgischer Lari - Georgische Lari - - - Cedi - Cedi - - - Ghanaische Cedi - - - Gibraltar-Pfund - Gibraltar Pfund - - - Dalasi - Gambische Dalasi - - - Guinea-Franc - Guinea Franc - - - Guineischer Syli - Guineische Syli - - - Ekwele - Äquatorialguinea-Ekwele - - - Griechische Drachme - Griechische Drachmen - - - Quetzal - Quetzal - - - Portugiesisch Guinea Escudo - Portugiesisch Guinea Escudo - - - Guinea Bissau Peso - Guinea-Bissau Pesos - - - Guyana-Dollar - Guyana Dollar - - - Hongkong-Dollar - Hongkong-Dollar - - - Lempira - Lempira - - - Kroatischer Dinar - Kroatische Dinar - - - Kuna - Kuna - - - Gourde - Gourde - - - Forint - Forint - - - Rupiah - Rupiah - - - Irisches Pfund - Irische Pfund - - - Israelisches Pfund - Israelische Pfund - - - Schekel - Neue Schekel - - - Indische Rupie - Indische Rupien - - - Irak Dinar - Irak Dinar - - - Rial - Rial - - - Isländische Krone - Isländische Kronen - - - Italienische Lira - Italienische Lire - ₤ - - - Jamaika-Dollar - Jamaika Dollar - - - Jordanischer Dinar - Jordanische Dinar - - - Yen - Yen - ¥ - - - Kenia-Schilling - Kenia Schilling - - - Som - Som - - - Riel - Riel - - - Komoren Franc - Komoren-Franc - - - Nordkoreanischer Won - Nordkoreanische Won - - - Südkoreanischer Won - Südkoreanische Won - - - Kuwait Dinar - Kuwait Dinar - - - Kaiman-Dollar - Kaiman-Dollar - - - Tenge - Tenge - - - Kip - Kip - - - Libanesisches Pfund - Libanesische Pfund - - - Sri Lanka Rupie - Sri Lanka Rupie - - - Liberianischer Dollar - Liberianische Dollar - - - Loti - Loti - - - Litauischer Litas - Litauische Litas - - - Litauischer Talonas - Litauische Talonas - - - Luxemburgischer Franc (konvertibel) - Luxemburgische Franc (konvertibel) - - - Luxemburgischer Franc - Luxemburgische Franc - - - Luxemburgischer Finanz-Franc - Luxemburgische Finanz-Franc - - - Lettischer Lats - Lettische Lats - - - Lettischer Rubel - Lettische Rubel - - - Libyscher Dinar - Libysche Dinar - - - Marokkanischer Dirham - Marokkanische Dirham - - - Marokkanischer Franc - Marokkanische Franc - - - Moldau Leu - Moldau Leu - - - Madagaskar Ariary - Madagaskar Ariary - - - Madagaskar-Franc - Madagaskar-Franc - - - Denar - Denar - - - Malischer Franc - Malische Franc - - - Kyat - Kyat - - - Tugrik - Tugrik - - - Pataca - Pataca - - - Ouguiya - Ouguiya - - - Maltesische Lira - Maltesische Lira - - - Maltesisches Pfund - Maltesische Pfund - - - Mauritius-Rupie - Mauritius Rupie - - - Rufiyaa - Rufiyaa - - - Malawi Kwacha - Malawi-Kwacha - - - Mexikanischer Peso - Mexikanische Pesos - - - Mexikanischer Silber-Peso (1861-1992) - Mexikanische Silber-Pesos (MXP) - - - Mexican Unidad de Inversion (UDI) - Mexikanische Unidad de Inversion (UDI) - - - Malaysischer Ringgit - Malaysische Ringgit - - - Mosambikanischer Escudo - Mozambikanische Escudo - - - Alter Metical - Alte Metical - - - Metical - Metical - - - Namibia-Dollar - Namibia-Dollar - - - Naira - Naira - - - Cordoba - Cordoba - - - Gold-Cordoba - Gold-Cordoba - - - Holländischer Gulden - Holländische Gulden - - - Norwegische Krone - Norwegische Kronen - - - Nepalesische Rupie - Nepalesische Rupien - - - Neuseeland-Dollar - Neuseeland-Dollar - - - Rial Omani - Rial Omani - - - Balboa - Balboa - - - Peruanischer Inti - Peruanische Inti - - - Neuer Sol - Neue Sol - - - Sol - Sol - - - Kina - Kina - - - Philippinischer Peso - Philippinische Peso - - - Pakistanische Rupie - Pakistanische Rupien - - - Zloty - Zloty - - - Zloty (1950-1995) - Zloty (PLZ) - - - Portugiesischer Escudo - Portugiesische Escudo - - - Guarani - Guarani - - - Katar Riyal - Katar Riyal - - - Rhodesischer Dollar - Rhodesische Dollar - - - Leu - Leu - - - Rumänischer Leu - Rumänische Leu - - - Serbischer Dinar - Serbische Dinar - - - Russischer Rubel (neu) - Russische Rubel (neu) - - - Russischer Rubel (alt) - Russische Rubel (alt) - - - Ruanda-Franc - Ruanda-Franc - - - Saudi Riyal - Saudi Riyal - - - Salomonen-Dollar - Salomonen-Dollar - - - Seychellen-Rupie - Seychellen-Rupien - - - Sudanesischer Dinar - Sudanesische Dinar - - - Sudanesisches Pfund - Sudanesische Pfund - - - Sudanesisches Pfund (alt) - Sudanesische Pfund (alt) - - - Schwedische Krone - Schwedische Kronen - - - Singapur-Dollar - Singapur-Dollar - - - St. Helena Pfund - St. Helena-Pfund - - - Tolar - Tolar - - - Slowakische Krone - Slowakische Kronen - - - Leone - Leone - - - Somalia-Schilling - Somalia-Schilling - - - Surinamischer Dollar - Surinamische Dollar - - - Suriname Gulden - Suriname-Gulden - - - Dobra - Dobra - - - Sowjetischer Rubel - Sowjetische Rubel - - - El Salvador Colon - El Salvador-Colon - - - Syrisches Pfund - Syrische Pfund - - - Lilangeni - Lilangeni - - - Baht - Baht - - - Tadschikistan Rubel - Tadschikistan-Rubel - - - Tadschikistan Somoni - Tadschikistan-Somoni - - - Turkmenistan-Manat - Turkmenistan-Manat - - - Tunesischer Dinar - Tunesische Dinar - - - Paʻanga - Paʻanga - - - Timor-Escudo - Timor-Escudo - - - Alte Türkische Lira - Alte Türkische Lira - Alte Türkische Lire - - - Türkische Lira - Türkische Lira - Türkische Lira - - - Trinidad- und Tobago-Dollar - Trinidad und Tobago-Dollar - - - Neuer Taiwan-Dollar - Neuer Taiwan Dollar - - - Tansania-Schilling - Tansania-Schilling - - - Hryvnia - Hryvnia - - - Ukrainischer Karbovanetz - Ukrainische Karbovanetz - - - Uganda-Schilling (1966-1987) - Uganda-Schilling (UGS) - - - Uganda-Schilling - Uganda-Schilling - - - US-Dollar - US-Dollar - $ - - - US Dollar (Nächster Tag) - US-Dollar (Nächster Tag) - - - US Dollar (Gleicher Tag) - US-Dollar (Gleicher Tag) - - - UYU - - - Uruguayischer Neuer Peso (1975-1993) - Uruguayische Pesos (UYP) - - - Uruguayischer Peso - Uruguayische Pesos - - - Usbekistan Sum - Usbekistan-Sum - - - Bolivar - Bolivar - - - Bolívar Fuerte - - - Dong - Dong - - - Vatu - Vatu - - - Tala - Tala - - - CFA Franc (Äquatorial) - CFA-Franc (BEAC) - - - Unze Silber - Unze Silber - Silber - - - Unze Gold - Unze Gold - Gold - - - Europäische Rechnungseinheit - Europäische Rechnungseinheiten - - - Europäische Währungseinheit (XBB) - Europäische Währungseinheiten (XBB) - - - Europäische Rechnungseinheit (XBC) - Europäische Rechnungseinheiten (XBC) - - - Europäische Rechnungseinheit (XBD) - Europäische Rechnungseinheiten (XBD) - - - Ostkaribischer Dollar - Ostkaribische Dollar - - - Sonderziehungsrechte - Sonderziehungsrechte - - - Europäische Währungseinheit (XEU) - Europäische Währungseinheiten (XEU) - - - Französischer Gold-Franc - Französische Gold-Franc - - - Französischer UIC-Franc - Französische UIC-Franc - - - CFA Franc (West) - CFA-Franc (BCEAO) - - - Unze Palladium - Unze Palladium - Palladium - - - CFP Franc - CFP-Franc - - - Unze Platin - Unze Platin - Platin - - - RINET Funds - RINET Funds - - - Testwährung - Testwährung - - - Unbekannte Währung - Unbekannte Währung - Unbekannte Währung - - - Jemen-Dinar - Jemen-Dinar - - - Jemen-Rial - Jemen-Rial - - - Jugoslawischer Dinar (1966-1990) - Jugoslawische Dinar - - - Neuer Dinar - Jugoslawische Neue Dinar - - - Jugoslawischer Dinar (konvertibel) - Jugoslawische Dinar (konvertibel) - - - Südafrikanischer Rand (Finanz) - Südafrikanischer Rand (Finanz) - Südafrikanischer Rand (Finanz) - - - Südafrikanischer Rand - Südafrikanischer Rand - Rand - - - Kwacha - Kwacha - - - Neuer Zaire - Neue Zaire - - - Zaire - Zaire - - - Simbabwe-Dollar - Simbabwe-Dollar - - - - - - {0} Tag - {0} Tage - - - {0} Stunde - {0} Stunden - - - {0} Minute - {0} Minuten - - - {0} Monat - {0} Monate - - - {0} Sekunde - {0} Sekunden - - - {0} Woche - {0} Wochen - - - {0} Jahr - {0} Jahre - - - - - ja:j - nein:n - - - - diff --git a/lib/zend/Zend/Locale/Data/de_AT.xml b/lib/zend/Zend/Locale/Data/de_AT.xml deleted file mode 100644 index dbe90a15fd..0000000000 --- a/lib/zend/Zend/Locale/Data/de_AT.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - - - - - Jän - - - Jänner - - - - - - - EEEE, dd. MMMM y - - - - - dd. MMMM y - - - - - - - E, dd. MMM - E, dd. MMM - E, dd. - E, dd. MMM - - - dd. MMM - dd. MMM - dd.-dd. MMM - - - E, dd. MMM - E, dd. MMM y - E, dd. - E, dd. MMM y - E, dd. MMM y - E, dd. MMM y - - - dd. MMM - dd. MMM y - dd.-dd. MMM y - dd. MMM y - dd. MMM y - - - - - - - - - - - ¤ #,##0.00 - - - - - - diff --git a/lib/zend/Zend/Locale/Data/de_BE.xml b/lib/zend/Zend/Locale/Data/de_BE.xml deleted file mode 100644 index 2f225b6391..0000000000 --- a/lib/zend/Zend/Locale/Data/de_BE.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - Son - Mon - Die - Mit - Don - Fre - Sam - - - - - - - EEEE d MMMM y - - - - - d MMMM y - - - - - d/MM/yy - - - - - - - HH 'h' mm 'min' ss 's' zzzz - - - - - - d MMMM - MM/yy - - - - M-M - - - E d/MM - E d/MM - E d/MM - E d/MM - - - E d MMM - E d MMM - E d - E d MMM - - - d MMM - d MMM - d-d MMM - - - d/MM - d/MM - d/MM - d/MM - - - d-d - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - - - E d MMM - E d MMM y - E d - E d MMM y - E d MMM y - E d MMM y - - - d MMM - d MMM y - d-d MMM y - d MMM y - d MMM y - - - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - - - - - - - - - - Franken - - - - - diff --git a/lib/zend/Zend/Locale/Data/de_CH.xml b/lib/zend/Zend/Locale/Data/de_CH.xml deleted file mode 100644 index ae86a65f8a..0000000000 --- a/lib/zend/Zend/Locale/Data/de_CH.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - Weissrussisch - - - Bangladesh - Brunei - Botswana - Weissrussland - Kapverden - Djibouti - Grossbritannien - Marshall-Inseln - Äusseres Ozeanien - Rwanda - Salomon-Inseln - Sao Tomé und Principe - Zimbabwe - - - - « - » - ‹ - › - - - - - - - MM-dd - - - - - - - - . - ' - - - - - ¤ #,##0.00;¤-#,##0.00 - - - - - - diff --git a/lib/zend/Zend/Locale/Data/de_DE.xml b/lib/zend/Zend/Locale/Data/de_DE.xml deleted file mode 100644 index 3c89254317..0000000000 --- a/lib/zend/Zend/Locale/Data/de_DE.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/de_LI.xml b/lib/zend/Zend/Locale/Data/de_LI.xml deleted file mode 100644 index cf4f93264f..0000000000 --- a/lib/zend/Zend/Locale/Data/de_LI.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - . - ' - - - - - ¤ #,##0.00 - - - - - diff --git a/lib/zend/Zend/Locale/Data/de_LU.xml b/lib/zend/Zend/Locale/Data/de_LU.xml deleted file mode 100644 index 810fe1e871..0000000000 --- a/lib/zend/Zend/Locale/Data/de_LU.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - F - . - , - - - - diff --git a/lib/zend/Zend/Locale/Data/dv.xml b/lib/zend/Zend/Locale/Data/dv.xml deleted file mode 100644 index 22b155366e..0000000000 --- a/lib/zend/Zend/Locale/Data/dv.xml +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - - - - - - ދިވެހިބަސް - - - ދިވެހި ރާއްޖެ - - - - - - - [ހ-ޗ \u07A6-\u07B0] - [\u200C \u200D ޙ ޚ ޜ ޢ ޣ ޥ ޛ ޘ ޠ ޡ ޤ ޝ-ޟ ޱ] - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - AM - PM - - - BCE - CE - - - - - - EEEE d MMMM y - - - - - d MMMM y - - - - - dd-MM-yyyy - - - - - d-M-yy - - - - - - - hh:mm:ss a zzzz - - - - - hh:mm:ss a z - - - - - hh:mm:ss a - - - - - hh:mm a - - - - - - d MMMM - dd-MM - Q yy - MM-yyyy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - ، - ٠ - - - - - #,##,##0.### - - - - - - - #,##,##0% - - - - - - - ¤ #,##,##0.00 - - - - - - ރ. - - - - - diff --git a/lib/zend/Zend/Locale/Data/dv_MV.xml b/lib/zend/Zend/Locale/Data/dv_MV.xml deleted file mode 100644 index b15766bc3a..0000000000 --- a/lib/zend/Zend/Locale/Data/dv_MV.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/dz.xml b/lib/zend/Zend/Locale/Data/dz.xml deleted file mode 100644 index 1506c09f18..0000000000 --- a/lib/zend/Zend/Locale/Data/dz.xml +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - - - - - - ཨེ་ར་སྦིག - བཟོ་བཟོཝ (གཞན) - ཨ་ས་མི་སི - བི་ཧ་ལི - བེངྒ་ལི - བོད་ཁ - ཅེཀ - ཌེ་ནིཤ - ཇཱར་མཱན - དི་བེ་ཧི - རྫོང་ཁ - ཨི་ཇིཔ་ཤཱན (སྔ་དུས་ཀྱི) - གིརིཀ - ཨིང་ལིཤ - སིཔེ་ནིཤ - པར་ཤི་ཡན - ཕེ་རེནཆེ - ཨའི་རིཤ - གིརིཀ, སྔ་དུས་ཀྱི (༡༤༥༣) - ཧི་བུརུ - ཧིན་དི - ཧི་མ་ཅ་ལི - ཨིན་ཌིཀ (གཞན) - ཨི་ཊ་ལི་རན - ཁེ་མར - ཀ་ན་ཌ - ཀོ་རིཡན - ཀེཤ་མི་རི - ལའོ - མ་ལ་ཡ་ལམ - སོག་པོའི་ཁ - མཱན་ཅུ - མ་ནི་པུ་རི - མ་ར་ཐི - བར་མིསི - ནེ་པ་ལི - ནི་ཝ་རི - ཌཆ - ནོར་ཝི་ཇི་ཡན - ཨོ་རི་ཡ - པཱན་ཇ་བི - པ་ལི - ར་ཤི་ཡན - སཾསྐྲྀཏ - སིན་ཧ་ལིསི - ཏ་མིལ - ཏེ་ལུ་གུ - ཐཱའེ - ཨུར་དུ - རགྱ་མི་ཁ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ཡུ་ནའི་ཊེཊ་ཨ་ར བ་ཨེ་མི་རེཊསི - ཨཕ་ག་ནིསི་ཏཱན - ཨེན་ཊཱག་ཊི་ཀ - ཨར་ཇེན་ཊི་ན - ཨས་ཊི་ཡ - ཨས་ཊེཡེ་ལི་ཡ - བངྒ་ལ་དེཤ - བེལ་ཇིཡམ - བཧ་རེན - བཱརཱ་ཛིལ - འབྲུག - ཀེ་ན་ཌ - སུའིཊ་ཛར་ལེན - རྒྱ་མི - ཀིའུ་སྦ - ཅེཀ་རི་པབ་ལིཀ - ཇཱར་མ་ནི - ཌེན་མཱཀ - ཨི་ཇིཔཊ - སིཔཱེན - ཕིན་ལེནཌ - ཕརཱནསི - ཡུ་ནའི་ཊེཊ་ཀིང་ཌམ - གིརིསི - ཧོང་ཀོང - ཨའིརི་ལེནཌ - ཨིཛ་རཱེལ - རྒྱ་གར - ཨི་རཀ - ཨི་རཱན - ཨའིསི་ལེནཌ - ཨྀཊ་ལི - ཇ་མའི་ཀ - ཇ་པཱན - ཀེ་ནི་ཡ - ཀམ་བོ་ཌི་ཡ - བྱང་ཀོ་རི་ཡ - ལྷོ་ཀོ་རི་ཡ - ཀུ་ཝེཊ - ལ་འོསུ - ལེ་བཱ་ནཱོན - ཤྲཱྀ་ལངཀ - མེ་མར - སོག་པོ - མོན་ས་རཊི - མོ་རི་ཤིཡསི - མཱལ་ཌིབས - མེཀསི་ཀོ - མ་ལེ་ཤི་ཡ - ནེ་དར་ལེནཌསི - ནོ་ཝེ - བལ་ཡུལ - ནིའུ་ཛི་ལེནཌ - པ་ན་མཱ - པ་ཀིསི་ཏཱན - པེ་ལིསི་ཊི་ནིཡ ན་ཊེ་རི་ངོ་རི - པོར་ཅུ་གལ - ཀ་ཏར - སའུ་དི་ཨེ་ར་སྦི་ཡ - སུའི་ཌན - སིལོ་བེ་ནི་ཡ - ཐཱའི་ལེནཌ - ཏ་ཇག་ཀིསི་ཏཱན - ཏའི་ཝཱན - ཡུ་ནའིཊེཊ་སི་ཊེསི - ཨུཛ་བེ་ཀིསི་ཏཱན - བེཊ་ནཱམ - སའུཐ་ཨཕ་རི་ཀ - ཛམ་བི་ཡ - ཛིམ་བབ་ཝེ - - - གནས་སདུད་རིམ་ སགྲིག - - - ལུགས་སྲོལ - - - - [ཀ \u0F90 ཁ \u0F91 ག \u0F92 ང \u0F94 ཅ-ཇ \u0F97 ཉ \u0F99 ཏ \u0F9F ཐ ད \u0FA1 ན \u0FA3 པ \u0FA4 ཕ བ \u0FA6 མ \u0FA8 ཙ \u0FA9 ཚ ཛ \u0FAB ཝ \u0FAD ཞ-ཡ \u0FB1 ར \u0FB2 ལ \u0FB3 ཤ \u0FB5 ས ཧ \u0FB7 ཨ \u0F72 \u0F74 \u0F7A \u0F7C] - [ཊ-ཌ ཎ ཥ] - - - " - " - ' - ' - - - - - - - - ཟླ་ ༡ - ཟླ་ ༢ - ཟླ་ ༣ - ཟླ་ ༤ - ཟླ་ ༥ - ཟླ་ ༦ - ཟླ་ ༧ - ཟླ་ ༨ - ཟླ་ ༩ - ཟླ་ ༡༠ - ཟླ་ ༡༡ - ཟླ་ ༡༢ - - - སྤྱི་ཟླཝ་དངཔ་ - སྤྱི་ཟླཝ་གཉིས་པ་ - སྤྱི་ཟླཝ་གསུམ་པ་ - སྤྱི་ཟླཝ་བཞི་པ་ - སྤྱི་ཟླཝ་ལྔ་པ་ - སྤྱི་ཟླཝ་དྲུག་པ་ - སྤྱི་ཟླཝ་བདུན་པ་ - སྤྱི་ཟླཝ་བརྒྱད་པ་ - སྤྱི་ཟླཝ་དགུ་པ་ - སྤྱི་ཟླཝ་བཅུ་པ་ - སྤྱི་ཟླཝ་བཅུ་གཅིག་པ་ - སྤྱི་ཟླཝ་བཅུ་གཉིས་པ་ - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - ཟླ་ - མིར་ - ལྷག་ - ཕུར་ - སངས་ - སྤེན་ - ཉི་ - - - གཟའ་ཟླ་བ་ - གཟའ་མིག་དམར་ - གཟའ་ལྷག་པ་ - གཟའ་ཕུར་བུ་ - གཟའ་པ་སངས་ - གཟའ་སྤེན་པ་ - གཟའ་ཉི་མ་ - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - བཞི་དཔྱ་༡ - བཞི་དཔྱ་༢ - བཞི་དཔྱ་༣ - བཞི་དཔྱ་༤ - - - བཞི་དཔྱ་དང་པ་ - བཞི་དཔྱ་གཉིས་པ་ - བཞི་དཔྱ་གསུམ་པ་ - བཞི་དཔྱ་བཞི་པ་ - - - - སྔ་ཆ་ - ཕྱི་ཆ་ - - - BCE - CE - - - - - - སྤྱི་ལོ་y ཟླ་ MMMM ཚེས་ dd - - - - - སྤྱི་ལོ་y ཟླ་ MMMM ཚེས་ dd - - - - - སྤྱི་ལོ་y ཟླ་ MMM ཚེས་ dd - - - - - yyyy-MM-dd - - - - - - - - ཆུ་ཚོད་ h སྐར་མ་ mm སྐར་ཆཱ་ ss a zzzz - - - - - ཆུ་ཚོད་ h སྐར་མ་ mm སྐར་ཆཱ་ ss a z - - - - - ཆུ་ཚོད་h:mm:ss a - - - - - ཆུ་ཚོད་ h སྐར་མ་ mm a - - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - ཐིམ་ཕུག - - - - Bhutan Time - Bhutan Standard Time - - - BT - BST - - - - - - - དང་ - བརྒ་ཆཱ - ༠ - གྲངས་མེད - ཨང་མད - - - - - #,##,##0.### - - - - - - - #E+00 - - - - - - - #,##,##0 % - - - - - - - ¤#,##,##0.00 - - - - - - དངུལ་ཀྲམ་ - - - - - diff --git a/lib/zend/Zend/Locale/Data/dz_BT.xml b/lib/zend/Zend/Locale/Data/dz_BT.xml deleted file mode 100644 index 44fc6706cc..0000000000 --- a/lib/zend/Zend/Locale/Data/dz_BT.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ee.xml b/lib/zend/Zend/Locale/Data/ee.xml deleted file mode 100644 index f311a9af54..0000000000 --- a/lib/zend/Zend/Locale/Data/ee.xml +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - - - - [a b d {dz} ɖ e ɛ f ƒ g {gb} ɣ h i k {kp} l-n {ny} ŋ o ɔ p r-t {ts} u v ʋ w-z] - [c j q] - - - - - - - - Dzv - Dzd - Ted - Afɔ - Dam - Mas - Sia - Dea - Any - Kel - Ade - Dzm - - - Dzove - Dzodze - Tedoxe - Afɔfiɛ - Dama - Masa - Siamlɔm - Deasiamime - Anyɔnyɔ - Kele - Adeɛmekpɔxe - Dzome - - - - - D - D - T - A - D - M - S - D - A - K - A - D - - - - - - - Kɔs Kwe - Dzo - Bra - Kuɖ - Yaw - Fiɖ - Mem - - - Kɔsiɖa - Dzoɖa - Braɖa - Kuɖa - Yawoɖa - Fiɖa - Memleɖa - - - - - K - D - B - K - Y - F - M - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - AN - EW - - - Hafi Yesu Va Do ŋgɔ na Yesu - Yesu Ŋɔli - - - HY - YŊ - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - Siɖi - - - Sefa - - - - - diff --git a/lib/zend/Zend/Locale/Data/ee_GH.xml b/lib/zend/Zend/Locale/Data/ee_GH.xml deleted file mode 100644 index 0f70ec6471..0000000000 --- a/lib/zend/Zend/Locale/Data/ee_GH.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ee_TG.xml b/lib/zend/Zend/Locale/Data/ee_TG.xml deleted file mode 100644 index 8458f7843e..0000000000 --- a/lib/zend/Zend/Locale/Data/ee_TG.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/el.xml b/lib/zend/Zend/Locale/Data/el.xml deleted file mode 100644 index 6cbbce706a..0000000000 --- a/lib/zend/Zend/Locale/Data/el.xml +++ /dev/null @@ -1,4125 +0,0 @@ - - - - - - - - - - - Αφάρ - Αμπχαζικά - Αχινίζ - Ακολί - Αντάνγκμε - Αντιγκέα - Αβεστάν - Αφρικάανς - Αφροασιατική γλώσσα - Αφριχίλι - Αϊνού - Ακάν - Ακάντιαν - Αλούτ - Γλώσσα Αλγκονκιάν - Νότια Αλαταϊκά - Αμαρικά - Αραγκονικά - Παλαιά Αγγλικά - Ανγκικά - Γλώσσα Απάτσι - Αραβικά - Αραμαϊκά - Αρουκάνιαν - Αράπαχο - Τεχνητή γλώσσα - Αραγουάκ - Ασαμεζικά - Αστουριανά - Γλώσσα Αθαπάσκαν - Αυστραλιανή γλώσσα - Άβαρικ - Αγουαντί - Αϊμάρα - Αζερμπαϊτζανικά - Μπασκίρ - Μπάντα - Γλώσσα Μπαμιλέκ - Μπαλούτσι - Μπαλινίζ - Μπάσα - Βαλτική γλώσσα - Λευκορωσικά - Μπέζα - Μπέμπα - Μπέρμπερ - Βουλγαρικά - Μπιχάρι - Μποζπούρι - Μπισλάμα - Μπικόλ - Μπίνι - Σικσίκα - Μπαμπάρα - Μπενγκάλι - Μπαντού - Θιβετιανά - Βρετονικά - Μπρατζ - Βοσνιακά - Μπατάκ - Μπουριάτ - Μπουγκίζ - Μπλιν - Καταλανικά - Κάντο - Ινδιανική γλώσσα Κεντρικής Αμερικής - Καρίμπ - Καυκάσια γλώσσα - Ατσάμ - Τσέτσνιαν - Κεμπουάνο - Κελτική γλώσσα - Καμόρρο - Τσίμπτσα - Τσαγκατάι - Τσουκίζι - Μάρι - Ιδιωματικά Σινούκ - Τσοκτάου - Τσίπιουαν - Τσερόκι - Σεγιέν - Χαμική γλώσσα - Κορσικανικά - Κοπτικά - Κρεόλ ή Πίντγκιν βάσει Αγγλικών - Κρεόλ ή Πίντγκιν βάσει Γαλλικών - Κρεόλ και Πίντγκιν βάσει Πορτογαλικών - Κρι - Τουρκικά Κριμαίας - Κρεόλ ή Πίντγκιν - Τσεχικά - Κασούμπιαν - Εκκλησιαστικά Σλαβικά - Γλώσσα Κουσιτίκ - Χουβάς - Ουαλικά - Δανικά - Ντακότα - Ντάργκουα - Νταγιάκ - Γερμανικά - Γερμανικά Αυστρίας - Γερμανικά Ελβετίας - Ντέλαγουερ - Σλαβικά - Ντόγκριμπ - Ντίνκα - Ντόγκρι - Γλώσσα Ντραβίδιαν - Γλώσσα Κάτω Λουσατίας - Ντουάλα - Μέσα Ολλανδικά - Ντιβέχι - Ντογιούλα - Ντζόνγκχα - Γι - Εφίκ - Αρχαία Αιγυπτιακά - Εκατζούκ - Ελληνικά - Ελαμάιτ - Αγγλικά - Αγγλικά Αυστραλίας - Αγγλικά Καναδά - Αγγλικά Ηνωμένου Βασιλείου - Αγγλικά Η.Π.Α. - Μέσα Αγγλικά - Εσπεράντο - Ισπανικά - Ισπανικά Λατινικής Αμερικής - Ισπανικά Ιβηρικής - Εσθονικά - Βασκικά - Εγουόντο - Περσικά - Φανγκ - Φάντι - Φουλάχ - Φινλανδικά - Φιλιππινεζικά - Φιννο-Ούγκριαν - Φίτζι - Φαρόε - Φον - Γαλλικά - Γαλλικά Καναδά - Γαλλικά Ελβετίας - Μέσα Γαλλικά - Παλαιά Γαλλικά - Βόρεια Φριζιανά - Ανατολικά Φριζιανά - Φριούλιαν - Δυτικά Φριζιανά - Ιρλανδικά - Γκα - Γκάγιο - Γκμπάγια - Σκωτικά Κελτικά - Γερμανική γλώσσα - Γκιζ - Γκιλμπερτίζ - Γαλικιανά - Μέσα Άνω Γερμανικά - Γκουαρανί - Παλαιά Άνω Γερμανικά - Γκόντι - Γκοροντάλο - Γοτθικά - Γκρίμπο - Αρχαία Ελληνικά - Ελβετικά Γερμανικά - Γκουγιαράτι - Μανξ - Γκουίτσιν - Χάουσα - Χάιντα - Χαβανεζικά - Εβραϊκά - Χίντι - Χιλιγκαγιόν - Χιματσάλι - Χιτίτε - Χμονγκ - Χίρι Μότου - Κροατικά - Γλώσσα Άνω Λουσατίας - Αϊτιανά - Ουγγρικά - Χούπα - Αρμενικά - Χερέρο - Ιντερλίνγκουα - Ιμπάν - Ινδονησιακά - Ιντερλίνγκουε - Ίγκμπο - Σικουάν Γι - Ιζό - Ινουπιάκ - Ιλόκο - Ινδική γλώσσα - Ινδοευρωπαϊκή γλώσσα - Ινγκούς - Ίντο - Ιρανική γλώσσα - Γλώσσα Ιροκόιαν - Ισλανδικά - Ιταλικά - Ινουκτιτούτ - Ιαπωνικά - Λόζμπαν - Ιουδαϊκά-Περσικά - Ιουδαϊκά-Αραβικά - Ιαβανεζικά - Γεωργιανά - Κάρα-Καλπάκ - Καμπίλε - Κατσίν - Τζου - Κάμπα - Καρέν - Κάουι - Καμπαρντιανά - Τουάπ - Κόρο - Κονγκό - Κάσι - Γλώσσα Κοϊσάν - Κοτανικά - Κικούγιου - Κουανιγιάμα - Καζακικά - Καλααλισούτ - Καμποτζιανά - Κιμπούντου - Κανάντα - Κορεατικά - Κονκάνι - Κοσραενικά - Κπέλε - Κανούρι - Καρατσάι-Μπαλκάρ - Καρελιακά - Κρου - Κουρούχ - Κασμίρι - Κουρδικά - Κουμγιούκ - Κουτενάι - Κόμι - Κόρνις - Κυργιζικά - Λατινικά - Λαδίνο - Λάχδα - Λάμπα - Λουξεμβουργικά - Λαζγκιάν - Γκάντα - Λιμβουργιανά - Λινγκάλα - Λαοθιανά - Μόνγκο - Λόζι - Λιθουανικά - Λούμπα-Κατάνγκα - Λούμπα-Λουλούα - Λουισένο - Λούντα - Λούο - Λουσάι - Λετονικά - Μαντουρίζ - Μαγκάχι - Μαϊτχίλι - Μακαζάρ - Μαντίνγκο - Οστρονέζιαν - Μασάι - Μόκσα - Μανδάρ - Μέντε - Μαλαγάσι - Μέσα Ιρλανδικά - Μάρσαλ - Μάορι - Μικμάκ - Μινανγκαμπάου - Διάφορες γλώσσες - Σλαβομακεδονικά - Γλώσσα Μον-Χμερ - Μαλαγιαλάμ - Μογγολικά - Μαντσού - Μανιπούρι - Γλώσσα Μανόμπο - Μολδαβικά - Μοχόκ - Μόσι - Μαράθι - Μαλάι - Μαλτεζικά - Πολλαπλές γλώσσες - Γλώσσα Μούντα - Κρικ - Μιραντεζικά - Μαργουάρι - Βιρμανικά - Γλώσσα Μάγιαν - Έρζυα - Ναούρου - Ναχουάτλ - Ινδιανική γλώσσα Βόρειας Αμερικής - Ναπολιτανικά - Νορβηγικά Μποκμάλ - Ντεμπέλε Βορρά - Κάτω Γερμανικά - Νεπάλι - Νεγουάρι - Ντόνγκα - Νίας - Γλώσσα Νίγηρα-Κορδοφάνιαν - Νιούεαν - Ολλανδικά - Φλαμανδικά - Νορβηγικά Νινόρσκ - Νορβηγικά - Νογκάι - Παλαιά Νορβηγικά - Ν'Κο - Ντεμπέλε Νότου - Βόρεια Σόθο - Γλώσσα Νούμπιαν - Νάβαχο - Κλασικά Νεουάρι - Νιάντζα - Νιαμγουέζι - Νιανκόλε - Νιόρο - Νζίμα - Οκσιτανικά - Οζιβίγουα - Ορόμο - Ορίγια - Οσετικά - Οσάζ - Οθωμανικά Τουρκικά - Οθωμανική γλώσσα - Παντζαπικά - Παπούα - Πανγκασινάν - Παχλάβι - Παμπάνγκα - Παπιαμέντο - Παλάουαν - Αρχαία Περσικά - Φιλιππινεζική γλώσσα - Φοινικικά - Πάλι - Πολωνικά - Ποχπέιαν - Γλώσσα Πράκριτ - Παλαιά Προβενσιάλ - Πάστο - Πορτογαλικά - Πορτογαλικά Βραζιλίας - Πορτογαλικά Ιβηρικής - Κετσούα - Ραζασθάνι - Ραπανούι - Ραροτονγκάν - Ρετο-Ρομανικά - Ρούντι - Ρουμανικά - Ρομανική γλώσσα - Ρομανί - Ρουτ - Ρωσικά - Αρομανικά - Κινιαρβάντα - Σανσκριτικά - Σαντάγουε - Γιακούτ - Ινδιανική γλώσσα Νότιας Αμερικής - Γλώσσα Σαλισάν - Σαμαρίτικα Αραμαϊκά - Σασάκ - Σαντάλι - Σαρδινικά - Σικελιανά - Σκωτικά - Σίντι - Βόρεια Σάμι - Σελκούπ - Σημητική γλώσσα - Σάνγκο - Παλαιά Ιρλανδικά - Νοηματική γλώσσα - Σερβοκροατικά - Σαν - Σινχαλεζικά - Σιντάμο - Γλώσσα Σιουάν - Σινοθιβετιανή γλώσσα - Σλοβακικά - Σλοβενικά - Σλαβική γλώσσα - Σαμόαν - Νότια Σάμι - Γλώσσα Σάμι - Λούλε Σάμι - Ινάρι Σάμι - Σκολτ Σάμι - Σχόνα - Σονίνκε - Σομάλι - Σογκντιέν - Σονγκχάι - Αλβανικά - Σερβικά - Σρανάρ Τόνγκο - Σερέρ - Σουάτι - Νιλο-Σαχαριανή γλώσσα - Νότια Σόθο - Σουδανικά - Σουκούμα - Σούσου - Σουμερικά - Σουηδικά - Σουαχίλι - Κλασικά Συριακά - Συριακά - Ταμίλ - Ταϊλανδική γλώσσα - Τελούγκου - Τίμνε - Τερένο - Τέτουμ - Τατζίκ - Ταϊλανδικά - Τιγκρίνυα - Τίγκρε - Τιβ - Τουρκμενικά - Τοκελάου - Ταγκαλόγκ - Κλίνγκον - Τλίνγκιτ - Ταμασέκ - Τσιγουάνα - Τόνγκα - Νιάσα Τόνγκα - Τοκ Πισίν - Τουρκικά - Τσόνγκα - Τσίμσιαν - Τατάρ - Τουμπούκα - Γλώσσα Τούπι - Αλταϊκή γλώσσα - Τουβαλού - Τούι - Ταϊτιανά - Τουβίνιαν - Ουντμούρτ - Ουιγουρικά - Ουγκαρίτικ - Ουκρανικά - Ουμπούντου - Άγνωστη ή ακατάλληλη γλώσσα - Ουρντού - Ουζμπεκικά - Βάι - Βένδα - Βιετναμεζικά - Βόλαπικ - Βότικ - Γουαλούν - Γλώσσα Γουακασάν - Γουάλαμο - Γουάρει - Γουασό - Διάλεκτος Άνω Λουσατίας - Γουόλοφ - Καλμίκ - Ζόσα - Γιάο - Γιαπίζ - Γίντις - Γιορούμπα - Γλώσσα Γιούπικ - Ζουάνγκ - Ζάποτεκ - Σύμβολα Bliss - Ζενάγκα - Κινεζικά - Απλοποιημένα Κινεζικά - Παραδοσιακά Κινεζικά - Ζάντε - Ζουλού - Ζούνι - Χωρίς γλωσσολογικό περιεχόμενο - Ζάζα - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Κόσμος - Αφρική - Βόρεια Αμερική - Νότια Αμερική - Ωκεανία - Δυτική Αφρική - Κεντρική Αμερική - Ανατολική Αφρική - Βόρεια Αφρική - Μέση Αφρική - Νότιος Αφρική - Αμερική - Βόρειος Αμερική - Καραϊβική - Ανατολική Ασία - Νότια Ασία - Νοτιοανατολική Ασία - Νότια Ευρώπη - Αυστραλία και Νέα Ζηλανδία - Μελανησία - Περιοχή Μικρονησίας - Πολυνησία - Νότια Κεντρική Ασία - Ασία - Κεντρική Ασία - Δυτική Ασία - Ευρώπη - Ανατολική Ευρώπη - Βόρεια Ευρώπη - Δυτική Ευρώπη - Κοινοπολιτεία Ανεξαρτήτων Πολιτειών - Λατινική Αμερική και Καραϊβική - Νησιά Τσάνελ - Ανδόρα - Ηνωμένα Αραβικά Εμιράτα - Αφγανιστάν - Αντίγκουα και Μπαρμπούντα - Ανγκουίλα - Αλβανία - Αρμενία - Ολλανδικές Αντίλλες - Ανγκόλα - Ανταρκτική - Αργεντινή - Αμερικανική Σαμόα - Αυστρία - Αυστραλία - Αρούμπα - Νήσοι Άλαντ - Αζερμπαϊτζάν - Βοσνία - Ερζεγοβίνη - Μπαρμπάντος - Μπανγκλαντές - Βέλγιο - Μπουρκίνα Φάσο - Βουλγαρία - Μπαχρέιν - Μπουρούντι - Μπενίν - Άγιος Βαρθολομαίος - Βερμούδες - Μπρουνέι - Βολιβία - Βραζιλία - Μπαχάμες - Μπουτάν - Νήσος Μπουβέ - Μποτσουάνα - Λευκορωσία - Μπελίσε - Καναδάς - Νήσοι Κόκος - Κονγκό - Κινσάσα - Κεντροαφρικανική Δημοκρατία - Κονγκό - Μπραζαβίλ - Ελβετία - Ακτή Ελεφαντοστού - Νήσοι Κουκ - Χιλή - Καμερούν - Κίνα - Κολομβία - Κόστα Ρίκα - Σερβία και Μαυροβούνιο - Κούβα - Πράσινο Ακρωτήριο - Νήσος Χριστουγέννων - Κύπρος - Τσεχία - Γερμανία - Τζιμπουτί - Δανία - Ντομίνικα - Δομινικανή Δημοκρατία - Αλγερία - Ισημερινός - Εσθονία - Αίγυπτος - Δυτική Σαχάρα - Ερυθραία - Ισπανία - Αιθιοπία - Φινλανδία - Φίτζι - Νήσοι Φώκλαντ - Μικρονησία - Νήσοι Φερόε - Γαλλία - Γκαμπόν - Ηνωμένο Βασίλειο - Γρενάδα - Γεωργία - Γαλλική Γουιάνα - Γκερνσέι - Γκάνα - Γιβραλτάρ - Γροιλανδία - Γκάμπια - Γουινέα - Γουαδελούπη - Ισημερινή Γουινέα - Ελλάδα - Νότια Γεωργία και Νότιες Νήσοι Σάντουιτς - Γουατεμάλα - Γκουάμ - Γουινέα-Μπισάου - Γουιάνα - Χονγκ Κονγκ ΕΔΠ Κίνας - Νήσοι Χερντ και Μακντόναλντ - Ονδούρα - Κροατία - Αϊτή - Ουγγαρία - Ινδονησία - Ιρλανδία - Ισραήλ - Νήσος Μαν - Ινδία - Βρετανικά Εδάφη Ινδικού Ωκεανού - Ιράκ - Ιράν - Ισλανδία - Ιταλία - Υερσέη - Τζαμάικα - Ιορδανία - Ιαπωνία - Κένυα - Κιργιζία - Καμπότζη - Κιριμπάτι - Κομόρος - Σαιντ Κιτς και Νέβις - Βόρεια Κορέα - Νότια Κορέα - Κουβέιτ - Νήσοι Κέιμαν - Καζακστάν - Λάος - Λίβανος - Αγία Λουκία - Λιχτενστάιν - Σρι Λάνκα - Λιβερία - Λεσότο - Λιθουανία - Λουξεμβούργο - Λετονία - Λιβύη - Μαρόκο - Μονακό - Μολδαβία - Μαυροβούνιο - Άγιος Μαρτίνος - Μαδαγασκάρη - Νήσοι Μάρσαλ - ΠΓΔ Μακεδονίας - Μάλι - Μιανμάρ - Μογγολία - Μακάο ΕΔΠ Κίνας - Βόρειες Μαριάνες Νήσοι - Μαρτινίκα - Μαυριτανία - Μονσεράτ - Μάλτα - Μαυρίκιος - Μαλδίβες - Μαλάουι - Μεξικό - Μαλαισία - Μοζαμβίκη - Ναμίμπια - Νέα Καληδονία - Νίγηρας - Νήσος Νόρφολκ - Νιγηρία - Νικαράγουα - Ολλανδία - Νορβηγία - Νεπάλ - Ναούρου - Νιούε - Νέα Ζηλανδία - Ομάν - Παναμάς - Περού - Γαλλική Πολυνησία - Παπούα Νέα Γουινέα - Φιλιππίνες - Πακιστάν - Πολωνία - Σαιντ Πιέρ και Μικελόν - Πίτκερν - Πουέρτο Ρίκο - Παλαιστινιακά Εδάφη - Πορτογαλία - Παλάου - Παραγουάη - Κατάρ - Περιφερειακή Ωκεανία - Ευρωπαϊκή Ένωση - Ρεϋνιόν - Ρουμανία - Σερβία - Ρωσία - Ρουάντα - Σαουδική Αραβία - Νήσοι Σολομώντος - Σεϋχέλλες - Σουδάν - Σουηδία - Σιγκαπούρη - Αγία Ελένη - Σλοβενία - Σβαλμπάρντ και Γιαν Μαγιέν - Σλοβακία - Σιέρα Λεόνε - Άγιος Μαρίνος - Σενεγάλη - Σομαλία - Σουρινάμ - Σάο Τομέ και Πρίνσιπε - Ελ Σαλβαδόρ - Συρία - Ζουαζηλάνδη - Νήσοι Τερκς και Κάικος - Τσαντ - Γαλλικά Νότια Εδάφη - Τόγκο - Ταϊλάνδη - Τατζικιστάν - Τοκελάου - Ανατολικό Τιμόρ - Τουρκμενιστάν - Τυνησία - Τόνγκα - Τουρκία - Τρινιντάντ και Τομπάγκο - Τουβαλού - Ταϊβάν - Τανζανία - Ουκρανία - Ουγκάντα - Απομακρυσμένες Νησίδες Η.Π.Α. - Ηνωμένες Πολιτείες της Αμερικής - Ουρουγουάη - Ουζμπεκιστάν - Βατικανό - Άγιος Βικέντιος και Γρεναδίνες - Βενεζουέλα - Βρετανικές Παρθένοι Νήσοι - Αμερικανικές Παρθένοι Νήσοι - Βιετνάμ - Βανουάτου - Νήσοι Ουαλλίς και Φουτουνά - Σαμόα - Υεμένη - Μαγιότ - Νότια Αφρική - Ζάμπια - Ζιμπάμπουε - Άγνωστη ή μη έγκυρη περιοχή - - - Παραδοσιακή γερμανική ορθογραφία - Τυποποιημένη ορθογραφία Ρεσιάν - Γερμανική ορθογραφία του 1996 - Νεότερα Μέσα Γαλλικά του 1606 - Πρώιμα Σύγχρονα Γαλλικά - Ανατολικά Αρμενικά - Δυτικά Αρμενικά - Ενοποιημένη τουρκική λατινική αλφάβητος - Διάλεκτος Σαν Τζιόρτζιο/Βίλα - Μπούντλινγκ - Διεθνής φωνητική αλφάβητος - Ουραλική φωνητική αλφάβητος - Διάλεκτος Λιποβάζ της Ρεσιάν - Μονοτονικό - Διάλεκτος Νατισόνε - Διάλεκτος Γκνιβά/Ντζιβά - Διάλεκτος Οσεακό/Οσοτζάν - Πολυτονικό - Υπολογιστής - Αναθεωρημένη ορθογραφία - Ρεσιάν - Σάχο - Σκοτσεζικά τυποποιημένα Αγγλικά - Σκουζ - Διάλεκτος Στολβιτζά/Σολμπικά - Ταρασκιεβική ορθογραφία - Βαλενθιανά - - - ημερολόγιο - τακτοποίηση - νόμισμα - - - Σειρά ταξινόμησης Παραδοσιακών Κινεζικών - Big5 - Βουδιστικό ημερολόγιο - Κινεζικό ημερολόγιο - Άμεση σειρά ταξινόμησης - Σειρά ταξινόμησης Απλουστευμένων Κινεζικών - GB2312 - Γρηγοριανό ημερολόγιο - Εβραϊκό ημερολόγιο - Ινδικό εθνικό ημερολόγιο - Ισλαμικό ημερολόγιο - Ισλαμικό αστικό ημερολόγιο - Ιαπωνικό ημερολόγιο - Σειρά ταξινόμησης τηλεφωνικού καταλόγου - Σειρά ταξινόμησης Πινγίν - Ημερολόγιο της Δημοκρατίας της Κίνας - Σειρά ταξινόμησης κινήσεων - Παραδοσιακή σειρά ταξινόμησης - - - Αγγλοσαξωνικό - Μετρικό - - - Γλώσσα: {0} - Σύστημα γραφής: {0} - Περιοχή: {0} - - - - lowercase-words - - - [α ά β-ε έ ζ η ή θ ι ί ϊ ΐ κ-ο ό π ρ σ ς τ υ ύ ϋ ΰ φ-ω ώ] - - - « - » - ‘ - ’ - - - - - π.μ. - μ.μ. - - - - EEEE, d MMMM, y G - - - - - d MMMM, y G - - - - - d MMM, y G - - - - - d/M/yyyy - - - - - - E, d/M - E, d MMM - E, d MMMM - d MMMM - d MMM - d/M - EEE, d/M/y - EEE, d MMM, y - LLLL, y - - - - - π.μ. - μ.μ. - - - π.μ. - μ.μ. - - - π.μ. - μ.μ. - - - - - - Ιαν - Φεβ - Μαρ - Απρ - Μαϊ - Ιουν - Ιουλ - Αυγ - Σεπ - Οκτ - Νοε - Δεκ - - - Ιανουαρίου - Φεβρουαρίου - Μαρτίου - Απριλίου - Μαΐου - Ιουνίου - Ιουλίου - Αυγούστου - Σεπτεμβρίου - Οκτωβρίου - Νοεμβρίου - Δεκεμβρίου - - - - - Ι - Φ - Μ - Α - Μ - Ι - Ι - Α - Σ - Ο - Ν - Δ - - - Ιανουάριος - Φεβρουάριος - Μάρτιος - Απρίλιος - Μάιος - Ιούνιος - Ιούλιος - Αύγουστος - Σεπτέμβριος - Οκτώβριος - Νοέμβριος - Δεκέμβριος - - - - - - - Κυρ - Δευ - Τρι - Τετ - Πεμ - Παρ - Σαβ - - - Κυριακή - Δευτέρα - Τρίτη - Τετάρτη - Πέμπτη - Παρασκευή - Σάββατο - - - - - Κ - Δ - Τ - Τ - Π - Π - Σ - - - - - - - Τ1 - Τ2 - Τ3 - Τ4 - - - 1ο τρίμηνο - 2ο τρίμηνο - 3ο τρίμηνο - 4ο τρίμηνο - - - - - Τ1 - Τ2 - Τ3 - Τ4 - - - 1 - 2 - 3 - 4 - - - - π.μ. - μ.μ. - - - π.Χ. - μ.Χ. - - - π.Χ. - μ.Χ. - - - - - - EEEE, dd MMMM y - - - - - dd MMMM y - - - - - dd MMM y - - - - - dd/MM/yyyy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - EEE d - E d - H - HH:mm - HH:mm:ss - H:mm - L - E, d/M - LLL - E, d MMM - E, d MMMM - d MMMM - dd MMMM - d MMM - dd/MM - d/M - d - mm:ss - mm:ss - y - M/yyyy - EEE, d/M/yyyy - MMM y - EEE, d MMM y - LLLL y - y Q - y QQQ - MM/yy - MMM yy - Q yy - QQQQ yy - y - MM/yyyy - MMMM y - - - {0} - {1} - - M-M - - - E, dd/MM - E, dd/MM - E, dd/MM - E, dd/MM - - - LLL-LLL - - - E, dd MMM - E, dd MMM - E, dd - E, dd MMM - - - LLLL-LLLL - - - dd MMM - dd MMM - dd-dd MMM - - - dd/MM - dd/MM - dd/MM - dd/MM - - - d-d - - - h a - h a - h-h a - - - h:mm a - h:mm a - h:mm-h:mm a - h:mm-h:mm a - - - h:mm a - h:mm a v - h:mm-h:mm a v - h:mm-h:mm a v - - - h a - h a v - h-h a v - - - y-y - - - MM/yyyy - MM/yyyy - MM/yyyy - MM/yyyy - - - E, dd/MM/yyyy - E, dd/MM/yyyy - E, dd/MM/yyyy - E, dd/MM/yyyy - E, dd/MM/yyyy - E, dd/MM/yyyy - - - LLL-LLL y - LLL y - LLL y - - - E, dd MMM - E, dd MMM y - E, dd - E, dd MMM y - E, dd MMM y - E, dd MMM y - - - MM-MM/yyyy - MM/yyyy-MM/yyyy - - - dd MMM - dd MMM y - dd-dd MMM y - dd MMM y - dd MMM y - - - dd/MM/yyyy - dd/MM/yyyy - dd/MM/yyyy - dd/MM/yyyy - dd/MM/yyyy - dd/MM/yyyy - - - - - - Περίοδος - - - Έτος - - - Μήνας - - - Εβδομάδα - - - Ημέρα - Πριν από τρεις ημέρες - Προχτές - Χτες - Σήμερα - Αύριο - Μεθαύριο - Σε τρεις ημέρες από τώρα - - - Ημέρα εβδομάδας - - - π.μ./μ.μ. - - - Ώρα - - - Λεπτό - - - Δευτερόλεπτο - - - Ζώνη - - - - - π.μ. - μ.μ. - - - π.μ. - - - - - π.μ. - μ.μ. - - - π.μ. - μ.μ. - - - π.μ. - μ.μ. - - - - EEEE, d MMMM, y G - - - - - d MMMM, y G - - - - - d MMM, y G - - - - - d/M/yy - - - - - - E, d MMM - d MMMM - d/M - MM/yy GGGGG - MMM yy GGGGG - yy GGGGG Q - - - - - π.μ. - μ.μ. - - - π.μ. - μ.μ. - - - Πριν R.O.C. - R.O.C. - - - - - - EEEE, d MMMM, y G - - - - - d MMMM, y G - - - - - d MMM, y G - - - - - d/M/y G - - - - - - E, d/M - E, d MMM - d MMM - d/M - y G - M/y G - EEE, d/M/y G - MMM, y G - EEE, d MMM, y G - y G Q - QQQ y G - - - - - - +HHmm;-HHmm - GMT{0} - {0} - - Άγνωστη - - - Ανδόρα - - - Ντουμπάι - - - Καμπούλ - - - Αντίγκουα - - - Ανγκουίλλα - - - Τίρανα - - - Γερεβάν - - - Κουρακάο - - - Αγκόλα - - - Ροθέρα - - - Πάλμερ - - - Νότιος Πόλος - - - Σύοβα - - - Μόουσον - - - Ντέιβις - - - Βόστοκ - - - Κάσεϊ - - - Ντυμόντ Ντερβίλ - - - Μακμέρντο - - - Ρίο Γκαγιέγκος - - - Μεντόζα - - - Σαν Χουάν - - - Ουσουάια - - - Λα Ριόχα - - - Σαν Λούις - - - Καταμάρκα - - - Σάλτα - - - Χουχούι - - - Τουκουμάν - - - Κόρδοβα - - - Μπουένος Άιρες - - - Πάγκο Πάγκο - - - Βιέννη - - - Περθ - - - Εούκλα - - - Ντάργουιν - - - Αδελαΐδα - - - Μπρόκεν Χιλ - - - Κιουρί - - - Μελβούρνη - - - Χόμπαρτ - - - Λίντεμαν - - - Σίδνεϊ - - - Μπρίσμπεϊν - - - Λορντ Χάουι - - - Αρούμπα - - - Μπακού - - - Μπαρμπέιντος - - - Ντάκα - - - Βρυξέλλες - - - Μπουρκίνα Φάσο - - - Σόφια - - - Μπαχρέιν - - - Μπουρούντι - - - Μπενίν - - - Βερμούδα - - - Μπρούνεϊ - - - Λα Παζ - - - Εϊρουνέπε - - - Ρίο Μπράνκο - - - Πόρτο Βέλο - - - Μπόα Βίστα - - - Μανάος - - - Κουϊάμπα - - - Σανταρέμ - - - Κάμπο Γκράντε - - - Μπέλεμ - - - Αραγκουάινα - - - Σάο Πάολο - - - Μπάχια - - - Φορταλέζα - - - Μασέιο - - - Ρεσίφε - - - Νορόνχα - - - Νασάου - - - Τρίμφου - - - Γκαμπορόνε - - - Μινσκ - - - Μπελίζ - - - Ντόσον - - - Γουάιτχορς - - - Ινούβικ - - - Βανκούβερ - - - Ντόσον Κρικ - - - Γέλοουναϊφ - - - Έντμοντον - - - Σουίφτ Κάρρεντ - - - Κέμπριτζ Μπέι - - - Ρετζίνα - - - Γούνιπεγκ - - - Ρέσολουτ - - - Ρέινι Ρίβερ - - - Ρέινκιν Ίνλετ - - - Κόραλ Χάρμπουρ - - - Θάντερ Μπέι - - - Νιπιγκόν - - - Τορόντο - - - Μόντρεαλ - - - Ικαλούτ - - - Πανγκνίρτουνγκ - - - Μονκτόν - - - Χάλιφαξ - - - Γκους Μπέι - - - Γκλέις Μπέι - - - Μπλαν Σαμπλόν - - - Σεντ Τζονς - - - Κόκος - - - Κινσάσα - - - Λουμπουμπάσι - - - Κεντροαφρικανική Δημοκρατία - - - Μπράζαβιλ - - - Ζυρίχη - - - Ακτή Ελεφαντοστού - - - Ραροτόνγκα - - - Νήσος Πάσχα - - - Σαντιάγκο - - - Καμερούν - - - Κάσγκαρ - - - Ουρουμκί - - - Τσονγκίνγκ - - - Σανγκάη - - - Χαρμπίν - - - Μπογκοτά - - - Κόστα Ρίκα - - - Αβάνα - - - Νήσοι Χριστουγέννων - - - Λευκωσία - - - Βερολίνο - - - Τζιμπουτί - - - Κοπεγχάγη - - - Δομινίκα - - - Σάντο Ντομίνγκο - - - Αλγέρι - - - Γκαλαπάγκος - - - Γκουαγιακύλ - - - Ταλίν - - - Αίγυπτος - - - Δυτική Σαχάρα - - - Ασμέρα - - - Κανάρια - - - Κέουτα - - - Μαδρίτη - - - Αιθιοπία - - - Ελσίνκι - - - Φίτζι - - - Στάνλεϋ - - - Τρουκ - - - Πονάπε - - - Κοσράη - - - Φερόες - - - Παρίσι - - - Γκαμπόν - - - Λονδίνο - - - Γρενάδα - - - Τμπιλίσι - - - Καγιένε - - - Άκκρα - - - Γιβραλτάρ - - - Τούλε - - - Γκόνθαμπ - - - Σκορεσμπίσουντ - - - Ντανμαρκσάβν - - - Γκάμπια - - - Γουινέα - - - Γουαδελούπη - - - Ισημερινή Γουινέα - - - Αθήνα - - - Νότια Γεωργία - - - Γουατεμάλα - - - Γκουάμ - - - Γουινέα Μπισσάου - - - Γουιάνα - - - Χονγκ Κονγκ - - - Πορτ-Ο-Πρενς - - - Βουδαπέστη - - - Τζακάρτα - - - Πόντιανακ - - - Μακασάρ - - - Χαγιαπούρα - - - Δουβλίνο - - - Ιερουσαλήμ - - - Τσάγκος - - - Βαγδάτη - - - Τεχεράνη - - - Ρέυκιαβικ - - - Ρώμη - - - Τζαμάικα - - - Αμάν - - - Τόκυο - - - Κένυα - - - Μπισχέκ - - - Πιόμ Πενχ - - - Εντερμπέρυ - - - Κιριτιμάτι - - - Ταράουα - - - Κομόρο - - - Σαιν Κιττς - - - Πυόνγκ Γιάνγκ - - - Σεούλ - - - Κέυμαν - - - Ακτάου - - - Όραλ - - - Ακτόμπε - - - Κτζιλ-Ορντά - - - Αλμάτυ - - - Βιεντιάνε - - - Βηρυτός - - - Αγ. Λουκία - - - Βαντούζ - - - Κολόμπο - - - Λιβερία - - - Λεσόθο - - - Βίλνιους - - - Λουξεμβούργο - - - Ρίγα - - - Λιβύη - - - Καζαμπλάνκα - - - Μονακό - - - Τσισινάου - - - Ανταναναρίβο - - - Κουαχαλέιν - - - Μαχούρο - - - Μπαμάκο - - - Ρανγκούν - - - Χοβντ - - - Ουλάν Μπατόρ - - - Χόιμπαλσαν - - - Μακάο - - - Σάιπαν - - - Μαρτινίκα - - - Μαυριτανία - - - Μονσεράτ - - - Μάλτα - - - Μαυρίκιος - - - Μαλδίβες - - - Μαλάουι - - - Τιχουάνα - - - Ερμοσίγιο - - - Μαζατλάν - - - Τσιουάουα - - - Μοντερέι - - - Πόλη του Μεξικού - - - Μέριντα - - - Κανκούν - - - Κουάλα Λουμπούρ - - - Κουτσίνγκ - - - Μαπούτο - - - Γουιντχόεκ - - - Νουμέα - - - Νιαμέυ - - - Νόρφολκ - - - Λάγος - - - Μανάγκουα - - - Άμστερνταμ - - - Όσλο - - - Κατμαντού - - - Ναούρου - - - Νιούε - - - Τσάταμ - - - Όκλαντ - - - Μουσκάτ - - - Παναμάς - - - Λίμα - - - Αϊτή - - - Μαρκέσας - - - Γκάμπιερ - - - Πορτ Μόρεσμπυ - - - Μανίλα - - - Καράτσι - - - Βαρσοβία - - - Μικελόν - - - Πιτκέιρν - - - Πουέρτο Ρίκο - - - Γάζα - - - Αζόρες - - - Μαδέρα - - - Λισσαβώνα - - - Παλάου - - - Ασουνσιόν - - - Κατάρ - - - Ρεϋνιόν - - - Βουκουρέστι - - - Καλλίπολη - - - Μόσχα - - - Βόλγκοκραντ - - - Σαμάρα - - - Αικατερινούπολη - - - Ομσκ - - - Νοβοσιμπίρσκ - - - Κρασνογιάρσκ - - - Ιρκούτσκ - - - Γιάκουτσκ - - - Βλαδιβοστόκ - - - Σακαλίνσκ - - - Μαγκαντάν - - - Καμτσάτκα - - - Αναντίρ - - - Κιγκάλι - - - Ριάντ - - - Γκουανταλκανάλ - - - Μάχε - - - Σουδάν - - - Στοκχόλμη - - - Σιγκαπούρη - - - Αγ. Ελένη - - - Σιέρα Λεόνε - - - Ντακάρ - - - Μογκαντίσου - - - Παραμαρίνμπο - - - Σάο Τόμε - - - Σαλβαδόρ - - - Δαμασκός - - - Ζουαζιλάνδη - - - Γραντ Τουρκ - - - Ντζαμένα - - - Κέργκουελεν - - - Λόμε - - - Μπανγκόκ - - - Ντουσχάνμπη - - - Φακαόφο - - - Ντίλι - - - Ασγκάμπατ - - - Τυνησία - - - Τονγκατάπου - - - Κωνσταντινούπολη - - - Πορτ-Οφ-Σπέιν - - - Φουναφούτι - - - Ταϊπέι - - - Νταρ Ες Σαλάμ - - - Ουζκόροντ - - - Κίεβο - - - Συμφερούπολη - - - Ζαπορόζιε - - - Καμπάλα - - - Μίντγουεϊ - - - Τζόνστον - - - Γουέικ - - - Άντακ - - - Νόμε - - - Χονολουλού - - - Άνκορατζ - - - Γιακούτατ - - - Τζούνο - - - Λος Άντζελες - - - Μπόιζ - - - Φοίνιξ - - - Σίπροκ - - - Ντένβερ - - - Νιου Σάλεμ, Βόρεια Ντακότα - - - Κέντρο, Βόρεια Ντακότα - - - Σικάγο - - - Μενομίνε - - - Βίνκενες, Ιντιάνα - - - Πίτερσμπεργκ, Ιντιάνα - - - Τελ Σίτυ, Ιντιάνα - - - Νοξ, Ιντιάνα - - - Γουίναμακ, Ιντιάνα - - - Μαρένγκο, Ιντιάνα - - - Ινδιανάπολη - - - Λούισβιλ - - - Βεβάι, Ιντιάνα - - - Μοντιτσέλο, Κεντάκι - - - Ντητρόιτ - - - Νέα Υόρκη - - - Μοντεβίδεο - - - Σαμαρκάνδη - - - Τασκένδη - - - Αγ. Βικέντιος - - - Καράκας - - - Τορτόλα - - - Σαιντ Τόμας - - - Σαϊγκόν - - - Εφάτε - - - Γουόλις - - - Άπια - - - Έιντεν - - - Μαγιότε - - - Γιοχάνεσμπουργκ - - - Ζάμπια - - - Ζιμπάμπουε - - - - ACT (Ακρ) - ACST (Ακρ) - - - - - ώρα Κεντρικής Αφρικής - - - - - ώρα Ανατολικής Αφρικής - - - - - ώρα Νότιας Αφρικής - τυπική ώρα Νότιας Αφρικής - - - - - ώρα Δυτικής Αφρικής - καλοκαιρινή ώρα Δυτικής Αφρικής - - - - - AQTT (Ακτάου) - AQTST (Ακτάου) - - - - - AQTT (Ακτοβε) - AQTST (Ακτοβε) - - - - - BST (Μπερίνγκ) - BDT (Μπερίνγκ) - - - - - CST (Κούβα) - CDT (Κούβα) - - - - - SAMT (Σάμαρκαντ) - SAMST (Σάμαρκαντ) - - - - - - - , - . - , - % - 0 - # - + - - - e - ‰ - ∞ - NaN - - - - - #,##0% - - - - - - - #,##0.00 ¤ - - - {0} {1} - - - - Πεσέτα Ανδόρας - πεσέτα Ανδόρας - πεσέτες Ανδόρας - - - Ντιράμ Ηνωμένων Αραβικών Εμιράτων - ντιράμ Ηνωμένων Αραβικών Εμιράτων - ντιράμ Ηνωμένων Αραβικών Εμιράτων - - - Αφγανί Αφγανιστάν (1927-2002) - αφγάνι Αφγανιστάν (AFA) - αφγάνι Αφγανιστάν (AFA) - - - Αφγανί Αφγανιστάν - αφγάνι Αφγανιστάν - Αφγάνι Αφγανιστάν - - - Λεκ Αλβανίας - λεκ Αλβανίας - λεκ Αλβανίας - - - Ντραμ Αρμενίας - ντραμ Αρμενίας - ντραμ Αρμενίας - - - Γκίλντα Ολλανδικών Αντιλλών - γκίλντα Ολλανδικών Αντιλλών - γκίλντα Ολλανδικών Αντιλλών - - - Κουάνζα Ανγκόλας - κουάνζα Ανγκόλας - κουάνζα Ανγκόλας - - - Κουάνζα Ανγκόλας (1977-1990) - κουάνζα Ανγκόλας (AOK) - κουάνζα Ανγκόλας (AOK) - - - Νέα Κουάνζα Ανγκόλας (1990-2000) - νέο κουάνζα Ανγκόλας (AON) - νέα κουάνζα Ανγκόλας (AON) - - - Κουάνζα Reajustado Ανγκόλας (1995-1999) - κουάνζα Reajustado Ανγκόλας (AOR) - κουάνζα Reajustado Ανγκόλας (AOR) - - - Ωστράλ Αργετινής - αουστράλ Αργεντινής - αουστράλ Αργεντινής - - - Πέσο Αργεντινής (1983-1985) - πέσο Αργεντινής (ARP) - πέσο Αργεντινής (ARP) - - - Πέσο Αργεντινής - πέσο Αργεντινής - πέσο Αργεντινής - - - Σελίνι Αυστρίας - σελίνι Αυστρίας - σελίνια Αυστρίας - - - Δολάριο Αυστραλίας - δολάριο Αυστραλίας - δολάρια Αυστραλίας - - - Γκίλντα Αρούμπα - γκίλντα Αρούμπα - γκίλντα Αρούμπα - - - Μανάτ Αζερμπαϊτζάν (1993-2006) - μανάτ Αζερμπαϊτζάν (1993-2006) - μανάτ Αζερμπαϊτζάν (1993-2006) - - - Μανάτ Αζερμπαϊτζάν - μανάτ Αζερμπαϊτζαν - μανάτ Αζερμπαϊτζαν - - - Δηνάριο Βοσνίας-Ερζεγοβίνης - δηνάριο Βοσνίας-Ερζεγοβίνης - δηνάρια Βοσνίας-Ερζεγοβίνης - - - Μετατρέψιμο Μάρκο Βοσνίας-Ερζεγοβίνης - μάρκο Βοσνίας-Ερζεγοβίνης - μάρκα Βοσνίας-Ερζεγοβίνης - - - Δολάριο Μπαρμπάντος - δολάριο Μπαρμπάντος - δολάρια Μπαρμπάντος - - - Τάκα Μπαγκλαντές - τάκα Μπαγκλαντές - τάκα Μπαγκλαντές - - - Φράγκο Βελγίου (μετατρέψιμο) - φράγκο Βελγίου (μετατρέψιμο) - φράγκα Βελγίου (μετατρέψιμα) - - - Φράγκο Βελγίου - φράγκο Βελγίου - φράγκα Βελγίου - - - Φράγκο Βελγίου (οικονομικό) - φράγκο Βελγίου (οικονομικό) - φράγκα Βελγίου (οικονομικό) - - - Μεταλλικό Λεβ Βουλγαρίας - μεταλλικό λεβ Βουλγαρίας - μεταλλικά λεβ Βουλγαρίας - - - Νέο Λεβ Βουλγαρίας - νέο λεβ Βουλγαρίας - νέα λεβ Βουλγαρίας - - - Δηνάριο Μπαχρέιν - δηνάριο Μπαχρέιν - δηνάρια Μπαχρέιν - - - Φράγκο Μπουρούντι - φράγκο Μπουρούντι - φράγκα Μπουρούντι - - - Δολάριο Βερμούδων - δολάριο Βερμούδων - δολάρια Βερμούδων - - - Δολάριο Μπρουνέι - δολάριο Μπρουνέι - δολάρια Μπρουνέι - - - Μπολιβιάνο Βολιβίας - μπολιβιάνο Βολιβίας - μπολιβιάνο Βολιβίας - - - Πέσο Βολιβίας - πέσο Βολιβίας - πέσο Βολιβίας - - - Μβδολ Βολιβίας - μβντολ Βολιβίας - μβντολ Βολιβίας - - - Νέο Κρουζιέρο Βραζιλίας (1967-1986) - νέο κρουζέιρο Βραζιλίας (BRB) - νέα κρουζέιρο Βραζιλίας (BRB) - - - Κρουζάντο Βραζιλίας - κρουζάντο Βραζιλίας - κρουζάντο Βραζιλίας - - - Κρουζιέρο Βραζιλ»ίας (1990-1993) - κρουζέιρο Βραζιλίας (BRE) - κρουζέιρο Βραζιλίας (BRE) - - - Ρεάλ Βραζιλίας - ρεάλ Βραζιλίας - ρεάλ Βραζιλίας - - - Νέο Κρουζάντο Βραζιλίας - νέο κρουζάντο Βραζιλίας - νέα κρουζάντο Βραζιλίας - - - Κρουζιέρο Βραζιλίας - κρουζέιρο Βραζιλίας - κρουζέιρο Βραζιλίας - - - Δολάριο Μπαχάμες - δολάριο Μπαχάμες - δολάρια Μπαχάμες - - - Νγκούλτρουμ Μπουτάν - νγκούλτρουμ Μπουτάν - νγκούλτρουμ Μπουτάν - - - Κιατ Βιρμανίας - κιάτ Βιρμανίας - κιάτ Βιρμανίας - - - Πούλα Μποτσουάνας - πούλα Μποτσουάνας - πούλα Μποτσουάνας - - - Νέο Ρούβλι Λευκορωσίας (1994-1999) - νέο ρούβλι Λευκορωσίας (1994-1999) - νέα ρούβλια Λευκορωσίας (1994-1999) - - - Ρούβλι Λευκορωσίας - ρούβλι Λευκορωσίας - ρούβλια Λευκορωσίας - - - Δολάριο Μπελίζ - δολάριο Μπελίζ - δολάρια Μπελίζ - - - Δολάριο Καναδά - δολάριο Καναδά - δολάρια Καναδά - - - Φράγκο Κονγκό - φράγκο Κονγκό - φράγκα Κονγκό - - - Ευρώ WIR - ευρώ WIR - ευρώ WIR - - - Φράγκο Ελβετίας - φράγκο Ελβετίας - φράγκα Ελβετίας - - - Φράγκο WIR - φράγκο WIR - φράγκα WIR - - - Unidades de Fomento Χιλής - ουνιδάδες ντε φομέντο Χιλής - ουνιδάδες ντε φομέντο Χιλής - - - Πέσο Χιλής - πέσο Χιλής - πέσο Χιλής - - - Γιουάν Ρενμίμπι Κίνας - γιουάν Κίνας - γιουάν Κίνας - - - Πέσο Κολομβίας - πέσο Κολομβίας - πέσο Κολομβίας - - - unidad de valor real - unidad de valor real - unidad de valor reals - - - Κολόν Κόστα Ρίκα - κολόν Κόστα Ρίκα - κολόν Κόστα Ρίκα - - - Παλαιό Δηνάριο Σερβίας - παλιό δινάρη Σερβίας - παλιά δινάρια Σερβίας - - - Σκληρή Κορόνα Τσεχοσλοβακίας - σκληρή κορόνα Τσεχοσλοβακίας - σκληρές κορόνες Τσεχοσλοβακίας - - - Πέσο Κούβας - πέσο Κούβας - πέσο Κούβας - - - Εσκούδο Πράσινου Ακρωτηρίου - εσκούδο Πράσινου Ακρωτηρίου - εσκούδο Πράσινου Ακρωτηρίου - - - Λίρα Κύπρου - λίρα Κύπρου - λίρες Κύπρου - - - Κορόνα Τσέχικης Δημοκρατίας - κορόνα Τσέχικης Δημοκρατίας - κορόνες Τσέχικης Δημοκρατίας - - - Οστμάρκ Ανατολικής Γερμανίας - όστμαρκ Ανατολικής Γερμανίας - όστμαρκ Ανατολικής Γερμανίας - - - Μάρκο Γερμανίας - μάρκο Γερμανίας - μάρκα Γερμανίας - - - Φράγκο Τζιμπουτί - φράγκο Τζιμπουτί - φράγκα Τζιμπουτί - - - Κορόνα Δανίας - κορόνα Δανίας - κορόνες Δανίας - - - Πέσο Δομίνικου - πέσο Δομίνικου - πέσο Δομινικανής Δημοκρατίας - - - Δηνάριο Αλγερίας - δηνάριο Αλγερίας - δηνάρια Αλγερίας - - - Σούκρε Εκουαδόρ - σούκρε Εκουαδόρ - σούκρε Εκουαδόρ - - - Unidad de Valor Constante (UVC) Ισημερινού - Unidad de Valor Constante (UVC) Ισημερινού - Unidads de Valor Constante (UVC) Ισημερινού - - - Κορόνα Εσθονίας - κορόνα Εσθονίας - κορόνες Εσθονίας - - - Λίρα Αιγύπτου - λίρα Αιγύπτου - λίρες Αιγύπτου - - - Νάκφα Ερυθραίας - νάκφα Ερυθραίας - νάκφα Ερυθραίας - - - πεσέτα Ισπανίας (λογαριασμός Α) - πεσέτα Ισπανίας (λογαριασμός Α) - πεσέτες Ισπανίας (λογαριασμός Α) - - - πεσέτα Ισπανίας (μετατρέψιμος λογαριασμός) - πεσέτα Ισπανίας (μετατρέψιμος λογαριασμός) - πεσέτες Ισπανίας (μετατρέψιμες) - - - Πεσέτα Ισπανίας - πεσέτα Ισπανίας - πεσέτες Ισπανίας - - - Μπιρ Αιθιοπίας - μπιρ Αιθιοπίας - μπιρ Αιθιοπίας - - - Ευρώ - ευρώ - ευρώ - - - Μάρκο Φινλανδίας - μάρκο Φινλανδίας - μάρκα Φινλανδίας - - - Δολάριο Φίτζι - δολάριο Φίτζι - δολάρια Φίτζι - - - Λίρα Νησιών Φώλκλαντ - λίρα Νησιών Φώλκλαντ - λίρες Νησιών Φώλκλαντ - - - Φράγκο Γαλλίας - φράγκο Γαλλίας - φράγκα Γαλλίας - - - Λίρα Στερλίνα Βρετανίας - λίρα στερλίνα Βρετανίας - λίρες στερλίνες Βρετανίας - - - Κούπον Λάρι Γεωργίας - κούπον λάρι Γεωργίας - κούπον λάρι Γεωργίας - - - Λάρι Γεωργίας - λάρι Γεωργίας - λάρι Γεωργίας - - - Σέντι Γκάνας (1979-2007) - σέντι Γκάνας (GHC) - σέντι Γκάνας (GHC) - - - Σέντι Γκάνας - σέντι Γκάνας - σέντι Γκανά - - - Λίρα Γιβραλτάρ - λίρα Γιβραλτάρ - λίρες Γιβραλτάρ - - - Νταλάσι Γκάμπιας - νταλάσι Γκάμπιας - νταλάσι Γκάμπιας - - - Φράγκο Γουινέας - φράγκο Γουινέας - φράγκα Γουινέας - - - Συλί Γουινέας - συλί Γουινέας - συλί Γουινέας - - - Εκγουέλε Ισημερινής Γουινέας - εκουέλε Ισημερινής Γουινέας - εκουέλε Ισημερινής Γουινέας - - - #,##0.00 ¤;-#,##0.00 ¤ - Δραχμή Ελλάδας - δραχμή Ελλάδας - δραχμές Ελλάδας - Δρχ - , - . - - - Κουετσάλ Γουατεμάλας - κουετσάλ Γουατεμάλας - κουετσάλ Γουατεμάλας - - - Γκινέα Εσκούδο Πορτογαλίας - γκινέα εσκούδο Πορτογαλίας - γκινέα εσκούδο Πορτογαλίας - - - Πέσο Γουινέας-Μπισάου - πέσο Γουινέα-Μπισάου - πέσο Γουινέα-Μπισάου - - - Δολάριο Γουιάνας - δολάριο Γουιάνας - δολάρια Γουιάνας - - - Δολάριο Χονγκ Κονγκ - δολάριο Χονγκ Κονγκ - δολάρια Χονγκ Κονγκ - - - Λεμπίρα Ονδούρας - λεμπίρα Ονδούρας - λεμπίρα Ονδούρας - - - Δηνάριο Κροατίας - δηνάριο Κροατίας - δηνάρια Κροατίας - - - Κούνα Κροατίας - κούνα Κροατίας - κούνα Κροατίας - - - Γκουρντ Αϊτής - γκουρντ Αϊτής - γκουρντ Αϊτής - - - Φιορίνι Ουγγαρίας - φιορίνι Ουγγαρίας - φιορίνια Ουγγαρίας - - - Ρούπια Ινδονησίας - ρούπι Ινδονησίας - ρούπια Ινδονησίας - - - Λίρα Ιρλανδίας - λίρα Ιρλανδίας - λίρες Ιρλανδίας - - - Λίρα Ισραήλ - λίρα Ισραήλ - λίρες Ισραήλ - - - παλιό σεκέλ Ισραήλ - παλιό σεκέλ Ισραήλ - παλιά σεκέλ Ισραήλ - - - Νέο Σέκελ Ισραήλ - νέο σέκελ Ισραήλ - νέα σέκελ Ισραήλ - - - Ρούπια Ινδίας - ρούπι Ινδίας - ρούπια Ινδίας - - - Δηνάριο Ιράκ - δηνάριο Ιράκ - δηνάρια Ιράκ - - - Ριάλ Ιράν - ριάλ Ιράν - ριάλ Ιράν - - - Παλιά κορόνα Ισλανδίας - Παλιά κορόνα Ισλανδίας - παλιές κορόνες Ισλανδίας - - - Κορόνα Ισλανδίας - κορόνα Ισλανδίας - κορόνες Ισλανδίας - - - Λιρέτα Ιταλίας - λιρέτα Ιταλίας - λιρέτες Ιταλίας - - - Δολάριο Τζαμάικας - δολάριο Τζαμάικας - δολάρια Τζαμάικας - - - Δηνάριο Ιορδανίας - δηνάριο Ιορδανίας - δηνάρια Ιορδανίας - - - Γιεν Ιαπωνίας - γιεν Ιαπωνίας - γιεν Ιαπωνίας - - - Σελίνι Κένυας - σελίνι Κένυας - σελίνια Κένυας - - - Σομ Κιργιζίας - σομ Κιργιστάν - σομ Κιργιστάν - - - Ρίελ Καμπότζης - ρίελ Καμπότζης - ρίελ Καμπότζης - - - Φράγκο Κομόρος - φράγκο Κομόρος - φράγκα Κομόρο - - - Γον Βόρειας Κορέας - γουόν Βόρειας Κορέας - γουόν Βόρειας Κορέας - - - Γον Νότιας Κορέας - γουόν Νότιας Κορέας - γουόν Νότιας Κορέας - - - Δηνάριο Κουβέιτ - δηνάριο Κουβέιτ - δηνάρια Κουβέιτ - - - Δολάριο Νήσων Κάιμαν - δολάριο Νήσων Κάιμαν - δολάρια Νήσων Κάιμαν - - - Τένγκε Καζακστάν - τένγκε Καζακστάν - τένγκε Καζακστάν - - - Κιπ Λάος - κιπ Λάος - κιπ Λάος - - - Λίρα Λιβάνου - λίρα Λιβάνου - λίρες Λιβάνου - - - Ρούπια Σρι Λάνκα - ρούπι Σρι Λάνκα - ρούπια Σρι Λάνκα - - - Δολάριο Λιβερίας - δολάριο Λιβερίας - δολάρια Λιβερίας - - - Λότι Λεσότο - λότι Λεσόθο - λότι Λεσόθο - - - Λίτα Λιθουανίας - λίτα Λιθουανίας - λίτα Λιθουανίας - - - Ταλόνας Λιθουανίας - ταλόνας Λιθουανίας - ταλόνας Λιθουανίας - - - Μετατρέψιμο Φράγκο Λουξεμβούργου - LUC - LUC - - - Φράγκο Λουξεμβούργου - φράγκο Λουξεμβούργου - φράγκα Λουξεμβούργου - - - Οικονομικό Φράγκο Λουξεμβούργου - LUL - LUL - - - Λατς Λετονίας - λατς Λετονίας - λατς Λετονίας - - - Ρούβλι Λετονίας - ρούβλι Λετονίας - ρούβλια Λετονίας - - - Δηνάριο Λιβύης - δηνάριο Λιβύης - δηνάρια Λιβύης - - - Ντιράμ Μαρόκου - ντιράμ Μαρόκου - ντιράμ Μαρόκου - - - Φράγκο Μαρόκου - φράγκο Μαρόκου - φράγκα Μαρόκου - - - Λέι Μολδαβίας - λέι Μολδαβίας - λέι Μολδαβίας - - - Αριανί Μαδαγασκάρης - αριάρι Μαδαγασκάρης - αριάρι Μαδαγασκάρης - - - Φράγκο Μαδαγασκάρης - φράγκο Μαδαγασκάρης - φράγκα Μαδαγασκάρης - - - Δηνάριο Π.Γ.Δ.Μ. - δηνάριο Π.Γ.Δ.Μ. - δηνάρια Π.Γ.Δ.Μ. - - - Φράγκο Μαλί - φράγκο Μαλί - φράγκα Μαλί - - - Κυάτ Μιανμάρ - κυάτ Μιανμάρ - κυάτ Μιανμάρ - - - Τουγκρίκ Μογγολίας - τουγκρίκ Μογγολίας - τουγκρίκ Μογγολίας - - - Πατάκα Μακάο - πατάκα Μακάο - πατάκα Μακάο - - - Ουγκουίγκα Μαυριτανίας - ουγκουίγκα Μαυριτανίας - ουγκουίγκα Μαυριτανίας - - - Λιρέτα Μάλτας - λιρέτα Μάλτας - λιρέτες Μάλτας - - - Λίρα Μάλτας - λίρα Μάλτας - λίρες Μάλτας - - - Ρούπια Μαυρικίου - ρούπι Μαυρικίου - ρούπια Μαυρικίου - - - Ρουφίγια Νήσων Μαλδίβων - ρουφίγια Νήσων Μαλδίβων - ρουφίγια Νήσων Μαλδίβων - - - Κουάτσα Μαλάουι - κουάτσα Μαλάουι - κουάτσα Μαλάουι - - - Πέσο Μεξικού - πέσο Μεξικού - πέσο Μεξικού - - - Ασημένιο Πέσο Μεξικού (1861-1992) - ασημένιο πέσο Μεξικού (MXP) - ασημένια πέσο Μεξικού (MXP) - - - Unidad de Inversion (UDI) Μεξικού - Unidad de Inversion (UDI) Μεξικού - Unidads de Inversion (UDI) Μεξικού - - - Ρινγκίτ Μαλαισίας - ρινγκίτ Μαλαισίας - ρινγκίτ Μαλαισίας - - - Εσκούδο Μοζαμβίκης - εσκούδο Μοζαμβίκης - εσκούδο Μοζαμβίκης - - - Παλαιό Μετικάλ Μοζαμβίκης - παλιό μετικάλ Μοζαμβίκης - παλιά μετικάλ Μοζαμβίκης - - - Μετικάλ Μοζαμβίκης - μετικάλ Μοζαμβίκης - μετικάλ Μοζαμβίκης - - - Δολάριο Ναμίμπια - δολάριο Ναμίμπια - δολάρια Ναμίμπια - - - Νάιρα Νιγηρίας - νάιρα Νιγηρίας - νάιρα Νιγηρίας - - - Κόρδοβα Νικαράγουας - κόρδοβα Νικαράγουας - κόρδοβα Νικαράγουας - - - Χρυσή Κόρδοβα Νικαράγουας - χρυσή κόρδοβα Νικαράγουας - χρυσές κόρδοβα Νικαράγουας - - - Γκίλντα Ολλανδίας - γκίλντα Ολλανδίας - γκίλντα Ολλανδίας - - - Κορόνα Νορβηγίας - κορόνα Νορβηγίας - κορόνες Νορβηγίας - - - Ρούπια Νεπάλ - ρούπι Νεπάλ - ρούπια Νεπάλ - - - Δολάριο Νέας Ζηλανδίας - δολάριο Νέας Ζηλανδίας - δολάρια Νέας Ζηλανδίας - - - Ριάλ Ομάν - ριάλ Ομάν - ριάλ Ομάν - - - Μπαλμπόα Παναμά - μπαλμπόα Παναμά - μπαλμπόα Παναμά - - - Ίντι Περού - ίντι Περού - ίντι Περού - - - Νέο Σολ Περού - νέο σολ Περού - νέα Σολ Περού - - - Σολ Περού - σολ Περού - σολ Περού - - - Κίνα Παπούα Νέα Γουινέα - κίνα Παπούα Νέα Γουινέα - κίνα Παπούα Νέα Γουινέα - - - Πέσο Φιλιππίνων - πέσο Φιλιππίνων - πέσο Φιλιππίνων - - - Ρούπια Πακιστάν - ρούπι Πακιστάν - ρούπια Πακιστάν - - - Ζλότυ Πολωνίας - ζλότυ Πολωνίας - ζλότυ Πολωνίας - - - Ζλότυ Πολωνίας (1950-1995) - ζλότυ Πολωνίας (PLZ) - ζλότυ Πολωνίας (PLZ) - - - Εσκούδο Πορτογαλίας - εσκούδο Πορτογαλίας - εσκούδο Πορτογαλίας - - - Γκουαρανί Παραγουάης - γκουαρανί Παραγουάης - γκουαρανί Παραγουάης - - - Ριάλ Κατάρ - ριάλ Κατάρ - ριάλ Κατάρ - - - Δολάριο Ροδεσίας - δολάριο Ροδεσίας - δολάρια Ροδεσίας - - - Λέι Ρουμανίας - παλιό λέι Ρουμανίας - παλιά λέι Ρουμανίας - - - Λεβ Ρουμανίας - λεβ Ρουμανίας - λεβ Ρουμανίας - - - Δηνάριο Σερβίας - δηνάριο Σερβίας - δηνάρια Σερβίας - - - Ρούβλι Ρωσίας - ρούβλι Ρωσίας - ρούβλια Ρωσίας - - - Ρούβλι Ρωσίας (1991-1998) - ρούβλι Ρωσίας (RUR) - ρούβλια Ρωσίας (1991-1998) - - - Φράγκο Ρουάντας - φράγκο Ρουάντας - φράγκα Ρουάντας - - - Ριάλ Σαουδικής Αραβίας - ριάλ Σαουδικής Αραβίας - ριάλ Σαουδικής Αραβίας - - - Δολάριο Νήσων Σολομώντος - δολάριο Νήσων Σολομώντος - δολάρια Νήσων Σολομώντος - - - Ρούπια Σεϋχέλες - ρούπι Σεϋχέλες - ρούπια Σεϋχέλες - - - Δηνάριο Σουδάν - δηνάριο Σουδάν - δηνάρια Σουδάν - - - Λίρα Σουδάν - λίρα Σουδάν - λίρες Σουδάν - - - Παλαιά Λίρα Σουδάν - παλιά λίρα Σουδάν - παλαιές λίρες Σουδάν - - - Κορόνα Σουηδίας - κορόνα Σουηδίας - κορόνες Σουηδίας - - - Δολάριο Σιγκαπούρης - δολάριο Σιγκαπούρης - δολάρια Σιγκαπούρης - - - Λίρα Αγίας Ελένης - λίρα Αγίας Ελένης - λίρες Αγίας Ελένης - - - Τόλαρ Σλοβενίας - τόλαρ Σλοβενίας - τόλαρ Σλοβ - - - Κορόνα Σλοβενίας - κορόνα Σλοβενίας - κορόνες Σλοβενίας - - - Λεόνε Σιέρα Λεόνε - λεόνε Σιέρα Λεόνε - λεόνε Σιέρα Λεόνε - - - Σελίνι Σομαλίας - σελίνι Σομαλίας - σελίνια Σομαλίας - - - Δολάριο Σουρινάμ - δολάριο Σουρινάμ - δολάρια Σουρινάμ - - - Γκίλντα Σουρινάμ - γκίλντα Σουρινάμ - γκίλντα Σουρινάμ - - - Ντόμπρα Σάο Τομέ και Πρίνσιπε - ντόμπρα Σάο Τόμε και Πρίνσιπε - ντόμπρα Σάο Τόμε και Πρίνσιπε - - - Σοβιετικό Ρούβλι - σοβιετικό ρούβλι - σοβιετικά ρούβλια - - - Κολόν Ελ Σαλβαδόρ - κολόν Ελ Σαλβαδόρ - κολόν Ελ Σαλβαδόρ - - - Λίρα Συρίας - λίρα Συρίας - λίρες Συρίας - - - Λιλανγκένι Σουαζιλάνδη - λιλανγκένι Σουαζιλάνδη - λιλανγκένι Σουαζιλάνδη - - - Μπατ Ταϊλάνδης - μπατ Ταϊλάνδης - μπατ Ταϊλάνδης - - - Ρούβλι Τατζικιστάν - ρούβλι Τατζικιστάν - ρούβλια Τατζικιστάν - - - Σομόν Τατζικιστάν - σομόν Τατζικιστάν - σομόν Τατζικιστάν - - - Μανάτ Τουρκμενιστάν - μανάτ Τουρκμενιστάν - μανάτ Τουρκμενιστάν - - - Δηνάριο Τυνησίας - δηνάριο Τυνησίας - δηνάρια Τυνησίας - - - Παάνγκα Τόνγκας - πάνγκα Τόγκα - πάνγκα Τόγκα - - - Εσκούδο Τιμόρ - εσκούδο Τιμόρ - εσκούδο Τιμόρ - - - Λίρα Τουρκίας - παλιά λίρα Τουρκίας - παλιές λίρες Τουρκίας - - - Νέα Τουρκική Λίρα - λίρα Τουρκίας - λίρες Τουρκίας - - - Δολάριο Τρινιντάντ και Τομπάγκο - δολάριο Τρινιδάδ και Τομπάγκο - δολάρια Τρινιδάδ και Τομπάγκο - - - Νέο Δολάριο Ταϊβάν - νέο δολάριο Ταϊβάν - νέα δολάρια Ταϊβάν - - - Σελίνι Τανζανίας - σελίνι Τανζανίας - σελίνι Τανζανίας - - - Χρίφνα Ουκρανίας - χρίφνα Ουκρανίας - χρίφνα Ουκρανίας - - - Καρμποβανέτς Ουκρανίας - καρμποβανέτς Ουκρανίας - καρμποβανέτς Ουκρανίας - - - Σελίνι Ουγκάντας (1966-1987) - σελίνι Ουγκάντας (UGS) - σελίνια Ουγκάντας (UGS) - - - Σελίνι Ουγκάντας - σελίνι Ουγκάντας - σελίνια Ουγκάντας - - - Δολάριο ΗΠΑ - δολάριο Η.Π.Α. - δολάρια Η.Π.Α. - - - Δολάριο ΗΠΑ (επόμενη ημέρα) - δολάριο Η.Π.Α. (επόμενη ημέρα) - δολάρια Η.Π.Α. (επόμενη ημέρα) - - - Δολάριο ΗΠΑ (ίδια ημέρα) - δολάριο Η.Π.Α. (ίδια ημέρα) - δολάρια Η.Π.Α. (ίδια ημέρα) - - - Peso en Unidades Indexadas Ουρουγουάης - peso en unidades indexadas Ουρουγκουάης - pesos en unidades indexadas Ουρουγκουάης - - - Πέσο Ουρουγουάης (1975-1993) - πέσο Ουρουγουάης (UYP) - πέσο Ουρουγουάης (UYP) - - - Πέσο Ουρουγουάης - πέσο Ουρουγουάης - πέσο Ουρουγουάης - - - Σομ Ουζμπεκιστάν - σομ Ουζμπεκιστάν - σομ Ουζμπεκιστάν - - - Μπολιβάρ Βενεζουέλας - μπολιβάρ Βενεζουέλας - μπολιβάρ Βενεζουέλας - - - Βολιβάρ Φουέρτε Βενεζουέλας - βολιβάρ φουέρτε Βενεζουέλας - βολιβάρ φουέρτε Βενεζουέλας - - - Ντονγκ Βιετνάμ - ντονγκ Βιετνάμ - ντονγκ Βιετνάμ - - - Βατού Βανουάτου - βατού Βανουάτου - βατού Βανουάτου - - - Ταλά Δυτικής Σαμόας - Τάλα Σαμόας - τάλα Σαμόας - - - Φράγκο BEAC CFA - φράγκο BEAC CFA - φράγκα BEAC CFA - - - Χρυσός - XAU - XAU - - - Ευρωπαϊκή Σύνθετη Μονάδα - ευρωπαϊκή σύνθετη μονάδα - ευρωπαϊκές σύνθετες μονάδες - - - Ευρωπαϊκή Νομισματική Μονάδα - ευρωπαϊκή νομισματική μονάδα - ευρωπαϊκές νομισματικές μονάδες - - - Ευρωπαϊκή μονάδα λογαριασμού (XBC) - ευρωπαϊκή μονάδα λογαριασμού (XBC) - ευρωπαϊκές μονάδες λογαριασμού (XBC) - - - Ευρωπαϊκή μονάδα λογαριασμού (XBD) - ευρωπαϊκή μονάδα λογαριασμού (XBD) - ευρωπαϊκές μονάδες λογαριασμού (XBD) - - - Δολάριο Ανατολικής Καραϊβικής - δολάριο Ανατολικής Καραϊβικής - δολάρια Ανατολικής Καραϊβικής - - - Ειδικά Δικαιώματα Ανάληψης - ειδικό δικαίωμα ανάληψης - ειδικά δικαιώματα ανάληψης - - - Ευρωπαϊκή Συναλλαγματική Μονάδα - ευρωπαϊκή συναλλαγματική μονάδα - ευρωπαϊκές συναλλαγματικές μονάδες - - - Χρυσό Φράγκο Γαλλίας - χρυσό φράγκο Γαλλίας - χρυσά φράγκα Γαλλίας - - - UIC-Φράγκο Γαλλίας - UIC-φράγκο Γαλλίας - UIC-φράγκα Γαλλίας - - - Φράγκο BCEAO CFA - φράγκο BCEAO CFA - φράγκα BCEAO CFA - - - Φράγκο CFP - φράγκο CFP - φράγκα CFP - - - Άγνωστο ή μη έγκυρο νόμισμα - άγνωστο/μη έγκυρο νόμισμα - Άγνωστο ή μη έγκυρο νόμισμα - - - Δηνάριο Υεμένης - δηνάριο Υεμένης - δηνάρια Υεμένης - - - Ριάλ Υεμένης - ριάλ Υεμένης - ριάλ Υεμένης - - - Μεταλλικό Δηνάριο Γιουγκοσλαβίας - μεταλλικό δηνάριο Γιουγκοσλαβίας - μεταλλικά δηνάρια Γιουγκοσλαβίας - - - Νέο Δηνάριο Γιουγκοσλαβίας - νέο δηνάριο Γιουγκοσλαβίας - νέο δηνάριο Γιουγκοσλαβίας - - - Μετατρέψιμο Δηνάριο Γιουγκοσλαβίας - μετατρέψιμο δινάριο Γιουγκοσλαβίας - μετατρέψιμο δηνάριο Γιουγκοσλαβίας - - - Ραντ Νότιας Αφρικής (οικονομικό) - ραντ Νότιας Αφρικής (οικονομικό) - ραντ Νότιας Αφρικής (οικονομικό) - - - Ραντ Νότιας Αφρικής - ραντ Νότιας Αφρικής - ραντ Νότιας Αφρικής - - - Κουάνζα Ζαΐρ - κουάτσα Ζάμπιας - κουάτσα Ζάμπιας - - - Νέο Ζαΐρ Ζαΐρ - νέο ζαΐρ Ζαΐρ - νέα ζαΐρ Ζαΐρ - - - Ζαΐρ Ζαΐρ - ζαΐρ Ζαΐρ - ζαΐρ Ζαΐρ - - - Δολάριο Ζιμπάμπουε - δολάριο Ζιμπάμπουε - δολάρια Ζιμπάμπουε - - - - - - {0} ημέρα - {0} ημέρες - - - {0} ώρα - {0} ώρες - - - {0} λεπτό - {0} λεπτά - - - {0} μήνας - {0} μήνες - - - {0} δευτερόλεπτο - {0} δευτερόλεπτα - - - {0} εβδομάδα - {0} εβδομάδες - - - {0} έτος - {0} έτη - - - - - ναι:ν - όχι:ό - - - - diff --git a/lib/zend/Zend/Locale/Data/el_CY.xml b/lib/zend/Zend/Locale/Data/el_CY.xml deleted file mode 100644 index 2647d1da45..0000000000 --- a/lib/zend/Zend/Locale/Data/el_CY.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - ¤#,##0.00 - - - - - - diff --git a/lib/zend/Zend/Locale/Data/el_GR.xml b/lib/zend/Zend/Locale/Data/el_GR.xml deleted file mode 100644 index 7ecb6e7080..0000000000 --- a/lib/zend/Zend/Locale/Data/el_GR.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/el_POLYTON.xml b/lib/zend/Zend/Locale/Data/el_POLYTON.xml deleted file mode 100644 index e204bce365..0000000000 --- a/lib/zend/Zend/Locale/Data/el_POLYTON.xml +++ /dev/null @@ -1,542 +0,0 @@ - - - - - - - - - - - - Ἀραβικά - Ἀραμαϊκά - Οὐαλικά - Αἰγυπτιακὰ (ἀρχαῖα) - Ἑλληνικά - Ἀγγλικά - Ἱσπανικά - Ἐσθονικά - Ἰρλανδικά - Σκωτικὰ κελτικά - Ἀρχαῖα Ἑλληνικά - Ἑβραϊκά - Οὑγγρικά - Ἀρμενικά - Ἰνδονησιακά - Ἰνδοευρωπαϊκὰ (ἄλλα) - Ἰρανικά - Ἰσλανδικά - Ἰταλικά - Ἰαπωνικά - Πολλαπλές γλῶσσες - Ἰνδιανικὰ βόρειας Ἀμερικῆς (ἄλλα) - Ὁλλανδικά - Τουρκικά, ὀθωμανικὰ (1500-1928) - Ἀρχαῖα περσικὰ (600-400 π.Χ.) - Φιλιππινέζικα (ἄλλα) - Σημιτικὰ (ἄλλα) - Σλαβικὰ (ἄλλα) - Ἀλβανικά - Οὐκρανικά - Ἰουδαϊκά - - - - - - - - - - Ἀνδόρα - Ἠνωμένα Ἀραβικὰ Ἐμιράτα - Ἀφγανιστάν - Ἀντίγκουα καὶ Μπαρμπούντα - Ἀνγκουίλα - Ἀλβανία - Ἀρμενία - Ὁλλανδικὲς Ἀντίλλες - Ἀνγκόλα - Ἀνταρκτική - Ἀργεντινή - Ἀμερικανικὴ Σαμόα - Αὐστρία - Αὐστραλία - Ἀρούμπα - Ἀζερμπαϊτζάν - Βοσνία - Ἐρζεγοβίνη - Βερμοῦδες - Νῆσος Μπουβέ - Νῆσοι Κόκος (Κήλινγκ) - Κονγκό, Λαϊκὴ Δημοκρατία τοῦ - Κεντροαφρικανικὴ Δημοκρατία - Ἑλβετία - Ἀκτὴ Ἐλεφαντοστού - Νῆσοι Κούκ - Πράσινο Ἀκρωτήριο - Νῆσος Χριστουγέννων - Δομινικανὴ Δημοκρατία - Ἀλγερία - Ἰσημερινός - Ἐσθονία - Αἴγυπτος - Δυτικὴ Σαχάρα - Ἐρυθραία - Ἱσπανία - Αἰθιοπία - Μικρονησία, Ὁμόσπονδες Πολιτεῖες τῆς - Νῆσοι Φερόες - Ἡνωμένο Βασίλειο - Γαλλικὴ Γουιάνα - Ἰσημερινὴ Γουινέα - Ἑλλάδα - Νότια Γεωργία καὶ Νότιες Νήσοι Σάντουιτς - Χὸνγκ Κόνγκ, Εἰδικὴ Διοικητικὴ Περιφέρεια τῆς Κίνας - Νῆσοι Χὲρντ καὶ Μακντόναλντ - Ὁνδούρα - Ἁϊτή - Οὑγγαρία - Ἰνδονησία - Ἰρλανδία - Ἰσραήλ - Ἰνδία - Βρετανικὰ Ἐδάφη Ἰνδικοῦ Ὠκεανοῦ - Ἰράκ - Ἰράν, Ἰσλαμικὴ Δημοκρατία τοῦ - Ἰσλανδία - Ἰταλία - Ἰορδανία - Ἰαπωνία - Σαὶντ Κὶτς καὶ Νέβις - Νῆσοι Κέιμαν - Λατινικὴ Ἀμερική - Ἁγία Λουκία - Σρὶ Λάνκα - Λουξεμβοῦργο - Μολδαβία, Δημοκρατία τῆς - Νῆσοι Μάρσαλ - Μαλί - Μακάο, Εἰδικὴ Διοικητικὴ Περιφέρεια τῆς Κίνας - Νῆσοι Βόρειες Μαριάνες - Νῆσος Νόρφολκ - Ὁλλανδία - Ὀμάν - Γαλλικὴ Πολυνησία - Σαὶντ Πιὲρ καὶ Μικελόν - Παλαιστινιακὰ Ἐδάφη - Σαουδικὴ Ἀραβία - Νῆσοι Σολομῶντος - Ἁγία Ἑλένη - Νῆσοι Σβάλμπαρ καὶ Γιὰν Μαγιέν - Ἅγιος Μαρίνος - Σάο Τομὲ καὶ Πρίνσιπε - Ἒλ Σαλβαδόρ - Συρία, Ἀραβικὴ Δημοκρατία τῆς - Νῆσοι Τὲρκς καὶ Κάικος - Τσάντ - Γαλλικὰ Νότια Ἐδάφη - Ἀνατολικὸ Τιμόρ - Τρινιδὰδ καὶ Τομπάγκο - Οὐκρανία - Οὐγκάντα - Ἀπομακρυσμένες Νησίδες τῶν Ἡνωμένων Πολιτειῶν - Ἡνωμένες Πολιτεῖες - Οὐρουγουάη - Οὐζμπεκιστάν - Ἁγία Ἕδρα (Βατικανό) - Ἅγιος Βικέντιος καὶ Γρεναδίνες - Βρετανικὲς Παρθένοι Νῆσοι - Ἀμερικανικὲς Παρθένοι Νῆσοι - Νῆσοι Οὐάλλις καὶ Φουτουνά - Ὑεμένη - Νότια Ἀφρική - - - Ἡμερολόγιο - - - Βουδιστικὸ ἡμερολόγιο - Κινεζικὸ ἡμερολόγιο - Σειρὰ Direct - Γρηγοριανὸ ἡμερολόγιο - Ἑβραϊκὸ ἡμερολόγιο - Ἰσλαμικὸ ἡμερολόγιο - Ἰσλαμικὸ ἀστικὸ ἡμερολόγιο - Ἰαπωνικὸ ἡμερολόγιο - Σειρὰ τηλεφωνικοῦ καταλόγου - Σειρὰ Πίνγιν - Σειρὰ Stroke - - - - [α ἀ ἄ ἂ ἆ ἁ ἅ ἃ ἇ ά ὰ ᾶ β-ε ἐ ἔ ἒ ἑ ἕ ἓ έ ὲ ζ η ἠ ἤ ἢ ἦ ἡ ἥ ἣ ἧ ή ὴ ῆ θ ι ἰ ἴ ἲ ἶ ἱ ἵ ἳ ἷ ί ὶ ῖ ϊ ΐ ῒ ῗ κ-ο ὄ ὂ ὃ ό ὸ π ρ σ ς τ υ ὐ ὔ ὒ ὖ ὑ ὕ ὓ ὗ ύ ὺ ῦ ϋ ΰ ῢ ῧ φ-ω ὤ ὢ ὦ ὥ ὣ ὧ ώ ὼ ῶ] - - - ‛ - - - - - - - - Ἰαν - Ἀπρ - Ἰουν - Ἰουλ - Αὐγ - Ὀκτ - - - Ἰανουαρίου - Ἀπριλίου - Ἰουνίου - Ἰουλίου - Αὐγούστου - Ὀκτωβρίου - - - - - Ἰαν - Ἀπρ - Ἰουν - Ἰουλ - Αὐγ - Ὀκτ - - - Ἰανουάριος - Ἀπρίλιος - Ἰούνιος - Ἰούλιος - Αὔγουστος - Ὀκτώβριος - - - - - - - - - - Πεσέτα Ἀνδόρας - - - Ντιρὰμ Ἡνωμένων Ἀραβικῶν Ἐμιράτων - - - Λὲκ Ἀλβανίας - - - Dram Ἀρμενίας - - - Γκίλντα Ὁλλανδικῶν Ἀντιλλῶν - - - Kwanza Ἀνγκόλας - - - Kwanza Ἀνγκόλας (1977-1990) - - - Νέα Kwanza Ἀνγκόλας (1990-2000) - - - Kwanza Reajustado Ἀνγκόλας (1995-1999) - - - Austral Ἀργεντινῆς - - - Πέσο Ἀργεντινῆς (1983-1985) - - - Πέσο Ἀργεντινῆς - - - Σελίνι Αὐστρίας - - - Δολάριο Αὐστραλίας - - - Γκίλντα Ἀρούμπα - - - Μανὰτ Ἀζερμπαϊτζάν - - - Δηνάριο Βοσνίας-Ἑρζεγοβίνης - - - Μάρκο Βοσνίας-Ἑρζεγοβίνης - - - Φράγκο Βελγίου (οἰκονομικό) - - - Μεταλλικὸ Λὲβ Βουλγαρίας - - - Νέο Λὲβ Βουλγαρίας - - - Δολάριο Καναδᾶ - - - Φράγκο Ἑλβετίας - - - Unidades de Fomento Χιλῆς - - - Πέσο Χιλῆς - - - Σκληρὴ Κορόνα Τσεχοσλοβακίας - - - Ἐσκούδο Πράσινου Ἀκρωτηρίου - - - Ostmark Ἀνατολικῆς Γερμανίας - - - Δηνάριο Ἀλγερίας - - - Sucre Ἰσημερινοῦ - - - Unidad de Valor Constante (UVC) Ἰσημερινοῦ - - - Κορόνα Ἐστονίας - - - Λίρα Αἰγύπτου - - - Nakfa Ἐρυθραίας - - - Πεσέτα Ἱσπανίας - - - Birr Αἰθιοπίας - - - Εὐρώ - - - Λίρα Νήσων Φώλκλαντ - - - Dalasi Γκάμπιας - - - Ekwele Guineana Ἰσημερινῆς Γουινέας - - - Quetzal Γουατεμάλας - - - Γκινέα Ἐσκούδο Πορτογαλίας - - - Δολάριο Χὸνγκ Κόνγκ - - - Gourde Ἁϊτῆς - - - Φιορίνι Οὑγγαρίας - - - Ρούπια Ἰνδονησίας - - - Λίρα Ἰρλανδίας - - - Λίρα Ἰσραήλ - - - Νέο Sheqel Ἰσραήλ - - - Ρούπια Ἰνδίας - - - Δηνάριο Ἰράκ - - - Rial Ἰράκ - - - Κορόνα Ἰσλανδίας - - - Λιρέτα Ἰταλίας - - - Δηνάριο Ἰορδανίας - - - Γιὲν Ἰαπωνίας - - - Ρούπια Σρὶ Λάνκας - - - Pataca Μακάου - - - Πέσο Μεξικοῦ - - - Ἀσημένιο Πέσο Μεξικοῦ (1861-1992) - - - Unidad de Inversion (UDI) Μεξικοῦ - - - Ἐσκούδο Μοζαμβίκης - - - Δολάριο Ναμίμπιας - - - Χρυσὴ Κόρδοβα Νικαράγουας - - - Γκίλντα Ὁλλανδίας - - - Μπαλμπόα Παναμᾶ - - - Kina Παπούα Νέα Γουινέας - - - Ἐσκούδο Πορτογαλίας - - - Γκουαρανὶ Παραγουάης - - - Δολάριο Νήσων Σολομῶντος - - - Ρούπια Σεϋχελῶν - - - Λίρα Ἀγίας Ἑλένης - - - Σοβιετικὸ Ρούβλι - - - Colon Ἒλ Σαλβαδόρ - - - Lilangeni Ζουαζιλάνδης - - - Μπὰτ Ταϊλάνδης - - - Μανὰτ Τουρκμενιστάν - - - Ἐσκούδο Τιμόρ - - - Δολάριο Τρινιδὰδ καὶ Τομπάγκο - - - Hryvnia Οὐκρανίας - - - Karbovanetz Οὐκρανίας - - - Σελίνι Οὐγκάντας (1966-1987) - - - Σελίνι Οὐγκάντας - - - Δολάριο ΗΠΑ (Ἑπόμενη ἡμέρα) - - - Δολάριο ΗΠΑ (Ἴδια ἡμέρα) - - - Πέσο Οὐρουγουάης (1975-1993) - - - Πέσο Uruguayo Οὐρουγουάης - - - Sum Οὐζμπεκιστάν - - - Μπολιβὰλ Βενεζουέλας - - - Tala Δυτικῆς Σαμόας - - - Εὐρωπαϊκὴ Σύνθετη Μονάδα - - - Εὐρωπαϊκὴ Νομισματικὴ Μονάδα - - - Εὐρωπαϊκὴ Μονάδα Λογαριασμοῦ (XBC) - - - Εὐρωπαϊκὴ Μονάδα Λογαριασμοῦ (XBD) - - - Δολάριο Ἀνατολικῆς Καραϊβικῆς - - - Εἰδικὰ Δικαιώματα Ἀνάληψης - - - Εὐρωπαϊκὴ Συναλλαγματικὴ Μονάδα - - - Χρυσὸ Φράγκο Γαλλίας - - - Δηνάριο Ὑεμένης - - - Rial Ὑεμένης - - - Μεταλλικὸ Δηνάριο Γιουγκοσλαβίας - - - Ραντ Νότιας Ἀφρικῆς (οἰκονομικό) - - - Ρὰντ Νότιας Ἀφρικῆς - - - - - - Ναί - Ὄχι - - - - diff --git a/lib/zend/Zend/Locale/Data/en.xml b/lib/zend/Zend/Locale/Data/en.xml deleted file mode 100644 index fcca722bee..0000000000 --- a/lib/zend/Zend/Locale/Data/en.xml +++ /dev/null @@ -1,4095 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - Afar - Abkhazian - Achinese - Acoli - Adangme - Adyghe - Avestan - Afrikaans - Afro-Asiatic Language - Afrihili - Ainu - Akan - Akkadian - Aleut - Algonquian Language - Southern Altai - Amharic - Aragonese - Old English - Angika - Apache Language - Arabic - Aramaic - Araucanian - Arapaho - Artificial Language - Arawak - Assamese - Asturian - Athapascan Language - Australian Language - Avaric - Awadhi - Aymara - Azerbaijani - Bashkir - Banda - Bamileke Language - Baluchi - Balinese - Basa - Baltic Language - Belarusian - Beja - Bemba - Berber - Bulgarian - Bihari - Bhojpuri - Bislama - Bikol - Bini - Siksika - Bambara - Bengali - Bantu - Tibetan - Breton - Braj - Bosnian - Batak - Buriat - Buginese - Blin - Catalan - Caddo - Central American Indian Language - Carib - Caucasian Language - Atsam - Chechen - Cebuano - Celtic Language - Chamorro - Chibcha - Chagatai - Chuukese - Mari - Chinook Jargon - Choctaw - Chipewyan - Cherokee - Cheyenne - Chamic Language - Corsican - Coptic - English-based Creole or Pidgin - French-based Creole or Pidgin - Portuguese-based Creole or Pidgin - Cree - Crimean Turkish - Creole or Pidgin - Czech - Kashubian - Church Slavic - Cushitic Language - Chuvash - Welsh - Danish - Dakota - Dargwa - Dayak - German - Austrian German - Swiss High German - Delaware - Slave - Dogrib - Dinka - Dogri - Dravidian Language - Lower Sorbian - Duala - Middle Dutch - Divehi - Dyula - Dzongkha - Ewe - Efik - Ancient Egyptian - Ekajuk - Greek - Elamite - English - Australian English - Canadian English - British English - U.S. English - Middle English - Esperanto - Spanish - Latin American Spanish - Iberian Spanish - Estonian - Basque - Ewondo - Persian - Fang - Fanti - Fulah - Finnish - Filipino - Finno-Ugrian Language - Fijian - Faroese - Fon - French - Canadian French - Swiss French - Middle French - Old French - Northern Frisian - Eastern Frisian - Friulian - Western Frisian - Irish - Ga - Gayo - Gbaya - Scottish Gaelic - Germanic Language - Geez - Gilbertese - Galician - Middle High German - Guarani - Old High German - Gondi - Gorontalo - Gothic - Grebo - Ancient Greek - Swiss German - Gujarati - Manx - Gwichʼin - Hausa - Haida - Hawaiian - Hebrew - Hindi - Hiligaynon - Himachali - Hittite - Hmong - Hiri Motu - Croatian - Upper Sorbian - Haitian - Hungarian - Hupa - Armenian - Herero - Interlingua - Iban - Indonesian - Interlingue - Igbo - Sichuan Yi - Ijo - Inupiaq - Iloko - Indic Language - Indo-European Language - Ingush - Ido - Iranian Language - Iroquoian Language - Icelandic - Italian - Inuktitut - Japanese - Lojban - Judeo-Persian - Judeo-Arabic - Javanese - Georgian - Kara-Kalpak - Kabyle - Kachin - Jju - Kamba - Karen - Kawi - Kabardian - Tyap - Koro - Kongo - Khasi - Khoisan Language - Khotanese - Kikuyu - Kuanyama - Kazakh - Kalaallisut - Khmer - Kimbundu - Kannada - Korean - Konkani - Kosraean - Kpelle - Kanuri - Karachay-Balkar - Karelian - Kru - Kurukh - Kashmiri - Kurdish - Kumyk - Kutenai - Komi - Cornish - Kirghiz - Latin - Ladino - Lahnda - Lamba - Luxembourgish - Lezghian - Ganda - Limburgish - Lingala - Lao - Mongo - Lozi - Lithuanian - Luba-Katanga - Luba-Lulua - Luiseno - Lunda - Luo - Lushai - Latvian - Madurese - Magahi - Maithili - Makasar - Mandingo - Austronesian Language - Masai - Moksha - Mandar - Mende - Malagasy - Middle Irish - Marshallese - Maori - Micmac - Minangkabau - Miscellaneous Language - Macedonian - Mon-Khmer Language - Malayalam - Mongolian - Manchu - Manipuri - Manobo Language - Moldavian - Mohawk - Mossi - Marathi - Malay - Maltese - Multiple Languages - Munda Language - Creek - Mirandese - Marwari - Burmese - Mayan Language - Erzya - Nauru - Nahuatl - North American Indian Language - Neapolitan - Norwegian Bokmål - North Ndebele - Low German - Nepali - Newari - Ndonga - Nias - Niger-Kordofanian Language - Niuean - Dutch - Flemish - Norwegian Nynorsk - Norwegian - Nogai - Old Norse - N’Ko - South Ndebele - Northern Sotho - Nubian Language - Navajo - Classical Newari - Nyanja - Nyamwezi - Nyankole - Nyoro - Nzima - Occitan - Ojibwa - Oromo - Oriya - Ossetic - Osage - Ottoman Turkish - Otomian Language - Punjabi - Papuan Language - Pangasinan - Pahlavi - Pampanga - Papiamento - Palauan - Old Persian - Philippine Language - Phoenician - Pali - Polish - Pohnpeian - Prakrit Language - Old Provençal - Pashto - Portuguese - Brazilian Portuguese - Iberian Portuguese - Quechua - Rajasthani - Rapanui - Rarotongan - Rhaeto-Romance - Rundi - Romanian - Romance Language - Romany - Root - Russian - Aromanian - Kinyarwanda - Sanskrit - Sandawe - Yakut - South American Indian Language - Salishan Language - Samaritan Aramaic - Sasak - Santali - Sardinian - Sicilian - Scots - Sindhi - Northern Sami - Selkup - Semitic Language - Sango - Old Irish - Sign Language - Serbo-Croatian - Shan - Sinhala - Sidamo - Siouan Language - Sino-Tibetan Language - Slovak - Slovenian - Slavic Language - Samoan - Southern Sami - Sami Language - Lule Sami - Inari Sami - Skolt Sami - Shona - Soninke - Somali - Sogdien - Songhai - Albanian - Serbian - Sranan Tongo - Serer - Swati - Nilo-Saharan Language - Southern Sotho - Sundanese - Sukuma - Susu - Sumerian - Swedish - Swahili - Classical Syriac - Syriac - Tamil - Tai Language - Telugu - Timne - Tereno - Tetum - Tajik - Thai - Tigrinya - Tigre - Tiv - Turkmen - Tokelau - Tagalog - Klingon - Tlingit - Tamashek - Tswana - Tonga - Nyasa Tonga - Tok Pisin - Turkish - Taroko - Tsonga - Tsimshian - Tatar - Tumbuka - Tupi Language - Altaic Language - Tuvalu - Twi - Tahitian - Tuvinian - Udmurt - Uighur - Ugaritic - Ukrainian - Umbundu - Unknown or Invalid Language - Urdu - Uzbek - Vai - Venda - Vietnamese - Volapük - Votic - Walloon - Wakashan Language - Walamo - Waray - Washo - Sorbian Language - Wolof - Kalmyk - Xhosa - Yao - Yapese - Yiddish - Yoruba - Yupik Language - Zhuang - Zapotec - Blissymbols - Zenaga - Chinese - Simplified Chinese - Traditional Chinese - Zande - Zulu - Zuni - No linguistic content - Zaza - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - World - Africa - North America - South America - Oceania - Western Africa - Central America - Eastern Africa - Northern Africa - Middle Africa - Southern Africa - Americas - Northern America - Caribbean - Eastern Asia - Southern Asia - South-Eastern Asia - Southern Europe - Australia and New Zealand - Melanesia - Micronesian Region - Polynesia - South-Central Asia - Asia - Central Asia - Western Asia - Europe - Eastern Europe - Northern Europe - Western Europe - Commonwealth of Independent States - Czechoslovakia - Latin America and the Caribbean - Channel Islands - Andorra - United Arab Emirates - Afghanistan - Antigua and Barbuda - Anguilla - Albania - Armenia - Netherlands Antilles - Angola - Antarctica - Argentina - American Samoa - Austria - Australia - Aruba - Åland Islands - Azerbaijan - Bosnia and Herzegovina - Barbados - Bangladesh - Belgium - Burkina Faso - Bulgaria - Bahrain - Burundi - Benin - Saint Barthélemy - Bermuda - Brunei - Bolivia - British Antarctic Territory - Brazil - Bahamas - Bhutan - Bouvet Island - Botswana - Belarus - Belize - Canada - Cocos [Keeling] Islands - Congo - Kinshasa - Central African Republic - Congo - Brazzaville - Switzerland - Côte d’Ivoire - Cook Islands - Chile - Cameroon - China - Colombia - Costa Rica - Serbia and Montenegro - Canton and Enderbury Islands - Cuba - Cape Verde - Christmas Island - Cyprus - Czech Republic - East Germany - Germany - Djibouti - Denmark - Dominica - Dominican Republic - Algeria - Ecuador - Estonia - Egypt - Western Sahara - Eritrea - Spain - Ethiopia - Finland - Fiji - Falkland Islands - Micronesia - Faroe Islands - French Southern and Antarctic Territories - France - Metropolitan France - Gabon - United Kingdom - Grenada - Georgia - French Guiana - Guernsey - Ghana - Gibraltar - Greenland - Gambia - Guinea - Guadeloupe - Equatorial Guinea - Greece - South Georgia and the South Sandwich Islands - Guatemala - Guam - Guinea-Bissau - Guyana - Hong Kong SAR China - Heard Island and McDonald Islands - Honduras - Croatia - Haiti - Hungary - Indonesia - Ireland - Israel - Isle of Man - India - British Indian Ocean Territory - Iraq - Iran - Iceland - Italy - Jersey - Jamaica - Jordan - Japan - Johnston Island - Kenya - Kyrgyzstan - Cambodia - Kiribati - Comoros - Saint Kitts and Nevis - North Korea - South Korea - Kuwait - Cayman Islands - Kazakhstan - Laos - Lebanon - Saint Lucia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Lithuania - Luxembourg - Latvia - Libya - Morocco - Monaco - Moldova - Montenegro - Saint Martin - Madagascar - Marshall Islands - Midway Islands - Macedonia - Mali - Myanmar [Burma] - Mongolia - Macau SAR China - Northern Mariana Islands - Martinique - Mauritania - Montserrat - Malta - Mauritius - Maldives - Malawi - Mexico - Malaysia - Mozambique - Namibia - New Caledonia - Niger - Norfolk Island - Nigeria - Nicaragua - Netherlands - Norway - Nepal - Dronning Maud Land - Nauru - Neutral Zone - Niue - New Zealand - Oman - Panama - Pacific Islands Trust Territory - Peru - French Polynesia - Papua New Guinea - Philippines - Pakistan - Poland - Saint Pierre and Miquelon - Pitcairn Islands - Puerto Rico - Palestinian Territories - Portugal - U.S. Miscellaneous Pacific Islands - Palau - Paraguay - Panama Canal Zone - Qatar - Outlying Oceania - European Union - Réunion - Romania - Serbia - Russia - Rwanda - Saudi Arabia - Solomon Islands - Seychelles - Sudan - Sweden - Singapore - Saint Helena - Slovenia - Svalbard and Jan Mayen - Slovakia - Sierra Leone - San Marino - Senegal - Somalia - Suriname - São Tomé and Príncipe - Union of Soviet Socialist Republics - El Salvador - Syria - Swaziland - Turks and Caicos Islands - Chad - French Southern Territories - Togo - Thailand - Tajikistan - Tokelau - Timor-Leste - Turkmenistan - Tunisia - Tonga - Turkey - Trinidad and Tobago - Tuvalu - Taiwan - Tanzania - Ukraine - Uganda - U.S. Minor Outlying Islands - United States - Uruguay - Uzbekistan - Vatican City - Saint Vincent and the Grenadines - North Vietnam - Venezuela - British Virgin Islands - U.S. Virgin Islands - Vietnam - Vanuatu - Wallis and Futuna - Wake Island - Samoa - People's Democratic Republic of Yemen - Yemen - Mayotte - South Africa - Zambia - Zimbabwe - Unknown or Invalid Region - - - Traditional German orthography - Standardized Resian orthography - German orthography of 1996 - Late Middle French to 1606 - Early Modern French - Academic - Eastern Armenian - Western Armenian - Unified Turkic Latin Alphabet - San Giorgio/Bila dialect - Boontling - IPA Phonetics - UPA Phonetics - Common Orthography - The Lipovaz dialect of Resian - Monotonic - Natisone dialect - Gniva/Njiva dialect - Oseacco/Osojane dialect - Pinyin Romanization - Polytonic - Computer - Revised Orthography - Resian - Saho - Scottish Standard English - Scouse - Stolvizza/Solbica dialect - Taraskievica orthography - Unified Orthography - Unified Revised Orthography - Valencian - Wade-Giles Romanization - - - Arabic-Indic Digits - Extended Arabic-Indic Digits - Armenian Numerals - Armenian Lowercase Numerals - Bengali Digits - Traditional Chinese Sort Order - Big5 - Buddhist Calendar - Chinese Calendar - Coptic Calendar - Devanagari Digits - Direct Sort Order - Ethiopic Numerals - Ethiopic Calendar - Ethiopic Amete Alem Calendar - Full Width Digits - Simplified Chinese Sort Order - GB2312 - Georgian Numerals - Gregorian Calendar - Greek Numerals - Greek Lowercase Numerals - Gujarati Digits - Gurmukhi Digits - Simplified Chinese Numerals - Simplified Chinese Financial Numerals - Traditional Chinese Numerals - Traditional Chinese Financial Numerals - Hebrew Numerals - Hebrew Calendar - Indian National Calendar - Islamic Calendar - Islamic-Civil Calendar - Japanese Calendar - Japanese Numerals - Japanese Financial Numerals - Khmer Digits - Kannada Digits - Lao Digits - Western Digits - Malayalam Digits - Mongolian Digits - Myanmar Digits - Oriya Digits - Persian Calendar - Phonebook Sort Order - Simplified Chinese Pinyin Sort Order - Republic of China Calendar - Roman Numerals - Roman Lowercase Numerals - Traditional Chinese Stroke Sort Order - Tamil Numerals - Telugu Digits - Thai Digits - Tibetan Digits - Traditional Sort Order - - - US - Metric - - - Language: {0} - Script: {0} - Region: {0} - - - - [a-z] - [á à ă â å ä ã ā æ ç é è ĕ ê ë ē í ì ĭ î ï ī ñ ó ò ŏ ô ö ø ō œ ß ú ù ŭ û ü ū ÿ] - [a-c č d-l ł m-z] - - - “ - ” - ‘ - ’ - - - - - - - - Jan - Feb - Mar - Apr - May - Jun - Jul - Aug - Sep - Oct - Nov - Dec - - - January - February - March - April - May - June - July - August - September - October - November - December - - - - - J - F - M - A - M - J - J - A - S - O - N - D - - - - - - - Sun - Mon - Tue - Wed - Thu - Fri - Sat - - - Sunday - Monday - Tuesday - Wednesday - Thursday - Friday - Saturday - - - - - S - M - T - W - T - F - S - - - - - - - Q1 - Q2 - Q3 - Q4 - - - 1st quarter - 2nd quarter - 3rd quarter - 4th quarter - - - - - 1 - 2 - 3 - 4 - - - - AM - PM - - - Before Christ - Anno Domini - - - BC - AD - - - B - A - - - - - - EEEE, MMMM d, y - - - - - MMMM d, y - - - - - MMM d, y - - - - - M/d/yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - - {1} {0} - - - - - {1} {0} - - - - - {1} {0} - - - - - {1} {0} - - - - d EEE - H:mm - H:mm:ss - L - E, M/d - LLL - E, MMM d - E, MMMM d - MMMM d - MMM d - M/d - d - h:mm a - mm:ss - y - M/yyyy - EEE, M/d/yyyy - MMM y - EEE, MMM d, y - MMMM y - Q yyyy - QQQ y - - - {0} – {1} - - M–M - - - E, M/d – E, M/d - E, M/d – E, M/d - - - MMM–MMM - - - E, MMM d – E, MMM d - E, MMM d – E, MMM d - - - LLLL-LLLL - - - MMM d – MMM d - MMM d–d - - - M/d – M/d - M/d – M/d - - - d–d - - - h a – h a - h–h a - - - h:mm a – h:mm a - h:mm–h:mm a - h:mm–h:mm a - - - h:mm a – h:mm a v - h:mm–h:mm a v - h:mm–h:mm a v - - - h a – h a v - h–h a v - - - y–y - - - M/yy – M/yy - M/yy – M/yy - - - E, M/d/yy – E, M/d/yy - E, M/d/yy – E, M/d/yy - E, M/d/yy – E, M/d/yy - - - MMM–MMM y - MMM y – MMM y - - - E, MMM d – E, MMM d, y - E, MMM d – E, MMM d, y - E, MMM d, y – E, MMM d, y - - - MMMM–MMMM y - MMMM y – MMMM y - - - MMM d – MMM d, y - MMM d–d, y - MMM d, y – MMM d, y - - - M/d/yy – M/d/yy - M/d/yy – M/d/yy - M/d/yy – M/d/yy - - - - - - Era - - - Year - - - Month - - - Week - - - Day - Yesterday - Today - Tomorrow - - - Day of the Week - - - AM/PM - - - Hour - - - Minute - - - Second - - - Zone - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} Time - {1} ({0}) - - Unknown - - - Dumont d’Urville - - - - British Summer Time - - - BST - - - - - Irish Summer Time - - - IST (Irish) - - - - - Acre Time - Acre Summer Time - - - - - Afghanistan Time - - - - - Central Africa Time - - - - - East Africa Time - - - - - South Africa Time - South Africa Standard Time - - - SAT - - - - - West Africa Time - West Africa Summer Time - - - - - Aktyubinsk Time - Aktyubinsk Summer Time - - - - - Alaska Time - Alaska Standard Time - Alaska Daylight Time - - - AKT - - true - - - - Alaska-Hawaii Time - Alaska-Hawaii Standard Time - Alaska-Hawaii Daylight Time - - - AHT - - - - - Almaty Time - Almaty Summer Time - - - - - Amazon Time - Amazon Summer Time - - - - - Central Time - Central Standard Time - Central Daylight Time - - - CT - - true - - - - Eastern Time - Eastern Standard Time - Eastern Daylight Time - - - ET - - true - - - - Mountain Time - Mountain Standard Time - Mountain Daylight Time - - - MT - - true - - - - Pacific Time - Pacific Standard Time - Pacific Daylight Time - - - PT - - true - - - - Anadyr Time - Anadyr Summer Time - - - - - Aqtau Time - Aqtau Summer Time - - - - - Aqtobe Time - Aqtobe Summer Time - - - - - Arabian Time - Arabian Standard Time - Arabian Daylight Time - - - AT (Arabian) - AST (Arabian) - ADT (Arabian) - - - - - Argentina Time - Argentina Summer Time - - - - - Western Argentina Time - - - - - Armenia Time - Armenia Summer Time - - - AMT (Armenia) - AMST (Armenia) - - - - - Ashkhabad Time - Ashkhabad Summer Time - - - - - Atlantic Time - Atlantic Standard Time - Atlantic Daylight Time - - - AT - - true - - - - Central Australia Time - Australian Central Standard Time - Australian Central Daylight Time - - - ACT - - - - - Australian Central Western Time - Australian Central Western Standard Time - Australian Central Western Daylight Time - - - ACWT - - - - - Eastern Australia Time - Australian Eastern Standard Time - Australian Eastern Daylight Time - - - AET - - - - - Western Australia Time - Australian Western Standard Time - Australian Western Daylight Time - - - AWT - - - - - Azerbaijan Time - Azerbaijan Summer Time - - - - - Azores Time - Azores Summer Time - - - - - Baku Time - Baku Summer Time - - - - - Bangladesh Time - - - - - Bering Time - Bering Standard Time - Bering Daylight Time - - - BT (Bering) - - - - - Bhutan Time - - - - - Bolivia Time - - - - - Borneo Time - Borneo Summer Time - - - - - Brasilia Time - Brasilia Summer Time - - - - - Brunei Darussalam Time - - - - - Cape Verde Time - Cape Verde Summer Time - - - - - Chamorro Time - Chamorro Standard Time - - - ChT - - - - - Changbai Time - - - - - Chatham Standard Time - Chatham Daylight Time - - - - - Chile Time - Chile Summer Time - - - - - China Time - China Standard Time - China Daylight Time - - - CT (China) - CST (China) - CDT (China) - - - - - Choibalsan Time - Choibalsan Summer Time - - - - - Christmas Island Time - - - - - Cocos Islands Time - - - - - Colombia Time - Colombia Summer Time - - - - - Cook Islands Time - Cook Islands Half Summer Time - - - - - Cuba Time - Cuba Standard Time - Cuba Daylight Time - - - CST (Cuba) - CDT (Cuba) - - - - - Dacca Time - - - - - Davis Time - - - - - Dumont-d'Urville Time - - - - - Dushanbe Time - Dushanbe Summer Time - - - - - Dutch Guiana Time - - - - - East Timor Time - - - - - Easter Island Time - Easter Island Summer Time - - - - - Ecuador Time - - - - - Central European Time - Central European Summer Time - - - - - Eastern European Time - Eastern European Summer Time - - - - - Western European Time - Western European Summer Time - - - - - Falkland Islands Time - Falkland Islands Summer Time - - - - - Fiji Time - Fiji Summer Time - - - - - French Guiana Time - - - - - French Southern and Antarctic Time - - - - - Frunze Time - Frunze Summer Time - - - - - Greenwich Mean Time - - true - - - - Galapagos Time - - - - - Gambier Time - - - - - Georgia Time - Georgia Summer Time - - - - - Gilbert Islands Time - - - - - Central Greenland Time - Central Greenland Summer Time - - - - - East Greenland Time - East Greenland Summer Time - - - - - West Greenland Time - West Greenland Summer Time - - - - - Guam Standard Time - - - GST (Guam) - - - - - Gulf Time - Gulf Standard Time - - - GT - - - - - Guyana Time - - - - - Hawaii-Aleutian Standard Time - - true - - - - Hong Kong Time - Hong Kong Summer Time - - - - - Hovd Time - Hovd Summer Time - - - - - India Standard Time - - - - - Indian Ocean Time - - - - - Indochina Time - - - - - Central Indonesia Time - - - - - Eastern Indonesia Time - - - - - Western Indonesia Time - - - - - Iran Standard Time - Iran Daylight Time - - - - - Irkutsk Time - Irkutsk Summer Time - - - - - Israel Time - Israel Standard Time - Israel Daylight Time - - - IST (Israel) - - - - - Japan Time - Japan Standard Time - Japan Daylight Time - - - JT - - - - - Petropavlovsk-Kamchatski Time - Petropavlovsk-Kamchatski Summer Time - - - - - Karachi Time - - - - - Kashgar Time - - - - - East Kazakhstan Time - East Kazakhstan Standard Time - - - - - West Kazakhstan Time - West Kazakhstan Standard Time - - - - - Kizilorda Time - Kizilorda Summer Time - - - - - Korean Time - Korean Standard Time - Korean Daylight Time - - - KT - - - - - Kosrae Time - - - - - Krasnoyarsk Time - Krasnoyarsk Summer Time - - - - - Kuybyshev Time - Kuybyshev Summer Time - - - - - Kwajalein Time - - - - - Kyrgystan Time - - - - - Lanka Time - - - - - Line Islands Time - - - - - Long-Shu Time - - - - - Lord Howe Time - Lord Howe Standard Time - Lord Howe Daylight Time - - - LHT - - - - - Macau Time - Macau Summer Time - - - - - Magadan Time - Magadan Summer Time - - - - - Malaya Time - - - - - Malaysia Time - - - - - Maldives Time - - - - - Marquesas Time - - - - - Marshall Islands Time - - - - - Mauritius Time - Mauritius Summer Time - - - - - Mawson Time - - - - - Ulan Bator Time - Ulan Bator Summer Time - - - - - Moscow Time - Moscow Standard Time - Moscow Summer Time - - - - - Myanmar Time - - - - - Nauru Time - - - - - Nepal Time - - - - - New Caledonia Time - New Caledonia Summer Time - - - - - New Zealand Time - New Zealand Standard Time - New Zealand Daylight Time - - - NZT - - - - - Newfoundland Time - Newfoundland Standard Time - Newfoundland Daylight Time - - - NT - - - - - Niue Time - - - - - Norfolk Islands Time - - - - - Fernando de Noronha Time - Fernando de Noronha Summer Time - - - - - North Mariana Islands Time - - - - - Novosibirsk Time - Novosibirsk Summer Time - - - - - Omsk Time - Omsk Summer Time - - - - - Pakistan Time - Pakistan Summer Time - - - - - Palau Time - - - - - Papua New Guinea Time - - - - - Paraguay Time - Paraguay Summer Time - - - - - Peru Time - Peru Summer Time - - - - - Philippine Time - Philippine Summer Time - - - - - Phoenix Islands Time - - - - - Pierre and Miquelon Time - Pierre and Miquelon Standard Time - Pierre and Miquelon Daylight Time - - - PMT - - - - - Pitcairn Time - - - - - Ponape Time - - - - - Qyzylorda Time - Qyzylorda Summer Time - - - - - Reunion Time - - - - - Rothera Time - - - - - Sakhalin Time - Sakhalin Summer Time - - - - - Samara Time - Samara Summer Time - - - - - Samarkand Time - Samarkand Summer Time - - - - - Samoa Standard Time - - - - - Seychelles Time - - - - - Shevchenko Time - Shevchenko Summer Time - - - - - Singapore Standard Time - - - - - Solomon Islands Time - - - - - South Georgia Time - - - GST (S. Georgia) - - - - - Suriname Time - - - - - Sverdlovsk Time - Sverdlovsk Summer Time - - - - - Syowa Time - - - - - Tahiti Time - - - - - Tajikistan Time - - - - - Tashkent Time - Tashkent Summer Time - - - - - Tbilisi Time - Tbilisi Summer Time - - - - - Tokelau Time - - - - - Tonga Time - Tonga Summer Time - - - - - Truk Time - - - - - Turkey Time - Turkey Summer Time - - - - - Turkmenistan Time - Turkmenistan Summer Time - - - - - Tuvalu Time - - - - - Ural'sk Time - Ural'sk Summer Time - - - - - Uruguay Time - Uruguay Summer Time - - - - - Urumqi Time - - - - - Uzbekistan Time - Uzbekistan Summer Time - - - - - Vanuatu Time - Vanuatu Summer Time - - - - - Venezuela Time - - - - - Vladivostok Time - Vladivostok Summer Time - - - - - Volgograd Time - Volgograd Summer Time - - - - - Vostok Time - - - - - Wake Island Time - - - - - Wallis and Futuna Time - - - - - Yakutsk Time - Yakutsk Summer Time - - - - - Yekaterinburg Time - Yekaterinburg Summer Time - - - - - Yerevan Time - Yerevan Summer Time - - - - - Yukon Time - Yukon Standard Time - Yukon Daylight Time - - - YT - - - - - - - . - , - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤#,##0.00;(¤#,##0.00) - - - {0} {1} - {0} {1} - - - - Andorran Peseta - Andorran peseta - Andorran pesetas - - - United Arab Emirates Dirham - UAE dirham - UAE dirhams - - - Afghan Afghani (1927-2002) - Afghan Afghani (AFA) - Afghan Afghanis (AFA) - - - Afghan Afghani - Afghan Afghani - Afghan Afghanis - - - Albanian Lek - Albanian lek - Albanian lekë - - - Armenian Dram - Armenian dram - Armenian drams - - - Netherlands Antillean Guilder - Netherlands Antillean guilder - Netherlands Antillean guilders - - - Angolan Kwanza - Angolan kwanza - Angolan kwanzas - - - Angolan Kwanza (1977-1990) - Angolan kwanza (AOK) - Angolan kwanzas (AOK) - - - Angolan New Kwanza (1990-2000) - Angolan new kwanza (AON) - Angolan new kwanzas (AON) - - - Angolan Kwanza Reajustado (1995-1999) - Angolan kwanza reajustado (AOR) - Angolan kwanzas reajustado (AOR) - - - Argentine Austral - Argentine austral - Argentine australs - - - Argentine Peso Ley - Argentine peso ley - Argentine pesos ley - - - Argentine Peso Moneda Nacional - Argentine peso moneda nacional - Argentine pesos moneda nacional - - - Argentine Peso (1983-1985) - Argentine peso (ARP) - Argentine pesos (ARP) - - - Argentine Peso - Argentine peso - Argentine pesos - - - Austrian Schilling - Austrian schilling - Austrian schillings - - - Australian Dollar - Australian dollar - Australian dollars - - - Aruban Florin - Aruban florin - Aruban florin - - - Azerbaijani Manat (1993-2006) - Azerbaijani manat (AZM) - Azerbaijani manats (AZM) - - - Azerbaijani Manat - Azerbaijani manat - Azerbaijani manats - - - Bosnia-Herzegovina Dinar - Bosnia-Herzegovina dinar - Bosnia-Herzegovina dinars - - - Bosnia-Herzegovina Convertible Mark - Bosnia-Herzegovina convertible mark - Bosnia-Herzegovina convertible marks - - - Bosnia-Herzegovina New Dinar - Bosnia-Herzegovina new dinar - Bosnia-Herzegovina new dinars - - - Barbadian Dollar - Barbadian dollar - Barbadian dollars - - - Bangladeshi Taka - Bangladeshi taka - Bangladeshi takas - - - Belgian Franc (convertible) - Belgian franc (convertible) - Belgian francs (convertible) - - - Belgian Franc - Belgian franc - Belgian francs - - - Belgian Franc (financial) - Belgian franc (financial) - Belgian francs (financial) - - - Bulgarian Hard Lev - Bulgarian hard lev - Bulgarian hard leva - - - Bulgarian Socialist Lev - Bulgarian socialist lev - Bulgarian socialist leva - - - Bulgarian Lev - Bulgarian lev - Bulgarian leva - - - Old Bulgarian Lev - Old Bulgarian lev - Old Bulgarian leva - - - Bahraini Dinar - Bahraini dinar - Bahraini dinars - - - Burundian Franc - Burundian franc - Burundian francs - - - Bermudan Dollar - Bermudan dollar - Bermudan dollars - - - Brunei Dollar - Brunei dollar - Brunei dollars - - - Bolivian Boliviano - Bolivian boliviano - Bolivian bolivianos - - - Old Bolivian Boliviano - Old Bolivian boliviano - Old Bolivian bolivianos - - - Bolivian Peso - Bolivian peso - Bolivian pesos - - - Bolivian Mvdol - Bolivian mvdol - Bolivian mvdols - - - Brazilian Cruzeiro Novo (1967-1986) - Brazilian cruzeiro novo (BRB) - Brazilian cruzeiros novo (BRB) - - - Brazilian Cruzado - Brazilian cruzado - Brazilian cruzados - - - Brazilian Cruzeiro (1990-1993) - Brazilian cruzeiro (BRE) - Brazilian cruzeiros (BRE) - - - Brazilian Real - Brazilian real - Brazilian reals - - - Brazilian Cruzado Novo - Brazilian cruzado novo - Brazilian cruzado novos - - - Brazilian Cruzeiro - Brazilian cruzeiro - Brazilian cruzeiros - - - Old Brazilian Cruzeiro - Old Brazilian cruzeiro - Old Brazilian cruzeiros - - - Bahamian Dollar - Bahamian dollar - Bahamian dollars - - - Bhutanese Ngultrum - Bhutanese ngultrum - Bhutanese ngultrums - - - Burmese Kyat - Burmese kyat - Burmese kyats - - - Botswanan Pula - Botswanan pula - Botswanan pulas - - - Belarusian New Ruble (1994-1999) - Belarusian new ruble (BYB) - Belarusian new rubles (BYB) - - - Belarusian Ruble - Belarusian ruble - Belarusian rubles - - - Belize Dollar - Belize dollar - Belize dollars - - - Canadian Dollar - Canadian dollar - Canadian dollars - - - Congolese Franc - Congolese franc - Congolese francs - - - WIR Euro - WIR euro - WIR euros - - - Swiss Franc - Swiss franc - Swiss francs - - - WIR Franc - WIR franc - WIR francs - - - Chilean Escudo - Chilean escudo - Chilean escudos - - - Chilean Unidades de Fomento - Chilean unidades de fomento - Chilean unidades de fomentos - - - Chilean Peso - Chilean peso - Chilean pesos - - - Chinese Yuan Renminbi - Chinese yuan - Chinese yuan - - - Colombian Peso - Colombian peso - Colombian pesos - - - Unidad de Valor Real - unidad de valor real - unidad de valor reals - - - Costa Rican Colón - Costa Rican colón - Costa Rican colóns - - - Old Serbian Dinar - Old Serbian dinar - Old Serbian dinars - - - Czechoslovak Hard Koruna - Czechoslovak hard koruna - Czechoslovak hard korunas - - - Cuban Convertible Peso - Cuban convertible peso - Cuban convertible pesos - - - Cuban Peso - Cuban peso - Cuban pesos - - - Cape Verdean Escudo - Cape Verdean escudo - Cape Verdean escudos - - - Cypriot Pound - Cypriot pound - Cypriot pounds - - - Czech Republic Koruna - Czech Republic koruna - Czech Republic korunas - - - East German Mark - East German mark - East German marks - - - German Mark - German mark - German marks - - - Djiboutian Franc - Djiboutian franc - Djiboutian francs - - - Danish Krone - Danish krone - Danish kroner - - - Dominican Peso - Dominican peso - Dominican pesos - - - Algerian Dinar - Algerian dinar - Algerian dinars - - - Ecuadorian Sucre - Ecuadorian sucre - Ecuadorian sucres - - - Ecuadorian Unidad de Valor Constante (UVC) - Ecuadorian unidad de valor Constante (UVC) - Ecuadorian unidads de valor Constante (UVC) - - - Estonian Kroon - Estonian kroon - Estonian kroons - - - Egyptian Pound - Egyptian pound - Egyptian pounds - - - Eritrean Nakfa - Eritrean nakfa - Eritrean nakfas - - - Spanish Peseta (A account) - Spanish peseta (A account) - Spanish pesetas (A account) - - - Spanish Peseta (convertible account) - Spanish peseta (convertible account) - Spanish pesetas (convertible account) - - - Spanish Peseta - Spanish peseta - Spanish pesetas - - - Ethiopian Birr - Ethiopian birr - Ethiopian birrs - - - Euro - euro - euros - - - Finnish Markka - Finnish markka - Finnish markkas - - - Fijian Dollar - Fijian dollar - Fijian dollars - - - Falkland Islands Pound - Falkland Islands pound - Falkland Islands pounds - - - French Franc - French franc - French francs - - - British Pound Sterling - British pound sterling - British pound sterlings - - - Georgian Kupon Larit - Georgian kupon larit - Georgian kupon larits - - - Georgian Lari - Georgian lari - Georgian laris - - - Ghanaian Cedi (1979-2007) - Ghanaian cedi (GHC) - Ghanaian cedis (GHC) - - - Ghanaian Cedi - Ghanaian cedi - Ghanaian cedis - - - Gibraltar Pound - Gibraltar pound - Gibraltar pounds - - - Gambian Dalasi - Gambian dalasi - Gambian dalasis - - - Guinean Franc - Guinean franc - Guinean francs - - - Guinean Syli - Guinean syli - Guinean sylis - - - Equatorial Guinean Ekwele - Equatorial Guinean ekwele - Equatorial Guinean ekwele - - - Greek Drachma - Greek drachma - Greek drachmas - - - Guatemalan Quetzal - Guatemalan quetzal - Guatemalan quetzals - - - Portuguese Guinea Escudo - Portuguese Guinea escudo - Portuguese Guinea escudos - - - Guinea-Bissau Peso - Guinea-Bissau peso - Guinea-Bissau pesos - - - Guyanaese Dollar - Guyanaese dollar - Guyanaese dollars - - - Hong Kong Dollar - Hong Kong dollar - Hong Kong dollars - - - Honduran Lempira - Honduran lempira - Honduran lempiras - - - Croatian Dinar - Croatian dinar - Croatian dinars - - - Croatian Kuna - Croatian kuna - Croatian kunas - - - Haitian Gourde - Haitian gourde - Haitian gourdes - - - Hungarian Forint - Hungarian forint - Hungarian forints - - - Indonesian Rupiah - Indonesian rupiah - Indonesian rupiahs - - - Irish Pound - Irish pound - Irish pounds - - - Israeli Pound - Israeli pound - Israeli pounds - - - Old Israeli Sheqel - Old Israeli sheqel - Old Israeli sheqels - - - Israeli New Sheqel - Israeli new sheqel - Israeli new sheqels - - - Indian Rupee - Indian rupee - Indian rupees - - - Iraqi Dinar - Iraqi dinar - Iraqi dinars - - - Iranian Rial - Iranian rial - Iranian rials - - - Old Icelandic Króna - Old Icelandic króna - Old Icelandic krónur - - - Icelandic Króna - Icelandic króna - Icelandic krónur - - - Italian Lira - Italian lira - Italian liras - - - Jamaican Dollar - Jamaican dollar - Jamaican dollars - - - Jordanian Dinar - Jordanian dinar - Jordanian dinars - - - Japanese Yen - Japanese yen - Japanese yen - ¥ - - - Kenyan Shilling - Kenyan shilling - Kenyan shillings - - - Kyrgystani Som - Kyrgystani som - Kyrgystani soms - - - Cambodian Riel - Cambodian riel - Cambodian riels - - - Comorian Franc - Comorian franc - Comorian francs - - - North Korean Won - North Korean won - North Korean won - - - South Korean Hwan - South Korean hwan - South Korean hwan - - - Old South Korean Won - Old South Korean won - Old South Korean won - - - South Korean Won - South Korean won - South Korean won - - - Kuwaiti Dinar - Kuwaiti dinar - Kuwaiti dinars - - - Cayman Islands Dollar - Cayman Islands dollar - Cayman Islands dollars - - - Kazakhstan Tenge - Kazakhstan tenge - Kazakhstan tenges - - - Laotian Kip - Laotian kip - Laotian kips - - - Lebanese Pound - Lebanese pound - Lebanese pounds - - - Sri Lanka Rupee - Sri Lanka rupee - Sri Lanka rupees - - - Liberian Dollar - Liberian dollar - Liberian dollars - - - Lesotho Loti - Lesotho loti - Lesotho lotis - - - Lithuanian Litas - Lithuanian litas - Lithuanian litai - - - Lithuanian Talonas - Lithuanian talonas - Lithuanian talonases - - - Luxembourgian Convertible Franc - Luxembourgian convertible franc - Luxembourgian convertible francs - - - Luxembourgian Franc - Luxembourgian franc - Luxembourgian francs - - - Luxembourg Financial Franc - Luxembourg financial franc - Luxembourg financial francs - - - Latvian Lats - Latvian lats - Latvian lati - - - Latvian Ruble - Latvian ruble - Latvian rubles - - - Libyan Dinar - Libyan dinar - Libyan dinars - - - Moroccan Dirham - Moroccan dirham - Moroccan dirhams - - - Moroccan Franc - Moroccan franc - Moroccan francs - - - Monegasque Franc - Monegasque franc - Monegasque francs - - - Moldovan Cupon - Moldovan cupon - Moldovan cupon - - - Moldovan Leu - Moldovan leu - Moldovan lei - - - Malagasy Ariary - Malagasy Ariary - Malagasy Ariaries - - - Malagasy Franc - Malagasy franc - Malagasy francs - - - Macedonian Denar - Macedonian denar - Macedonian denari - - - Old Macedonian Denar - Old Macedonian denar - Old Macedonian denari - - - Malian Franc - Malian franc - Malian francs - - - Myanma Kyat - Myanma kyat - Myanma kyats - - - Mongolian Tugrik - Mongolian tugrik - Mongolian tugriks - - - Macanese Pataca - Macanese pataca - Macanese patacas - - - Mauritanian Ouguiya - Mauritanian ouguiya - Mauritanian ouguiyas - - - Maltese Lira - Maltese lira - Maltese lira - - - Maltese Pound - Maltese pound - Maltese pounds - - - Mauritian Rupee - Mauritian rupee - Mauritian rupees - - - Maldivian Rupee - Maldivian rupee - Maldivian rupees - - - Maldivian Rufiyaa - Maldivian rufiyaa - Maldivian rufiyaas - - - Malawian Kwacha - Malawian Kwacha - Malawian Kwachas - - - Mexican Peso - Mexican peso - Mexican pesos - - - Mexican Silver Peso (1861-1992) - Mexican silver peso (MXP) - Mexican silver pesos (MXP) - - - Mexican Unidad de Inversion (UDI) - Mexican unidad de inversion (UDI) - Mexican unidads de inversion (UDI) - - - Malaysian Ringgit - Malaysian ringgit - Malaysian ringgits - - - Mozambican Escudo - Mozambican escudo - Mozambican escudos - - - Old Mozambican Metical - Old Mozambican metical - Old Mozambican meticals - - - Mozambican Metical - Mozambican metical - Mozambican meticals - - - Namibian Dollar - Namibian dollar - Namibian dollars - - - Nigerian Naira - Nigerian naira - Nigerian nairas - - - Nicaraguan Cordoba - Nicaraguan cordoba - Nicaraguan cordobas - - - Nicaraguan Cordoba Oro - Nicaraguan cordoba oro - Nicaraguan cordobas oro - - - Dutch Guilder - Dutch guilder - Dutch guilders - - - Norwegian Krone - Norwegian krone - Norwegian kroner - - - Nepalese Rupee - Nepalese rupee - Nepalese rupees - - - New Zealand Dollar - New Zealand dollar - New Zealand dollars - - - Omani Rial - Omani rial - Omani rials - - - Panamanian Balboa - Panamanian balboa - Panamanian balboas - - - Peruvian Inti - Peruvian inti - Peruvian intis - - - Peruvian Nuevo Sol - Peruvian nuevo sol - Peruvian nuevos soles - - - Peruvian Sol - Peruvian sol - Peruvian soles - - - Papua New Guinean Kina - Papua New Guinean kina - Papua New Guinean kina - - - Philippine Peso - Philippine peso - Philippine pesos - Php - - - Pakistani Rupee - Pakistani rupee - Pakistani rupees - - - Polish Zloty - Polish zloty - Polish zlotys - - - Polish Zloty (1950-1995) - Polish zloty (PLZ) - Polish zlotys (PLZ) - - - Portuguese Escudo - Portuguese escudo - Portuguese escudos - - - Paraguayan Guarani - Paraguayan guarani - Paraguayan guaranis - - - Qatari Rial - Qatari rial - Qatari rials - - - Rhodesian Dollar - Rhodesian dollar - Rhodesian dollars - - - Old Romanian Leu - Old Romanian leu - Old Romanian Lei - - - Romanian Leu - Romanian leu - Romanian lei - - - Serbian Dinar - Serbian dinar - Serbian dinars - - - Russian Ruble - Russian ruble - Russian rubles - - - Russian Ruble (1991-1998) - Russian ruble (RUR) - Russian rubles (RUR) - - - Rwandan Franc - Rwandan franc - Rwandan francs - - - Saudi Riyal - Saudi riyal - Saudi riyals - - - Solomon Islands Dollar - Solomon Islands dollar - Solomon Islands dollars - - - Seychellois Rupee - Seychellois rupee - Seychellois rupees - - - Old Sudanese Dinar - Old Sudanese dinar - Old Sudanese dinars - - - Sudanese Pound - Sudanese pound - Sudanese pounds - - - Old Sudanese Pound - Old Sudanese pound - Old Sudanese pounds - - - Swedish Krona - Swedish krona - Swedish kronor - - - Singapore Dollar - Singapore dollar - Singapore dollars - - - Saint Helena Pound - Saint Helena pound - Saint Helena pounds - - - Slovenian Tolar - Slovenian tolar - Slovenian tolars - - - Slovak Koruna - Slovak koruna - Slovak korunas - - - Sierra Leonean Leone - Sierra Leonean leone - Sierra Leonean leones - - - Somali Shilling - Somali shilling - Somali shillings - - - Surinamese Dollar - Surinamese dollar - Surinamese dollars - - - Suriname Guilder - Suriname guilder - Suriname guilders - - - São Tomé and Príncipe Dobra - São Tomé and Príncipe dobra - São Tomé and Príncipe dobras - - - Soviet Rouble - Soviet rouble - Soviet roubles - - - Salvadoran Colón - Salvadoran colón - Salvadoran colones - - - Syrian Pound - Syrian pound - Syrian pounds - - - Swazi Lilangeni - Swazi lilangeni - Swazi emalangeni - - - Thai Baht - Thai baht - Thai baht - - - Tajikistani Ruble - Tajikistani ruble - Tajikistani rubles - - - Tajikistani Somoni - Tajikistani somoni - Tajikistani somonis - - - Turkmenistani Manat - Turkmenistani manat - Turkmenistani manat - - - Turkmenistani New Manat - Turkmenistani new manat - Turkmenistani new manat - - - Tunisian Dinar - Tunisian dinar - Tunisian dinars - - - Tongan Paʻanga - Tongan paʻanga - Tongan paʻanga - - - Timorese Escudo - Timorese escudo - Timorese escudos - - - Old Turkish Lira - old Turkish lira - Old Turkish Lira - - - Turkish Lira - Turkish lira - Turkish Lira - - - Trinidad and Tobago Dollar - Trinidad and Tobago dollar - Trinidad and Tobago dollars - - - New Taiwan Dollar - New Taiwan dollar - New Taiwan dollars - - - Tanzanian Shilling - Tanzanian shilling - Tanzanian shillings - - - Ukrainian Hryvnia - Ukrainian hryvnia - Ukrainian hryvnias - - - Ukrainian Karbovanets - Ukrainian karbovanets - Ukrainian karbovantsiv - - - Ugandan Shilling (1966-1987) - Ugandan shilling (UGS) - Ugandan shillings (UGS) - - - Ugandan Shilling - Ugandan shilling - Ugandan shillings - - - US Dollar - US dollar - US dollars - $ - - - US Dollar (Next day) - US dollar (next day) - US dollars (next day) - - - US Dollar (Same day) - US dollar (same day) - US dollars (same day) - - - Uruguayan Peso en Unidades Indexadas - Uruguayan peso en unidades indexadas - Uruguayan pesos en unidades indexadas - - - Uruguayan Peso (1975-1993) - Uruguayan peso (UYP) - Uruguayan pesos (UYP) - - - Uruguayan Peso - Uruguayan peso - Uruguayan pesos - - - Uzbekistan Som - Uzbekistan som - Uzbekistan som - - - Venezuelan Bolívar - Venezuelan bolívar - Venezuelan bolívars - - - Venezuelan Bolívar Fuerte - Venezuelan bolívar fuerte - Venezuelan bolívars fuertes - - - Vietnamese Dong - Vietnamese dong - Vietnamese dong - - - Old Vietnamese Dong - Old Vietnamese dong - Old Vietnamese dong - - - Vanuatu Vatu - Vanuatu vatu - Vanuatu vatus - - - Samoan Tala - Samoan tala - Samoan tala - - - CFA Franc BEAC - CFA franc BEAC - CFA francs BEAC - - - Silver - Silver - - - Gold - Gold - - - European Composite Unit - European composite unit - European composite units - - - European Monetary Unit - European monetary unit - European monetary units - - - European Unit of Account (XBC) - European unit of account (XBC) - European units of account (XBC) - - - European Unit of Account (XBD) - European unit of account (XBD) - European units of account (XBD) - - - East Caribbean Dollar - East Caribbean dollar - East Caribbean dollars - - - Special Drawing Rights - special drawing rights - special drawing rights - - - European Currency Unit - European currency unit - European currency units - - - French Gold Franc - French gold franc - French gold francs - - - French UIC-Franc - French UIC-franc - French UIC-francs - - - CFA Franc BCEAO - CFA franc BCEAO - CFA francs BCEAO - - - Palladium - Palladium - - - CFP Franc - CFP franc - CFP francs - - - Platinum - Platinum - - - RINET Funds - RINET Funds - - - Testing Currency Code - Testing Currency Code - - - Unknown or Invalid Currency - unknown/invalid currency - - - Yemeni Dinar - Yemeni dinar - Yemeni dinars - - - Yemeni Rial - Yemeni rial - Yemeni rials - - - Yugoslavian Hard Dinar - Yugoslavian hard dinar - Yugoslavian hard dinars - - - Yugoslavian Noviy Dinar - Yugoslavian noviy dinar - Yugoslavian Noviy dinars - - - Yugoslavian Convertible Dinar - Yugoslavian convertible dinar - Yugoslavian convertible dinars - - - Yugoslavian Reformed Dinar - Yugoslavian reformed dinar - Yugoslavian reformed dinars - - - South African Rand (financial) - South African rand (financial) - South African rands (financial) - - - South African Rand - South African rand - South African rand - - - Zambian Kwacha - Zambian kwacha - Zambian kwachas - - - Zairean New Zaire - Zairean new zaire - Zairean new zaires - - - Zairean Zaire - Zairean zaire - Zairean zaires - - - Zimbabwean Dollar - Zimbabwean dollar - Zimbabwean dollars - - - Zimbabwean Dollar (2009) - Zimbabwean dollar (2009) - Zimbabwean dollars (2009) - - - Zimbabwean Dollar (2008) - Zimbabwean dollar (2008) - Zimbabwean dollars (2008) - - - - - - {0} day - {0} days - - - {0} hour - {0} hours - - - {0} minute - {0} minutes - - - {0} month - {0} months - - - {0} second - {0} seconds - - - {0} week - {0} weeks - - - {0} year - {0} years - - - - - yes:y - no:n - - - - diff --git a/lib/zend/Zend/Locale/Data/en_AS.xml b/lib/zend/Zend/Locale/Data/en_AS.xml deleted file mode 100644 index 3cec648488..0000000000 --- a/lib/zend/Zend/Locale/Data/en_AS.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/en_AU.xml b/lib/zend/Zend/Locale/Data/en_AU.xml deleted file mode 100644 index 4c8fad61bd..0000000000 --- a/lib/zend/Zend/Locale/Data/en_AU.xml +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - - - - - - - - EEEE, d MMMM y - - - - - d MMMM y - - - - - dd/MM/yyyy - - - - - d/MM/yy - - - - - - d MMMM - dd/MM - MM/yyyy - MMMM y - - - {0} - {1} - - M-M - - - E, d/MM - E, d/MM - E, d/MM - E, d/MM - - - MMM-MMM - - - E, d MMM - E, d MMM - E, d - E, d MMM - - - d MMM - d MMM - d-d MMM - - - d/MM - d/MM - d/MM - d/MM - - - d-d - - - h a - h a - h-h a - - - h:mm a - h:mm a - h:mm-h:mm a - h:mm-h:mm a - - - h:mm a - h:mm a v - h:mm-h:mm a v - h:mm-h:mm a v - - - h a - h a v - h-h a v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E, d/MM/yy - E, d/MM/yy - E, d/MM/yy - E, d/MM/yy - E, d/MM/yy - E, d/MM/yy - - - MMM-MMM y - MMM y - MMM y - - - E, d MMM - E, d MMM y - E, d - E, d MMM y - E, d MMM y - E, d MMM y - - - d MMM - d MMM y - d-d MMM y - d MMM y - d MMM y - - - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - - - - - - - - false - - - true - - - true - - - true - - - true - - - true - - - - - - - - ¤#,##0.00 - - - - - - $ - - - US$ - - - - diff --git a/lib/zend/Zend/Locale/Data/en_BE.xml b/lib/zend/Zend/Locale/Data/en_BE.xml deleted file mode 100644 index 80cf449ae4..0000000000 --- a/lib/zend/Zend/Locale/Data/en_BE.xml +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - EEEE d MMMM y - - - - - d MMM y - - - - - dd MMM y - - - - - dd/MM/yy - - - - - - - HH 'h' mm 'min' ss 's' zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - dd/MM - - - {0} - {1} - - M-M - - - E dd/MM - E dd/MM - E dd/MM - E dd/MM - - - MMM-MMM - - - E d MMM - E d MMM - E d - E d MMM - - - d MMM - d MMM - d-d MMM - - - dd/MM - dd/MM - dd/MM - dd/MM - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - - - MMM-MMM y - MMM y - MMM y - - - E d MMM - E d MMM y - E d - E d MMM y - E d MMM y - E d MMM y - - - d MMM - d MMM y - d-d MMM y - d MMM y - d MMM y - - - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - - - - - - - - - , - . - - - - - #,##0.00 ¤ - - - - - - #,##0.00 ¤;-#,##0.00 ¤ - , - . - - - - diff --git a/lib/zend/Zend/Locale/Data/en_BW.xml b/lib/zend/Zend/Locale/Data/en_BW.xml deleted file mode 100644 index 8402335fd5..0000000000 --- a/lib/zend/Zend/Locale/Data/en_BW.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - - - - - - - - - EEEE dd MMMM y - - - - - dd MMMM y - - - - - dd/MM/yy - - - - - - dd/MM - MMMM y - - - {0} - {1} - - M-M - - - E dd/MM - E dd/MM - E dd/MM - E dd/MM - - - MMM-MMM - - - E dd MMM - E dd MMM - E dd - E dd MMM - - - dd MMM - dd MMM - dd-dd MMM - - - dd/MM - dd/MM - dd/MM - dd/MM - - - d-d - - - h a - h a - h-h a - - - h:mm a - h:mm a - h:mm-h:mm a - h:mm-h:mm a - - - h:mm a - h:mm a v - h:mm-h:mm a v - h:mm-h:mm a v - - - h a - h a v - h-h a v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - - - MMM-MMM y - MMM y - MMM y - - - E dd MMM - E dd MMM y - E dd - E dd MMM y - E dd MMM y - E dd MMM y - - - dd MMM - dd MMM y - dd-dd MMM y - dd MMM y - dd MMM y - - - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - - - - - - - - - - - ¤#,##0.00 - - - - - - P - - - - diff --git a/lib/zend/Zend/Locale/Data/en_BZ.xml b/lib/zend/Zend/Locale/Data/en_BZ.xml deleted file mode 100644 index 42cbf4738d..0000000000 --- a/lib/zend/Zend/Locale/Data/en_BZ.xml +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - - - - - - - - dd MMMM y - - - - - dd MMMM y - - - - - dd-MMM-y - - - - - dd/MM/yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - dd/MM - MMMM y - - - {0} - {1} - - M-M - - - E, M/d - E, M/d - E, M/d - E, M/d - - - MMM-MMM - - - E, MMM d - E, MMM d - E, MMM d - E, MMM d - - - MMM d - MMM d - MMM d-d - - - M/d - M/d - M/d - M/d - - - d-d - - - h a - h a - h-h a - - - h:mm a - h:mm a - h:mm-h:mm a - h:mm-h:mm a - - - h:mm a - h:mm a v - h:mm-h:mm a v - h:mm-h:mm a v - - - h a - h a v - h-h a v - - - y-y - - - M/yy - M/yy - M/yy - M/yy - - - E, M/d/yy - E, M/d/yy - E, M/d/yy - E, M/d/yy - E, M/d/yy - E, M/d/yy - - - MMM-MMM y - MMM y - MMM y - - - E, MMM d - E, MMM d, y - E, MMM d - E, MMM d, y - E, MMM d, y - E, MMM d, y - - - MMM d - MMM d, y - MMM d-d, y - MMM d, y - MMM d, y - - - M/d/yy - M/d/yy - M/d/yy - M/d/yy - M/d/yy - M/d/yy - - - - - - - - - - - ¤#,##0.00 - - - - - - $ - - - US$ - - - - diff --git a/lib/zend/Zend/Locale/Data/en_CA.xml b/lib/zend/Zend/Locale/Data/en_CA.xml deleted file mode 100644 index b689ee1efc..0000000000 --- a/lib/zend/Zend/Locale/Data/en_CA.xml +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - - - - - - - - yyyy-MM-dd - - - - - yy-MM-dd - - - - - - MM-dd - MMM-yy - - - {0} - {1} - - M-M - - - E, MM-dd - E, MM-dd - E, MM-dd - E, MM-dd - - - MMM-MMM - - - E, MMM d - E, MMM d - E, MMM d - E, MMM d - - - MMM d - MMM d - MMM d-d - - - MM-dd - MM-dd - MM-dd - MM-dd - - - d-d - - - h a - h a - h-h a - - - h:mm a - h:mm a - h:mm-h:mm a - h:mm-h:mm a - - - h:mm a - h:mm a v - h:mm-h:mm a v - h:mm-h:mm a v - - - h a - h a v - h-h a v - - - y-y - - - yy-MM - yy-MM - yy-MM - yy-MM - - - E, yy-MM-dd - E, yy-MM-dd - E, yy-MM-dd - E, yy-MM-dd - E, yy-MM-dd - E, yy-MM-dd - - - MMM-MMM y - MMM y - MMM y - - - E, MMM d - E, MMM d, y - E, MMM d - E, MMM d, y - E, MMM d, y - E, MMM d, y - - - MMM d - MMM d, y - MMM d-d, y - MMM d, y - MMM d, y - - - yy-MM-dd - yy-MM-dd - yy-MM-dd - yy-MM-dd - yy-MM-dd - yy-MM-dd - - - - - - - - true - - - - - - - $ - - - US$ - - - - - diff --git a/lib/zend/Zend/Locale/Data/en_Dsrt.xml b/lib/zend/Zend/Locale/Data/en_Dsrt.xml deleted file mode 100644 index 7ecd8dfe34..0000000000 --- a/lib/zend/Zend/Locale/Data/en_Dsrt.xml +++ /dev/null @@ -1,1024 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 𐐎𐐲𐑉𐑊𐐼 - 𐐈𐑁𐑉𐐲𐐿𐐲 - 𐐤𐐱𐑉𐑃 𐐊𐑋𐐯𐑉𐐲𐐿𐐲 - 𐐝𐐵𐑃 𐐊𐑋𐐯𐑉𐐲𐐿𐐲 - 𐐄𐑇𐐨𐐰𐑌𐐨𐐲 - 𐐎𐐯𐑅𐐻𐐲𐑉𐑌 𐐈𐑁𐑉𐐲𐐿𐐲 - 𐐝𐐯𐑌𐐻𐑉𐐲𐑊 𐐊𐑋𐐯𐑉𐐲𐐿𐐲 - 𐐀𐑅𐐻𐐲𐑉𐑌 𐐈𐑁𐑉𐐲𐐿𐐲 - 𐐤𐐱𐑉𐑄𐐲𐑉𐑌 𐐈𐑁𐑉𐐲𐐿𐐲 - 𐐣𐐮𐐼𐑊 𐐈𐑁𐑉𐐮𐐿𐐲 - 𐐝𐐲𐑄𐐲𐑉𐑌 𐐈𐑁𐑉𐐲𐐿𐐲 - 𐐊𐑋𐐯𐑉𐐲𐐿𐐲𐑆 - 𐐤𐐱𐑉𐑄𐐲𐑉𐑌 𐐊𐑋𐐯𐑉𐐲𐐿𐐲 - 𐐗𐐯𐑉𐐲𐐺𐐨𐐲𐑌 - 𐐀𐑅𐐻𐐲𐑉𐑌 𐐁𐑈𐐲 - 𐐝𐐲𐑄𐐲𐑉𐑌 𐐁𐑈𐐲 - 𐐝𐐵𐑃-𐐀𐑅𐐻𐐲𐑉𐑌 𐐁𐑈𐐲 - 𐐝𐐲𐑄𐐲𐑉𐑌 𐐏𐐲𐑉𐐲𐐹 - 𐐉𐑅𐐻𐑉𐐩𐑊𐐨𐐲 𐐰𐑌𐐼 𐐤𐐭 𐐞𐐨𐑊𐐲𐑌𐐼 - 𐐣𐐯𐑊𐐲𐑌𐐨𐑈𐐲 - 𐐣𐐴𐐿𐑉𐐲𐑌𐐨𐑈𐐲𐑌 𐐡𐐨𐐾𐐲𐑌 - 𐐑𐐪𐑊𐐲𐑌𐐨𐑈𐐲 - 𐐝𐐵𐑃-𐐝𐐯𐑌𐐻𐑉𐐲𐑊 𐐁𐑈𐐲 - 𐐁𐑈𐐲 - 𐐝𐐯𐑌𐐻𐑉𐐲𐑊 𐐁𐑈𐐲 - 𐐎𐐯𐑅𐐻𐐲𐑉𐑌 𐐁𐑈𐐲 - 𐐏𐐲𐑉𐐲𐐹 - 𐐀𐑅𐐻𐐲𐑉𐑌 𐐏𐐲𐑉𐐲𐐹 - 𐐤𐐱𐑉𐑄𐐲𐑉𐑌 𐐏𐐲𐑉𐐲𐐹 - 𐐎𐐯𐑅𐐻𐐲𐑉𐑌 𐐏𐐲𐑉𐐲𐐹 - 𐐗𐐪𐑋𐐲𐑌𐐶𐐯𐑊𐑃 𐐲𐑂 𐐆𐑌𐐼𐐲𐐹𐐯𐑌𐐼𐐲𐑌𐐻 𐐝𐐻𐐩𐐻𐑅 - 𐐕𐐯𐐿𐐬𐑅𐑊𐐬𐑂𐐪𐐿𐐨𐐲 - 𐐢𐐰𐐻𐑌 𐐊𐑋𐐯𐑉𐐲𐐿𐐲 𐐰𐑌𐐼 𐑄 𐐗𐐯𐑉𐐲𐐺𐐨𐐲𐑌 - 𐐕𐐰𐑌𐐲𐑊 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐈𐑌𐐼𐐱𐑉𐐲 - 𐐏𐐭𐑌𐐴𐐼𐐮𐐼 𐐇𐑉𐐲𐐺 𐐇𐑋𐐲𐑉𐐩𐐻𐑅 - 𐐈𐑁𐑀𐐰𐑌𐐲𐑅𐐻𐐰𐑌 - 𐐈𐑌𐐻𐐨𐑀𐐶𐐲 𐐰𐑌𐐼 𐐒𐐪𐑉𐐺𐐷𐐭𐐼𐐲 - 𐐈𐑍𐑀𐐶𐐮𐑊𐐲 - 𐐈𐑊𐐺𐐩𐑌𐐨𐐲 - 𐐂𐑉𐑋𐐨𐑌𐐨𐐲 - 𐐤𐐯𐑄𐐲𐑉𐑊𐐲𐑌𐐼𐑆 𐐈𐑌𐐻𐐮𐑊𐐨𐑆 - 𐐈𐑌𐑀𐐬𐑊𐐲 - 𐐈𐑌𐐻𐐪𐑉𐐿𐐻𐐮𐐿𐐲 - 𐐂𐑉𐐾𐐲𐑌𐐻𐐨𐑌𐐲 - 𐐊𐑋𐐯𐑉𐐲𐐿𐐲𐑌 𐐝𐐲𐑋𐐬𐐲 - 𐐉𐑅𐐻𐑉𐐨𐐲 - 𐐉𐑅𐐻𐑉𐐩𐑊𐐨𐐲 - 𐐊𐑉𐐭𐐺𐐲 - 𐐈𐑊𐐰𐑌𐐼 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐈𐑆𐐲𐑉𐐺𐐴𐑈𐐪𐑌 - 𐐒𐐱𐑆𐑌𐐨𐐲 𐐰𐑌𐐼 𐐐𐐲𐑉𐐻𐑅𐐲𐑀𐐬𐑂𐐨𐑌𐐲 - 𐐒𐐪𐑉𐐺𐐩𐐼𐐬𐑅 - 𐐒𐐪𐑍𐑀𐑊𐐲𐐼𐐯𐑇 - 𐐒𐐯𐑊𐐾𐐲𐑋 - 𐐒𐐲𐑉𐐿𐐩𐑌𐐲 𐐙𐐰𐑅𐐬 - 𐐒𐐲𐑊𐑀𐐯𐑉𐐨𐐲 - 𐐒𐐪𐑉𐐩𐑌 - 𐐒𐐲𐑉𐐳𐑌𐐼𐐨 - 𐐒𐐲𐑌𐐨𐑌 - 𐐝𐐩𐑌𐐻 𐐒𐐪𐑉𐐻𐐩𐑊𐐲𐑋𐐨 - 𐐒𐐲𐑉𐑋𐐷𐐭𐐼𐐲 - 𐐒𐑉𐐭𐑌𐐴 - 𐐒𐐬𐑊𐐮𐑂𐐨𐐲 - 𐐒𐑉𐐮𐐼𐐮𐑇 𐐈𐑌𐐻𐐪𐑉𐐿𐐻𐐮𐐿 𐐓𐐯𐑉𐐲𐐻𐐱𐑉𐐨 - 𐐒𐑉𐐲𐑆𐐮𐑊 - 𐐒𐐲𐐸𐐪𐑋𐐲𐑅 - 𐐒𐐭𐐻𐐪𐑌 - 𐐒𐐭𐑂𐐩 𐐌𐑊𐐲𐑌𐐼 - 𐐒𐐪𐐻𐑅𐐶𐐪𐑌𐐲 - 𐐒𐐯𐑊𐐲𐑉𐐭𐑅 - 𐐒𐐲𐑊𐐨𐑆 - 𐐗𐐰𐑌𐐲𐐼𐐲 - 𐐗𐐬𐐿𐐬𐑆 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐗𐐪𐑍𐑀𐐬 - 𐐗𐐲𐑌𐑇𐐪𐑅𐐲 - 𐐝𐐯𐑌𐐻𐑉𐐲𐑊 𐐈𐑁𐑉𐐲𐐿𐐲𐑌 𐐡𐐨𐐹𐐲𐐺𐑊𐐮𐐿 - 𐐗𐐪𐑍𐑀𐐬 - 𐐒𐑉𐐪𐑆𐐲𐑂𐐮𐑊 - 𐐝𐐶𐐮𐐻𐑅𐐲𐑉𐑊𐐲𐑌𐐼 - 𐐌𐑂𐑉𐐨 𐐗𐐬𐑅𐐻 - 𐐗𐐳𐐿 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐕𐐨𐑊𐐩 - 𐐗𐐰𐑋𐐲𐑉𐐭𐑌 - 𐐕𐐴𐑌𐐲 - 𐐗𐐲𐑊𐐲𐑋𐐺𐐨𐐲 - 𐐗𐐱𐑅𐐻𐐲 𐐡𐐨𐐿𐐲 - 𐐝𐐲𐑉𐐺𐐨𐐲 𐐰𐑌𐐼 𐐣𐐪𐑌𐐲𐑌𐐨𐑀𐑉𐐬 - 𐐗𐐰𐑌𐐻𐐪𐑌 𐐰𐑌𐐼 𐐇𐑌𐐼𐐲𐑉𐐺𐐯𐑉𐐨 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐗𐐷𐐭𐐺𐐲 - 𐐗𐐩𐐹 𐐚𐐯𐑉𐐼𐐨 - 𐐗𐑉𐐮𐑅𐑋𐐲𐑅 𐐌𐑊𐐲𐑌𐐼 - 𐐝𐐴𐐹𐑉𐐲𐑅 - 𐐕𐐯𐐿 𐐡𐐨𐐹𐐲𐐺𐑊𐐮𐐿 - 𐐀𐑅𐐻 𐐖𐐲𐑉𐑋𐐲𐑌𐐨 - 𐐖𐐲𐑉𐑋𐐲𐑌𐐨 - 𐐖𐐲𐐺𐐭𐐼𐐨 - 𐐔𐐯𐑌𐑋𐐪𐑉𐐿 - 𐐔𐐪𐑋𐐲𐑌𐐨𐐿𐐲 - 𐐔𐐲𐑋𐐮𐑌𐐲𐐿𐐲𐑌 𐐡𐐨𐐹𐐲𐐺𐑊𐐮𐐿 - 𐐈𐑊𐐾𐐮𐑉𐐨𐐲 - 𐐇𐐿𐐶𐐲𐐼𐐱𐑉 - 𐐇𐑅𐐻𐐬𐑌𐐨𐐲 - 𐐀𐐾𐐲𐐹𐐻 - 𐐎𐐯𐑅𐐻𐐲𐑉𐑌 𐐝𐐲𐐸𐐱𐑉𐐲 - 𐐇𐑉𐐮𐐻𐑉𐐨𐐲 - 𐐝𐐹𐐩𐑌 - 𐐀𐑃𐐨𐐬𐐹𐐨𐐲 - 𐐙𐐮𐑌𐑊𐐲𐑌𐐼 - 𐐙𐐨𐐾𐐨 - 𐐙𐐪𐑊𐐿𐑊𐐲𐑌𐐼 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐣𐐴𐐿𐑉𐐲𐑌𐐨𐑈𐐲 - 𐐙𐐯𐑉𐐬 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐙𐑉𐐯𐑌𐐽 𐐝𐐲𐑄𐐲𐑉𐑌 𐐰𐑌𐐼 𐐈𐑌𐐻𐐪𐑉𐐿𐐻𐐮𐐿 𐐓𐐯𐑉𐐲𐐻𐐱𐑉𐐨𐑆 - 𐐙𐑉𐐰𐑌𐑅 - 𐐣𐐯𐐻𐑉𐐲𐐹𐐪𐑊𐐲𐐻𐐲𐑌 𐐙𐑉𐐰𐑌𐑅 - 𐐘𐐲𐐺𐐪𐑌 - 𐐏𐐭𐑌𐐴𐐻𐐲𐐼 𐐗𐐨𐑍𐐼𐐲𐑋 - 𐐘𐑉𐐲𐑌𐐩𐐼𐐲 - 𐐖𐐱𐑉𐐾𐐲 - 𐐙𐑉𐐯𐑌𐐽 𐐘𐐨𐐪𐑌𐐲 - 𐐘𐐲𐑉𐑌𐑆𐐨 - 𐐘𐐪𐑌𐐲 - 𐐖𐐲𐐺𐑉𐐱𐑊𐐻𐐲𐑉 - 𐐘𐑉𐐨𐑌𐑊𐐲𐑌𐐼 - 𐐘𐐰𐑋𐐺𐐨𐐲 - 𐐘𐐮𐑌𐐨 - 𐐘𐐶𐐪𐐼𐐲𐑊𐐭𐐹 - 𐐇𐐿𐐶𐐲𐐻𐐱𐑉𐐨𐐲𐑊 𐐘𐐮𐑌𐐨 - 𐐘𐑉𐐨𐑅 - 𐐝𐐵𐑃 𐐖𐐱𐑉𐐾𐐲 𐐰𐑌𐐼 𐑄 𐐝𐐵𐑃 𐐝𐐰𐑌𐐼𐐶𐐮𐐽 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐘𐐶𐐪𐐼𐐲𐑋𐐪𐑊𐐲 - 𐐘𐐶𐐪𐑋 - 𐐘𐐮𐑌𐐨-𐐒𐐮𐑅𐐵 - 𐐘𐐴𐐰𐑌𐐲 - 𐐐𐐬𐑍 𐐗𐐬𐑍 𐐝𐐈𐐡 𐐕𐐴𐑌𐐲 - 𐐐𐐲𐑉𐐼 𐐌𐑊𐐲𐑌𐐼 𐐰𐑌𐐼 𐐣𐐿𐐔𐐱𐑌𐐲𐑊𐐼 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐐𐐪𐑌𐐼𐐭𐑉𐐲𐑅 - 𐐗𐑉𐐬𐐩𐑇𐐲 - 𐐐𐐩𐐻𐐨 - 𐐐𐐲𐑍𐑀𐐲𐑉𐐨 - 𐐆𐑌𐐼𐐲𐑌𐐨𐑈𐐲 - 𐐌𐑉𐑊𐐲𐑌𐐼 - 𐐆𐑆𐑉𐐨𐐲𐑊 - 𐐌𐐲𐑊 𐐲𐑁 𐐣𐐰𐑌 - 𐐆𐑌𐐼𐐨𐐲 - 𐐒𐑉𐐮𐐼𐐮𐑇 𐐆𐑌𐐼𐐨𐐲𐑌 𐐄𐑇𐐲𐑌 𐐓𐐯𐑉𐐲𐐻𐐱𐑉𐐨 - 𐐆𐑉𐐰𐐿 - 𐐆𐑉𐐪𐑌 - 𐐌𐑅𐑊𐐲𐑌𐐼 - 𐐆𐐻𐐲𐑊𐐨 - 𐐖𐐲𐑉𐑆𐐨 - 𐐖𐐲𐑋𐐩𐐿𐐲 - 𐐖𐐱𐑉𐐼𐐲𐑌 - 𐐖𐐲𐐹𐐰𐑌 - 𐐖𐐪𐑌𐑅𐐻𐐲𐑌 𐐌𐑊𐐲𐑌𐐼 - 𐐗𐐯𐑌𐐷𐐲 - 𐐗𐐮𐑉𐑀𐐲𐑅𐐻𐐰𐑌 - 𐐗𐐰𐑋𐐺𐐬𐐼𐐨𐐲 - 𐐗𐐮𐑉𐐲𐐺𐐪𐐻𐐨 - 𐐗𐐪𐑋𐐲𐑉𐐬𐑆 - 𐐝𐐩𐑌𐐻 𐐗𐐮𐐻𐑅 𐐰𐑌𐐼 𐐤𐐨𐑂𐐮𐑅 - 𐐤𐐱𐑉𐑃 𐐗𐐲𐑉𐐨𐐲 - 𐐝𐐵𐑃 𐐗𐐲𐑉𐐨𐐲 - 𐐗𐐲𐐶𐐩𐐻 - 𐐗𐐩𐑋𐐲𐑌 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐗𐐲𐑆𐐪𐐿𐑅𐐻𐐪𐑌 - 𐐢𐐪𐐬𐑅 - 𐐢𐐯𐐺𐐲𐑌𐐪𐑌 - 𐐢𐐮𐐿𐐻𐐲𐑌𐑅𐐻𐐴𐑌 - 𐐟𐑉𐐨 𐐢𐐰𐑍𐐿𐐲 - 𐐢𐐴𐐺𐐮𐑉𐐨𐐲 - 𐐢𐐲𐑅𐐬𐑃𐐬 - 𐐢𐐮𐑃𐐲𐐶𐐩𐑌𐐨𐐲 - 𐐢𐐲𐐿𐑅𐐲𐑋𐐺𐐲𐑉𐑀 - 𐐢𐐰𐐻𐑂𐐨𐐲 - 𐐢𐐮𐐺𐐨𐐲 - 𐐣𐐲𐑉𐐪𐐿𐐬 - 𐐣𐐪𐑌𐐲𐐿𐐬 - 𐐣𐐱𐑊𐐼𐐬𐑂𐐲 - 𐐣𐐪𐑌𐐲𐑌𐐨𐑀𐑉𐐬 - 𐐝𐐩𐑌𐐻 𐐣𐐪𐑉𐐻𐑌 - 𐐣𐐰𐐼𐐲𐑀𐐰𐑅𐐿𐐲𐑉 - 𐐣𐐪𐑉𐑇𐐲𐑊 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐣𐐮𐐼𐐶𐐩 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐣𐐰𐑅𐐲𐐼𐐬𐑌𐐨𐐲 - 𐐣𐐪𐑊𐐨 - 𐐣𐐨𐐲𐑌𐑋𐐪𐑉 - 𐐣𐐪𐑍𐑀𐐬𐑊𐐨𐐲 - 𐐣𐐲𐐿𐐵 𐐝𐐈𐐡 𐐕𐐴𐑌𐐲 - 𐐤𐐱𐑉𐑄𐐲𐑉𐑌 𐐣𐐰𐑉𐐨𐐱𐑌𐐲 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐣𐐪𐑉𐐻𐑌𐐨𐐿 - 𐐣𐐱𐑉𐐲𐐻𐐩𐑌𐐨𐐲 - 𐐣𐐪𐑌𐐻𐑅𐐲𐑉𐐪𐐻 - 𐐣𐐱𐑊𐐻𐐲 - 𐐣𐐱𐑉𐐮𐑇𐐲𐑅 - 𐐣𐐪𐑊𐐼𐐨𐑂𐑆 - 𐐣𐐲𐑊𐐪𐐶𐐨 - 𐐣𐐯𐐿𐑅𐐲𐐿𐐬 - 𐐣𐐲𐑊𐐩𐑈𐐲 - 𐐣𐐬𐑆𐐰𐑋𐐺𐐨𐐿 - 𐐤𐐲𐑋𐐮𐐺𐐨𐐲 - 𐐤𐐭 𐐗𐐰𐑊𐐲𐐼𐐬𐑌𐐷𐐲 - 𐐤𐐴𐐾𐐲𐑉 - 𐐤𐐱𐑉𐑁𐐲𐐿 𐐌𐑊𐐲𐑌𐐼 - 𐐤𐐴𐐾𐐮𐑉𐐨𐐲 - 𐐤𐐮𐐿𐐲𐑉𐐪𐑀𐐶𐐲 - 𐐤𐐯𐑄𐐲𐑉𐑊𐐲𐑌𐐼𐑆 - 𐐤𐐱𐑉𐐶𐐩 - 𐐤𐐩𐐹𐐪𐑊 - 𐐔𐑉𐐱𐑌𐐮𐑍 𐐣𐐱𐐼 𐐢𐐰𐑌𐐼 - 𐐤𐐪𐐭𐑉𐐭 - 𐐤𐐭𐐻𐑉𐐲𐑊 𐐞𐐬𐑌 - 𐐤𐐷𐐭𐐩 - 𐐤𐐭 𐐞𐐨𐑊𐐲𐑌𐐼 - 𐐄𐑋𐐲𐑌 - 𐐑𐐰𐑌𐐲𐑋𐐪 - 𐐑𐐲𐑅𐐮𐑁𐐮𐐿 𐐌𐑊𐐲𐑌𐐼𐑆 𐐓𐑉𐐲𐑅𐐻 𐐓𐐯𐑉𐐲𐐻𐐱𐑉𐐨 - 𐐑𐐲𐑉𐐭 - 𐐙𐑉𐐯𐑌𐐽 𐐑𐐪𐑊𐐲𐑌𐐨𐑈𐐲 - 𐐑𐐰𐐹𐐷𐐳𐐲 𐐤𐐭 𐐘𐐮𐑌𐐨 - 𐐙𐐮𐑊𐐲𐐹𐐨𐑌𐑆 - 𐐑𐐰𐐿𐐲𐑅𐐻𐐰𐑌 - 𐐑𐐬𐑊𐐲𐑌𐐼 - 𐐝𐐩𐑌𐐻 𐐑𐐨𐐯𐑉 𐐰𐑌𐐼 𐐣𐐨𐐿𐐲𐑊𐐪𐑌 - 𐐑𐐮𐐻𐐿𐐯𐑉𐑌 - 𐐑𐐶𐐯𐑉𐐻𐐬 𐐡𐐨𐐿𐐬 - 𐐑𐐰𐑊𐐲𐑅𐐻𐐮𐑌𐐨𐐲𐑌 𐐓𐐯𐑉𐐲𐐻𐐱𐑉𐐨 - 𐐑𐐱𐑉𐐽𐐲𐑀𐐲𐑊 - 𐐏.𐐝. 𐐣𐐮𐑅𐐲𐑊𐐩𐑌𐐨𐐲𐑅 𐐑𐐲𐑅𐐮𐑁𐐮𐐿 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐑𐐲𐑊𐐵 - 𐐑𐐯𐑉𐐲𐑀𐐶𐐴 - 𐐑𐐰𐑌𐐲𐑋𐐪 𐐗𐐲𐑌𐐰𐑊 𐐞𐐬𐑌 - 𐐗𐐲𐐻𐐪𐑉 - 𐐍𐐻𐑊𐐴𐐮𐑍 𐐄𐑇𐐨𐐰𐑌𐐨𐐲 - 𐐏𐐲𐑉𐐲𐐹𐐨𐐲𐑌 𐐏𐐭𐑌𐐷𐐲𐑌 - 𐐡𐐨𐐷𐐭𐑌𐐷𐐲𐑌 - 𐐡𐐬𐑋𐐩𐑌𐐨𐐲 - 𐐝𐐲𐑉𐐺𐐨𐐲 - 𐐡𐐲𐑇𐐲 - 𐐡𐐲𐐶𐐪𐑌𐐼𐐲 - 𐐝𐐵𐐼𐐨 𐐊𐑉𐐩𐐺𐐨𐐲 - 𐐝𐐪𐑊𐐲𐑋𐐲𐑌 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐝𐐩𐑇𐐯𐑊𐑆 - 𐐝𐐭𐐼𐐰𐑌 - 𐐝𐐶𐐨𐐼𐑌 - 𐐝𐐮𐑍𐐲𐐹𐐱𐑉 - 𐐝𐐩𐑌𐐻 𐐐𐐯𐑊𐐲𐑌𐐲 - 𐐝𐑊𐐬𐑂𐐨𐑌𐐨𐐲 - 𐐝𐑂𐐪𐑊𐐺𐐪𐑉𐐼 𐐰𐑌𐐼 𐐖𐐰𐑌 𐐣𐐴𐐲𐑌 - 𐐝𐑊𐐬𐑂𐐪𐐿𐐨𐐲 - 𐐝𐐨𐐯𐑉𐐲 𐐢𐐨𐐬𐑌 - 𐐝𐐪𐑌 𐐣𐐲𐑉𐐨𐑌𐐬 - 𐐝𐐯𐑌𐐲𐑀𐐱𐑊 - 𐐝𐐲𐑋𐐪𐑊𐐨𐐲 - 𐐝𐐭𐑉𐐲𐑌𐐪𐑋 - 𐐝𐐵 𐐓𐐬𐑋 𐐰𐑌𐐼 𐐑𐑉𐐮𐑌𐐽𐐮𐐹𐐩 - 𐐏𐐭𐑌𐐷𐐲𐑌 𐐲𐑂 𐐝𐐬𐑂𐐨𐐯𐐻 𐐝𐐬𐑇𐐲𐑊𐐮𐑅𐐻 𐐡𐐨𐐹𐐲𐐺𐑊𐐮𐐿𐑅 - 𐐇𐑊 𐐝𐐰𐑊𐑂𐐲𐐼𐐱𐑉 - 𐐝𐐮𐑉𐐨𐐲 - 𐐝𐐶𐐪𐑆𐐨𐑊𐐰𐑌𐐼 - 𐐓𐐲𐑉𐐿𐑅 𐐰𐑌𐐼 𐐗𐐴𐐿𐐬𐑆 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐕𐐰𐐼 - 𐐙𐑉𐐯𐑌𐐽 𐐝𐐲𐑄𐐲𐑉𐑌 𐐓𐐯𐑉𐐲𐐻𐐱𐑉𐐨𐑆 - 𐐓𐐬𐑀𐐬 - 𐐓𐐴𐑊𐐰𐑌𐐼 - 𐐓𐐲𐐾𐐨𐐿𐐲𐑅𐐻𐐰𐑌 - 𐐓𐐬𐐿𐐯𐑊𐐵 - 𐐀𐑅𐐻 𐐓𐐨𐑋𐐱𐑉 - 𐐓𐐲𐑉𐐿𐑋𐐯𐑌𐐲𐑅𐐻𐐰𐑌 - 𐐓𐐪𐑍𐑀𐐲 - 𐐓𐐲𐑉𐐿𐐨 - 𐐓𐑉𐐮𐑌𐐮𐐼𐐰𐐼 𐐰𐑌𐐼 𐐓𐐲𐐺𐐩𐑀𐐬 - 𐐓𐐲𐑂𐐪𐑊𐐭 - 𐐓𐐴𐐶𐐪𐑌 - 𐐓𐐰𐑌𐑆𐐲𐑌𐐨𐐲 - 𐐏𐐭𐑀𐐰𐑌𐐼𐐲 - 𐐏𐐭𐑌𐐰𐐮𐐻𐐲𐐼 𐐝𐐻𐐩𐐻𐑅 𐐣𐐴𐑌𐐬𐑉 𐐍𐐻𐑊𐐴𐐨𐑍 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐏𐐭𐑌𐐴𐐻𐐲𐐼 𐐝𐐻𐐩𐐻𐑅 - 𐐏𐐳𐑉𐐲𐑀𐐶𐐴 - 𐐅𐑆𐐺𐐯𐐿𐐲𐑅𐐻𐐰𐑌 - 𐐚𐐰𐐼𐐲𐐿𐐲𐑌 - 𐐝𐐩𐑌𐐻 𐐚𐐮𐑌𐑅𐐲𐑌𐐻 𐐰𐑌𐐼 𐑄 𐐘𐑉𐐯𐑌𐐲𐐼𐐨𐑌𐑆 - 𐐤𐐱𐑉𐑃 𐐚𐐨𐐯𐐻𐑌𐐪𐑋 - 𐐒𐑉𐐮𐐼𐐮𐑇 𐐚𐐲𐑉𐐾𐐲𐑌 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐏.𐐝. 𐐚𐐲𐑉𐐾𐐲𐑌 𐐌𐑊𐐲𐑌𐐼𐑆 - 𐐚𐐨𐐯𐐻𐑌𐐪𐑋 - 𐐚𐐪𐑌𐐳𐐪𐐼𐐭 - 𐐎𐐪𐑊𐐮𐑅 𐐰𐑌𐐼 𐐙𐐭𐐻𐐭𐑌𐐲 - 𐐎𐐩𐐿 𐐌𐑊𐐲𐑌𐐼 - 𐐝𐐲𐑋𐐬𐐲 - 𐐑𐐨𐐹𐐲𐑊𐑆 𐐔𐐯𐑋𐐲𐐿𐑉𐐰𐐼𐐮𐐿 𐐡𐐨𐐹𐐲𐐺𐑊𐐮𐐿 𐐲𐑂 𐐏𐐯𐑋𐐲𐑌 - 𐐏𐐯𐑋𐐲𐑌 - 𐐣𐐪𐐷𐐱𐐻 - 𐐝𐐵𐑃 𐐈𐑁𐑉𐐲𐐿𐐲 - 𐐞𐐰𐑋𐐺𐐨𐐲 - 𐐞𐐮𐑋𐐺𐐪𐐺𐐶𐐩 - 𐐊𐑌𐐬𐑌 𐐬𐑉 𐐆𐑌𐑂𐐰𐑊𐐮𐐼 𐐡𐐨𐐾𐐲𐑌 - - - 𐐓𐑉𐐲𐐼𐐮𐑇𐐲𐑌𐑊 𐐖𐐲𐑉𐑋𐐲𐑌 𐐱𐑉𐑃𐐪𐑀𐑉𐐲𐑁𐐨 - 𐐖𐐲𐑉𐑋𐐲𐑌 𐐱𐑉𐑃𐐪𐑀𐑉𐐲𐑁𐐨 𐐲𐑂 1996 - 𐐢𐐩𐐻 𐐣𐐮𐐼𐑊 𐐙𐑉𐐯𐑌𐐽 𐐻𐐭 1606 - 𐐊𐑉𐑊𐐨 𐐣𐐪𐐼𐐲𐑉𐑌 𐐙𐑉𐐯𐑌𐐽 - 𐐀𐑅𐐻𐐲𐑉𐑌 𐐂𐑉𐑋𐐨𐑌𐐨𐐲𐑌 - 𐐎𐐯𐑅𐐻𐐲𐑉𐑌 𐐂𐑉𐑋𐐨𐑌𐐨𐐲𐑌 - 𐐏𐐭𐑌𐐲𐑁𐐴𐐼 𐐓𐐲𐑉𐐿𐐮𐐿 𐐢𐐰𐐻𐑌 𐐈𐑊𐑁𐐲𐐺𐐲𐐻 - 𐐆𐐙𐐈 𐐙𐐬𐑌𐐯𐐻𐐮𐐿𐑅 - 𐐣𐐪𐑌𐐲𐐻𐐪𐑌𐐮𐐿 - 𐐑𐐱𐑊𐐨𐐻𐐱𐑌𐐮𐐿 - 𐐗𐐲𐑋𐐹𐐷𐐭𐐻𐐯𐑉 - 𐐡𐐲𐑂𐐴𐑆𐐼 𐐉𐑉𐑃𐐪𐑀𐑉𐐲𐑁𐐨 - 𐐝𐐿𐐪𐐼𐐮𐑇 𐐝𐐻𐐰𐑌𐐼𐐲𐑉𐐼 𐐆𐑍𐑊𐐮𐑇 - - - 𐐏𐐝 - 𐑋𐐯𐐻𐑉𐐮𐐿 - - - - [𐐨-𐑏] - [a-z] - [a-z] - - - - - - - - 𐐖𐐰𐑌 - 𐐙𐐯𐐺 - 𐐣𐐪𐑉 - 𐐁𐐹𐑉 - 𐐣𐐩 - 𐐖𐐭𐑌 - 𐐖𐐭𐑊 - 𐐂𐑀 - 𐐝𐐯𐐹 - 𐐉𐐿𐐻 - 𐐤𐐬𐑂 - 𐐔𐐨𐑅 - - - 𐐖 - 𐐙 - 𐐣 - 𐐁 - 𐐣 - 𐐖 - 𐐖 - 𐐂 - 𐐝 - 𐐉 - 𐐤 - 𐐔 - - - 𐐖𐐰𐑌𐐷𐐭𐐯𐑉𐐨 - 𐐙𐐯𐐺𐑉𐐭𐐯𐑉𐐨 - 𐐣𐐪𐑉𐐽 - 𐐁𐐹𐑉𐐮𐑊 - 𐐣𐐩 - 𐐖𐐭𐑌 - 𐐖𐐭𐑊𐐴 - 𐐂𐑀𐐲𐑅𐐻 - 𐐝𐐯𐐹𐐻𐐯𐑋𐐺𐐲𐑉 - 𐐉𐐿𐐻𐐬𐐺𐐲𐑉 - 𐐤𐐬𐑂𐐯𐑋𐐺𐐲𐑉 - 𐐔𐐨𐑅𐐯𐑋𐐺𐐲𐑉 - - - - - 𐐖𐐰𐑌 - 𐐣𐐪𐑉 - 𐐁𐐹𐑉 - 𐐣𐐩 - 𐐖𐐭𐑌 - 𐐖𐐭𐑊 - 𐐂𐑀 - 𐐝𐐯𐐹 - 𐐉𐐿𐐻 - 𐐤𐐬𐑂 - 𐐔𐐨𐑅 - - - 𐐖 - 𐐙 - 𐐣 - 𐐁 - 𐐣 - 𐐖 - 𐐖 - 𐐂 - 𐐝 - 𐐉 - 𐐤 - 𐐔 - - - 𐐖𐐰𐑌𐐷𐐭𐐯𐑉𐐨 - 𐐣𐐪𐑉𐐽 - 𐐁𐐹𐑉𐐮𐑊 - 𐐣𐐩 - 𐐖𐐭𐑌 - 𐐖𐐭𐑊𐐴 - 𐐂𐑀𐐲𐑅𐐻 - 𐐝𐐯𐐹𐐻𐐯𐑋𐐺𐐲𐑉 - 𐐉𐐿𐐻𐐬𐐺𐐲𐑉 - 𐐤𐐬𐑂𐐯𐑋𐐺𐐲𐑉 - 𐐔𐐨𐑅𐐯𐑋𐐺𐐲𐑉 - - - - - - - 𐐝𐐲𐑌 - 𐐣𐐲𐑌 - 𐐓𐐭𐑆 - 𐐎𐐯𐑌 - 𐐛𐐲𐑉 - 𐐙𐑉𐐴 - 𐐝𐐰𐐻 - - - 𐐝𐐲𐑌𐐼𐐩 - 𐐣𐐲𐑌𐐼𐐩 - 𐐓𐐭𐑆𐐼𐐩 - 𐐎𐐯𐑌𐑆𐐼𐐩 - 𐐛𐐲𐑉𐑆𐐼𐐩 - 𐐙𐑉𐐴𐐼𐐩 - 𐐝𐐰𐐻𐐲𐑉𐐼𐐩 - - - - - 𐐝 - 𐐣 - 𐐓 - 𐐎 - 𐐛 - 𐐙 - 𐐝 - - - - - - - 𐐗1 - 𐐗2 - 𐐗3 - 𐐗4 - - - 1𐑅𐐻 𐐿𐐶𐐪𐑉𐐻𐐲𐑉 - 2𐑌𐐼 𐐿𐐶𐐪𐑉𐐻𐐲𐑉 - 3𐑉𐐼 𐐿𐐶𐐪𐑉𐐻𐐲𐑉 - 4𐑉𐑃 𐐿𐐶𐐪𐑉𐐻𐐲𐑉 - - - - 𐐈𐐣 - 𐐑𐐣 - - - 𐐒𐐲𐑁𐐬𐑉 𐐗𐑉𐐴𐑅𐐻 - 𐐈𐑌𐐬 𐐔𐐱𐑋𐐮𐑌𐐨 - - - 𐐒𐐗 - 𐐈𐐔 - - - 𐐒 - 𐐈 - - - - - 𐐇𐑉𐐲 - - - 𐐏𐐨𐑉 - - - 𐐣𐐲𐑌𐑃 - - - 𐐎𐐨𐐿 - - - 𐐔𐐩 - 𐐛𐑉𐐨 𐐼𐐩𐑆 𐐲𐑀𐐬 - 𐐜 𐐼𐐩 𐐺𐐲𐑁𐐬𐑉 𐐷𐐯𐑅𐐻𐐲𐑉𐐼𐐩 - 𐐏𐐯𐑅𐐻𐐲𐑉𐐼𐐩 - 𐐓𐐲𐐼𐐩 - 𐐓𐐲𐑋𐐱𐑉𐐬 - 𐐜 𐐼𐐩 𐐰𐑁𐐻𐐲𐑉 𐐻𐐲𐑋𐐱𐑉𐐬 - 𐐛𐑉𐐨 𐐼𐐩𐑆 𐑁𐑉𐐲𐑋 𐑌𐐵 - - - 𐐔𐐩 𐐲𐑂 𐑄 𐐎𐐨𐐿 - - - 𐐈𐐣/𐐑𐐣 - - - 𐐍𐑉 - - - 𐐣𐐮𐑌𐐲𐐻 - - - 𐐝𐐯𐐿𐐲𐑌𐐼 - - - 𐐞𐐬𐑌 - - - - - - 𐐘𐐣𐐓 {0} - 𐐘𐐣𐐓 - {0} 𐐓𐐴𐑋 - - 𐐊𐑌𐑌𐐬𐑌 - - - 𐐝𐐵𐑃 𐐑𐐬𐑊 - - - 𐐣𐐮𐐼𐐶𐐩 - - - 𐐖𐐪𐑌𐑅𐐻𐐲𐑌 - - - 𐐎𐐩𐐿 - - - 𐐈𐐼𐐰𐐿 - - - 𐐤𐐬𐑋 - - - 𐐐𐐪𐑌𐐲𐑊𐐭𐑊𐐭 - - - 𐐁𐑍𐐿𐐲𐑉𐐮𐐾 - - - 𐐏𐐰𐐿𐐭𐐻𐐰𐐻 - - - 𐐖𐐭𐑌𐐬 - - - 𐐢𐐱𐑅 𐐈𐑌𐐾𐐲𐑊𐑅 - - - 𐐒𐐱𐐮𐑆𐐨 - - - 𐐙𐐨𐑌𐐮𐐿𐑅 - - - 𐐟𐐮𐐹𐑉𐐱𐐿 - - - 𐐔𐐯𐑌𐑂𐐲𐑉 - - - 𐐤𐐭 𐐝𐐩𐑊𐐲𐑋, 𐐤𐐱𐑉𐑃 𐐔𐐲𐐿𐐬𐐼𐐲 - - - 𐐝𐐯𐑌𐐻𐐲𐑉, 𐐤𐐱𐑉𐑃 𐐔𐐲𐐿𐐬𐐼𐐲 - - - 𐐟𐐮𐐿𐐪𐑀𐐬 - - - 𐐣𐐲𐑌𐐪𐑋𐐲𐑌𐐨 - - - 𐐚𐐮𐑌𐑅𐐯𐑌𐑆, 𐐆𐑌𐐼𐐨𐐰𐑌𐐲 - - - 𐐑𐐨𐐻𐐲𐑉𐑆𐐺𐐲𐑉𐑀, 𐐆𐑌𐐼𐐨𐐰𐑌𐐲 - - - 𐐓𐐯𐑊 𐐝𐐮𐐼𐐨, 𐐆𐑌𐐼𐐨𐐰𐑌𐐲 - - - 𐐤𐐪𐐿𐑅, 𐐆𐑌𐐼𐐨𐐰𐑌𐐲 - - - 𐐎𐐮𐑌𐐲𐑋𐐰𐐿, 𐐆𐑌𐐼𐐨𐐰𐑌𐐲 - - - 𐐣𐐲𐑉𐐯𐑍𐑀𐐬, 𐐆𐑌𐐼𐐨𐐰𐑌𐐲 - - - 𐐆𐑌𐐼𐐨𐐲𐑌𐐰𐐹𐐬𐑊𐐲𐑅 - - - 𐐢𐐭𐐶𐐨𐑂𐐮𐑊 - - - 𐐚𐐯𐑂𐐩, 𐐆𐑌𐐼𐐨𐐰𐑌𐐲 - - - 𐐣𐐪𐑌𐐻𐐲𐑅𐐯𐑊𐐬, 𐐗𐐲𐑌𐐻𐐲𐐿𐐨 - - - 𐐔𐐲𐐻𐑉𐐱𐐮𐐻 - - - 𐐤𐐭 𐐏𐐱𐑉𐐿 - - - - 𐐊𐑊𐐰𐑅𐐿𐐲𐐓𐐴𐑋 - 𐐊𐑊𐐰𐑅𐐿𐐲 𐐝𐐻𐐰𐑌𐐼𐐲𐑉𐐼 𐐓𐐴𐑋 - 𐐊𐑊𐐰𐑅𐐿𐐲𐐔𐐩𐑊𐐴𐐻 𐐓𐐴𐑋 - - - 𐐊𐐗𐐓 - 𐐊𐐗𐐝𐐓 - 𐐊𐐗𐐔𐐓 - - - - - 𐐊𐑊𐐰𐑅𐐿𐐲-𐐐𐐲𐐶𐐴𐐨 𐐓𐐴𐑋 - 𐐊𐑊𐐰𐑅𐐿𐐲-𐐐𐐲𐐶𐐴𐐨 𐐝𐐻𐐰𐑌𐐼𐐲𐑉𐐼 𐐓𐐴𐑋 - 𐐊𐑊𐐰𐑅𐐿𐐲-𐐐𐐲𐐶𐐴𐐨 𐐔𐐩𐑊𐐴𐐻 𐐓𐐴𐑋 - - - 𐐊𐐐𐐓 - 𐐊𐐐𐐝𐐓 - 𐐊𐐐𐐔𐐓 - - - - - 𐐝𐐯𐑌𐐻𐑉𐐲𐑊 𐐓𐐴𐑋 - 𐐝𐐯𐑌𐐻𐑉𐐲𐑊 𐐝𐐻𐐰𐑌𐐼𐐲𐑉𐐼 𐐓𐐴𐑋 - 𐐝𐐯𐑌𐐻𐑉𐐲𐑊 𐐔𐐩𐑊𐐴𐐻 𐐓𐐴𐑋 - - - 𐐝𐐓 - 𐐝𐐝𐐓 - 𐐝𐐔𐐓 - - - - - 𐐀𐑅𐐻𐐲𐑉𐑌 𐐓𐐴𐑋 - 𐐀𐑅𐐻𐐲𐑉𐑌 𐐝𐐻𐐰𐑌𐐼𐐲𐑉𐐼 𐐓𐐴𐑋 - 𐐀𐑅𐐻𐐲𐑉𐑌 𐐔𐐩𐑊𐐴𐐻 𐐓𐐴𐑋 - - - 𐐀𐐓 - 𐐀𐐝𐐓 - 𐐀𐐔𐐓 - - - - - 𐐣𐐵𐑌𐐻𐐲𐑌 𐐓𐐴𐑋 - 𐐣𐐵𐑌𐐻𐐲𐑌 𐐝𐐻𐐰𐑌𐐼𐐲𐑉𐐼 𐐓𐐴𐑋 - 𐐣𐐵𐑌𐐻𐐲𐑌 𐐔𐐩𐑊𐐴𐐻 𐐓𐐴𐑋 - - - 𐐣𐐓 - 𐐣𐐝𐐓 - 𐐣𐐔𐐓 - - - - - 𐐑𐐲𐑅𐐮𐑁𐐮𐐿 𐐓𐐴𐑋 - 𐐑𐐲𐑅𐐮𐑁𐐮𐐿 𐐝𐐻𐐰𐑌𐐼𐐲𐑉𐐼 𐐓𐐴𐑋 - 𐐑𐐲𐑅𐐮𐑁𐐮𐐿 𐐔𐐩𐑊𐐴𐐻 𐐓𐐴𐑋 - - - 𐐑𐐓 - 𐐑𐐝𐐓 - 𐐑𐐔𐐓 - - - - - 𐐈𐐻𐑊𐐰𐑌𐐻𐐮𐐿 𐐓𐐴𐑋 - 𐐈𐐻𐑊𐐰𐑌𐐻𐐮𐐿 𐐝𐐻𐐰𐑌𐐼𐐲𐑉𐐼 𐐓𐐴𐑋 - 𐐈𐐻𐑊𐐰𐑌𐐻𐐮𐐿 𐐔𐐩𐑊𐐴𐐻 𐐓𐐴𐑋 - - - 𐐈𐐓 - 𐐈𐐝𐐓 - 𐐈𐐔𐐓 - - - - - 𐐒𐐯𐑉𐐮𐑍 𐐓𐐴𐑋 - 𐐒𐐯𐑉𐐮𐑍 𐐝𐐻𐐰𐑌𐐼𐐲𐑉𐐼 𐐓𐐴𐑋 - 𐐒𐐯𐑉𐐮𐑍 𐐔𐐩𐑊𐐴𐐻 𐐓𐐴𐑋 - - - 𐐒𐐓 (𐐒𐐯𐑉𐐮𐑍 ) - 𐐒𐐝𐐓 (𐐒𐐯𐑉𐐮𐑍 ) - 𐐒𐐔𐐓 (𐐒𐐯𐑉𐐮𐑍 ) - - - - - 𐐐𐐱𐑍 𐐗𐐱𐑍 𐐓𐐴𐑋 - 𐐐𐐱𐑍 𐐗𐐱𐑍 𐐝𐐲𐑋𐐲𐑉 𐐓𐐴𐑋 - - - 𐐐𐐗𐐓 - 𐐐𐐗𐐝𐐓 - - - - - 𐐤𐐭𐑁𐐲𐑌𐐼𐑊𐐲𐑌𐐼 𐐓𐐴𐑋 - 𐐤𐐭𐑁𐐲𐑌𐐼𐑊𐐲𐑌𐐼 𐐝𐐻𐐰𐑌𐐼𐐲𐑉𐐼 𐐓𐐴𐑋 - 𐐤𐐭𐑁𐐲𐑌𐐼𐑊𐐲𐑌𐐼 𐐔𐐩𐑊𐐴𐐻 𐐓𐐴𐑋 - - - 𐐤𐐓 - 𐐤𐐝𐐓 - 𐐤𐐔𐐓 - - - - - 𐐏𐐭𐐿𐐪𐑌 𐐔𐐩𐑊𐐴𐐻 𐐓𐐴𐑋 - 𐐏𐐭𐐿𐐪𐑌 𐐝𐐻𐐰𐑌𐐼𐐲𐑉𐐼 𐐓𐐴𐑋 - 𐐏𐐭𐐿𐐪𐑌 𐐔𐐩𐑊𐐴𐐻 𐐓𐐴𐑋 - - - 𐐏𐐓 - 𐐏𐐝𐐓 - 𐐏𐐔𐐓 - - - - - - - {0} 𐐼𐐩 - {0} 𐐼𐐩𐑆 - - - {0} 𐐵𐑉 - {0} 𐐵𐑉𐑆 - - - {0} 𐑋𐐮𐑌𐐲𐐻 - {0} 𐑋𐐮𐑌𐐲𐐻𐑅 - - - {0} 𐑋𐐲𐑌𐑃𐑅 - {0} 𐑋𐐲𐑌𐑃 - - - {0} 𐑅𐐯𐐿𐐲𐑌𐐼 - {0} 𐑅𐐯𐐿𐐲𐑌𐐼𐑆 - - - {0} 𐐶𐐨𐐿 - {0} 𐐶𐐨𐐿𐑅 - - - {0} 𐐷𐐮𐑉 - {0} 𐐷𐐮𐑉𐑆 - - - - - 𐐷𐐯𐑅:𐐷 - 𐑌𐐬:𐑌 - - - diff --git a/lib/zend/Zend/Locale/Data/en_Dsrt_US.xml b/lib/zend/Zend/Locale/Data/en_Dsrt_US.xml deleted file mode 100644 index 89b20cd0c4..0000000000 --- a/lib/zend/Zend/Locale/Data/en_Dsrt_US.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Mundo - África - América del Norte - Suramérica - Oceanía - África occidental - Centroamérica - África oriental - África septentrional - África central - África meridional - Américas - Norteamérica - Caribe - Asia oriental - Asia meridional - Sudeste asiático - Europa meridional - Australia y Nueva Zelanda - Melanesia - Micronesia [057] - Polinesia - Asia centromeridional - Asia - Asia central - Asia occidental - Europa - Europa oriental - Europa septentrional - Europa occidental - Comunidad de Estados Independientes - Latinoamérica y el Caribe - Andorra - Emiratos Árabes Unidos - Afganistán - Antigua y Barbuda - Anguila - Albania - Armenia - Antillas Neerlandesas - Angola - Antártida - Argentina - Samoa Americana - Austria - Australia - Aruba - Islas Åland - Azerbaiyán - Bosnia-Herzegovina - Barbados - Bangladesh - Bélgica - Burkina Faso - Bulgaria - Bahréin - Burundi - Benín - San Bartolomé - Bermudas - Brunéi - Bolivia - Brasil - Bahamas - Bután - Isla Bouvet - Botsuana - Bielorrusia - Belice - Canadá - Islas Cocos - República Democrática del Congo - República Centroafricana - Congo - Suiza - Costa de Marfil - Islas Cook - Chile - Camerún - China - Colombia - Costa Rica - Serbia y Montenegro - Cuba - Cabo Verde - Isla Christmas - Chipre - República Checa - Alemania - Yibuti - Dinamarca - Dominica - República Dominicana - Argelia - Ecuador - Estonia - Egipto - Sáhara Occidental - Eritrea - España - Etiopía - Finlandia - Fiyi - Islas Malvinas - Micronesia - Islas Feroe - Francia - Gabón - Reino Unido - Granada - Georgia - Guayana Francesa - Guernsey - Ghana - Gibraltar - Groenlandia - Gambia - Guinea - Guadalupe - Guinea Ecuatorial - Grecia - Islas Georgia del Sur y Sandwich del Sur - Guatemala - Guam - Guinea-Bissau - Guyana - Región Administrativa Especial de Hong Kong de la República Popular China - Islas Heard y McDonald - Honduras - Croacia - Haití - Hungría - Indonesia - Irlanda - Israel - Isla de Man - India - Territorio Británico del Océano Índico - Iraq - Irán - Islandia - Italia - Jersey - Jamaica - Jordania - Japón - Kenia - Kirguistán - Camboya - Kiribati - Comoras - San Cristóbal y Nieves - Corea del Norte - Corea del Sur - Kuwait - Islas Caimán - Kazajistán - Laos - Líbano - Santa Lucía - Liechtenstein - Sri Lanka - Liberia - Lesoto - Lituania - Luxemburgo - Letonia - Libia - Marruecos - Mónaco - Moldavia - Montenegro - San Martín - Madagascar - Islas Marshall - Macedonia - Mali - Myanmar - Mongolia - Región Administrativa Especial de Macao de la República Popular China - Islas Marianas del Norte - Martinica - Mauritania - Montserrat - Malta - Mauricio - Maldivas - Malaui - México - Malasia - Mozambique - Namibia - Nueva Caledonia - Níger - Isla Norfolk - Nigeria - Nicaragua - Países Bajos - Noruega - Nepal - Nauru - Isla Niue - Nueva Zelanda - Omán - Panamá - Perú - Polinesia Francesa - Papúa Nueva Guinea - Filipinas - Pakistán - Polonia - San Pedro y Miquelón - Pitcairn - Puerto Rico - Palestina - Portugal - Palau - Paraguay - Qatar - Territorios alejados de Oceanía - Unión Europea - Reunión - Rumanía - Serbia - Rusia - Ruanda - Arabia Saudí - Islas Salomón - Seychelles - Sudán - Suecia - Singapur - Santa Elena - Eslovenia - Svalbard y Jan Mayen - Eslovaquia - Sierra Leona - San Marino - Senegal - Somalia - Surinam - Santo Tomé y Príncipe - El Salvador - Siria - Suazilandia - Islas Turcas y Caicos - Chad - Territorios Australes Franceses - Togo - Tailandia - Tayikistán - Tokelau - Timor Oriental - Turkmenistán - Túnez - Tonga - Turquía - Trinidad y Tobago - Tuvalu - Taiwán - Tanzania - Ucrania - Uganda - Islas menores alejadas de los Estados Unidos - Estados Unidos - Uruguay - Uzbekistán - Ciudad del Vaticano - San Vicente y las Granadinas - Venezuela - Islas Vírgenes Británicas - Islas Vírgenes de los Estados Unidos - Vietnam - Vanuatu - Wallis y Futuna - Samoa - Yemen - Mayotte - Sudáfrica - Zambia - Zimbabue - Región desconocida o no válida - - - Ortografía alemana tradicional - Ortografía alemana de 1996 - Armenio oriental - alfabeto fonético internacional IPA - Monotónico - Politónico - Ordenador - Ortografía revisada - Valenciano - - - calendario - intercalación - moneda - - - orden del chino tradicional - Big5 - calendario budista - calendario chino - orden directo - orden del chino simplificado - GB2312 - calendario gregoriano - calendario hebreo - calendario nacional hindú - calendario islámico - calendario civil islámico - calendario japonés - orden de listín telefónico - orden pinyin - calendario de la República Popular de China - orden de los trazos - orden tradicional - - - estadounidense - métrico - - - Idioma: {0} - Dialecto: {0} - Región: {0} - - - - titlecase-firstword - lowercase-words - lowercase-words - lowercase-words - lowercase-words - lowercase-words - lowercase-words - lowercase-words - lowercase-words - lowercase-words - - - [a á b-e é f-i í j-n ñ o ó p-u ú ü v-z] - [à ă â å ä ã ā æ-è ĕ ê ë ē ì ĭ î ï ī º ò ŏ ô ö ø ō œ ß ù ŭ û ū ÿ] - [a-z] - - - ‘ - ’ - “ - ” - - - {0} – {1} - - - - - - ene - feb - mar - abr - may - jun - jul - ago - sep - oct - nov - dic - - - enero - febrero - marzo - abril - mayo - junio - julio - agosto - septiembre - octubre - noviembre - diciembre - - - - - E - F - M - A - M - J - J - A - S - O - N - D - - - - - - - dom - lun - mar - mié - jue - vie - sáb - - - domingo - lunes - martes - miércoles - jueves - viernes - sábado - - - - - D - L - M - M - J - V - S - - - - - - - T1 - T2 - T3 - T4 - - - 1er trimestre - 2º trimestre - 3er trimestre - 4º trimestre - - - - - 1 - 2 - 3 - 4 - - - - a.m. - p.m. - - - antes de Cristo - anno Dómini - - - a.C. - d.C. - - - - - - EEEE d 'de' MMMM 'de' y - - - - - d 'de' MMMM 'de' y - - - - - dd/MM/yyyy - - - - - dd/MM/yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - EEE d - HH:mm - HH:mm:ss - H:mm - L - E, d-M - LLL - E d MMM - E d MMMM - d 'de' MMMM - d MMM - dd-MMM - d/MM - MM/dd - d/M - d - hh:mm a - hh:mm:ss a - mm:ss - mm:ss - y - M/yyyy - EEE d/M/yyyy - MMM y - EEE, d MMM y - MMMM 'de' y - Q yyyy - QQQ yyyy - MM/yy - MMM-yy - Q yy - QQQQ 'de' yy - MM/yyyy - - - {0} – {1} - - M–M - - - E d/M – E d/M - E d/M – E d/M - - - MMM–MMM - - - E d MMM – E d MMM - E d MMM – E d MMM - - - LLLL–LLLL - - - d MMM – d MMM - d–d MMM - - - d/M – d/M - d/M – d/M - - - d–d - - - H–H - H–H - - - H:mm – H:mm - H:mm – H:mm - H:mm – H:mm - - - H:mm – H:mm v - H:mm – H:mm v - H:mm – H:mm v - - - H–H v - H–H v - - - y–y - - - M/yy – M/yy - M/yy – M/yy - - - E d/M/yy – E d/M/yy - E d/M/yy – E d/M/yy - E d/M/yy – E d/M/yy - - - MMM–MMM y - MMM y – MMM y - - - E d MMM – E d MMM y - E d MMM – E d MMM y - E d MMM y – E d MMM y - - - MM–MM yyyy - MM-yyyy – MM-yyyy - - - d MMM – d MMM y - d–d MMM y - d MMM y – d MMM y - - - d/M/yy – d/M/yy - M/d/yy – M/d/yy - d/M/yy – d/M/yy - - - - - - era - - - año - - - mes - - - semana - - - día - Hace tres días - antes de ayer - ayer - hoy - mañana - pasado mañana - Dentro de tres días - - - día de la semana - - - periodo del día - - - hora - - - minuto - - - segundo - - - zona - - - - - - +HH:mm;-HH:mm - GMT{0} - Hora de {0} - {1} ({0}) - - Desconocida - - - Anguila - - - Tirana - - - Ereván - - - Polo Sur - - - Dumont d'Urville - - - Río Gallegos - - - Tucumán - - - Córdoba - - - Hora de Argentina (Buenos Aires) - - - Viena - - - Adelaida - - - Sídney - - - Bakú - - - Bruselas - - - Sofía - - - Bahráin - - - Portonovo - - - Bermudas - - - Brunéi - - - Eirunepé - - - Río Branco - - - Cuiabá - - - Belém - - - Araguaína - - - São Paulo - - - Bahía - - - Maceió - - - Belice - - - Hora de Canadá (Edmonton) - - - Hora de Canadá (Regina) - - - Hora de Canadá (Winnipeg) - - - Hora de Canadá (Halifax) - - - St. John’s - - - Zúrich - - - Isla de Pascua - - - Ürümqi - - - Bogotá - - - La Habana - - - Cabo Verde - - - Praga - - - Berlín - - - Yibuti - - - Copenhague - - - Argelia - - - Galápagos - - - Tallin - - - El Cairo - - - Islas Canarias - - - Addis Abeba - - - Fiyi - - - Chuuk - - - Islas Feroe - - - París - - - Londres - - - Granada - - - Tiflis - - - Cayena - - - Guadalupe - - - Atenas - - - Georgia del Sur - - - Puerto Príncipe - - - Yakarta - - - Makasar - - - Dublín - - - Jerusalén - - - Bagdad - - - Teherán - - - Reikiavik - - - Roma - - - Tokio - - - Comoras - - - St. Kitts - - - Seúl - - - Caimán - - - Aktau - - - Aktobe - - - Vientián - - - Santa Lucía - - - Vilna - - - Luxemburgo - - - Trípoli - - - Mónaco - - - Rangún - - - Ulán Bator - - - Macao - - - Martinica - - - Mauricio - - - Maldivas - - - Mazatlán - - - Ciudad de México - - - Mérida - - - Cancún - - - Katmandú - - - Panamá - - - Tahití - - - Varsovia - - - Miquelón - - - Islas Pitcairn - - - Lisboa - - - Palaos - - - Asunción - - - Reunión - - - Bucarest - - - Kaliningrado - - - Moscú - - - Volgogrado - - - Yekaterinburgo - - - Sajalín - - - Riad - - - Jartún - - - Estocolmo - - - Singapur - - - Santa Helena - - - Santo Tomé - - - Salvador - - - Damasco - - - Duchanbé - - - Asjabad - - - Túnez - - - Estambul - - - Puerto España - - - Honolulú - - - Los Ángeles - - - Centro - - - Indianápolis - - - Nueva York - - - Samarcanda - - - San Vicente - - - Johannesburgo - - - - Hora de Acre - Hora de verano de Acre - - - - - Hora de Afganistán - - - - - Hora de África central - - - - - Hora de África oriental - - - - - Hora de Sudáfrica - Hora estándar de África meridional - - - - - Hora de África occidental - Hora de verano de África occidental - - - - - Hora de Aktyubinsk - Hora de verano de Aktyubinsk - - - - - Hora de Alaska - Hora estándar de Alaska - Hora de verano de Alaska - - true - - - - Hora de Alaska-Hawái - Hora estándar de Alaska-Hawái - Hora de verano de Alaska-Hawái - - true - - - - Hora del Amazonas - Hora de verano del Amazonas - - - - - Hora central - Hora estándar central - Hora de verano central - - true - - - - Hora oriental - Hora estándar oriental - Hora de verano oriental - - true - - - - Hora de las Montañas - Hora estándar de Montaña - Hora de verano de Montaña - - true - - - - Hora del Pacífico - Hora estándar del Pacífico - Hora de verano del Pacífico - - true - - - - Hora de Aktau - Hora de verano de Aktau - - - AQTT (Aktau) - AQTST (Aktau) - - - - - Hora de Aktobe - Hora de verano de Aktobe - - - AQTT (Aktobe) - AQTST (Aktobe) - - - - - Hora de Arabia - Hora estándar de Arabia - Hora de verano de Arabia - - - AT (Arabia) - AST (Arabia) - ADT (Arabia) - - - - - Hora de Argentina - Hora de verano de Argentina - - - - - Hora de Argentina occidental - - - - - Hora de Armenia - Hora de verano de Armenia - - - - - Hora de Asjabad - Hora de verano de Asjabad - - - - - Hora del Atlántico - Hora estándar del Atlántico - Hora de verano del Atlántico - - - - - Hora de Australia central - Hora estándar de Australia central - Hora de verano de Australia central - - - - - Hora de Australia centroccidental - Hora estándar de Australia centroccidental - Hora de verano de Australia centroccidental - - - - - Hora de Australia oriental - Hora estándar de Australia oriental - Hora de verano de Australia oriental - - - - - Hora de Australia occidental - Hora estándar de Australia occidental - Hora de verano de Australia occidental - - - - - Hora de Azerbaiyán - Hora de verano de Azerbaiyán - - - - - Hora de las Azores - Hora de verano de las Azores - - - - - Hora de Bakú - Hora de verano de Bakú - - - - - Hora de Bangladesh - - - - - Hora de Bering - Hora estándar de Bering - Hora de verano de Bering - - - - - Hora de Bután - - - - - Hora de Bolivia - - - - - Hora de Borneo - Hora de verano de Borneo - - - - - Hora de Brasilia - Hora de verano de Brasilia - - - - - Hora de Cabo Verde - Hora de verano de Cabo Verde - - - - - Hora estándar de Chamorro - - - - - Hora de Changbai - - - - - Hora de Chile - Hora de verano de Chile - - - - - Hora de China - Hora estándar de China - Hora de verano de China - - - CST (China) - - - - - Hora de Choibalsan - Hora de verano de Choibalsan - - - - - Hora de Colombia - Hora de verano de Colombia - - - - - Hora de Cuba - Hora estándar de Cuba - Hora de verano de Cuba - - - - - Hora de Dacca - - - - - Hora de Dusambé - Hora de verano de Dusambé - - - - - Hora de la Guayana Holandesa - - - - - Hora de Timor Oriental - - - - - Hora de Ecuador - - - - - Hora estándar de Europa Central - Hora de verano de Europa Central - - - CET - CEST - - - - - Hora estándar de Europa del Este - Hora de verano de Europa del Este - - - EET - EEST - - - - - Hora de Europa Occidental - Hora de verano de Europa Occidental - - - - - Hora de la Guayana Francesa - - - - - Hora de Frunze - Hora de verano de Frunze - - - - - Hora media de Greenwich - - - - - Hora de Galápagos - - - - - Hora de Georgia - Hora de verano de Georgia - - - - - Hora de Groenlandia central - Hora de verano de Groenlandia central - - - - - Hora de Groenlandia oriental - Hora de verano de Groenlandia oriental - - - - - Hora de Groenlandia occidental - Hora de verano de Groenlandia occidental - - - - - Hora estándar de Guam - - - - - Hora estándar del Golfo - - - - - Hora de la Guyana - - - - - Hora de Hawái-Aleutianas - Hora estándar de Hawái-Aleutianas - Hora de verano de Hawái-Aleutianas - - true - - - - Hora de Hong Kong - Hora de verano de Hong Kong - - - - - Hora estándar de la India - - - - - Hora de Indochina - - - - - Hora de Indonesia central - - - - - Hora de Indonesia oriental - - - - - Hora de Indonesia occidental - - - - - Hora de Israel - Hora estándar de Israel - Hora de verano de Israel - - - IST (Israel) - - - - - Hora de Japón - Hora estándar de Japón - Hora de verano de Japón - - - - - Hora de Karachi - - - - - Hora de Kashgar - - - - - Hora estándar de Kazajistán oriental - - - - - Hora estándar de Kazajistán occidental - - - - - Hora de Kizil Orda - Hora de verano de Kizil Orda - - - - - Hora de Corea - Hora estándar de Corea - Hora de verano de Corea - - - - - Hora de Kuíbyshev - Hora de verano de Kuíbyshev - - - - - Hora de Kwajalein - - - - - Hora de Kirguistán - - - - - Hora de Sri Lanka - - - - - Hora de Long-Shu - - - - - Hora de Lord Howe - Hora estándar de Lord Howe - Hora de verano de Lord Howe - - - - - Hora de Macao - Hora de verano de Macao - - - - - Hora de Malaya - - - - - Hora de Malasia - - - - - Hora de las Islas Marshall - - - - - Hora de Ulán Bator - Hora de verano de Ulán Bator - - - - - Hora de Moscú - Hora estándar de Moscú - Hora de verano de Moscú - - - - - Hora de Myanmar - - - - - Hora de Nepal - - - - - Hora de Nueva Zelanda - Hora estándar de Nueva Zelanda - Hora de verano de Nueva Zelanda - - - - - Hora de Terranova - Hora estándar de Newfoundland - Hora de verano de Newfoundland - - - - - Hora de Fernando de Noronha - Hora de verano de Fernando de Noronha - - - - - Hora de las Islas Marianas del Norte - - - - - Hora de Pakistán - Hora de verano de Pakistán - - - - - Hora de Paraguay - Hora de verano de Paraguay - - - - - Hora de Perú - Hora de verano de Perú - - - - - Hora de Filipinas - Hora de verano de Filipinas - - - - - Hora de San Pedro y Miquelón - Hora estándar de San Pedro y Miquelón - Hora de verano de San Pedro y Miquelón - - - - - Hora de Qyzylorda - Hora de verano de Qyzylorda - - - - - Hora de Samara - Hora de verano de Samara - - - - - Hora de Samarcanda - Hora de verano de Samarcanda - - - SAMT (Samarcanda) - SAMST (Samarcanda) - - - - - Hora estándar de Samoa - - - - - Hora de Shevchenko - Hora de verano de Shevchenko - - - - - Hora de Georgia meridional - - - - - Hora de Surinam - - - - - Hora de Sverdlovsk - Hora de verano de Sverdlovsk - - - - - Hora de Tayikistán - - - - - Hora de Tashkent - Hora de verano de Tashkent - - - - - Hora de Tbilisi - Hora de verano de Tbilisi - - - - - Hora de Turquía - Hora de verano de Turquía - - - - - Hora de Turkmenistán - Hora de verano de Turkmenistán - - - - - Hora de Oral - Hora de verano de Oral - - - - - Hora de Uruguay - Hora de verano de Uruguay - - - - - Hora de Ürümqi - - - - - Hora de Uzbekistán - Hora de verano de Uzbekistán - - - - - Hora de Venezuela - - - - - Hora de Volgogrado - Hora de verano de Volgogrado - - - - - Hora de Yekaterinburgo - Hora de verano de Yekaterinburgo - - - - - Hora de Ereván - Hora de verano de Ereván - - - - - Hora del Yukón - Hora estándar del Yukón - Hora de verano del Yukón - - - - - - - , - . - ; - % - 0 - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤ #,##0.00 - - - {0} {1} - - - - peseta andorrana - peseta andorrana - pesetas andorranas - - - dírham de los Emiratos Árabes Unidos - dirham de los Emiratos Árabes Unidos - dirhams de los Emiratos Árabes Unidos - - - afgani (1927-2002) - - - afgani - afgani afgano - afganis afganos - - - lek albanés - lek albanés - lekë albaneses - - - dram armenio - dram armenio - dram armenios - - - florín de las Antillas Neerlandesas - florín de las Antillas Neerlandesas - florines de las Antillas Neerlandesas - - - kwanza angoleño - kwanza angoleño - kwanzas angoleños - - - kwanza angoleño (1977-1990) - - - nuevo kwanza angoleño (1990-2000) - - - kwanza reajustado angoleño (1995-1999) - - - austral argentino - austral argentino - australes argentinos - - - peso argentino (1983-1985) - peso argentino (ARP) - pesos argentinos (ARP) - - - peso argentino - peso argentino - pesos argentinos - - - chelín austriaco - chelín austriaco - chelines austriacos - - - dólar australiano - dólar australiano - dólares australianos - - - florín de Aruba - florín de Aruba - florines de Aruba - - - manat azerí (1993-2006) - - - manat azerí - manat azerí - manat azeríes - - - dinar bosnio - dinar bosnio - dinares bosnios - - - marco convertible de Bosnia-Herzegovina - marco convertible de Bosnia-Herzegovina - marcos convertibles de Bosnia-Herzegovina - - - dólar de Barbados - dólar de Barbados - dólares de Barbados - - - taka de Bangladesh - taka de Bangladesh - taka de Bangladesh - - - franco belga (convertible) - franco belga (convertible) - francos belgas (convertibles) - - - franco belga - franco belga - francos belgas - - - franco belga (financiero) - franco belga (financiero) - francos belgas (financieros) - - - lev fuerte búlgaro - lev fuerte búlgaro - leva fuertes búlgaros - - - nuevo lev búlgaro - nuevo lev búlgaro - nuevos leva búlgaros - - - dinar bahreiní - dinar bahreiní - dinares bahreiníes - - - franco de Burundi - franco de Burundi - francos de Burundi - - - dólar de Bermudas - dólar de Bermudas - dólares de Bermudas - - - dólar de Brunéi - dólar de Brunéi - dólares de Brunéi - - - boliviano - boliviano - bolivianos - - - peso boliviano - peso boliviano - pesos bolivianos - - - MVDOL boliviano - MVDOL boliviano - MVDOL bolivianos - - - nuevo cruceiro brasileño (1967-1986) - nuevo cruzado brasileño (BRB) - nuevos cruzados brasileños (BRB) - - - cruzado brasileño - cruzado brasileño - cruzados brasileños - - - cruceiro brasileño (1990-1993) - cruceiro brasileño (BRE) - cruceiros brasileños (BRE) - - - real brasileño - real brasileño - reales brasileños - - - nuevo cruzado brasileño - nuevo cruzado brasileño - nuevos cruzados brasileños - - - cruceiro brasileño - cruceiro brasileño - cruceiros brasileños - - - dólar de las Bahamas - dólar de las Bahamas - dólares de las Bahamas - - - ngultrum butanés - ngultrum butanés - ngultrum butaneses - - - kyat birmano - kyat birmano - kyat birmanos - - - pula botsuano - pula botsuana - pula botsuanas - - - nuevo rublo bielorruso (1994-1999) - nuevo rublo bielorruso - nuevos rublos bielorrusos - - - rublo bielorruso - rublo bielorruso - rublos bielorrusos - - - dólar de Belice - dólar de Belice - dólares de Belice - - - dólar canadiense - dólar canadiense - dólares canadienses - - - franco congoleño - franco congoleño - francos congoleños - - - euro WIR - euro WIR - euros WIR - - - franco suizo - franco suizo - francos suizos - - - franco WIR - franco WIR - francos WIR - - - unidad de fomento chilena - unidad de fomento chilena - unidades de fomento chilenas - - - peso chileno - peso chileno - pesos chilenos - - - yuan renminbi chino - yuan renminbi chino - - - peso colombiano - peso colombiano - pesos colombianos - - - unidad de valor real colombiana - unidad de valor real - unidades de valor reales - - - colón costarricense - colón costarricense - colones costarricenses - - - antiguo dinar serbio - antiguo dinar serbio - antiguos dinares serbios - - - corona fuerte checoslovaca - corona fuerte checoslovaca - coronas fuertes checoslovacas - - - peso cubano - peso cubano - pesos cubanos - - - escudo de Cabo Verde - escudo de Cabo Verde - escudos de Cabo Verde - - - libra chipriota - libra chipriota - libras chipriotas - - - corona checa - corona checa - coronas checas - - - ostmark de Alemania del Este - marco de la República Democrática Alemana - marcos de la República Democrática Alemana - - - marco alemán - marco alemán - marcos alemanes - - - franco de Yibuti - - - corona danesa - corona danesa - coronas danesas - - - peso dominicano - peso dominicano - pesos dominicanos - - - dinar argelino - dinar argelino - dinares argelinos - - - sucre ecuatoriano - sucre ecuatoriano - sucres ecuatorianos - - - unidad de valor constante (UVC) ecuatoriana - unidad de valor constante (UVC) ecuatoriana - unidades de valor constante (UVC) ecuatorianas - - - corona estonia - corona estonia - coronas estonias - - - libra egipcia - libra egipcia - libras egipcias - - - nakfa eritreo - - - peseta española (cuenta A) - peseta española (cuenta A) - pesetas españolas (cuenta A) - - - peseta española (cuenta convertible) - peseta española (cuenta convertible) - pesetas españolas (cuenta convertible) - - - peseta española - peseta española - pesetas españolas - ₧ - - - birr etíope - - - euro - euro - euros - - - marco finlandés - marco finlandés - marcos finlandeses - - - dólar de las Islas Fiyi - - - libra de las Islas Malvinas - libra de las Islas Malvinas - libras de las Islas Malvinas - - - franco francés - franco francés - francos franceses - - - libra esterlina británica - libra esterlina británica - libras esterlinas británicas - - - kupon larit georgiano - - - lari georgiano - - - cedi ghanés - - - libra de Gibraltar - libra gibraltareña - libras gibraltareñas - - - dalasi gambiano - - - franco guineano - franco guineano - francos guineanos - - - syli guineano - - - ekuele de Guinea Ecuatorial - ekuele de Guinea Ecuatorial - ekueles de Guinea Ecuatorial - - - dracma griego - dracma griego - dracmas griegos - - - quetzal guatemalteco - quetzal guatemalteco - quetzales guatemaltecos - - - escudo de Guinea Portuguesa - - - peso de Guinea-Bissáu - - - dólar guyanés - - - dólar de Hong Kong - dólar de Hong Kong - dólares de Hong Kong - - - lempira hondureño - lempira hondureño - lempiras hondureños - - - dinar croata - dinar croata - dinares croatas - - - kuna croata - kuna croata - kunas croatas - - - gourde haitiano - - - florín húngaro - florín húngaro - florines húngaros - - - rupia indonesia - rupia indonesia - rupias indonesias - - - libra irlandesa - libra irlandesa - libras irlandesas - - - libra israelí - libra israelí - libras israelíes - - - nuevo sheqel israelí - - - rupia india - rupia india - rupias indias - - - dinar iraquí - dinar iraquí - dinares iraquíes - - - rial iraní - - - corona islandesa - corona islandesa - coronas islandesas - - - lira italiana - lira italiana - liras italianas - - - dólar de Jamaica - dólar de Jamaica - dólares de Jamaica - - - dinar jordano - dinar jordano - dinares jordanos - - - yen japonés - yen japonés - yenes japoneses - - - chelín keniata - - - som kirguís - - - riel camboyano - - - franco comorense - - - won norcoreano - - - won surcoreano - - - dinar kuwaití - - - dólar de las Islas Caimán - dólar de las Islas Caimán - dólares de las Islas Caimán - - - tenge kazako - - - kip laosiano - - - libra libanesa - libra libanesa - libras libanesas - - - rupia de Sri Lanka - rupia de Sri Lanka - rupias de Sri Lanka - - - dólar liberiano - dólar liberiano - dólares liberianos - - - loti lesothense - - - litas lituano - litas lituana - litas lituanas - - - talonas lituano - talonas lituana - talonas lituanas - - - franco convertible luxemburgués - franco convertible luxemburgués - francos convertibles luxemburgueses - - - franco luxemburgués - franco luxemburgués - francos luxemburgueses - - - franco financiero luxemburgués - franco financiero luxemburgués - francos financieros luxemburgueses - - - lats letón - lats letón - lats letones - - - rublo letón - rublo letón - rublos letones - - - dinar libio - dinar libio - dinares libios - - - dirham marroquí - dirham marroquí - dirhams marroquíes - - - franco marroquí - franco marroquí - francos marroquíes - - - leu moldavo - - - ariary malgache - - - franco malgache - - - dinar macedonio - dinar macedonio - dinares macedonios - - - franco malí - - - kyat de Myanmar - - - tugrik mongol - - - pataca de Macao - - - ouguiya mauritano - - - lira maltesa - lira maltesa - liras maltesas - - - libra maltesa - libra maltesa - libras maltesas - - - rupia mauriciana - - - rufiyaa de Maldivas - - - kwacha de Malawi - - - peso mexicano - peso mexicano - pesos mexicanos - - - peso de plata mexicano (1861-1992) - peso de plata mexicano (MXP) - pesos de plata mexicanos (MXP) - - - unidad de inversión (UDI) mexicana - unidad de inversión (UDI) mexicana - unidades de inversión (UDI) mexicanas - - - ringgit malasio - - - escudo mozambiqueño - escudo mozambiqueño - escudos mozambiqueños - - - antiguo metical mozambiqueño - - - metical mozambiqueño - - - dólar de Namibia - - - naira nigeriano - - - córdoba nicaragüense - córdoba nicaragüense - córdobas nicaragüenses - - - córdoba oro nicaragüense - córdoba oro nicaragüense - córdobas oro nicaragüenses - - - florín neerlandés - florín neerlandés - florines neerlandeses - - - corona noruega - corona noruega - coronas noruegas - - - rupia nepalesa - rupia nepalesa - rupias nepalesas - - - dólar neozelandés - dólar neozelandés - dólares neozelandeses - - - rial omaní - - - balboa panameño - balboa panameño - balboas panameños - - - inti peruano - inti peruano - intis peruanos - - - nuevo sol peruano - nuevo sol peruano - nuevos soles peruanos - - - sol peruano - sol peruano - soles peruanos - - - kina de Papúa Nueva Guinea - - - peso filipino - peso filipino - pesos filipinos - - - rupia pakistaní - - - zloty polaco - zloty polaco - zlotys polacos - - - zloty polaco (1950-1995) - zloty polaco (PLZ) - zlotys polacos (PLZ) - - - escudo portugués - escudo portugués - escudos portugueses - - - guaraní paraguayo - guaraní paraguayo - guaraníes paraguayos - - - riyal de Qatar - - - dólar rodesiano - - - antiguo leu rumano - antiguo leu rumano - antiguos lei rumanos - - - leu rumano - leu rumano - lei rumanos - - - dinar serbio - dinar serbio - dinares serbios - - - rublo ruso - rublo ruso - rublos rusos - - - rublo ruso (1991-1998) - rublo ruso (RUR) - rublos rusos (RUR) - - - franco ruandés - franco ruandés - francos ruandeses - - - riyal saudí - - - dólar de las Islas Salomón - dólar de las Islas Salomón - dólares de las Islas Salomón - - - rupia de Seychelles - - - dinar sudanés - dinar sudanés - dinares sudaneses - - - libra sudanesa - libra sudanesa - libras sudanesas - - - libra sudanesa antigua - libra sudanesa antigua - libras sudanesas antiguas - - - corona sueca - corona sueca - coronas suecas - - - dólar singapurense - - - libra de Santa Elena - libra de Santa Elena - libras de Santa Elena - - - tólar esloveno - tólar esloveno - tólares eslovenos - - - corona eslovaca - corona eslovaca - coronas eslovacas - - - leone de Sierra Leona - - - chelín somalí - chelín somalí - chelines somalíes - - - dólar surinamés - - - florín surinamés - - - dobra de Santo Tomé y Príncipe - - - rublo soviético - rublo soviético - rublos soviéticos - - - colón salvadoreño - colón salvadoreño - colones salvadoreños - - - libra siria - libra siria - libras sirias - - - lilangeni suazi - - - baht tailandés - - - rublo tayiko - - - somoni tayiko - - - manat turcomano - - - dinar tunecino - - - paʻanga tongano - - - escudo timorense - - - lira turca antigua - lira turca antigua - liras turcas antiguas - - - nueva lira turca - lira turca - liras turcas - - - dólar de Trinidad y Tobago - - - nuevo dólar taiwanés - - - chelín tanzano - - - grivna ucraniana - grivnia ucraniana - grivnias ucranianas - - - karbovanet ucraniano - karbovanet ucraniano - karbovanets ucranianos - - - chelín ugandés (1966-1987) - - - chelín ugandés - chelín ugandés - chelines ugandeses - - - dólar estadounidense - dólar estadounidense - dólares estadounidenses - - - dólar estadounidense (día siguiente) - dólar estadounidense (día siguiente) - dólares estadounidenses (día siguiente) - - - dólar estadounidense (mismo día) - dólar estadounidense (mismo día) - dólares estadounidenses (mismo día) - - - peso uruguayo en unidades indexadas - peso uruguayo en unidades indexadas - pesos uruguayos en unidades indexadas - - - peso uruguayo (1975-1993) - peso uruguayo (UYP) - pesos uruguayos (UYP) - - - peso uruguayo - peso uruguayo - pesos uruguayos - - - sum uzbeko - - - bolívar venezolano - bolívar venezolano - bolívares venezolanos - - - bolívar fuerte venezolano - bolívar fuerte venezolano - bolívares fuertes venezolanos - - - dong vietnamita - - - vatu vanuatuense - - - tala samoano - - - franco CFA BEAC - - - plata - plata - plata - - - oro - oro - oro - - - unidad compuesta europea - unidad compuesta europea - unidades compuestas europeas - - - unidad monetaria europea - unidad monetaria europea - unidades monetarias europeas - - - unidad de cuenta europea (XBC) - unidad de cuenta europea (XBC) - unidades de cuenta europeas (XBC) - - - unidad de cuenta europea (XBD) - unidad de cuenta europea (XBD) - unidades de cuenta europeas (XBD) - - - dólar del Caribe Oriental - dólar del Caribe Oriental - dólares del Caribe Oriental - - - derechos especiales de giro - - - unidad de moneda europea - unidad de moneda europea - unidades de moneda europeas - - - franco oro francés - franco oro francés - francos oro franceses - - - franco UIC francés - franco UIC francés - francos UIC franceses - - - franco CFA BCEAO - - - paladio - paladio - paladio - - - franco CFP - - - platino - platino - platino - - - fondos RINET - - - código reservado para pruebas - - - Sin divisa - moneda desconocida/no válida - monedas desconocidas/no válidas - - - dinar yemení - - - rial yemení - - - dinar fuerte yugoslavo - - - super dinar yugoslavo - - - dinar convertible yugoslavo - dinar convertible yugoslavo - dinares convertibles yugoslavos - - - rand sudafricano (financiero) - - - rand sudafricano - - - kwacha zambiano - - - nuevo zaire zaireño - - - zaire zaireño - - - dólar de Zimbabue - - - - - - {0} día - {0} días - - - {0} hora - {0} horas - - - {0} minuto - {0} minutos - - - {0} mes - {0} meses - - - {0} segundo - {0} segundos - - - {0} semana - {0} semanas - - - {0} año - {0} años - - - - - sí:si:s - no:n - - - - diff --git a/lib/zend/Zend/Locale/Data/es_AR.xml b/lib/zend/Zend/Locale/Data/es_AR.xml deleted file mode 100644 index 810799e42a..0000000000 --- a/lib/zend/Zend/Locale/Data/es_AR.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - Hong Kong - Macao - - - Ortografía revisada - - - estadounidense - métrico - - - - - - a.m. - p.m. - - - - HH'h'''mm:ss zzzz - - - - - H:mm:ss z - - - - - - E d-M - M-yyyy - - - {0} a el {1} - - M-M - - - E dd/MM - E dd/MM - E dd/MM - E dd/MM - - - MMM-MMM - - - E d 'de' MMM 'al' E d 'de' MMM - E d 'al' E d 'de' MMM - - - d 'de' MMM 'al' d 'de' MMM - d-d 'de' MMM - - - dd/MM - dd/MM - dd/MM - dd/MM - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - - - MMM-MMM 'de' y - MMM 'de' y 'a' MMM 'de' y - - - E d 'de' MMM 'al' E d 'de' MMM 'de' y - E d 'al' E d 'de' MMM 'de' y - E d 'de' MMM 'de' y 'al' E d 'de' MMM 'de' y - - - d 'de' MMM 'al' d 'de' MMM 'de' y - d-d 'de' MMM 'de' y - d 'de' MMM 'de' y 'al' d 'de' MMM 'de' y - - - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - - - - - - - - - - $ - - - - diff --git a/lib/zend/Zend/Locale/Data/es_BO.xml b/lib/zend/Zend/Locale/Data/es_BO.xml deleted file mode 100644 index 013d0f09dd..0000000000 --- a/lib/zend/Zend/Locale/Data/es_BO.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/es_CL.xml b/lib/zend/Zend/Locale/Data/es_CL.xml deleted file mode 100644 index 1560effd12..0000000000 --- a/lib/zend/Zend/Locale/Data/es_CL.xml +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - - - - mapudungun - iraníes - - - - - - Sudamérica - Antillas Holandesas - Azerbayán - Sahara Occidental - Territorio Palestino - Rumania - Arabia Saudita - Tanzanía - - - divisa - - - orden de directorio telefónico - - - - - - - - - dd-MM-yyyy - - - - - dd-MM-yy - - - - - - - H:mm:ss z - - - - - H:mm:ss - - - - - H:mm - - - - - - {0} a el {1} - - M-M - - - E dd-MM - E dd-MM - E dd-MM - E dd-MM - - - MMM-MMM - - - E d 'de' MMM 'al' E d 'de' MMM - E d 'al' E d 'de' MMM - - - d 'de' MMM 'al' d 'de' MMM - d-d 'de' MMM - - - dd-MM - dd-MM - dd-MM - dd-MM - - - d-d - - - H-H - - - H:mm-H:mm - H:mm-H:mm - - - H:mm-H:mm v - H:mm-H:mm v - - - H-H v - - - y-y - - - MM-yy - MM-yy - MM-yy - MM-yy - - - E dd-MM-yy - E dd-MM-yy - E dd-MM-yy - E dd-MM-yy - E dd-MM-yy - E dd-MM-yy - - - MMM-MMM 'de' y - MMM 'de' y 'a' MMM 'de' y - - - E d 'de' MMM 'al' E d 'de' MMM 'de' y - E d 'al' E d 'de' MMM 'de' y - E d 'de' MMM 'de' y 'al' E d 'de' MMM 'de' y - - - d 'de' MMM 'al' d 'de' MMM 'de' y - d-d 'de' MMM 'de' y - d 'de' MMM 'de' y 'al' d 'de' MMM 'de' y - - - dd-MM-yy - dd-MM-yy - dd-MM-yy - dd-MM-yy - dd-MM-yy - dd-MM-yy - - - - - - - - - - - ¤#,##0.00;¤-#,##0.00 - - - - - - $ - - - - - diff --git a/lib/zend/Zend/Locale/Data/es_CO.xml b/lib/zend/Zend/Locale/Data/es_CO.xml deleted file mode 100644 index da4081fcb1..0000000000 --- a/lib/zend/Zend/Locale/Data/es_CO.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - d/MM/yyyy - - - - - d/MM/yy - - - - - - - H:mm:ss z - - - - - H:mm:ss - - - - - H:mm - - - - - - {0} a el {1} - - M-M - - - E d/MM - E d/MM - E d/MM - E d/MM - - - MMM-MMM - - - E d 'de' MMM 'al' E d 'de' MMM - E d 'al' E d 'de' MMM - - - d 'de' MMM 'al' d 'de' MMM - d-d 'de' MMM - - - d/MM - d/MM - d/MM - d/MM - - - d-d - - - H-H - - - H:mm-H:mm - H:mm-H:mm - - - H:mm-H:mm v - H:mm-H:mm v - - - H-H v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - - - MMM-MMM 'de' y - MMM 'de' y 'a' MMM 'de' y - - - E d 'de' MMM 'al' E d 'de' MMM 'de' y - E d 'al' E d 'de' MMM 'de' y - E d 'de' MMM 'de' y 'al' E d 'de' MMM 'de' y - - - d 'de' MMM 'al' d 'de' MMM 'de' y - d-d 'de' MMM 'de' y - d 'de' MMM 'de' y 'al' d 'de' MMM 'de' y - - - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - - - - - - - - - - $ - - - - - diff --git a/lib/zend/Zend/Locale/Data/es_CR.xml b/lib/zend/Zend/Locale/Data/es_CR.xml deleted file mode 100644 index 3e03010737..0000000000 --- a/lib/zend/Zend/Locale/Data/es_CR.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/es_DO.xml b/lib/zend/Zend/Locale/Data/es_DO.xml deleted file mode 100644 index 4e959755a6..0000000000 --- a/lib/zend/Zend/Locale/Data/es_DO.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - . - , - - - diff --git a/lib/zend/Zend/Locale/Data/es_EC.xml b/lib/zend/Zend/Locale/Data/es_EC.xml deleted file mode 100644 index 2a0353adbd..0000000000 --- a/lib/zend/Zend/Locale/Data/es_EC.xml +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - - - - H:mm:ss z - - - - - H:mm:ss - - - - - H:mm - - - - - - {0} a el {1} - - M-M - - - E dd/MM - E dd/MM - E dd/MM - E dd/MM - - - MMM-MMM - - - E d 'de' MMM 'al' E d 'de' MMM - E d 'al' E d 'de' MMM - - - d 'de' MMM 'al' d 'de' MMM - d-d 'de' MMM - - - dd/MM - dd/MM - dd/MM - dd/MM - - - d-d - - - H-H - - - H:mm-H:mm - H:mm-H:mm - - - H:mm-H:mm v - H:mm-H:mm v - - - H-H v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - - - MMM-MMM 'de' y - MMM 'de' y 'a' MMM 'de' y - - - E d 'de' MMM 'al' E d 'de' MMM 'de' y - E d 'al' E d 'de' MMM 'de' y - E d 'de' MMM 'de' y 'al' E d 'de' MMM 'de' y - - - d 'de' MMM 'al' d 'de' MMM 'de' y - d-d 'de' MMM 'de' y - d 'de' MMM 'de' y 'al' d 'de' MMM 'de' y - - - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - - - - - - - - - - - ¤#,##0.00;¤-#,##0.00 - - - - - - $ - - - - - diff --git a/lib/zend/Zend/Locale/Data/es_ES.xml b/lib/zend/Zend/Locale/Data/es_ES.xml deleted file mode 100644 index 0c7a412b0a..0000000000 --- a/lib/zend/Zend/Locale/Data/es_ES.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/es_GT.xml b/lib/zend/Zend/Locale/Data/es_GT.xml deleted file mode 100644 index f626357ce0..0000000000 --- a/lib/zend/Zend/Locale/Data/es_GT.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - - - - d/MM/yyyy - - - - - d/MM/yy - - - - - - {0} a el {1} - - M-M - - - E d/MM - E d/MM - E d/MM - E d/MM - - - MMM-MMM - - - E d 'de' MMM 'al' E d 'de' MMM - E d 'al' E d 'de' MMM - - - d 'de' MMM 'al' d 'de' MMM - d-d 'de' MMM - - - d/MM - d/MM - d/MM - d/MM - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - - - MMM-MMM 'de' y - MMM 'de' y 'a' MMM 'de' y - - - E d 'de' MMM 'al' E d 'de' MMM 'de' y - E d 'al' E d 'de' MMM 'de' y - E d 'de' MMM 'de' y 'al' E d 'de' MMM 'de' y - - - d 'de' MMM 'al' d 'de' MMM 'de' y - d-d 'de' MMM 'de' y - d 'de' MMM 'de' y 'al' d 'de' MMM 'de' y - - - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - - - - - - - - - . - , - - - - Q - - - - diff --git a/lib/zend/Zend/Locale/Data/es_HN.xml b/lib/zend/Zend/Locale/Data/es_HN.xml deleted file mode 100644 index 2e7910ea56..0000000000 --- a/lib/zend/Zend/Locale/Data/es_HN.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - - - - EEEE dd 'de' MMMM 'de' y - - - - - dd 'de' MMMM 'de' y - - - - - - {0} a el {1} - - M-M - - - E dd/MM - E dd/MM - E dd/MM - E dd/MM - - - MMM-MMM - - - E dd 'de' MMM 'al' E dd 'de' MMM - E dd 'al' E dd 'de' MMM - - - dd 'de' MMM 'al' dd 'de' MMM - dd-dd 'de' MMM - - - dd/MM - dd/MM - dd/MM - dd/MM - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - - - MMM-MMM 'de' y - MMM 'de' y 'a' MMM 'de' y - - - E dd 'de' MMM 'al' E dd 'de' MMM 'de' y - E dd 'al' E dd 'de' MMM 'de' y - E dd 'de' MMM 'de' y 'al' E dd 'de' MMM 'de' y - - - dd 'de' MMM 'al' dd 'de' MMM 'de' y - dd-dd 'de' MMM 'de' y - dd 'de' MMM 'de' y 'al' dd 'de' MMM 'de' y - - - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - - - - - - - - - . - , - - - - L - - - - diff --git a/lib/zend/Zend/Locale/Data/es_MX.xml b/lib/zend/Zend/Locale/Data/es_MX.xml deleted file mode 100644 index ff6a9b72c3..0000000000 --- a/lib/zend/Zend/Locale/Data/es_MX.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - . - , - - - - $ - - - - diff --git a/lib/zend/Zend/Locale/Data/es_NI.xml b/lib/zend/Zend/Locale/Data/es_NI.xml deleted file mode 100644 index d6d32243b2..0000000000 --- a/lib/zend/Zend/Locale/Data/es_NI.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - . - , - - - diff --git a/lib/zend/Zend/Locale/Data/es_PA.xml b/lib/zend/Zend/Locale/Data/es_PA.xml deleted file mode 100644 index c3219155ae..0000000000 --- a/lib/zend/Zend/Locale/Data/es_PA.xml +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - - - - - MM/dd/yyyy - - - - - MM/dd/yy - - - - - - {0} a el {1} - - M-M - - - E MM/dd - E MM/dd - E MM/dd - E MM/dd - - - MMM-MMM - - - E d 'de' MMM 'al' E d 'de' MMM - E d 'al' E d 'de' MMM - - - d 'de' MMM 'al' d 'de' MMM - d-d 'de' MMM - - - MM/dd - MM/dd - MM/dd - MM/dd - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E MM/dd/yy - E MM/dd/yy - E MM/dd/yy - E MM/dd/yy - E MM/dd/yy - E MM/dd/yy - - - MMM-MMM 'de' y - MMM 'de' y 'a' MMM 'de' y - - - E d 'de' MMM 'al' E d 'de' MMM 'de' y - E d 'al' E d 'de' MMM 'de' y - E d 'de' MMM 'de' y 'al' E d 'de' MMM 'de' y - - - d 'de' MMM 'al' d 'de' MMM 'de' y - d-d 'de' MMM 'de' y - d 'de' MMM 'de' y 'al' d 'de' MMM 'de' y - - - MM/dd/yy - MM/dd/yy - MM/dd/yy - MM/dd/yy - MM/dd/yy - MM/dd/yy - - - - - - - - - . - , - - - - diff --git a/lib/zend/Zend/Locale/Data/es_PE.xml b/lib/zend/Zend/Locale/Data/es_PE.xml deleted file mode 100644 index 0f7e7fc129..0000000000 --- a/lib/zend/Zend/Locale/Data/es_PE.xml +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - - - - d/MM/yy - - - - - - - HH'H'mm''ss" zzzz - - - - - - {0} a el {1} - - M-M - - - E d/MM - E d/MM - E d/MM - E d/MM - - - MMM-MMM - - - E d 'de' MMM 'al' E d 'de' MMM - E d 'al' E d 'de' MMM - - - d 'de' MMM 'al' d 'de' MMM - d-d 'de' MMM - - - d/MM - d/MM - d/MM - d/MM - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - - - MMM-MMM 'de' y - MMM 'de' y 'a' MMM 'de' y - - - E d 'de' MMM 'al' E d 'de' MMM 'de' y - E d 'al' E d 'de' MMM 'de' y - E d 'de' MMM 'de' y 'al' E d 'de' MMM 'de' y - - - d 'de' MMM 'al' d 'de' MMM 'de' y - d-d 'de' MMM 'de' y - d 'de' MMM 'de' y 'al' d 'de' MMM 'de' y - - - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - - - - - - - - - . - , - - - diff --git a/lib/zend/Zend/Locale/Data/es_PR.xml b/lib/zend/Zend/Locale/Data/es_PR.xml deleted file mode 100644 index 2214f3b587..0000000000 --- a/lib/zend/Zend/Locale/Data/es_PR.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - MM/dd/yyyy - - - - - MM/dd/yy - - - - - - {0} a el {1} - - M-M - - - E MM/dd - E MM/dd - E MM/dd - E MM/dd - - - MMM-MMM - - - E d 'de' MMM 'al' E d 'de' MMM - E d 'al' E d 'de' MMM - - - d 'de' MMM 'al' d 'de' MMM - d-d 'de' MMM - - - MM/dd - MM/dd - MM/dd - MM/dd - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E MM/dd/yy - E MM/dd/yy - E MM/dd/yy - E MM/dd/yy - E MM/dd/yy - E MM/dd/yy - - - MMM-MMM 'de' y - MMM 'de' y 'a' MMM 'de' y - - - E d 'de' MMM 'al' E d 'de' MMM 'de' y - E d 'al' E d 'de' MMM 'de' y - E d 'de' MMM 'de' y 'al' E d 'de' MMM 'de' y - - - d 'de' MMM 'al' d 'de' MMM 'de' y - d-d 'de' MMM 'de' y - d 'de' MMM 'de' y 'al' d 'de' MMM 'de' y - - - MM/dd/yy - MM/dd/yy - MM/dd/yy - MM/dd/yy - MM/dd/yy - MM/dd/yy - - - - - - - - - . - , - - - - $ - - - - - diff --git a/lib/zend/Zend/Locale/Data/es_PY.xml b/lib/zend/Zend/Locale/Data/es_PY.xml deleted file mode 100644 index cd0289bdb1..0000000000 --- a/lib/zend/Zend/Locale/Data/es_PY.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - ¤ #,##0.00;¤ -#,##0.00 - - - - - diff --git a/lib/zend/Zend/Locale/Data/es_SV.xml b/lib/zend/Zend/Locale/Data/es_SV.xml deleted file mode 100644 index 16805c80b4..0000000000 --- a/lib/zend/Zend/Locale/Data/es_SV.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - . - , - - - diff --git a/lib/zend/Zend/Locale/Data/es_US.xml b/lib/zend/Zend/Locale/Data/es_US.xml deleted file mode 100644 index ac23e99a57..0000000000 --- a/lib/zend/Zend/Locale/Data/es_US.xml +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - - - - - MMM d, y - - - - - M/d/yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - MM/d - M/d - - - {0} a el {1} - - M-M - - - E M/d - E M/d - E M/d - E M/d - - - MMM-MMM - - - E d 'de' MMM 'al' E d 'de' MMM - E d 'al' E d 'de' MMM - - - d 'de' MMM 'al' d 'de' MMM - d-d 'de' MMM - - - M/d - M/d - M/d - M/d - - - d-d - - - h a - h a - h-h a - - - h:mm a - h:mm a - h:mm-h:mm a - h:mm-h:mm a - - - h:mm a - h:mm a v - h:mm-h:mm a v - h:mm-h:mm a v - - - h a - h a v - h-h a v - - - y-y - - - M/yy - M/yy - M/yy - M/yy - - - E M/d/yy - E M/d/yy - E M/d/yy - E M/d/yy - E M/d/yy - E M/d/yy - - - MMM-MMM 'de' y - MMM 'de' y 'a' MMM 'de' y - - - E d 'de' MMM 'al' E d 'de' MMM 'de' y - E d 'al' E d 'de' MMM 'de' y - E d 'de' MMM 'de' y 'al' E d 'de' MMM 'de' y - - - d 'de' MMM 'al' d 'de' MMM 'de' y - d-d 'de' MMM 'de' y - d 'de' MMM 'de' y 'al' d 'de' MMM 'de' y - - - M/d/yy - M/d/yy - M/d/yy - M/d/yy - M/d/yy - M/d/yy - - - - - - - - - . - , - - - - ¥ - - - $ - - - - diff --git a/lib/zend/Zend/Locale/Data/es_UY.xml b/lib/zend/Zend/Locale/Data/es_UY.xml deleted file mode 100644 index 43a9a2609b..0000000000 --- a/lib/zend/Zend/Locale/Data/es_UY.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - ¤ #,##0.00;(¤ #,##0.00) - - - - - - $ - - - - diff --git a/lib/zend/Zend/Locale/Data/es_VE.xml b/lib/zend/Zend/Locale/Data/es_VE.xml deleted file mode 100644 index 018ea46adb..0000000000 --- a/lib/zend/Zend/Locale/Data/es_VE.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - ¤#,##0.00;¤-#,##0.00 - - - - - diff --git a/lib/zend/Zend/Locale/Data/et.xml b/lib/zend/Zend/Locale/Data/et.xml deleted file mode 100644 index c1f1953be8..0000000000 --- a/lib/zend/Zend/Locale/Data/et.xml +++ /dev/null @@ -1,1984 +0,0 @@ - - - - - - - - - en fi - - - afari - abhaasi - atšehi - akoli - adangme - adõgee - avesta - afrikaani - muu afroaasia - afrihili - ainu - akani - akadi - aleuudi - algonkini keeled - altai - amhari - aragoni - vanainglise - angika - apatši keeled - araabia - aramea - araukaani - arapaho - muu tehiskeel - aravaki - assami - astuuria - atapaski keeled - Austraalia keeled - avaari - avadhi - aimara - aserbaidžaani - baškiiri - banda - bamileke keeled - belutši - bali - basa - muu balti - valgevene - bedža - bemba - berberi - bulgaaria - bihaari - bhodžpuri - bislama - bikoli - edo - siksika - bambara - bengali - bantu - tiibeti - bretooni - bradži - bosnia - bataki - burjaadi - bugi - bilini - katalaani - kado - muu Kesk-Ameerika indiaani - kariibi - muu Kaukaasia - atsam - tšetšeeni - sebu - muu keldi - tšamorro - tšibtša - tšagatai - tšuugi - mari - tšinuki žargoon - tšokto - tšipevai - tšerokii - šaieeni - tšami keeled - korsika - kopti - muud inglispõhjalised kreool- ja pidžinkeeled - muud prantsuspõhjalised kreool- ja pidžinkeeled - muud portugalipõhjalised kreool- ja pidžinkeeled - krii - krimmitatari - muud kreool- ja pidžinkeeled - tšehhi - kašuubi - kirikuslaavi - muu kuši keel - tšuvaši - kõmri - taani - siuu - dargi - dajaki - saksa - delavari - sleivi - dogribi - dinka - dogri - muu draviidi keel - alamsorbi - duala - keskhollandi - maldiivi - djula - bhutani - eve - ibibio - muinasegiptuse - ekadžuki - kreeka - eelami - inglise - inglise (USA) - keskinglise - esperanto - hispaania - eesti - baski - evondo - pärsia - fangi - fanti - fulbe - soome - filipino - muu soomeugri - fidži - fääri - foni - prantsuse - keskprantsuse - vanaprantsuse - põhjafriisi - idafriisi - friuuli - läänefriisi - iiri - gaa - gajo - gbaja - gaeli - muu germaani - etioopia - kiribati - galeegi - keskülemsaksa - guaranii - vanaülemsaksa - gondi - gorontalo - gooti - grebo - vanakreeka - alemanni - gudžarati - mänksi - gvitšini - hausa - haida - havai - heebrea - hindi - hiligainoni - himtšali - heti - hmongi - motu - horvaadi - ülemsorbi - haiti - ungari - hupa - armeenia - herero - interlingua - ibani - indoneesia - interlingue - ibo - Sichuani jii - idžo - injupiaki - iloko - muu India - muu indoeuroopa - inguši - ido - muu Iraani - irokeesi keeled - islandi - itaalia - inuktituti - jaapani - lojbani - juudipärsia - juudiaraabia - jaava - gruusia - karakalpaki - kabiili - katšini - jju - kamba - kareni - kaavi - kabardi-tšerkessi - tyap - koro - kongo - khasi - muu khoisani - saki - kikuju - ambo - kasahhi - grööni - khmeeri - mbundu - kannada - korea - konkani - kosrae - kpelle - kanuri - karatšai-balkaari - karjala - kruu - oraoni - kašmiiri - kurdi - kumõki - kutenai - komi - korni - kirgiisi - ladina - ladiino - lahnda - lamba - letseburgi - lesgi - ganda - limburgi - lingala - lao - mongo - lozi - leedu - luba - lulua - luisenjo - lunda - luo - lušei - läti - madura - magali - maithili - makassari - malinke - austroneesia keeled - masai - mokša - mandari - mende - malagassi - keskiiri - maršalli - maoori - mikmaki - minangkabau - üksikkeeled - makedoonia - muu moni-khmeeri - malajalami - mongoli - mandžu - manipuri - manobo keeled - moldova - mohoogi - more - marathi - malai - malta - mitu keelt - munda keel - maskogi - miranda - marvari - birma - maia keeled - ersa - nauru - nahua - muu Põhja-Ameerika indiaani - napoli - norra bokmål - põhjandebele - alamsaksa - nepali - nevari - ndonga - niasi - muu Nigeri-Kordofani - niue - hollandi - norra nynorsk - norra - nogai - vanapõhjala - nkoo - lõunandebele - pedi - Nuubia keeled - navaho - vananevari - njandža - njamvesi - nkole - njoro - nzima - oksitaani - odžibvei - oromo - oria - osseedi - oseidži - osmanitürgi - otomi keeled - pandžabi - muu Paapua - pangasinani - pahlavi - pampanga - papiamento - belau - vanapärsia - muu Filipiini - foiniikia - paali - poola - poonpei - praakriti keeled - vanaprovansi - puštu - portugali - ketšua - radžastani - rapanui - rarotonga - retoromaani - rundi - rumeenia - muu romaani - mustlaskeel - vene - aromuuni - ruanda - sanskriti - sandave - jakuudi - muu Lõuna-Ameerika indiaani - sališi keeled - Samaaria aramea - sasaki - santali - sardiinia - sitsiilia - šoti - sindhi - põhjasaami - sölkupi - muu semi - sango - vanaiiri - viipekeeled - serbia-horvaadi - šani - singali - sidamo - siuu keeled - muu Hiina-Tiibeti - slovaki - sloveeni - muu slaavi - samoa - lõunasaami - muu saami - Lule saami - Inari saami - koltasaami - šona - soninke - somaali - sogdi - songai - albaania - serbia - sranani - sereri - svaasi - muu Niiluse-Sahara - lõunasotho - sunda - sukuma - susu - sumeri - rootsi - suahiili - süüria - tamili - muu tai keel - telugu - temne - tereno - tetumi - tadžiki - tai - tigrinja - tigree - tivi - türkmeeni - tokelau - tagalogi - klingoni - tlingiti - tamašeki - tsvana - tonga - tšitonga - uusmelaneesia - türgi - tsonga - tšimši keeled - tatari - tumbuka - tupii keeled - muu Altai - tuvalu - tvii - tahiti - tõva - udmurdi - uiguuri - ugariti - ukraina - umbundu - määramata - urdu - usbeki - vai - venda - vietnami - volapüki - vadja - vallooni - vakaši keeled - volamo - varai - vašo - sorbi keeled - volofi - kalmõki - koosa - jao - japi - jidiši - joruba - jupiki keeled - tšuangi - sapoteegi - zenaga - hiina - hiina keel - lihtsustatud - hiina keel - traditsiooniline - zande - suulu - sunji - mittekeeleline - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - maailm - Aafrika - Põhja-Ameerika - Lõuna-Ameerika - Okeaania - Lääne-Aafrika - Kesk-Ameerika - Ida-Aafrika - Põhja-Aafrika - Kesk-Aafrika - Lõuna-Aafrika - Ameerika maailmajagu - Ameerika põhjaosa - Kariibi meri - Ida-Aasia - Lõuna-Aasia - Kagu-Aasia - Lõuna-Euroopa - Austraalia ja Uus-Meremaa - Melaneesia - Mikroneesia - Polüneesia - Kesk-Aasia lõunaosa - Aasia - Kesk-Aasia - Lääne-Aasia - Euroopa - Ida-Euroopa - Põhja-Euroopa - Lääne-Euroopa - Sõltumatute Riikide Ühendus - Ladina-Ameerika ja Kariibi meri - Andorra - Araabia Ühendemiraadid - Afganistan - Antigua ja Barbuda - Anguilla - Albaania - Armeenia - Hollandi Antillid - Angola - Antarktis - Argentina - Ameerika Samoa - Austria - Austraalia - Aruba - Ahvenamaa - Aserbaidžaan - Bosnia ja Hertsegoviina - Barbados - Bangladesh - Belgia - Burkina Faso - Bulgaaria - Bahrein - Burundi - Benin - Bermuda - Brunei - Boliivia - Brasiilia - Bahama - Bhutan - Bouvet’ saar - Botswana - Valgevene - Belize - Kanada - Kookossaared - Kongo DV - Kesk-Aafrika Vabariik - Kongo Vabariik - Šveits - Côte d'Ivoire - Cooki saared - Tšiili - Kamerun - Hiina - Colombia - Costa Rica - Serbia ja Montenegro - Kuuba - Roheneemesaared - Jõulusaar - Küpros - Tšehhi - Saksamaa - Djibouti - Taani - Dominica - Dominikaani Vabariik - Alžeeria - Ecuador - Eesti - Egiptus - Lääne-Sahara - Eritrea - Hispaania - Etioopia - Soome - Fidži - Falklandi saared - Mikroneesia Liiduriigid - Fääri saared - Prantsusmaa - Gabon - Suurbritannia - Grenada - Gruusia - Prantsuse Guajaana - Guernsey - Ghana - Gibraltar - Gröönimaa - Gambia - Guinea - Guadeloupe - Ekvatoriaal-Guinea - Kreeka - Lõuna-Georgia ja Lõuna-Sandwichi saared - Guatemala - Guam - Guinea-Bissau - Guyana - Hongkong - Hiina erihalduspiirkond - Heard ja McDonald - Honduras - Horvaatia - Haiti - Ungari - Indoneesia - Iirimaa - Iisrael - Mani saar - India - Briti India ookeani ala - Iraak - Iraan - Island - Itaalia - Jersey - Jamaica - Jordaania - Jaapan - Kenya - Kõrgõzstan - Kambodža - Kiribati - Komoorid - Saint Kitts ja Nevis - Põhja-Korea - Lõuna-Korea - Kuveit - Kaimanisaared - Kasahstan - Laos - Liibanon - Saint Lucia - Liechtenstein - Sri Lanka - Libeeria - Lesotho - Leedu - Luksemburg - Läti - Liibüa - Maroko - Monaco - Moldova - Montenegro - Madagaskar - Marshalli Saared - Makedoonia - Mali - Myanmar - Mongoolia - Aomen - Hiina erihalduspiirkond - Põhja-Mariaanid - Martinique - Mauritaania - Montserrat - Malta - Mauritius - Maldiivid - Malawi - Mehhiko - Malaisia - Mosambiik - Namiibia - Uus-Kaledoonia - Niger - Norfolk - Nigeeria - Nicaragua - Holland - Norra - Nepal - Nauru - Niue - Uus-Meremaa - Omaan - Panama - Peruu - Prantsuse Polüneesia - Paapua Uus-Guinea - Filipiinid - Pakistan - Poola - Saint-Pierre ja Miquelon - Pitcairn - Puerto Rico - Palestiina ala - Portugal - Belau - Paraguay - Katar - Okeaania hajasaared - Euroopa Liit - Réunion - Rumeenia - Serbia - Venemaa - Rwanda - Saudi Araabia - Saalomoni Saared - Seišellid - Sudaan - Rootsi - Singapur - Saint Helena - Sloveenia - Svalbard ja Jan Mayen - Slovakkia - Sierra Leone - San Marino - Senegal - Somaalia - Suriname - São Tomé ja Príncipe - El Salvador - Süüria - Svaasimaa - Turks ja Caicos - Tšaad - Prantsuse Lõunaalad - Togo - Tai - Tadžikistan - Tokelau - Ida-Timor - Türkmenistan - Tuneesia - Tonga - Türgi - Trinidad ja Tobago - Tuvalu - Taiwan - Tansaania - Ukraina - Uganda - Ühendriikide hajasaared - Ameerika Ühendriigid - Uruguay - Usbekistan - Vatikan - Saint Vincent ja Grenadiinid - Venezuela - Briti Neitsisaared - USA Neitsisaared - Vietnam - Vanuatu - Wallis ja Futuna - Samoa - Jeemen - Mayotte - Lõuna-Aafrika Vabariik - Sambia - Zimbabwe - määramata - - - saksa traditsiooniline kirjaviis - saksa reformitud kirjaviis - Natisone murre - polütooniline - uus kirjaviis - Resia murre - saho murre - - - kalender - sortimine - vääring - - - hiina traditsiooniline - big5 - budistlik kalender - Hiina kalender - lisareegliteta - hiina lihtsustatud - GB2312 - Gregoriuse kalender - juudi kalender - islamikalender - islami ilmalik kalender - Jaapani kalender - telefoniraamat - elementide kirjutamise järjekorras - traditsiooniline - - - inglise mõõdustik - meetermõõdustik - - - - [a-s š z ž t-w õ ä ö ü x y] - [á à â å ā æ ç é è ê ë ē í ì î ï ī ñ ó ò ŏ ô ø ō œ ß ú ù û ū] - - - „ - “ - ‘ - ‚ - - - {0}−{1} - - - - - - jaan - veebr - märts - apr - mai - juuni - juuli - aug - sept - okt - nov - dets - - - jaanuar - veebruar - märts - aprill - mai - juuni - juuli - august - september - oktoober - november - detsember - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - P - E - T - K - N - R - L - - - pühapäev - esmaspäev - teisipäev - kolmapäev - neljapäev - reede - laupäev - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - K1 - K2 - K3 - K4 - - - 1. kvartal - 2. kvartal - 3. kvartal - 4. kvartal - - - - AM - PM - - - enne meie aega - meie aja järgi - - - e.m.a. - m.a.j. - - - - - - EEEE, d, MMMM y - - - - - d MMMM y - - - - - dd.MM.yyyy - - - - - dd.MM.yy - - - - - - - H:mm:ss zzzz - - - - - H:mm:ss z - - - - - H:mm:ss - - - - - H:mm - - - - - - d MMMM - dd.MM - mm:ss - Q yy - MM.yyyy - MMMM y - - - {0} - {1} - - M-M - - - E, dd.MM - E, dd.MM - E, dd.MM - E, dd.MM - - - MMM-MMM - - - E, d MMM - E, d MMM - E, d - E, d MMM - - - d MMM - d MMM - d-d MMM - - - dd.MM - dd.MM - dd.MM - dd.MM - - - d-d - - - H-H - - - H:mm-H:mm - H:mm-H:mm - - - H:mm-H:mm v - H:mm-H:mm v - - - H-H v - - - y-y - - - MM.yy - MM.yy - MM.yy - MM.yy - - - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - - - MMM-MMM y - MMM y - MMM y - - - E, d, MMM - E, d, MMM y - E, d - E, d, MMM y - E, d, MMM y - E, d, MMM y - - - d MMM - d MMM y - d-d MMM y - d MMM y - d MMM y - - - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - {1} ({0}) - - määramata - - - Lõunapoolus - - - Dumont D'Urville - - - Viin - - - Brüssel - - - Bermuuda - - - Kookossaared - - - Zürich - - - Lihavõttesaar - - - Havanna - - - Roheneeme - - - Jõulud - - - Berliin - - - Kopenhaagen - - - Alžiir - - - Kairo - - - Kanaari saared - - - Madriid - - - Helsingi - - - Fidži - - - Fääri - - - Pariis - - - Ateena - - - Lõuna Gruusia - - - Rooma - - - St. Kitts - - - St. Lucia - - - Luksemburg - - - Riia - - - Maldiivid - - - Varssavi - - - Lissabon - - - Katar - - - Kokkutulek - - - Bukarest - - - Singapur - - - Salvador - - - Hispaania Sadam - - - Kiiev - - - Alaska aeg - - - St. Vincent - - - St. Thomas - - - - - - , -   - ; - % - 0 - # - + - − - ×10^ - ‰ - ∞ - ¤¤¤ - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - - - - Andorra peseeta - - - Araabia Ühendemiraatide dirhem - - - Afganistani afgaani, 1927-2002 - - - Afganistani afgaani - - - Albaania lekk - - - Armeenia dramm - - - Hollandi Antillide kulden - - - Angola kvanza - - - Angola kvanza, 1977-1990 - - - Angola kvanza, 1990-2000 - - - Angola reformitud kvanza, 1995-1999 - - - Argentina austral - - - Argentina peeso, 1983-1985 - - - Argentina peeso - - - Austria šilling - - - Austraalia dollar - - - Aruba guilder - - - Aserbaidžaani manat, 1993-2006 - - - Aserbaidžaani manat - - - Bosnia-Hertsegoviina dinaar - - - Bosnia-Hertsegoviina mark - - - Barbadose dollar - - - Bangladeshi taka - - - Belgia konverteeritav frank - - - Belgia frank - - - Belgia arveldusfrank - - - Bulgaaria püsiv leev - - - Bulgaaria leev - - - Bahreini dinaar - - - Burundi frank - - - Bermuda dollar - - - Brunei dollar - - - boliviaano - - - Boliivia peeso - - - Brasiilia krusado - - - Brasiilia reaal - - - Birma kjatt - - - Botswana pula - - - Valgevene uus rubla, 1994-1999 - - - Valgevene rubla - - - Kanada dollar - - - Šveitsi frank - - - Tšiili peeso - - - Hiina jüaan - - - Kolumbia peeso - - - Serbia vana dinaar - - - Küprose nael - - - Tšehhi kroon - - - Saksa mark - - - Taani kroon - - - Alžeeria dinaar - - - Ecuadori sukre - - - kroon - kr - . - - - Egiptuse nael - - - Hispaania peseeta - - - Etioopia birr - - - euro - - - Soome mark - - - Fidži dollar - - - Falklandi saarte nael - - - Prantsuse frank - - - Suurbritannia naelsterling - - - Gruusia lari - - - Ghana sedi - - - Gibraltari nael - - - Gambia dalasi - - - Guinea syli - - - Kreeka drahm - - - Guatemala ketsal - - - Guinea-Bissau peeso - - - Guyana dollar - - - Hongkongi dollar - - - Hondurase lempiira - - - Horvaatia kuna - - - Haiti gurd - - - Ungari forint - - - Indoneesia ruupia - - - Iiri nael - - - Iisraeli nael - - - Iisraeli uus seekel - - - India ruupia - - - Iraagi dinaar - - - Iraani riaal - - - Islandi kroon - - - Itaalia liir - - - Jamaica dollar - - - Jaapani jeen - ¥ - - - Keenia šilling - - - Kõrgõzstani somm - - - Kambodža riaal - - - Põhja-Korea vonn - - - Lõuna-Korea vonn - - - Kuveidi dinaar - - - Kasahstani tenge - - - Laose kiip - - - Liibanoni nael - - - Leedu litt - - - Luksemburgi frank - - - Läti latt - - - Maroko dirhem - - - Moldova leu - - - Myanmari kjatt - - - Mongoolia tugrik - - - Macao pataka - - - Mauretaania ugia - - - Malta liir - - - Mauritiuse ruupia - - - Maldiivide ruupia - - - Malawi kvatša - - - Mehhiko peeso - - - Mehhiko peeso, 1861-1990 - - - Malaisia ringgit - - - Mosambiigi metikal - - - Nigeeria naira - - - Nicaragua kordoba - - - Nicaragua kuldkordoba - - - Hollandi kulden - - - Norra kroon - - - Nepali ruupia - - - Uus-Meremaa dollar - - - Omaani riaal - - - Panama balboa - - - Peruu inti - - - Peruu uus soll - - - Peruu soll - - - Paapua Uus-Guinea kina - - - Filipiinide peeso - - - Pakistani ruupia - - - Poola zlott - - - Poola zlott, 1950-1995 - - - Portugali eskuudo - - - Paraguai guaranii - - - Quatari riaal - - - Rumeenia lei, -2005 - - - Rumeenia lei - - - Serbia dinaar - - - Venemaa rubla - - - Venemaa rubla, 1991-1998 - - - Ruanda frank - - - Saudi-Araabia riaal - - - Saalomoni saarte dollar - - - Seišelli saarte ruupia - - - Sudaani nael - - - Rootsi kroon - - - Singapuri dollar - - - Saint Helena nael - - - Sloveenia tolar - - - Slovakkia kroon - - - Sierra Leone leoone - - - Somaalia šilling - - - Surinami kulden - - - São Tomé ja Príncipe dobra - - - NSVL rubla - - - Salvadori koloon - - - Süüria nael - - - Tai baat - - - Tadžikistani somoni - - - Türkmenistani manat - - - Tuneesia dinaar - - - Tonga pa'anga - - - Timori eskuudo - - - Türgi liir - - - Türgi uus liir - - - Taiwani dollar - - - Tansaania šilling - - - Ukraina grivna - - - Ukraina karbovanets - - - Uganda šilling - - - USA dollar - $ - - - USA järgmise päeva dollar - - - USA sama päeva dollar - - - Uruguai peeso - - - Usbekistani somm - - - Venezuela boliivar - - - Vietnami dong - - - Vanuatu vatu - - - Lääne-Samoa tala - - - CFA frank BEAC - - - hõbe - - - kuld - - - EURCO - - - Ida-Kariibi dollar - - - eküü - - - Prantsuse kuldfrank - - - pallaadium - - - plaatina - - - vääringute testkood - - - määramata - - - Jeemeni dinaar - - - Jugoslaavia uus dinaar - - - Jugoslaavia konverteeritav dinaar - - - LAVi rand - - - Sambia kvatša - - - Sairi zaire - - - Zimbabwe dollar - - - - - - {0} ööpäev - {0} ööpäeva - - - {0} tund - {0} tunniga - - - {0} minut - {0} minut - - - {0} kuu - {0} kuud - - - {0} sekund - {0} sekundit - - - {0} nädal - {0} nädalat - - - {0} aasta - {0} aastat - - - - - jah:j - ei:e - - - - diff --git a/lib/zend/Zend/Locale/Data/et_EE.xml b/lib/zend/Zend/Locale/Data/et_EE.xml deleted file mode 100644 index 10698fecc8..0000000000 --- a/lib/zend/Zend/Locale/Data/et_EE.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/eu.xml b/lib/zend/Zend/Locale/Data/eu.xml deleted file mode 100644 index 4df5c968d2..0000000000 --- a/lib/zend/Zend/Locale/Data/eu.xml +++ /dev/null @@ -1,1005 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - afrikaans - amharikera - arabiera - assamera - azerbaijanera - bielorrusiera - bulgariera - bihariera - bengalera - bretoiera - bosniera - katalana - txekiera - galesera - daniera - alemanera - greziera - ingelera - ingelesa (Australia) - ingelesa (Erresuma Batua) - ingelesa (AEB) - esperantoa - espainiera - estoniera - euskara - pertsiera - finlandiera - tagalo - faroera - frantsesera - frisiarra - gaelikoa - eskoziar gaelikoa - galegoa - guaraniera - gujaratera - hebreera - hindia - kroaziera - hungariera - armeniera - interlingua - indonesiera - interlingue - islandiera - italiera - japoniera - javera - georgiera - khemerera - kannada - koreera - kurduera - kirgizera - latina - lingala - laosera - lituaniera - letoniera - mazedoniera - malayalamera - mongoliera - marathera - malaysiera - maltera - nepalera - nederlandera - norvegiera berria - norvegiera - okzitaniera - oriya - punjabera - poloniera - paxtuera - portugalera - portugesa (Brasil) - portugesa (Potugal) - errumaniera - errusiera - sanskritoa - sindhia - serbokroaziera - sinhala - eslovakiera - esloveniera - somaliera - albaniera - serbiera - sesothoera - sundanera - suediera - swahili - tamilera - telugua - thailandiera - tigrinya - turkmeniera - tagalog - klingonera - turkiera - twia - uigurrera - ukrainera - urdu - uzbekera - vietnamera - xhosa - yiddishera - txinera - txinera (soildua) - txinera (tradizionala) - zuluera - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Arabiar Emirrerri Batuak - Afganistan - Antigua eta Barbuda - Albania - Armenia - Holandarren Antillak - Angola - Antartika - Argentina - Amerikar Samoa - Austria - Australia - Aland Uharteak - Azerbaijan - Bosnia-Herzegovina - Bangladesh - Belgika - Burkina Faso - Bulgaria - Burundi - Benin - Bolibia - Brasil - Bahamak - Bhutan - Bouvet Uhartea - Botswana - Bielorrusia - Kanada - Cocos uharteak - Kongoko Errepublika Demokratikoa - Afrika Erdiko Errepublika - Kongo - Suitza - Boli Kosta - Cook uharteak - Txile - Kamerun - Txina - Kolonbia - Serbia eta Montenegro - Kuba - Cabo Verde - Christmas uhartea - Zipre - Txekiar errepublika - Alemania - Djibuti - Danimarka - Dominika - Dominikar Errepublika - Aljeria - Ekuador - Estonia - Egipto - Mendebaldeko Sahara - Eritrea - Espainia - Etiopia - Finlandia - Malvinak - Mikronesia - Faroe Uharteak - Frantzia - Gabon - Erresuma Batua - Georgia - Guyana Frantsesa - Guernsey - Ghana - Groenlandia - Gambia - Ginea - Ekuatore Ginea - Grezia - Hegoaldeko Georgia eta Hegoaldeko Sandwich uharteak - Ginea-Bissau - Heard eta McDonald Uharteak - Honduras - Kroazia - Haiti - Hungaria - Indonesia - Irlanda - Israel - Man uhartea - India - Indiako Ozeanoko Britainiar Lurraldea - Irak - Iran - Islandia - Italia - Jersey - Jamaika - Jordania - Japonia - Kenia - Kirgizistan - Kanbodia - Kiribati - Komoreak - Saint Kitts eta Nevis - Ipar Korea - Hego Korea - Kaiman Uharteak - Kazakhstan - Laos - Libano - Santa Luzia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Lituania - Luxenburgo - Letonia - Libia - Maroko - Monako - Moldavia - Montenegro - Madagaskar - Marshall uharteak - Mazedonia - Mali - Birmania - Mongolia - Makau - Iparraldeko Mariana uharteak - Mauritania - Maurizio - Maldivak - Malawi - Mexiko - Malasia - Mozambike - Namibia - Kaledonia Berria - Niger - Norfolk uhartea - Nigeria - Nikaragua - Herbehereak - Norvegia - Nepal - Zeelanda Berria - Oman - Peru - Polinesia Frantsesa - Papua Ginea Berria - Filipinak - Pakistan - Polonia - Saint-Pierre eta Mikelune - Palestina - Portugal - Paraguai - Katar - Errumania - Serbia - Errusia - Ruanda - Saudi Arabia - Salomon uharteak - Seychelleak - Sudan - Suedia - Singapur - Saint Helena - Eslovenia - Svalbard eta Jan Mayen uharteak - Eslovakia - Sierra Leona - San Marino - Senegal - Somalia - Surinam - Sao Tomé eta Principe - Siria - Swazilandia - Turk eta Caico uharteak - Txad - Frantziaren Lurralde Australak - Togo - Tailandia - Tadjikistan - Tokelau - Ekialdeko Timor - Turkmenistan - Tunisia - Tonga - Turkia - Trinidad eta Tobago - Tuvalu - Taiwan - Tanzania - Ukraina - Uganda - Estatu Batuetatik urruti dauden uharte txikiak - Ameriketako Estatu Batuak - Uruguai - Uzbekistan - Vatikano - Saint Vincent eta Grenadinak - Venezuela - Birjina uharte britainiarrak - Birjina uharte amerikarrak - Vietnam - Vanuatu - Wallis eta Futuna - Samoa - Yemen - Hegoafrika - Zambia - Zimbabwe - - - POLITON - BERRIKUSIA - SAHO - ESKOZIAR INGELESA - VALENTZIERA - - - egutegia - alfabetoa - moneta - - - Txinera tradizionalaren alfabetoa-Big5 - egutegi budista - txinatar egutegia - Zuzena - Txinera sinplifikatuaren alfabetoa -GB2312 - egutegi gregoriarra - hebrear egutegia - indiar egutegia - islamiar egutegia - islamiar egutegi zibila - japoniar egutegia - Telefonoen zerrenda - Txinako Errepublikako egutegia - Tradizionala - - - US - Metriko - - - {0} - {0} - {0} - - - - [a-c ç d-n ñ o-z] - [] - [a-z] - - - “ - ” - ‘ - ’ - - - - - - - BG - - - - - - - - urt - ots - mar - api - mai - eka - uzt - abu - ira - urr - aza - abe - - - urtarrila - otsaila - martxoa - apirila - maiatza - ekaina - uztaila - abuztua - iraila - urria - azaroa - abendua - - - - - U - O - M - A - M - E - U - A - I - U - A - A - - - - - - - ig - al - as - az - og - or - lr - - - igandea - astelehena - asteartea - asteazkena - osteguna - ostirala - larunbata - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - 1Hh - 2Hh - 3Hh - 4Hh - - - 1. hiruhilekoa - 2. hiruhilekoa - 3. hiruhilekoa - 4. hiruhilekoa - - - - AM - PM - - - BCE - CE - - - - - - EEEE, y'eko' MMMM'ren' dd'a' - - - - - y'eko' MMM'ren' dd'a' - - - - - y MMM d - - - - - yyyy-MM-dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - d - Q yy - - - - - - - R.O.C. aurretik - R.O.C. - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - {1} ({0}) - - Ezezaguna - - - Bahrein - - - Bermudak - - - Cabo Verde - - - Djibuti - - - Dominika - - - Espainia (Kanariak) - - - Madril - - - Guadalupe - - - Jamaika - - - Luxenburgo - - - Monako - - - Martinika - - - Maurizio - - - Maldivak - - - Singapur - - - Ameriketako Estatu Batuak (Erdialdea, Ipar Dakota) - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - CET - CEST - - true - - - - EET - EEST - - true - - - - WET - WEST - - true - - - true - - - true - - - true - - - - GMT - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - - - , - . - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0.00 ¤ - - - {0}{1} - {0} {1} - - - - BRL - - - CNY - - - ¤ #,##0;-¤ #,##0 - ₧ - , - . - - - EUR - - - GBP - - - INR - - - JPY - - - RUB - - - USD - - - USN - - - USS - - - XAG - - - XAU - - - XBA - - - XBB - - - XBC - - - XBD - - - XDR - - - XEU - - - XFO - - - XFU - - - XPD - - - XPT - - - XRE - - - XTS - - - XXX - - - - - - {0} eguna - {0} egun - - - {0} ordua - {0} h - - - {0} minutu - {0} minutu - - - {0} hilea - - - {0} segundo - {0} s - - - {0} aste - {0} aste - - - {0} urtea - {0} y - - - - - bai:b - ez:e - - - - diff --git a/lib/zend/Zend/Locale/Data/eu_ES.xml b/lib/zend/Zend/Locale/Data/eu_ES.xml deleted file mode 100644 index cdf4f73d60..0000000000 --- a/lib/zend/Zend/Locale/Data/eu_ES.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/fa.xml b/lib/zend/Zend/Locale/Data/fa.xml deleted file mode 100644 index 51a507c1ea..0000000000 --- a/lib/zend/Zend/Locale/Data/fa.xml +++ /dev/null @@ -1,3309 +0,0 @@ - - - - - - - - - - - {0} ({1}) - ، - - - آفاری - آبخازی - آچئی - آچولیایی - آدانگمه‌ای - آدیجیایی - اوستایی - آفریکانس - زبان افریقا و آسیایی - آفریهیلی - آینویی - آکان - آکدی - آلئوتی - زبان آلگونکینی - آلتایی جنوبی - امهری - آراگونی - انگلیسی باستان - آنگیکا - زبان آپاچیایی - عربی - آرامی - آروکانیایی - آراپاهویی - زبان ساختگی - آراواکی - آسامی - زبان آتاپاسکایی - زبان استرالیایی - آواری - آیمارایی - ترکی آذربایجانی - باشغیری - باندایی - بلوچی - بالیایی - باسایی - زبان بالتیکی - بلوروسی - بجایی - بمبایی - بربری - بلغاری - بیهاری - بوجپوری - بیسلاما - بیکولی - بینی - بامبارایی - بنگالی - بانتویی - تبتی - برتانیایی - براج - بوسنیایی - باتاکی - بوریاتی - بوگیایی - بلین - کاتالونیایی - کادویی - زبان سرخپوستی امریکای مرکزی - کاریبی - زبان قفقازی - چچنی - سبویی - زبان سلتی - چامورویی - چیبچا - جغتایی - تروکی - ماریایی - چوکتویی - چیپه‌ویه‌ای - چروکیایی - شایانی - کورسی - قبطی - کریول یا پیجین مبتنی بر انگلیسی - کریول یا پیجین مبتنی بر فرانسوی - کریول یا پیجین مبتنی بر پرتغالی - کریایی - ترکی کریمه - کریول یا پیجین - چکی - کاشوبی - اسلاوی کلیسایی - زبان کوشی - چوواشی - ویلزی - دانمارکی - داکوتایی - دارقینی - دایاک - آلمانی - آلمانی اتریش - آلمانی علیای سوئیس - دلاواری - دوگریب - دینکایی - دوگری - زبان دراویدی - صُربی سفلی - دوآلایی - هلندی میانه - مالدیوی - دایولایی - جونخایی - اوه‌ای - افیکی - مصری کهن - اکاجوک - یونانی - عیلامی - انگلیسی - انگلیسی استرالیا - انگلیسی کانادا - نگلیسی بریتانیا - انگلیسی امریکا - انگلیسی میانه - اسپرانتو - اسپانیایی - اسپانیایی امریکای لاتین - اسپانیایی اسپانیا - استونیایی - باسکی - اواندو - فارسی - فانکی - فانتیایی - فولایی - فنلاندی - فیلیپینی - زبان فین و اوگرایی - فیجیایی - فارویی - فونی - فرانسوی - فرانسوی کانادا - فرانسوی سوئیس - فرانسوی میانه - فرانسوی باستان - فریزی شمالی - فریزی شرقی - فریولیایی - فریزی غربی - ایرلندی - گایی - گایویی - گبایایی - گیلی اسکاتلندی - زبان ژرمنی - گی‌ئزی - گیلبرتی - گالیسیایی - آلمانی علیای میانه - گوارانی - آلمانی علیای باستان - گوندی - گورونتالو - گوتی - گریبویی - یونانی کهن - آلمانی سوئیسی - گجراتی - مانی - گویچ این - هوسیایی - هایدایی - هاوائیایی - عبری - هندی - هیلی‌گاینونی - هیماچالی - هیتی - همونگ - موتویی هیری - کرواتی - صُربی علیا - هائیتیایی - مجاری - هوپا - ارمنی - هریرویی - میان‌زبان - آیبن - اندونزیایی - اکسیدنتال - ایگبویی - یی سیچوان - ایجویی - اینوپیک - ایلوکویی - زبان هندیک - زبان هند و اروپایی - اینگوشی - ایدو - زبان ایرانی - زبان ایروکوایی - ایسلندی - ایتالیایی - اینوکتیتوت - ژاپنی - لوجبان - فارسی یهودی - عربی یهودی - جاوه‌ای - گرجی - قره‌قالپاقی - قبایلی - کاچینی - جو - کامبایی - کارنی - کاویایی - کاباردینی - تایپه ای - کورو - کنگویی - خاسیایی - زبان خواسی - ختنی - کیکویویی - کوانیاما - قزاقی - گرینلندی - خمری - کیمبوندویی - کاناده‌ای - کره‌ای - کنکانی - کپله‌ای - کانوریایی - قره‌چایی‐بالکاری - کرویی - کوروخی - کشمیری - کردی - کومیکی - کوتنی - کومیایی - کرنوالی - قرقیزی - لاتینی - لادینو - لاهندا - لامبا - لوگزامبورگی - لزگی - گاندایی - لیمبورگی - لینگالا - لائوسی - مونگویی - لوزیایی - لیتوانیایی - لوبایی‐کاتانگا - لوبایی‐لولوا - لویسنو - لوندایی - لوئویی - لوشه‌ای - لتونیایی - مادورایی - ماگاهیایی - مایدیلی - ماکاسار - ماندینگویی - زبان آسترونیزیایی - ماسایی - مکشایی - ماندار - منده‌ای - مالاگاسیایی - ایرلندی میانه - مارشالی - مائوریایی - میکماکی - مینانگ‌کابویی - زبان متفرقه - مقدونی - زبان مون‌خمری - مالایالامی - مغولی - مانچویی - میته‌ای - زبان مانوبو - مولداویایی - موهاکی - ماسیایی - مراتی - مالزیایی - مالتی - چندین زبان - زبان موندایی - کریکی - مارواری - برمه‌ای - زبان مایایی - ارزیایی - نائورویی - ناواتلی - زبان سرخپوستی امریکای شمالی - ناپلی - بوکسمال نروژی - انده‌بله‌ای شمالی - آلمانی سفلی - نپالی - نواریایی - اندونگایی - نیاسی - نیویی - هلندی - فلمنگی - نرس جدید نروژی - نروژی - نغایی - نرس باستان - انده‌بله‌ای جنوبی - سوتویی شمالی - زبان نوبیایی - ناواهویی - نواریایی کلاسیک - نیانجایی - نیام‌وزیایی - نیانکوله‌ای - نیورویی - نزیمایی - اوکیتایی - اوجیبوایی - اورومویی - اوریه‌ای - آسی - اوسیجی - ترکی عثمانی - زبان اتومیایی - پنجابی - زبان پاپوایی - پانگاسینانی - پهلوی - پامپانگایی - پاپیامنتو - پالائویی - فارسی باستان - زبان فیلیپینی - فنیقی - پالی - لهستانی - پناپی - زبان پراکریتی - پرووانسی باستان - پشتو - پرتغالی - پرتغالی برزیل - پرتغالی پرتغال - کچوایی - راجستانی - راپانویی - راروتونگایی - رتو‐رومیایی - روندیایی - رومانیایی - زبان رومیایی - رومانویی - ریشه - روسی - کینیارواندایی - سنسکریت - سانداوه‌ای - یاقوتی - زبان سرخپوستی امریکای جنوبی - زبان سالیشی - آرامی سامری - ساساکی - سانتالی - ساردینیایی - سیسیلی - اسکاتلندی - سندی - سلکوپی - زبان سامی - سانگویی - ایرلندی باستان - زبان نشانه‌ای - صرب و کرواتی - شانی - سینهالی - سیدامویی - زبان سویی - زبان چین و تبتی - اسلواکی - اسلووینیایی - زبان اسلاوی - ساموآیی - شونایی - سونینکه‌ای - سومالیایی - سغدی - سونغایی - آلبانیایی - صربی - تاکی‌تاکی - سریری - سوازیایی - زبان نیلی و صحرایی - سوتویی جنوبی - سوندایی - سوکومایی - سوسویی - سومری - سوئدی - سواحلی - سریانی کلاسیک - سریانی - تامیلی - زبان تایی - تلوگویی - تمنه‌ای - ترنو - تتومی - تاجیکی - تایلندی - تیگرینیایی - تیگره‌ای - تیوی - ترکمنی - تاگالوگی - کلینگون - تلین‌گیتی - تاماشقی - تسوانایی - تونگایی - تونگایی نیاسا - زبان توک پیسینی - ترکی استانبولی - تسونگایی - تسیم‌شیانی - تاتاری - تومبوکایی - زبان توپیایی - زبان آلتاییک - تووالویی - توی‌یایی - تاهیتیایی - تووایی - اودمورتی - اویغوری - اوگاریتی - اوکراینی - امبوندویی - زبان نامشخص یا نامعتبر - اردو - ازبکی - ویایی - وندایی - ویتنامی - ولاپوک - وتی - والونی - زبان واکاشی - والامو - وارایی - واشویی - زبان صُربی - ولوفی - قلموقی - خوسایی - یائویی - یاپی - یدی - یوروبایی - زبان یوپیکی - چوانگی - زاپوتکی - زناگا - چینی - چینی ساده‌شده - چینی سنتی - زانده‌ای - زولویی - زونیایی - بدون محتوای زبانی - زازایی - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - جهان - افریقا - امریکای شمالی - امریکای جنوبی - اقیانوسیه - غرب افریقا - امریکای مرکزی - شرق افریقا - شمال افریقا - مرکز افریقا - جنوب افریقا - امریکا - شمال امریکا - کارائیب - شرق آسیا - جنوب آسیا - جنوب شرقی آسیا - جنوب اروپا - استرالیا و زلاند نو - ملانزی - ناحیهٔ میکرونزی - پلی‌نزی - جنوب آسیا و آسیای میانه - آسیا - آسیای مرکزی - غرب آسیا - اروپا - شرق اروپا - شمال اروپا - غرب اروپا - کشورهای مستقل مشترک‌المنافع - امریکای لاتین و کارائیب - آندورا - امارات متحدهٔ عربی - افغانستان - آنتیگوا و باربودا - آنگیل - آلبانی - ارمنستان - آنتیل هلند - آنگولا - جنوبگان - آرژانتین - ساموای امریکا - اتریش - استرالیا - آروبا - جزایر آلاند - جمهوری آذربایجان - بوسنی و هرزگوین - باربادوس - بنگلادش - بلژیک - بورکینافاسو - بلغارستان - بحرین - بوروندی - بنین - سنت بارتلیمی - برمودا - برونئی - بولیوی - برزیل - باهاما - بوتان - جزیرهٔ بووت - بوتسوانا - بیلوروسی - بلیز - کانادا - جزایر کوکوس - کنگو کینشاسا - جمهوری افریقای مرکزی - کنگو برازویل - سوئیس - ساحل عاج - جزایر کوک - شیلی - کامرون - چین - کلمبیا - کاستاریکا - صربستان و مونته‌نگرو - کوبا - کیپ ورد - جزیرهٔ کریسمس - قبرس - جمهوری چک - آلمان - جیبوتی - دانمارک - دومینیک - جمهوری دومینیکن - الجزایر - اکوادر - استونی - مصر - صحرای غربی - اریتره - اسپانیا - اتیوپی - فنلاند - فیجی - جزایر فالکلند - میکرونزی - جزایر فارو - فرانسه - گابون - بریتانیا - گرانادا - گرجستان - گویان فرانسه - گرنزی - غنا - جبل‌الطارق - گروئنلند - گامبیا - گینه - گوادلوپ - گینهٔ استوایی - یونان - جورجیای جنوبی و جزایر ساندویچ جنوبی - گواتمالا - گوام - گینهٔ بیسائو - گویان - هنگ‌کنگ، ناحیهٔ ویژهٔ حکومتی چین - جزیرهٔ هرد و جزایر مک‌دونالد - هندوراس - کرواسی - هاییتی - مجارستان - اندونزی - ایرلند - اسرائیل - جزیرهٔ مان - هند - مستعمره‌های بریتانیا در اقیانوس هند - عراق - ایران - ایسلند - ایتالیا - جرسی - جامائیکا - اردن - ژاپن - کنیا - قرقیزستان - کامبوج - کیریباتی - کومورو - سنت کیتس و نویس - کرهٔ شمالی - کرهٔ جنوبی - کویت - جزایر کِیمن - قزاقستان - لائوس - لبنان - سنت لوسیا - لیختن‌اشتاین - سری‌لانکا - لیبریا - لسوتو - لیتوانی - لوکزامبورگ - لتونی - لیبی - مراکش - موناکو - مولداوی - مونته‌نگرو - سنت مارتین - ماداگاسکار - جزایر مارشال - مقدونیه - مالی - میانمار - مغولستان - ماکائو، ناحیهٔ ویژهٔ حکومتی چین - جزایر ماریانای شمالی - مارتینیک - موریتانی - مونت‌سرات - مالت - موریس - مالدیو - مالاوی - مکزیک - مالزی - موزامبیک - نامیبیا - کالدونیای جدید - نیجر - جزیرهٔ نورفولک - نیجریه - نیکاراگوئه - هلند - نروژ - نپال - نائورو - نیوئه - زلاند نو - عمان - پاناما - پرو - پلی‌نزی فرانسه - پاپوا گینهٔ نو - فیلیپین - پاکستان - لهستان - سنت پیر و میکلون - پیتکایرن - پورتو ریکو - فلسطین - پرتغال - پالائو - پاراگوئه - قطر - بخش‌های دورافتادهٔ اقیانوسیه - اتحادیهٔ اروپا - ریونیون - رومانی - صربستان - روسیه - رواندا - عربستان سعودی - جزایر سلیمان - سیشل - سودان - سوئد - سنگاپور - سنت هلن - اسلوونی - اسوالبارد و جان ماین - اسلواکی - سیرالئون - سان مارینو - سنگال - سومالی - سورینام - سائو تومه و پرینسیپه - السالوادور - سوریه - سوازیلند - جزایر ترک و کایکوس - چاد - مستعمره‌های جنوبی فرانسه - توگو - تایلند - تاجیکستان - توکلائو - تیمور شرقی - ترکمنستان - تونس - تونگا - ترکیه - ترینیداد و توباگو - تووالو - تایوان - تانزانیا - اوکراین - اوگاندا - جزایر کوچک دورافتادهٔ ایالات متحده - ایالات متحدهٔ امریکا - اوروگوئه - ازبکستان - واتیکان - سنت وینسنت و گرنادین - ونزوئلا - جزایر ویرجین بریتانیا - جزایر ویرجین ایالات متحده - ویتنام - وانواتو - والیس و فیوتونا - ساموا - یمن - مایوت - افریقای جنوبی - زامبیا - زیمبابوه - ناحیهٔ نامشخص یا نامعتبر - - - رسم‌الخط سنتی آلمانی - رسم‌الخط آلمانی ۱۹۹۶ میلادی - ارمنی شرقی - ارمنی غربی - کامپیوتری - رسم‌الخط تجدیدنظرشده - ساهویی - انگلیسی معیار اسکاتلند - - - تقویم - ترتیب‌بندی - واحد پول - - - ترتیب چینی سنتی Big5 - تقویم بودایی - تقویم چینی - ترتیب مستقیم - ترتیب چینی ساده‌شده GB2312 - تقویم میلادی - تقویم عبری - تقویم ملی هند - تقویم هجری قمری - تقویم هجری قمری مدنی - تقویم ژاپنی - تقویم هجری شمسی - ترتیب دفتر تلفن - ترتیب پین‌یین چینی ساده‌شده - تقویم جمهوری چین - ترتیب حرکتی چینی سنتی - ترتیب سنتی - - - امریکایی - متریک - - - زبان: {0} - خط: {0} - ناحیه: {0} - - - - - - - [\u064B \u064D \u064C \u0651 \u0654 آ ا ء أ ؤ ئ ب پ ت-ج چ ح-ز ژ س-غ ف ق ک گ ل-ن و ه ة ی] - [\u064E-\u0650 \u0652 \u0656 \u0670 ۰-۹ \u200C-\u200F] - [a-z ﷼] - - - « - » - ‹ - › - - - {0} تا {1} - - - - - - ژانویهٔ - فوریهٔ - مارس - آوریل - مهٔ - ژوئن - ژوئیهٔ - اوت - سپتامبر - اکتبر - نوامبر - دسامبر - - - ژانویهٔ - فوریهٔ - مارس - آوریل - مهٔ - ژوئن - ژوئیهٔ - اوت - سپتامبر - اکتبر - نوامبر - دسامبر - - - - - ژ - ف - م - آ - م - ژ - ژ - ا - س - ا - ن - د - - - ژانویه - فوریه - مارس - آوریل - مه - ژوئن - ژوئیه - اوت - سپتامبر - اکتبر - نوامبر - دسامبر - - - - - - - یکشنبه - دوشنبه - سه‌شنبه - چهارشنبه - پنجشنبه - جمعه - شنبه - - - - - ی - د - س - چ - پ - ج - ش - - - - - - - س‌م۱ - س‌م۲ - س‌م۳ - س‌م۴ - - - سه‌ماههٔ اول - سه‌ماههٔ دوم - سه‌ماههٔ سوم - سه‌ماههٔ چهارم - - - - - ۱ - ۲ - ۳ - ۴ - - - - قبل از ظهر - بعد از ظهر - - - قبل از میلاد - میلادی - - - ق.م. - م. - - - ق - م - - - - - - - EEEE d MMMM y - - - - - d MMMM y - - - - - yyyy/M/d - - - - - yy/M/d - - - - - - - H:mm:ss (zzzz) - - - - - H:mm:ss (z) - - - - - H:mm:ss - - - - - H:mm - - - - - - - {1}، ساعت {0} - - - - - {1}، ساعت {0} - - - - - {1}،‏ {0} - - - - - {1}،‏ {0} - - - - EEE d - d MMMM y GGGG - HH:mm (Z) - H:mm - L - E M/d - LLL - E d LLL - E d LLLL - d LLLL - d LLL - M/d - d - mm:ss - mm:ss - y - yyyy/M - E yyyy/M/d - MMM y - E d MMM y - MMMM y - yyyy Q - y QQQ - Q yy - yyyy/M - MMMM y - EEEE d MMMM y - - - {1} {0} - - - {0} تا {1} - - M تا M - - - E M/d تا E M/d - E M/d تا E M/d - - - LLL تا LLL - - - E d LLL تا E d LLL - E d LLL تا E d LLL - - - LLLL تا LLLL - - - d LLL تا d LLL - d تا d LLL - - - M/d تا M/d - d/M تا d/M - - - d تا d - - - H تا H - H تا H - - - H:mm تا H:mm - H:mm تا H:mm - H:mm تا H:mm - - - H:mm تا H:mm (v) - H:mm تا H:mm (v) - H:mm تا H:mm (v) - - - H تا H (v) - H تا H (v) - - - y تا y - - - yyyy/M تا yyyy/M - yyyy/M تا yyyy/M - - - E yyyy/M/d تا E yyyy/M/d - E yyyy/M/d تا E yyyy/M/d - E yyyy/M/d تا E yyyy/M/d - - - LLL تا MMM y - MMM y تا MMM y - - - E d LLL تا E d MMM y - E d LLL تا E d MMM y - E d MMM y تا E d MMM y - - - LLLL تا MMMM y - MMMM y تا MMMM y - - - d LLL تا d MMM y - d تا d MMM y - d MMM y تا d MMM y - - - yyyy/M/d تا yyyy/M/d - yyyy/M/d تا yyyy/M/d - yyyy/M/d تا yyyy/M/d - - - - - - دوره - - - سال - - - ماه - - - هفته - - - روز - سه روز پیش - پریروز - دیروز - امروز - فردا - پس‌فردا - سه روز بعد - - - روز هفته - - - قبل/بعد از ظهر - - - ساعت - - - دقیقه - - - ثانیه - - - منطقهٔ زمانی - - - - - - - - تشری - حشوان - کسلو - طوت - شباط - آذار - واذار - نیسان - ایار - سیوان - تموز - آب - ایلول - - - - - ت - ح - ک - ط - ش - آ - و - ن - ا - س - ت - آ - ا - - - - - - - - - محرم - صفر - ربیع الاول - ربیع الثانی - جمادی الاول - جمادی الثانی - رجب - شعبان - رمضان - شوال - ذیقعدهٔ - ذیحجهٔ - - - - - م - ص - ر - ر - ج - ج - ر - ش - ر - ش - ذ - ذ - - - - قبل از ظهر - بعد از ظهر - - - هجری قمری - - - ه‍. ق. - - - - - - - EEEE d MMMM y GGGG - - - - - d MMMM y G - - - - - yyyy/M/d G - - - - - yy/M/d G - - - - - - - - - فروردین - اردیبهشت - خرداد - تیر - مرداد - شهریور - مهر - آبان - آذر - دی - بهمن - اسفند - - - - - ف - ا - خ - ت - م - ش - م - آ - آ - د - ب - ا - - - - قبل از ظهر - بعد از ظهر - - - هجری شمسی - - - ه‍. ش. - - - - - - +HH:mm;−HH:mm - GMT{0} - وقت {0} - {1} ({0}) - - نامشخص - - - آندورا - - - کابل - - - آنگویلا - - - روترا - - - پالمر - - - قطب جنوب - - - سی ووا - - - ماوسون - - - دیویس - - - ووستوک - - - کیسی - - - دومونت د اورویل - - - مک موردو - - - ریو گالگوس - - - مندوسا - - - سن خوان - - - اوشوایا - - - لاریوجا - - - سن لوئیس - - - کاتامارکا - - - خوخوئی - - - توکومن - - - کوردووا - - - بوئنوس‌آیرس - - - پرت - - - اوکلا - - - داروین - - - آدلاید - - - بروکن هیل - - - کوری - - - ملبورن - - - هوبارت - - - لیندمن - - - سیدنی - - - بریسبین - - - لردهاو - - - آروبا - - - باربادس - - - بحرین - - - برمودا - - - ایرونپه - - - ریو برانکو - - - پورتوولیو - - - بوئاویشتا - - - ماناوس - - - کویاوا - - - کمپو گرانده - - - بلم - - - آراگواینا - - - سائوپائولو - - - باهیا - - - فورتالزا - - - ماسیو - - - ریسایف - - - نورونیا - - - بلیز - - - داوسن - - - وایت‌هورس - - - اینوویک - - - ونکوور - - - داوسن کریک - - - یلونایف - - - ادمونتون - - - سوئیفت کورنت - - - خلیج کمبریج - - - رجاینا - - - وینیپگ - - - رسولوت - - - رینی‌ریور - - - خلیجک رنکین - - - کورال هاربر - - - ثاندر بی - - - نیپیگان - - - تورنتو - - - مونرئال - - - ایکلوئت - - - پانگنیرتونگ - - - مانکتون - - - هلیفکس - - - خلیج گوس - - - گلیس بی - - - بلنک-سابلن - - - سنت جان - - - کینشاسا - - - لوبومباشی - - - ایستر - - - سانتیاگو - - - کاشغر - - - ارومچی - - - چونگ کینگ - - - شانگهای - - - هاربین - - - کستا ریکا - - - کیپ ورد - - - دجیبوتی - - - دمونیکا - - - گالاپاگوس - - - گوایاکیل - - - قناری - - - سئوتا - - - مادرید - - - فیجی - - - تراک - - - پناپه - - - کوساره - - - گرینادا - - - جبل الطارق - - - تول - - - گودهوب - - - اسکورسبیساند - - - دانمارک شاون - - - گوادلوپ - - - گواتمالا - - - گوام - - - گویانا - - - هونگ کنگ - - - جاکارتا - - - پونتیاناک - - - ماکاسار - - - جیاپورا - - - تهران - - - جامایکا - - - اندربری - - - کریتیماتی - - - تاراوا - - - کویت - - - آکتا - - - اورال - - - آکتوبه - - - کویزیلوردا - - - آلماتی - - - لاکسمبورگ - - - موناکو - - - کواجالین - - - ماجورو - - - هود - - - اولان باتار - - - چیو بال سان - - - مکاو - - - مارتینیکو - - - منتسرات - - - مالتا - - - ماوریتیوس - - - مالدیو - - - تی جوانا - - - ارموسیو - - - ماساتلان - - - چیئوائوا - - - مونترئی - - - مکزیکوسیتی - - - مریدا - - - کانکون - - - کوچینگ - - - ناورو - - - نیوه - - - چاتام - - - پاناما - - - تاهیتی - - - مارکوس - - - گامبیر - - - پیتکیرن - - - پورتو ریکو - - - آزورس - - - مادریا - - - لیسبون - - - پالاو - - - قطر - - - ریونیون - - - کالینینگراد - - - مسکو - - - ولگاگراد - - - سامارا - - - یکاترینبرگ - - - اومسک - - - نووسیبیریسک - - - کراسنویارسک - - - ایرکوتسک - - - یاکوتسک - - - ولادی‌وستوک - - - ساخالین - - - مگادن - - - کامچاتکا - - - آنادیر - - - سنگاپور - - - ال سالوادر - - - اوژگورود - - - کیف - - - سیمفروپل - - - زاپوروژی - - - میدوی - - - جانستون - - - ویک - - - ایدک - - - نوم - - - هونولولو - - - انکریج - - - یاکوتات - - - جونو - - - لوس‌آنجلس - - - بویسی - - - فینکس - - - شیپراک - - - دنور - - - سالم جدید، داکوتای شمالی - - - سنتر، داکوتای شمالی - - - شیکاگو - - - منامینی - - - وینسنس ایندیانا - - - پترزبرگ - - - تل‌سیتی، ایندیانا - - - ناکس - - - ویناماک ایندیانا - - - مارنگو - - - ایندیاناپولیس - - - لوئیزویل - - - ویوی - - - مانتیسلو - - - دترویت - - - نیویورک - - - سمرقند - - - تاشکند - - - مایوته - - - - وقت افغانستان - وقت افغانستان - وقت تابستانی افغانستان - - - - - وقت مرکز افریقا - - - - - وقت شرق افریقا - - - - - وقت جنوب افریقا - وقت عادی جنوب افریقا - - - - - وقت غرب افریقا - وقت تابستانی غرب افریقا - - - - - وقت آلاسکا - وقت عادی آلاسکا - وقت تابستانی آلاسکا - - - - - وقت آلاسکا‐هاوائی - وقت عادی آلاسکا‐هاوائی - وقت تابستانی آلاسکا‐هاوائی - - - - - وقت آمازون - وقت تابستانی آمازون - - - - - وقت مرکز امریکا - وقت عادی مرکز امریکا - وقت تابستانی مرکز امریکا - - - - - وقت شرق امریکا - وقت عادی شرق امریکا - وقت تابستانی شرق امریکا - - - - - وقت کوهستانی امریکا - وقت عادی کوهستانی امریکا - وقت تابستانی کوهستانی امریکا - - - - - وقت غرب امریکا - وقت عادی غرب امریکا - وقت تابستانی غرب امریکا - - - - - وقت عربستان - وقت عادی عربستان - وقت تابستانی عربستان - - - - - وقت آرژانتین - وقت تابستانی آرژانتین - - - - - وقت غرب آرژانتین - - - - - وقت ارمنستان - وقت تابستانی ارمنستان - - - - - وقت عشق‌آباد - وقت تابستانی عشق‌آباد - - - - - وقت آتلانتیک - وقت عادی آتلانتیک - وقت تابستانی آتلانتیک - - - - - وقت مرکز استرالیا - وقت عادی مرکز استرالیا - وقت تابستانی مرکز استرالیا - - - - - وقت شرق استرالیا - وقت عادی شرق استرالیا - وقت تابستانی شرق استرالیا - - - - - وقت غرب استرالیا - وقت عادی غرب استرالیا - وقت تابستانی غرب استرالیا - - - - - وقت جمهوری آذربایجان - وقت تابستانی جمهوری آذربایجان - - - - - وقت باکو - وقت تابستانی باکو - - - - - وقت بنگلادش - - - - - وقت برینگ - وقت عادی برینگ - وقت تابستانی برینگ - - - - - وقت بوتان - - - - - وقت بولیوی - - - - - وقت برازیلیا - وقت تابستانی برازیلیا - - - - - وقت کیپ ورد - وقت تابستانی کیپ ورد - - - - - وقت شیلی - وقت تابستانی شیلی - - - - - وقت چین - وقت عادی چین - وقت تابستانی چین - - - - - وقت جزیرهٔ کریسمس - - - - - وقت جزایر کوکوس - - - - - وقت کلمبیا - وقت تابستانی کلمبیا - - - - - وقت جزایر کوک - - - - - وقت کوبا - وقت عادی کوبا - وقت تابستانی کوبا - - - - - وقت دیویس - - - - - وقت دوشنبه - وقت تابستانی دوشنبه - - - - - وقت گویان هلند - - - - - وقت تیمور شرقی - - - - - وقت جزیرهٔ ایستر - وقت تابستانی جزیرهٔ ایستر - - - - - وقت اکوادور - - - - - وقت مرکز اروپا - وقت تابستانی مرکز اروپا - - - - - وقت شرق اروپا - وقت تابستانی شرق اروپا - - - - - وقت غرب اروپا - وقت تابستانی غرب اروپا - - - - - وقت جزایر فالکلند - وقت تابستانی جزایر فالکلند - - - - - وقت فیجی - وقت تابستانی فیجی - - - - - وقت گویان فرانسه - - - - - وقت گرینویچ - - - - - وقت گالاپاگوس - - - - - وقت گرجستان - وقت تابستانی گرجستان - - - - - وقت مرکز گروئنلند - وقت تابستانی مرکز گروئنلند - - - - - وقت شرق گروئنلند - وقت تابستانی شرق گروئنلند - - - - - وقت غرب گروئنلند - وقت تابستانی غرب گروئنلند - - - - - وقت عادی گوام - - - - - وقت گویان - - - - - وقت هنگ‌کنگ - وقت تابستانی هنگ‌کنگ - - - - - وقت عادی هند - - - - - وقت اقیانوس هند - - - - - وقت هندوچین - - - - - وقت مرکز اندونزی - - - - - وقت شرق اندونزی - - - - - وقت غرب اندونزی - - - - - وقت ایران - وقت عادی ایران - وقت تابستانی ایران - - - - - وقت ایرکوتسک - وقت تابستانی ایرکوتسک - - - - - وقت اسرائیل - وقت عادی اسرائیل - وقت تابستانی اسرائیل - - - - - وقت ژاپن - وقت عادی ژاپن - وقت تابستانی ژاپن - - - - - وقت کراچی - - - - - وقت کاشغر - - - - - وقت شرق قزاقستان - وقت عادی شرق قزاقستان - - - - - وقت غرب قزاقستان - وقت عادی غرب قزاقستان - - - - - وقت کره - وقت عادی کره - وقت تابستانی کره - - - - - وقت قرقیزستان - - - - - وقت لانکا - - - - - وقت ماکائو - وقت تابستانی ماکائو - - - - - وقت مالزی - - - - - وقت مالدیو - - - - - وقت جزایر مارشال - - - - - وقت مسکو - وقت عادی مسکو - وقت تابستانی مسکو - - - - - وقت میانمار - - - - - وقت نائورو - - - - - وقت نپال - - - - - وقت زلاند نو - وقت عادی زلاند نو - وقت تابستانی زلاند نو - - - - - وقت جزایر ماریانای شمالی - - - - - وقت پاکستان - وقت تابستانی پاکستان - - - - - وقت پالائو - - - - - وقت پاپوا گینهٔ نو - - - - - وقت پاراگوئه - وقت تابستانی پاراگوئه - - - - - وقت پرو - وقت تابستانی پرو - - - - - وقت فیلیپین - وقت تابستانی فیلیپین - - - - - وقت سمرقند - وقت تابستانی سمرقند - - - - - وقت عادی ساموا - - - - - وقت سیشل - - - - - وقت عادی سنگاپور - - - - - وقت جزایر سلیمان - - - - - وقت جورجیای جنوبی - - - - - وقت سورینام - - - - - وقت تاهیتی - - - - - وقت تاجیکستان - - - - - وقت تاشکند - وقت تابستانی تاشکند - - - - - وقت تفلیس - وقت تابستانی تفلیس - - - - - وقت تونگا - وقت تابستانی تونگا - - - - - وقت ترکیه - وقت تابستانی ترکیه - - - - - وقت ترکمنستان - وقت تابستانی ترکمنستان - - - - - وقت تووالو - - - - - وقت اروگوئه - وقت تابستانی اروگوئه - - - - - وقت ارومچی - - - - - وقت ازبکستان - وقت تابستانی ازبکستان - - - - - وقت واناتو - وقت تابستانی واناتو - - - - - وقت ونزوئلا - - - - - وقت جزیرهٔ ویک - - - - - وقت یاکوتسک - وقت تابستانی یاکوتسک - - - - - وقت ایروان - وقت تابستانی ایروان - - - - - - arabext - - ٫ - ٬ - ؛ - ٪ - ۰ - # - + - − - ×۱۰^ - ؉ - ∞ - NaN - - - - - #,##0.###;'‪'-#,##0.###'‬' - - - - - - - #E0 - - - - - - - '‪'%#,##0'‬' - - - - - - - #,##0.00 ¤;'‪'-#,##0.00'‬' ¤ - - - {0} {1} - - - - پزتای آندورا - - - درهم امارات متحدهٔ عربی - - - افغانی افغانستان (۱۹۲۷ تا ۲۰۰۲) - - - افغانی افغانستان - - - لک آلبانی - - - درم ارمنستان - - - گیلدر آنتیل هلند - - - پزوی آرژانتین (۱۹۸۳ تا ۱۹۸۵)‏ - - - پزوی آرژانتین - - - شیلینگ اتریش - - - دلار استرالیا - - - فلورین آروبا - - - منات جمهوری آذربایجان (۱۹۹۳ تا ۲۰۰۶) - - - منات جمهوری آذربایجان - - - دینار بوسنی و هرزگوین - - - دلار باربادوس - - - فرانک بلژیک - - - فرانک بلژیک (مالی) - - - دینار بحرین - - - فرانک بوروندی - - - دلار برمودا - - - دلار برونئی - - - پزوی بولیوی - - - رئال برزیل - - - دلار باهاما - - - روبل جدید بیلوروسی (۱۹۹۴ تا ۱۹۹۹) - - - روبل بیلوروسی - - - دلار بلیز - - - دلار کانادا - - - فرانک کنگو - - - فرانک سوئیس - - - پزوی شیلی - - - یوآن چین - - - پزوی کلمبیا - - - دینار قدیم صربستان - - - پزوی کوبا - - - اسکودوی کیپ ورد - - - پوند قبرس - - - مارک آلمان شرقی - - - مارک آلمان - - - فرانک جیبوتی - - - کرون دانمارک - - - پزوی دومینیکا - - - دینار الجزایر - - - یورو - - - دلار فیجی - - - پوند جزایر فالکلند - - - فرانک فرانسه - - - پوند بریتانیا - - - پوند جبل‌الطارق - - - فرانک گینه - - - دراخمای یونان - - - پزوی گینهٔ بیسائو - - - دلار گویان - - - دلار هنگ‌کنگ - - - دینار کرواسی - - - فورینت مجارستان - - - روپیهٔ اندونزی - - - پوند ایرلند - - - روپیهٔ هند - - - دینار عراق - - - ریال ایران - ﷼ - - - لیرهٔ ایتالیا - - - دلار جامائیکا - - - دینار اردن - - - ین ژاپن - - - شیلینگ کنیا - - - فرانک کومورو - - - دینار کویت - - - دلار جزایر کِیمن - - - لیرهٔ لبنان - - - روپیهٔ سری‌لانکا - - - دلار لیبریا - - - فرانک لوکزامبورگ - - - فرانک مالی لوگزامبورگ - - - روبل لتونی - - - دینار لیبی - - - درهم مراکش - - - فرانک مراکش - - - فرانک ماداگاسکار - - - دینار مقدونیه - - - فرانک مالی - - - لیرهٔ مالت - - - پوند مالت - - - روپیهٔ موریس - - - پزوی مکزیک - - - پزوی نقرهٔ مکزیک (۱۸۶۱ تا ۱۹۹۲) - - - اسکودوی موزامبیک - - - دلار نامیبیا - - - گیلدر هلند - - - کرون نروژ - - - روپیهٔ نپال - - - دلار زلاند نو - - - ریال عمان - - - پزوی فیلیپین - - - روپیهٔ پاکستان - - - زواتی لهستان - - - اسکودوی پرتغال - - - ریال قطر - - - دلار رودزیا - - - دینار صربستان - - - روبل روسیه - - - روبل روسیه (۱۹۹۱ تا ۱۹۹۸) - - - فرانک رواندا - - - ریال سعودی - - - دلار جزایر سلیمان - - - روپیهٔ سیشل - - - دینار قدیم سودان - - - کرون سوئد - - - دلار سنگاپور - - - پوند سنت هلن - - - دلار سورینام - - - گیلدر سورینام - - - روبل شوروی - - - لیرهٔ سوریه - - - بات تایلند - - - روبل تاجیکستان - - - سامانی تاجیکستان - - - منات ترکمنستان - - - منات جدید ترکمنستان - - - دینار تونس - - - اسکودوی تیمور - - - لیرهٔ قدیم ترکیه - - - لیرهٔ ترکیه - - - دلار ترینیداد و توباگو - - - دلار جدید تایوان - - - شیلینگ تانزانیا - - - شیلینگ اوگاندا (۱۹۶۶ تا ۱۹۸۷) - - - شیلینگ اوگاندا - - - دلار امریکا - - - دلار امریکا (روز بعد) - - - دلار امریکا (همان روز) - - - پزوی اوروگوئه (۱۹۷۵ تا ۱۹۹۳) - - - پزوی اوروگوئه - - - سوم ازبکستان - - - نقره - - - طلا - - - دلار شرق کارائیب - - - فرانک طلای فرانسه - - - پالادیم - - - پلاتین - - - ارز نامشخص یا نامعتبر - - - دینار یمن - - - ریال یمن - - - راند افریقای جنوبی - - - دلار زیمبابوه - - - دلار زیمبابوه (۲۰۰۹) - - - دلار زیمبابوه (۲۰۰۸) - - - - - - {0} روز - - - {0} ساعت - - - {0} دقیقه - - - {0} ماه - - - {0} ثانیه - - - {0} هفته - - - {0} سال - - - - - بله:ب:آری:آ - نه:ن:خیر:خ - - - diff --git a/lib/zend/Zend/Locale/Data/fa_AF.xml b/lib/zend/Zend/Locale/Data/fa_AF.xml deleted file mode 100644 index 4c6a01801f..0000000000 --- a/lib/zend/Zend/Locale/Data/fa_AF.xml +++ /dev/null @@ -1,305 +0,0 @@ - - - - - - - - - - - - هسپانوی - دری - فنلندی - آیرلندی - کروشیایی - اندونیزیایی - آیسلندی - ایتالوی - جاپانی - کوریایی - قرغزی - مغلی - نیپالی - هالندی - نارویژی - پولندی - پرتگالی - سویدنی - تاجکی - - - - - - اندورا - امارات متحدهٔ عربی - انتیگوا و باربودا - البانیا - انگولا - ارجنتاین - آسترالیا - بوسنیا و هرزه‌گوینا - بنگله‌دیش - بلجیم - بلغاریا - برونی - بولیویا - برازیل - بهاماس - روسیهٔ سفید - جمهوری دموکراتیک کانگو - افریقای مرکزی - کانگو - سویس - چلی - کولمبیا - کاستریکا - کیوبا - دنمارک - اکوادور - استونیا - اریتریا - هسپانیه - ایتوپیا - فنلند - میکرونزیا - گرینادا - گینیا - گینیا استوایی - گواتیمالا - گینیا بیسائو - گیانا - هاندوراس - کروشیا - هایتی - اندونیزیا - آیرلند - آیسلند - جاپان - کینیا - قرغزستان - کمپوچیا - کومور - سنت کیتس و نیویس - کوریای شمالی - کوریای جنوبی - سریلانکا - لیسوتو - لتوانیا - لاتویا - لیبیا - مادغاسکر - منگولیا - موریتانیا - مالتا - مکسیکو - مالیزیا - موزمبیق - نیجریا - نیکاراگوا - هالند - ناروی - نیپال - زیلاند جدید - پانامه - پیرو - پاپوا نیو گینیا - پولند - پرتگال - پاراگوای - رومانیا - روآندا - جزایر سلومون - سویدن - سینگاپور - سلونیا - سلواکیا - سیرالیون - سینیگال - سومالیه - سائو تومه و پرینسیپ - السلوادور - تاجکستان - اکراین - ایالات متحدهٔ امریکا - یوروگوای - سنت وینسنت و گرینادین - ونزویلا - ساموآ - زیمبابوی - - - - [\u0656 \u0670 \u200C \u200D ټ ځ څ ډ ړ ږ ښ ګ ڼ ي] - - - - - - - - جنو - مـی - جون - جول - دسم - - - جنوری - فبروری - مارچ - اپریل - می - جون - جولای - اگست - سپتمبر - اکتوبر - نومبر - دسمبر - - - - - ج - ف - م - ا - م - ج - ج - ا - س - ا - ن - د - - - - - - - - - حمل - ثور - جوزا - سرطان - اسد - سنبلهٔ - میزان - عقرب - قوس - جدی - دلو - حوت - - - - - ح - ث - ج - س - ا - س - ع - ق - ج - د - ح - - - حمل - ثور - جوزا - سرطان - اسد - سنبله - میزان - عقرب - قوس - جدی - دلو - حوت - - - - - - هجری شمسی - - - ه‍. ش. - - - - - - - - ٫ - ٬ - ٪ - ۰ - − - - - - - '‪'#,##0%'‬' - - - - - - ؋ - - - دالر آسترالیا - - - دالر برونی - - - روبل روسیهٔ سفید - - - دالر کانادا - - - فرانک سویس - - - کرون دنمارک - - - ین جاپان - - - پزوی مکسیکو - - - گیلدر هالند - - - کرون ناروی - - - کرون سویدن - - - دالر سینگاپور - - - سامانی تاجکستان - - - دالر امریکا - - - - - diff --git a/lib/zend/Zend/Locale/Data/fa_IR.xml b/lib/zend/Zend/Locale/Data/fa_IR.xml deleted file mode 100644 index 939b8c1b5f..0000000000 --- a/lib/zend/Zend/Locale/Data/fa_IR.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/fi.xml b/lib/zend/Zend/Locale/Data/fi.xml deleted file mode 100644 index 4224475df8..0000000000 --- a/lib/zend/Zend/Locale/Data/fi.xml +++ /dev/null @@ -1,3830 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - afar - abhaasi - aceh - atšoli - adangme - adyge - avesta - afrikaans - afro-aasialainen kieli - afrihili - ainu - akan - akkadi - aleutti - algonkin-kieli - altai - amhara - aragonia - muinaisenglanti - angika - apaššikieli - arabia - aramea - araukaani - arapaho - keinotekoinen kieli - arawak - assami - asturia - athabasca-kieli - australialainen kieli - avaari - awadhi - aimara - azeri - baškiiri - banda - bamileke-kieli - belutši - bali - basa - balttilainen kieli - valkovenäjä - bedža - bemba - berberikieli - bulgaria - bihari - bhodžpuri - bislama - bikol - bini - mustajalka - bambara - bengali - bantukieli - tiibet - bretoni - bradž - bosnia - batak - burjaatti - bugi - bilin - katalaani - caddo - keskiamerikkalainen intiaanikieli - karibi - kaukasialainen kieli - atsam - tšetšeeni - cebuano - kelttiläinen kieli - tšamorro - tšibtša - tšagatai - chuuk - mari - chinook-jargon - choctaw - chipewyan - cherokee - cheyenne - tšam-kieli - korsika - kopti - englantiin perustuva kreoli- tai pidgin-kieli - ranskaan perustuva kreoli- tai pidgin-kieli - portugaliin perustuva kreoli- tai pidgin-kieli - cree - krimintataari - kreoli- tai pidgin-kieli - tšekki - kašubi - kirkkoslaavi - kuušilainen kieli - tšuvassi - kymri - tanska - dakota - dargi - dajakki - saksa - itävallansaksa - sveitsinyläsaksa - delaware - slevi - dogrib - dinka - dogri - dravidakieli - alasorbi - duala - keskihollanti - divehi - djula - dzongkha - ewe - efik - muinaisegypti - ekajuk - kreikka - elami - englanti - australianenglanti - kanadanenglanti - britannianenglanti - amerikanenglanti - keskienglanti - esperanto - espanja - amerikanespanja - espanjanespanja - viro - baski - ewondo - farsi - fang - fanti - fulani - suomi - filipino - suomalais-ugrilainen kieli - fidži - fääri - fon - ranska - kanadanranska - sveitsinranska - keskiranska - muinaisranska - pohjoisfriisi - itäfriisi - friuli - länsifriisi - iiri - ga - gajo - gbaja - gaeli - germaaninen kieli - ge’ez - kiribati - galicia - keskiyläsaksa - guarani - muinaisyläsaksa - gondi - gorontalo - gootti - grebo - muinaiskreikka - sveitsinsaksa - gudžarati - manx - gwitšin - hausa - haida - havaiji - heprea - hindi - hiligaino - himatšali - heetti - hmong - hiri-motu - kroatia - yläsorbi - haiti - unkari - hupa - armenia - herero - interlingua - iban - indonesia - interlingue - igbo - sichuanin-yi - idžo - inupiatun - iloko - indoarjalainen kieli - indoeurooppalainen kieli - inguuši - ido - iranilainen kieli - irokeesikieli - islanti - italia - inuktitut - japani - lojban - juutalaispersia - juutalaisarabia - jaava - georgia - karakalpakki - kabyyli - kachin - jju - kamba - karen - kavi - kabardi - tyap - norsunluurannikonkoro - kongo - khasi - khoisan-kieli - khotani - kikuju - kuanjama - kazakki - kalaallisut - khmer - kimbundu - kannada - korea - konkani - kosrae - kpelle - kanuri - karatšai-balkaari - karjala - kru-kieli - kurukh - kašmiri - kurdi - kumykki - kutenai - komi - korni - kirgiisi - latina - ladino - lahnda - lamba - luxemburg - lezgi - ganda - limburg - lingala - lao - mongo - lozi - liettua - katanganluba - luluanluba - luiseño - lunda - luo - lusai - latvia - madura - magahi - maithili - makassar - mandingo - austronesialainen kieli - maasai - mokša - mandar - mende - malagassi - keski-iiri - marshall - maori - micmac - minangkabau - luokittelematon kieli - makedonia - mon-khmer-kieli - malajalam - mongoli - mantšu - manipuri - manobo-kieli - moldavia - mohawk - mossi - marathi - malaiji - malta - monia kieliä - mundakieli - creek - mirandeesi - marwari - burma - maya-kieli - ersä - nauru - nahuatl - pohjoisamerikkalainen intiaanikieli - napoli - norjan bokmål - pohjois-ndebele - alasaksa - nepali - newari - ndonga - nias - nigeriläis-kongolainen kieli - niue - hollanti - flaami - norjan nynorsk - norja - nogai - muinaisnorja - n’ko - etelä-ndebele - pohjoissotho - nubialainen kieli - navajo - klassinen newari - njandža - nyamwezi - nyankole - nyoro - nzima - oksitaani - odžibwa - oromo - orija - osseetti - osage - osmani - otomi-kieli - pandžabi - papualaiskieli - pangasinan - pahlavi - pampanga - papiamentu - palau - muinaispersia - filippiiniläinen kieli - foinikia - paali - puola - pohnpei - prakrit-kieli - muinaisprovensaali - paštu - portugali - brasilianportugali - portugalinportugali - ketšua - radžastani - rapanui - rarotonga - retoromaani - rundi - romania - romaaninen kieli - romani - juuri - venäjä - aromania - ruanda - sanskrit - sandawe - jakuutti - eteläamerikkalainen intiaanikieli - sališilainen kieli - samarianaramea - sasak - santali - sardi - sisilia - skotti - sindhi - pohjoissaame - selkuppi - seemiläinen kieli - sango - muinaisiiri - viittomakieli - serbokroaatti - shan - sinhali - sidamo - sioux-kieli - sinotiibetiläinen kieli - slovakki - sloveeni - slaavilainen kieli - samoa - eteläsaame - saamelaiskieli - luulajansaame - inarinsaame - koltansaame - šona - soninke - somali - sogdi - songhai - albania - serbia - sranan - serer - swazi - niililäis-saharalainen kieli - eteläsotho - sunda - sukuma - susu - sumeri - ruotsi - swahili - muinaissyyria - syyria - tamil - thaikieli - telugu - temne - tereno - tetum - tadžikki - thai - tigrinja - tigre - tiv - turkmeeni - tokelau - tagalog - klingon - tlingit - tamašek - tswana - tongantonga - malawintonga - tok-pisin - turkki - tsonga - tsimši - tataari - tumbuka - tupi-kieli - altailainen kieli - tuvalu - twi - tahiti - tuva - udmurtti - uiguuri - ugarit - ukraina - umbundu - määrittämätön - urdu - uzbekki - vai - venda - vietnam - volapük - vatja - valloni - wakash-kieli - walamo - waray - washo - sorbin kieli - wolof - kalmukki - xhosa - jao - japi - jiddiš - joruba - jupikkikieli - zhuang - sapoteekki - blisskieli - zenaga - kiina - yksinkertaistettu kiina - perinteinen kiina - zande - zulu - zuni - ei kielellistä sisältöä - zaza - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - maailma - Afrikka - Pohjois-Amerikka - Etelä-Amerikka - Oseania - Länsi-Afrikka - Väli-Amerikka - Itä-Afrikka - Pohjois-Afrikka - Keski-Afrikka - eteläinen Afrikka - Amerikka - pohjoinen Amerikka - Karibia - Itä-Aasia - Etelä-Aasia - Kaakkois-Aasia - Etelä-Eurooppa - Australia ja Uusi-Seelanti - Melanesia - Mikronesia - Polynesia - Etelä- ja Keski-Aasia - Aasia - Keski-Aasia - Länsi-Aasia - Eurooppa - Itä-Eurooppa - Pohjois-Eurooppa - Länsi-Eurooppa - Itsenäisten valtioiden yhteisö - Latinalainen Amerikka ja Karibia - Kanaalisaaret - Andorra - Arabiemiirikunnat - Afganistan - Antigua ja Barbuda - Anguilla - Albania - Armenia - Alankomaiden Antillit - Angola - Antarktis - Argentiina - Amerikan Samoa - Itävalta - Australia - Aruba - Ahvenanmaa - Azerbaidžan - Bosnia ja Hertsegovina - Barbados - Bangladesh - Belgia - Burkina Faso - Bulgaria - Bahrain - Burundi - Benin - Saint-Barthélemy - Bermuda - Brunei - Bolivia - Brasilia - Bahama - Bhutan - Bouvet’nsaari - Botswana - Valko-Venäjä - Belize - Kanada - Kookossaaret - Kongo-Kinshasa - Keski-Afrikan tasavalta - Kongo-Brazzaville - Sveitsi - Norsunluurannikko - Cookinsaaret - Chile - Kamerun - Kiina - Kolumbia - Costa Rica - Serbia ja Montenegro - Kuuba - Kap Verde - Joulusaari - Kypros - Tšekki - Saksa - Djibouti - Tanska - Dominica - Dominikaaninen tasavalta - Algeria - Ecuador - Viro - Egypti - Länsi-Sahara - Eritrea - Espanja - Etiopia - Suomi - Fidži - Falklandinsaaret - Mikronesian liittovaltio - Färsaaret - Ranska - Gabon - Britannia - Grenada - Georgia - Ranskan Guayana - Guernsey - Ghana - Gibraltar - Grönlanti - Gambia - Guinea - Guadeloupe - Päiväntasaajan Guinea - Kreikka - Etelä-Georgia ja Eteläiset Sandwichsaaret - Guatemala - Guam - Guinea-Bissau - Guyana - Hongkong – Kiinan erityishallintoalue - Heard- ja McDonaldinsaaret - Honduras - Kroatia - Haiti - Unkari - Indonesia - Irlanti - Israel - Mansaari - Intia - Brittiläinen Intian valtameren alue - Irak - Iran - Islanti - Italia - Jersey - Jamaika - Jordania - Japani - Kenia - Kirgisia - Kambodža - Kiribati - Komorit - Saint Kitts ja Nevis - Pohjois-Korea - Etelä-Korea - Kuwait - Caymansaaret - Kazakstan - Laos - Libanon - Saint Lucia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Liettua - Luxemburg - Latvia - Libya - Marokko - Monaco - Moldova - Montenegro - Saint-Martin - Madagaskar - Marshallinsaaret - Makedonia - Mali - Myanmar - Mongolia - Macao – Kiinan erityishallintoalue - Pohjois-Mariaanit - Martinique - Mauritania - Montserrat - Malta - Mauritius - Malediivit - Malawi - Meksiko - Malesia - Mosambik - Namibia - Uusi-Kaledonia - Niger - Norfolkinsaari - Nigeria - Nicaragua - Alankomaat - Norja - Nepal - Nauru - Niue - Uusi-Seelanti - Oman - Panama - Peru - Ranskan Polynesia - Papua-Uusi-Guinea - Filippiinit - Pakistan - Puola - Saint-Pierre ja Miquelon - Pitcairn - Puerto Rico - Palestiina - Portugali - Palau - Paraguay - Qatar - ulkomeri - Euroopan unioni - Réunion - Romania - Serbia - Venäjä - Ruanda - Saudi-Arabia - Salomonsaaret - Seychellit - Sudan - Ruotsi - Singapore - Saint Helena - Slovenia - Huippuvuoret ja Jan Mayen - Slovakia - Sierra Leone - San Marino - Senegal - Somalia - Surinam - São Tomé ja Príncipe - El Salvador - Syyria - Swazimaa - Turks- ja Caicossaaret - Tšad - Ranskan ulkopuoliset eteläiset alueet - Togo - Thaimaa - Tadžikistan - Tokelau - Itä-Timor - Turkmenistan - Tunisia - Tonga - Turkki - Trinidad ja Tobago - Tuvalu - Taiwan - Tansania - Ukraina - Uganda - Yhdysvaltain pienet erillissaaret - Yhdysvallat - Uruguay - Uzbekistan - Vatikaani - Saint Vincent ja Grenadiinit - Venezuela - Brittiläiset Neitsytsaaret - Yhdysvaltain Neitsytsaaret - Vietnam - Vanuatu - Wallis ja Futuna - Samoa - Jemen - Mayotte - Etelä-Afrikka - Sambia - Zimbabwe - tuntematon tai virheellinen alue - - - saksan perinteinen oikeinkirjoitus - sloveenin resian murteen yhdenmukaistettu oikeinkirjoitus - saksan uusi oikeinkirjoitus - myöhäiskeskiranska - varhaisnykyranska - valkovenäjän virallinen oikeinkirjoitus - itäarmenialainen - länsiarmenialainen - yhtenäistetty turkkilainen latinalainen aakkosto - sloveenin resian San Giorgion/Bilan alamurre - englannin boontling-murre - kansainvälinen foneettinen aakkosto IPA - uralilainen foneettinen aakkosto UPA - kornin yleiskirjoitus - sloveenin resian Lipovazin/Lipovecin alamurre - monotoninen kreikka - sloveenin natisonen murre - sloveenin resian Gnivan/Njivan alamurre - sloveenin resian Oseaccon/Osojanen alamurre - kiinan pinyin-latinaistus - polytoninen kreikka - tietokonemäärittely POSIX - uudistettu oikeinkirjoitus - sloveenin resian murre - afarin saho-murre - skotlanninenglanti - englannin scouse-murre - sloveenin resian Stolvizzan/Solbican alamurre - valkovenäjän taraškevitsa-oikeinkirjoitus - kornin yhtenäiskirjoitus - kornin uusittu yhtenäiskirjoitus - katalaanin valencian murre - kiinan Wade-Giles-latinaistus - - - kalenteri - lajittelu - valuutta - - - perinteinen kiinalainen järjestys Big5 - buddhalainen kalenteri - kiinalainen kalenteri - suora järjestys - yksinkertaistettu kiinalainen järjestys GB2312 - gregoriaaninen kalenteri - juutalainen kalenteri - intialainen kalenteri - islamilainen kalenteri - islamilainen siviilikalenteri - japanilainen kalenteri - puhelinluettelojärjestys - pinyin-järjestys - kiinan tasavallan kalenteri 1912–1949 - piirtojärjestys - perinteinen järjestys - - - amerikkalainen - metrinen - - - kieli: {0} - kirjoitusjärjestelmä: {0} - alue: {0} - - - - lowercase-words - - - [a-s š t-z ž å ä ö] - [á à â ã č ç đ é è ë ǧ ǥ ȟ í ï ǩ ń ñ ŋ ô õ œ ř ŧ ú ü ʒ ǯ æ ø] - [a-z] - - - ” - ” - ’ - ’ - - - {0}–{1} - - - - - - tammikuuta - helmikuuta - maaliskuuta - huhtikuuta - toukokuuta - kesäkuuta - heinäkuuta - elokuuta - syyskuuta - lokakuuta - marraskuuta - joulukuuta - - - tammikuuta - helmikuuta - maaliskuuta - huhtikuuta - toukokuuta - kesäkuuta - heinäkuuta - elokuuta - syyskuuta - lokakuuta - marraskuuta - joulukuuta - - - - - tammi - helmi - maalis - huhti - touko - kesä - heinä - elo - syys - loka - marras - joulu - - - T - H - M - H - T - K - H - E - S - L - M - J - - - tammikuu - helmikuu - maaliskuu - huhtikuu - toukokuu - kesäkuu - heinäkuu - elokuu - syyskuu - lokakuu - marraskuu - joulukuu - - - - - - - su - ma - ti - ke - to - pe - la - - - sunnuntaina - maanantaina - tiistaina - keskiviikkona - torstaina - perjantaina - lauantaina - - - - - S - M - T - K - T - P - L - - - sunnuntai - maanantai - tiistai - keskiviikko - torstai - perjantai - lauantai - - - - - - - 1. nelj. - 2. nelj. - 3. nelj. - 4. nelj. - - - 1. neljännes - 2. neljännes - 3. neljännes - 4. neljännes - - - - - 1 - 2 - 3 - 4 - - - - ap. - ip. - - - ennen Kristuksen syntymää - jälkeen Kristuksen syntymän - - - eKr. - jKr. - - - - - - EEEE d. MMMM y - - - - - d. MMMM y - - - - - d.M.yyyy - - - - - d.M.yyyy - - - - - - - H.mm.ss zzzz - - - - - H.mm.ss z - - - - - H.mm.ss - - - - - H.mm - - - - - - EEE d. - HH.mm.ss - H.mm - L - E d.M. - LLL - E d. MMM - E d. MMMM - d. MMMM - d. MMM - d.M. - d - h.mm a - h.mm.ss a - mm.ss - y - L.yyyy - EEE d.M.yyyy - LLL y - EEE d. MMM y - LLLL y - cccc, d. MMMM y - Q/yyyy - QQQ y - M/yy - MMM yy - Q/yy - M/yyyy - EEE d.M.yyyy - LLLL y - QQQQ y - - - {0}–{1} - - L.–L. - - - E d.M. – E d.M. - E d. – E d.M - - - LLL–LLLL - - - E d. MMMM – E d. MMMM - E d. – E d. MMMM - - - LLL–LLLL - - - d. MMMM – d. MMMM - d.–d. MMMM - - - d.M.–d.M. - d.–d.M. - - - d.–d. - - - H–H - H–H - - - H.mm–H.mm - H.mm–H.mm - H.mm–H.mm - - - H.mm–H.mm v - H.mm–H.mm v - H.mm–H.mm v - - - H–H v - H–H v - - - y–y - - - LLL–LLLL y - LLLL y – LLLL y - - - E d.M.yyyy – E d.M.yyyy - E d.M.yyyy – E d.M.yyyy - E d.M.yyyy – E d.M.yyyy - - - LLL–LLLL y - LLLL y – LLLL y - - - E d. MMMM – E d. MMMM y - E d. – E d. MMMM y - E d. MMMM y – E d. MMMM y - - - LLL–LLLL y - LLLL y – LLLL y - - - d. MMMM – d. MMMM y - d.–d. MMMM y - d. MMMM y – d. MMMM y - - - d.M.–d.M.yyyy - d.–d.M.yyyy - d.M.yyyy–d.M.yyyy - - - - - - aikakausi - - - vuosi - - - kuukausi - - - viikko - - - päivä - toissapäivänä - eilen - tänään - huomenna - ylihuomenna - - - viikonpäivä - - - ap/ip - - - tunti - - - minuutti - - - sekunti - - - aikavyöhyke - - - - - - - - tišrí - hešván - kislév - tevét - ševát - adár - adár II - nisán - ijjár - siván - tammúz - ab - elúl - - - tišríkuu - hešvánkuu - kislévkuu - tevétkuu - ševátkuu - adárkuu - adárkuu II - nisánkuu - ijjárkuu - sivánkuu - tammúzkuu - abkuu - elúlkuu - - - - - - - - - muharram - safar - rabi’ al-awwal - rabi’ al-akhir - džumada-l-ula - džumada-l-akhira - radžab - ša’ban - ramadan - šawwal - dhu-l-qa’da - dhu-l-hiddža - - - - - - - +H.mm;-H.mm - UTC{0} - UTC - {0} - {1} ({0}) - - tuntematon - - - Tirana - - - Jerevan - - - Etelänapa - - - Wien - - - Maarianhamina - - - Bryssel - - - São Paulo - - - St. Johns - - - Zürich - - - Pääsiäissaari - - - Havanna - - - Kap Verde - - - Joulu - - - Nikosia - - - Berliini - - - Kööpenhamina - - - Alger - - - Tallinna - - - Kairo - - - Kanariansaaret - - - Fidzi - - - Färsaaret - - - Pariisi - - - Lontoo - - - Qaanaaq - - - Nuuk - - - Ittoqqortoormiit - - - Ateena - - - Etelä-Georgia - - - Hongkong - - - Mansaari - - - Teheran - - - Rooma - - - Jamaika - - - Tokio - - - Komorit - - - Saint Kitts - - - Aqtöbe - - - Saint Lucia - - - Vilna - - - Luxemburg - - - Riika - - - Macao - - - Malediivit - - - Ciudad de México - - - Cancún - - - Niuesaari - - - Varsova - - - Azorit - - - Lissabon - - - Bukarest - - - Belgrad - - - Moskova - - - Jekaterinburg - - - Krasnojarsk - - - Jakutsk - - - Sahalin - - - Kamtšatka - - - Tukholma - - - San Salvador - - - Damaskos - - - Dušanbe - - - Užgorod - - - Kiova - - - Zaporižžja - - - keskinen Pohjois-Dakota - - - Taškent - - - Vatikaani - - - Saint Vincent - - - Saint Thomas - - - - Keski-Afrikan aika - - - - - Itä-Afrikan aika - - - - - Etelä-Afrikan aika - Etelä-Afrikan normaaliaika - - - - - Länsi-Afrikan aika - Länsi-Afrikan kesäaika - - - - - Alaskan normaaliaika - Alaskan kesäaika - - - - - Amazonin aika - Amazonin kesäaika - - - - - Yhdysvaltain keskinen aika - Yhdysvaltain keskinen normaaliaika - Yhdysvaltain keskinen kesäaika - - - CT - CST - CDT - - - - - Yhdysvaltain itäinen aika - Yhdysvaltain itäinen normaaliaika - Yhdysvaltain itäinen kesäaika - - - ET - EST - EDT - - - - - Kalliovuorten aika - Kalliovuorten normaaliaika - Kalliovuorten kesäaika - - - MT - MST - MDT - - - - - Yhdysvaltain Tyynenmeren aika - Yhdysvaltain Tyynenmeren normaaliaika - Yhdysvaltain Tyynenmeren kesäaika - - - PT - PST - PDT - - - - - Saudi-Arabian aika - Saudi-Arabian normaaliaika - Saudi-Arabian kesäaika - - - AT (SA) - - - - - Armenian aika - - - - - Ašgabatin aika - Ašgabatin kesäaika - - - - - Kanadan Atlantin aika - Kanadan Atlantin normaaliaika - Kanadan Atlantin kesäaika - - - AT - AST - ADT - - - - - Keski-Australian aika - Keski-Australian kesäaika - - - ACT - - - - - Läntisen Keski-Australian aika - Läntisen Keski-Australian normaaliaika - Läntisen Keski-Australian kesäaika - - - ACWT - - - - - Itä-Australian aika - Itä-Australian normaaliaika - Itä-Australian kesäaika - - - - - Länsi-Australian normaaliaika - Länsi-Australian kesäaika - - - AWT - - - - - Azerbaidžanin aika - Azerbaidžanin kesäaika - - - - - Azorien aika - Azorien kesäaika - - - - - Bakun kesäaika - - - - - Bangladeshin aika - - - - - Bhutanin aika - - - - - Borneon aika - Borneon kesäaika - - - - - Brunein aika - - - - - Kap Verden aika - Kap Verden kesäaika - - - - - Kiinan aika - Kiinan normaaliaika - Kiinan kesäaika - - - CT - CST (Kiina) - CDT (Kiina) - - - - - Tšoibalsan kesäaika - - - - - Joulusaaren aika - - - - - Kookossaarten aika - - - - - Keski-Euroopan normaaliaika - Keski-Euroopan kesäaika - - - CET - CEST - - - - - Itä-Euroopan normaaliaika - Itä-Euroopan kesäaika - - - EET - EEST - - - - - Länsi-Euroopan aika - Länsi-Euroopan kesäaika - - - WET - WEST - - - - - Falklandinsaarten kesäaika - - - - - Ranskan eteläisten ja antarktisten alueiden aika - - - - - Biškekin aika - Biškekin kesäaika - - - - - Greenwichin normaaliaika - - - GMT - - - - - Georgian aika - Georgian kesäaika - - - - - Arabiemiirikuntien normaaliaika - - - GT - - - - - Hongkongin aika - Hongkongin kesäaika - - - - - Hovdin kesäaika - - - - - Intian normaaliaika - - - - - In - - - - - Keski-Indonesian aika - - - - - Itä-Indonesian aika - - - - - Länsi-Indonesian aika - - - - - Israelin normaaliaika - Israelin kesäaika - - - IST (Israel) - - - - - Japanin normaaliaika - Japanin kesäaika - - - - - Karachin aika - - - - - Korean aika - Korean normaaliaika - - - KT - - - - - Krasnojarskin aika - Krasnojarskin kesäaika - - - - - Kuybyshevin aika - Kuybyshevin kesäaika - - - - - Sri Lankan aika - - - - - Lord Howen aika - Lord Howen normaaliaika - Lord Howen kesäaika - - - LHT - - - - - Macaon kesäaika - - - - - Malaijan aika - - - - - Malediivien aika - - - - - Mauritiuksen aika - - - - - Ulan Batorin kesäaika - - - - - Moskovan aika - Moskovan normaaliaika - Moskovan kesäaika - - - - - Myanmarin aikaMa - - - - - Nepalin aika - - - - - Uuden-Seelannin normaaliaika - - - NZT - - - - - Newfoundlandin normaaliaika - Newfoundlandin kesäaika - - - - - Novosibirskin aika - Novosibirskin kesäaika - - - - - Omskin aika - Omskin kesäaika - - - - - Pakistanin aika - Pakistanin kesäaika - - - - - Filippiinien aika - Filippiinien kesäaika - - - - - Sahalinin aika - - - - - Samaran aika - Samaran kesäaika - - - - - Etelä-Georgian aika - - - - - Tadžikistanin aika - - - - - Taškentin aika - Taškentin kesäaika - - - - - Tbilisin aika - - - - - Turkin kesäaika - - - - - Turkmenistanin aika - Turkmenistanin kesäaika - - - - - Oralin aika - Oralin kesäaika - - - - - Ürümqin aika - - - - - Uzbekistanin aika - Uzbekistanin kesäaika - - - - - Vladivostokin aika - - - - - Volgogradin aika - Volgogradin kesäaika - - - - - Jakutskin aika - Jakutskin kesäaika - - - - - Jekaterinburgin aika - Jekaterinburgin kesäaika - - - - - Jerevanin aika - Jerevanin kesäaika - - - - - - - , -   - ; - % - 0 - # - + - - - E - ‰ - ∞ - epäluku - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0 % - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - - - - Andorran peseta - Andorran peseta - Andorran pesetaa - - - Arabiemiirikuntien dirhami - Arabiemiirikuntien dirhami - Arabiemiirikuntien dirhamia - - - Afganistanin afgaani (1927–2002) - Afganistanin afgaani (1927-2002) - Afganistanin afgaania (1927-2002) - - - Afganistanin afgaani - Afganistanin afgaani - Afganistanin afgaania - AFN - - - Albanian lek - Albanian lek - Albanian lekiä - - - Armenian dram - Armenian dram - Armenian dramia - - - Alankomaiden Antillien guldeni - Alankomaiden Antillien guldeni - Alankomaiden Antillien guldenia - ANG - - - Angolan kwanza - Angolan kwanza - Angolan kwanzaa - AOA - - - Angolan kwanza (1977–1990) - Angolan kwanza (1977–1990) - Angolan kwanzaa (1977–1990) - - - Angolan uusi kwanza (1990–2000) - Angolan uusi kwanza (1990–2000) - Angolan uutta kwanzaa (1990–2000) - - - Angolan kwanza reajustado (1995–1999) - Angolan kwanza reajustado (1995–1999) - Angolan kwanza reajustadoa (1995–1999) - - - Argentiinan austral - Argentiinan austral - Argentiinan australia - ARA - - - ARL - - - ARM - - - Argentiinan peso (1983–1985) - Argentiinan peso (1983–1985) - Argentiinan pesoa (1983–1985) - - - Argentiinan peso - Argentiinan peso - Argentiinan pesoa - ARS - - - Itävallan šillinki - Itävallan šillinki - Itävallan šillinkiä - - - Australian dollari - Australian dollari - Australian dollaria - AUD - - - Aruban guldeni - Aruban guldeni - Aruban guldenia - AWG - - - Azerbaidžanin manat (1993–2006) - Azerbaidžanin manat (1993–2006) - Azerbaidžanin manatia (1993–2006) - - - Azerbaidžanin manat - Azerbaidžanin manat - Azerbaidžanin manatia - AZN - - - Bosnia-Hertsegovinan dinaari - Bosnia-Hertsegovinan dinaari - Bosnia-Hertsegovinan dinaaria - - - Bosnia-Hertsegovinan vaihdettava markka - Bosnia-Hertsegovinan vaihdettava markka - Bosnia-Hertsegovinan vaihdettavaa markkaa - BAM - - - Barbadosin dollari - Barbadosin dollari - Barbadosin dollaria - BBD - - - Bangladeshin taka - Bangladeshin taka - Bangladeshin takaa - BDT - - - Belgian vaihdettava frangi - Belgian vaihdettava frangi - Belgian vaihdettavaa frangia - - - Belgian frangi - Belgian frangi - Belgian frangia - BEF - - - Belgian rahoitusfrangi - Belgian rahoitusfrangi - Belgian rahoitusfrangia - - - Bulgarian kova lev - Bulgarian kova lev - Bulgarian kovaa levaa - - - Bulgarian uusi lev - Bulgarian uusi lev - Bulgarian uutta levaa - - - Bahrainin dinaari - Bahrainin dinaari - Bahrainin dinaaria - BHD - - - Burundin frangi - Burundin frangi - Burundin frangia - BIF - - - Bermudan dollari - Bermudan dollari - Bermudan dollaria - BMD - - - Brunein dollari - Brunein dollari - Brunein dollaria - BND - - - Bolivian boliviano - Bolivian boliviano - Bolivian bolivianoa - BOB - - - Bolivian peso - Bolivian peso - Bolivian pesoa - BOP - - - Bolivian mvdol - Bolivian mvdol - Bolivian mvdol'ia - - - Brasilian uusi cruzeiro (1967–1986) - Brasilian uusi cruzeiro (1967–1986) - Brasilian uutta cruzeiroa (1967–1986) - BRB - - - Brasilian cruzado - Brasilian cruzado - Brasilian cruzadoa - BRC - - - Brasilian cruzeiro (1990–1993) - Brasilian cruzeiro (1990–1993) - Brasilian cruzeiroa (1990–1993) - BRE - - - Brasilian real - Brasilian real - Brasilian realia - BRL - - - Brasilian uusi cruzado - Brasilian uusi cruzado - Brasilian uutta cruzadoa - BRN - - - Brasilian cruzeiro - Brasilian cruzeiro - Brasilian cruzeiroa - BRR - - - BRZ - - - Bahaman dollari - Bahaman dollari - Bahaman dollaria - BSD - - - Bhutanin ngultrum - Bhutanin ngultrum - Bhutanin ngultrumia - BTN - - - Burman kyat - Burman kyat - Burman kyatia - - - Botswanan pula - Botswanan pula - Botswanan pulaa - - - Valko-Venäjän uusi rupla (1994–1999) - Valko-Venäjän uusi rupla (1994–1999) - Valko-Venäjän uutta ruplaa (1994–1999) - - - Valko-Venäjän rupla - Valko-Venäjän rupla - Valko-Venäjän ruplaa - - - Belizen dollari - Belizen dollari - Belizen dollaria - BZD - - - Kanadan dollari - Kanadan dollari - Kanadan dollaria - CAD - - - Kongon frangi - Kongon frangi - Kongon frangia - - - Sveitsin WIR-euro - Sveitsin WIR-euro - Sveitsin WIR-euroa - - - Sveitsin frangi - Sveitsin frangi - Sveitsin frangia - CHF - - - Sveitsin WIR-frangi - Sveitsin WIR-frangi - Sveitsin WIR-frangia - - - CLE - - - Chilen unidades de fomento - Chilen unidades de fomento - Chilen unidades de fomentoa - - - Chilen peso - Chilen peso - Chilen pesoa - CLP - - - Kiinan yuan - Kiinan yuan - Kiinan yuania - CNY - - - Kolumbian peso - Kolumbian peso - Kolumbian pesoa - COP - - - Kolumbian unidad de valor real - Kolumbian unidad de valor real - Kolumbian unidad de valor realia - - - Costa Rican colon - Costa Rican colon - Costa Rican colonia - CRC - - - Serbian vanha dinaari - Serbian vanha dinaari - Serbian vanhaa dinaaria - - - Tšekkoslovakian kova koruna - Tšekkoslovakian kova koruna - Tšekkoslovakian kovaa korunaa - - - CUC - - - Kuuban peso - Kuuban peso - Kuuban pesoa - CUP - - - Kap Verden escudo - Kap Verden escudo - Kap Verden escudoa - CVE - - - Kyproksen punta - Kyproksen punta - Kyproksen puntaa - CYP - - - Tšekin koruna - Tšekin koruna - Tšekin korunaa - CZK - - - Itä-Saksan markka - Itä-Saksan markka - Itä-Saksan markkaa - - - Saksan markka - Saksan markka - Saksan markkaa - DEM - - - Djiboutin frangi - Djiboutin frangi - Djiboutin frangia - DJF - - - Tanskan kruunu - Tanskan kruunu - Tanskan kruunua - Tkr - - - Dominikaanisen tasavallan peso - Dominikaanisen tasavallan peso - Dominikaanisen tasavallan pesoa - DOP - - - Algerian dinaari - Algerian dinaari - Algerian dinaaria - DZD - - - Ecuadorin sucre - Ecuadorin sucre - Ecuadorin sucrea - - - Ecuadorin UVC - Ecuadorin UVC - Ecuadorin UVC'ta - - - Viron kruunu - Viron kruunu - Viron kruunua - EEK - - - Egyptin punta - Egyptin punta - Egyptin puntaa - EGP - - - Eritrean nakfa - Eritrean nakfa - Eritrean nakfaa - ERN - - - Espanjan peseta (A-tili) - Espanjan peseta (A-tili) - Espanjan pesetaa (A-tili) - - - Espanjan peseta (vaihdettava tili) - Espanjan peseta (vaihdettava tili) - Espanjan pesetaa (vaihdettava tili) - - - Espanjan peseta - Espanjan peseta - Espanjan pesetaa - ESP - - - Etiopian birr - Etiopian birr - Etiopian birriä - ETB - - - euro - euro - euroa - - - Suomen markka - Suomen markka - Suomen markkaa - - - Fidžin dollari - Fidžin dollari - Fidžin dollaria - FJD - - - Falklandinsaarten punta - Falklandinsaarten punta - Falklandinsaarten puntaa - FKP - - - Ranskan frangi - Ranskan frangi - Ranskan frangia - FRF - - - Englannin punta - Englannin punta - Englannin puntaa - - - Georgian kuponkilari - Georgian kuponkilari - Georgian kuponkilaria - - - Georgian lari - Georgian lari - Georgian laria - - - Ghanan cedi (1979–2007) - Ghanan cedi (1979–2007) - Ghanan cediä (1979–2007) - GHC - - - Ghanan cedi - Ghanan cedi - Ghanan cediä - GHS - - - Gibraltarin punta - Gibraltarin punta - Gibraltarin puntaa - GIP - - - Gambian dalasi - Gambian dalasi - Gambian dalasia - - - Guinean frangi - Guinean frangi - Guinean frangia - GNF - - - Guinean syli - Guinean syli - Guinean syliä - - - Päiväntasaajan Guinean ekwele (–1986) - Päiväntasaajan Guinean ekwele (–1986) - Päiväntasaajan Guinean ekweleä (–1986) - - - Kreikan drakma - Kreikan drakma - Kreikan drakmaa - GRD - - - Guatemalan quetzal - Guatemalan quetzal - Guatemalan quetzalia - - - Portugalin Guinean escudo - Portugalin Guinean escudo - Portugalin Guinean escudoa - - - Guinea-Bissaun peso - Guinea-Bissaun peso - Guinea-Bissaun pesoa - - - Guyanan dollari - Guyanan dollari - Guyanan dollaria - GYD - - - Hongkongin dollari - Hongkongin dollari - Hongkongin dollaria - HKD - - - Hondurasin lempira - Hondurasin lempira - Hondurasin lempiraa - - - Kroatian dinaari - Kroatian dinaari - Kroatian dinaaria - - - Kroatian kuna - Kroatian kuna - Kroatian kunaa - HRK - - - Haitin gourde - Haitin gourde - Haitin gourdea - - - Unkarin forintti - Unkarin forintti - Unkarin forinttia - HUF - - - Indonesian rupia - Indonesian rupia - Indonesian rupiaa - IDR - - - Irlannin punta - Irlannin punta - Irlannin puntaa - IEP - - - Israelin punta - Israelin punta - Israelin puntaa - ILP - - - Israelin vanha sekeli - Israelin vanha sekeli - Israelin vanhaa sekeliä - - - Israelin uusi sekeli - Israelin uusi sekeli - Israelin uutta sekeliä - ILS - - - Intian rupia - Intian rupia - Intian rupiaa - INR - - - Irakin dinaari - Irakin dinaari - Irakin dinaaria - - - Iranin rial - Iranin rial - Iranin rialia - - - Islannin vanha kruunu - Islannin vanha kruunu - Islannin vanhaa kruunua - - - Islannin kruunu - Islannin kruunu - Islannin kruunua - ISK - - - Italian liira - Italian liira - Italian liiraa - ITL - - - Jamaikan dollari - Jamaikan dollari - Jamaikan dollaria - JMD - - - Jordanian dinaari - Jordanian dinaari - Jordanian dinaaria - JOD - - - Japanin jeni - Japanin jeni - Japanin jeniä - ¥ - - - Kenian šillinki - Kenian šillinki - Kenian šillinkiä - KES - - - Kirgisian som - Kirgisian som - Kirgisian somia - - - Kambodžan riel - Kambodžan riel - Kambodžan rieliä - - - Komorien frangi - Komorien frangi - Komorien frangia - KMF - - - Pohjois-Korean won - Pohjois-Korean won - Pohjois-Korean wonia - KPW - - - Etelä-Korean won - Etelä-Korean won - Etelä-Korean wonia - KRW - - - Kuwaitin dinaari - Kuwaitin dinaari - Kuwaitin dinaaria - KWD - - - Caymansaarten dollari - Caymansaarten dollari - Caymansaarten dollaria - KYD - - - Kazakstanin tenge - Kazakstanin tenge - Kazakstanin tengeä - - - Laosin kip - Laosin kip - Laosin kipiä - LAK - - - Libanonin punta - Libanonin punta - Libanonin puntaa - LBP - - - Sri Lankan rupia - Sri Lankan rupia - Sri Lankan rupiaa - LKR - - - Liberian dollari - Liberian dollari - Liberian dollaria - LRD - - - Lesothon loti - Lesothon loti - Lesothon lotia - - - Liettuan liti - Liettuan liti - Liettuan litiä - LTL - - - Liettuan talonas - Liettuan talonas - Liettuan talonasia - - - Luxemburgin vaihdettava frangi - Luxemburgin vaihdettava frangi - Luxemburgin vaihdettavaa frangia - - - Luxemburgin frangi - Luxemburgin frangi - Luxemburgin frangia - - - Luxemburgin rahoitusfrangi - Luxemburgin rahoitusfrangi - Luxemburgin rahoitusfrangia - - - Latvian lati - Latvian lati - Latvian latia - LVL - - - Latvian rupla - Latvian rupla - Latvian ruplaa - - - Libyan dinaari - Libyan dinaari - Libyan dinaaria - LYD - - - Marokon dirhami - Marokon dirhami - Marokon dirhamia - - - Marokon frangi - Marokon frangi - Marokon frangia - - - Moldovan leu - Moldovan leu - Moldovan leuta - - - Madagaskarin ariary - Madagaskarin ariary - Madagaskarin ariarya - - - Madagaskarin frangi - Madagaskarin frangi - Madagaskarin frangia - - - Makedonian dinaari - Makedonian dinaari - Makedonian dinaaria - - - Malin frangi - Malin frangi - Malin frangia - - - Myanmarin kyat - Myanmarin kyat - Myanmarin kyatia - - - Mongolian tugrik - Mongolian tugrik - Mongolian tugrikia - MNT - - - Macaon pataca - Macaon pataca - Macaon patacaa - MOP - - - Mauritanian ouguiya - Mauritanian ouguiya - Mauritanian ouguiyaa - MRO - - - Maltan liira - Maltan liira - Maltan liiraa - MTL - - - Maltan punta - Maltan punta - Maltan puntaa - MTP - - - Mauritiuksen rupia - Mauritiuksen rupia - Mauritiuksen rupiaa - MUR - - - Malediivien rufiyaa - Malediivien rufiyaa - Malediivien rufiyaata - MVR - - - Malawin kwacha - Malawin kwacha - Malawin kwachaa - MWK - - - Meksikon peso - Meksikon peso - Meksikon pesoa - - - Meksikon hopeapeso (1861–1992) - Meksikon hopeapeso (1861–1992) - Meksikon hopeapesoa (1861–1992) - MXP - - - Meksikon UDI - Meksikon UDI - Meksikon UDI'ta - - - Malesian ringgit - Malesian ringgit - Malesian ringgitiä - MYR - - - Mosambikin escudo - Mosambikin escudo - Mosambikin escudoa - - - Mosambikin metical (1980–2006) - Mosambikin metical (1980–2006) - Mosambikin meticalia (1980–2006) - MZM - - - Mosambikin metical - Mosambikin metical - Mosambikin meticalia - MZN - - - Namibian dollari - Namibian dollari - Namibian dollaria - NAD - - - Nigerian naira - Nigerian naira - Nigerian nairaa - NGN - - - Nicaraguan cordoba - Nicaraguan cordoba - Nicaraguan cordobaa - - - Nicaraguan kultacordoba - Nicaraguan kultacordoba - Nicaraguan kultacordobaa - NIO - - - Alankomaiden guldeni - Alankomaiden guldeni - Alankomaiden guldenia - NLG - - - Norjan kruunu - Norjan kruunu - Norjan kruunua - - - Nepalin rupia - Nepalin rupia - Nepalin rupiaa - NPR - - - Uuden-Seelannin dollari - Uuden-Seelannin dollari - Uuden-Seelannin dollaria - NZD - - - Omanin rial - Omanin rial - Omanin rialia - - - Panaman balboa - Panaman balboa - Panaman balboaa - PAB - - - Perun inti - Perun inti - Perun intiä - PEI - - - Perun uusi sol - Perun uusi sol - Perun uutta solia - PEN - - - Perun sol - Perun sol - Perun solia - - - Papua-Uuden-Guinean kina - Papua-Uuden-Guinean kina - Papua-Uuden-Guinean kinaa - - - Filippiinien peso - Filippiinien peso - Filippiinien pesoa - PHP - - - Pakistanin rupia - Pakistanin rupia - Pakistanin rupiaa - PKR - - - Puolan zloty - Puolan zloty - Puolan zlotya - PLN - - - Puolan zloty (1950–1995) - Puolan zloty (1950–1995) - Puolan zlotya (1950–1995) - - - Portugalin escudo - Portugalin escudo - Portugalin escudoa - PTE - - - Paraguayn guarani - Paraguayn guarani - Paraguayn guarania - PYG - - - Qatarin rial - Qatarin rial - Qatarin rialia - QAR - - - Rhodesian dollari - Rhodesian dollari - Rhodesian dollaria - RHD - - - Romanian vanha leu - Romanian vanha leu - Romanian vanhaa leuta - - - Romanian uusi leu - Romanian uusi leu - Romanian uutta leuta - - - Serbian dinaari - Serbian dinaari - Serbian dinaaria - RSD - - - Venäjän rupla - Venäjän rupla - Venäjän ruplaa - - - Venäjän rupla (1991–1998) - Venäjän rupla (1991–1998) - Venäjän ruplaa (1991–1998) - - - Ruandan frangi - Ruandan frangi - Ruandan frangia - RWF - - - Saudi-Arabian rial - Saudi-Arabian rial - Saudi-Arabian rialia - SAR - - - Salomonsaarten dollari - Salomonsaarten dollari - Salomonsaarten dollaria - SBD - - - Seychellien rupia - Seychellien rupia - Seychellien rupiaa - SCR - - - Sudanin dinaari - Sudanin dinaari - Sudanin dinaaria - SDD - - - Sudanin punta - Sudanin punta - Sudanin puntaa - - - Sudanin punta (1957–1999) - Sudanin punta (1957–1999) - Sudanin puntaa (1957–1999) - - - Ruotsin kruunu - Ruotsin kruunu - Ruotsin kruunua - Rkr - - - Singaporen dollari - Singaporen dollari - Singaporen dollaria - SGD - - - Saint Helenan punta - Saint Helenan punta - Saint Helenan puntaa - SHP - - - Slovenian tolar - Slovenian tolar - Slovenian tolaria - - - Slovakian koruna - Slovakian koruna - Slovakian korunaa - SKK - - - Sierra Leonen leone - Sierra Leonen leone - Sierra Leonen leonea - SLL - - - Somalian šillinki - Somalian šillinki - Somalian šillinkiä - SOS - - - Surinamin dollari - Surinamin dollari - Surinamin dollaria - SRD - - - Surinamin guldeni - Surinamin guldeni - Surinamin guldenia - SRG - - - São Tomén ja Príncipen dobra - São Tomén ja Príncipen dobra - São Tomén ja Príncipen dobraa - STD - - - Neuvostoliiton rupla - Neuvostoliiton rupla - Neuvostoliiton ruplaa - - - El Salvadorin colon - El Salvadorin colon - El Salvadorin colonia - SVC - - - Syyrian punta - Syyrian punta - Syyrian puntaa - SYP - - - Swazimaan lilangeni - Swazimaan lilangeni - Swazimaan lilangenia - - - Thaimaan baht - Thaimaan baht - Thaimaan bahtia - THB - - - Tadžikistanin rupla - Tadžikistanin rupla - Tadžikistanin ruplaa - - - Tadžikistanin somoni - Tadžikistanin somoni - Tadžikistanin somonia - - - Turkmenistanin manat - Turkmenistanin manat - Turkmenistanin manatia - - - Turkmenistanin uusi manat - Turkmenistanin uusi manat - Turkmenistanin uutta manatia - - - Tunisian dinaari - Tunisian dinaari - Tunisian dinaaria - TND - - - Tongan pa’anga - Tongan pa’anga - Tongan pa’angaa - TOP - - - Timorin escudo - Timorin escudo - Timorin escudoa - - - Turkin vanha liira - Turkin vanha liira - Turkin vanhaa liiraa - - - Turkin liira - Turkin liira - Turkin liiraa - TRY - - - Trinidadin ja Tobagon dollari - Trinidadin ja Tobagon dollari - Trinidadin ja Tobagon dollaria - TTD - - - Taiwanin uusi dollari - Taiwanin uusi dollari - Taiwanin uutta dollaria - TWD - - - Tansanian šillinki - Tansanian šillinki - Tansanian šillinkiä - TZS - - - Ukrainan hryvnia - Ukrainan hryvnia - Ukrainan hryvniaa - UAH - - - Ukrainan karbovanetz - Ukrainan karbovanetz - Ukrainan karbovanetziä - - - Ugandan šillinki (1966–1987) - Ugandan šillinki (1966–1987) - Ugandan šillinkiä (1966–1987) - - - Ugandan šillinki - Ugandan šillinki - Ugandan šillinkiä - UGX - - - Yhdysvaltain dollari - Yhdysvaltain dollari - Yhdysvaltain dollaria - $ - - - Yhdysvaltain dollari (seuraava päivä) - Yhdysvaltain dollari (seuraava päivä) - Yhdysvaltain dollaria (seuraava päivä) - - - Yhdysvaltain dollari (sama päivä) - Yhdysvaltain dollari (sama päivä) - Yhdysvaltain dollaria (sama päivä) - - - Uruguayn peso en unidades indexadas - Uruguayn peso en unidades indexadas - Uruguayn pesoa en unidades indexadas - - - Uruguayn peso (1975–1993) - Uruguayn peso (1975–1993) - Uruguayn pesoa (1975–1993) - - - Uruguayn peso - Uruguayn peso - Uruguayn pesoa - UYU - - - Uzbekistanin som - Uzbekistanin som - Uzbekistanin somia - - - Venezuelan bolivar - Venezuelan bolivar - Venezuelan bolivaria - VEB - - - Venezuelan bolivar fuerte - Venezuelan bolivar fuerte - Venezuelan bolivar fuertea - VEF - - - Vietnamin dong - Vietnamin dong - Vietnamin dongia - VND - - - Vanuatun vatu - Vanuatun vatu - Vanuatun vatua - VUV - - - Samoan tala - Samoan tala - Samoan talaa - WST - - - CFA-frangi BEAC - CFA-frangi BEAC - CFA-frangia BEAC - XAF - - - hopea - hopeayksikkö - hopeayksikköä - - - kulta - kultayksikkö - kultayksikköä - - - EURCO - EURCO - EURCO'a - - - Euroopan rahayksikkö (EMU) - Euroopan rahayksikkö (EMU) - Euroopan rahayksikköä (EMU) - - - EUA (XBC) - EUA (XBC) - EUA'ta (XBC) - - - EUA (XBD) - EUA (XBD) - EUA'ta (XBD) - - - Itä-Karibian dollari - Itä-Karibian dollari - Itä-Karibian dollaria - - - erityisnosto-oikeus (SDR) - erityisnosto-oikeus (SDR) - erityisnosto-oikeutta (SDR) - - - Euroopan valuuttayksikkö (ECU) - Euroopan valuuttayksikkö (ECU) - Euroopan valuuttayksikköä (ECU) - - - Ranskan kultafrangi - Ranskan kultafrangi - Ranskan kultafrangia - - - Ranskan UIC-frangi - Ranskan UIC-frangi - Ranskan UIC-frangia - - - CFA-frangi BCEAO - CFA-frangi BCEAO - CFA-frangia BCEAO - - - palladium - palladiumyksikkö - palladiumyksikköä - - - CFP-frangi - CFP-frangi - CFP-frangia - - - platina - platinayksikkö - platinayksikköä - - - RINET-rahastot - RINET-rahastoyksikkö - RINET-rahastoyksikköä - - - testaustarkoitukseen varattu valuuttakoodi - testaustarkoitukseen varattu valuuttakoodi - testaustarkoitukseen varattua valuuttakoodia - - - tuntematon tai virheellinen rahayksikkö - tuntematon tai virheellinen rahayksikkö - tuntematonta tai virheellistä rahayksikköä - - - Jemenin dinaari - Jemenin dinaari - Jemenin dinaaria - - - Jemenin rial - Jemenin rial - Jemenin rialia - YER - - - Jugoslavian kova dinaari - Jugoslavian kova dinaari - Jugoslavian kovaa dinaaria - - - Jugoslavian uusi dinaari - Jugoslavian uusi dinaari - Jugoslavian uutta dinaaria - - - Jugoslavian vaihdettava dinaari - Jugoslavian vaihdettava dinaari - Jugoslavian vaihdettavaa dinaaria - - - Etelä-Afrikan rahoitusrandi - Etelä-Afrikan rahoitusrandi - Etelä-Afrikan rahoitusrandia - - - Etelä-Afrikan randi - Etelä-Afrikan randi - Etelä-Afrikan randia - ZAR - - - Sambian kwacha - Sambian kwacha - Sambian kwachaa - ZMK - - - Zairen uusi zaire - Zairen uusi zaire - Zairen uutta zairea - ZRN - - - Zairen zaire - Zairen zaire - Zairen zairea - - - Zimbabwen dollari - Zimbabwen dollari - Zimbabwen dollaria - ZWD - - - Zimbabwen dollari (2009) - Zimbabwen dollari (2009) - Zimbabwen dollaria (2009) - - - Zimbabwen dollari (2008) - Zimbabwen dollari (2008) - Zimbabwen dollaria (2008) - - - - - - {0} päivä - {0} päivää - - - {0} tunti - {0} tuntia - - - {0} minuutti - {0} minuuttia - - - {0} kuukausi - {0} kuukautta - - - {0} sekunti - {0} sekuntia - - - {0} viikko - {0} viikkoa - - - {0} vuosi - {0} vuotta - - - - - kyllä:kylla:k - ei:e - - - - diff --git a/lib/zend/Zend/Locale/Data/fi_FI.xml b/lib/zend/Zend/Locale/Data/fi_FI.xml deleted file mode 100644 index 82b83dfc31..0000000000 --- a/lib/zend/Zend/Locale/Data/fi_FI.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/fil.xml b/lib/zend/Zend/Locale/Data/fil.xml deleted file mode 100644 index 4c82c60607..0000000000 --- a/lib/zend/Zend/Locale/Data/fil.xml +++ /dev/null @@ -1,1010 +0,0 @@ - - - - - - - - - - - Afrikaans - Amharic - Arabic - Assamese - Azerbaijani - Belarusian - Bulgarian - Bihari - Bengali; Bangla - Breton - Bosnian - Catalan - Czech - Welsh - Danish - Aleman - Griyego - Ingles - Ingles (UK) - Ingles (US) - Esperanto - Espanyol - Estonian - Basque - Persian - Finnish - Filipino - Faroeso - Pranses - Prisian - Irish - Scots Gaelic - Galician - Guarani - Gujarati - Hebreo - Hindu - Croatian - Hungarian - Armenian - Interlingua - Indonesian - Interlingue - Icelandic - Italyano - Japanese - Javanese - Georgian - Khmer - Kannada - Korean - Kurdish - Kirghiz - Latin - Lingala - Lao - Lithuanian - Latvian - Macedonian - Malayalam - Mongolian - Marathi - Malay - Maltese - Nepali - Olandes - Norwegian Nynorsk - Norwegian - Occitan - Oriya - Punjabi - Polish - Pashto - Portuges - Portuges (Brasil) - Rhaeto-Romance - Romanian - Ruso - Sanskrit - Sindhi - Serbo-Croatian - Sinhalese - Eslobak - Eslobenyan - Somali - Albanian - Serbiran - Sesoto - Taga Sundan - Suwiso - Swahili - Tamil - Telugu - Thai - Tigrinya - Turkmen - Tagalog - Klingon - Turko - Twi - Uighur - Ukranian - und - Urdu - Uzbeko - Vietnamese - Wolof - Xhosa - Yiddish - zh - Intsik (Pinadali) - Intsik (Tradisyunal) - Zulu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Mundo - Africa - North America - South America - Oceania - Kanlurang Africa - Gitnang Amerika - Silangang Africa - Hilagang Africa - Gitnang Africa - Katimugang Africa - Americas - Hilagang Amerika - Carribbean - Silangang Asya - Katimugang Asya - Timog-Silangang Asya - Katimugang Europa - Australia at New Zealand - Melanesia - Rehiyong Micronesia - Polynesia - Timog-Gitnang Asya - Asya - Gitnang Asya - Kanlurang Asya - Europa - Silangang Europa - Hilagang Europa - Kanlurang Europa - Latin America at ang Caribbean - Andorra - United Arab Emirates - Afghanistan - Antigua at Barbuda - Anguilla - Albania - Armenia - Netherlands Antilles - Angola - Antartica - Argentina - American Samoa - Austria - Australia - Aruba - Aland Islands - Azerbaijan - Bosnia and Herzegovina - Barbados - Bangladesh - Belgium - Burkina Faso - Bulgaria - Bahrain - Burundi - Benin - Bermuda - Brunei - Bolivia - Brazil - Bahamas - Bhutan - Bouvet Island - Botswana - Belarus - Belize - Canada - Cocos Islands - Congo - Kinshasa - Central African Republic - Congo - Switzerland - Côte d'Ivoire - Cook Islands - Chile - Cameroon - Tsina - Colombia - Costa Rica - Serbia at Montenegro - Cuba - Cape Verde - Christmas Island - Cyprus - Czech Republic - Alemaya - Djibouti - Denmark - Dominica - Dominican Republic - Algeria - Ecuador - Estonia - Ehipto - Western Sahara - Eritrea - Espanya - Ethiopia - Finland - Fiji - Falkland Islands - Micronesia - Faroe Islands - Pranses - Gabon - United Kingdom - Georgia - French Guiana - Guernsey - Ghana - Greenland - Gambia - Guinea - Equatorial Guinea - Griyego - South Georgia and the South Sandwich Islands - Guinea-Bissau - Hong Kong SAR China - Heard Island and McDonald Islands - Honduras - Croatia - Haiti - Hungary - Indonesia - Ireland - Israel - Isle of Man - India - British Indian Ocean Territory - Iraq - Iran - Iceland - Italya - Jersey - Jordan - Japan - Kenya - Kyrgyzstan - Cambodia - Kiribati - Comoros - Saint Kitts and Nevis - Hilagang Korea - Timog Korea - Cayman Islands - Kazakhstan - Laos - Lebanon - Saint Lucia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Lithuania - Latvia - Libya - Morocco - Moldova - Montenegro - Madagascar - Marshall Islands - Macedonia - Mali - Myanmar - Mongolia - Macao - Northern Mariana Islands - Mauritania - Malawi - Mehiko - Malaysia - Mozambique - Namibia - New Caledonia - Niger - Norfolk Island - Nigeria - Nicaragua - Netherlands - Norway - Nepal - New Zealand - Oman - Peru - French Polynesia - Papua New Guinea - Pilipinas - Pakistan - Poland - Saint Pierre at Miquelon - Palestine - Portugal - Paraguay - Malayong bahagi ng Oceania - European Union - Romania - Serbia - Russia - Rwanda - Saudi Arabya - Solomon Islands - Seychelles - Sudan - Sweden - Saint Helena - Slovenia - Svalbard and Jan Mayen - Slovakia - Sierra Leone - San Marino - Senegal - Somalia - Suriname - Sao Tome and Principe - El Salvador - Syria - Swaziland - Turks and Caicos Islands - Chad - French Southern Territories - Togo - Thailand - Tajikistan - Tokelau - East Timor - Turkmenistan - Tunisia - Tonga - Turkey - Trinidad and Tobago - Tuvalu - Taiwan - Tanzania - Ukraine - Uganda - United States minor outlying islands - United States - Uruguay - Uzbekistan - Vatican City - Saint Vincent and the Grenadines - Venezuela - British Virgin Islands - U.S. Virgin Islands - Vietnam - Vanuatu - Wallis and Futuna - Samoa - Yemen - Timog Afrika - Zambia - Zimbabwe - Hindi kilala o Hindi wastong Rehiyon - - - US - Metric - - - {0} - {0} - {0} - - - - [a-n ñ {ng} o-z] - [á à â é è ê í ì î ó ò ô ú ù û] - [a-z] - - - “ - ” - ‘ - ’ - - - - - - - - Ene - Peb - Mar - Abr - May - Hun - Hul - Ago - Set - Okt - Nob - Dis - - - Enero - Pebrero - Marso - Abril - Mayo - Hunyo - Hulyo - Agosto - Setyembre - Oktubre - Nobyembre - Disyembre - - - - - E - P - M - A - M - H - H - A - S - O - N - D - - - Enero - Pebrero - Marso - Abril - Mayo - Hunyo - Hulyo - Agosto - Setyembre - Oktubre - Nobyembre - Disyembre - - - - - - - Lin - Lun - Mar - Mye - Huw - Bye - Sab - - - Linggo - Lunes - Martes - Miyerkules - Huwebes - Biyernes - Sabado - - - - - Miy - Biy - - - L - L - M - M - H - B - S - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - - 1 - 2 - 3 - 4 - - - - AM - PM - - - BCE - CE - - - - - - EEEE, MMMM dd y - - - - - MMMM d, y - - - - - MMM d, y - - - - - M/d/yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - E, M-d - LLL - E MMM d - E MMMM d - MMMM d - MMM d - M-d - mm:ss - y - yyyy-M - EEE, yyyy-M-d - y MMM - EEE, y MMM d - y MMMM - y QQQ - yy-MM - MMM yy - - - - - Era - - - Taon - - - Buwan - - - Linggo - - - Araw - Yesterday - Today - Tomorrow - - - Araw ng Linggo - - - Dayperiod - - - Oras - - - Minuto - - - Segundo - - - Zone - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - {1} ({0}) - - Unknown - - - Porto - Novo - - - Pasko. - - - Tbilisi. - - - Conarky - - - St. Kitts - - - St. Lucia - - - Maseru. - - - Dushanbe. - - - Port nang Espanya - - - St. Vincent - - - St. Thomas - - - Harare. - - - - - - . - , - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤ #,##0.00 - - - {0} {1} - {0} {1} - - - - United Arab Emirates Dirham - - - Argentine Peso - - - Australian Dollar - - - Bulgarian Lev - - - Bolivian Boliviano - - - Brazilian Real - - - Canadian Dollar - - - Swiss Francs - - - Chilean Peso - - - Yuan Renminbi - - - Colombian Peso - - - Czech Koruna - - - Deutsche Marks - - - Denmark Kroner - - - Estonian Kroon - - - Egyptian Pound - - - Euros - - - French Franc - - - British Pounds Sterling - - - Hong Kong Dollars - - - Croatian Kuna - - - Hungarian Forint - - - Indonesian Rupiah - - - Israeli Shekel - - - Indian Rupee - - - Japanese Yen - - - South Korean Won - - - Lithuanian Litas - - - Moroccan Dirham - - - Mexico Peso - - - Malaysian Ringgit - - - Norwegian Kroner - - - New Zealand Dollars - - - Peruvian Nuevo Sol - - - Philippine Peso - - - Pakistan Rupee - - - Polish NewZloty - - - Romanian Leu - - - Serbian Dinar - - - Russian Ruble - - - Saudi Riyal - - - Sweden Kronor - - - Singapore Dollars - - - Slovenian Tolar - - - Slovak Koruna - - - Thai Baht - - - Turkish Lira - - - New Taiwan Dollar - - - US Dollar - - - Venezuela Bolivar - - - XXX - - - South African Rand - - - - - - {0} araw - {0} araw - - - {0} oras - {0} oras - - - {0} minuto - {0} minuto - - - {0} buwan - {0} buwan - - - {0} segundo - {0} segundo - - - {0} linggo - {0} linggo - - - {0} taon - {0} taon - - - - - yes:y - no:n - - - - diff --git a/lib/zend/Zend/Locale/Data/fil_PH.xml b/lib/zend/Zend/Locale/Data/fil_PH.xml deleted file mode 100644 index f9d50a4a35..0000000000 --- a/lib/zend/Zend/Locale/Data/fil_PH.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/fo.xml b/lib/zend/Zend/Locale/Data/fo.xml deleted file mode 100644 index ffd024ad5a..0000000000 --- a/lib/zend/Zend/Locale/Data/fo.xml +++ /dev/null @@ -1,795 +0,0 @@ - - - - - - - - - is da sv en - - - afríska - amhariskt - arabiskt - assamesiskt - azerbaijaniskt - belarussiskt - bulgarskum - bihariskt - bengaliskt - bretonskt - bosniskt - katalanskt - kekkiskt - valisiskt - danskt - týskt - grikskt - enskt - esperanto - spanskt - estlendskt - baskiskt - persiskt - finskt - tagalog - føroyskt - franskt - frisiskt - írskt - skotskt gæliskt - galliskt - guarani - gujariti - hebraiskt - hindi - kroatiskum - ungarskt - armenskum - interlingua - indonesiskum - interlingue - íslendskt - italskt - japanskt - javanesiskt - georgiskt - kambodjanskt - kannada - koreanskt - kurdiskt - kyrgyz - latín - lingala - laothian - litavskt - latviskt - makedonskt - malayalam - mongoliskt - marathiskt - malay - maltesiskt - norskt bokmál - nepalskt - hollendskt - nýnorskt - norskt - occitan - oriya - punjabi - polskt - pashto - portugisiskt - romanskt - russiskt - sanskrit - sindhi - serbokroatiskt - sinhalesiskt - slovakiskum - slovenskum - somaliskt - albanskt - serbiskum - sesotho - sundanesiskt - svenskt - swahili - tamilskt - telugu - thailendskt - tigrinya - turkmenskt - klingonskt - turkiskt - twi - uighur - ukrainskt - urdu - uzbekiskt - vietnamesiskt - xhosa - jiddiskt - kinesískt - sulu - - - heimur - Africa - Norðuramerika - Suðuramerika - Kyrrahavsoyggjarnar - Vesturafrika - Sentralamerika - Eysturafrika - Norðurafrika - Miðafrika - Suður Afrika - Amerika - Amerika nor∂ur Meksiko - Karibia - Eysturasia - Suðurasia - Suðureysturasia - Suðurevropa - Avstralia og Nýsæland - Melanesia - Mikronesiske regionen - Polynesia - Suðursentralasia - Asia - Sentralasia - Vesturasia - Evropa - Eysturevropa - Norðurevropa - Vesturevropa - Latínamerika og Karibia - Andorra - Sameindu Emirríkini - Afganistan - Antigua og Barbuda - Anguilla - Albania - Armenia - Niðurlendsku Antilloyggjar - Angola - Antarktis - Argentina - Amerikanska Sámoa - Eysturríki - Avstralia - Aruba - Áland - Aserbajdsjan - Bosnia-Hersegovina - Barbados - Bangladesj - Belgia - Burkina Faso - Bulgaria - Bahrain - Burundi - Benin - Saint Barthélemy - Bermuda - Brunei - Bolivia - Brasilia - Bahamas - Butan - Bouvetoy - Botsvana - Hvítarussland - Belis - Kanada - Kokosoyggjar - Kongo-Kinshasa - Miðafrikalýðveldið - Kongo - Sveis - Fílabeinsstrondin - Cooksoyggjar - Kili - Kamerun - Kina - Kolombia - Kosta Rika - Kuba - Grønhøvdaoyggjarnar - Jólaoyggjin - Kýpros - Kekkia - Týskland - Djibouti - Danmørk - Dominika - Domingo lýðveldið - Algeria - Ekvador - Estland - Egyptaland - Vestursahara - Eritrea - Spania - Etiopia - Finnland - Fiji - Falklandsoyggjar - Mikronesia - Føroyar - Frakland - Gabon - Stóra Bretland - Grenada - Georgia - Fransk Gujana - Guernsey - Ghana - Gibraltar - Grønland - Gambia - Guinea - Guadeloupe - Ekvator Guinea - Grikkaland - Suðurgeorgia - Guatemala - Guam - Guinea Bissau - Gujana - Hongkong - Heard- og McDonald-oyggjar - Honduras - Kroatia - Haiti - Ungarn - Indonesia - Írland - Ísrael - Mann - India - Bretsku Indiahavsoyggjar - Irak - Iran - Ísland - Italia - Jersey - Jameika - Jordan - Japan - Kenja - Kirgisia - Kambodja - Kiribati - Komorooyggjarnar - Saint Kitts og Nevis - Norður-Korea - Suður-Korea - Kuvait - Caymanoyggjar - Kasakstan - Laos - Libanon - Saint Lusia - Liktenstein - Sri Lanka - Liberia - Lesoto - Litava - Luksemborg - Lettland - Libya - Marokko - Monako - Moldova - Montenegro - Saint Martin - Madagaskar - Marshalloyggjarnar - Makedónia - Mali - Burma - Mongolia - Makao - Norðurmarianoyggjar - Martinique - Móritania - Montserrat - Malta - Móritius - Maldivuoyggjarnar - Malavi - Meksiko - Maleisia - Mosambik - Namibia - Ný-Kaledonia - Niger - Norfolkoy - Nigeria - Nikaragua - Niðurlond - Noreg - Nepal - Nauru - Niue - Ný Sæland - Oman - Panama - Perú - Franska Polynesia - Papua Nýguinea - Filipsoyggjar - Pakistan - Pólland - Saint-Pierre og Miquelon - Pitcairn - Puerto Rico - Palestinskt territorium - Portugal - Palau - Paraguei - Katar - EU - Réunion - Rumenia - Serbia - Russland - Ruanda - Saudi-Arábia - Sálomonoyggjarnar - Seyskelloyggjarnar - Sudan - Svøríki - Singapor - Saint Helena - Slovenia - Svalbard og Jan Mayen - Slovakia - Sierra Leone - San Marino - Senegal - Somalia - Surinam - Sao Tome og Prinsipi - El Salvador - Syria - Svasiland - Turks- og Caicosoyggjar - Kjad - Togo - Teiland - Tadsjikistan - Tokelau - Eystur Timor - Turkmenistan - Tunesia - Tonga - Turkaland - Trinidad og Tobago - Tuvalu - Teivan - Tansania - Ukreina - Uganda - Sambandsríki Amerika - Uruguei - Usbekistan - Vatikan - Saint Vinsent og Grenadinoyggjar - Venesuela - Stóra Bretlands Jómfrúoyggjar - Sambandsríki Amerikas Jómfrúoyggjar - Vietnam - Vanuatu - Wallis og Futuna - Sámoa - Jemen - Mayotte - Suðurafrika - Sambia - Simbabvi - - - US-einingar - SI-einingar - - - - [a á b d ð e-i í j-o ó p r-u ú v x y ý æ ø] - [c q w z] - - - ” - ” - ’ - ’ - - - {0}–{1} - - - - - - jan - feb - mar - apr - mai - jun - jul - aug - sep - okt - nov - des - - - januar - februar - mars - apríl - mai - juni - juli - august - september - oktober - november - desember - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - sun - mán - týs - mik - hós - frí - ley - - - sunnudagur - mánadagur - týsdagur - mikudagur - hósdagur - fríggjadagur - leygardagur - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - K1 - K2 - K3 - K4 - - - 1. kvartal - 2. kvartal - 3. kvartal - 4. kvartal - - - - AM - PM - - - fyrir Krist - eftir Krist - - - f.Kr. - e.Kr. - - - f.Kr. - e.Kr. - - - - - - EEEE dd MMMM y - - - - - d. MMM y - - - - - dd-MM-yyyy - - - - - dd-MM-yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - HH:mm - HH:mm:ss - d. MMM - dd-MM - Q yy - MM-yyyy - MMM y - - - {0} - {1} - - M-M - - - E dd-MM - E dd-MM - E dd-MM - E dd-MM - - - MMM-MMM - - - E d. MMM - E d. MMM - E d. - E d. MMM - - - d. MMM - d. MMM - d.-d. MMM - - - dd-MM - dd-MM - dd-MM - dd-MM - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - MM-yy - MM-yy - MM-yy - MM-yy - - - E dd-MM-yy - E dd-MM-yy - E dd-MM-yy - E dd-MM-yy - E dd-MM-yy - E dd-MM-yy - - - MMM-MMM y - MMM y - MMM y - - - E dd MMM - E dd MMM y - E dd - E dd MMM y - E dd MMM y - E dd MMM y - - - d. MMM - d. MMM y - d.-d. MMM y - d. MMM y - d. MMM y - - - dd-MM-yy - dd-MM-yy - dd-MM-yy - dd-MM-yy - dd-MM-yy - dd-MM-yy - - - - - - tímabil - - - ár - - - mánuður - - - vika - - - dagur - í fyrrafyrradag - í fyrradag - í gær - í dag - á morgum - í overmorgen - í overovermorgen - - - vikudagur - - - f.h./e.h. - - - klukkustund - - - mínúta - - - sekund - - - tímabelti - - - - - - +HH:mm;−HH:mm - GMT{0} - {0} - {0} ({1}) - - - - - , - . - ; - % - 0 - # - + - − - ×10^ - ‰ - ∞ - ¤¤¤ - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0 % - - - - - - - ¤#,##0.00;¤-#,##0.00 - - - {0} {1} - {0} {1} - - - - kr - - - - - - {0} dag - {0} dage - - - {0} tíma - {0} tímar - - - {0} minut - {0} minuttir - - - {0} mánaði - {0} mánaðir - - - {0} sekund - {0} sekund - - - {0} vika - {0} vikur - - - {0} ár - {0} ár - - - - - já:j - nei:n - - - - diff --git a/lib/zend/Zend/Locale/Data/fo_FO.xml b/lib/zend/Zend/Locale/Data/fo_FO.xml deleted file mode 100644 index 7c87b8d2c4..0000000000 --- a/lib/zend/Zend/Locale/Data/fo_FO.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/fr.xml b/lib/zend/Zend/Locale/Data/fr.xml deleted file mode 100644 index 3f8edee4c4..0000000000 --- a/lib/zend/Zend/Locale/Data/fr.xml +++ /dev/null @@ -1,5461 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - afar - abkhaze - aceh - acoli - adangme - adyghéen - avestique - afrikaans - langue afro-asiatique - afrihili - aïnou - akan - akkadien - aléoute - langue algonquienne - altaï du Sud - amharique - aragonais - ancien anglais - angika - langue apache - arabe - araméen - araukan - arapaho - langue artificielle - arawak - assamais - asturien - langue athapascane - langue australienne - avar - awadhi - aymara - azéri - bachkir - banda - langue bamilékée - baloutchi - balinais - bassa - langue balte - biélorusse - bedja - bemba - berbère - bulgare - bihari - bhojpuri - bichelamar - bikol - bini - siksika - bambara - bengali - bantou - tibétain - breton - braj - bosniaque - batak - bouriate - bugi - blin - catalan - caddo - langue amérindienne centrale - caribe - langue caucasienne - atsam - tchétchène - cebuano - langue celtique - chamorro - chibcha - tchaghataï - chuuk - mari - jargon chinook - choctaw - chipewyan - cherokee - cheyenne - langue chame - corse - copte - créole ou pidgin anglais - créole ou pidgin français - créole ou pidgin portugais - cree - turc de Crimée - créole ou pidgin - tchèque - kachoube - slavon d’église - langue couchitique - tchouvache - gallois - danois - dakota - dargwa - dayak - allemand - allemand autrichien - allemand suisse - delaware - slavey - dogrib - dinka - dogri - langue dravidienne - bas-sorabe - douala - moyen néerlandais - maldivien - dioula - dzongkha - éwé - efik - égyptien ancien - ekajuk - grec - élamite - anglais - anglais australien - anglais canadien - anglais britannique - anglais américain - moyen anglais - espéranto - espagnol - espagnol latino-américain - espagnol ibérique - estonien - basque - éwondo - persan - fang - fanti - peul - finnois - filipino - langue finno-ougrienne - fidjien - féroïen - fon - français - français canadien - français suisse - moyen français - ancien français - frison du Nord - frison oriental - frioulan - frison - irlandais - ga - gayo - gbaya - gaélique écossais - langue germanique - guèze - gilbertais - galicien - moyen haut-allemand - guarani - ancien haut allemand - gondi - gorontalo - gotique - grebo - grec ancien - alémanique - goudjarâtî - manx - gwichʼin - haoussa - haida - hawaïen - hébreu - hindi - hiligaynon - himachali - hittite - hmong - hiri motu - croate - haut-sorabe - haïtien - hongrois - hupa - arménien - héréro - interlingua - iban - indonésien - interlingue - igbo - yi de Sichuan - ijo - inupiaq - ilokano - langue indo-aryenne - langue indo-européenne - ingouche - ido - langue iranienne - langue iroquoienne - islandais - italien - inuktitut - japonais - lojban - judéo-persan - judéo-arabe - javanais - géorgien - karakalpak - kabyle - kachin - jju - kamba - karen - kawi - kabardin - tyap - koro - kongo - khasi - langue khoïsan - khotanais - kikuyu - kuanyama - kazakh - groenlandais - khmer - kiMboundou - kannada - coréen - konkani - kusaien - kpellé - kanouri - karatchaï balkar - carélien - krou - kurukh - kâshmîrî - kurde - koumyk - kutenai - komi - cornique - kirghize - latin - ladino - lahnda - lamba - luxembourgeois - lezghien - ganda - limbourgeois - lingala - lao - mongo - lozi - lituanien - luba-katanga - luba-lulua - luiseno - lunda - luo - lushai - letton - madurais - magahi - maithili - makassar - mandingue - malayo-polynésien - masai - moksa - mandar - mendé - malgache - moyen irlandais - marshall - maori - micmac - minangkabau - langue diverse - macédonien - langue mon-khmère - malayalam - mongol - mandchou - manipuri - langue manobo - moldave - mohawk - moré - marathe - malais - maltais - multilingue - langue mounda - creek - mirandais - marwarî - birman - langue maya - erzya - nauruan - nahuatl - langue amérindienne du Nord - napolitain - norvégien bokmål - ndébélé du Nord - bas-allemand - népalais - newari - ndonga - nias - langue nigéro-congolaise - niué - néerlandais - néerlandais belge - norvégien nynorsk - norvégien - nogaï - vieux norrois - n’ko - ndébélé du Sud - sotho du Nord - langue nubienne - navaho - newarî classique - nyanja - nyamwezi - nyankolé - nyoro - nzema - occitan - ojibwa - oromo - oriya - ossète - osage - turc ottoman - langue otomangue - pendjabi - langue papoue - pangasinan - pahlavi - pampangan - papiamento - palau - persan ancien - langue philippine - phénicien - pali - polonais - pohnpei - langues prâkrit - provençal ancien - pachto - portugais - portugais brésilien - portugais ibérique - langue quechua - rajasthani - rapanui - rarotongien - rhéto-roman - roundi - roumain - langue romane - tzigane - racine - russe - valaque - rwanda - sanskrit - sandawe - iakoute - langue amérindienne du Sud - langue salishenne - araméen samaritain - sasak - santal - sarde - sicilien - écossais - sindhî - sami du Nord - selkoupe - langue sémitique - sangho - ancien irlandais - langue des signes - serbo-croate - shan - singhalais - sidamo - langue sioux - langue sino-tibétaine - slovaque - slovène - langue slave - samoan - sami du Sud - langue samie - sami de Lule - sami d’Inari - sami skolt - shona - soninké - somali - sogdien - songhai - albanais - serbe - sranan tongo - sérère - swati - langue nilo-saharienne - sesotho - soundanais - sukuma - soussou - sumérien - suédois - swahili - syriaque classique - syriaque - tamoul - langue taï - télougou - temne - tereno - tetum - tadjik - thaï - tigrigna - tigré - tiv - turkmène - tokelau - tagalog - klingon - tlingit - tamacheq - tswana - tongan - tonga nyasa - tok pisin - turc - tsonga - tsimshian - tatar - tumbuka - langue tupi - langue altaïque - tuvalu - twi - tahitien - touva - oudmourte - ouïgour - ougaritique - ukrainien - umbundu - indéterminé - ourdou - ouzbek - vaï - venda - vietnamien - volapuk - vote - wallon - langues wakashennes - walamo - waray - washo - langue sorabe - wolof - kalmouk - xhosa - yao - yapois - yiddish - yoruba - langues yupik - zhuang - zapotèque - symboles Bliss - zenaga - chinois - chinois simplifié - chinois traditionnel - zandé - zoulou - zuni - sans contenu linguistique - zazaki - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Monde - Afrique - Amérique du Nord - Amérique du Sud - Océanie - Afrique occidentale - Amérique centrale - Afrique orientale - Afrique septentrionale - Afrique centrale - Afrique australe - Amériques - Amérique septentrionale - Caraïbes - Asie orientale - Asie du Sud - Asie du Sud-Est - Europe méridionale - Australie et Nouvelle-Zélande - Mélanésie - région micronésienne - Polynésie - Asie centrale et du Sud - Asie - Asie centrale - Asie occidentale - Europe - Europe orientale - Europe septentrionale - Europe occidentale - Communauté des États indépendants - Amérique latine et Caraïbes - Îles Anglo-normandes - Andorre - Émirats arabes unis - Afghanistan - Antigua-et-Barbuda - Anguilla - Albanie - Arménie - Antilles néerlandaises - Angola - Antarctique - Argentine - Samoa américaines - Autriche - Australie - Aruba - Îles Åland - Azerbaïdjan - Bosnie-Herzégovine - Barbade - Bangladesh - Belgique - Burkina Faso - Bulgarie - Bahreïn - Burundi - Bénin - Saint-Barthélémy - Bermudes - Brunéi Darussalam - Bolivie - Brésil - Bahamas - Bhoutan - Île Bouvet - Botswana - Bélarus - Belize - Canada - Îles Cocos - Keeling - République démocratique du Congo - République centrafricaine - Congo - Suisse - Côte d’Ivoire - Îles Cook - Chili - Cameroun - Chine - Colombie - Costa Rica - Serbie-et-Monténégro - Cuba - Cap-Vert - Île Christmas - Chypre - République tchèque - Allemagne - Djibouti - Danemark - Dominique - République dominicaine - Algérie - Équateur - Estonie - Égypte - Sahara occidental - Érythrée - Espagne - Éthiopie - Finlande - Fidji - Îles Malouines - États fédérés de Micronésie - Îles Féroé - France - Gabon - Royaume-Uni - Grenade - Géorgie - Guyane française - Guernesey - Ghana - Gibraltar - Groenland - Gambie - Guinée - Guadeloupe - Guinée équatoriale - Grèce - Géorgie du Sud et les îles Sandwich du Sud - Guatemala - Guam - Guinée-Bissau - Guyana - R.A.S. chinoise de Hong Kong - Îles Heard et MacDonald - Honduras - Croatie - Haïti - Hongrie - Indonésie - Irlande - Israël - Île de Man - Inde - Territoire britannique de l'océan Indien - Irak - Iran - Islande - Italie - Jersey - Jamaïque - Jordanie - Japon - Kenya - Kirghizistan - Cambodge - Kiribati - Comores - Saint-Kitts-et-Nevis - Corée du Nord - Corée du Sud - Koweït - Îles Caïmans - Kazakhstan - Laos - Liban - Sainte-Lucie - Liechtenstein - Sri Lanka - Libéria - Lesotho - Lituanie - Luxembourg - Lettonie - Libye - Maroc - Monaco - Moldavie - Monténégro - Saint-Martin - Madagascar - Îles Marshall - Macédoine - Mali - Myanmar - Mongolie - R.A.S. chinoise de Macao - Îles Mariannes du Nord - Martinique - Mauritanie - Montserrat - Malte - Maurice - Maldives - Malawi - Mexique - Malaisie - Mozambique - Namibie - Nouvelle-Calédonie - Niger - Île Norfolk - Nigéria - Nicaragua - Pays-Bas - Norvège - Népal - Nauru - Niue - Nouvelle-Zélande - Oman - Panama - Pérou - Polynésie française - Papouasie-Nouvelle-Guinée - Philippines - Pakistan - Pologne - Saint-Pierre-et-Miquelon - Pitcairn - Porto Rico - Territoire palestinien - Portugal - Palaos - Paraguay - Qatar - régions éloignées de l’Océanie - Union européenne - Réunion - Roumanie - Serbie - Russie - Rwanda - Arabie saoudite - Îles Salomon - Seychelles - Soudan - Suède - Singapour - Sainte-Hélène - Slovénie - Svalbard et Île Jan Mayen - Slovaquie - Sierra Leone - Saint-Marin - Sénégal - Somalie - Suriname - Sao Tomé-et-Principe - El Salvador - Syrie - Swaziland - Îles Turks et Caïques - Tchad - Terres australes françaises - Togo - Thaïlande - Tadjikistan - Tokelau - Timor oriental - Turkménistan - Tunisie - Tonga - Turquie - Trinité-et-Tobago - Tuvalu - Taïwan - Tanzanie - Ukraine - Ouganda - Îles Mineures Éloignées des États-Unis - États-Unis - Uruguay - Ouzbékistan - État de la Cité du Vatican - Saint-Vincent-et-les Grenadines - Venezuela - Îles Vierges britanniques - Îles Vierges des États-Unis - Viêt Nam - Vanuatu - Wallis-et-Futuna - Samoa - Yémen - Mayotte - Afrique du Sud - Zambie - Zimbabwe - région indéterminée - - - orthographe allemande traditionnelle - orthographe normalisée de Resia - orthographe allemande de 1996 - françoys de 1606 - françois académique de 1694 - arménien oriental - arménien occidental - alphabet latin altaïque unifié - dialecte de San Giorgio / Bila - dialecte boontling - alphabet phonétique international - alphabet phonétique ouralique - dialecte lipovaz de Resia - monotonique - dialecte de Natisone - dialecte de Gniva / Njiva - dialecte d’Oseacco / Osojane - polytonique - informatique - orthographe révisée - dialecte de Resia - dialecte saho - anglais standard écossais - dialecte scouse - dialecte de Stolvizza / Solbica - orthographe taraskievica - valencien - - - Calendrier - Ordonnancement - Devise - - - Ordre chinois traditionnel - Big5 - Calendrier bouddhiste - Calendrier chinois - Ordre direct - Ordre chinois simplifié - GB2312 - Calendrier grégorien - Calendrier hébraïque - Calendrier indien - Calendrier musulman - Calendrier civil musulman - Calendrier japonais - Ordre de l’annuaire - Ordre pinyin - Calendrier républicain chinois - Ordre des traits - Ordre traditionnel - - - américain - métrique - - - langue : {0} - écriture : {0} - région : {0} - - - - [a à â æ b c ç d e é è ê ë f-i î ï j-o ô œ p-u ù û ü v-y ÿ z] - [á å ä ã ā ē í ì ī ñ ó ò ö ø ú ǔ] - [a-z ұ Ұ] - - - « - » - “ - ” - - - {0} – {1} - - - matin - soir - - - ère bouddhiste - - - ère b. - - - ÈB - - - - - - EEEE d MMMM y G - - - - - d MMMM y G - - - - - d MMM, y G - - - - - d/M/yyyy - - - - - - m:ss - - - - - - - - 1yuè - 2yuè - 3yuè - 4yuè - 5yuè - 6yuè - 7yuè - 8yuè - 9yuè - 10yuè - 11yuè - 12yuè - - - zhēngyuè - èryuè - sānyuè - sìyuè - wǔyuè - liùyuè - qīyuè - bāyuè - jiǔyuè - shíyuè - shíyīyuè - shí’èryuè - - - - matin - soir - - - - EEEE d MMMMl y'x'G - - - - - d MMMMl y'x'G - - - - - d MMMl y'x'G - - - - - d/Ml/y'x'G - - - - - - Ml - EEE d/Ml - MMMl - E d MMMl - EEE d MMMMl - d MMMMl - d MMMl - dd MMMl - d/MMl - dd/MMl - d/Ml - m:ss - y'x'G - Ml/y'x'G - EEE d/Ml/y'x'G - MMMl y'x'G - EEE d MMMl y'x'G - MMMM y'x'G - 'T'Q y'x'G - QQQ y'x'G - MMl/y'x'G - MMMl yy - EEE d MMMl yy - d MMMl yy - MMMMl y'x'G - - - - - - - - tout - bâb. - hât. - kya. - toub. - amsh. - barma. - barmo. - bash. - ba’o. - abî. - mis. - al-n. - - - tout - bâbâ - hâtour - kyakh - toubah - amshîr - barmahât - barmoudah - bashans - ba’ounah - abîb - misra - al-nasi - - - - - T - B - H - K - T - A - B - B - B - B - A - M - N - - - - matin - soir - - - avant Dioclétien - après Dioclétien - - - av. D. - ap. D. - - - - - - - - mäs. - teq. - hed. - tah. - ter - yäk. - mäg. - miy. - gue. - sän. - ham. - näh. - pag. - - - mäskäräm - teqemt - hedar - tahesas - ter - yäkatit - mägabit - miyazya - guenbot - säné - hamlé - nähasé - pagumén - - - - - M - T - H - T - T - Y - M - M - G - S - H - N - P - - - - matin - soir - - - avant l’Incarnation - après l’Incarnation - - - av. Inc. - ap. Inc. - - - - - - - - janv. - févr. - mars - avr. - mai - juin - juil. - août - sept. - oct. - nov. - déc. - - - janvier - février - mars - avril - mai - juin - juillet - août - septembre - octobre - novembre - décembre - - - - - J - F - M - A - M - J - J - A - S - O - N - D - - - - - - - dim. - lun. - mar. - mer. - jeu. - ven. - sam. - - - dimanche - lundi - mardi - mercredi - jeudi - vendredi - samedi - - - - - D - L - M - M - J - V - S - - - - - - - T1 - T2 - T3 - T4 - - - T1 - T2 - T3 - T4 - - - 1er trimestre - 2e trimestre - 3e trimestre - 4e trimestre - - - - - 1 - 2 - 3 - 4 - - - - AM - PM - - - avant Jésus-Christ - après Jésus-Christ - - - av. J.-C. - ap. J.-C. - - - - - - EEEE d MMMM y - - - - - d MMMM y - - - - - d MMM y - - - - - dd/MM/yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - - {1} {0} - - - - - {1} {0} - - - - - {1} {0} - - - - - {1} {0} - - - - d EEE - HH:mm - HH:mm:ss - H:mm - L - EEE d/M - LLL - E d MMM - EEE d MMMM - d MMMM - d MMM - dd MMM - d/MM - dd/MM - d/M - d - mm:ss - mm:ss - y - M/yyyy - EEE d/M/yyyy - MMM y - EEE d MMM y - MMMM y - 'T'Q y - QQQ y - MM/yy - MMM yy - EEE d MMM yy - d MMM yy - 'T'Q yy - QQQQ yy - MMMM y - - - {0} – {1} - - M–M - - - E dd/MM - E dd/MM - E dd/MM - E dd/MM - - - MMM–MMM - - - 'du' E d MMM 'au' E d MMM - 'du' E d 'au' E d MMM - - - LLLL–LLLL - - - 'du' d MMM 'au' d MMM - d–d MMM - - - dd/MM - dd/MM - dd/MM - dd/MM - - - d-d - - - HH – HH - HH – HH - - - HH:mm – HH:mm - HH:mm-HH:mm - HH:mm – HH:mm - - - HH:mm – HH:mm v - HH:mm – HH:mm v - HH:mm – HH:mm v - - - HH – HH v - HH – HH v - - - y-y - - - MM/yy – MM/yy - M/yyyy – M/yyyy - - - E dd/MM/yy – E dd/MM/yy - E dd/MM/yy – E dd/MM/yy - E d/M/yyyy – E d/M/yyyy - - - MMM–MMM y - MMM y – MMM y - - - E d MMM – E d MMM y - E d – E d MMM y - E d MMM y – E d MMM y - - - MMMM–MMMM y - MMMM y – MMMM y - - - d MMM – d MMM y - d–d MMM y - d MMM y – d MMM y - - - d/M/yy – d/M/yy - d/M/yy – d/M/yy - d/M/yyyy – d/M/yyyy - - - - - - ère - - - année - - - mois - - - semaine - - - jour - avant-avant-hier - avant-hier - hier - aujourd’hui - demain - après-demain - après-après-demain - - - jour de la semaine - - - cadran - - - heure - - - minute - - - seconde - - - fuseau horaire - - - - - - - - tis. - hes. - kis. - téb. - sché. - ad.I - adar - nis. - iyar - siv. - tam. - ab - ell. - - - Tisseri - Hesvan - kislev - Tébeth - Schébat - Adar - Adar II - Nissan - iyar - sivan - Tamouz - Ab - Elloul - - - - - T - H - K - T - S - A - A - N - I - S - T - A - E - - - - matin - soir - - - Anno Mundi - - - A.M. - - - - - - - - chai. - vai. - jyai. - āsha. - shrā. - bhā. - āshw. - kār. - mār. - pau. - māgh - phāl. - - - chaitra - vaishākh - jyaishtha - āshādha - shrāvana - bhādrapad - āshwin - kārtik - mārgashīrsha - paush - māgh - phālgun - - - - - C - V - J - Ā - S - B - Ā - K - M - P - M - P - - - - matin - soir - - - - - - Mouharram - Rabiʻ-oul-Aououal - Rabiʻ-out-Tani - Djoumada-l-Oula - Djoumada-t-Tania - Radjab - Chaʻban - Chaououal - Dou-l-Qaʻda - Dou-l-Hidjja - - - - - - - +HH:mm;-HH:mm - UTC{0} - UTC - {0} - {1} ({0}) - - zone inconnue - - - Andorre - - - Dubaï - - - Kaboul - - - Saint John’s - - - The Valley - - - Tirana - - - Erevan - - - Curaçao - - - Pôle Sud - - - Showa - - - Dumont d’Urville - - - Mac Murdo - - - Ushuaïa - - - Tucumán - - - Córdoba - - - Vienne - - - Adélaïde - - - Oranjestad - - - Bakou - - - Barbade (La) - - - Dhâkâ - - - Bruxelles - - - Bahreïn - - - Bermudes - - - Bandar Seri Begawan - - - Eirunepé - - - Manaos - - - Cuiabá - - - Belém - - - Araguaína - - - São Paulo - - - Maceió - - - Thimphou - - - Belmopan - - - Régina - - - Montréal - - - Saint-Jean de Terre-Neuve - - - West Island - - - Île de Pâques - - - Kachgar - - - Ürümqi - - - San José - - - La Havane - - - Cap Vert - - - Flying Fish Cove - - - Nicosie - - - Copenhague - - - Dominique - - - Saint Domingue - - - Alger - - - Galápagos - - - Tallin - - - Le Caire - - - Laâyoune - - - Asmara - - - Îles Canaries - - - Addis-Abeba - - - Fidji - - - Port Stanley - - - Féroé - - - Londres - - - Grenade - - - Tbilissi - - - Saint-Pierre-Port - - - Thulé - - - Godthåb - - - Basse-Terre - - - Athènes - - - Géorgie du Sud - - - Hagåtña - - - Guyane - - - Hong-Kong - - - Macassar - - - Jérusalem - - - Douglas - - - Kolkata - - - Diego Garcia - - - Bagdad - - - Téhéran - - - Reykjavík - - - Saint-Hélier - - - Jamaïque - - - Bichkek - - - Comores (Archipel) - - - Saint-Kitts - - - Séoul - - - Koweït - - - Caïmans - - - Aktaou - - - Ouralsk - - - Aktioubinsk - - - Kzyl Orda - - - Alma Ata - - - Beyrouth - - - Sainte-Lucie - - - Oulan-Bator - - - Tchoïbalsan - - - Macao - - - Fort-de-France - - - Brades - - - Malte - - - Maurice (Île) - - - Malé - - - Mazatlán - - - Mexico - - - Mérida - - - Cancún - - - Nouméa - - - Kingston - - - Katmandou - - - Yaren - - - Alofi - - - Panamá (Panamá) - - - Marquises - - - Manille - - - Karâchi - - - Varsovie - - - Saint-Pierre - - - Pitcairn (Île) - - - Porto Rico - - - Açores - - - Madère - - - Lisbonne - - - Melekeok - - - Asunción - - - Doha - - - Réunion (Île de la) - - - Bucarest - - - Moscou - - - Ekaterinbourg - - - Novossibirsk - - - Krasnoïarsk - - - Irkoutsk - - - Iakoutsk - - - Sakhaline - - - Kamtchatka - - - Riyad - - - Honiara - - - Mahé - - - Singapour - - - Sainte-Hélène - - - Saint-Marin - - - Mogadiscio - - - São Tomé - - - Salvador - - - Damas - - - Cockburn Town - - - Port-aux-Français - - - Lomé - - - Douchanbé - - - Achgabat - - - Nukuʻalofa - - - Port-d’Espagne - - - Oujgorod - - - Zaporojie - - - Alaska - - - New Salem, Dakota du Nord - - - Central North Dakota - - - Détroit - - - Samarcande - - - Tachkent - - - Cité du Vatican - - - Saint-Vincent - - - Road Town - - - Saint-Thomas - - - Hô-Chi-Minh-Ville - - - Efaté - - - Matāʻutu - - - Mamoudzou - - - - heure de l’Acre - heure de l’Acre - heure avancée de l’Acre - - - HACR - HNACR - HAACR - - - - - heure d’Afghanistan - heure d’Afghanistan - heure avancée d’Afghanistan - - - HAF - HNAF - HAAF - - - - - heure d’Afrique centrale - heure normale d’Afrique centrale - heure avancée d’Afrique centrale - - - HAFC - HNAFC - HAAFC - - - - - heure d’Afrique de l’Est - heure normale d’Afrique de l’Est - heure avancée d’Afrique de l’Est - - - HAFE - HNAFE - HAAFE - - - - - heure d’Afrique de l’Ouest sahélien - heure normale d’Afrique de l’Ouest sahélien - heure avancée d’Afrique de l’Ouest sahélien - - - HAFOS - HNAFOS - HAAFOS - - - - - heure d’Afrique méridionale - heure normale d’Afrique méridionale - heure avancée d’Afrique méridionale - - - HAFM - HNAFM - HAAFM - - - - - heure d’Afrique de l’Ouest - heure normale d’Afrique de l’Ouest - heure avancée d’Afrique de l’Ouest - - - HAFO - HNAFO - HAAFO - - - - - heure d’Aqtöbe - heure normale d’Aqtöbe - heure avancée d’Aqtöbe - - - HAQB - HNAQB - HAAQB - - - - - heure de l’Alaska - heure normale de l’Alaska - heure avancée de l’Alaska - - - HAK - HNAK - HAAK - - - - - heure d’Alaska - Hawaii - heure normale d’Alaska - Hawaii - heure avancée d’Alaska - Hawaii - - - HAH - HNAH - HAAH - - - - - heure d’Alma Ata - heure normale d’Alma Ata - heure avancée d’Alma Ata - - - HALM - HNALM - HAALM - - - - - heure de l’Amazonie - heure de l’Amazonie - heure avancée de l’Amazonie - - - HAMA - HNAMA - HAAMA - - - - - heure du Centre - heure normale du Centre - heure avancée du Centre - - - HC - HNC - HAC - - - - - heure de l’Est - heure normale de l’Est - heure avancée de l’Est - - - HE - HNE - HAE - - - - - Heure des Rocheuses - heure normale des Rocheuses - heure avancée des Rocheuses - - - HR - HNR - HAR - - - - - heure du Pacifique - heure normale du Pacifique - heure avancée du Pacifique - - - HP - HNP - HAP - - - - - heure d’Anadyr - heure d’Anadyr - heure avancée d’Anadyr - - - HANA - HNANA - HAANA - - - - - heure d’Aktaou - heure d’Aktaou - heure avancée d’Aktaou - - - HAQT - HNAQT - HAAQT - - - - - heure d’Aqtöbe - heure d’Aqtöbe - heure avancé d’Aqtöbe - - - HAQB - HNAQB - HAAQB - - - - - heure de l’Arabie - heure normale de l’Arabie - heure avancée de l’Arabie - - - HA - HNA - HAA - - - - - heure de l’Est argentin - heure d’Argentine - heure avancée de l’Est argentin - - - HE (AR) - HNE (AR) - HAE (AR) - - - - - heure de l’Ouest argentin - heure de l’Ouest argentin - heure avancée de l’Ouest argentin - - - HO (AR) - HNO (AR) - HAO (AR) - - - - - heure d’Arménie - heure d’Arménie - heure avancée d’Arménie - - - HAM - HNAM - HAAM - - - - - heure d’Achgabat - heure d’Achgabat - heure avancée d’Achgabat - - - HACH - HNACH - HAACH - - - - - heure de l’Atlantique - heure normale de l’Atlantique - heure avancée de l’Atlantique - - - HA - HNA - HAA - - - - - heure du Centre australien - heure normale du Centre australien - heure avancée du Centre australien - - - HC (AU) - HNC (AU) - HAC (AU) - - - - - heure Centre Ouest australien - heure normale Centre Ouest australien - heure avancée du Centre Ouest australien - - - HCO (AU) - HNCO (AU) - HACO (AU) - - - - - heure de l’Est australien - heure normale de l’Est australien - heure avancée de l’Est australien - - - HE (AU) - HNE (AU) - HAE (AU) - - - - - heure de l’Ouest australien - heure normale de l’Ouest australien - heure avancée de l’Ouest australien - - - HO (AU) - HNO (AU) - HAO (AU) - - - - - heure d’Azerbaïdjan - heure d’Azerbaïdjan - heure avancée d’Azerbaïdjan - - - HAZ - HNAZ - HAAZ - - - - - heure des Açores - heure des Açores - heure avancée des Açores - - - HAC (PT) - HNAC (PT) - HAAC (PT) - - - - - heure de Bakou - heure de Bakou - heure avancée de Bakou - - - HBAK - HNBAK - HABAK - - - - - heure du Bangladesh - heure du Bangladesh - heure avancée du Bangladesh - - - HBD - HNBD - HABD - - - - - heure de Bering - heure normale de Bering - heure avancée de Bering - - - HBER - HNBER - HABER - - - - - heure du Bhoutan - heure du Bhoutan - heure avancée du Bhoutan - - - HBT - HNBT - HABT - - - - - heure de Bolivie - heure de Bolivie - heure avancée de Bolivie - - - HBO - HNBO - HABO - - - - - heure de Bornéo - heure de Bornéo - heure avancée de Bornéo - - - HBOR - HNBOR - HABOR - - - - - heure de Brasilia - heure de Brasilia - heure avancée de Brasilia - - - HBR - HNBR - HABR - - - - - heure du Royaume-Uni - heure normale du Royaume-Uni - heure avancée du Royaume-Uni - - - HGB - HNGB - HAGB - - - - - heure du Brunéi - heure du Brunéi - heure avancée du Brunéi - - - HBN - HNBN - HABN - - - - - heure du Cap-Vert - heure du Cap-Vert - heure avancée du Cap-Vert - - - HCV - HNCV - HACV - - - - - heure des Chamorro - heure normale des Chamorro - heure avancée des Chamorro - - - HCh - HNCh - HACh - - - - - heure du Changbai - heure du Changbai - heure avancée du Changbai - - - HCHA (CN) - HNCHA (CN) - HACHA (CN) - - - - - heure des îles Chatham - heure des îles Chatham - heure avancée des îles Chatham - - - HCHA (NZ) - HNCHA (NZ) - HACHA (NZ) - - - - - heure du Chili - heure du Chili - heure avancée du Chili - - - HCL - HNCL - HACL - - - - - heure de Chine - heure normale de Chine - heure avancée de Chine - - - HC (CN) - HNC (Chine) - HAC (Chine) - - - - - heure de l’île Christmas - heure de l’île Christmas - heure avancée de l’île Christmas - - - HCX - HNCX - HACX - - - - - heure des îles Cocos - Keeling - heure des îles Cocos - heure avancée des îles Cocos - Keeling - - - HCC - HNCC - HACC - - - - - heure de Colombie - heure de Colombie - heure avancée de Colombie - - - HCO - HNCO - HACO - - - - - heure des îles Cook - heure des îles Cook - heure avancée des îles Cook - - - HCK - HNCK - HACK - - - - - heure de Cuba - heure normale de Cuba - heure avancée de Cuba - - - HCU - HNCU - HACU - - - - - heure de Dhâkâ - heure de Dhâkâ - heure avancée de Dhâkâ - - - HDAC - HNDAC - HADAC - - - - - heure de Davis - heure de Davis - heure avancée de Davis - - - HDAV - HNDAV - HADAV - - - - - heure de République dominicaine - heure normale de République dominicaine - heure avancée de République dominicaine - - - HDO - HNDO - HADO - - - - - heure de Dumont-d’Urville - heure de Dumont-d’Urville - heure avancée de Dumont-d’Urville - - - HDDU - HNDDU - HADDU - - - - - heure de Duchanbé - heure de Duchanbé - heure avancée de Duchanbé - - - HDUC - HNDUC - HADUC - - - - - heure de Guyane néerlandaise - heure de Guyane néerlandaise - heure avancée de Guyane néerlandaise - - - HGNE - HAGNE - HAGNE - - - - - heure du Timor oriental - heure du Timor oriental - heure avancée du Timor oriental - - - HTL - HNTL - HATL - - - - - heure de l’île de Pâques - heure de l’île de Pâques - heure avancée de l’île de Pâques - - - HPAQ - HNPAQ - HAPAQ - - - - - heure d’Équateur - heure d’Équateur - heure avancée d’Équateur - - - HEQ - HNEQ - HAEQ - - - - - Heure de l’Europe centrale - Heure normale de l’Europe centrale - heure avancée d’Europe centrale - - - HEC - HNEC - HAEC - - true - - - - heure d’Europe de l’Est - Heure normale de l’Europe de l’Est - heure avancée d’Europe de l’Est - - - HEE - HEE - HAEE - - true - - - - heure d’Europe de l’Ouest - heure d’Europe de l’Ouest - heure avancée d’Europe de l’Ouest - - - HEO - HNEO - HAEO - - - - - heure des îles Malouines - heure des îles Malouines - heure avancée des îles Malouines - - - HFK - HNFK - HAFK - - - - - heure des îles Fidji - heure des îles Fidji - heure avancée des îles Fidji - - - HFJ - HNFJ - HAFJ - - - - - heure de Guyane française - heure de Guyane française - heure avancée de Guyane française - - - HGF - HNGF - HAGF - - - - - heure des Terres australes françaises - heure des Terres australes françaises - heure avancée des Terres australes françaises - - - HTF - HNTF - HATF - - - - - heure de Frounzé - heure de Frounzé - heure avancée de Frounzé - - - HFRU - FNFRU - HAFRU - - - - - heure moyenne de Greenwich - - - GMT - - - - - heure des îles Galápagos - heure des îles Galápagos - heure avancée des îles Galápagos - - - HGAL - HNGAL - HAGAL - - - - - heure des îles Gambier - heure des îles Gambier - heure avancée des îles Gambier - - - HGAM - HNGAM - HAGAM - - - - - heure de Géorgie - heure de Géorgie - heure avancée de Géorgie - - - HGE - HNGE - HAGE - - - - - heure des îles Gilbert - heure des îles Gilbert - heure avancée des îles Gilbert - - - HGIL - HNGIL - HAGIL - - - - - heure de Goose Bay - heure normale de Goose Bay - heure avancée de Goose Bay - - - HGOB - HNGOB - HAGOB - - - - - heure du Centre du Groenland - heure du Centre du Groenland - heure avancée du Centre du Groenland - - - HC (GL) - HNC (GL) - HAC (GL) - - - - - heure de l’Est du Groenland - heure de l’Est du Groenland - heure avancée de l’Est du Groenland - - - HE (GL) - HNE (GL) - HAE (GL) - - - - - heure de l’Ouest du Groenland - heure de l’Ouest du Groenland - heure avancée de l’Ouest du Groenland - - - HO (GL) - HNO (GL) - HAO (GL) - - - - - heure de Guam - heure de Guam - heure avancée de Guam - - - HGU - HNGU - HAGU - - - - - heure du Golfe - heure normale du Golfe - heure avancée du Golfe - - - HG - HNG - HAG - - - - - heure du Guyana - heure du Guyana - heure avancée du Guyana - - - HGY - HNGY - HAGY - - - - - heure d’Hawaii - Aléoutiennes - heure normale d’Hawaii - Aléoutiennes - heure avancée d’Hawaii - Aléoutiennes - - - HH - HNH - HAH - - - - - heure de Hong Kong - heure de Hong Kong - heure avancée de Hong Kong - - - HHK - HNHK - HAHK - - - - - heure de Hovd - heure de Hovd - heure avancée de Hovd - - - HHOV - HNHOV - HAHOV - - - - - heure de l’Inde - heure normale de l’Inde - heure avancée de l’Inde - - - HI (IN) - HNI (IN) - HAI (IN) - - - - - heure du Territoire britannique de l’océan Indien - heure du Territoire britannique de l’océan Indien - heure avancée du Territoire britannique de l’océan Indien - - - HIO - HNIO - HAIO - - - - - heure d’Indochine - heure d’Indochine - heure avancée d’Indochine - - - HIDC - HNIDC - HAIDC - - - - - heure du Centre indonésien - heure normale du Centre indonésien - heure avancée du Centre indonésien - - - HC (ID) - HNC (ID) - HAC (ID) - - - - - heure de l’Est indonésien - heure normale de l’Est indonésien - heure avancée de l’Est indonésien - - - HE (ID) - HNE (ID) - HAE (ID) - - - - - heure de l’Ouest indonésien - heure normale de l’Ouest indonésien - heure avancée de l’Ouest indonésien - - - HO (ID) - HNO (ID) - HAO (ID) - - - - - heure d’Iran - heure normale d’Iran - heure avancée d’Iran - - - HIR - HNIR - HAIR - - - - - heure d’Irlande - heure normale d’Irlande - heure avancée d’Irlande - - - HIE - HNIE - HAIE - - - - - heure d’Irkoutsk - heure d’Irkoutsk - heure avancée d’Irkoutsk - - - HIRK - HNIRK - HAIRK - - - - - heure d’Israël - heure normale d’Israël - heure avancée d’Israël - - - HI (IL) - HNI - HAI - - - - - heure du Japon - heure normale du Japon - heure avancée du Japon - - - HJ - HNJ - HAJ - - - - - heure de Petropavlovsk-Kamchatski - heure de Petropavlovsk-Kamchatski - heure avancée de Petropavlovsk-Kamchatski - - - HPET - HNPET - HAPET - - - - - heure de Karâchi - heure de Karâchi - heure avancée de Karâchi - - - HKAR - HNKAR - HAKAR - - - - - heure de Kachgar - heure de Kachgar - heure avancée de Kachgar - - - HKAC - HNKAC - HAKAC - - - - - heure de l’Est kazakh - heure normale de l’Est kazakh - heure avancée de l’Est kazakh - - - HE (KZ) - HNE (KZ) - HAE (KZ) - - - - - heure de l’Ouest kazakh - heure normale de l’Ouest kazakh - heure avancée de l’Ouest kazakh - - - HO (KZ) - HNO (KZ) - HAO (KZ) - - - - - heure de Kyzylorda - heure de Kyzylorda - heure avancée de Kyzylorda - - - HKYZ - HNKYZ - HAKYZ - - - - - heure de Corée - heure normale de Corée - heure avancée de Corée - - - HKR - HNKR - HAKR - - - - - heure de Kosrae - heure de Kosrae - heure avancée de Kosrae - - - HKOS - HNKOS - HAKOS - - - - - heure de Krasnoïarsk - heure de Krasnoïarsk - heure avancée de Krasnoïarsk - - - HKRA - HNKRA - HAKRA - - - - - heure de Kouïbychev - heure de Kouïbychev - heure avancée de Kouïbychev - - - HKUY - HNKUY - HAKUY - - - - - heure de Kwajalein - heure de Kwajalein - heure avancée de Kwajalein - - - HKWA - HNKWA - HAKWA - - - - - heure des îles de la Ligne - heure normale des îles de la Ligne - heure avancée des îles de la Ligne - - - HLIGN - HNLIGN - HALIGN - - - - - heure des Maldives - heure normale des Maldives - heure avancée des Maldives - - - HMV - HNMV - HAMV - - - - - heure des îles Marquises - heure normale des îles Marquises - heure avancée des îles Marquises - - - HMA (PF) - HNMA (PF) - HAMA (PF) - - - - - heure des îles Marshall - heure normale des îles Marshall - heure avancée des îles Marshall - - - HMH - HNMH - HAMH - - - - - heure de Maurice - heure normale de Maurice - heure avancée de Maurice - - - HMU - HNMU - HAMU - - - - - heure de Moscou - heure normale de Moscou - heure avancée de Moscou - - - HMOS - HNMO - HAMO - - - - - heure de Nauru - heure normale de Nauru - heure avancée de Nauru - - - HNR - HNNR - HANR - - - - - heure de Nouvelle-Calédonie - heure normale de Nouvelle-Calédonie - heure avancée de Nouvelle-Calédonie - - - HNC - HNNC - HANC - - - - - heure de Nouvelle-Zélande - heure normale de Nouvelle-Zélande - heure avancée de Nouvelle-Zélande - - - HNZ - HNNZ - HANZ - - - - - heure de Terre-Neuve - heure normale de Terre-Neuve - heure avancée de Terre-Neuve - - - HT - HNT - HAT - - - - - heure de Nioué - heure normale de Nioué - heure avancée de Nioué - - - HNU - HNNU - HANU - - - - - heure de Norfolk - heure normale de Norfolk - heure avancée de Norfolk - - - HNF - HNNF - HANF - - - - - heure des îles Mariannes du Nord - heure normale des îles Mariannes du Nord - heure avancée des îles Mariannes du Nord - - - HMP - HNMP - HAMP - - - - - heure de Palaos - heure normale de Palaos - heure avancée de Palaos - - - HPW - HNPW - HAPW - - - - - heure de Papouasie-Nouvelle-Guinée - heure normale de Papouasie-Nouvelle-Guinée - heure avancée de Papouasie-Nouvelle-Guinée - - - HPG - HNPG - HAPG - - - - - heure des îles Phoenix - heure normale des îles Phoenix - heure avancée des îles Phoenix - - - HPHO - HNPHO - HAPHO - - - - - heure de Pitcairn - heure normale de Pitcairn - heure avancée de Pitcairn - - - HPN - HNPN - HAPN - - - - - heure de Ponape - heure normale de Ponape - heure avancée de Ponape - - - HPON - HNPON - HAPON - - - - - heure de la Réunion - heure normale de la Réunion - heure avancée de la Réunion - - - HRE - HNRE - HARE - - - - - heure de Samara - heure de Samara - heure avancée de Samara - - - HSAM - HNSA - HASAM - - - - - heure de Samoa - heure normale de Samoa - heure avancée de Samoa - - - HS - HNS - HAS - - - - - heure des Seychelles - heure normale des Seychelles - heure avancée des Seychelles - - - HSC - HNSC - HASC - - - - - heure des îles Salomon - heure normale des îles Salomon - heure avancée des îles Salomon - - - HSB - HNSB - HASB - - - - - heure de Géorgie du Sud - - - HNG - - - - - heure de Tahiti - heure normale de Tahiti - heure avancée de Tahiti - - - HTAH - HNTAH - HATAH - - - - - heure de Tokelau - heure normale de Tokelau - heure avancée de Tokelau - - - HTK - HNTK - HATK - - - - - heure de Tonga - heure normale de Tonga - heure avancée de Tonga - - - HTO - HNTO - HATO - - - - - heure de Truk - heure normale de Truk - heure avancée de Truk - - - HTRU - HNTRU - HATRU - - - - - heure de Turquie - heure de Turquie - heure avancée de Turquie - - - HTR - HNTR - HATR - - - - - heure des Tuvalu - heure normale des Tuvalu - heure avancée des Tuvalu - - - HTV - HNTV - HATV - - - - - heure de Vanuatu - heure normale de Vanuatu - heure avancée de Vanuatu - - - HVU - HNVU - HAVU - - - - - heure de Volgograd - heure de Volgograd - heure avancée de Volgograd - - - HVOL - HNVO - HAVOL - - - - - heure de l’île Wake - heure normale de l’île Wake - heure avancée de l’île Wake - - - HWAK - HNWAK - HAWAK - - - - - heure de Wallis-et-Futuna - heure normale de Wallis-et-Futuna - heure avancée de Wallis-et-Futuna - - - HWF - HNWF - HAWF - - - - - heure du Yukon - heure normale du Yukon - heure avancée du Yukon - - - HY - HNY - HAY - - - - - - - , -   - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0 % - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - - - - peseta andorrane - peseta andorrane - pesetas andorranes - ₧A - - - dirham des Émirats arabes unis - dirham des Émirats arabes unis - dirhams des Émirats arabes unis - - - afghani (1927–2002) - afghani (1927–2002) - afghanis (1927–2002) - - - afghani - afghani - afghanis - - - lek albanais (1947–1961) - lek albanais (1947–1961) - leks albanais (1947–1961) - - - lek albanais - lek albanais - leks albanais - - - dram arménien - dram arménien - drams arméniens - - - florin antillais - florin antillais - florins antillais - f.NA - - - kwanza angolais - kwanza angolais - kwanzas angolais - - - kwanza angolais (1977-1990) - kwanza angolais (1977–1990) - kwanzas angolais (1977–1990) - - - nouveau kwanza angolais (1990-2000) - nouveau kwanza angolais (1990–2000) - nouveaux kwanzas angolais (1990–2000) - - - kwanza angolais réajusté (1995-1999) - kwanza angolais réajusté (1995–1999) - kwanzas angolais réajustés (1995–1999) - - - austral argentin - austral argentin - australs argentins - - - peso argentin (1983-1985) - peso argentin (1983–1985) - pesos argentins (1983–1985) - - - peso argentin - peso argentin - pesos argentins - $AR - - - schilling autrichien - schilling autrichien - schillings autrichiens - öS - - - dollar australien - dollar australien - dollars australiens - $AU - - - florin arubais - florin arubais - florins arubais - f.AW - - - manat azéri (1993-2006) - manat azéri (1993–2006) - manats azéris (1993–2006) - - - manat azéri - manat azéri - manats azéris - - - dinar bosniaque - dinar bosniaque - dinars bosniaques - - - mark convertible bosniaque - mark convertible bosniaque - marks convertibles bosniaques - - - dollar barbadien - dollar barbadien - dollars barbadiens - - - taka bangladeshi - taka bangladeshi - takas bangladeshis - - - franc belge (convertible) - franc belge (convertible) - francs belges (convertibles) - - - franc belge - franc belge - francs belges - FB - - - franc belge (financier) - franc belge (financier) - francs belges (financiers) - - - lev bulgare (1962–1999) - lev bulgare (1962–1999) - levs bulgares (1962–1999) - - - nouveau lev bulgare - nouveau lev bulgare - nouveaux levs bulgares - - - dinar bahreïni - dinar bahreïni - dinars bahreïnis - DB - - - franc burundais - franc burundais - francs burundais - - - dollar bermudien - dollar bermudien - dollars bermudiens - $BM - - - dollar brunéien - dollar brunéien - dollars brunéiens - $BN - - - boliviano - boliviano - bolivianos - - - peso bolivien - peso bolivien - pesos boliviens - - - mvdol bolivien - mvdol bolivien - mvdols boliviens - - - nouveau cruzeiro brésilien (1967–1986) - nouveau cruzeiro brésilien (1967–1986) - nouveaux cruzeiros brésiliens (1967–1986) - - - cruzado brésilien (1986–1989) - cruzado brésilien (1986–1989) - cruzados brésiliens (1986–1989) - - - cruzeiro brésilien (1990–1993) - cruzeiro brésilien (1990–1993) - cruzeiros brésiliens (1990–1993) - - - réal brésilien - réal brésilien - réals brésiliens - - - nouveau cruzado - nouveau cruzado brésilien (1989–1990) - nouveaux cruzados brésiliens (1989–1990) - - - cruzeiro - cruzeiro réal brésilien (1993–1994) - cruzeiros réals brésiliens (1993–1994) - - - dollar bahaméen - dollar bahaméen - dollars bahaméens - $BS - - - ngultrum bouthanais - ngultrum bouthanais - ngultrums bouthanais - - - kyat birman - kyat birman - kyats birmans - - - pula botswanais - pula botswanais - pulas botswanais - - - nouveau rouble biélorusse (1994-1999) - nouveau rouble biélorusse (1994–1999) - nouveaux roubles biélorusses (1994–1999) - - - rouble biélorusse - rouble biélorusse - roubles biélorusses - - - dollar bélizéen - dollar bélizéen - dollars bélizéens - $BZ - - - dollar canadien - dollar canadien - dollars canadiens - $CA - - - franc congolais - franc congolais - francs congolais - FrCD - - - euro WIR - euro WIR - euros WIR - - - franc suisse - franc suisse - francs suisses - CHF - - - franc WIR - franc WIR - francs WIR - - - unité d’investissement chilienne - unité d’investissement chilienne - unités d’investissement chiliennes - - - peso chilien - peso chilien - pesos chiliens - $CL - - - yuan renminbi chinois - yuan renminbi chinois - yuans renminbi chinois - Ұ - - - peso colombien - peso colombien - peso colombien - $CO - - - Unité de valeur réelle colombienne - unité de valeur réelle colombienne - unités de valeur réelle colombiennes - - - colón costaricain - colón costaricain - colóns costaricains - - - dinar serbo-monténégrin - dinar serbo-monténégrin - dinars serbo-monténégrins - - - couronne forte tchécoslovaque - couronne forte tchécoslovaque - couronnes fortes tchécoslovaques - - - peso cubain - peso cubain - pesos cubains - $CU - - - escudo capverdien - escudo capverdien - escudos capverdiens - $CV - - - livre chypriote - livre chypriote - livres chypriotes - £CY - - - couronne tchèque - couronne tchèque - couronnes tchèques - - - mark est-allemand - mark est-allemand - marks est-allemands - - - mark allemand - mark allemand - marks allemands - - - franc djiboutien - franc djiboutien - francs djiboutiens - - - couronne danoise - couronne danoise - couronnes danoises - krD - - - peso dominicain - peso dominicain - pesos dominicains - - - dinar algérien - dinar algérien - dinars algériens - - - sucre équatorien - sucre équatorien - sucres équatoriens - - - unité de valeur constante équatoriale (UVC) - unité de valeur constante équatorienne (UVC) - unités de valeur constante équatoriennes (UVC) - - - couronne estonienne - couronne estonienne - couronnes estoniennes - krE - - - livre égyptienne - livre égyptienne - livres égyptiennes - £EG - - - nafka érythréen - nafka érythréen - nafkas érythréens - - - peseta espagnole (compte A) - peseta espagnole (compte A) - pesetas espagnoles (compte A) - - - peseta espagnole (compte convertible) - peseta espagnole (compte convertible) - pesetas espagnoles (compte convertible) - - - peseta espagnole - peseta espagnole - pesetas espagnoles - ₧ - - - birr éthiopien - birr éthiopien - birrs éthiopiens - - - euro - euro - euros - - - mark finlandais - mark finlandais - marks finlandais - - - dollar fidjien - dollar fidjien - dollars fidjien - $FJ - - - livre des Falkland - livre des Falkland - livres des Falkland - £FK - - - franc français - franc français - francs français - F - - - livre sterling - livre sterling - livres sterling - £UK - - - Georgian Kupon Larit - coupon de lari géorgien - coupons de lari géorgiens - KlGe - - - lari géorgien - lari géorgien - laris géorgiens - - - cédi - cédi ghanéen (1967–2007) - cédis ghanéens (1967–2007) - - - cédi ghanéen - cédi ghanéen - cédis ghanéens - - - livre de Gibraltar - livre de Gibraltar - livres de Gibraltar - £GI - - - dalasi gambien - dalasi gambien - dalasis gambiens - - - franc guinéen - franc guinéen - francs guinéens - - - syli guinéen - syli guinéen - sylis guinéens - - - ekwélé équatoguinéen - ekwélé équatoguinéen - ekwélés équatoguinéens - - - drachme grecque - drachme grecque - drachmes grecques - - - quetzal guatémaltèque - quetzal guatémaltèque - quetzals guatémaltèques - - - escudo de Guinée portugaise - escudo de Guinée portugaise - escudos de Guinée portugaise - EscGW - - - peso bissau-guinéen - peso bissau-guinéen - pesos bissau-guinéens - - - dollar du Guyana - dollar guyanien - dollars guyaniens - $GY - - - dollar de Hong Kong - dollar de Hong Kong - dollars de Hong Kong - $HK - - - lempira hondurien - lempira hondurien - lempiras honduriens - - - dinar croate - dinar croate - dinars croates - - - kuna croate - kuna croate - kunas croates - - - gourde haïtienne - gourde haïtienne - gourdes haïtiennes - - - forint hongrois - forint hongrois - forints hongrois - - - roupie indonésienne - roupie indonésienne - roupies indonésiennes - - - livre irlandaise - livre irlandaise - livres irlandaises - £IE - - - livre israélienne - livre israélienne - livres israéliennes - £IL - - - nouveau shekel israélien - nouveau shekel israélien - nouveaux shekels israélien - - - roupie indienne - roupie indienne - roupies indiennes - - - dinar irakien - dinar irakien - dinars irakiens - - - rial iranien - rial iranien - rials iraniens - - - couronne islandaise - couronne islandaise - couronnes islandaises - krI - - - lire italienne - lire italienne - lires italiennes - ₤IT - - - dollar jamaïcain - dollar jamaïcain - dollars jamaïcains - $JM - - - dinar jordanien - dinar jordanien - dinars jordaniens - DJ - - - yen japonais - yen japonais - yens japonais - ¥JP - - - shilling kényan - shilling kényan - shillings kényans - - - som kirghize - som kirghize - soms kirghizes - - - riel cambodgien - riel cambodgien - riels cambodgiens - - - franc comorien - franc comorien - francs comoriens - FC - - - won nord-coréen - won nord-coréen - wons nord-coréens - ₩KP - - - won sud-coréen - won sud-coréen - wons sud-coréens - - - dinar koweïtien - dinar koweïtien - dinar koweïtiens - DK - - - dollar des îles Caïmanes - dollar des îles Caïmanes - dollars des îles Caïmanes - $KY - - - tenge kazakh - tenge kazakh - tenges kazakhs - - - kip loatien - kip loatien - kips loatiens - - - livre libanaise - livre libanaise - livres libanaises - £LB - - - roupie srilankaise - roupie srilankaise - roupies srilankaises - RsSL - - - dollar libérien - dollar libérien - dollars libériens - $LR - - - loti lesothan - loti lesothan - maloti lesothans - - - litas lituanien - litas lituanien - litas lituaniens - - - talonas lituanien - talonas lituanien - talonas lituaniens - - - franc convertible luxembourgeois - franc convertible luxembourgeois - francs convertibles luxembourgeois - - - franc luxembourgeois - franc luxembourgeois - francs luxembourgeois - FL - - - franc financier luxembourgeois - franc financier luxembourgeois - francs financiers luxembourgeois - - - lats letton - lats letton - lats lettons - - - rouble letton - rouble letton - roubles lettons - - - dinar lybien - dinar lybien - dinars lybien - DL - - - dirham marocain - dirham marocain - dirhams marocains - - - franc marocain - franc marocain - francs marocains - - - leu moldave - leu moldave - leus moldaves - - - ariary malgache - ariary malgache - ariarys malgaches - - - franc malgache - franc malgache - francs malgaches - - - denar macédonien - denar macédonien - denars macédoniens - - - franc malien - franc malien - francs maliens - - - kyat myanmarais - kyat myanmarais - kyats myanmarais - - - tugrik mongol - tugrik mongol - tugriks mongols - - - pataca macanaise - pataca macanaise - patacas macanaises - - - ouguiya mauritanien - ouguiya mauritanien - ouguiyas mauritaniens - - - lire maltaise - lire maltaise - lires maltaises - - - livre maltaise - livre maltaise - livres maltaises - £MT - - - roupie mauricienne - roupie mauricienne - roupies mauriciennes - RsMU - - - rufiyaa maldivienne - rufiyaa maldivienne - rufiyaas maldiviennes - - - kwacha malawite - kwacha malawite - kwachas malawites - - - peso mexicain - peso mexicain - pesos mexicains - - - peso d’argent mexicain (1861–1992) - peso d’argent mexicain (1861–1992) - pesos d’argent mexicains (1861–1992) - - - unité de conversion mexicaine (UDI) - unité de conversion mexicaine (UDI) - unités de conversion mexicaines (UDI) - - - ringgit malais - ringgit malais - ringgits malais - - - escudo mozambicain - escudo mozambicain - escudos mozambicains - - - métical - metical mozambicain (1980–2006) - meticais mozambicains (1980–2006) - - - metical mozambicain - metical mozambicain - meticais mozambicains - - - dollar namibien - dollar namibien - dollars namibiens - $NA - - - naira nigérian - naira nigérian - nairas nigérians - - - cordoba - córdoba nicaraguayen (1912–1988) - córdobas nicaraguayens (1912–1988) - - - córdoba oro nicaraguayen - córdoba oro nicaraguayen - córdobas oro nicaraguayens - - - florin néerlandais - florin néerlandais - florins néerlandais - - - couronne norvégienne - couronne norvégienne - couronnes norvégiennes - krN - - - roupie népalaise - roupie népalaise - roupies népalaises - RsNP - - - dollar néo-zélandais - dollar néo-zélandais - dollars néo-zélandais - $NZ - - - rial omani - rial omani - rials omanis - - - balboa panaméen - balboa panaméen - balboas panaméens - - - inti péruvien - inti péruvien - intis péruviens - - - nouveau sol péruvien - nouveau sol péruvien - nouveaux sols péruviens - - - sol péruvien - sol péruvien (1863–1985) - sols péruviens (1863–1985) - - - kina papouan-néo-guinéen - kina papouan-néo-guinéen - kinas papouan-néo-guinéens - - - peso philippin - peso philippin - pesos philippins - - - roupie pakistanaise - roupie pakistanaise - roupies pakistanaises - RsPK - - - zloty polonais - zloty polonais - zlotys polonais - - - zloty (1950-1995) - zloty polonais (1950–1995) - zlotys polonais (1950–1995) - - - escudo portugais - escudo portugais - escudos portugais - - - guaraní paraguayen - guaraní paraguayen - guaranís paraguayens - - - rial qatari - rial qatari - rials qataris - RQ - - - dollar rhodésien - dollar rhodésien - dollars rhodésiens - $RH - - - ancien leu roumain - leu roumain (1952–2005) - lei roumains (1952–2005) - - - leu roumain - leu roumain - lei roumains - - - dinar serbe - dinar serbe - dinars serbes - - - rouble russe - rouble russe - roubles russes - - - rouble russe (1991–1998) - rouble russe (1991–1998) - roubles russes (1991–1998) - - - franc rwandais - franc rwandais - francs rwandais - FR - - - rial saoudien - rial saoudien - rials saoudiens - RS - - - dollar des îles Salomon - dollar des îles Salomon - dollars des îles Salomon - $SB - - - roupie des Seychelles - roupie des Seychelles - roupies des Seychelles - - - dinar soudanais - dinar soudanais (1992–2007) - dinars soudanais (1992–2007) - - - livre soudanaise - livre soudanaise - livres soudanaises - - - livre soudanaise (1956–2007) - livre soudanaise (1956–2007) - livres soudanaises (1956–2007) - - - couronne suédoise - couronne suédoise - couronnes suédoises - krS - - - dollar de Singapour - dollar de Singapour - dollars de Singapour - $SG - - - livre de Sainte-Hélène - livre de Sainte-Hélène - livres de Sainte-Hélène - £SH - - - tolar slovène - tolar slovène - tolars slovènes - - - couronne slovaque - couronne slovaque - couronnes slovaques - - - leone sierra-léonais - leone sierra-léonais - leones sierra-léonais - - - shilling somalien - shilling somalien - shillings somaliens - - - dollar surinamais - dollar surinamais - dollars surinamais - $SR - - - florin surinamais - florin surinamais - florins surinamais - - - dobra santoméen - dobra santoméen - dobras santoméens - - - rouble soviétique - rouble soviétique - roubles soviétiques - - - colón salvadorien - colón salvadorien - colóns salvadoriens - ₡SV - - - livre syrienne - livre syrienne - livres syriennes - £SY - - - lilangeni swazi - lilangeni swazi - emalangeni swazis - - - baht thaïlandais - baht thaïlandais - baths thaïlandais - - - rouble tadjik - rouble tadjik - roubles tadjiks - - - somoni tadjik - somoni tadjik - somonis tadjiks - - - manat turkmène - manat turkmène - manats turkmènes - - - dinar tunisien - dinar tunisien - dinars tunisiens - - - pa’anga tongan - pa’anga tongan - pa’angas tongans - - - escudo timorais - escudo timorais - escudos timorais - - - livre turque - livre turque (1844–2005) - livres turques - - - nouvelle livre turque - nouvelle livre turque - nouvelles livres turques - - - dollar trinidadien - dollar trinidadien - dollars trinidadiens - $TT - - - nouveau dollar taïwanais - nouveau dollar taïwanais - nouveaux dollars taïwanais - - - shilling tanzanien - shilling tanzanien - shillings tanzaniens - - - hryvnia ukrainienne - hryvnia ukrainienne - hryvnias ukrainiennes - - - karbovanetz - karbovanets ukrainien (1992–1996) - karbovanets ukrainiens (1992–1996) - - - shilling ougandais (1966-1987) - shilling ougandais (1966–1987) - shillings ougandais (1966–1987) - - - shilling ougandais - shilling ougandais - shillings ougandais - - - dollar des États-Unis - dollar des États-Unis - dollars des États-Unis - $US - - - dollar des Etats-Unis (jour suivant) - dollar des États-Unis (jour suivant) - dollars des États-Unis (jour suivant) - - - dollar des Etats-Unis (jour même) - dollar des États-Unis (jour même) - dollars des États-Unis (jour même) - - - peso uruguayen (unités indexées) - peso uruguayen (unités indexées) - pesos uruguayen (unités indexées) - - - peso uruguayen (1975–1993) - peso uruguayen (1975–1993) - pesos uruguayens (1975–1993) - - - peso uruguayen - peso uruguayen - pesos uruguayens - $UY - - - sum ouzbek - sum ouzbek - sums ouzbeks - - - bolivar - bolívar vénézuélien (1879–2008) - bolívars vénézuéliens (1879–2008) - - - bolivar fuerte vénézuélien - bolivar fuerte vénézuélien - bolivar fuertes vénézuélien - - - dông vietnamien - dông vietnamien - dôngs vietnamiens - - - vatu vanuatuan - vatu vanuatuan - vatus vanuatuans - - - tala samoan - tala samoan - talas samoans - - - franc CFA (BEAC) - franc CFA (BEAC) - francs CFA (BEAC) - - - argent - once troy d’argent - onces troy d’argent - - - or - once troy d’or - onces troy d’or - - - unité européenne composée - unité composée européenne (EURCO) - unités composées européennes (EURCO) - - - unité monétaire européenne - unité monétaire européenne (UME-6) - unités monétaires européennes (UME-6) - - - unité de compte européenne (XBC) - unité de compte 9 européenne (UEC-9) - unités de compte 9 européennes (UEC-9) - - - unité de compte européenne (XBD) - unité de compte 17 européenne (UEC-17) - unités de compte 17 européennes (UEC-17) - - - dollar des Caraïbes orientales - dollar des Caraïbes orientales - dollars des Caraïbes orientales - - - droit de tirage spécial - droit de tirage spécial - droits de tirage spéciaux - - - unité de compte européenne (ECU) - unité de compte européenne (ECU) - unités de compte européennes (ECU) - - - franc or - franc or - francs or - - - franc UIC - franc UIC - francs UIC - - - franc CFA (BCEAO) - franc CFA (BCEAO) - francs CFA (BCEAO) - - - palladium - once troy de palladium - onces troy de palladium - - - franc CFP - franc CFP - francs CFP - FCFP - - - platine - once troy de platine - onces troy de platine - - - type de fonds RINET - unité de fonds RINET - unités de fonds RINET - - - (devise de test) - (devise de test) - (devises de test) - - - devise inconnue ou non valide - devise inconnue ou non valide - devise inconnue ou non valide - - - dinar du Yémen - dinar nord-yéménite - dinars nord-yéménites - - - rial yéménite - rial yéménite - rials yéménites - RY - - - nouveau dinar yougoslave - dinar fort yougoslave (1966–1989) - dinars forts yougoslaves (1966–1989) - - - dinar yougoslave Noviy - nouveau dinar yougoslave (1994–2003) - nouveaux dinars yougoslaves (1994–2003) - - - dinar yougoslave convertible - dinar convertible yougoslave (1990–1992) - dinars convertibles yougoslaves (1990–1992) - - - rand sud-africain (financier) - rand sud-africain (financier) - rands sud-africains (financiers) - - - rand sud-africain - rand sud-africain - rands sud-africains - - - kwacha zambien - kwacha zambien - kwachas zambiens - - - nouveau zaïre zaïrien - nouveau zaïre zaïrien - nouveaux zaïres zaïriens - - - zaïre zaïrois - zaïre zaïrois - zaïres zaïrois - - - dollar zimbabwéen - dollar zimbabwéen - dollars zimbabwéens - $Z - - - - - - {0} jour - {0} jours - - - {0} heure - {0} heures - - - {0} minute - {0} minutes - - - {0} mois - {0} mois - - - {0} seconde - {0} secondes - - - {0} semaine - {0} semaines - - - {0} année - {0} années - - - - - oui:o - non:n - - - - diff --git a/lib/zend/Zend/Locale/Data/fr_BE.xml b/lib/zend/Zend/Locale/Data/fr_BE.xml deleted file mode 100644 index b77d5e873b..0000000000 --- a/lib/zend/Zend/Locale/Data/fr_BE.xml +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - - - - - d/MM/yy - - - - - - - H 'h' mm 'min' ss 's' zzzz - - - - - - du {0} au {1} - - M-M - - - E d/MM - E d/MM - E d/MM - E d/MM - - - MMM-MMM - - - E d MMM 'au' E d MMM - E d 'au' E d MMM - - - d MMM 'au' d MMM - d-d MMM - - - d/MM - d/MM - d/MM - d/MM - - - HH-HH - - - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - - - MMM-MMM y - MMM y 'a`' MMM y - - - E d MMM 'au' E d MMM y - E d 'au' E d MMM y - E d MMM y 'au' E d MMM y - - - d MMM 'au' d MMM y - d-d MMM y - d MMM y 'au' d MMM y - - - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - - - - - - - - - . - - - diff --git a/lib/zend/Zend/Locale/Data/fr_CA.xml b/lib/zend/Zend/Locale/Data/fr_CA.xml deleted file mode 100644 index 86c6ccd9b5..0000000000 --- a/lib/zend/Zend/Locale/Data/fr_CA.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - - - - - - - - yyyy-MM-dd - - - - - yy-MM-dd - - - - - - - HH 'h' mm 'min' ss 's' zzzz - - - - - - EEE M-d - MM-d - MM-dd - M-d - yyyy-MM - EEE yyyy-MM-dd - yy-MM - - - - E MM-dd – E MM-dd - E MM-dd – E MM-dd - - - LLLL-LLLL - - - MM-dd – MM-dd - MM-dd – MM-dd - - - d–d - - - HH–HH - - - HH:mm–HH:mm - HH:mm–HH:mm - - - HH:mm–HH:mm v - HH:mm–HH:mm v - - - HH–HH v - - - y–y - - - yy-MM – yy-MM - yy-MM – yy-MM - - - 'du' E yy-MM-dd 'au' E yy-MM-dd - 'du' E yy-MM-dd 'au' E yy-MM-dd - 'du' E yy-MM-dd 'au' E yy-MM-dd - - - 'de' MMM y 'à' MMM y - - - 'du' E d MMM 'au' E d MMM y - 'du' E d 'au' E d MMM y - 'du' E d MMM y 'au' E d MMM y - - - MMMM – MMMM y - - - 'du' d MMM 'au' d MMM y - 'du' d MMM y 'au' d MMM y - - - yy-MM-dd – yy-MM-dd - yy-MM-dd – yy-MM-dd - yy-MM-dd – yy-MM-dd - - - - - - - - true - - - true - - - true - - - true - - - true - - - true - - - false - - - false - - - true - - - - - - - - #,##0.00 ¤;(#,##0.00 ¤) - - - - - - $ - - - - - diff --git a/lib/zend/Zend/Locale/Data/fr_CH.xml b/lib/zend/Zend/Locale/Data/fr_CH.xml deleted file mode 100644 index b63df91de6..0000000000 --- a/lib/zend/Zend/Locale/Data/fr_CH.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - ‹ - › - - - - - - - - EEEE, d MMMM y - - - - - dd.MM.yy - - - - - - - HH.mm:ss 'h' zzzz - - - - - - dd.MM - MM.yy - - - du {0} au {1} - - M-M - - - E, dd.MM - E, dd.MM - E, dd.MM - E, dd.MM - - - MMM-MMM - - - E, d MMM 'au' E, d MMM - E, d 'au' E, d MMM - - - d MMM 'au' d MMM - d-d MMM - - - dd.MM - dd.MM - dd.MM - dd.MM - - - HH-HH - - - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - MM.yy - MM.yy - MM.yy - MM.yy - - - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - - - MMM-MMM y - MMM y 'a`' MMM y - - - E, d MMM 'au' E, d MMM y - E, d 'au' E, d MMM y - E, d MMM y 'au' E, d MMM y - - - d MMM 'au' d MMM y - d-d MMM y - d MMM y 'au' d MMM y - - - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - - - - - - - - - . - ' - - - - - ¤ #,##0.00;¤-#,##0.00 - - - - - diff --git a/lib/zend/Zend/Locale/Data/fr_FR.xml b/lib/zend/Zend/Locale/Data/fr_FR.xml deleted file mode 100644 index 524346d49a..0000000000 --- a/lib/zend/Zend/Locale/Data/fr_FR.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/fr_LU.xml b/lib/zend/Zend/Locale/Data/fr_LU.xml deleted file mode 100644 index 7e140fe80d..0000000000 --- a/lib/zend/Zend/Locale/Data/fr_LU.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - . - - - - FRF - - - F - - - - diff --git a/lib/zend/Zend/Locale/Data/fr_MC.xml b/lib/zend/Zend/Locale/Data/fr_MC.xml deleted file mode 100644 index 0eb1d5d3aa..0000000000 --- a/lib/zend/Zend/Locale/Data/fr_MC.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/fr_SN.xml b/lib/zend/Zend/Locale/Data/fr_SN.xml deleted file mode 100644 index ee85f2a033..0000000000 --- a/lib/zend/Zend/Locale/Data/fr_SN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/fur.xml b/lib/zend/Zend/Locale/Data/fur.xml deleted file mode 100644 index 690512fe23..0000000000 --- a/lib/zend/Zend/Locale/Data/fur.xml +++ /dev/null @@ -1,1225 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - afar - avestan - afrikaans - amaric - aragonês - vieri inglês - lenghe Apache - arap - aramaic - assamês - asturian - lenghis australianis - avar - aymarà - azerbaijani - bielorùs - bulgar - bengalês - tibetan - breton - bosniac - catalan - cecen - lenghe celtiche - chamorro - cors - coptic - cree - cec - sclâf de glesie - galês - danês - todesc - sclâf - vieri egjizian - grêc - inglês - esperanto - spagnûl - eston - basc - persian - fulah - finlandês - fizian - faroês - francês - vieri francês - furlan - frisian - gaelic irlandês - gaelic scozês - lenghe gjermaniche - galizian - gotic - vieri grêc - manx - ebraic - hindi - cravuat - haitian - ongjarês - armen - indonesian - inupiaq - lenghe indo-europeane - ido - islandês - talian - inuktitut - gjaponês - gjeorgjian - kazac - kalaallisut - khmer - kannada - corean - curd - cornualiês - latin - ladin - lussemburghês - limburghês - lingala - lituan - leton - austronesian - maori - lenghis variis - macedon - malayalam - mongul - moldâf - marathi - malês - maltês - lenghis multiplis - mirandês - lenghis Maya - napoletan - norvegjês bokmål - bas todesc - nepalês - olandês - norvegjês nynorsk - norvegjês - vieri norvegjês - navajo - ocitan - osetic - turc otoman - punjabi - papiamento - vieri persian - polac - vieri provenzâl - pashto - portughês - portughês brasilian - quechua - rumanç - romen - lenghe romanze - rus - sanscrit - sardegnûl - sicilian - scozês - sindhi - sami setentrionâl - vieri irlandês - sinalês - slovac - sloven - lenghe sclave - samoan - somal - albanês - serp - sumeric - svedês - swahili - tamil - telegu - tetum - tagic - thai - tagalog - turc - tartar - tahitian - ucrain - indeterminade - urdu - uzbec - vietnamite - valon - yiddish - cinês - cinês semplificât - cinês tradizionâl - zulu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Mont - Afriche - Americhe dal Nord - Americhe meridionâl - Oceanie - Afriche ocidentâl - Americhe centrâl - Afriche orientâl - Afriche setentrionâl - Afriche di mieç - Afriche meridionâl - Americhis - Americhe setentrionâl - caraibic - Asie orientâl - Asie meridionâl - Asie sud orientâl - Europe meridionâl - Australie e Gnove Zelande - Melanesie - Regjon de Micronesie - Polinesie - Asie - Asie centrâl - Asie ocidentâl - Europe - Europe orientâl - Europe setentrionâl - Europe ocidentâl - Commonwealth dai stâts indipendents - Americhe latine e caraibiche - Andorra - Emirâts araps unîts - Afghanistan - Antigua e Barbuda - Anguilla - Albanie - Armenie - Antilis olandesis - Angola - Antartic - Argjentine - Samoa merecanis - Austrie - Australie - Aruba - Isulis Aland - Azerbaigian - Bosnie e Ercegovine - Barbados - Bangladesh - Belgjiche - Burkina Faso - Bulgarie - Bahrain - Burundi - Benin - Sant Barthélemy - Bermuda - Brunei - Bolivie - Brasîl - Bahamas - Bhutan - Isule Bouvet - Botswana - Bielorussie - Belize - Canade - Isulis Cocos - Republiche Democratiche dal Congo - Republiche centri africane - Congo - Svuizare - Cueste di Avoli - Isulis Cook - Cile - Camerun - Cine - Colombie - Costa Rica - Serbia e Montenegro - Cuba - Cjâf vert - Isule Christmas - Cipri - Republiche ceche - Gjermanie - Gibuti - Danimarcje - Dominiche - Republiche dominicane - Alzerie - Ecuador - Estonie - Egjit - Sahara ocidentâl - Eritree - Spagne - Etiopie - Finlandie - Fizi - Isulis Falkland - Micronesie - Isulis Faroe - France - Gabon - Ream unît - Grenada - Gjeorgjie - Guiana francês - Ghana - Gjibraltar - Groenlande - Gambia - Guinee - Guadalupe - Guinee ecuatoriâl - Grecie - Georgia dal Sud e Isulis Sandwich dal Sud - Guatemala - Guam - Guinea-Bissau - Guyana - Regjon aministrative speciâl de Cine di Hong Kong - Isule Heard e Isulis McDonald - Honduras - Cravuazie - Haiti - Ongjarie - Indonesie - Irlande - Israêl - Isule di Man - India - Teritori britanic dal Ocean Indian - Iraq - Iran - Islande - Italie - Gjamaiche - Jordanie - Gjapon - Kenya - Kirghizstan - Camboze - Kiribati - Comoris - San Kitts e Nevis - Coree dal nord - Coree dal sud - Kuwait - Isulis Cayman - Kazachistan - Laos - Liban - Sante Lusie - Liechtenstein - Sri Lanka - Liberie - Lesotho - Lituanie - Lussemburc - Letonie - Libie - Maroc - Monaco - Moldavie - Sant Martin - Madagascar - Isulis Marshall - Macedonie - Mali - Birmanie - Mongolie - Regjon aministrative speciâl de Cine di Macao - Isulis Mariana dal Nord - Martiniche - Mauritanie - Montserrat - Malta - Maurizi - Maldivis - Malawi - Messic - Malaysia - Mozambic - Namibie - Gnove Caledonie - Niger - Isole Norfolk - Nigerie - Nicaragua - Paîs bas - Norvegje - Nepal - Nauru - Niue - Gnove Zelande - Oman - Panamà - Perù - Polinesie francês - Papue Gnove Guinee - Filipinis - Pakistan - Polonie - San Pierre e Miquelon - Pitcairn - Porto Rico - Teritori palestinês - Portugal - Palau - Paraguay - Qatar - Oceanie periferiche - Union europeane - Reunion - Romanie - Serbie - Russie - Ruande - Arabie Saudide - Isulis Salomon - Seychelles - Svezie - Singapore - Sante Eline - Slovenie - Svalbard e Jan Mayen - Slovachie - Sierra Leone - San Marin - Senegal - Somalie - Suriname - Sao Tomè e Principe - El Salvador - Sirie - Swaziland - Isulis Turks e Caicos - Çad - Teritoris meridionâi francês - Togo - Tailandie - Tazikistan - Tokelau - Timor orientâl - Turkmenistan - Tunisie - Tonga - Turchie - Trinidad e Tobago - Tuvalu - Taiwan - Tanzanie - Ucraine - Uganda - Isulis periferichis minôrs dai Stâts Unîts - Stâts Unîts - Uruguay - Uzbechistan - Vatican - San Vincent e lis Grenadinis - Venezuela - Isulis vergjinis britanichis - Isulis vergjinis americanis - Vietnam - Vanuatu - Wallis e Futuna - Samoa - Yemen - Mayotte - Sud Afriche - Zambia - Zimbabwe - Regjon no cognossude o no valide - - - Ortografie todescje tradizionâl - Ortografie resiane standard - Ortografie todescje dal 1996 - armen orientâl - armen ocidentâl - dialet di San Zorç di Resie - dialet di Lipovaz dal resian - Dialet des valadis dal Nadison - dialet di Gnive - dialet di Oseac - Politoniche - Ortografie revisade - Resian - dialet di Stolvize - valenzian - - - calendari - ordenament - monede - - - ordin cinês tradizionâl - Big5 - calendari budist - calendari cinês - ordin diret - ordin cinês semplificât - GB2312 - calendari gregorian - calendari ebreu - calendari nazionâl indian - calendari islamic - calendari islamic civîl - calendari gjaponês - ordin elenc telefonic - ordin pinyin - calendari de Republiche di Cine - ordin segns - ordin tradizionâl - - - anglosasson - metric - - - Lenghe: {0} - Scriture: {0} - Regjon: {0} - - - - [a à â b c ç d e è ê f-i ì î j-o ò ô p-u ù û v-z] - [å č é ë ğ ï ñ ó š ü] - [a-z] - - - ‘ - ’ - “ - ” - - - - - - - - Zen - Fev - Mar - Avr - Mai - Jug - Lui - Avo - Set - Otu - Nov - Dic - - - Zenâr - Fevrâr - Març - Avrîl - Mai - Jugn - Lui - Avost - Setembar - Otubar - Novembar - Dicembar - - - - - Z - F - M - A - M - J - L - A - S - O - N - D - - - - - - - dom - lun - mar - mie - joi - vin - sab - - - domenie - lunis - martars - miercus - joibe - vinars - sabide - - - - - D - L - M - M - J - V - S - - - - - - - T1 - T2 - T3 - T4 - - - Prin trimestri - Secont trimestri - Tierç trimestri - Cuart trimestri - - - - - 1 - 2 - 3 - 4 - - - - a. - p. - - - pdC - ddC - - - pdC - ddC - - - - - - EEEE d 'di' MMMM 'dal' y - - - - - d 'di' MMMM 'dal' y - - - - - dd/MM/yyyy - - - - - dd/MM/yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - d EEE - H:mm - L - E d/M - LLL - E d MMM - E d MMMM - d 'di' MMMM - d MMM - d/MM - d/M - d - mm:ss - y - M/yyyy - EEE, d/M/yyyy - MMM y - EEE d MMM y - LLLL 'dal' y - Q yyyy - QQQ y - MM/yy - Q yy - MMMM y - - - {0} – {1} - - M-M - - - E dd/MM - E dd/MM - E dd/MM - E dd/MM - - - LLL-LLL - - - E d 'di' MMM - E d 'di' MMM - E d - E d 'di' MMM - - - LLLL-LLLL - - - d 'di' MMM - d 'di' MMM - d-d 'di' MMM - - - dd/MM - dd/MM - dd/MM - dd/MM - - - d-d - - - HH-HH - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - HH-HH v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yyyy - E dd/MM/yyyy - - - MM - MM/yyyy - MM/yyyy - MM/yyyy - - - E dd/MM/yyyy - E dd/MM/yyyy - E dd/MM/yyyy - E dd/MM/yyyy - E dd/MM/yyyy - E dd/MM/yyyy - - - MM - MM/yyyy - MM/yyyy - MM/yyyy - - - dd/MM/yyyy - d/MM - d - d/MM/yyyy - dd/MM/yyyy - dd/MM/yyyy - - - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - - - - - - ere - - - an - - - mês - - - setemane - - - dì - trê dîs fa - îr l'altri - îr - vuê - doman - passantdoman - tra trê dîs - - - dì de setemane - - - toc dal dì - - - ore - - - minût - - - secont - - - zone - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - {1} ({0}) - - No cognossude - - - San Pauli dal Brasîl - - - Canariis - - - Azoris - - - Lisbone - - - Mosche - - - Gnove York - - - - Ore de Europe centrâl - Ore estive de Europe centrâl - - - CET - CEST - - - - - Ore de Europe orientâl - Ore estive de Europe orientâl - - - EET - EEST - - - - - Ore de Europe ocidentâl - Ore estive de Europe ocidentâl - - - - - Ore di Mosche - - - - - - - , - . - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤ #,##0.00 - - - {0} {1} - {0} {1} - - - - Dram armen - - - Peso argjentin - - - Selin austriac - - - Dolar australian - - - Franc de Belgjiche - - - Franc burundês - - - Dolar dal Brunei - - - Real brasilian - - - Rubli bielorùs - - - Dolar canadês - - - Franc svuizar - - - Yuan Renminbi cinês - - - Vieri dinar serp - - - Peso cuban - - - Corone de Republiche Ceche - - - Marc todesc - - - Corone danês - - - Dinar algerin - - - Euro - - - Franc francês - - - Sterline britaniche - - - Dinar cravuat - - - Kuna cravuate - - - Rupie indiane - - - Rial iranian - - - Lire taliane - - - Yen gjaponês - - - Won de Coree dal Sud - - - Lats leton - - - Peso messican - - - Dolar namibian - - - Córdoba oro nicaraguan - - - Corone norvegjêse - - - Dollar neozelandês - - - Rupie pachistane - - - Zloty polac - - - Dinar serp - - - Rubli rus - - - Corone svedese - - - Talar sloven - - - Corone slovache - - - Viere Lire turche - - - Lire turche - - - Dolar american - - - Dolar american (prossime zornade) - - - Dolar american (stesse zornade) - - - Arint - - - Aur - - - Unitât composite europeane - - - Unitât monetarie europeane - - - Unitât di acont europeane (XBC) - - - Unitât di acont europeane (XBD) - - - Dirits speciâi di incas - - - Unitât Monetarie Europeane - - - Franc aur francês - - - Franc UIC francês - - - Paladi - - - Platin - - - fonts RINET - - - codiç di verifiche de monede - - - Monede no valide o no cognossude - - - Rand sudafrican - - - - - - {0} zornade - {0} zornadis - - - {0} ore - {0} oris - - - {0} minût - {0} minûts - - - {0} mês - {0} mês - - - {0} secont - {0} seconts - - - {0} setemane - {0} setemanis - - - {0} an - {0} agns - - - - - sì:si:s - no:n - - - - diff --git a/lib/zend/Zend/Locale/Data/fur_IT.xml b/lib/zend/Zend/Locale/Data/fur_IT.xml deleted file mode 100644 index 52b43f7743..0000000000 --- a/lib/zend/Zend/Locale/Data/fur_IT.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ga.xml b/lib/zend/Zend/Locale/Data/ga.xml deleted file mode 100644 index 6d23a722e3..0000000000 --- a/lib/zend/Zend/Locale/Data/ga.xml +++ /dev/null @@ -1,1504 +0,0 @@ - - - - - - - - - en_IE - - - aa - Abcáisis - Aivéistis - Afracáinis - Amarais - Araibis - Asaimis - Asarbaiseáinis - Baiscíris - Bealarúisis - Bulgáiris - Bihairis - Beangáilis - Tibéadais - Briotáinis - Boisnis - Catalóinis - Sisinis - Corsaicis - Craíais - Seicis - Slavais na hEaglaise - Suvaisis - Breatnais - Danmhairgis - Gearmáinis - Gréigis - Béarla - Esperanto - Spáinnis - Eastóinis - Bascais - Peirsis - Fionlainnis - fil - Fidsis - Faróis - Fraincis - Freaslainnis Iartharach - Gaeilge - Gaeilge na hAlban - Gailísis - Guaráinis - Gúisearáitis - Mannainis - Haváíais - Eabhrais - Hiondúis - Cróitis - Ungáiris - Airméinis - Interlingua - Indinéisis - Interlingue - Inupiaq - Ido - Íoslainnis - Iodáilis - Ionúitis - Seapáinis - Iávais - Seoirsis - Casachais - Cambóidis - Cannadais - Cóiréis - Caismíris - Coirdis - Cornais - Cirgeasais - Laidin - Leitseabuirgis - ln - Laosais - Liotuáinis - Laitvis - Malagásais - Maorais - Macadóinis - Mailéalaimis - Mongóilis - Moldáivis - Maraitis - Malaeis - Maltais - Burmais - Nárúis - Ioruais Bokmål - Neipealais - Ollainnis - Ioruais Nynorsk - Ioruais - Navachóis - Ocatáinis - Oraisis - Óiséitis - Puinseáibis - Polainnis - Paistis - Portaingéilis - Portaingéilis Bhrasaíleach - Portaingéilis Ibéireach - Ceatsuais - Rómáinis - Rúisis - Sanscrait - Sairdínis - Sindis - Sáimis Thuaidh - Seirbea-Chróitis - Siolóinis - Slóvaicis - Slóivéinis - Samóis - Somáilis - Albáinis - Seirbis - Sótais Dheisceartach - Sundais - Sualainnis - Svahaílis - Tamailis - Teileagúis - Téalainnis - Tigrinis - Tuircméinis - Tagálaigis - Klingon - Tuircis - Tatarais - Tvís - Taihítis - ug - Úcráinis - Teanga Anaithnid nó Neamhbhailí - Urdais - Úisbéicis - Vítneamais - Vallúnais - Cósais - Giúdais - Sínis - Sínis Shimplithe - Sínis Thraidisiúnta - Súlúis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An Domhan - An Afraic - An Aigéine - Meiriceá Láir - An Afraic Láir - Na Meiriceánna - An Astráil agus an Nua-Shéalainn - An Mheilinéis - An Réigiún Micrinéiseach - An Pholainéis - An Áise - An Áise Láir - An Eoraip - Comhlathas na Stát Neamhspleácha - Meiriceá Laidineach agus an Mhuir Chairib - Andóra - Aontas na nÉimíríochtaí Arabacha - An Afganastáin - Aintíge agus Barbúda - Anguilla - An Albáin - An Airméin - Antillí na hÍsiltíre - Angóla - An Antartaice - An Airgintín - Samó Meiriceánach - An Ostair - An Astráil - Arúba - Oileáin Alaind - An Asarbaiseáin - An Bhoisnia agus Heirseagóvéin - Barbadós - An Bhanglaidéis - An Bheilg - Buircíne Fasó - An Bhulgáir - Bairéin - An Bhurúin - Beinin - Beirmiúda - Brúiné - An Bholaiv - An Bhrasaíl - Na Bahámaí - An Bhútáin - Oileán Bouvet - An Bhotsuáin - An Bhealarúis - An Bheilís - Ceanada - Oileáin na gCócónna - Poblacht Dhaonlathach an Chongó - Poblacht na hAfraice Láir - An Congó - An Eilvéis - An Cósta Eabhair - Oileáin Cook - An tSile - Camarún - An tSín - An Cholóim - Cósta Ríce - An tSeirbia agus Montainéagró - Cúba - An Rinn Ghlas - Oileán na Nollag - An Chipir - Poblacht na Seice - An Ghearmáin - Djibouti - An Danmhairg - Doiminice - An Phoblacht Dhoiminiceach - An Ailgéir - Eacuadór - An Eastóin - An Éigipt - An Sahára Thiar - An Eiritré - An Spáinn - An Aetóip - An Fhionlainn - Fidsí - Oileáin Fháclainne - An Mhicrinéis - Oileáin Fharó - An Fhrainc - An Ghabúin - An Ríocht Aontaithe - Grenada - An tSeoirsia - An Ghuáin Fhrancach - Geansaí - Gána - Giobráltar - An Ghraonlainn - An Ghaimbia - An Ghuine - Guadalúip - An Ghuine Mheánchriosach - An Ghréig - An tSeoirsia Theas agus Oileáin Sandwich Theas - Guatamala - Guam - An Ghuine-Bhissau - An Ghuáin - R.R.S. na Síne Hong Cong - Oileán Heard agus Oileáin McDonald - Hondúras - An Chróit - Háití - An Ungáir - An Indinéis - Éire - Iosrael - Oileán Mhanann - An India - Críocha Briotanacha an Aigéin Indiagh - An Iaráic - An Iaráin - An Íoslainn - An Iodáil - Geirsí - Iamáice - An Iordáin - An tSeapáin - An Chéinia - An Chirgeastáin - An Chambóid - Ciribeas - Oileáin Chomóra - Saint Kitts agus Nevis - An Chóiré Thuaidh - An Chóiré Theas - Cuáit - Oileáin na gCadhman - An Chasacstáin - Laos - An Liobáin - San Lúisia - Lichtinstéin - Srí Lanca - An Libéir - Leosóta - An Liotuáin - Lucsamburg - An Laitvia - An Libia - Maracó - Monacó - An Mholdóiv - Montainéagró - Madagascar - Oileáin Marshall - An Mhacadóin - Mailí - Maenmar - An Mhongóil - R.R.S. na Síne Macáó - Oileáin Mariana Thuaidh - Martainíc - An Mharatáin - Montsarat - Málta - Oileán Mhuirís - Na Maildiví - An Mhaláiv - Meicsiceo - An Mhalaeisia - Mósaimbíc - An Namaib - An Nua-Chaladóin - An Nígir - Oileán Norfolk - An Nigéir - Nicearagua - An Ísiltír - An Iorua - Neipeal - Nárú - Nívé - An Nua-Shéalainn - Óman - Panama - Peiriú - An Pholainéis Fhrancach - Nua-Ghuine Phapua - Na hOileáin Fhilipíneacha - An Phacastáin - An Pholainn - Saint Pierre agus Miquelon - Pitcairn - Portó Ríce - Na Críocha Pailistíneacha - An Phortaingéil - Palau - Paragua - Catar - An Aigéine Imeallach - An tAontas Eorpach - Réunion - An Rómáin - An tSeirbia - Cónaidhm na Rúise - Ruanda - An Araib Shádach - Oileáin Sholaimh - Na Séiséil - An tSúdáin - An tSualainn - Singeapór - San Héilin - An tSlóvéin - Svalbard agus Jan Mayen - An tSlóvaic - Siarra Leon - San Mairíne - An tSeineagáil - An tSomáil - Suranam - Sao Tome agus Principe - An tSalvadóir - An tSiria - An tSuasalainn - Oileáin Turks agus Caicos - Sead - Críocha Deisceartacha na Fraince - Tóga - An Téalainn - An Táidsíceastáin - Tócalá - Tíomór Thoir - An Tuircméanastáin - An Túinéis - Tonga - An Tuirc - Oileáin na Tríonóide agus Tobága - Túválú - An Téaváin - An Tansáin - An Úcráin - Úganda - Mion-Oileáin Imeallacha S.A.M. - Stáit Aontaithe Mheiriceá - Urugua - Úisbéiceastáin - An Vatacáin - Saint Vincent agus na Grenadines - Veiniséala - Oileáin Bhriotanacha na Maighdean - Oileáin na Maighdean S.A.M. - Vít Neam - Vanuatú - Oileáin Vailís agus Futúna - Samó - Éimin - Mayotte - An Afraic Theas - An tSaimbia - An tSiombáib - Réigiún Anaithnid nó Neamhbhailí - - - Féilire - Comhordú - Airgeadra - - - Ord sórtála Síneach traidisiúnta - Big5 - Féilire Búdaíoch - Féilire Síneach - Ord sórtála díreach - Ord sórtála Síneach simplithe - GB 2312 - Féilire Greagórach - Féilire Eabhrach - Féilire Ioslamach - Féilire Ioslamach Sibhialta - Féilire Seapánach - Ord sórtála an eolaire teileafóin - Ord sórtála pinyin - Ord sórtála stríce - Ord sórtála traidisiúnta - - - Meiriceánach - Méadrach - - - - [a á b-e é f-i í j-o ó p-u ú v-z] - [ḃ ċ ḋ ḟ ġ ṁ ṗ ṡ ṫ] - - - - - - - - EEEE d MMMM y G - - - - - - - - - Ean - Feabh - Márta - Aib - Beal - Meith - Iúil - Lún - MFómh - DFómh - Samh - Noll - - - Eanáir - Feabhra - Márta - Aibreán - Bealtaine - Meitheamh - Iúil - Lúnasa - Meán Fómhair - Deireadh Fómhair - Samhain - Nollaig - - - - - E - F - M - A - B - M - I - L - M - D - S - N - - - - - - - Domh - Luan - Máirt - Céad - Déar - Aoine - Sath - - - Dé Domhnaigh - Dé Luain - Dé Máirt - Dé Céadaoin - Déardaoin - Dé hAoine - Dé Sathairn - - - - - D - L - M - C - D - A - S - - - - - - - R1 - R2 - R3 - R4 - - - 1ú ráithe - 2ú ráithe - 3ú ráithe - 4ú ráithe - - - - a.m. - p.m. - - - Roimh Chríost - Anno Domini - - - RC - AD - - - - - - EEEE d MMMM y - - - - - d MMMM y - - - - - d MMM y - - - - - dd/MM/yyyy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - HH:mm - HH:mm:ss - d MMMM - dd/MM - d/M - mm:ss - MM/yy - MMM yy - Q yy - MM/yyyy - MMMM y - - - - - Ré - - - Bliain - - - Mí - - - Seachtain - - - Lá - Arú inné - Inné - Inniu - Amárach - Arú amárach - - - Lá na seachtaine - - - a.m./p.m. - - - Uair - - - Nóiméad - - - Soicind - - - Crios - - - - - - +HH:mm;-HH:mm - MAG{0} - {0} - - Anaithnid - - - - Am Samhraidh na Breataine - - - ASB - - Londain - - - - Am Samhraidh na hÉireann - - - ASÉ - - Baile Átha Cliath - - - - Meán-Am Greenwich - - - MAG - - - - - - - . - , - - - - - ¤#,##0.00 - - - - - - Peseta Andóra - - - Dirham Aontas na nÉimíríochtaí Arabacha - - - Afgainí (1927-2002) - - - Afgainí - - - Lek Albánach - - - Dram Airméanach - - - Guilder na nAntillí Ísiltíreach - AÍ f. - - - Kwanza Angólach - - - Kwanza Angólach (1977-1990) - - - Kwanza Nua Angólach (1990-2000) - - - Kwanza Reajustado Angólach (1995-1999) - - - Austral Airgintíneach - - - Peso na Airgintíne (1983-1985) - - - Peso na Airgintíne - - - Scilling Ostarach - - - Dollar Astrálach - - - Guilder Aruba - - - Manat Asarbaiseánach - - - Dínear Bhoisnia-Heirseagaivéin - - - Marc Inathraithe Bhoisnia-Heirseagaivéin - - - Dollar Bharbadóis - - - Taka Bhanglaidéiseach - - - Franc Beilgeach (inathraithe) - - - Franc Beilgeach - - - Franc Beilgeach (airgeadúil) - - - Lev Bulgárach Crua - - - Lev Nua Bulgárach - - - Dínear na Bairéine - - - Franc na Burúine - - - Dollar Bheirmiúda - - - Dollar Bhrúiné - - - Boliviano - - - Peso na Bolaive - - - Mvdol Bolavach - - - Cruzeiro Novo Brasaíleach (1967-1986) - - - Cruzado Brasaíleach - - - Cruzeiro Brasaíleach (1990-1993) - - - Real Brasaíleach - - - Cruzado Novo Brasaíleach - - - Cruzeiro Brasaíleach - - - Dollar na mBahámaí - - - Ngultrum Bútánach - - - Kyat Burmach - - - Pula Botsuánach - - - Rúbal Nua Béalarúiseach (1994-1999) - - - Rúbal Béalarúiseach - - - Dollar na Beilíse - - - Dollar Ceanada - - - Franc Congolais an Chongó - - - Franc na hEilvéise - - - Unidades de Fomento na Sile - - - Peso na Sile - - - Yuan Renminbi Síneach - - - Peso na Colóime - - - Colon Chósta Ríce - - - Koruna Crua na Seicslóvaice - - - Peso Cúba - - - Escudo na Rinne Verde - - - Punt na Cipire - - - Koruna Phoblacht na Seice - - - Ostmark na hOirGhearmáine - - - Deutsche Mark - - - Franc Djibouti - - - Krone Danmhargach - - - Peso Doimineacach - - - Dínear na hAilgéire - - - Sucre Eacuadóir - - - Unidad de Valor Constante (UVC) Eacuadóir - - - Kroon na hEastóine - - - Punt na hÉigipte - - - Peseta Spáinneach - - - Birr na hAetóipe - - - Euro - - - Markka Fionnlannach - - - Dollar Fhidsí - - - Punt Oileáin Fháclainne - - - Franc Francach - - - Punt Steirling - GB£ - - - Kupon Larit na Grúise - - - Lari na Grúise - - - Cedi Ghána - - - Punt Ghiobráltair - - - Dalasi Gaimbia - - - Franc Guine - - - Syli Guine - - - Ekwele Guineana na Guine Meánchriosaí - - - Drachma Gréagach - - - Quetzal Guatamala - - - Escudo na Guine Portaingéalaí - - - Peso Guine-Bhissau - - - Dollar na Guáine - - - Dollar Hong Cong - - - Lempira Hondúrais - - - Dínear na Cróite - - - Kuna Crótach - - - Gourde Háití - - - Forint Ungárach - - - Rupiah Indinéiseach - - - Punt Éireannach - £ - - - Punt Iosraelach - - - Sheqel Nua Iosraelach - - - Rúipí India - - - Dínear Irácach - - - Rial Iaránach - - - Krona Íoslannach - - - Lira Iodálach - - - Dollar Iamácach - - - Dínear Iordánach - - - Yen Seapánach - - - Scilling Céiniach - - - Som na Cirgeastáine - - - Riel na Cambóide - - - Franc Chomóra - - - Won na Cóiré Thuaidh - - - Won na Cóiré Theas - - - Dínear Cuátach - - - Dollar Oileáin Cayman - - - Tenge Casacstánach - - - Kip Laosach - - - Punt na Liobáine - - - Rúipí Srí Lanca - - - Dollar na Libéire - - - Loti Leosóta - - - Lita Liotuánach - - - Talonas Liotuánach - - - Franc Lucsamburg - - - Lats Laitviach - - - Rúbal Laitviach - - - Dínear Libia - - - Dirham Mharacó - - - Franc Mharacó - - - Leu Moldóvach - - - Ariary Madagascar - - - Franc Madagascar - - - Denar na Macadóine - - - Franc Mhailí - - - Kyat Mhaenmar - - - Tugrik Mongólach - - - Pataca Macao - - - Ouguiya na Maratáine - - - Lira Maltach - - - Punt Maltach - - - Rúipí Oileán Mhuirís - - - Maldive Islands Rufiyaa - - - Kwacha na Maláive - - - Peso Meicsiceo - - - Peso Airgid Meicsiceo (1861-1992) - - - Unidad de Inversion (UDI) Meicsiceo - - - Ringgit Malaeisia - - - Escudo Mósaimbíce - - - Metical Mósaimbíce - - - Dollar na Namaibe - - - Naira Nígéarach - - - Cordoba Nicearagua - - - Cordoba Oro Nicearagua - - - Guilder Ísiltíreach - - - Krone Ioruach - - - Rúipí Neipeáil - - - Dollar na Nua-Shéalainne - - - Rial Omain - - - Balboa Panamach - - - Inti Pheiriú - - - Sol Nuevo Pheiriú - - - Sol Pheiriú - - - Kina Nua-Ghuine Phapua - - - Peso Filipíneach - - - Rúipí na Pacastáine - - - Zloty Polannach - - - Zloty Polannach (1950-1995) - - - Escudo Portaingélach - - - Guarani Pharagua - - - Rial Catarach - - - Leu Rómánach - - - Rúbal Rúiseach - - - Rúbal Rúiseach (1991-1998) - - - Franc Ruanda - - - Riyal Sádach - - - Dollar Oileáin Solomon - - - Rúipí na Séiséil - - - Dínear na Súdáine - - - Punt na Súdáine - - - Krona Sualannach - - - Dollar Singeapóir - - - Punt San Héilin - - - Tolar Slóvénach - - - Koruna na Slóvaice - - - Leone Shiarra Leon - - - Scilling na Sómáile - - - Guilder Shuranaim - - - Dobra Sao Tome agus Principe - - - Rúbal Sóvéadach - - - Colon na Salvadóire - - - Punt Siria - - - Lilangeni na Suasalainne - - - Baht na Téalainne - - - Rúbal na Táidsíceastáine - - - Somoni na Táidsíceastáine - - - Manat na An Tuircméanastáine - - - Dínear na Túinéise - - - Paʻanga Tonga - - - Escudo Tíomóir - - - Lira Turcach - - - Dollar Oileáin na Tríonóide agus Tobága - - - Dollar Nua na Téaváine - - - Scilling na Tansáine - - - Hryvnia Úcránach - - - Karbovanetz Úcránach - - - Scilling Uganda (1966-1987) - - - Scilling Uganda - - - Dollar S.A.M. - - - Dollar S.A.M. (an chéad lá eile) - - - Dollar S.A.M. (an la céanna) - - - Peso Uragua (1975-1993) - - - Peso Uruguayo Uragua - - - Sum na hÚisbéiceastáine - - - Bolivar Veiniséala - - - Dong Vítneamach - - - Vatu Vanuatú - - - Tala Samó Thiar - - - CFA Franc BEAC - - - Ór - - - Aonad Ilchodach Eorpach - - - Aonad Airgeadaíochta Eorpach - - - Aonad Cuntais Eorpach (XBC) - - - Aonad Cuntais Eorpach (XBD) - - - Dollar Oirthear na Cairibe - - - Cearta Speisialta Tarraingthe - - - Aonad Airgeadra Eorpach - - - Franc Ór Francach - - - UIC-Franc Francach - - - CFA Franc BCEAO - - - CFP Franc - - - Airgeadra Anaithnid nó Neamhbhailí - - - Dínear Éimin - - - Rial Éimin - - - Dínear Crua Iúgslavach - - - Noviy Dinar Iúgslavach - - - Dínear Inathraithe Iúgslavach - - - Rand na hAfraice Theas (airgeadúil) - - - Rand na hAfraice Theas - - - Kwacha Saimbiach - - - Zaire Nua Sáíreach - - - Zaire Sáíreach - - - Dollar Siombábach - - - - - - tá:t - níl:n - - - - diff --git a/lib/zend/Zend/Locale/Data/ga_IE.xml b/lib/zend/Zend/Locale/Data/ga_IE.xml deleted file mode 100644 index 6bcdbba68f..0000000000 --- a/lib/zend/Zend/Locale/Data/ga_IE.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/gaa.xml b/lib/zend/Zend/Locale/Data/gaa.xml deleted file mode 100644 index 80fb78310a..0000000000 --- a/lib/zend/Zend/Locale/Data/gaa.xml +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - - - - [a-z] - - - ' - ' - " - " - - - - - - - - Aha - Ofl - Och - Abe - Agb - Otu - Maa - Man - Gbo - Ant - Ale - Afu - - - Aharabata - Oflo - Ochokrikri - Abeibee - Agbeinaa - Otukwadan - Maawe - Manyawale - Gbo - Anton - Alemle - Afuabee - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Ho - Dzu - Dzf - Sho - Soo - Soh - Ho - - - Hogbaa - Dzu - Dzufo - Sho - Soo - Sohaa - Ho - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - LB - SN - - - Dani Jesu - KJ - - - DJ - KJ - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - Sidi - - - - diff --git a/lib/zend/Zend/Locale/Data/gaa_GH.xml b/lib/zend/Zend/Locale/Data/gaa_GH.xml deleted file mode 100644 index a7466c2b0f..0000000000 --- a/lib/zend/Zend/Locale/Data/gaa_GH.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/gez.xml b/lib/zend/Zend/Locale/Data/gez.xml deleted file mode 100644 index 09ed4ca6c9..0000000000 --- a/lib/zend/Zend/Locale/Data/gez.xml +++ /dev/null @@ -1,504 +0,0 @@ - - - - - - - - - - - አፋርኛ - አብሐዚኛ - አፍሪቃንስኛ - አምሐረኛ - ዐርቢኛ - አሳሜዛዊ - አያማርኛ - አዜርባይጃንኛ - ባስኪርኛ - ቤላራሻኛ - ቡልጋሪኛ - ቢሃሪ - ቢስላምኛ - በንጋሊኛ - ትበትንኛ - ብሬቶንኛ - ብሊን - ካታላንኛ - ኮርሲካኛ - ቼክኛ - ወልሽ - ዴኒሽ - ጀርመን - ድዞንግኻኛ - ግሪክኛ - እንግሊዝኛ - ኤስፐራንቶ - ስፓኒሽ - ኤስቶኒአን - ባስክኛ - ፐርሲያኛ - ፊኒሽ - ፊጂኛ - ፋሮኛ - ፈረንሳይኛ - ፍሪስኛ - አይሪሽ - እስኮትስ፡ጌልክኛ - ግዕዝኛ - ጋለጋኛ - ጓራኒኛ - ጉጃርቲኛ - ሃውሳኛ - ዕብራስጥ - ሐንድኛ - ክሮሽያንኛ - ሀንጋሪኛ - አርመናዊ - ኢንቴርሊንጓ - እንዶኒሲኛ - እንተርሊንግወ - እኑፒያቅኛ - አይስላንድኛ - ጣሊያንኛ - እኑክቲቱትኛ - ጃፓንኛ - ጃቫንኛ - ጊዮርጊያን - ካዛክኛ - ካላሊሱትኛ - ክመርኛ - ካናዳኛ - ኮሪያኛ - ካሽሚርኛ - ኩርድሽኛ - ኪርጊዝኛ - ላቲንኛ - ሊንጋላኛ - ላውስኛ - ሊቱአኒያን - ላትቪያን - ማላጋስኛ - ማዮሪኛ - ማከዶኒኛ - ማላያላምኛ - ሞንጎላዊኛ - ሞልዳቫዊና - ማራዚኛ - ማላይኛ - ማልቲስኛ - ቡርማኛ - ናኡሩ - ኔፓሊኛ - ደች - ኖርዌጂያን - ኦኪታንኛ - ኦሮምኛ - ኦሪያኛ - ፓንጃቢኛ - ፖሊሽ - ፑሽቶኛ - ፖርቱጋሊኛ - ኵቿኛ - ሮማንስ - ሩንዲኛ - ሮማኒያን - ራሽኛ - ኪንያርዋንድኛ - ሳንስክሪትኛ - ሲንድሂኛ - ሳንጎኛ - ስንሃልኛ - ሲዳምኛ - ስሎቫክኛ - ስሎቪኛ - ሳሞአኛ - ሾናኛ - ሱማልኛ - ልቤኒኛ - ሰርቢኛ - ስዋቲኛ - ሶዞኛ - ሱዳንኛ - ስዊድንኛ - ስዋሂሊኛ - ታሚልኛ - ተሉጉኛ - ታጂኪኛ - ታይኛ - ትግርኛ - ትግረ - ቱርክመንኛ - ታጋሎገኛ - ጽዋናዊኛ - ቶንጋ - ቱርክኛ - ጾንጋኛ - ታታርኛ - ትዊኛ - ኡዊግሁርኛ - ዩክረኒኛ - ኡርዱኛ - ኡዝበክኛ - ቪትናምኛ - ቮላፑክኛ - ዎሎፍኛ - ዞሳኛ - ይዲሻዊኛ - ዮሩባዊኛ - ዡዋንግኛ - ቻይንኛ - ዙሉኛ - - - - - - አንዶራ - የተባበሩት፡አረብ፡ኤምሬትስ - አልባኒያ - አርሜኒያ - ኔዘርላንድስ፡አንቲልስ - አርጀንቲና - ኦስትሪያ - አውስትሬሊያ - አዘርባጃን - ቦስኒያ፡እና፡ሄርዞጎቪኒያ - ባርቤዶስ - ቤልጄም - ቡልጌሪያ - ባህሬን - ቤርሙዳ - ቦሊቪያ - ብራዚል - ቡህታን - ቤላሩስ - ቤሊዘ - የመካከለኛው፡አፍሪካ፡ሪፐብሊክ - ስዊዘርላንድ - ቺሊ - ካሜሩን - ቻይና - ኮሎምቢያ - ሰርቢያ - ኬፕ፡ቬርዴ - ሳይፕረስ - ቼክ፡ሪፑብሊክ - ጀርመን - ዴንማርክ - ዶሚኒካ - ዶሚኒክ፡ሪፑብሊክ - አልጄሪያ - ኢኳዶር - ኤስቶኒያ - ግብጽ - ምዕራባዊ፡ሳህራ - ኤርትራ - ስፔን - ኢትዮጵያ - ፊንላንድ - ፊጂ - ሚክሮኔዢያ - ፈረንሳይ - እንግሊዝ - ጆርጂያ - የፈረንሳይ፡ጉዊአና - ጋምቢያ - ጊኒ - ኢኳቶሪያል፡ጊኒ - ግሪክ - ቢሳዎ - ጉያና - ሆንግ፡ኮንግ - ክሮኤሽያ - ሀይቲ - ሀንጋሪ - ኢንዶኔዢያ - አየርላንድ - እስራኤል - ህንድ - ኢራቅ - አይስላንድ - ጣሊያን - ጃማይካ - ጆርዳን - ጃፓን - ካምቦዲያ - ኮሞሮስ - ደቡብ፡ኮሪያ - ሰሜን፡ኮሪያ - ክዌት - ሊባኖስ - ሊቱዌኒያ - ላትቪያ - ሊቢያ - ሞሮኮ - ሞልዶቫ - ማከዶኒያ - ሞንጎሊያ - ማካዎ - ሞሪቴኒያ - ማልታ - ማሩሸስ - ሜክሲኮ - ማሌዢያ - ናሚቢያ - ኒው፡ካሌዶኒያ - ናይጄሪያ - ኔዘርላንድ - ኖርዌ - ኔፓል - ኒው፡ዚላንድ - ፔሩ - የፈረንሳይ፡ፖሊኔዢያ - ፓፑዋ፡ኒው፡ጊኒ - ፖላንድ - ፖርታ፡ሪኮ - ሮሜኒያ - ራሺያ - ሳውድአረቢያ - ሱዳን - ስዊድን - ሲንጋፖር - ስሎቬኒያ - ስሎቫኪያ - ሴኔጋል - ሱማሌ - ሲሪያ - ቻድ - የፈረንሳይ፡ደቡባዊ፡ግዛቶች - ታይላንድ - ታጃኪስታን - ምስራቅ፡ቲሞር - ቱኒዚያ - ቱርክ - ትሪኒዳድ፡እና፡ቶባጎ - ታንዛኒያ - ዩጋንዳ - አሜሪካ - ዩዝበኪስታን - ቬንዙዌላ - የእንግሊዝ፡ድንግል፡ደሴቶች - የአሜሪካ፡ቨርጂን፡ደሴቶች - የመን - ደቡብ፡አፍሪካ - ዛምቢያ - - - - [\u135F ᎐-᎙ ሀ-ሆ ለ-ሎ ሐ-ሖ መ-ሞ ሠ-ሦ ረ-ሮ ሰ-ሶ ቀ-ቆ ቈ ቊ-ቍ በ-ቦ ተ-ቶ ኀ-ኆ ኈ ኊ-ኍ ነ-ኖ አ-ኦ ከ-ኮ ኰ ኲ-ኵ ወ-ዎ ዐ-ዖ ዘ-ዞ የ-ዮ ደ-ዶ ገ-ጎ ጐ ጒ-ጕ ጠ-ጦ ጰ-ጶ ጸ-ጾ ፀ-ፆ ፈ-ፎ ፐ-ፖ] - [ሇ ሏ ⶀ ሗ ሟ ᎀ-ᎃ ⶁ ሧ ሯ ⶂ ሷ ⶃ ሸ-ሿ ⶄ ቇ ቐ-ቖ ቘ ቚ-ቝ ቧ ᎄ-ᎇ ⶅ ቮ ቯ ቷ ⶆ ቿ ⶇ ኇ ኗ ⶈ ኟ ⶉ ኧ ⶊ ኯ ኸ-ኾ ዀ ዂ-ዅ ዏ ዟ ⶋ ዠ-ዧ ዷ ⶌ ዸ-ዿ ⶍ ጀ-ጇ ⶎ ጏ ጘ-ጟ ⶓ-ⶖ ጧ ⶏ ጨ-ጯ ⶐ ጷ ⶑ ጿ ፇ ፏ ᎈ-ᎋ ፗ ᎌ-ᎏ ⶒ ፘ-ፚ ⶠ-ⶦ ⶨ-ⶮ ⶰ-ⶶ ⶸ-ⶾ ⷀ-ⷆ ⷈ-ⷎ ⷐ-ⷖ ⷘ-ⷞ] - - - - - - - - ጠሐረ - ከተተ - መገበ - አኀዘ - ግንባ - ሠንየ - ሐመለ - ነሐሰ - ከረመ - ጠቀመ - ኀደረ - ኀሠሠ - - - ጠሐረ - ከተተ - መገበ - አኀዘ - ግንባት - ሠንየ - ሐመለ - ነሐሰ - ከረመ - ጠቀመ - ኀደረ - ኀሠሠ - - - - - ጠ - ከ - መ - አ - ግ - ሠ - ሐ - ነ - ከ - ጠ - ኀ - ኀ - - - - - - - እኁድ - ሰኑይ - ሠሉስ - ራብዕ - ሐሙስ - ዓርበ - ቀዳሚ - - - እኁድ - ሰኑይ - ሠሉስ - ራብዕ - ሐሙስ - ዓርበ - ቀዳሚት - - - - - እ - ሰ - ሠ - ራ - ሐ - ዓ - ቀ - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - ጽባሕ - ምሴት - - - ዓ/ዓ - ዓ/ም - - - - - - EEEE፥ dd MMMM መዓልት y G - - - - - dd MMMM y - - - - - dd-MMM-y - - - - - dd/MM/yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - dd MMMM - dd/MM - MM/yy - Q yy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - ወ - - - - - ¤#,##0.00 - - - - - - የብራዚል ሪል - - - የቻይና ዩአን ረንሚንቢ - - - የኢትዮጵያ ብር - - - አውሮ - - - የእንግሊዝ ፓውንድ ስተርሊንግ - - - የሕንድ ሩፒ - - - የጃፓን የን - - - የራሻ ሩብል - - - የአሜሪካን ዶላር - - - - - diff --git a/lib/zend/Zend/Locale/Data/gez_ER.xml b/lib/zend/Zend/Locale/Data/gez_ER.xml deleted file mode 100644 index 1ec07bf80c..0000000000 --- a/lib/zend/Zend/Locale/Data/gez_ER.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/gez_ET.xml b/lib/zend/Zend/Locale/Data/gez_ET.xml deleted file mode 100644 index 65eb69eac1..0000000000 --- a/lib/zend/Zend/Locale/Data/gez_ET.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/gl.xml b/lib/zend/Zend/Locale/Data/gl.xml deleted file mode 100644 index b363e72b04..0000000000 --- a/lib/zend/Zend/Locale/Data/gl.xml +++ /dev/null @@ -1,1361 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - Afrikaans - Lingua afro-asiática - Lingua algonquina - Amárico - Aragonés - Lingua apache - Árabe - Arameo - Lingua artificial - Assamés - Asturiano - Lingua australiana - Azerbaiano - Lingua báltica - Bielorruso - Búlgaro - Bihariano - Bengalí - Bretón - Bosnio - Catalán - Lingua india centroamericana - Lingua caucásica - Lingua céltica - Checo - Eslavo eclesiástico - Galés - Dinamarqués - Alemán - Alemán de Austria - Alemán suízo - Exipcio antigo - Grego - Inglés - Inglés australiano - Inglés canadiano - Inglés británico - Inglés americano - Esperanto - Español - Español latinoamericano - Castelán - Estoniano - Éuscaro - Persa - Finés - Filipino - Lingua finno-úgrica - Faroés - Francés - Francés canadiano - Francés suízo - Frisón - Irlandés - Gaélico escocés - Lingua xermánica - galego - Guaraní - Grego antigo - Guxaratiano - Hebreo - Hindi - Croata - Húngaro - Armenio - Interlingua - Indonesio - Lingua índica - Lingua indoeuropea - Islandés - Italiano - Xaponés - Xavanés - Xeorxiano - Cambodiano - Kannada - Coreano - Kurdo - Kyrgiz - Latín - Lingala - Laotiano - Lituano - Letón - Lingua miscelánea - Macedonio - Malaialam - Mongol - Marathi - Malaio - Maltés - Varias linguas - Lingua india norteamericana - Noruegués Bokmal - Nepalí - Holandés - Flamenco - Noruegués nynorsk - Noruegués - Lingua nubia - Occitano - Orissa - Punjabi - Lingua filipina - Polaco - Pashto - Portugués - Portugués brasileiro - Portugués ibérico - Romanés - Lingua románica - Ruso - Sánscrito - Lingua india sudamericana - Sindhi - Lingua semita - Lingua de signos - Serbocroata - Sinhalés - Eslovaco - Esloveno - Lingua eslávica - Somalí - Albanés - Serbio - Lingua do Nilo-Sáhara - Sesotho - Sondanés - Sueco - Suaxili - Tamil - Telugu - Tailandés - Tigriña - Tagalo - Clingon - Turco - Lingua altaica - Twi - Uighur - Ucraíno - Lingua descoñecida ou non válida - Urdú - Uzbeco - Vietnamita - Xhosa - Yiddish - Chinés - Chinés simplificado - Chinés tradicional - Zulú - Sen contido lingüístico - - - - - - - - - - - - - - Mundo - África - Norteamérica - Sudamérica - Oceanía - África Occidental - América Central - África Oriental - África Septentrional - África Central - África Meridional - América - América do Norte - Caribe - Asia Oriental - Sul de Asia - Sureste Asiático - Europa Meridional - Australia e Nova Celandia - Melanesia - Rexión da Micronesia - Polinesia - Asia do Sul-Centro - Asia - Asia Central - Asia Occidental - Europa - Europa do Leste - Europa Septentrional - Europa Occidental - Comunidade de Estados Independentes - América Latina e o Caribe - Andorra - Emiratos Árabes Unidos - Afganistán - Antiga e Barbuda - Anguila - Albania - Armenia - Antillas Holandesas - Angola - Antártida - Arxentina - Samoa Americana - Austria - Australia - Aruba - Illas Aland - Acerbaixán - Bosnia e Hercegovina - Barbados - Bangladesh - Bélxica - Burkina Faso - Bulgaria - Bahrein - Burundi - Benin - San Bartolomé - Bermudas - Brunei - Bolivia - Brasil - Bahamas - Bután - Illa Bouvet - Botsuana - Bielorrusia - Belice - Canadá - Illas Cocos - República Democrática do Congo - República Africana Central - Congo - Suíza - Costa de Marfil - Illas Cook - Chile - Camerún - China - Colombia - Costa Rica - Serbia e Montenegro - Cuba - Cabo Verde - Illa Christmas - Chipre - República Checa - Alemaña - Xibuti - Dinamarca - Dominica - República Dominicana - Arxelia - Ecuador - Estonia - Exipto - Sahara Occidental - Eritrea - España - Etiopía - Finlandia - Fixi - Illas Malvinas - Micronesia - Illas Feroe - Francia - Gabón - Reino Unido - Granada - Xeorxia - Güiana Francesa - Guernsey - Gana - Xibraltar - Grenlandia - Gambia - Guinea - Guadalupe - Guinea Ecuatorial - Grecia - Xeorxia do Sur e Illas Sandwich - Guatemala - Guam - Guinea-Bissau - Güiana - Hong Kong RAE de China - Illa Heard e Illas McDonald - Honduras - Croacia - Haití - Hungría - Indonesia - Irlanda - Israel - Illa de Man - India - Territorio Británico do Océano Índico - Iraq - Irán - Islandia - Italia - Jersey - Xamaica - Xordania - Xapón - Quenia - Quirguicistán - Cambodia - Kiribati - Comores - San Cristovo e Nevis - Corea do Norte - Corea do Sur - Kuwait - Illas Caimán - Kazakhstan - Laos - Líbano - Santa Lucía - Liechtenstein - Sri Lanka - Liberia - Lesotho - Lituania - Luxemburgo - Letonia - Libia - Marrocos - Mónaco - Moldova - Montenegro - San Martiño - Madagascar - Illas Marshall - Macedonia - Mali - Myanmar - Mongolia - Macau RAE de China - Illas Marianas do norte - Martinica - Mauritania - Montserrat - Malta - Mauricio - Maldivas - Malaui - México - Malaisia - Mozambique - Namibia - Nova Caledonia - Níxer - Illa Norfolk - Nixeria - Nicaragua - Países Baixos - Noruega - Nepal - Nauru - Niue - Nova Celandia - Omán - Panamá - Perú - Polinesia Francesa - Papúa Nova Guinea - Filipinas - Paquistán - Polonia - San Pedro e Miguelón - Pitcairn - Porto Rico - Palestina - Portugal - Palau - Paraguai - Qatar - Oceanía Distante - Unión Europea - Reunión - Romanía - Serbia - Rusia - Ruanda - Arabia Saudita - Illas Salomón - Seixeles - Sudán - Suecia - Singapur - Santa Helena - Eslovenia - Svalbard e Jan Mayen - Eslovaquia - Serra Leoa - San Marino - Senegal - Somalia - Surinam - Santo Tomé e Príncipe - El Salvador - Siria - Suacilandia - Illas Turks e Caicos - Xad - Territorios Franceses do Sul - Togo - Tailandia - Taxiquistán - Tokelau - Timor Leste - Turkmenistán - Tunisia - Tonga - Turquía - Trindade e Tobago - Tuvalu - Taiwán - Tanzania - Ucraína - Uganda - Illas Menores Distantes dos EUA. - Estados Unidos de América - Uruguai - Uzbekistán - Cidade do Vaticano - San Vicente e Granadinas - Venezuela - Illas Virxes Británicas - Illas Virxes Estadounidenses - Vietnam - Vanuatu - Wallis e Futuna - Samoa - Iemen - Mayotte - Sudáfrica - Zambia - Cimbabue - rexión descoñecida ou non válida - - - calendario - orde alfabética - moeda - - - orde chinesa tradicional - Big5 - calendario budista - calendario chinés - orde alfabética directa - orde chinesa simplificada - GB2312 - calendario gregoriano - calendario hebreo - calendario islámico - calendario islámico civil - calendario xaponés - orde da guía telefónica - orde pinyin - orde polo número de trazos - orde tradicional - - - americano - métrico decimal - - - Idioma: {0} - Alfabeto: {0} - Rexión: {0} - - - - [a á b-e é f-i í j-n ñ o ó p-u ú ü v-z] - [ª à â ä ã ç è ê-ì î ï º ò ô ö õ ù û] - [a-z] - - - “ - ” - ‘ - ’ - - - - - - - - Xan - Feb - Mar - Abr - Mai - Xuñ - Xul - Ago - Set - Out - Nov - Dec - - - Xaneiro - Febreiro - Marzo - Abril - Maio - Xuño - Xullo - Agosto - Setembro - Outubro - Novembro - Decembro - - - - - X - F - M - A - M - X - X - A - S - O - N - D - - - - - - - Dom - Lun - Mar - Mér - Xov - Ven - Sáb - - - Domingo - Luns - Martes - Mércores - Xoves - Venres - Sábado - - - - - D - L - M - M - X - V - S - - - - - - - T1 - T2 - T3 - T4 - - - 1o trimestre - 2o trimestre - 3o trimestre - 4o trimestre - - - - - 1 - 2 - 3 - 4 - - - - AM - PM - - - antes de Cristo - despois de Cristo - - - a.C. - d.C. - - - - - - EEEE dd MMMM y - - - - - dd MMMM y - - - - - d MMM, y - - - - - dd/MM/yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - HH:mm - L - E, d-M - LLL - E d MMM - E d MMMM - d MMMM - dd MMMM - d MMM - dd/MM - d-M - d - mm:ss - y - M-yyyy - EEE, d-M-yyyy - MMM y - EEE, d MMM y - MMMM y - Q yyyy - QQQ y - MM/yy - Q yy - MMMM y - - - - - Era - - - Ano - - - Mes - - - Semana - - - Día - trasantonte - antonte - onte - hoxe - mañá - pasadomañá - - - Día da semana - - - Hora - - - Minuto - - - Segundo - - - Fuso horario - - - - - - +HH:mm;-HH:mm - GMT{0} - Hora de {0} - {1} ({0}) - - Descoñecido - - - Anguila - - - Polo Sul - - - Dumont-d'Urville - - - Río Gallegos - - - Tucumán - - - Córdoba - - - Bos Aires - - - Bermudas - - - Belém - - - São Paulo - - - Maceió - - - Belice - - - St Johns - - - Illa de Pascua - - - Cabo Verde - - - Xubuti - - - Illas Galápagos - - - Illas Canarias - - - Fidxi - - - París - - - Granada - - - Xibraltar - - - Guadalupe - - - Güiana - - - Iacarta - - - Xamaica - - - Luxemburgo - - - Mónaco - - - Ulan Bator - - - Martinica - - - Mauricio - - - Maldivas - - - Mazatlán - - - Monterrei - - - Cidade de México - - - Mérida - - - Cancún - - - Panamá - - - Porto Rico - - - Reunión - - - Kaliningrado - - - Moscova - - - Volgogrado - - - Ecaterinburgo - - - Singapur - - - O Salvador - - - Honolulú - - - New Salem - - - Central - - - Vincennes - - - Petersburg - - - Tell City - - - Knox - - - Winamac - - - Marengo - - - Vevay - - - Monticello - - - Samarcanda - - - - horario europeo central - horario de verán europeo central - - - - - horario europeo oriental - horario de verán europeo oriental - - - - - horario europeo occidental - horario de verán europeo occidental - - - - - horario medio de Greenwich - - - - - - - , - . - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - - - - peseta andorrana - peseta andorrana - pesetas andorranas - - - Peso arxentino (1983-1985) - peso arxentino (ARP) - pesos arxentinos (ARP) - - - Peso arxentino - peso arxentino - pesos arxentinos - - - Franco belga (convertible) - franco belga (convertible) - francos belgas (convertibles) - - - Franco belga - franco belga - francos belgas - - - Franco belga (financeiro) - franco belga (financeiro) - francos belgas (financeiros) - - - Boliviano - boliviano - bolivianos - - - Peso boliviano - peso boliviano - pesos bolivianos - - - MVDOL boliviano - - - Cruzeiro novo brasileiro (1967-1986) - cruzeiro novo brasileiro - cruzeiros novos brasileiros - - - Cruzado brasileiro - cruzado brasileiro - cruzados brasileiros - - - Cruzeiro brasileiro (1990-1993) - cruzeiro brasileiro (BRE) - cruzeiros brasileiros (BRE) - - - Real brasileiro - real brasileiro - reais brasileiros - - - Cruzado novo brasileiro - cruzado novo brasileiro - cruzados novos brasileiros - - - Cruzeiro brasileiro - cruzeiro brasileiro - cruzeiros brasileiros - - - Dólar canadiano - - - Franco suizo - - - Unidades de fomento chilenas - unidade de fomento chilena - unidades de fomento chilenas - - - Peso chileno - peso chileno - pesos chilenos - - - Iuan renminbi chinés - iuán chinés - iuáns chineses - - - Peso colombiano - peso colombiano - pesos colombianos - - - Colón costarricense - colón costarricense - colóns costarricenses - - - Peso cubano - peso cubano - pesos cubanos - - - Marco alemán - marco alemán - marcos alemáns - - - Coroa dinamarquesa - - - Peso dominicano - peso dominicano - pesos dominicanos - - - Sucre ecuatoriano - sucre ecuatoriano - sucres ecuatorianos - - - Unidade de valor constante ecuatoriana - - - Peseta española (conta A) - - - Peseta española (conta convertible) - - - #,##0 ¤;-#,##0 ¤ - Peseta española - peseta - pesetas - ₧ - , - . - - - Euro - euro - euros - - - Franco francés - franco francés - francos franceses - - - Libra esterlina - libra esterlina - libras esterlinas - - - Libra de Xibraltar - libra xibraltareña - libras xibraltareñas - - - Franco guineano - - - Syli guineano - - - Ekwele guineana - - - Dracma grego - - - Quetzal guatemalteco - - - Lempira hondureño - - - Florín húngaro - - - Libra irlandesa - libra irlandesa - libras irlandesas - - - Rupia india - - - Coroa islandesa - - - Lira italiana - - - Ien xaponés - - - Franco convertible luxemburgués - - - Franco luxemburgués - - - Franco financeiro luxemburgués - - - Dirham marroquí - - - Franco marroquí - - - Peso mexicano - peso mexicano - pesos mexicanos - - - Peso de prata mexicano (1861-1992) - - - Unidade de inversión mexicana - - - Córdoba nicaragüense - - - Córdoba de ouro nicaragüense - - - Florín holandés - - - Coroa norueguesa - - - Balboa panameño - - - Inti peruano - - - Sol novo peruano - - - Sol peruano - - - Peso filipino - - - Escudo portugués - escudo portugués - escudos portugueses - - - Guaraní paraguaio - guaraní do paraguai - guaranís do paraguai - - - Rublo ruso - rublo ruso - rublos rusos - - - Rublo ruso (1991-1998) - - - Coroa sueca - - - Rublo soviético - rublo soviético - rublos soviéticos - - - Colón salvadoreño - colón salvadoreño - colóns salvadoreños - - - Dólar estadounidense - dólar estadounidense - dólares estadounidenses - - - Peso en unidades indexadas uruguaio - - - Peso uruguaio (1975-1993) - - - Peso uruguaio - peso uruguaio - pesos uruguaios - - - Bolívar venezolano - bolívar venezolano - bolívares venezolanos - - - Bolívar forte venezolano - bolívar forte venezolano - bolívares fortes venezolanos - - - Prata - - - Ouro - - - Paladio - - - Platino - - - Unidade monetaria descoñecida ou non válida - unidade monetaria descoñecida ou non válida - unidades monetarias descoñecidas ou non válidas - - - Rand sudafricano - - - - - - {0} día - {0} días - - - {0} hora - {0} horas - - - {0} minuto - {0} minutos - - - {0} mes - {0} meses - - - {0} segundo - {0} segundos - - - {0} semana - {0} semanas - - - {0} ano - {0} anos - - - - - si:s - non:n - - - diff --git a/lib/zend/Zend/Locale/Data/gl_ES.xml b/lib/zend/Zend/Locale/Data/gl_ES.xml deleted file mode 100644 index b7e7bb461f..0000000000 --- a/lib/zend/Zend/Locale/Data/gl_ES.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/gsw.xml b/lib/zend/Zend/Locale/Data/gsw.xml deleted file mode 100644 index 12a123df18..0000000000 --- a/lib/zend/Zend/Locale/Data/gsw.xml +++ /dev/null @@ -1,2920 +0,0 @@ - - - - - - - - - de_CH - - - {0} ({1}) - , - - - Afar - Abchasisch - Aceh - Acholi - Adangme - Adygai - Avestisch - Afrikaans - Afro-Asiatischi Schpraach - Afrihili - Ainu - Akan - Akkadisch - Aleutisch - Algonkin-Schpraach - Süüd-Altaisch - Amharisch - Aragonesisch - Altänglisch - Angika - Apache-Schpraach - Arabisch - Aramääisch - Araukanisch - Arapaho - Künschtlichi Schpraach - Arawak - Assamesisch - Aschturianisch - Athapaskischi Schpraach - Auschtralischi Schpraach - Awarisch - Awadhi - Aymara - Aserbaidschanisch - Baschkirisch - Banda - Bamileke - Belutschisch - Balinesisch - Basaa - Baltischi Schpraach - Wiissrussisch - Bedauye - Bemba - Bärberisch - Bulgaarisch - Bihaarisch - Bhodschpuri - Bislama - Bikolisch - Bini - Blackfoot-Schpraach - Bambara - Bengalisch - Bantu - Tibeetisch - Brötoonisch - Braj-Bhakha - Bosnisch - Batak - Burjatisch - Bugineesisch - Blin - Katalaanisch - Caddo - Zentralamerikanischi Indianerschpraach - Kariibisch - Kaukaasisch - Atsam - Tschetscheenisch - Cebuano - Keltischi Schpraach - Chamorro - Tschibtscha - Tschagataisch - Trukesisch - Tscheremissisch - Chinook - Choctaw - Chipewyan - Cherokee - Cheyenne - Chamischi Schpraach - Korsisch - Koptisch - Änglisch-basierts Kreol oder Pidgin - Französisch-basierts Kreol oder Pidgin - Portugiesisch-basierts Kreol oder Pidgin - Cree - Krimtatarisch - Kreol oder Pidgin - Tschechisch - Kaschubisch - Chileslawisch - Kuschitischi Schpraach - Tschuwaschisch - Walisisch - Tänisch - Takota - Targiinisch - Tajakisch - Tüütsch - Öschtriichischs Tüütsch - Schwiizer Hochtüütsch - Delaware-Schpraach - Slavey - Togrib - Tinka - Togri - Trawidischi Schpraach - Nidersorbisch - Tuala - Mittelniderländisch - Malediivisch - Tiula - Dschongkha - Ewe - Efikisch - Altägyptisch - Ekajuk - Griechisch - Elamisch - Änglisch - Auschtralischs Änglisch - Kanadischs Änglisch - Britischs Änglisch - Amerikanischs Änglisch - Mittelänglisch - Eschperanto - Schpanisch - Latiinamerikanischs Schpanisch - Ibeerischs Schpanisch - Eestnisch - Baskisch - Ewondo - Persisch - Pangwe-Schpraach - Fanti-Schpraach - Ful - Finnisch - Filipino - Finno-ugrischi Schpraach - Fidschianisch - Färöisch - Fon - Französisch - Kanadischs Französisch - Schwiizer Französisch - Mittelfranzösisch - Altfranzösisch - Nordfriesisch - Oschtfriesisch - Friulisch - Friesisch - Iirisch - Ga - Gayo - Gbaya - Schottisch-Gäälisch - Germanischi Schpraach - Geez - Gilbertesisch - Galizisch - Mittelhochtüütsch - Guarani - Althochtüütsch - Gondi - Mongondou - Gotisch - Grebo - Altgriechisch - Schwiizertüütsch - Gujarati - Manx-Gäälisch - Kutchinisch - Haussa - Haida - Hawaiianisch - Hebräisch - Hindi - Hiligaynonisch - Himatschalisch - Hethitisch - Miao - Hiri-Motu - Kroazisch - Obersorbisch - Haitisch - Ungarisch - Hupa - Armenisch - Herero - Interlingua - Ibanisch - Indonesisch - Interlingue - Igbo - Sezuanischs Yi - Ijo - Inupiak - Ilokano - Indoarischi Schpraach - Indogermanischi Schpraach - Inguschisch - Ido - Iranischi Schpraach - Irokesischi Schpraach - Iisländisch - Italiänisch - Inukitut - Japanisch - Lojbanisch - Jüüdisch-Persisch - Jüüdisch-Arabisch - Javanisch - Georgisch - Karakalpakisch - Kabylisch - Kachin-Schpraach - Jju - Kamba - Karenisch - Kawi - Kabardinisch - Tyap - Koro - Kongolesisch - Khasisch - Khoisanisch - Sakisch - Kikuyu-Schpraach - Kwanyama - Kasachisch - Gröönländisch - Kambodschanisch - Kimbundu-Schpraach - Kannada - Koreaanisch - Konkani - Kosraeanisch - Kpelle-Schpraach - Kanuri-Schpraach - Karatschaiisch-Balkarisch - Karelisch - Kru-Schpraach - Oraon-Schpraach - Kaschmirisch - Kurdisch - Kumükisch - Kutenai-Schpraach - Komi-Schpraach - Kornisch - Kirgiisisch - Latiin - Ladino - Lahndanisch - Lambanisch - Luxemburgisch - Lesgisch - Ganda-Schpraach - Limburgisch - Lingala - Laozisch - Mongo - Rotse-Schpraach - Litauisch - Luba - Luba-Lulua - Luiseno-Schpraach - Lunda-Schpraach - Luo-Schpraach - Lushai-Schpraach - Lettisch - Maduresisch - Khotta - Maithili - Makassarisch - Manding-Schpraach - Auschtroneesischi Schpraach - Massai-Schpraach - Mokschamordwinisch - Mandaresisch - Mende-Schpraach - Madagassisch - Mittelirisch - Marschallesisch - Maori - Micmac-Schpraach - Minangkabau-Schpraach - Anderi Schpraach - Mazedonisch - Mon-Khmer-Schpraach - Malayalam - Mongolisch - Mandschurisch - Meithei-Schpraach - Manobo-Schpraach - Moldawisch - Mohawk-Schpraach - Mossi-Schpraach - Marathi - Malaiisch - Maltesisch - Mehrschpraachig - Munda-Schpraach - Muskogee-Schpraach - Mirandesisch - Marwarisch - Birmanisch - Maya-Schpraach - Erzya - Nauruisch - Nahuatl - Nordamerikanischi Indianersprach - Neapolitanisch - Norwegisch Bokmål - Nord-Ndebele-Schpraach - Nidertüütsch - Nepalesisch - Newarisch - Ndonga - Nias-Schpraach - Nigerkordofanischi Schpraach - Niue-Schpraach - Niderländisch - Fläämisch - Norwegisch Nynorsk - Norwegisch - Nogaisch - Altnordisch - N’Ko - Süüd-Ndebele-Schpraach - Nord-Sotho-Schpraach - Nubischi Schpraach - Navajo-Schpraach - Alt-Newari - Chewa-Schpraach - Nyamwezi-Schpraach - Nyankole - Nyoro - Nzima - Okzitanisch - Ojibwa-Schpraach - Oromo - Orija - Ossezisch - Osage-Schpraach - Osmanisch - Otomangue-Schpraach - Pandschabisch - Papua-Schpraach - Pangasinanisch - Mittelpersisch - Pampanggan-Schpraach - Papiamento - Palau - Altpersisch - Philippine-Austronesischi Schpraach - Phönikisch - Pali - Polnisch - Ponapeanisch - Prakrit - Altprovenzalisch - Paschtu - Portugiisisch - Brasilianischs Portugiisisch - Iberischs Portugiisisch - Quechua - Rajasthani - Oschterinsel-Schpraach - Rarotonganisch - Rätoromanisch - Rundi-Schpraach - Rumänisch - Romanischi Schpraach - Zigüünerschpraach - Root - Russisch - Aromunisch - Ruandisch - Sanschkrit - Sandawe-Schpraach - Jakutisch - Süüdamerikanischi Indianerschpraach - Salish-Schpraach - Samaritanisch - Sasak - Santali - Sardisch - Sizilianisch - Schottisch - Sindhi - Nord-Samisch - Selkupisch - Semitischi Schpraach - Sango - Altirisch - Gebäärdeschpraach - Serbo-Kroatisch - Schan-Schpraach - Singhalesisch - Sidamo - Sioux-Schpraach - Sinotibetischi Schpraach - Slowakisch - Slowenisch - Slawischi Schpraach - Samoanisch - Süüd-Samisch - Samisch - Lule-Samisch - Inari-Samisch - Skolt-Samisch - Schhona - Soninke-Schpraach - Somali - Sogdisch - Songhai-Schpraach - Albanisch - Serbisch - Srananisch - Serer-Schpraach - Swazi - Nilosaharanischi Schpraach - Süüd-Sotho-Schpraach - Sundanesisch - Sukuma-Schpraach - Susu - Sumerisch - Schwedisch - Suaheli - Altsyrisch - Syrisch - Tamilisch - Thaischpraache - Telugu - Temne - Tereno-Schpraach - Tetum-Schpraach - Tadschikisch - Thailändisch - Tigrinja - Tigre - Tiv-Schpraach - Turkmenisch - Tokelauanisch - Tagalog - Klingonisch - Tlingit-Schpraach - Tamaseq - Tswana-Schpraach - Tongaisch - Tsonga-Schpraach - Neumelanesisch - Türkisch - Tsonga - Tsimshian-Schpraach - Tatarisch - Tumbuka-Schpraach - Tupi-Schpraache - Altaischi Schpraachä - Elliceanisch - Twi - Tahitisch - Tuwinisch - Udmurtisch - Uigurisch - Ugaritisch - Ukrainisch - Mbundu-Schpraach - Unbeschtimmti Schpraach - Urdu - Usbekisch - Vai-Schpraach - Venda-Schpraach - Vietnamesisch - Volapük - Wotisch - Wallonisch - Wakashanisch - Walamo-Schpraach - Waray - Washo-Schpraach - Sorbisch - Wolof - Kalmückisch - Xhosa - Yao-Schpraach - Yapesisch - Jiddisch - Yoruba - Yupik-Schpraach - Zhuang - Zapotekisch - Bliss-Symbool - Zenaga - Chineesisch - Veräifachts Chineesisch - Tradizionells Chineesisch - Zande-Schpraach - Zulu - Zuni-Schpraach - Kän schpraachliche Inhalt - Zaza - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wält - Afrika - Nordameerika - Süüdameerika - Ozeaanie - Weschtafrika - Mittelameerika - Oschtafrika - Nordafrika - Zentraalafrika - Süüdlichs Afrika - Nord-, Mittel- und Süüdameerika - Nördlichs Ameerika - Karibik - Oschtaasie - Süüdaasie - Süüdoschtaasie - Süüdeuropa - Auschtraalie und Nöiseeland - Melaneesie - Mikroneesischs Inselgebiet - Polineesie - Süüd-Zentraalaasie - Aasie - Zentraalaasie - Weschtaasie - Euroopa - Oschteuroopa - Nordeuroopa - Weschteuroopa - Gmäinschaft vo Unabhängige Schtaate - Latiinameerika und Karibik - Kanaalinsle - Andorra - Veräinigti Arabischi Emiräät - Afganischtan - Antigua und Barbuda - Anguilla - Albaanie - Armeenie - Niderländischi Antille - Angoola - Antarktis - Argentiinie - Amerikaanisch-Samoa - Ööschtriich - Auschtraalie - Aruba - Aaland-Insle - Aserbäidschan - Bosnie und Herzegowina - Barbados - Bangladesch - Belgie - Burkina Faaso - Bulgaarie - Bachräin - Burundi - Benin - St. Barthelemi - Bermuuda - Brunäi Tarussalam - Boliivie - Brasilie - Bahaamas - Bhutan - Bouvet-Insle - Botswana - Wiissrussland - Belize - Kanada - Kokos-Insle - Temokraatischi Republik Kongo - Zentraalafrikaanischi Republik - Kongo - Schwiiz - Elfebäiküschte - Cook-Insle - Tschile - Kamerun - Chiina - Kolumbie - Coschta Rica - Särbie und Monteneegro - Kuba - Kap Verde - Wienachts-Insle - Tsüpere - Tschechischi Republik - Tüütschland - Tschibuuti - Tänemark - Tominica - Tominikaanischi Republik - Algeerie - Ecuador - Eestland - Ägüpte - Weschtsahara - Äritreea - Schpanie - Äzioopie - Finnland - Fitschi - Falkland-Insle - Mikroneesie - Färöer - Frankriich - Gabun - Veräinigts Chönigriich - Grenada - Geoorgie - Französisch-Guäjaana - Gäärnsi - Gaana - Gibraltar - Gröönland - Gambia - Gineea - Guadälup - Äquatoriaalgineea - Griecheland - Süüdgeorgie und d’süüdlichi Sändwitsch-Insle - Guatemaala - Guam - Gineea-Bissau - Guäjaana - Sonderverwaltigszone Hongkong - Höörd- und MäcDonald-Insle - Honduras - Kroaazie - Haiti - Ungarn - Indoneesie - Irland - Israel - Insle vo Män - Indie - Britischs Territoorium im Indische Oozean - Iraak - Iraan - Iisland - Itaalie - Dschörsi - Dschamäika - Jordaanie - Japan - Keenia - Kirgiisischtan - Kambodscha - Kiribaati - Komoore - St. Kitts und Niuwis - Demokraatischi Volksrepublik Koreea - Republik Koreea - Kuwäit - Käimän-Insle - Kasachschtan - Laaos - Libanon - Sankta Lutschiia - Liächteschtäi - Schri Lanka - Libeeria - Lesooto - Littaue - Luxemburg - Lettland - Lüübie - Marokko - Monaco - Republik Moldau - Monteneegro - St. Martin - Madagaschkar - Marshallinsle - Mazedoonie - Maali - Müanmar - Mongolei - Sonderverwaltigszone Macao - Nördlichi Mariaane - Martinigg - Mauretaanie - Moosörrat - Malta - Mauriizius - Malediiwe - Malaawi - Mexiko - Malaisia - Mosambik - Namiibia - Nöikaledoonie - Niger - Norfolk-Insle - Nigeeria - Nicaraagua - Niderland - Norweege - Neepal - Nauru - Niue - Nöiseeland - Omaan - Panama - Peru - Französisch-Polineesie - Papua-Neuguinea - Philippiine - Pakischtan - Poole - St. Pierr und Miggelo - Pitggäärn - Puerto Riggo - Paläschtinänsischi Gebiet - Portugal - Palau - Paraguai - Ggatar - Üssers Ozeaanie - Europääischi Unioon - Reünioon - Rumäänie - Särbie - Russischi Föderazioon - Ruanda - Saudi-Araabie - Salomoone - Seischälle - Sudan - Schweede - Singapuur - St. Helena - Sloweenie - Svalbard und Jaan Määie - Slowakäi - Sierra Leoone - San Mariino - Senegal - Somaalia - Surinam - Sao Tome und Prinssipe - El Salvador - Süürie - Swasiland - Törks- und Gaiggos-Insle - Tschad - Französischi Süüd- und Antarktisgebiet - Toogo - Thailand - Tadschikischtan - Tokelau - Oschttimor - Turkmeenischtan - Tuneesie - Tonga - Türggei - Trinidad und Tobaago - Tuvalu - Taiwan - Tansaniia - Ukraiine - Uganda - Amerikanisch-Ozeaanie - Veräinigti Schtaate - Uruguay - Uschbeekischtan - Vatikanstadt - Sankt Wässä und d’Grönadiine - Venezueela - Britischi Jungfere-Insle - Amerikaanischi Jungfere-Insle - Wietnam - Wanuatu - Wallis und Futuuna - Samooa - Jeeme - Majott - Süüdafrika - Sambia - Simbabwe - Unbekannti oder ungültigi Regioon - - - Alti tüütschi Rächtschriibig - Schtandardisierti Resianischi Rächtschriibig - Nööi tüütschi Rächtschriibig - Schpaats Mittelfranzösisch - Oschtarmeenisch - Weschtarmeenisch - Äinheitlichs Türggischs Alfabeet - Bela-Tialäkt - Boontling - Foneetisch (IPA) - Foneetisch (UPA) - Lipowaz-Mundart - Monotonisch - Natisone-Mundart - Njiva-Mundart - Osojane-Mundart - Politonisch - Posix - Nööi Rächtschriibig - Resianisch - Saho - Schottischs Schtandardänglisch - Scouse-Mundart - Solbica-Mundart - Taraskievica-Rächtschriibig - - - Kaländer - Sortiirig - Wäährig - - - Tradizionells Chineesisch - Big5 - Buddhischtisch Kaländer - Chineesisch Kaländer - Diräkti Sortiir-Regle - Veräifachts Chineesisch - GB2312 - Gregoriaanisch Kaländer - Hebrääisch Kaländer - Indisch Nationaalkaländer - Islaamisch Kaländer - Bürgerlich islaamisch Kaländer - Japaanisch Kaländer - Telifonbuech-Sortiirregle - Pinyin-Sortiirregle - Kaländer vor Republik Chiina - Strichfolg - Tradizionelli Sortiir-Regle - - - angloamerikaanisch - metrisch - - - Schpraach: {0} - Schrift: {0} - Regioon: {0} - - - - titlecase-words - titlecase-words - titlecase-words - titlecase-words - titlecase-words - titlecase-words - - - [a ä b-o ö p-u ü v-z] - [á à ă â å ä ā æ ç é è ĕ ê ë ē í ì ĭ î ï ī ñ ó ò ŏ ô ö ø ō œ ß ú ù ŭ û ü ū ÿ] - [a-z] - - - « - » - ‹ - › - - - - - vorm. - nam. - - - - EEEE d. MMMM y G - - - - - d. MMMM y G - - - - - d. MMM y G - - - - - d.M.yyyy - - - - - - vorm. - nam. - - - vorm. - nam. - - - - - - Jan - Feb - Mär - Apr - Mai - Jun - Jul - Aug - Sep - Okt - Nov - Dez - - - Januar - Februar - März - April - Mai - Juni - Juli - Auguscht - Septämber - Oktoober - Novämber - Dezämber - - - - - Mär - Jul - Aug - Sep - Okt - Nov - Dez - - - J - F - M - A - M - J - J - A - S - O - N - D - - - - - - - Su. - Mä. - Zi. - Mi. - Du. - Fr. - Sa. - - - Sunntig - Määntig - Ziischtig - Mittwuch - Dunschtig - Friitig - Samschtig - - - - - S - M - D - M - D - F - S - - - - - - - Q1 - Q2 - Q3 - Q4 - - - 1. Quartal - 2. Quartal - 3. Quartal - 4. Quartal - - - - - 1 - 2 - 3 - 4 - - - - vorm. - nam. - - - v. Chr. - n. Chr. - - - v. Chr. - n. Chr. - - - - - - EEEE, d. MMMM y - - - - - d. MMMM y - - - - - dd.MM.yyyy - - - - - dd.MM.yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - E d. - H - HH:mm - HH:mm:ss - H:mm - L - E, d.M. - LLL - E d. MMM - E d. MMMM - d. MMMM - dd. MMMM - d. MMM - d.MM. - dd.MM. - d.M. - d - mm:ss - mm:ss - y - yyyy-M - EEE, yyyy-M-d - MMM y - EEE, d. MMM y - MMMM y - Q yyyy - QQQ y - MM.yy - MMM yy - dd.MM.yy - Q yy - QQQQ yy - y - MMMM y - - - {0} – {1} - - M.-M. - - - E, dd.MM. - E, dd.MM. - E, dd.MM. - E, dd.MM. - - - MMM-MMM - - - E, d. MMM - E, d. MMM - E, d. - E, d. MMM - - - LLLL-LLLL - - - d. MMM - d. MMM - d.-d. MMM - - - dd.MM. - dd.MM. - dd.MM. - dd.MM. - - - d.-d. - - - HH-HH - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - HH-HH v - - - y-y - - - MM.yy - MM.yy - MM.yy - MM.yy - - - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - - - MMM-MMM y - MMM y - MMM y - - - E, d. MMM - E, d. MMM y - E, d. - E, d. MMM y - E, d. MMM y - E, d. MMM y - - - MM – MM.yyyy - MM.yyyy – MM.yyyy - - - d. MMM - d. MMM y - d.-d. MMM y - d. MMM y - d. MMM y - - - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - - - - - - Epoche - - - Jaar - - - Monet - - - Wuche - - - Tag - vor drü Tääg - vorgeschter - geschter - hüt - moorn - übermoorn - i drü Tääg - - - Wuchetag - - - Tageshälfti - - - Schtund - - - Minuute - - - Sekunde - - - Zone - - - - - vorm. - nam. - - - vorm. - nam. - - - - +HH:mm;-HH:mm - GMT{0} - {0} - {1} ({0}) - - Unbekannt - - - Tirana - - - Erivan - - - Curaçao - - - Süüdpol - - - Woschtok - - - Dumont D'Urville - - - Wien - - - Brüssel - - - Wagadugu - - - Bermudas - - - Züri - - - Oschterinsle - - - Havanna - - - Kap Verde - - - Wienachts-Insle - - - Nikosia - - - Dschibuti - - - Kopehage - - - Algier - - - Kairo - - - El Aaiún - - - Kanare - - - Addis Abeba - - - Fidschi - - - Färöer - - - Tiflis - - - Akkra - - - Ittoqqortoormiit - - - Athen - - - Süüd-Georgie - - - Hongkong - - - Bagdad - - - Teheran - - - Rom - - - Jamaika - - - Tokio - - - Bischkek - - - Komore - - - St. Kitts - - - Pjöngjang - - - Kaimaninsle - - - Aktobe - - - St. Lucia - - - Wilna - - - Luxemburg - - - Kischinau - - - Ulan-Baator - - - Macao - - - Maledive - - - Mexiko-Schtadt - - - Niger - - - Muschkat - - - Warschau - - - Azore - - - Lissabon - - - Asunción - - - Katar - - - Réunion - - - Bukarescht - - - Moskau - - - Jekaterinburg - - - Nowosibirsk - - - Krasnojarsk - - - Jakutsk - - - Wladiwostok - - - Sachalin - - - Kamtschatka - - - Riad - - - Khartum - - - Singapur - - - St. Helena - - - Mogadischu - - - São Tomé - - - Salvador - - - Damaskus - - - Duschanbe - - - Port-of-Spain - - - Taipeh - - - Daressalam - - - Uschgorod - - - Kiew - - - Saporischja - - - Knox - - - Taschkent - - - St. Vincent - - - St. Thomas - - - - Acre-Ziit - Acre-Summerziit - - - - - Afghanischtan-Ziit - - - - - Zentralafrikanischi Ziit - - - - - Oschtafrikanischi Ziit - - - - - Süüdafrikanischi Ziit - Süüdafrikanischi Schtandardziit - - - - - Weschtafrikanischi Ziit - Weschtafrikanischi Summerziit - - - - - Aktyubinsk-Ziit - Aktyubinsk-Summerziit - - - - - Alaska-Ziit - Alaska-Schtandardziit - - true - - - - Alaska-Hawaii-Ziit - Alaska-Hawaii-Schtandardziit - - - - - Almaty-Ziit - Almaty-Summerziit - - - - - Amazonas-Summerziit - - - - - Mitteleuropäischi Ziit - Mitteleuropäischi Summerziit - - - MEZ - MESZ - - true - - - - Oschteuropäischi Ziit - Oschteuropäischi Summerziit - - - OEZ - OESZ - - - - - Weschteuropäischi Ziit - Weschteuropäischi Summerziit - - - WEZ - WESZ - - - - - Moskauer Ziit - Moskauer Summerziit - - - - - - - . - ’ - ; - % - 0 - # - + - − - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0 % - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - - - - Andorranischi Peseete - Andorranischi Peseete - - - UAE Dirham - UAE Dirhäm - - - Afghani (1927-2002) - Afghani (1927-2002) - - - Afghani - Afghani - - - Lek - Lek - - - Dram - Dräm - - - Niderländischi-Antille-Gulde - - - Kwanza - - - Angolanische Kwanza (1977-1990) - Angolanischi Kwanza (1977-1990) - - - Nöie Kwanza - Nöii Kwanza - - - Kwanza Reajustado - - - Argentinische Auschtral - Argentinischi Auschtral - - - Argentinische Peso (1983-1985) - Argentinischi Peso (1983-1985) - - - Argentinische Peso - Argentinischi Peso - - - Öschtriichische Schilling - Öschtriichischi Schilling - öS - - - Auschtralische Dollar - Auschtralischi Dollar - - - Aruba Florin - Aruba Florin - - - Aserbeidschanische Manat (1993-2006) - Aserbaidschanischi Manat (1993-2006) - - - Aserbeidschanische Manat - Aserbeidschanischi Manat - - - Bosnie-und-Herzegowina-Dinar - Bosnie-und-Herzegowina-Dinär - - - Konvertierbari Mark vo Bosnie und Herzegowina - - - Barbados-Dollar - Barbados-Dollar - - - Taka - Taka - - - Belgische Franc (konvertibel) - Belgischi Franc (konvertibel) - - - Belgische Franc - Belgischi Franc - - - Belgische Finanz-Franc - Belgischi Finanz-Franc - - - Lew (1962-1999) - Lewa (1962-1999) - - - Bulgarische Lew - Bulgarischi Lew - - - Bahrain-Dinar - Bahrain-Dinar - - - Burundi-Franc - Burundi-Franc - - - Bermuda-Dollar - Bermuda-Dollar - - - Brunei-Dollar - Brunei-Dollar - - - Boliviano - Boliviano - - - Bolivianische Peso - Bolivianischi Peso - - - Bolivianische Mvdol - Bolivianischi Mvdol - - - Brasilianische Cruzeiro Novo (1967-1986) - Brasilianischi Cruzeiro Novo (1967-1986) - - - Brasilianische Cruzado - Brasilianischi Cruzado - - - Brasilianische Cruzeiro (1990-1993) - Brasilianischi Cruzeiro (BRE) - - - Brasilianische Real - Brasilianischi Real - - - Brasilianische Cruzado Novo - Brasilianischi Cruzado Novo - - - Brasilianische Cruzeiro - Brasilianischi Cruzeiro - - - Bahama-Dollar - Bahama-Dollar - - - Bhutanische Ngultrum - Bhutanischi Ngultrum - - - Birmanische Kyat - Birmanischi Kyat - - - Botswanische Pula - Botswanischi Pula - - - Belarus-Rubel (alt) - Belarus-Rubel (alt) - - - Belarus Rubel (nöi) - Belarus-Rubel (nöi) - - - Belize-Dollar - - - Kanadische Dollar - Kanadischi Dollar - - - Franc congolais - Francs congolais - - - WIR-Euro - - - Schwiizer Franke - Schwiizer Franke - - - WIR-Franke - WIR-Franke - - - Tschileenische Unidad de Fomento - Tschileenischi Unidades de Fomento - - - Tschileenische Peso - Tschileenischi Pesos - - - Renminbi Yuan - - - Kolumbianische Peso - Kolumbianischi Pesos - - - Unidad de Valor Real - Unidad de Valor Real - - - Costa Rica Colon - Costa Rica Colon - - - Alte Serbische Dinar - Alti Serbischi Dinar - - - Tschechoslowakischi Chroone - Tschechoslowakischi Chroone - - - Kubanische Peso - Kubanischi Pesos - - - Kap Verde Escudo - Kap Verde Escudo - - - Zypere-Pfund - - - Tschechischi Chroone - Tschechischi Chroone - - - DDR-Mark - DDR-Mark - - - Tüütschi Mark - Tüütschi Mark - - - Dschibuti-Franc - Dschibuti-Franc - - - Tänischi Chroone - Tänischi Chroone - - - Tominikanische Peso - Tominikanischi Pesos - - - Algeerischi Dinar - Algeerischi Dinar - - - Ecuadorianische Sucre - Ecuadorianischi Sucre - - - Verrächnigsäiheit für EC - Verrächnigsäiheit für EC - - - Eestnischi Chroone - Eestnischi Chroone - - - Ägüptischs Pfund - Ägüptischi Pfund - - - Eritreische Nakfa - Eritreischi Nakfa - - - Schpanischi Peseeta (A-Kontene) - Schpanischi Peseete (A-Kontene) - - - Schpanischi Peseeta (konvertibel) - Schpanischi Peseete (konvertibel) - - - Schpanischi Peseeta - Schpanischi Peseete - - - Äthiopische Birr - Äthiopischi Birr - - - Euro - Euro - - - Finnischi Mark - Finnischi Mark - - - Fidschi Dollar - Fidschi Dollar - - - Falkland-Pfund - Falkland-Pfund - - - Französische Franc - Französischi Franc - - - Pfund Schtörling - Pfund Schtörling - - - Georgische Kupon Larit - Georgischi Kupon Larit - - - Georgische Lari - Georgischi Lari - - - Ghanaische Cedi (GHC) - Ghanaischi Cedi (GHC) - - - Ghanaische Cedi (GHS) - Ghanaischi Cedi (GHS) - - - Gibraltar-Pfund - Gibraltar-Pfund - - - Gambische Dalasi - Gambischi Dalasi - - - Guinea-Franc - Guinea-Franc - - - Guineische Syli - Guineischi Syli - - - Äquatorialguinea-Ekwele - Äquatorialguinea-Ekwele - - - Griechische Trachme - Griechischi Trachme - - - Quetzal - Quetzal - - - Portugiisische Guinea Escudo - Portugiisischi Guinea Escudo - - - Guinea-Bissau-Peso - Guinea-Bissau-Pesos - - - Guyana-Dollar - Guyana0Dollar - - - Hongkong-Dollar - Hongkong-Dollar - - - Lempira - Lempira - - - Kroazische Dinar - Kroazischi Dinar - - - Kuna - Kuna - - - Gourde - Gourde - - - Forint - Forint - - - Rupie - Rupie - - - Iirischs Pfund - Iirischi Pfund - - - Israelischs Pfund - Israelischi Pfund - - - Schekel - Schekel - - - Indischi Rupie - Indischi Rupie - - - Irak-Dinar - Irak-Dinar - - - Rial - Rial - - - Iisländischi Chroone - Iisländischi Chroone - - - Italiänischi Lira - Italienischi Lire - ₤ - - - Jamaika-Dollar - Jamaika-Dollar - - - Jordaanische Dinar - Jordaanischi Dinar - - - Yen - Yen - ¥ - - - Kenia-Schilling - Kenia-Schilling - - - Som - Som - - - Riel - Riel - - - Komore-Franc - Komore-Franc - - - Nordkoreanische Won - Nordkoreanischi Won - - - Süüdkoreanische Won - Süüdkoreanischi Won - - - Kuwait-Dinar - Kuwait-Dinar - - - Kaiman-Dollar - Kaiman-Dollar - - - Tenge - Tenge - - - Kip - Kip - - - Libaneesischs Pfund - Libaneesischi Pfund - - - Sri-Lanka-Rupie - Sri-Lanka-Rupie - - - Liberiaanische Dollar - Liberiaanischi Dollar - - - Loti - Loti - - - Litauische Litas - Litauischi Litas - - - Litauische Talonas - Litauischi Talonas - - - Luxemburgische Franc (konvertibel) - Luxemburgischi Franc (konvertibel) - - - Luxemburgische Franc - Luxemburgischi Franc - - - Luxemburgischer Finanz-Franc - Luxemburgischi Finanz-Franc - - - Lettische Lats - Lettischi Lats - - - Lettische Rubel - Lettischi Rubel - - - Lüübische Dinar - Lüübischi Dinar - - - Marokkanische Dirham - Marokkanischi Dirham - - - Marokkanischer Franc - Marokkanische Franc - - - Moldau-Löi - Moldau-Löi - - - Madagaschkar-Ariary - Madagaschkar-Ariary - - - Madagaschkar-Franc - Madagaschkar-Franc - - - Denar - Denar - - - Malische Franc - Malischi Franc - - - Kyat - Kyat - - - Tugrik - Tugrik - - - Pataca - Pataca - - - Ouguiya - Ouguiya - - - Malteesischi Lira - Malteesischi Lira - - - Malteesischs Pfund - Malteesischi Pfund - - - Maurizius-Rupie - Maurizius-Rupie - - - Rufiyaa - Rufiyaa - - - Malawi-Kwacha - Malawi-Kwacha - - - Mexikanische Peso - Mexikanischi Pesos - - - Mexikanische Silber-Peso (1861-1992) - Mexikanischi Silber-Pesos (MXP) - - - Mexikanische Unidad de Inversion (UDI) - Mexikanischi Unidad de Inversion (UDI) - - - Malaysische Ringgit - Malaysischi Ringgit - - - Mosambikanische Escudo - Mozambikanischi Escudo - - - Alte Metical - Alti Metical - - - Metical - Metical - - - Namibia-Dollar - Namibia-Dollar - - - Naira - Naira - - - Cordoba - Cordoba - - - Gold-Cordoba - Gold-Cordoba - - - Holländische Gulde - Holländischi Gulde - - - Norweegischi Chroone - Norweegischi Chroone - - - Nepaleesischi Rupie - Nepalesischi Rupie - - - Neuseeland-Dollar - Neuseeland-Dollar - - - Rial Omani - Rial Omani - - - Balboa - Balboa - - - Peruanische Inti - Peruanischi Inti - - - Nöie Sol - Nöii Sol - - - Sol - Sol - - - Kina - Kina - - - Philippiinische Peso - Philippiinischi Peso - - - Pakischtanischi Rupie - Pakischtanischi Rupie - - - Zloty - Zloty - - - Zloty (1950-1995) - Zloty (1950-1995) - - - Portugiisische Escudo - Portugiisischi Escudo - - - Guarani - Guarani - - - Katar-Riyal - Katar-Riyal - - - Rhodesische Dollar - Rhodesischi Dollar - - - Löi - Löi - - - Rumäänische Löi - Rumäänischi Löi - - - Serbische Dinar - Serbischi Dinar - - - Russische Rubel (nöi) - Russischi Rubel (nöi) - - - Russische Rubel (alt) - Russischi Rubel (alt) - - - Ruanda-Franc - Ruanda-Franc - - - Saudi-Riyal - Saudi-Riyal - - - Salomone-Dollar - Salomone-Dollar - - - Seyschelle-Rupie - Seyschelle-Rupien - - - Sudaneesische Dinar - Sudaneesischi Dinar - - - Sudaneesischs Pfund - Sudaneesischi Pfund - - - Sudaneesischs Pfund (alt) - Sudaneesischi Pfund (alt) - - - Schweedischi Chroone - Schwedischi Chroone - - - Singapur-Dollar - Singapur-Dollar - - - St.-Helena-Pfund - St.-Helena-Pfund - - - Tolar - Tolar - - - Slowakischi Chroone - Slowakischi Chroone - - - Leone - Leone - - - Somalia-Schilling - Somalia-Schilling - - - Surinamische Dollar - Surinamischi Dollar - - - Surinamische Gulde - Surinamischi Gulde - - - Dobra - Dobra - - - Sowjetische Rubel - Sowjetischi Rubel - - - El-Salvador-Colon - El-Salvador-Colon - - - Süürischs Pfund - Süürischi Pfund - - - Lilangeni - Lilangeni - - - Baht - Baht - - - Tadschikischtan-Rubel - Tadschikischtan-Rubel - - - Tadschikischtan-Somoni - Tadschikischtan-Somoni - - - Turkmeenischtan-Manat - Turkmeenischtan-Manat - - - Tuneesische Dinar - Tuneesischi Dinar - - - Paʻanga - Paʻanga - - - Timor-Escudo - Timor-Escudo - - - Türkischi Liire - Türkischi Liira - Türkischi Liire - - - Nöii Türkischi Liire - Nöii Türkischi Liira - Nöii Türkischi Liire - - - Trinidad-und-Tobago-Dollar - Trinidad-und-Tobago-Dollar - - - Nöii Taiwan-Dollar - Nöie Taiwan-Dollar - Nöii Taiwan-Dollar - - - Tansania-Schilling - Tansania-Schilling - - - Hryvnia - Hryvnia - - - Ukraiinische Karbovanetz - Ukraiinischi Karbovanetz - - - Uganda-Schilling (1966-1987) - Uganda-Schilling (1966-1987) - - - Uganda-Schilling - Uganda-Schilling - - - US-Dollar - US-Dollar - $ - - - US Dollar (Nöchschte Taag) - US-Dollar (Nöchschte Taag) - - - US Dollar (Gliiche Taag) - US-Dollar (Gliiche Taag) - - - Uruguayische Nöie Peso (1975-1993) - Uruguayischi Nöii Pesos (1975-1993) - - - Uruguayische Peso - Uruguayischi Pesos - - - Usbeekischtan-Sum - Usbeekischtan-Sum - - - Bolivar - Bolivar - - - Bolívar Fuerte - - - Dong - - - Vatu - Vatu - - - Tala - Tala - - - CFA-Franc (Äquatoriaal) - CFA-Franc (Äquatoriaal) - - - Silber - Silber - - - Gold - Gold - - - Europääischi Rächnigseinheit - Europääischi Rächnigseinheite - - - Europääischi Währigseinheit (XBB) - Europääischi Währigseinheite (XBB) - - - Europääischi Rächnigseinheit (XBC) - Europääischi Rächnigseinheite (XBC) - - - Europääischi Rächnigseinheit (XBD) - Europääischi Rächnigseinheite (XBD) - - - Oschtkaribische Dollar - Oschtkaribischi Dollar - - - Sunderziäigsrächt - Sunderziäigsrächt - - - Europääischi Währigseinheit (XEU) - Europääischi Währigseinheite (XEU) - - - Französische Gold-Franc - Französischi Gold-Franc - - - Französische UIC-Franc - Französischi UIC-Franc - - - CFA-Franc (Wescht) - CFA-Franc (Wescht) - - - Palladium - Palladium - - - CFP-Franc - CFP-Franc - - - Platin - Platin - - - RINET-Funds - RINET-Funds - - - Teschtwährig - Teschtwährig - - - Unbekannti Währig - Unbekannti Währig - Unbekannti Währig - - - Jeme-Dinar - Jeme-Dinar - - - Jeme-Rial - Jeme-Rial - - - Jugoslawische Dinar (1966-1990) - Jugoslawischi Dinar (1966-1990) - - - Nöii Dinar - Nöie Dinar - Nöii Dinar - - - Jugoslawische Dinar (konvertibel) - Jugoslawischi Dinar (konvertibel) - - - Rand - Rand - - - Kwacha - Kwacha - - - Nöie Zaire - Nöii Zaire - - - Zaire - Zaire - - - Simbabwe-Dollar - Simbabwe-Dollar - - - - - - {0} Taag - {0} Tääg - - - {0} Schtund - {0} Schtunde - - - {0} Minuute - {0} Minuute - - - {0} Monet - {0} Mönet - - - {0} Sekunde - {0} Sekunde - - - {0} Wuche - {0} Wuche - - - {0} Jahr - {0} Jahr - - - - - ja:j - näi:n - - - - diff --git a/lib/zend/Zend/Locale/Data/gsw_CH.xml b/lib/zend/Zend/Locale/Data/gsw_CH.xml deleted file mode 100644 index 3897bc2222..0000000000 --- a/lib/zend/Zend/Locale/Data/gsw_CH.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/gu.xml b/lib/zend/Zend/Locale/Data/gu.xml deleted file mode 100644 index c901ff54ae..0000000000 --- a/lib/zend/Zend/Locale/Data/gu.xml +++ /dev/null @@ -1,1160 +0,0 @@ - - - - - - - - - - - અફાર - અબખાજિયન - અચીની - અકોલી - અદાંગ્મી - અદિઘે - અવેસ્તન - આફ્રિકન્સ - અફ્રો-એશિયાટીક ભાષાઓ - અફ્રિહિલી - એનૂ - અકન - અક્કાદીયાન - અલેઉત - એલ્ગોક્વિયન ભાષા - દક્ષિણ અલ્તાઇ - એમ્હારિક - અર્ગોનીઝ - જુની અંગ્રેજી - અંગીકા - અપાચે ભાષા - અરબી - અર્માઇક - એરોકૈનિયન - અરાપાહો - કૃત્રિમ ભાષા - અરાવક - આસામી - અસ્તુરિયન - અથાપાસ્કાન ભાષા - ઓસ્ટ્રેલિયન ભાષા - અવેરિક - અવધી - આયમારા - અઝરબૈજાની - બષ્ખિર - બાંદા - બમિલેકે ભાષા - બલૂચી - બાલિનીસ - બસા - બાલ્ટિક ભાષા - બેલારુશિયન - બેજા - બેમ્બા - બર્બર - બલ્ગેરિયન - બિહારી - ભોજપુરી - બિસ્લામા - બિકોલ - બિની - સિક્સિકા - બામ્બારા - બંગાળી - બન્ટુ - તિબેટી - બ્રેટોન - બ્રજ - બોસ્નિયન - બતાક - બુરિયાત - બગિનીસ - બ્લિન - કતલાન - કડ્ડો - મધ્ય અમેરિકન ઇંડિયન ભાષા - કરિબ - કાકેશિયન ભાષા - અત્સમ - ચેચન - સિબુઆનો - સેલ્ટિક ભાષા - કેમોરો - ચિબ્ચા - છગાતાઇ - ચૂકીસે - મારી - ચિનૂક જાર્ગન - ચોક્તૌ - શિપેવ્યાન - શેરોકી - શેયેન્ન - ચાર્મિક ભાષા - કોર્સિકન - કોપ્ટિક - અંગ્રેજી આધારિત ક્રેઓલ અથવા પિજિન - ફ્રેંચ આધારિત ક્રેઓલ અથવા પિજિન - પાર્ટુગીઝ આધારિત ક્રેઓલ અથવા પિજિન - ક્રી - ક્રિમીન તુર્કી - ક્રેઓલ અથવા પિજિન - ચેક - કાશુબિયન - ચર્ચ સ્લાવિક - કુશિતિક ભાષા - ચૂવાશ - વેલ્શ - ડેનિશ - દાકોતા - દાર્ગવા - દાયક - જર્મન - ઓસ્ટ્રિઅન જર્મન - સ્વિસ હાય જર્મન - દેલેવેર - સ્લેવ - ડોગ્રિબ - દિન્કા - ડોગ્રી - દ્રવિડિઅન ભાષા - નિમ્ન સોર્બિયન - દુઆલા - મધ્ય ડચ - દિવેહી - ડ્યુલા - ઝોંગખા - ઇવે - એફિક - પ્રાચીન ઇજીપ્શિયન - એકાજુક - ગ્રીક - એલામાઇટ - અંગ્રેજી - ઓસ્ટ્રેલિયન અંગ્રેજી - કેનેડિયન ફ્રેંચ - બ્રિટિશ અંગ્રેજી - યુ એસ અંગ્રેજી - મિડિલ અંગ્રેજી - એસ્પેરાન્ટો - સ્પેનિશ - લેટિન અમેરિકન સ્પેનિશ - ઇબેરિયન સ્પેનિશ - એસ્ટોનિયન - બાસ્ક - ઇવોન્ડો - પર્શિયન - ફેંગ - ફન્ટી - ફુલાહ - ફિનિશ - ફિલિપિનો - ફિન્નો-ઉગ્રીયન ભાષા - ફિજીયન - ફોરિસ્ત - ફોન - ફ્રેન્ચ - સ્વિસ ફ્રેંચ - મિડિલ ફ્રેંચ - જૂની ફ્રેંચ - નોર્ધર્ન ફ્રિશિયન - પૂર્વ ફ્રિશિયન - ફ્રિયુલિયાન - પશ્ચિમી ફ્રિશિયન - આઇરિશ - ગા - ગાયો - બાયા - સ્કોટ્સ ગેલિક - જર્મેનિક ભાષા - ગીઝ - જિલ્બરટીઝ - ગેલિશિયન - મધ્ય હાઇ જર્મન - ગુઆરાની - જૂની હાઇ જર્મન - ગોંડી - ગોરોન્તાલો - ગોથિક - ગ્રેબો - પ્રાચીન ગ્રીક - સ્વિસ જર્મન - ગુજરાતી - માંક્સ - ગ્વિચ'ઇન - હૌસા - હૈડા - હાવાઇયન - હીબ્રુ - હિન્દી - હિલિગેનોન - હિમાચલી - હિટ્ટિતે - મોંગ - હિરી મોટૂ - ક્રોએશિયન - અપ્પર સોર્બિયન - હૈતીયન - હંગેરિયન - હૂપા - આર્મેનિયન - હેરેરો - ઇંટરલિંગુઆ - ઇબાન - ઇન્ડોનેશિયન - ઇંટરલિંગ - સિચુઆન યી - ઇજો - ઇનુપિયાક - ઇલોકો - ભારતીય ભાષા - ઇંડો-યુરોપીયન ભાષા - ઇંગુશ - ઇડૌ - ઇરાની ભાષા - ઇરોક્વોઇયન ભાષા - આઇસલેન્ડિક - ઇટાલિયન - ઇનુકિટૂટ - જાપાનીઝ - લોજ્બાન - જુદેઓ-પર્શિયન - જુદેઓ-અરબી - જાવાનીસ - જ્યોર્જિઅન - કારા-કલ્પક - કબાઇલ - કાચિન - જ્જુ - કમ્બા - કારેન - કાવી - કબાર્ડિયન - ત્યાપ - કોરો - કોંગો - ખાસી - ખોસિયન ભાષા - ખોતાનીસ - કિકુયૂ - ક્વાન્યામા - કઝાક - કલાલ્લિસુત - ખ્મેર - કિમ્બન્દુ - કન્નડા - કોરિયન - કોંકણી - કોસરિયન - ક્પેલ્લે - કનુરી - કરાચય-બલ્કાર - કરેલિયન - ક્રૂ - કુરૂખ - કશ્મીરી - કુર્દિશ - કુમીક - કુતેનાઇ - કોમી - કોર્નિશ - કિરગીઝ - લેટિન - લાદીનો - લાહન્ડા - લામ્બા - લક્ઝેમબર્ગિશ - લેઝધીયન - ગાંડા - લિંબૂર્ગિશ - લિંગાલા - લાઓથિયન - મોગો - લોઝી - લિથુનિયન - લ્યૂબા કટાંગા - લૂબા-લુલુઆ - લુઇસેનો - લુન્ડા - લ્યુઓ - લુશાઇ - લાતવિયન - માદુરીસ - મગહી - મૈથિલી - મકાસર - મન્ડિન્ગો - ઓસ્ટ્રોનેશિયન - મસાઇ - મોક્ષ - મંડાર - મેન્ડે - મલાગસી - મિડિલ આઇરિશ - માર્શલીઝ - માઓરી - મિકમેક - મિનાંગ્કાબાઉ - વિવિધ ભાષા - મેસેડોનિયન - મોન-ખ્મેર ભાષા - મલયાલમ - મોંગોલિયન - માન્ચુ - મનિપૂરી - મનોબો ભાષા - મોલડાવિયન - મોહૌક - મોસ્સી - મરાઠી - મલય - માલ્ટિઝ - બહુવિધ ભાષા - મુન્ડા ભાષા - ક્રિક - મિરાંડી - મારવાડી - બર્મીઝ - માયા ભાષા - એર્ઝયા - નાઉરૂ - નહઆત્લ - ઉતરી અમેરીકન ઇંડિયન ભાષા - નેપોલિટાન - નોર્વેજીયન બોકમાલ - ઉતર દેબેલ - લો જર્મન - નેપાળી - નેવારી - ડોન્ગા - નિયાસ - નાઇગર-કોર્ડોફેનિયન ભાષા - નિયુઆન - ડચ - ફ્લેમિશ - નૉર્વેજીયન નાયનૉર્સ્ક - નૉર્વેજીયન - નોગાઇ - જૂની નોર્સ - એન'કો - દક્ષિણ દેબેલ - ઉતરી સોથો - ન્યુબિયાન ભાષા - નાવાજો - પરંપરાગત નેવારી - ન્યાન્જા - ન્યામવેઝી - ન્યાનકોલ - ન્યોરો - ન્ઝિમા - ઑકીટન - ઓઝિંબ્વા - ઓરોમો - ઉડિયા - ઓસ્સેટિક - ઓસેજ - ઓટોમાન તુર્કિશ - ઓટોમિયન ભાષા - પંજાબી - પાપુન ભાષા - પંગાસીનાન - પહલવી - પમ્પાન્ગા - પાપિયામેન્ટો - પલાઉઆન - જૂની પર્શિયન - ફિલિપીની ભાષા - ફોનિશિયન - પાલી - પોલીશ - પોહપિએન - પ્રક્રૃત ભાષા - જુની પ્રોવેન્સલ - પશ્તો - પોર્ટુગીઝ - બ્રાઝિલીયન પોર્ટુગીઝ - ઇબેરિયન પોર્ટુગીઝ - ક્વેચુઆ - રાજસ્થાની - રાપાનુઇ - રારોટોંગન - રહેટો રોમાન્સ - રૂન્દી - રોમાનિયન - રોમાંસ ભાષા - રોમાની - મૂલ - રશિયન - અરોમેનિયન - કિન્યારવાન્ડા - સંસ્કૃત - સોંડવે - યાકૂત - દક્ષિણ અમેરીકન ઇંડિયન ભાષા - સલીશન ભાષા - સામરિટાન અરેમિક - સાસાક - સંતાલી - સાર્દિનિયન - સિસિલિયાન - સ્કોટ્સ - સિંધી - નૉર્થન સામી - સેલ્કપ - સેમિટિક ભાષા - સાંગો - જૂની આયરિશ - સાંકેતિક ભાષા - સર્બો-ક્રોએશિયન - શેન - સિંહલી - સિદામો - સિઉઆન ભાષા - ચીની-ટિબેટી ભાષા - સ્લોવૅક - સ્લોવેનિયન - સ્લોવિક ભાષા - સામોન - દક્ષિણ સામી - સામી ભાષા - લ્યુલ સામી - ઇનારી સામી - સ્કોલ્ટ સામી - શોના - સોનિન્કે - સોમાલી - સોગ્ડિએન - સોન્ઘાઇ - અલ્બેનિયન - સર્બિયન - સ્રાનન ટોન્ગો - સેરેર - સ્વાતી - નીલો-સહારન ભાષા - સદર્ન સોથો - સંડેનીઝ - સુકુમા - સુસુ - સુમેરિયન - સ્વીડિશ - સ્વાહિલી - પરંપરાગત સિરિએક - સિરિએક - તમિલ - તાઇ ભાષા - તેલુગુ - ટિમ્ને - તેરેનો - તેતુમ - તાજીક - થાઈ - ટાઇગ્રિનિયા - ટાઇગ્રે - તિવ - તુર્કમેન - તોકેલાઉ - ટાગાલોગ - ક્લિંગન - લિંગિત - તામાશેખ - ત્સ્વાના - ટોંગા - ન્યાસા ટોન્ગા - ટોક પિસિન - ટર્કીશ - સોંગા - સિમ્શિયન - તતાર - તમ્બૂકા - ટ્યૂપી ભાષા - અલ્ટેઇક ભાષા - તુવાલુ - ટ્વાઇ - તાહિતિયન - ટુવીનિયન - ઉદમુર્ત - ઇગુર - યુગેરિટિક - યુક્રેનિયન - ઉમ્બુન્ડૂ - અજ્ઞાત અથવા અમાન્ય ભાષા - ઉર્દુ - ઉઝ્બેક - વાઇ - વેન્દા - વિયેતનામીસ - વોલાપુક - વોટિક - વાલૂન - વાકાશન ભાષા - વલામો - વારે - વાશો - સોર્બિયન ભાષા - વોલોફ - કાલ્મિક - ખોસા - યાઓ - યાપીસ - યીદ્દીશ - યોરૂબા - યૂપિક ભાષા - ઝુઆગ - ઝેપોટેક - બ્લિસિમ્બોલ્સ - ઝેનાગા - ચાઇનીઝ - સરળીકૃત ચિની - પારંપરિક ચિની - ઝન્ડે - ઝુલુ - ઝૂની - કોઇ ભાષાશાસ્ત્રીય સામગ્રી નથી - ઝાઝા - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - વિશ્વ - આફ્રિકા - ઉતર અમેરિકા - દક્ષિણ અમેરિકા - ઓશિઆનિયા - પશ્ચિમ આફ્રિકા - મધ્ય અમેરિકા - પૂર્વ અમેરિકા - ઉતરીય આફ્રિકા - મધ્ય આફ્રિકા - દક્ષિણી આફ્રિકા - અમેરિકાસ - ઉતરીય અમેરિકા - કેરિબિયન - પૂર્વીય એશિયા - દક્ષિણી એશિયા - દક્ષિણ- પૂર્વ એશિયા - દક્ષિણી યૂરોપ - ઑસ્ટ્રેલિયા અને ન્યુઝીલેન્ડ - મેલાનેશિયા - માઇક્રોનેશિયન રીજન - પોલિનેશિયા - દક્ષિણ-મધ્ય એશિયા - એશિયા - મધ્ય એશિયા - પશ્ચિમ એશિયા - યૂરોપ - પૂર્વીય યૂરોપ - ઉતરીય યૂરોપ - પશ્ચિમ યૂરોપ - સ્વતંત્ર રાષ્ટ્રનુ કોમનવેલ્થ - ચેકોસ્લવાકિયા - લેટિન અમેરિકા અને કેરીબિયન - ચેનલ આઇલન્ડ્સ - ઍંડોરા - યુનાઇટેડ અરબ એમિરેટ્સ - અફઘાનિસ્તાન - એન્ટીગુઆ અને બરબુડા - ઍંગ્વિલા - અલ્બેનિયા - આર્મેનિયા - નેધરલેંડ્સ એંટિલેસ - અંગોલા - એન્ટાર્કટિકા - આર્જેન્ટીના - અમેરીકન સમોઆ - ઑસ્ટ્રિયા - ઑસ્ટ્રેલિયા - અરુબા - એલેંડ આઇલેન્ડ્સ - અઝરબૈજાન - બોસ્નિયા અને હર્ઝેગોવિના - બારબાડોસ - બાંગ્લાદેશ - બેલ્જીયમ - બુર્કિના ફાસો - બલ્ગેરિયા - બેહરીન - બુરુંડી - બેનિન - સેંટ બાર્થલેમી - બર્મુડા - બ્રુનેઇ - બોલિવિયા - બ્રાઝિલ - બહામાસ - ભૂટાન - બૌવેત આઇલેન્ડ - બોત્સ્વાના - બેલારુસ - બેલીઝ - કેનેડા - કોકોઝ આઇલેન્ડ - કોંગો - કિંશાસા - સેંટ્રલ આફ્રિકન રીપબ્લિક - કોંગો - બ્રાઝાવિલે - સ્વિટ્ઝર્લૅન્ડ - આઇવરી કોસ્ટ - કુક આઇલેન્ડ્સ - ચિલી - કૅમરૂન - ચીન - કોલમ્બિયા - કોસ્ટા રિકા - સર્બિયા અને મોન્ટેનેગ્રો - ક્યુબા - કૅપ વર્ડે - ક્રિસમસ આઇલેંડ - સાયપ્રસ - ચેક રીપબ્લિક - જર્મની - જીબૌટી - ડેનમાર્ક - ડોમિનિકા - ડોમિનિકન રીપબ્લિક - અલ્જીરિયા - એક્વાડોર - એસ્ટોનિયા - ઇજિપ્ત - પશ્ચિમી સહારા - એરિટ્રિયા - સ્પેન - ઇથિઓપિયા - ફીનલેંડ - ફીજી - ફૉકલૅંડ આઇલૅંડ્સ - માઇક્રોનેશિયા - ફૅરો આઇલેન્ડ્સ - ફ્રાંસ - ગેબન - યુનાઇટેડ કિંગડમ - ગ્રેનેડા - જ્યોર્જીયા - ફ્રેંચ ગયાના - ગ્વેર્નસે - ઘાના - જીબ્રાલ્ટર - ગ્રીનલેન્ડ - ગેમ્બિયા - ગિની - ગ્વાડેલોપ - ઇક્વેટોરિયલ ગિની - ગ્રીસ - દક્ષિણ જ્યોર્જીયા અને દક્ષિણ સેન્ડવિચ આઇલેન્ડ - ગ્વાટેમાલા - ગ્વામ - ગિની-બિસાઉ - ગયાના - હોંગકોંગ SAR ચીન - હર્ડ આઇલૅંડ એંડ મેકડોનાલ્ડ આઇલૅંડ્સ - હોન્ડુરસ - ક્રોએશિયા - હૈતિ - હંગેરી - ઇન્ડોનેશિયા - આયર્લેંડ - ઇઝરાઇલ - ઇસ્લે ઓફ મૅન - ભારત - બ્રિટિશ ઇન્ડિયન ઓશન ટેરિટરી - ઇરાક - ઈરાન - આઇસલેન્ડ - ઇટાલી - જર્સી - જમૈકા - જોર્ડન - જાપાન - કેન્યા - કિર્ગિઝ્સ્તાન - કંબોડિયા - કિરિબાટી - કોમોરસ - સેંટ કિટ્સ એંડ નેવિસ - ઉત્તર કોરિયા - દક્ષિણ કોરિયા - કુવૈત - કેયમેન આઇલૅંડ્સ - કઝાકિસ્તાન - લાઓસ - લેબનોન - સેંટ લુસિયા - લૈચટેંસ્ટેઇન - શ્રીલંકા - લાઇબેરિયા - લેસોથો - લિથુનિયા - લક્ઝમબર્ગ - લેતવિયા - લિબિયા - મોરોક્કો - મોનાકો - મોલડોવા - મૉન્ટેંનેગ્રો - સેંટ માર્ટિન - મેડાગાસ્કર - માર્શલ આઇલેન્ડ્સ - મેસેડોનિયા - માલી - મ્યાંમાર - મંગોલિયા - મકાઓ SAR ચીન - ઉતરીય મારિયાના આઇલેન્ડ્સ - માર્ટીનીક - મૌરિટાનિયા - મોંટસેરાત - માલ્ટા - મોરિશિયસ - માલદિવ્સ - માલાવી - મેક્સિકો - મલેશિયા - મોઝામ્બિક - નામિબિયા - ન્યુ સેલેડોનિયા - નાઇજર - નોરફૉક આઇલેન્ડ - નાઇજીરીયા - નિકારાગુઆ - નેધરલેન્ડ - નૉર્વે - નેપાળ - નૌરુ - નીયુ - ન્યુઝીલેન્ડ - ઑમાન - પનામા - પેરુ - ફ્રેંચ પોલિનેશિયા - પપુઆ ન્યુ ગિની - ફિલિપિન્સ - પાકિસ્તાન - પોલેંડ - સેંટ પીએરે એન્ડ મિકીલોન - પીટકૈર્ન - પ્યુઅર્ટો રિકો - પેલેસ્ટિનિયન ટેરિટરી - પોર્ટુગલ - પલાઉ - પેરાગ્વે - કતાર - આઉટલાયિંગ ઓશનિયા - યુરોપિયન સંઘ - રીયુનિયન - રોમાનિયા - સર્બિયા - રશિયા - રવાંડા - સાઉદી અરેબિયા - સોલોમન આઇલેન્ડ - શેશેલ્સ - સુદાન - સ્વીડન - સિંગાપુર - સેંટ હેલેના - સ્લોવેનિયા - સ્વાલબર્ડ એંડ જેન મેયન - સ્લોવેકિયા - સીએરા લેઓન - સૅન મેરિનો - સેનેગલ - સોમાલિયા - સુરીનામ - સાઓ ટૉમ અને પ્રિંસિપે - એલ સેલ્વાડોર - સીરિયા - સ્વાઝિલેન્ડ - ટર્ક્સ એન્ડ કૈકોસ આઇલેન્ડ્સ - ચાડ - ફ્રેંચ સદર્ન ટેરિટરીઝ - ટોગો - થાઇલેંડ - તાજીકિસ્તાન - ટોકેલાઉ - પૂર્વ તિમોર - તુર્ક્મનિસ્તાન - ટ્યુનિશિયા - ટોંગા - તુર્કસ્તાન - ત્રિનિડાડ અને ટોબેગો - તુવાલુ - તાઇવાન - તાંઝાનિયા - ટર્કી - યુગાંડા - સંયુક્ત રાજ્ય માઇનર આઉટલાઇંગ આયલેન્ડ - સંયુકત રાજ્ય/ અમેરિકા - ઉરુગ્વે - ઉઝ્બેકિસ્તાન - વેટિકન - સેંટ વિંસેંટ એંડ ધ ગ્રેનેડિન્સ - વેનેઝુએલા - બ્રિટિશ વર્જિન આઇલેન્ડ - યુ.એસ વર્જિન આઇલેન્ડ - વિયેતનામ - વાનુઆતુ - વૉલિસ એંડ ફ્યુચુના - સમોઆ - યેમેન - મેયોટ - દક્ષિણ આફ્રિકા - ઝામ્બિયા - ઝિમ્બાબ્વે - અજ્ઞાત અથવા અમાન્ય પ્રદેશ - - - કેલેન્ડર - ક્રમ - ચલણ - - - - [૦-૯ ૐ અ-ઋ ૠ ઍ એ-ઑ ઓ-ન પ-ર લ ળ વ-હ ઼ ઁ-ઃ ઽ ્ ા-ૅ ે-ૉ ો ૌ] - [\u200C \u200D] - - - ' - ' - " - " - - - - - - - - જાન્યુ - ફેબ્રુ - માર્ચ - એપ્રિલ - મે - જૂન - જુલાઈ - ઑગસ્ટ - સપ્ટે - ઑક્ટો - નવે - ડિસે - - - જાન્યુઆરી - ફેબ્રુઆરી - માર્ચ - એપ્રિલ - મે - જૂન - જુલાઈ - ઑગસ્ટ - સપ્ટેમ્બર - ઑક્ટ્બર - નવેમ્બર - ડિસેમ્બર - - - - - જા - ફે - મા - એ - મે - જૂ - જુ - ઑ - સ - ઑ - ન - ડિ - - - - - - - રવિ - સોમ - મંગળ - બુધ - ગુરુ - શુક્ર - શનિ - - - રવિવાર - સોમવાર - મંગળવાર - બુધવાર - ગુરુવાર - શુક્રવાર - શનિવાર - - - - - ર - સો - મં - બુ - ગુ - શુ - શ - - - - - - - ત્રિમાસિક ૧ - ત્રિમાસિક ૨ - ત્રિમાસિક ૩ - ત્રિમાસિક ૪ - - - પહલી ત્રિમાસિક - બીજી ત્રિમાસિક - ત્રીજી ત્રિમાસિક - ચૌથી ત્રિમાસિક - - - - am - pm - - - ઈસવીસન પૂર્વે - ઇસવીસન - - - BCE - CE - - - ઇ સ પુ - ઇસ - - - - - - EEEE, d MMMM, y - - - - - d MMMM, y - - - - - d MMM, y - - - - - d-MM-yy - - - - - - - hh:mm:ss a zzzz - - - - - hh:mm:ss a z - - - - - hh:mm:ss a - - - - - hh:mm a - - - - - - d MMMM - dd-MM - Q yy - MM-yyyy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - - #,##,##0.### - - - - - - - #,##,##0% - - - - - - - ¤ #,##,##0.00 - - - - - - રુ - - - - - - હા - ના - - - diff --git a/lib/zend/Zend/Locale/Data/gu_IN.xml b/lib/zend/Zend/Locale/Data/gu_IN.xml deleted file mode 100644 index 1171d8bd59..0000000000 --- a/lib/zend/Zend/Locale/Data/gu_IN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/gv.xml b/lib/zend/Zend/Locale/Data/gv.xml deleted file mode 100644 index d1e66d915d..0000000000 --- a/lib/zend/Zend/Locale/Data/gv.xml +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - - - - - Gaelg - - - Rywvaneth Unys - - - - [a-c ç d-z] - - - - - - - - J-guer - T-arree - Mayrnt - Avrril - Boaldyn - M-souree - J-souree - Luanistyn - M-fouyir - J-fouyir - M.Houney - M.Nollick - - - Jerrey-geuree - Toshiaght-arree - Mayrnt - Averil - Boaldyn - Mean-souree - Jerrey-souree - Luanistyn - Mean-fouyir - Jerrey-fouyir - Mee Houney - Mee ny Nollick - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Jed - Jel - Jem - Jerc - Jerd - Jeh - Jes - - - Jedoonee - Jelhein - Jemayrt - Jercean - Jerdein - Jeheiney - Jesarn - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - a.m. - p.m. - - - RC - AD - - - - - - EEEE dd MMMM y - - - - - dd MMMM y - - - - - MMM dd, y - - - - - dd/MM/yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - HH:mm - dd MMMM - dd/MM - mm:ss - MM/yy - Q yy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - - ¤#,##0.00 - - - - - diff --git a/lib/zend/Zend/Locale/Data/gv_GB.xml b/lib/zend/Zend/Locale/Data/gv_GB.xml deleted file mode 100644 index 48b2e1cd0f..0000000000 --- a/lib/zend/Zend/Locale/Data/gv_GB.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ha.xml b/lib/zend/Zend/Locale/Data/ha.xml deleted file mode 100644 index 8d6d253f92..0000000000 --- a/lib/zend/Zend/Locale/Data/ha.xml +++ /dev/null @@ -1,371 +0,0 @@ - - - - - - - - - - - Afirkanci - Amharic - Harshen Larabci - Asamisanci - Azerbaijanci - Belarushiyanci - Bulgeriyan - Bihari - Dan Bengal - Buretananci - Bosniyanci - Kataloniyanci - Yaren Jamhuriyar Cek - Kabilar Welsh - Danish - Jamusanchi - Girkanci - Turanci - D'an/'Yar Kabilar Andalus - Mutanen Espanya - Istoniyanci - Dan/'Yar Kabilar Bas - Persian - Yaren mutanen Finland - Dan Filifin - Faroese - Faranshi - K'abilan Firsi - Dan Ailan - K'abilan Scots Gaelic - Bagalike - Guwaraniyanci - Gujarati - Haoussa - Yahudanci - Bahinde - Kuroshiyan - Hongeriyanci - Armeniyanci - Yare Tsakanin Kasashe - Indonesiyan - Intagulanci - Yaren mutanen Iceland - Italiyanci - Jafananci - Javanisanci - Jojiyanci - Kambodiyanci - Dan/'Yar Kabilar Kannada - Yaren mutanen Koriya - Kurdanci - Kirgizanci - Dan Kabilar Latin - Lingala - Laothian - Lituweniyanci - Latbiyanci - Dan Masedoniya - Kabilar Maleyalam - Mongolian - K'abilan Marathi - Dan Kabilar Male - Harshen Maltis - D'an/'Yar Kabilar Nepal - Yaren mutanen Holland - Yaren Kasar Norway - Yaren mutanen Norway - Ositanci - Oriyanci - Dan/'Yar Garin Punjab - Yaren mutanen Poland - Pashtanci - Yaren mutanen Portugal - Fotigis (Burazil) - Yaren Kasar Portugal - Romaniyanci - Rashanci - sanskrit - Sindiyanci - Kuroweshiyancin-Sabiya - Sinhalanci - Basulake - Basulabe - Somaali - D'an/'Yar Kabilar Albaniya - Sabiyan - Sesotanci - Sundanese - Yaren mutanen Sweden - Harshen Suwahili - D'an/'Yar Kabilar Tamil - D'an/'Yar Kabilar Telug - Tayanci - Tigriyanci - Tukmenistanci - Klingon - Baturke - Tiwiniyanci - Ugiranci - Dan Ukirain - Urdu - Uzbek - K'abilan Biyetnam - Bazosa - Bazule - - - Gaana - Nijer - Nijeriya - - - - [a b ɓ c d ɗ e-k ƙ l-o r s {sh} t {ts} u w y z ʼ {ʼy}] - [á à â é è ê í ì î ó ò ô p q {r\u0303} ú ù û v x ƴ] - [a-z] - - - - - - - - Jan - Fab - Mar - Afr - May - Yun - Yul - Aug - Sat - Okt - Nuw - Dis - - - Janairu - Fabrairu - Maris - Afrilu - Mayu - Yuni - Yuli - Augusta - Satumba - Oktoba - Nuwamba - Disamba - - - - - J - F - M - A - M - Y - Y - A - S - O - N - D - - - - - - - Lah - Lit - Tal - Lar - Alh - Jum - Asa - - - Lahadi - Litini - Talata - Laraba - Alhamis - Jumma'a - Asabar - - - - - L - L - T - L - A - J - A - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - - 1 - 2 - 3 - 4 - - - - AM - PM - - - Gabanin Miladi - Miladi - - - GM - M - - - - - - EEEE, d MMMM, y - - - - - d MMMM, y - - - - - d MMM, y - - - - - d/M/yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - H:mm - L - E, d-M - LLL - E d MMM - E d MMMM - d MMMM - d MMM - M-d - d - mm:ss - y - EEE, d/M/yyyy - EEE, d MMM y - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - . - , - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤ #,##0.00 - - - - - - Sidi - - - Neira - - - Sefa - - - - - - i - a'a:a - - - - diff --git a/lib/zend/Zend/Locale/Data/ha_Arab.xml b/lib/zend/Zend/Locale/Data/ha_Arab.xml deleted file mode 100644 index dd012b0a84..0000000000 --- a/lib/zend/Zend/Locale/Data/ha_Arab.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - העולם - אפריקה - צפון אמריקה - דרום אמריקה - אוקיאניה - מערב אפריקה - מרכז אמריקה - מזרח אפריקה - צפון אפריקה - מרכז אפריקה - דרום יבשת אפריקה - אמריקה - אמריקה הצפונית - קריביים - מזרח אסיה - דרום אסיה - דרום־מזרח אסיה - דרום אירופה - אוסטרליה וניו־זילנד - מלנסיה - אזור מיקרונזיה - פולינזיה - דרום־מרכז אסיה - אסיה - מרכז אסיה - מערב אסיה - אירופה - מזרח אירופה - צפון אירופה - מערב אירופה - חבר המדינות העצמאיות - אמריקה הלטינית והקריביים - איי התעלה - אנדורה - איחוד האמירויות הערביות - אפגניסטן - אנטיגואה וברבודה - אנגילה - אלבניה - ארמניה - אנטילים הולנדיים - אנגולה - אנטארקטיקה - ארגנטינה - סמואה האמריקנית - אוסטריה - אוסטרליה - ארובה - איי אלנד - אזרביג'ן - בוסניה והרצגובינה - ברבדוס - בנגלדש - בלגיה - בורקינה פאסו - בולגריה - בחריין - בורונדי - בנין - סנט ברתולומיאו - ברמודה - ברוניי - בוליביה - ברזיל - איי בהאמה - בהוטן - איי בובה - בוטסוואנה - בלארוס - בליז - קנדה - איי קוקוס - קונגו - קינשאסה - הרפובליקה של מרכז אפריקה - קונגו - ברזאויל - שווייץ - חוף השנהב - איי קוק - צ׳ילה - קמרון - סין - קולומביה - קוסטה ריקה - סרביה ומונטנגרו - קובה - כף ורדה - איי כריסטמס - קפריסין - צ׳כיה - גרמניה - ג׳יבוטי - דנמרק - דומיניקה - הרפובליקה הדומיניקנית - אלג׳יריה - אקוודור - אסטוניה - מצרים - סהרה המערבית - אריתראה - ספרד - אתיופיה - פינלנד - פיג׳י - איי פוקלנד - מיקרונזיה - איי פארו - צרפת - גאבון - בריטניה - גרנדה - גאורגיה - גיאנה הצרפתית - גרנסי - גאנה - גיברלטר - גרינלנד - גמביה - גיניאה - גוואדלופ - גיניאה המשוונית - יוון - ג׳ורג׳יה הדרומית ואיי סנדוויץ׳ הדרומיים - גואטמלה - גואם - גיניאה-ביסאו - גיאנה - הונג קונג (מחוז מנהלי מיוחד של סין) - איי הרד ואיי מקדונלנד - הונדורס - קרואטיה - האיטי - הונגריה - אינדונזיה - אירלנד - ישראל - האי מאן - הודו - טריטוריה בריטית באוקיאנוס ההודי - עיראק - איראן - איסלנד - איטליה - ג'רסי - ג׳מייקה - ירדן - יפן - קניה - קירגיזסטן - קמבודיה - קיריבאטי - קומורוס - סנט קיטס ונוויס - צפון קוריאה - דרום קוריאה - כווית - איי קיימן - קזחסטן - לאוס - לבנון - סנט לוסיה - ליכטנשטיין - סרי לנקה - ליבריה - לסוטו - ליטא - לוקסמבורג - לטביה - לוב - מרוקו - מונקו - מולדובה - מונטנגרו - סנט מרטין - מדגסקר - איי מרשל - מקדוניה - מאלי - מייאנמאר - מונגוליה - מקאו (מחוז מנהלי מיוחד של סין) - איי מריאנה הצפוניים - מרטיניק - מאוריטניה - מונסראט - מלטה - מאוריציוס - מלדיבים - מלאווי - מקסיקו - מלזיה - מוזמביק - נמיביה - קלדוניה החדשה - ניז׳ר - איי נורפוק - ניגריה - ניקרגואה - הולנד - נורווגיה - נפאל - נאורו - ניווה - ניו זילנד - עומאן - פנמה - פרו - פולינזיה הצרפתית - פפואה גיניאה החדשה - פיליפינים - פקיסטן - פולין - סנט פייר ומיקלון - פיטקרן - פורטו ריקו - הרשות הפלסטינית - פורטוגל - פאלאו - פרגוואי - קטאר - האיחוד האירופי - ראוניון - רומניה - סרביה - רוסיה - רואנדה - ערב הסעודית - איי שלמה - איי סיישל - סודן - שוודיה - סינגפור - סנט הלנה - סלובניה - סוולבארד וז׳אן מאיין - סלובקיה - סיירה לאונה - סן מרינו - סנגל - סומליה - סורינם - סאו טומה ופרינסיפה - אל סלבדור - סוריה - סווזילנד - איי טורקס וקאיקוס - צ׳אד - טריטוריות דרומיות של צרפת - טוגו - תאילנד - טג׳יקיסטן - טוקלאו - מזרח טימור - טורקמניסטן - תוניסיה - טונגה - טורקיה - טרינידד וטובגו - טובלו - טייוואן - טנזניה - אוקראינה - אוגנדה - איים קטנים שלחוף ארצות הברית - ארצות הברית - אורוגוואי - אוזבקיסטן - הוותיקן - סנט וינסנט והגרנדינים - ונצואלה - איי הבתולה הבריטיים - איי הבתולה האמריקניים - וייטנאם - ונואטו - איי ווליס ופוטונה - סמואה - תימן - מאיוט - דרום אפריקה - זמביה - זימבאבווה - אזור לא ידוע או לא תקין - - - כתיב גרמני מסורתי - מזרח ארמנית - מערב ארמנית - מונוטונית - מחשב - - - לוח שנה - מיון - מטבע - - - מיון סינית מסורתית - לוח שנה בודהיסטי - לוח שנה סיני - מיון ישיר - מיון סינית מודרנית - לוח שנה גרגוריאני - לוח שנה עברי - לוח שנה מוסלמי - לוח שנה מוסלמי-אזרחי - לוח שנה יפני - מיון ספר טלפונים - מיון פיניין - מיון מסורתי - - - ארה"ב - מטרי - - - {0} - {0} - {0} - - - - - - - [א-י כ ך ל מ ם נ ן ס ע פ ף צ ץ ק-ת] - [\u05BD \u05C4\u200E \u200F \u05B0-\u05B9 \u05BB \u05C2 \u05C1 \u05BC \u05BF ־ ׳ ״ a-z] - [a-z] - - - “ - ” - " - " - - - - - - - - ינו - פבר - מרס - אפר - מאי - יונ - יול - אוג - ספט - אוק - נוב - דצמ - - - ינואר - פברואר - מרס - אפריל - מאי - יוני - יולי - אוגוסט - ספטמבר - אוקטובר - נובמבר - דצמבר - - - - - - - יום א' - יום ב' - יום ג' - יום ד' - יום ה' - יום ו' - שבת - - - יום ראשון - יום שני - יום שלישי - יום רביעי - יום חמישי - יום שישי - יום שבת - - - - - א - ב - ג - ד - ה - ו - ש - - - - - - - רבעון 1 - רבעון 2 - רבעון 3 - רבעון 4 - - - רבעון 1 - רבעון 2 - רבעון 3 - רבעון 4 - - - - - 1 - 2 - 3 - 4 - - - - לפנה"צ - אחה"צ - - - לפני הספירה - לספירה - - - לפנה״ס - לסה״נ - - - - - - EEEE, d בMMMM y - - - - - d בMMMM y - - - - - dd/MM/yyyy - - - - - dd/MM/yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - - {1} {0} - - - - - {1} {0} - - - - - {1} {0} - - - - - {1} {0} - - - - E d - H - HH:mm - HH:mm:ss - H:mm - L - E, M-d - LLL - E d MMM - E MMMM d - d בMMMM - MMM d - dd/MM - d/M - d - mm:ss - mm:ss - y - M.yyyy - EEE, d.M.yyyy - y MMM - EEE, y MMM d - MMMM y - yyyy Q - y QQQ - MM/yy - MMM yy - Q yy - y - MM/yyyy - MMMM y - - - {0} – {1} - - M-M - - - EEEE dd/MM - EEEE dd/MM - EEEE dd/MM - EEEE dd/MM - - - MMM-MMM - - - EEEE d MMM - EEEE d MMM - EEEE d MMM - EEEE d MMM - - - LLLL-LLLL - - - d MMM - d MMM - d-d MMM - - - dd/MM - dd/MM - dd/MM - dd/MM - - - d-d - - - HH-HH - HH–HH - - - HH:mm-HH:mm - HH:mm–HH:mm - HH:mm–HH:mm - - - HH:mm-HH:mm v - HH:mm–HH:mm v - HH:mm–HH:mm v - - - HH-HH v - HH–HH v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - EEEE dd/MM/yy - EEEE dd/MM/yy - EEEE dd/MM/yy - EEEE dd/MM/yy - EEEE dd/MM/yy - EEEE dd/MM/yy - - - MMM-MMM y - MMM y - MMM y - - - EEEE d MMM - EEEE d MMM y - EEEE d MMM - EEEE d MMM y - EEEE d MMM y - EEEE d MMM y - - - yyyy-MM – MM - yyyy-MM – yyyy-MM - - - d MMM - d MMM y - d-d MMM y - d MMM y - d MMM y - - - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - - - - - - תקופה - - - שנה - - - חודש - - - שבוע - - - יום - לפני שלושה ימים - שלשום - אתמול - היום - מחר - מחרתיים - בעוד שלושה ימים - - - יום בשבוע - - - Dayperiod - - - שעה - - - דקה - - - שנייה - - - אזור - - - - - - - - תשרי - חשון - כסלו - טבת - שבט - אדר א' - אדר - ניסן - אייר - סיון - תמוז - אב - אלול - - - - - תשרי - חשון - כסלו - טבת - שבט - אדר א' - אדר - ניסן - אייר - סיון - תמוז - אב - אלול - - - - לפנה"צ - אחה"צ - - - לבה"ע - - - - - - EEEE, d בMMMM y - - - - - d בMMMM y - - - - - dd/MM/yyyy - - - - - dd/MM/yy - - - - - - E, d בMMMM - - - - - - - - מוחרם - ספר - רביע אל-אוואל - רביע אל-תני - ג׳ומדה אל-אוואל - ג׳ומדה אל-תני - רג׳אב - שעבאן - ראמדן - שוואל - זו אל-QI'DAH - זו אל-חיג׳ה - - - - - - שנת היג׳רה - - - - - - - טאיקה - נינג'ו - שוטוקו - - - - - - +HH:mm;-HH:mm - GMT{0} - שעון {0} - {1} ({0}) - - לא ידוע - - - אנדורה - - - דובאי - - - קאבול - - - אנטיגואה - - - אנגווילה - - - טירנה - - - ירבאן - - - קורסאו - - - לואנדה - - - רות'רה - - - אמריקה/פאלמר - - - הקוטב הדרומי - - - שויה - - - מאוסון - - - דייויס - - - ווסטוק - - - קאסיי - - - דומון ד'אורווי - - - מקמרדו - - - אמריקה/מנדוזה - - - אמריקה/ארגנטינה/סאן-חואן - - - אמריקה/קורדובה - - - בואנוס איירס - - - פאגו פאגו - - - וינה - - - אוסטרליה/פרת' - - - אוסטרליה/דרווין - - - אדלייד - - - אוסטרליה/ברוקן-היל - - - אוסטרליה/מלבורן - - - אוסטרליה/הוברט - - - אוסטרליה/סידני - - - אוסטרליה/בריסבן - - - ארובה - - - באקו - - - ברבדוס - - - דאקה - - - בריסל - - - ואגאדוגו - - - סופיה - - - בהרין - - - בוג'ומבורה - - - פורטו-נובו - - - ברמודה - - - ברוניי - - - לה פאז - - - ריאו ברנצ'ו - - - פורטו וולהו - - - בואה ויסטה - - - מנאוס - - - קויאבה - - - קמפו גרנדה - - - בלם - - - אראגואינה - - - אמריקה/סאן-פאולו - - - אמריקה/בהיאה - - - פורטאלזה - - - מאסיו - - - רסיפה - - - נורונהה - - - נסאו - - - טימפו - - - גאבורונה - - - מינסק - - - בליז - - - אמריקה/ונקובר - - - אמריקה/דוסון-קריק - - - אמריקה/אדמנטון - - - אמריקה/וויניפוג - - - אמריקה/טורנטו - - - אמריקה/מונטריאול - - - אמריקה/הליפקס - - - קוקוס - - - קינשסה - - - לובומבאשי - - - בנגואי - - - בראזאווייל - - - ציריך - - - אבידג'ן - - - רארוטונגה - - - איי הפסחא - - - אמריקה/סנטיאגו - - - דואלה - - - אסיה/שנחאי - - - בוגוטה - - - קוסטה ריקה - - - הוואנה - - - קייפ ורדה - - - איי חג המולד - - - ניקוסיה - - - ברלין - - - ג'יבאוטי - - - קופנהגן - - - דומיניקה - - - סנטו דומינגו - - - אלג'יר - - - פסיפי/גלאפגוס - - - גוויקיל - - - טאלין - - - קהיר - - - אל עיון - - - אסמרה - - - אטלנטי/קנרי - - - סאוטה - - - אירופה/מדריד - - - אדיס אבבה - - - הלסינקי - - - פיג'י - - - סטנלי - - - טרוק - - - פונפה - - - קוסרה - - - פארו - - - פריס - - - ליברווייל - - - אירופה/לונדון - - - גרנדה - - - טביליסי - - - קאיין - - - אקרה - - - גיברלטר - - - טולה - - - גודת'אב - - - סקורסביסונד - - - דנמרקסהוון - - - באנג'ול - - - קונאקרי - - - גוואד“לופ - - - מאלאבו - - - אתונה - - - איי ג'ורג'יה הדרומית - - - גוואטמלה - - - גואם - - - ביסאו - - - גוינה - - - הונג קונג - - - פורט או פרינס - - - בודפשט - - - אסיה/ג'קרטה - - - מאקאסאר - - - ג'איאפורה - - - דבלין - - - ירושלים - - - איי צ'גוס - - - בגדד - - - טהרן - - - רייקיאוויק - - - רומא - - - ג'מייקה - - - רבת עמון - - - טוקיו - - - ניירובי - - - בישקק - - - פנום פן - - - אנדרבורי - - - קיריטימאטי - - - טאראווה - - - קומורו - - - סנט קיטס - - - צפון קוריאה - - - דרום קוריאה - - - כווית - - - קיימן - - - אקטאו - - - אסיה/אורל - - - אקטובה - - - אלמאטי - - - וינטיאן - - - ביירות - - - סנט לוצ'יה - - - ואדוז - - - קולומבו - - - מונרוביה - - - מאסרו - - - וילניאוס - - - לוקסמבורג - - - ריגה - - - טריפולי - - - קזבלנקה - - - מונקו - - - קישינב - - - אנטננרבינו - - - מאג'ורו - - - באמאקו - - - ראנגון - - - חובד - - - אולאאנבטאר - - - צ'ואיבלסאן - - - מקאו - - - סאיפאן - - - מרטיניק - - - נוקשוט - - - מונטסראט - - - מאלטה - - - מאוריטיוס - - - מולדוביה - - - בלנטיר - - - אמריקה/מזטלן - - - אמריקה/מונטריי - - - אמריקה/מקסיקו סיטי - - - אמריקה/קנקון - - - קואלה לומפור - - - מאפוטו - - - ווינדהוק - - - נומאה - - - ניאמיי - - - איי נורפוק - - - לאגוס - - - מנאגואה - - - אמסטרדם - - - אוסלו - - - קטמנדו - - - נאורו - - - ניווה - - - פסיפי/אוקלנד - - - מוסקט - - - פנמה - - - לימה - - - פסיפי/טהיטי - - - איי מרקיז - - - איי גמביר - - - פורט מורנסבי - - - מנילה - - - קאראצ'י - - - ורשה - - - מיקלון - - - פיטקרן - - - פוארטו ריקו - - - עזה - - - האיים האזורים - - - אירופה/ליסבון - - - פלאו - - - אסונסיון - - - קתר - - - ריונין - - - בוקרשט - - - אירופה/מוסקבה - - - אירופה/סמרה - - - איה/אומסק - - - אסיה/נובוסיבירסק - - - קיגאלי - - - ריאד - - - גואדלקנל - - - מאהה - - - חרטום - - - שטוקהולם - - - סינגפור - - - סנט הלנה - - - פריטאון - - - דאקאר - - - מוגדישו - - - פרמאריבו - - - סאו טומה - - - סלבדור - - - דמשק - - - מבאבאנה - - - גרנד טורק - - - נג'מנה - - - קרגואלן - - - לומה - - - בנקוק - - - דושנבה - - - פאקאופו - - - דילי - - - אשחבאד - - - תוניסיה - - - טונגטאפו - - - איסטנבול - - - נמל ספרד - - - פונאפוטי - - - טייפה - - - דאר א-סאלם - - - אירופה/קייב - - - קמפלה - - - מידוויי - - - ג'ונסטון - - - וואק - - - פסיפי/הונולולו - - - זמן אלסקה - - - אמריקה/לוס-אנג'לס - - - אמריקה/פיניקס - - - אמריקה/שיפרוק - - - אמריקה/דנוור - - - אמריקה/צפון דקוטה/מרכז - - - אמריקה/שיקגו - - - אינדיאנפוליס - - - אמריקה/לואיסוויל - - - אמריקה/דטרויט - - - אמריקה/ניו-יורק - - - מונטווידאו - - - אסיה/סמרקנד - - - אסיה/טשקנט - - - סנט וינסנט - - - קאראקאס - - - טורטולה - - - סנט תומאס - - - סייגון - - - אפטה - - - ואליס - - - אפיה - - - עדן - - - מאיוט - - - יוהנסבורג - - - לוסאקה - - - הררה - - - - IST (הודו) - - - - - שעון ישראל - - - IST - - - - - - - . - , - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - - - - פזטה אנדורית - - - דירהם של איחוד הנסיכויות הערביות - - - אפגני אפגני - - - לק אלבני - - - דראם ארמני - - - גילדן של האנטילים ההולנדיים - - - קואנזה אנגולי - - - קואנזה חדש אנגולי (1990-2000) - - - קואנזה רג׳וסטדו אנגולי (1995-1999) - - - פזו ארגנטינאי (1983-1985) - - - פזו ארגנטינאי - - - שילינג אוסטרי - - - דולר אוסטרלי - - - פלורין של ארובה - - - מנאט אזרביג׳אני (1993-2006) - - - מאנאט אזרביג׳ני - - - דינר של בוסניה־הרצגובינה - - - מארק בר המרה של בוסניה־הרצגובינה - - - דולר ברבדיאני - - - טאקה בנגלדשי - - - פרנק בלגי (בר המרה) - - - פרנק בלגי - - - לב בולגרי ישן - - - לב בולגרי - - - דינר בחרייני - - - פרנק בורונדי - - - דולר ברמודה - - - דולר ברוניי - - - בוליביאנו - - - פזו בוליבי - - - קרוזיארו חדש ברזילאי (1967-1986) - - - קרוזדו ברזילאי - - - ריאל ברזילאי - - - דולר בהאמי - - - נגולטרום בהוטני - - - פולה בוצוואני - - - דולר בליזי - - - דולר קנדי - - - פרנק קונגולזי - - - פרנק שוויצרי - - - פזו צ'ילאני - - - יואן רנמינבי סיני - - - פזו קולומביאני - - - קולון קוסטה־ריקני - - - דינר סרבי ישן - - - קורונה צ׳כית - - - פזו קובני - - - לירה קפריסאית - - - קורונה צ'כית - - - מרק מזרח גרמני - - - מרק גרמני - - - פרנק ג׳יבוטי - - - כתר דני - - - פזו דומיניקני - - - דינר אלג׳ירי - - - סוקר אקואדורי - - - קרון אסטוני - - - לירה מיצרית - - - נאקפה אריתראי - - - פזטה [ESA] - - - פזטה [ESB] - - - פסטה ספרדי - - - ביר אתיופי - - - אירו - - - מרק פיני - - - דולר פיג'י - - - לירה של איי פוקלנד - - - פרנק צרפתי - - - לירה שטרלינג - - - לרי גאורגי - - - פאונד גיברלטר - - - דלאסי גמבי - - - פרנק גינאי - - - דרכמה - - - קצל גואטמלי - - - פזו גינאי - - - דולר גיאני - - - דולר הונג קונגי - - - למפירה הונדורי - - - קונה קרואטי - - - גארד האיטי - - - פורינט הונגרי - - - רופיה אינדונזית - - - לירה אירית - - - לירה ישראלית - ל״י - - - ש"ח - שקלים חדשים - - - רופי הודית - - - דינר עירקי - - - ריאל איראני - - - קרונה איסלנדית - - - לירה איטלקית - - - דולר ג'מאיקני - - - דינר ירדני - - - ין יפני - - - שילינג קנייאתי - - - סום קירגיזי - - - ריל קמבודי - - - פרנק קומורואי - - - וון צפון קוראני - - - וון דרום קוראני - - - דינר כוויתי - - - דולר קיימאני - - - טנגה קזחסטני - - - קיפ לאי - - - לירה לבנונית - - - רופי סרי לנקי - - - דולר ליברי - - - לוטי לסותי - - - ליטא ליטאי - - - פרנק לוקסמבורגי - - - לט לטבי - - - דינר לובי - - - דירהם מרוקאי - - - פרנק מרוקאי - - - ליאו מולדובני - - - פרנק מדגסקארי - - - קיאט מיאנמרי - - - טוגרוג - - - פטקה - - - לירה מלטית - - - רופי מאוריציני - - - רופיה מלדיבית - - - קואצ׳ה מלאוי - - - פזו מקסיקני - - - פזו מקסיקני (1861 - 1992) - - - רינגיט מלזי - - - מטיקל - - - דולר נמיבי - - - נאירה ניגרי - - - קורדובה ניקראגי - - - גילדן הולנדי - - - כתר נורבגי - - - רופי נפאלי - - - דולר ניו זילנדי - - - בלבואה פנמי - - - סול פרואני חדש - - - קינה של פפואה גינאה החדשה - - - פזו פיליפיני - - - רופי פקיסטני - - - זלוטי פולני - - - זלוטי (1950 - 1995) - - - אסקודו פורטוגלי - - - גוורני פראגוואי - - - ריאל קטארי - - - לאו רומני ישן - - - לאו רומני חדש - - - דינר סרבי - - - רובל - - - רובל רוסי (1991 - 1998) - - - פרנק רואנדי - - - ריאל סעודי - - - דולר איי שלמה - - - רופי סיישלי - - - דינר סודני - - - לירה סודנית - - - כתר שוודי - - - דולר סינגפורי - - - פאונד סנט הלני - - - טולאר סלובני - - - קורונה סלובקי - - - ליאון סיירה לאוני - - - שילינג סומאלי - - - דולר סורינאמי - - - גילדר סורינאמי - - - דוברה של סן טומה ופרינסיפה - - - רובל סובייטי - - - לירה סורית - - - לילנגני סווזי - - - בהט תאילנדי - - - סומוני טג'קיסטני - - - מנאט טורקמאני - - - דינר טוניסאי - - - פאאמגה טונגי - - - אסקודו טימוראי - - - לירה טורקית - - - לירה טורקית חדשה - - - דולר טרינידדי - - - דולר טאייוני חדש - - - שילינג טנזני - - - גריבנה אוקראיני - - - שילינג אוגנדי (1966 - 1987) - - - שילינג אוגנדי - - - דולר אמריקאי - - - דולר אמריקאי (היום הבא) - - - דולר אמריקאי (היום הזה) - - - פזו אורוגוואי - - - סום אוזבקי - - - בוליבר ונצואלי - - - דונג וייטנאמי - - - ואטו של ונואטו - - - טאלה סמואי - - - פרנק CFA - - - כסף - - - זהב - - - דולר מזרח קריבי - - - זכויות משיכה מיוחדות - - - פרנק זהב - - - פלדיום - - - פלטינה - - - סימון למטרות בדיקה - - - סימון "ללא מטבע" - - - דינר תימני - - - ריאל תימני - - - דינר יגוסלבי חדש - - - דינר יגוסלבי - - - ראנד דרום אפריקאי (כספי) - - - ראנד דרום אפריקאי - - - קוואצ'ה זמבית - - - זאיר חדש - - - דולר זימבבואי - - - - - - {0} יום - {0} ימים - - - {0} שעה - {0} שעות - - - {0} דקה - {0} דקות - - - {0} חודש - {0} חודשים - - - {0} שניה - {0} שניות - - - {0} שבוע - {0} שבועות - - - {0} שנה - {0} שנים - - - - - כן:כ - לא:ל - - - - diff --git a/lib/zend/Zend/Locale/Data/he_IL.xml b/lib/zend/Zend/Locale/Data/he_IL.xml deleted file mode 100644 index 14d33a535e..0000000000 --- a/lib/zend/Zend/Locale/Data/he_IL.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/hi.xml b/lib/zend/Zend/Locale/Data/hi.xml deleted file mode 100644 index da86469943..0000000000 --- a/lib/zend/Zend/Locale/Data/hi.xml +++ /dev/null @@ -1,3344 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - अफ़ार - अब्खाज़ियन् - अचाइनीस - अकोली - अदान्गमे - अदिघे - अवेस्तन - अफ्रीकी - अफ्रो-एशियाई भाषाएँ - अफ्रिहिली - ऐनू - अकन - अक्केदिअन - अलेउत - एल्गोनक्युइअन भाषा - दक्षिणी अल्ताई - अम्हारिक् - अर्गोनी - पुरानी अंग्रेज़ी - अंगिका - अपाचे भाषा - अरबी - ऐरेमेक - एरोकैनियन - अराफाओ - कृत्रिम भाषा - अरावक - असामी - अस्तुरियन - अथापास्कान भाषा - आस्ट्रेलियाई भाषा - अवेरिक - अवधी - आयमारा - अज़रबैंजानी - बशख़िर - बांदा - बमिलेके भाषा - बलूची - बालिनीस - बसा - बाल्टिक भाषा - बैलोरूशियन् - बेजा - बेम्बा - बरबर - बल्गेरियाई - बिहारी - भोजपुरी - बिस्लामा - बिकोल - बिनी - सिक्सिका - बाम्बारा - बँगाली - बन्तु - तिब्बती - ब्रेटन - ब्रज - बोस्नियाई - बताक - बुरियात - बगिनीस - ब्लिन - कातालान - कैड्डो - मध्य अमेरिकी इंडियन भाषा - कैरिब - कॉकेशियन भाषा - अत्सम - चेचन - सिबुआनो - केल्टिक भाषा - कमोरो - चिब्चा - छगाताई - चूकीस - मारी - चिनूक जारगॉन - चोक्तौ - शिपेव्यान - शेरूकी - शेयेन्न - शैमिक भाषा - कोर्सीकन - कॉप्टिक - अंग्रेजी आधारित क्रेओल या पिजिन - फ्रेंच आधारित क्रेओल या पिजिन - पुर्तगाली आधारित क्रेओल या पिजिन - क्री - क्रीमीन तुर्की - क्रेओल या पिजिन - चेक - काशुबियन - चर्च साल्विक - कुशितिक भाषा - चूवाश - वेल्श - डैनीश - दाकोता - दार्गवा - दायक - ज़र्मन - जर्मन (ऑस्ट्रिया) - डिलैवेयर - स्लेव - डोग्रिब - दिन्का - डोग्री - द्रविण भाषा - निचला सॉर्बियन - दुआला - मध्य पुर्तगाली - दिवेही - ड्युला - ज़ोन्गखा - ईवे - एफिक - प्राचीन मिस्री - एकाजुक - ग्रीक - एलामाइट - अंग्रेजी - अंग्रेज़ी (ऑस्ट्रेलिया) - अंग्रेज़ी(कनाडाई) - अंग्रेजी(ब्रिटिश) - अंग्रेज़ी अमेरीकी - मिडिल अंग्रजी - एस्पेरान्तो - स्पेनिश - लेटिन अमेरिकी स्पेनिश - ईवेरियाई स्पेनिश - ऐस्तोनियन् - बास्क् - इवोन्डो - पर्शियन् - फैन्ग - फन्टी - फुलाह - फिनिश - फिलिपिनो - फिन्नो-उग्रीयन भाषा - फ़ीजी - फिरोज़ी - फॉन - फ्रेंच - फ़्रेंच(कनाडाई) - मिडिल फ्रेंच - पुरानी फ्रांसीसी - उत्तरी फ्रीसीयन - पूर्वी फ्रीसीयन - फ्रीयुलीयान - पश्चिमी फ़्रिसियाई - आयरिश - गा - गायो - ग्बाया - स्काट्स् गायेलिक् - जर्मनिक भाषा - गीज़ - गिल्बरतीस - गैलिशियन् - मध्यकालीन हाइ जर्मन - गुआरानी - पुरातन हाइ जर्मन - गाँडी - गोरोन्तालो - गॉथिक - ग्रेबो - प्राचीन यूनानी - स्विस जर्मन - गुज़राती - मैंक्स - ग्विच'इन - होउसा - हैडा - हावाइयन - हीब्रू - हिन्दी - हिलिगेनन - हिमाचली - हिताइत - ह्मॉंग - हिरी मोटू - क्रोएशन् - ऊपरी सॉर्बियन - हैतीयन - हंगेरी - हूपा - अरमेनियन् - हरैरो - ईन्टरलिंगुआ - इबान - इन्डोनेशियाई - ईन्टरलिंगुइ - ईग्बो - सिचुआन यी - इजो - इनुपियाक् - इलोको - भारतीय भाषा - इंडो-युरोपीय भाषा - इंगुश - इडौ - ईरानी भाषा - इरोक्युओइयन भाषा - आईस्लैंडिक् - इतालवी - इनूकीटूत् - जापानी - लोज्बान - जुदेओ-पर्शियन - जुदेओ-अरेबिक - जावानीस - जॉर्जीयन् - कारा-कल्पक - कबाइल - काचिन - ज्जु - कम्बा - कारेन - कावी - कबार्डियन - त्याप - कोरो - कोंगो - खासी - खोइसन भाषा - खोतानीस - किकुयू - क्वान्यामा - कज़ाख - ग्रीनलैंडिक - कैम्बोडियन् - किम्बन्दु - कन्नड़ - कोरीयन् - कोंकणी - कोसरैन - क्पेल्लै - कनुरी - कराचय-बल्कार - करेलियन - क्रु - कुरूख - कश्मीरी - कुरदीश - कुमीक - कुतेनाई - कोमी - कोर्निश - किरघिज़ - लैटीन - लादीनो - लाह्न्डा - लाम्बा - लक्ष्ज़ेमबर्गिश - लेज़्घीयन - गांडा - लिंबर्गिश - लिंगाला - लाओथीयन् - मोंगो - लोज़ी - लिथुनियन् - ल्यूबा-कटांगा - ल्यूबा-लुलुआ - लुइसेनो - लुन्डा - ल्युओ - लुशाई - लातवी - मादुरीस - मगाही - मैथिली - मकासर - मन्डिन्गो - ऑस्ट्रोनेशियन - मसाई - मोक्ष - मंधार - मेन्डे - मालागासी - मिडिल आइरिश - मार्शलीज़ - मेओरी - मिकमैक - मिनांग्काबाउ - विविध भाषा - मैसेडोनियन् - मॉन-ख्मेर भाषा - मलयालम - मंगोलीयाई - मन्चु - मणिपूरी - मनोबो भाषा - मोलडावियन् - मोहौक - मोस्सी - मराठी - मलय - मालटिस् - विविध भाषाएँ - मुन्डा भाषा - क्रीक - मिरांडी - मारवाड़ी - बर्लिस - माया भाषा - एर्ज़या - नाउरू - नहुआत्ल - उत्तरी अमेरीकी इंडियन भाषा - नीपोलिटन - नॉर्वेजियन बोकमाल - उत्तरी देबेल - निचला जर्मन - नेपाली - नेवाड़ी - डोन्गा - नियास - नाइगर-कोर्डोफैनियन भाषा - नियुआन - डच् - नॉर्वेजियन नाइनोर्स्क - नार्वेजियन - नोगाई - पुराना नॉर्स - एन्को - दक्षिण देबेल - उत्तरी सोथो - न्युबियान भाषा - नावाजो - पारम्परिक नेवारी - न्यानजा - न्यामवेज़ी - न्यानकोल - न्योरो - न्ज़ीमा - ओसीटान - ओजिब्वा - ओरोमो - उड़िया - ओस्सेटिक - ओसेज - ओटोमान तुर्किश - ओटोमियन भाषा - पंजाबी - पापुआन भाषा - पंगासीनान - पाह्लावी - पाम्पान्गा - पापियामेन्टो - पलोउआन - पुरानी फारसी - फिलिपीन भाषा - फोएनिशियन - पाली - पॉलिश - पोह्नपिएन - प्राकृत - पुरानी प्रोवेन्सल - पॉशतो - पुर्तगाली - पुर्तगाली (ब्राज़ील) - ईवेरियाई पुर्तगाली - क्वेशुआ - राजस्थानी - रापानुई - रारोतोंगन - रहेय्टो-रोमान्स - रुन्दी - रोमानियाई - रोमांस भाषा - रोमानी - रूट - रूसी - अरोमानियन - किन्यारवाण्डा - संस्कृत - सन्डावे - याकूत - दक्षिण अमेरीकी इंडियन भाषा - सलीशन भाषा - सामैरिटन अरैमिक - सासाक - संताली - सार्दिनियन - सिसिलियन - स्कॉट्स - सिन्धी - नॉर्दन सामी - सेल्कप - सेमिटिक भाषा - सांगो - पुरानी आइरिश - सांकेतिक भाषा - सेर्बो-क्रोएशन् - शैन - शिंघालीस् - सिदामो - सिउआन भाषा - चीनी-तिब्ब्ती भाषा - स्लोवाक् - स्लोवेनियन् - स्लोवियाई भाषा - सामोन - दक्षिण सामी - सामी भाषा - ल्युल सामी - इनारी सामी - स्कोल्ट सामी - सोणा - सोनिन्के - सोमाली - सोग्डिएन - सोन्घाई - अल्बेनियन् - सर्बियन् - स्रानान टॉन्गो - सेरेर - स्वाती - नील सहारी भाषा - सेसोथो - सुंडानी - सुकुमा - सुसु - सुमेरियन - स्विडिश - स्वाहिली - क्लासिकल सिरिएक - सिरिएक - तमिल - ताई भाषा - तेलेगु - टिम्ने - तेरेनो - तेतुम - ताजिक् - थाई - तिग्रीन्या - टाइग्रे - तिव - तुक्रमेन - तोकेलाऊ - तागालोग - क्लिंगन - त्लिंगित - तामाशेक - सेत्स्वाना - टोंगा - न्यासा टोन्गा - टोक पिसिन - तुर्की - सोंगा - त्सिमीशियन - टाटर - तम्बूका - ट्यूपी भाषा - अल्तैक भाषा - तुवालु - ट्वी - ताहितियन - तुवीनियन - उदमुर्त - उईघुर - युगैरिटिक - यूक्रेनी - उम्बुन्डु - अज्ञात या अवैध भाषा - उर्दू - उज़्बेक - वाई - वेन्दा - वियेतनामी - वोलापुक - वॉटिक - वाल्लून - वाकाशन भाषा - वलामो - वारै - वाशो - सॉर्बियन भाषा - वोलोफ - काल्मिक - षोसा - याओ - यापीस - येहुदी - योरूबा - यूपिक भाषा - ज़ुआंग - ज़ेपोटेक - ब्लिसिम्बॉल्स - ज़ेनान्गा - चीनी - चीनी (सरलीकृत) - चीनी (पारम्परिक) - ज़न्डे - ज़ुलू - ज़ूनी - कोई लिंग्विस्ट सामग्री नहीं - ज़ाज़ा - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - दुनिया - अफ्रीका - उत्तर अमेरिका - दक्षिण अमेरिका - ओशिआनिया - पश्चिमी अफ्रीका - मध्य अमरीका - पूर्वी अफ्रीका - उत्तरी अफ्रीका - मध्य अफ्रीका - दक्षिणी अफ्रीका - अमेरीकास - उत्तरी अमेरिका - कैरिबियन - पूर्वी एशिया - दक्षिणी एशिया - दक्षिण-पूर्व एशिया - दक्षिणी यूरोप - ऑस्ट्रेलिया एवं न्यूजीलैंड - मेलानेशिया - माइक्रोनेशियन रीजन - पोलीनेशिया - दक्षिण-मध्य एशिया - एशिया - मध्य एशिया - पश्चिमी ऐशिया - यूरोप - पूर्वी यूरोप - उत्तरी यूरोप - पश्चिमी यूरोप् - कॉमनवेल्थ ऑफ इंडिपेंडेंट स्टेट्स - चेकोस्लवाकिया - लेटिन अमेरिका और कैरिबियन - चैनल द्वीपसमूह - अन्डोरा - संयुक्त अरब अमीरात - अफ़गानिस्तान - एंटिगुआ और बरबुडा - एंगुइला - अल्बानिया - आर्मेनिया - नीदरलैंड्स एंटिलीज़ - अंगोला - अंटार्कटिका - अर्जेन्टीना - अमेरिकी समोआ - ऑस्ट्रिया - ऑस्ट्रेलिया - अरूबा - एलैंड द्वीपसमूह - अज़रबैजान - बोस्निया और हर्ज़िगोविना - बारबाडोस - बांग्लादेश - बेल्जियम - बुर्किना फ़ासो - बुल्गारिया - बाहरेन - बुरुंडी - बेनिन - सेंट बार्थेलेमी - बरमूडा - ब्रुनेई - बोलीविया - ब्राजील - बहामा - भूटान - बौवेत द्वीप - बोत्स्वाना - बेलारूस - बेलिज - कनाडा - कोकोस द्वीप - कोंगो जनतांत्रिक गणतंत्र - सेंट्रल अफ्रीकन रिपब्लिक - कांगो - स्विस - आईवरी कोस्ट - कुक द्वीपसमूह - चिली - कैमरून - चीन - कोलम्बिया - कोस्टारीका - सर्बिया व मॉण्टेनेग्रो - क्यूबा - कैप वर्डे - क्रिसमस द्वीप - साइप्रस - चेक गणराज्य - जर्मनी - जिबूती - डेनमार्क - डोमिनिक - डोमिनिकन गणराज्य - अल्जीरिया - इक्वाडोर - एस्टोनिया - मिस्र - पश्चिमी सहारा - इरिट्रिया - स्पेन - इथियोपिया - फिनलैंड - फिजी - फ़ॉकलैंड द्वीप - माइक्रोनेशिया - फरोए द्वीप - फ्रांस - गैबॉन - ब्रितन - ग्रेनेडा - जॉर्जिया - फ़्रांसीसी गिआना - ग्वेर्नसे - घाना - जिब्राल्टर - ग्रीनलैण्ड - गाम्बिया - गिनी - ग्वाडेलोप - इक्वेटोरियल गिनी - ग्रीस - दक्षिण जोर्जिया और दक्षिण सैंडविच द्वीपसमूह - गोतेदाला - गुआम - गीनी-बिसाउ - गुयाना - हांगकांग विशेष प्रशासनिक क्षेत्र चीन - हर्ड द्वीप और मैकडोनॉल्ड द्वीप - हाण्डूरस - क्रोशिया - हाइती - हंगरी - इंडोनेशिया - आयरलैंड - इसराइल - आइल ऑफ मैन - भारत - ब्रिटिश हिंद महासागरीय क्षेत्र - इराक - ईरान - आइसलैंड - इटली - जर्सी - जमाइका - जोर्डन - जापान - केन्या - किर्गिज़तान - कम्बोडिया - किरिबाती - कोमोरोस - सेंट किट्स और नेविस - उत्तर कोरिया - दक्षिण कोरिया - कुवैत - केमैन द्वीपसमूह - कजाखस्तान - लाओस - लेबनान - सेंट लूसिया - लिकटेंस्टीन - श्रीलंका - लाइबेरिया - लेसोथो - लिथुआनिया - लक्समबर्ग - लात्विया - लीबिया - मोरक्को - मोनाको - मोल्डाविया - मोंटेनेग्रो - सेंट मार्टिन - मैडागास्कर - मार्शल द्वीप - मैसेडोनिया - माली - म्यानमार - मंगोलिया - मकाओ चीन - नॉर्दन मारियाना द्वीपसमूह - मार्टीनिक - मॉरिटानिया - मॉन्ट्सेराट - माल्टा - मॉरिशस - मालदीव - मलावी - मेक्सिको - मलेशिया - मोजाम्बिक - नामीबिया - न्यू कैलेडोनिया - नाइजर - नॉरफ़ॉक द्वीप - नाइजीरिया - निकारागुआ - नीदरलैण्ड - नॉर्वे - नेपाल - नाउरु - नीयू - न्यूज़ीलैंड - ओमान - पनामा - पेरू - फ़्रांसीसी पॉलिनेशिया - पापुआ न्यू गिनी - फिलीपिंस - पाकिस्तान - पोलैंड - सेंट पिएरे और मिक्वेलन - पिटकैर्न - पर्टो रीको - फ़िलिस्तीन - पुर्तगाल - पलाऊ - पारागुए - कतर - आउटलाइंग ओशिनिया - यूरोपीय संघ - रियूनियन - रोमानिया - सर्बिया - रूस - रूआण्डा - सऊदी अरब - सोलोमन द्वीप - सेशेल्स - सूडान - स्वीडन - सिंगापुर - सेंट हेलेना - स्लोवेनिया - स्वालबर्ड और जान मायेन - स्लोवाकिया - सियरालेओन - सैन मेरीनो - सेनेगल - सोमालिया - सुरिनाम - साउ-तोम-प्रिंसिप - अल साल्वाडोर - सीरिया - सुआजीलैंड - तुर्क् और् कैकोज़ द्वीप - चाड - फ़्रांसीसी दक्षिणी क्षेत्र - टोगो - थाइलैंड - ताजिकिस्तान - तोकेलाउ - पूर्वी तिमोर - तुर्कमेनिस्तान - तुनिशिया - टोंगा - तुर्की - त्रिनिडाड और टोबैगो - तुवालु - ताइवान - तंजा़निया - यूक्रेन - युगांडा - युनाइटेड स्टेट्स माइनर आउटलाइंग द्वीपसमूह - संयुक्त राज्य अमेरिका - युरूगुए - उजबेकिस्तान - वैटिकन - सेंट विनसेंट एंड ग्रेनाडाइन्स - वेनेजुएला - ब्रिटिश वर्जिन द्वीपसमूह - अमेरिकी वर्जिन टापू - वियतनाम - वानुअतु - वालिस और फ़्यूचूना - समोआ - यमन - मैयट - दक्षिण अफ्रीका - जाम्बिया - जिम्बाब्वे - अज्ञात या अवैध क्षेत्र - - - पारम्पारिक जर्मन वर्तनी - जर्मेनी की 1996 वर्तनी - पूर्वी अर्मेनियाई - एकस्वरीय - जीवा बोली - बहुस्वरीय - कम्प्यूटर - संशोधित वर्तनी - - - पंचाग - मिलान - मुद्रा - - - पारम्पारिक चीनी वर्गीकरण - बौद्ध पंचांग - चीनी पंचांग - प्रत्यक्ष वर्गीकरण - सरलीकृत चीनी वर्गीकरण - ग्रेगरी पंचांग - हिब्रू पंचांग - भारतीय पंचांग - इस्लामी पंचांग - इस्लामी नागरिक पंचांग - जापानी पंचांग - दूरभाष निर्देशिका वर्गीकरण - पिनयीन वर्गीकरण - चीनी गणतंत्र पंचांग - स्ट्रोक वर्गीकरण - पारम्पारिक वर्गीकरण - - - यूएस - मेट्रिक - - - - [ॐ ०-९ अ-ऍ ए-ऑ ओ-न प-र ल ळ व-ह ़ ँ-ः ऽ ् ा-ॅ े-ॉ ो ौ] - [\u200C \u200D] - [a-c č d-l ł m-o º p-z] - - - ' - ' - " - " - - - - - - - - मस्केरेम - टेकेम्ट - हेदर - तहसास - टर - येकाटिट - मेगाबिट - मियाज़िया - गनबोट - सेन - हम्ले - नेहासे - पागूमन - - - - - - - - - जनवरी - फरवरी - मार्च - अप्रैल - मई - जून - जुलाई - अगस्त - सितम्बर - अक्तूबर - नवम्बर - दिसम्बर - - - ज - - - जनवरी - फरवरी - मार्च - अप्रैल - मई - जून - जुलाई - अगस्त - सितम्बर - अक्तूबर - नवम्बर - दिसम्बर - - - - - ज - फ़ - मा - अ - म - जू - जु - अ - सि - अ - न - दि - - - - - - - रवि - सोम - मंगल - बुध - गुरु - शुक्र - शनि - - - रविवार - सोमवार - मंगलवार - बुधवार - गुरुवार - शुक्रवार - शनिवार - - - - - र - सो - मं - बु - गु - शु - श - - - - - - - द्वितीय चौथाई - - - प्रथम चौथाई - द्वितीय चौथाई - तृतीय चौथाई - चतुर्थ चौथाई - - - - - 1 - 2 - - - प्रथम चौथाई - - - - AM - PM - - - ईसापूर्व - सन - - - - - - EEEE, d MMMM y - - - - - d MMMM y - - - - - dd-MM-yyyy - - - - - d-M-yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - EEEE,dd MMMM GGGGy - HH:mm - HH:mm:ss - H:mm - E, d/M - E, d MMM - E, d MMMM - d MMMM - d MMM - dd MMM - dd-MM - d/M - d - hh:mm a - hh:mm:ss a - mm:ss - y - M-y - MMM y - EEE, d MMM y - y Q - EEE, d MMM yy - d MMM, yy - dd-MM-yy - Q yy - MM-yyyy - MMMM y - - - - - काल - - - साल - - - महीना - - - सप्ताह - - - दिन - Yesterday - Today - Tomorrow - - - सप्ताह का दिन - - - घंटा - - - मिनट - - - सेकेंड - - - क्षेत्र - - - - - - - - चैत्र - वैशाख - ज्येष्ठ - असध - श्रावण - भाद्र - अश्विन - कार्तिक - अग्रायण - पौष - माघ - फाल्गुन - - - चैत्र - वैशाख - ज्येष्ठ - असध - श्रावण - भाद्रपद - अश्विन - कार्तिक - अग्रायण - पौष - माघ - फाल्गुन - - - - - - - - - मुहर्रम - सफर - राबी प्रथम - राबी द्वितीय - जुम्डा प्रथम - जुम्डा द्वितीय - रजब - शावन - रमजान - शव्व्ल - - - मुहर्रम - सफर - राबी प्रथम - राबी द्वितीय - जुम्डा प्रथम - जुम्डा द्वितीय - रजब - शावन - रमजान - शव्व्ल - - - - - मुहर्रम - सफर - राबी प्रथम - राबी द्वितीय - जुम्डा प्रथम - जुम्डा द्वितीय - रजब - शावन - रमजान - शव्व्ल - - - - - - - - ताएका - हाकूची - हाकूहो - शूचो - ताहिओ - केउन - वाडू - रैकी - योरो - टेम्प्यो - टेम्प्यो-काम्पो - टेम्प्यो-शोहो - टेम्प्यो-होजी - टेम्प्यो-जिंगो - टेम्प्यो-किउन - होकी - टेनो - इंर्याकू - डाईडू - क़ोनिन - टेंचो - शोवा - काज्यो - निंजू - शाईकू - टेनन - जोगन् - गेंकेई - निन्ना - केम्प्यो - शूताई - ईंगी - ईंचो - शोहेई - टेंग्यो - टेंर्याकू - टेंटूकू - ओवा - कोहो - अन्ना - टेंरोकू - टेन-एन - जोगन् - टेंगेन - ईकान - कन्ना - ई-एन - एइसो - चोटूकु - चोहो - कंको - च्योवा - कन्निन - ज़ियान - मंजू - चोगन - चोर्याकू - चोक्यु - कांटूको - ईशो - टेंगी - कोहैइ - जिर्याकू - ईंक्यू - सोहो - शोर्याकू - ईहो - ओटूको - कांजि - कोहो - ईचो - शोटूको - कोवा - चोजी - काशो - टेन्निन - टेन-ई - ईक्यू - जेन-ई - होआन - तेंजी - दाईजी - टेंशो - चोशो - होएन - ईजी - टेन्यो - क्यूआन - निंपैई - क्योजो - होगेन - हैजी - ईर्याकू - ओहो - चोकान - ईमान - निन-आन - काओ - शोअन - अंजन - जिशो - योवा - जूऐई - जेंर्याकू - बूंजी - केंक्यू - शोजी - केन्निन - जेंक्यू - केन-ई - शोगेन - केंर्याकू - केंपो - शोक्यू - जू - जेन्निन - कोरोकू - अंटैइ - कांकी - जोएई - टेम्पूकू - बुंर्याकू - काटेई - र्याकूनिन - ईन-ओ - निंजी - होजी - केंचो - कोगेन - शोका - शोगेन - बुन-ओ - कोचो - बुन-ई - केंजी - कोअन - शो - ईनिन - शोअन - केंजेन - काजेन - टोकूजी - ईंकेई - ओचो - शोवा - बुंपो - जेनो - जेंक्यो - शोचू - कारेकी - जेंटोकू - गेंको - केम्मू - ईंजेन - कोकोकू - शोहेई - केंटोकू - बूंचो - टेंजो - कोर्याकू - कोवा - जेंचू - मेटोकू - काकेई - कू - ओई - शोचो - ईक्यो - काकीत्सू - बुन-अन - होटोकू - क्योटोकू - कोशो - चोरोकू - कांशो - बुंशो - ओनिन - बुन्मेई - चोक्यो - ईंटोकू - मेईओ - बुंकी - ईशो - ताईएई - क्योरोकू - टेन्मन - कोजी - ईरोकू - जेंकी - टेंशो - बुंरोकू - केईचो - जेनवा - कान-एई - शोहो - केईआन - शो - मेईर्याकू - मानजी - कनबुन - ईंपो - टेंवा - जोक्यो - जेंरोकू - शोटूको - क्योहो - जेंबुन - कांपो - इंक्यो - कान-एन - होर्याकू - मेईवा - अन-एई - टेनमेई - कांसेई - क्योवा - बुंका - बुंसेई - टेंपो - कोका - काईए - अंसेई - मान-ईन - बुंक्यौ - जेंजी - केईओ - मेजी - ताईशो - शोवा - हेईसेई - - - ताएका - हाकूची - हाकूहो - शूचो - ताहिओ - केउन - वाडू - रैकी - योरो - जिंकी - टेम्प्यो - टेम्प्यो-काम्पो - टेम्प्यो-शोहो - टेम्प्यो-होजी - टेम्प्यो-जिंगो - टेम्प्यो-किउन - होकी - टेनो - इंर्याकू - डाईडू - क़ोनिन - टेंचो - शोवा - काज्यो - निंजू - शाईकू - टेनन - जोगन् - गेंकेई - निन्ना - केम्प्यो - शूताई - ईंगी - ईंचो - शोहेई - टेंग्यो - टेंर्याकू - टेंटूकू - ओवा - कोहो - अन्ना - टेंरोकू - टेन-एन - जोगन् - टेंगेन - ईकान - कन्ना - ई-एन - एइसो - शोर्याकू - चोटूकु - चोहो - कंको - च्योवा - कन्निन - ज़ियान - मंजू - चोगन - चोर्याकू - चोक्यु - कांटूको - ईशो - टेंगी - कोहैइ - जिर्याकू - ईंक्यू - सोहो - शोर्याकू - ईहो - ओटूको - कांजि - कोहो - ईचो - शोटूको - कोवा - चोजी - काशो - टेन्निन - टेन-ई - ईक्यू - जेन-ई - होआन - तेंजी - दाईजी - टेंशो - चोशो - होएन - ईजी - कोजी - टेन्यो - क्यूआन - निंपैई - क्योजो - होगेन - हैजी - ईर्याकू - ओहो - चोकान - ईमान - निन-आन - काओ - शोअन - अंजन - जिशो - योवा - जूऐई - जेंर्याकू - बूंजी - केंक्यू - शोजी - केन्निन - जेंक्यू - केन-ई - शोगेन - केंर्याकू - केंपो - शोक्यू - जू - जेन्निन - कोरोकू - अंटैइ - कांकी - जोएई - टेम्पूकू - बुंर्याकू - काटेई - र्याकूनिन - ईन-ओ - निंजी - कांजेन - होजी - केंचो - कोगेन - शोका - शोगेन - बुन-ओ - कोचो - बुन-ई - केंजी - कोअन - शो - ईनिन - शोअन - केंजेन - काजेन - टोकूजी - ईंकेई - ओचो - शोवा - बुंपो - जेनो - जेंक्यो - शोचू - कारेकी - जेंटोकू - गेंको - केम्मू - ईंजेन - कोकोकू - शोहेई - केंटोकू - बूंचो - टेंजो - कोर्याकू - कोवा - जेंचू - मेटोकू - काकेई - कू - मेटोकू - ओई - शोचो - ईक्यो - काकीत्सू - बुन-अन - होटोकू - क्योटोकू - कोशो - चोरोकू - कांशो - बुंशो - ओनिन - बुन्मेई - चोक्यो - ईंटोकू - मेईओ - बुंकी - ईशो - ताईएई - क्योरोकू - टेन्मन - कोजी - ईरोकू - जेंकी - टेंशो - बुंरोकू - केईचो - जेनवा - कान-एई - शोहो - केईआन - शो - मेईर्याकू - मानजी - कनबुन - ईंपो - टेंवा - जोक्यो - जेंरोकू - होएई - शोटूको - क्योहो - जेंबुन - कांपो - इंक्यो - कान-एन - होर्याकू - मेईवा - अन-एई - टेनमेई - कांसेई - क्योवा - बुंका - बुंसेई - टेंपो - कोका - काईए - अंसेई - मान-ईन - बुंक्यौ - जेंजी - केईओ - मेजी - ताईशो - शोवा - हेईसेई - - - म - ट - स - ह - - - - - - - - फर्वादिन - ओर्दिवेहेस्ट - खोरर्दाद - टिर - मोरदाद - शाहरीवर् - मेहर - अवन - अज़र - डे - बहमन - ईस्फन्द् - - - फर्वादिन - ओर्दिवेहेस्ट - खोरर्दाद - टिर - मोरदाद - शाहरीवर् - मेहर - अवन - अज़र - डे - बहमन - ईस्फन्द् - - - - - फर्वादिन - ओर्दिवेहेस्ट - खोरर्दाद - टिर - मोरदाद - शाहरीवर् - मेहर - अवन - अज़र - डे - बहमन - ईस्फन्द् - - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - अज्ञात - - - अंडोरा - - - दुबई - - - काबूल - - - एंटिगुआ - - - एंग्विला - - - टिरेन - - - येरेवन - - - क्यूराकाओ - - - लूएंडा - - - रोथेरा - - - पॉमर - - - दक्षिणी ध्रुव - - - स्योवा - - - मॉसन - - - डेविस - - - वोस्तोक - - - क़ेसी - - - डुमोंट ड'अर्विल - - - मैकमुर्डो - - - रियो गालेगोस - - - मेंडोजा - - - सान जुआन - - - उशूयिया - - - ला रिओजा - - - सान लुईस - - - कटामार्का - - - जुजोए - - - टोकूमन - - - कोर्डोवा - - - ब्यूनस आयरस - - - पागो पागो - - - वियना - - - पर्थ - - - यूक्ला - - - डार्विन् - - - एडिलेड - - - ब्रोकन हिल - - - क्यूरी - - - मेलबोर्न - - - होबर्ट् - - - लिंडेमान - - - सिडनी - - - ब्रिसबेन - - - लोर्ड होवे - - - अरूबा - - - बाकू - - - बारबाडोस - - - ढाका - - - ब्रसल्स - - - ओआगदूगू - - - सोफ़िया - - - बहरीन - - - बुजुम्बुरा - - - पोर्टो-नोवो - - - बरमूडा - - - ब्रूनेइ - - - ला पाज़ - - - ईरुनेपे - - - रियो ब्रान्को - - - पोर्टो वेल्हो - - - बोआ विस्ता - - - मनौस - - - कूईआबा - - - केम्पो ग्रान्दे - - - बेलेम - - - ऐरेग्वेना - - - साओ पॉलो - - - बहिया - - - फ़ोर्टालेज़ा - - - मेसीओ - - - रेचीफ़े - - - नोरोन्हा - - - नस्साउ - - - थिम्फू - - - गैबोरोन - - - मिंस्क - - - बेलिज़े - - - डौसन - - - व्हाईटहोर्स - - - इनूविक - - - वांकूवर - - - डौसन क्रिक - - - येलोनाईफ - - - एडमंटन - - - स्विफ्ट करंट - - - केम्ब्रिज खाड़ी - - - रेजिना - - - विनीपेग - - - रिसोल्यूट - - - रेनी नदी - - - रेंकिन इंलेट - - - कोरल बन्दरगाह - - - थंडर खाडी - - - निपिगन - - - टोरंटो - - - मोंट्रियल - - - इक्याल्यूईत - - - पंग्निर्टंग् - - - मोंक्ट्न - - - हेलिफेक्स - - - गूस खा़ड़ी - - - ग्लेस खा़ड़ी - - - ब्लांक-सेबलोन - - - सेंट जोंस - - - कोकोस - - - किन्शासा - - - लुबुमबाशी - - - बैंगुइ - - - ब्राज़ाविल - - - ज़्यूरिक - - - अबिद्जान - - - रारोटोंगा - - - ईस्टर - - - सेंटिएगो - - - दोआला - - - काश्गर - - - उरम्ची - - - चोंग्पिंग - - - हर्बिन - - - बोगोटा - - - कोस्टा रिका - - - हवाना - - - केप वर्डे - - - क्रिसमस - - - निकोसिया - - - बर्लिन - - - डिजिबौटी - - - कोपनहेगन - - - डॉमिनिका - - - संटो डोमिंगो - - - अल्जीरिया - - - गेलापगोस - - - ग्वायाक्विल - - - टैलिन - - - कायरो - - - एल आइउन - - - असमेरा - - - कैनेरी - - - क्यूटा - - - मैड्रिड - - - ऐडिस अबाबा - - - हेल्सिंकी - - - फ़िजी - - - स्टैन्ली - - - ट्रुक - - - पोनापे - - - कोसराए - - - फ़ैरो - - - पेरिस - - - लिबरविल - - - लंदन - - - ग्रेनाडा - - - बिलिसी - - - कयेन - - - ऐक्रा - - - जिब्राल्टर - - - थ्यूले - - - गॉडथैब - - - स्कोर्सबाइसंड - - - डेनमार्क्षवन - - - बनजुल - - - कोनाक्री - - - गौडलोप - - - मालाबो - - - एथेंस - - - साउथ जॉर्जिया - - - ग्वाटेमाला - - - ग्वाम - - - बिस्साउ - - - गुयाना - - - हाँगकाँग - - - पोर्ट-आउ-प्रिंस - - - बुडापेस्ट - - - जकार्ता - - - पोंतिआंक - - - मकस्सर - - - जयापुरा - - - डबलिन - - - येरुसलम - - - चागोस - - - बगदाद - - - तेहरान - - - रेक्याविक - - - रोम - - - जमैका - - - अम्मान - - - टोक्यो - - - नैरोबी - - - बिश्केक - - - नोम पेन्ह - - - एंडरबेरी - - - किरीतिमाति - - - टरावा - - - कोमोरो - - - सेंट किट्ट्स - - - प्योंगयांग - - - सोल - - - कुवैत - - - केमन - - - अक्ताउ - - - ओरल - - - अक्टोब - - - केज़ेलोर्डा - - - अल्माटी - - - वियंतियेन - - - बेरुत - - - सेंट लुसीया - - - वादुज़ - - - कोलंबो - - - मोन्रोविया - - - मसेरू - - - विल्निअस - - - लक्ज़मबर्ग - - - रिगा - - - त्रिपोली - - - कैसाब्लैंका - - - मोनाको - - - चिसीनौ - - - ऐंटनानरीवो - - - क्वजलेन - - - मजूरो - - - बमाको - - - रंगून - - - होव्ड - - - उलानबाटर - - - चोइबालसन - - - मकाऊ - - - सइपान - - - मारटीनीक - - - नौवाक्चॉट - - - मोन्त्सेरत - - - माल्टा - - - मॉरिशस - - - मालदीव - - - ब्लैंटायर - - - टिज्यूआना - - - हर्मोसिल्लो - - - म्जाटलान - - - चिहुआहुआ - - - मोंटेरे - - - मेक्सिको सिटी - - - मेरिडा - - - कैन्कन - - - क्वाला लम्पुर - - - कूचिंग - - - माइपुटो - - - विन्डोएक - - - नूमिया - - - न्यामे - - - नोर्फ़ोक - - - लागोस - - - मनागुआ - - - ऐम्स्टरडम - - - ओस्लो - - - काठमांडू - - - नौरू - - - नियु - - - चाथम - - - औकलैंड - - - मस्कट - - - पनामा - - - लीमा - - - टहीटि - - - मार्केसस - - - गैम्बियर - - - पोर्ट मोरेस्बाइ - - - मनीला - - - कराची - - - वॉरसा - - - मिक्वेलोन - - - पिट्कैर्न - - - प्योर्तो रिको - - - गाज़ा - - - अज़ोरस - - - मडेएरा - - - लिस्बन - - - पलाऊ - - - ऐसन्क्षन - - - क़तर - - - रियूनियन - - - बुक्कारेस्ट - - - कालिनिंग्राड - - - मॉस्को - - - वोल्गोग्रेड - - - समारा - - - येकांतिरिंबर्ग - - - ओम्स्क - - - नॉवोसिविर्स्क् - - - क्रास्नोयार्स्क - - - ईर्कुत्स्क - - - याकूत्स्क - - - ब्लाडिवोस्टोक - - - सखालिन - - - मगादन - - - कमचटका - - - अनाडाइर - - - किगालि - - - रियाध - - - ग्वाडलकनाल - - - माहे - - - खार्तूम - - - स्टॉकहोम - - - सिंगापुर - - - सेंट हेलेना - - - फ़्रीटाउन - - - डकार - - - मोगाडिशू - - - परामरीबो - - - साओ टोम - - - सैल्वेडोर - - - दमास्कस - - - म्बाबेन - - - ग्रैँड तुर्क - - - जमेना - - - कर्ग्वेलेन - - - लोम - - - बैंगकॉक - - - दुशांबे - - - फ़काओफ़ो - - - डिली - - - अश्गाबात - - - ट्यूनिस - - - टोंगाटापू - - - इस्तानबुल - - - पोर्ट ऑफ़ स्पेन - - - फ़ुनाफ़ूटी - - - ताइपेइ - - - दार एस सलाम - - - उझ्गोरोड् - - - कीव - - - सिम्फेरोपोल - - - झापोरोझे - - - कम्पाला - - - मिडवे - - - जॉनस्टन - - - वेक - - - अडक - - - नोम - - - हॉनॉलुलु - - - अलास्का - - - यकूतत - - - जुनेऔ - - - लोस एंजिलेस - - - बोईस - - - फोनिक्स - - - शिपरेक - - - डेनवर - - - न्यू सालेम - - - मध्य, उत्तरी दाकोता - - - शिकागो - - - मेनोमिनी - - - विंसिनेस - - - पिटर्स्वर्ग - - - टेल सिटी - - - नौक्स, इंडियाना - - - विनामेक - - - मारेंगो - - - इन्डियानापोलिस - - - लोईसविले - - - विवे - - - मोंटीसेलो - - - डेट्रोईट - - - न्यूयार्क - - - मोन्टेवीडियो - - - समरकंड - - - ताशकंद - - - सेंट विंसेंट - - - काराकस - - - टॉरटोला - - - सेंट टॉमस - - - साइगॉन - - - एफ़ेट - - - वालिस - - - एपिया - - - ऐडेन - - - मायोत्ते - - - जोहानसबर्ग - - - लुसाका - - - हरारे - - - - भारतीय समय - - true - - - - - deva - - . - , - ; - % - ० - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##,##0.### - - - - - - - #E0 - - - - - - - #,##,##0% - - - - - - - ¤ #,##,##0.00 - - - {0} {1} - {0} {1} - - - - संयुक्त अरब अमीरात दिर्हाम - - - अफगानी (1927-2002) - - - अफगानी - - - अरमेनियाई दरम - - - अर्जेण्टीनी पीसो - - - ऑस्ट्रेलियाई डॉलर - - - बुल्गारियाई लेव् - - - बोलिवियाई बोलिवियानो - - - रीयाल - - - कनेडियन डॉलर - - - स्विस फ़्रैंक - - - चिली पीसो - - - युवान - - - कोलम्बियाई पीसो - - - सर्बिय का ढीनार - - - साईप्रस पाऊंड - - - चेक कोरुना - - - डच मार्क - - - डेनमार्क क्रोन - - - अल्जीरीयाई दिनार - - - एस्टोनियाई क्रून् - - - मिस्री पाउण्ड - - - युरो - - - फ़िजी का डालर - - - फ़्रांसीसी फ़्रैंक - - - ब्रितन का पौन्ड स्टर्लिग - - - हाँगकाँग डॉलर - - - क्रोएशियन दिनार - - - क्रोएशियाई कुना - - - हंगरी फोरेंट् - - - इण्डोनेशियाई रुपिया - - - इस्राइली शेकेल - - - भारतीय रूपया - रु. - - - इराकी दिनार - - - इतली का लीरा - - - जापानी येन - - - उत्तर कोरियाई वोन - - - दक्षिण कोरियाई वोन - - - कुवैती दिनार - - - लेबनानी पाउंड - - - श्रीलंकाई रुपया - - - लाईबेरीयाई डालर - - - लिथुआनियाई लितास - - - मोराक्को दिरहम - - - मोरक्को फ्रैंक - - - मेक्सिको पेसो - - - मलेशियाई रिंगित - - - नामीबियाई डालर - - - नॉर्वे क्रोन - - - नेपाली रुपया - - - न्यूज़ीलैंड डॉलर - - - ओमानी रियाल - - - पेरुवाई न्यूवो सोल - - - फ़िलिपीनी पीसो - - - पाकिस्तानी रुपया - - - पोलिश ज़्लॉटी - - - रोडेशियाई डालर - - - रोमानियाई ल्यू - - - सर्बियन दिनार - - - रूसी रूबल - - - रवांडाई फ्रैंक - - - सउदी रियाल - - - पुरानी सूडानी दिनार - - - सूडानी पाउंड - - - पुराना सूडानी पाउंड - - - स्वीडन क्रोना - - - सिंगापुर डॉलर - - - स्लोवेनियाई तोलार - - - स्लोवाक कोरुना - - - सोमाली शिलिंग - - - सूरीनामी डालर - - - सूरीनामी गिल्डर - - - सोवियत रूबल - - - सीरियाई पाउंड - - - थाई बाहत - - - तजाखी रूबल - - - तजाखी सोमोनी - - - पुरानी तुर्की लीरा - - - नई तुर्की लीरा - - - नया ताईवानी डॉलर - - - अमरीकी डालर - - - अमेरीकी डालर (कल) - - - अमेरीकी डालर (आज) - - - वेनेज़ुएलाई बोलिवार - - - वियतनामी डोंग - - - अज्ञात या अवैध मुद्रा - - - दक्षिण अफ़्रीकी रॅण्ड - - - - - - {0} दिन - {0} दिन - - - {0} घंटा - {0} घंटे - - - {0} मिनट - {0} मिनट - - - {0} महीना - {0} महीने - - - {0} सेकंड - {0} सेकंड - - - {0} सप्ताह - {0} सप्ताह - - - {0} साल - {0} साल - - - - - हाँ - नहीं - - - - diff --git a/lib/zend/Zend/Locale/Data/hi_IN.xml b/lib/zend/Zend/Locale/Data/hi_IN.xml deleted file mode 100644 index 1b823430f3..0000000000 --- a/lib/zend/Zend/Locale/Data/hi_IN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/hr.xml b/lib/zend/Zend/Locale/Data/hr.xml deleted file mode 100644 index ea168dad53..0000000000 --- a/lib/zend/Zend/Locale/Data/hr.xml +++ /dev/null @@ -1,3705 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - afarski - abhaski - achinese - acoli - adangme - adigejski - avestan - afrikaans - ostali afričko-azijski - afrihili - ainu - akanski - akkadian - aleutski - algonquian - južni altai - amharik - aragonski - staroengleski - angika - apaški - arapski - aramejski - araukanski - arapaho - umjetni jezik - arawak - asamski - asturijski - athapascan - australski - avarski - awadhi - aymara - azerbajdžanski - baškirski - banda - bamileke - baluchi - balinezijski - basa - baltički - bjeloruski - beja - bemba - berberski - bugarski - bihari - bhojpuri - bislama - bikol - bini - siksika - bambara - bengalski - bantu - tibetanski - bretonski - braj - bosanski - batak - buriat - buginski - blin - katalonski - caddo - jezik srednjoameričkih Indijanaca - karipski - kavkaski - atsam - čečenski - cebuano - keltski - chamorro - chibcha - chagatai - chuukese - mari - chinook žargon - choctaw - chipewyan - čeroki - čejenski - chamic - korzički - koptski - engleski - na osnovi kreolskog ili pidgin - francuski - na osnovi kreolskog ili pidgin - kreolski ili pidgin na osnovi portugalskog - cree - krimski turski - kreolski ili pidgin - češki - kašupski - crkvenoslavenski - kušitski - chuvash - velški - danski - dakota jezik - dargwa - dayak - njemački - austrijski njemački - gornjonjemački (švicarski) - delavarski - slave - dogrib - dinka - dogri - dravidski - lužičkosrpski - duala - nizozemski, srednji - divehi - dyula - dzongkha - ewe - efik - staroegipatski - ekajuk - grčki - elamitski - engleski - engleski (australski) - kanadski engleski - engleski (britanski) - engleski (američki) - engleski, srednji - esperanto - španjolski - španjolski (latinoamerički) - iberski španjolski - estonijski - baskijski - ewondo - perzijski - fang - fanti - fulah - finski - filipino - ugro-finski jezik - fidžijski - faroanski - fon - francuski - kanadski francuski - švicarski francuski - francuski, srednji - starofrancuski - sjevernofrizijski - istočnofrizijski - friulski - frizijski - irski - ga - gayo - gbaya - škotski-galski - germanski - staroetiopski - gilbertski - galicijski - njemački, srednji visoki - guarani - staronjemački, visoki - gondi - gorontalo - gothic - grebo - starogrčki - švicarski njemački - gujarati - manx - gwich'in - hausa - haidi - havajski - hebrejski - hindu - hiligaynon - himachali - hetitski - hmong - hiri motu - hrvatski - gornjolužički - kreolski - mađarski - hupa - armenski - herero - interlingua - iban - indonezijski - interligua - igbo - sichuan yi - ijo - inupiaq - iloko - indijski - indoeuropski - ingušetski - ido - iranski - irokeški - islandski - talijanski - inuktitut - japanski - lojban - judejsko-perzijski - judejsko-arapski - javanski - gruzijski - kara-kalpak - kabyle - kachin - kaje - kamba - karen - kawi - kabardian - tyap - koro - kongo - khasi - kojsanski - khotanese - kikuyu - kuanyama - kazaški - kalaallisut - kmerski - kimbundu - kannada - korejski - konkani - naurski - kpelle - kanuri - karachay-balkar - karelijski - kru - kuruški - kašmirski - kurdski - kumyk - kutenai - komi - kornski - kirgiški - latinski - ladino - lahnda - lamba - luksemburški - lezgiški - ganda - limburgish - lingala - laoski - mongo - lozi - litvanski - luba-katanga - luba-lulua - luiseno - lunda - luo - lushai - latvijski - madurski - magahi - maithili - makasar - mandingo - austronezijski - masajski - moksha - mandar - mende - malgaški - irski, srednji - maršalski - maorski - micmac - minangkabau - ostali jezici - makedonski - mkh - malayalam - mongolski - mandžurski - manipurski - manobo - moldavski - mohawk - mossi - marathi - malajski - malteški - više jezika - munda - creek - mirandski - marwari - burmanski - majanski - mordvinski - nauru - nahuatl - jezik sjevernoameričkih Indijanaca - napolitanski - književni norveški - sjeverni ndebele - donjonjemački - nepalski - newari - ndonga - nias - nigersko-kordofanski - niujski - nizozemski - flamanski - novonorveški - norveški - nogajski - staronorveški - n'ko - južni ndebele - sjeverni sotho - nubijski - navajo - klasični newari - nyanja - nyamwezi - nyankole - nyoro - nzima - okcitanski - ojibwa - oromo - orijski - osetski - osage - turski - otomanski - otomijski - punjabi - papuanski - pangasinan - pahlavi - pampanga - papiamento - palauanski - staroperzijski - filipinski - fenički - pali - poljski - pohnpeian - prakrit - staroprovansalski - paštu - portugalski - brazilski portugalski - portugalski (iberijski) - quechua - rajasthani - rapa nui - rarotonški - retoromanski - rundi - rumunjski - romanski - romski - korijenski - ruski - aromunski - kinyarwanda - sanskrtski - sandawe - jakutski - jezik južnoameričkih Indijanaca - salishan - samarijanski aramejski - sasak - santali - sardski - sicilijski - škotski - sindhi - južni sami - selkupski - semitic - sango - staroirski - znakovni jezik - srpsko-hrvatski - shan - singaleški - sidamo - siouan - sino-tibetski - slovački - slovenski - slavenski - samoanski - sjeverni sami - sami - lule sami - inari sami - skolt sami - shona - soninke - somalski - sogdien - songhai - albanski - srpski - sranan tongo - serer - svati - nilo-saharski - sesotski - sundanski - sukuma - susu - sumerski - švedski - svahili - klasični sirski - sirijski - tamilski - tajski - telugu - temne - tereno - tetum - tajik - tajlandski - tigrinya - tigriški - tiv - turkmenski - tokelaunski - tagalog - klingonski - tlingit - tamashek - cvana - tonga - nyasa tonga - tok pisin - turski - tsonga - tsimshian - tatarski - tumbuka - tupi - altajski - tuvaluanski - twi - tahićanski - tuvinian - udmurtski - uighur - ugaritski - ukrajinski - umbundu - nepoznati ili nevažeći jezik - urdu - uzbečki - vai - venda - vijetnamski - volapük - votic - valonski - wakashan - walamo - waray - washo - lužički - wolof - kalmyk - xhosa - yao - japski - jidiš - joruba - yupik - zhuang - zapotec - blissymbols - zenaga - kineski - kineski (pojednostavljeni) - kineski (tradicionalni) - zande - zulu - zuni - bez jezičnog sadržaja - zazaki - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Svijet - Afrika - Sjevernoamerički kontinent - Južna Amerika - Oceanija - Zapadna Afrika - Centralna Amerika - Istočna Afrika - Sjeverna Afrika - Središnja Afrika - Južna Afrika - Amerike - Sjeverna Amerika - Karibi - Istočna Azija - Južna Azija - Jugoistočna Azija - Južna Europa - Australija i Novi Zeland - Melanezija - Mikronezki oblast - Polinezija - Južno-centralna Azija - Azija - Srednja Azija - Zapadna Azija - Europa - Istočna Europa - Sjeverna Europa - Zapadna Europa - Zajednica nezavisnih država - Latinska Amerika i Karibi - Kanalski otoci - Andora - Ujedinjeni Arapski Emirati - Afganistan - Antigua i Barbuda - Anguila - Albanija - Armenija - Nizozemski Antili - Angola - Antarktik - Argentina - Američka Samoa - Austrija - Australija - Aruba - Alandski otoci - Azerbajdžan - Bosna i Hercegovina - Barbados - Bangladeš - Belgija - Burkina Faso - Bugarska - Bahrein - Burundi - Benin - Sveti Bartolomej - Bermuda - Brunej - Bolivija - Brazil - Bahami - Butan - Otok Bouvet - Bocvana - Bjelorusija - Belize - Kanada - Kokosovi Otoci - Demokratska Republika Kongo - Srednjoafrička Republika - Kongo - Švicarska - Obala Bjelokosti - Kukovi Otoci - Čile - Kamerun - Kina - Kolumbija - Kostarika - Srbija i Crna Gora - Kuba - Zeleni Rt - Božićni Otok - Cipar - Češka Republika - Njemačka - Džibuti - Danska - Dominika - Dominikanska Republika - Alžir - Ekvador - Estonija - Egipat - Zapadna Sahara - Eritreja - Španjolska - Etiopija - Finska - Fidži - Falklandski Otoci - Mikronezija - Farski Otoci - Francuska - Gabon - Velika Britanija - Grenada - Gruzija - Francuska Gvajana - Guernsey - Gana - Gibraltar - Grenland - Gambija - Gvineja - Guadeloupe - Ekvatorska Gvineja - Grčka - Južna Gruzija i Južni Sendvič Otoci - Gvatemala - Guam - Gvineja Bisau - Gvajana - Hong Kong S.A.R. Kine - Otok Heard i Otoci McDonald - Honduras - Hrvatska - Haiti - Mađarska - Indonezija - Irska - Izrael - Otok Man - Indija - Britanski Teritorij Indijskog Oceana - Irak - Iran - Island - Italija - Jersey - Jamajka - Jordan - Japan - Kenija - Kirgistan - Kambodža - Kiribati - Komori - Sveti Kristofor i Nevis - Koreja, Sjeverna - Južna Koreja - Kuvajt - Kajmanski Otoci - Kazakstan - Laos - Libanon - Sveta Lucija - Lihtenštajn - Šri Lanka - Liberija - Lesoto - Litva - Luksemburg - Latvija - Libijska Arapska Džamahirija - Maroko - Monako - Moldavija - Crna Gora - Sveti Martin - Madagaskar - Maršalovi Otoci - Bivša Jugoslavenska Republika Makedonija - Mali - Mijanma - Mongolija - Makao S.A.R. Kine - Sjeverni Marijanski Otoci - Martinik - Mauritanija - Montserat - Malta - Mauricijus - Maldivi - Malavi - Meksiko - Malezija - Mozambik - Namibija - Nova Kaledonija - Niger - Otok Norfolk - Nigerija - Nikaragva - Nizozemska - Norveška - Nepal - Nauru - Niue - Novi Zeland - Oman - Panama - Peru - Francuska Polinezija - Papua Nova Gvineja - Filipini - Pakistan - Poljska - Sveti Petar i Miguel - Pitcairn - Portoriko - Palestinsko Područje - Portugal - Palau - Paragvaj - Katar - Ostala oceanija - Europska Unija - Reunion - Rumunjska - Srbija - Rusija - Ruanda - Saudijska Arabija - Solomonski Otoci - Sejšeli - Sudan - Švedska - Singapur - Sveta Helena - Slovenija - Svalbard i Jan Mayen - Slovačka - Sijera Leone - San Marino - Senegal - Somalija - Surinam - Sveti Toma i Prinsipe - El Salvador - Sirija - Svazi - Turkski i Kaikos Otoci - Čad - Francuski Južni Teritoriji - Togo - Tajland - Tadžikistan - Tokelau - Istočni Timor - Turkmenistan - Tunis - Tonga - Turska - Trinidad i Tobago - Tuvalu - Tajvan - Tanzanija - Ukrajina - Uganda - Ujedinjene Države Manjih Pacifičkih Otoka - Sjedinjene Države - Urugvaj - Uzbekistan - Grad Vatikan - Sveti Vincent i Grenadini - Venezuela - Britanski Djevičanski Otoci - Američki Djevičanski Otoci - Vijetnam - Vanuatu - Wallis i Futuna - Samoa - Jemen - Majote - Južnoafrička Republika - Zambija - Zimbabve - nepoznata ili nevažeća oblast - - - tradicionalan njemački pravopis - standardizirani resian pravopis - njemačka ortografija iz 1996. - kasni srednjofrancuski do 1606. - rani moderni francuski - istočno-armenijski - zapadno-armenijski - unificirana turska abeceda - san giorgio/bila dijalekt - boontling - IPA fonetika - UPA fonetika - lipovački dijalekt resian jezika - monotono - natisone dijalekt - Gniva/Njiva dijalekt - oseacco/osojane dijalekt - politono - računalo - izmijenjen pravopis - resian - saho - škotski standardni engleski - scouse - stolvizza/solbica dijalekt - taraskievica pravopis - valencijski - - - kalendar - poredavanje - valuta - - - tradicionalno kinesko poredavanje - Big5 - budistički kalendar - kineski kalendar - izravno poredavanje - pojednostavljeno kinesko poredavanje - GB2312 - gregorijanski kalendar - hebrejski kalendar - indijski nacionalni kalendar - islamski kalendar - islamski civilni kalendar - japanski kalendar - poredavanje po abecedi - Pinyin poredavanje - kalendar Republike Kine - Stroke order poredavanje - tradicionalno predavanje - - - američki sustav - metrički - - - - titlecase-firstword - titlecase-firstword - titlecase-firstword - titlecase-firstword - lowercase-words - titlecase-firstword - titlecase-firstword - titlecase-firstword - lowercase-words - titlecase-words - titlecase-firstword - titlecase-firstword - - - [a-c č ć d đ {dž} e-l {lj} m n {nj} o p r s š t-v z ž] - [q w-y] - [a-z] - - - ‘ - ’ - “ - ” - - - - - - - - EEEE, d. MMMM y. G - - - - - d. MMMM y. BE - - - - - d.MMM.y. G - - - - - d.M.yyyy. - - - - - - - - - EEE, d.Ml.y. G - - - - - d.Ml.y. G - - - - - d.Ml.y. G - - - - - d.Ml.y. G - - - - - - - - - 01. - 02. - 03. - 04. - 05. - 06. - 07. - 08. - 09. - 10. - 11. - 12. - - - siječnja - veljače - ožujka - travnja - svibnja - lipnja - srpnja - kolovoza - rujna - listopada - studenoga - prosinca - - - - - 1. - 2. - 3. - 4. - 5. - 6. - 7. - 8. - 9. - 10. - 11. - 12. - - - siječanj - veljača - ožujak - travanj - svibanj - lipanj - srpanj - kolovoz - rujan - listopad - studeni - prosinac - - - - - - - ned - pon - uto - sri - čet - pet - sub - - - nedjelja - ponedjeljak - utorak - srijeda - četvrtak - petak - subota - - - - - n - p - u - s - č - p - s - - - - - - - 1kv - 2kv - 3kv - 4kv - - - 1. kvartal - 2. kvartal - 3. kvartal - 4. kvartal - - - - - - Prije Krista - Poslije Krista - - - pr.n.e. - AD - - - - - - EEEE, d. MMMM y. - - - - - d. MMMM y. - - - - - d.M.yyyy. - - - - - dd.MM.yyyy. - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - EEE, d. - HH:mm - HH:mm:ss - H:mm - L. - E, d.M. - LLL. - E, d.MMM. - E, d. MMMM - d. MMMM - dd. MMMM - d.MMM. - dd.MM. - d.M. - d. - hh:mm a - hh:mm:ss a - mm:ss - y. - M.yyyy. - EEE, d.M.y. - MMM.y. - EEE, d.MMM.y. - MMMM y. - Q. yyyy. - QQQ y. - EEE, d.MMM.yy. - Q yy. - QQQQ yy. - MM.yyyy. - MMMM y. - - - {0} - {1} - - MM. - MM. - - - E, dd.MM. - E, dd.MM. - E, dd.MM. - E, dd.MM. - - - LLL.-LLL. - - - E, dd.MMM. - E, dd.MMM. - E, dd. - E, dd. MMM. - - - LLLL-LLLL - - - dd.MMM. - dd.MMM. - dd. - dd.MMM. - - - dd.MM. - dd.MM. - dd.MM. - dd.MM. - - - dd. - dd. - - - HH - HH'h' - HH - HH'h' - - - HH:mm-HH:mm - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH - HH 'h' v - HH - HH 'h' v - - - y. - y. - - - MM.yyyy. - MM.yyyy. - MM.yyyy. - MM.yyyy. - - - E, dd.MM.yyyy. - E, dd.MM.yyyy. - E, dd.MM.yyyy. - E, dd.MM.yyyy. - E, dd.MM.yyyy. - E, dd.MM.yyyy. - - - LLL.-LLL.y. - LLL.y. - LLL.y. - - - E, dd.MMM. - E, dd.MMM.y. - E, dd. - E, dd.MMM.y. - E, dd.MMM.y. - E, dd.MMM.y. - - - MM. - MM.yyyy. - MM.yyyy. - MM.yyyy. - - - dd.MMM. - dd.MMM.y. - dd. - dd.MMM.y. - dd.MMM.y. - dd.MMM.y. - - - dd.MM.yyyy. - dd.MM.yyyy. - dd.MM.yyyy. - dd.MM.yyyy. - dd.MM.yyyy. - dd.MM.yyyy. - - - - - - era - - - godina - - - mjesec - - - tjedan - - - dan - prije tri dana - prekjučer - jučer - danas - sutra - prekosutra - za tri dana - - - dan u tjednu - - - dio dana - - - sat - - - minuta - - - sekunda - - - zona - - - - - - - - EEEE, d. MMMM y. G - - - - - d. MMMM y. G - - - - - d.MMM.y. G - - - - - d.M.yy. G - - - - - - E, d. - E, d.MMM. - d. MMMM - d.M. - yy. GGG - MM.yy. GGGGG - MMM.yy. GGGGG - Q. yy. GGGGG - - - - - - - prije R.O.C. - R.O.C. - - - - - - EEEE, d. MMMM y. G - - - - - d. MMMM y. G - - - - - d.MMM.y. G - - - - - d.M.y.G - - - - - - y. G - M.y. G - EEE, d.M.y. G - MMM.y. G - EEE, d.MMM.y. G - Q. y. G - QQQ y. G - - - - - - +HHmm;-HHmm - GMT{0} - {0} - - Nepoznat ili nevažeći grad - - - Andora - - - Južni pol - - - Dumont D'Urville - - - Beć - - - Sofija - - - Bahrein - - - Kinšasa - - - Lubumbaši - - - Uskrsni Otok - - - Šangaj - - - Kostarika - - - Zelenortska Republika - - - Božić - - - Nikozija - - - Džibuti - - - Dominika - - - Alžir - - - Kanarska Otočja - - - Fidži - - - Pariz - - - Atena - - - Južna Georgia - - - Gvatemala - - - Gvajana - - - Budimpešta - - - Rim - - - Jamajka - - - Tokio - - - St. Kitts - - - Kuvajt - - - Sveta Lucija - - - Luksemburg - - - Monako - - - Mauricijus - - - Maldivi - - - Varšava - - - Portoriko - - - Azorski otoci - - - Lisabon - - - Katar - - - Réunion - - - Bukurešt - - - Kalinjingrad - - - Moskva - - - Krasnojarsk - - - Kamčatka - - - Anadir - - - Singapur - - - Sveta Helena - - - Salvador - - - Uzgorod - - - Kijev - - - Zaporožje - - - Alaska vremenska zona - - - New Salem, Sjeverna Dakota - - - Središnja, Sjeverna Dakota - - - Taškent - - - Sveti Vincent - - - Sveti Thomas - - - - Acre ljetno vrijeme - - - - - Središnja Afrika - - - - - Istočna Afrika - - - - - Južna Afrika - - - - - Zapadna Afrika - Zapadna Afrika, ljetno vrijeme - - - - - središnje vrijeme - središnje standardno vrijeme - središnje dnevno vrijeme - - - CT - CST - CDT - - - - - istočno vrijeme - istočno standardno vrijeme - istočno dnevno vrijeme - - - ET - EST - EDT - - - - - planinsko vrijeme - planinsko standardno vrijeme - planinsko dnevno vrijeme - - - MT - MST - MDT - - - - - pacifičko vrijeme - pacifičko standardno vrijeme - pacifičko dnevno vrijeme - - - PT - PST - PDT - - - - - atlantsko vrijeme - atlantsko standardno vrijeme - atlantsko dnevno vrijeme - - - AT - AST - ADT - - - - - - - , - . - - - - - #,##0.00 ¤ - - - - - - andorska pezeta - andorskih pezeta - andorskih pezeta - - - UAE dirham - UAE dirhama - UAE dirhama - UAE dirhama - - - afganistanski afgani (1927.-2002.) - afganistanska afgana (AFA) - afganistanskih afgana (AFA) - afganistanski afgan (AFA) - afganistanskih afgana (AFA) - - - afganistanski afgani - afganistanska afgana - afganistanskih afgana - afganistanski afgan - afganistanskih afgana - - - albanski lek - albanska leka - albanskih leka - albanski lek - albanskih leka - - - armenski dram - armenska drama - armenskih drama - armenski dram - armenskih drama - - - nizozemskoantilski gulden - nizozemskoantilska guldena - nizozemskoantilskih guldena - nizozemskoantilski gulden - nizozemskoantilskih guldena - - - angolska kvanza - angolske kvanze - angolskih kvanzi - angolska kvanza - angolskih kvanzi - - - angolska kvanza (1977-1990) - angolske kvanze (AOK) - angolskih kvanzi (AOK) - angolska kvanza (AOK) - angolskih kvanzi (AOK) - - - angolska nova kvanza (1990-2000) - angolske nove kvanze (AON) - angolskih novih kvanzi (AON) - angolska nova kvanza (AON) - angolskih novih kvanzi (AON) - - - angolska kvanza (1995.-1999.) - angolske kvanze reajustado - angolskih kvanzi reajustado - angolska kvanza reajustado - angolskih kvanzi reajustado (AOR) - - - argentinski austral - argentinska australa - argentinskih australa - argentinski austral - argentinskih australa - - - argentinski pezo (1983-1985) - argentinska peza (ARP) - argentinskih peza (ARP) - argentinski pezo (ARP) - argentinskih peza (ARP) - - - argentinski pezo - argentinska pezosa - argentinskih pezosa - argentinski pezos - argentinskih pezosa - - - austrijski šiling - austrijska šilinga - austrijskih šilinga - austrijski šiling - austrijskih šilinga - - - australski dolar - australska dolara - australskih dolara - australski dolar - australskih dolara - - - arupski gulden - arupska guldena - arupskih guldena - arupski gulden - arupskih guldena - - - azerbajdžanski manat (1993-2006) - azerbajdžanska manata (AZM) - azerbajdžanskih manata (AZM) - azerbajdžanski manat (AZM) - azerbajdžanskih manata (AZM) - - - azerbajdžanski manat - azerbajdžanska manata - azerbajdžanskih manata - azerbajdžanski manat - azerbajdžanskih manata - - - bosansko-hercegovački dinar - bosansko-hercegovačka dinara - bosansko-hercegovačkih dinara - bosansko-hercegovačkih dinara - - - konvertibilna marka - konvertibilne marke - konvertibilnih maraka - konvertibilna marka - konvertibilnih maraka - - - barbadoski dolar - barbadoska dolara - barbadoskih dolara - barbadoski dolar - barbadoskih dolara - - - taka - bangladeške take - bangladeških taka - bangladeška taka - bangladeških taka - - - belgijski franak (konvertibilan) - belgijska franka (konvertibilna) - belgijskih franaka (konvertibilnih) - belgijski franak (konvertibilan) - belgijskih franaka (konvertibilnih) - - - belgijski franak - belgijska franka - belgijskih franaka - belgijski franak - belgijskih franaka - - - belgijski franak (financijski) - belgijska franka (financijska) - belgijskih franaka (financijskih) - belgijski franak (financijski) - belgijskih franaka (financijskih) - - - bugarski čvrsti lev - bugarska čvrsta leva - bugarskih čvrstih leva - bugarski čvrsti lev - bugarskih čvrstih leva - - - bugarski novi lev - bugarska leva - bugarskih leva - bugarski lev - bugarskih leva - - - bahreinski dinar - bahreinska dinara - bahreinskih dinara - bahreinski dinar - bahreinskih dinara - - - burundski franak - burundska franka - burundskih franaka - burundski franak - burundskih franaka - - - bermudski dolar - bermudska dolara - bermudskih dolara - bermudski dolar - bermudskih dolara - - - brunejski dolar - brunejska dolara - brunejskih dolara - brunejski dolar - brunejskih dolara - - - bolivijano - bolivijska bolivijana - bolivijskih bolivijana - bolivijski bolivijano - bolivijskih bolivijana - - - bolivijski pezo - bolivijska peza - bolivijskih peza - bolivijski pezo - bolivijskih peza - - - bolivijski mvdol - bolivijska mvdola - bolivijskih mvdola - bolivijski mvdol - bolivijskih mvdola - - - brazilski novi cruzeiro (1967.-1986.) - brazilska nova cruzeira (BRB) - brazilskih novih cruzeira (BRB) - brazilski novi cruzeir (BRB) - brazilskih novih cruzeira (BRB) - - - brazilski cruzado - brazilska cruzada - brazilskih cruzada - brazilski cruzad - brazilskih cruzada - - - brazilski cruzeiro (1990.-1993.) - brazilska cruzeira (BRE) - brazilskih cruzeira (BRE) - brazilski cruzeir (BRE) - brazilskih cruzeira (BRE) - - - brazilski real - brazilska reala - brazilskih reala - brazilski real - brazilskih reala - - - brazilski novi cruzado - brazilska nova cruzada - brazilskih novih cruzada - brazilski novi cruzad - brazilskih novih cruzada - - - brazilski cruzeiro - brazilska cruzeira - brazilskih cruzeira - brazilski cruzeiro - brazilskih cruzeira - - - bahamski dolar - bahamska dolara - bahamskih dolara - bahamskih dolara - - - butanski ngultrum - butanska ngultruma - butanskih ngultruma - butanski ngultrum - butanskih ngultruma - - - kyat - kyata - kyata - kyat - kyata - - - pula - bocvanske pule - bocvanskih pula - bocvanska pula - bocvanskih pula - - - bjeloruska nova rublja (1994-1999) - bjeloruske nove rublje (BYB) - bjeloruskih novih rublji (BYB) - bjeloruska nova rublja (BYB) - bjeloruskih novih rublji (BYB) - - - bjeloruska rublja - bjeloruske rublje - bjeloruskih rublji - bjeloruska rublja - bjeloruskih rublji - - - belizeanski dolar - belizeanska dolara - belizeanskih dolara - belizeanski dolar - belizeanskih dolara - - - kanadski dolar - kanadska dolara - kanadskih dolara - kanadski dolar - kanadskih dolara - - - kongoanski franak - kongoanska franka - kongoanskih franaka - kongoanski franak - kongoanskih franaka - - - WIR euro - WIR eura - WIR eura - WIR euro - WIR eura - - - švicarski franak - švicarska franka - švicarskih franaka - švicarski franak - švicarskih franaka - - - WIR franak - WIR franka - WIR franaka - WIR franak - WIR franaka - - - Chilean Unidades de Fomento - čileanska unidades de fomentos - čileanskih unidades de fomentos - čileanski unidades de fomentos - čileanskih unidades de fomentos - - - čileanski pezo - čileanska peza - čileanskih peza - čileanski pezo - čileanskih peza - - - renminbi-juan - kineska yuana - kineskih yuana - kineski yuan - kineskih yuana - - - kolumbijski pezo - kolumbijska peza - kolumbijskih peza - kolumbijski pezo - kolumbijskih peza - - - Unidad de Valor Real - unidad de valor reala - unidad de valor reala - unidad de valor real - unidad de valor reala - - - kostarikanski kolon - kostarikanska kolona - kostarikanskih kolona - kostarikanski kolon - kostarikanskih kolona - - - stari srpski dinar - stara srpska dinara - starih srpskih dinara - starih srpskih dinara - - - Czechoslovak Hard Koruna - čehoslovačke krune - čehoslovačkih kruna - čehoslovačka kruna - čehoslovačkih kruna - - - kubanski pezo - kubanska peza - kubanskih peza - kubanski pezo - kubanskih peza - - - zelenortski eskudo - zelenortska eskuda - zelenortskih eskuda - zelenortski eskudo - zelenortskih eskuda - - - ciparska funta - ciparske funte - ciparskih funti - ciparska funta - ciparskih funti - - - češka kruna - češke krune - čeških kruna - češka kruna - čeških kruna - - - East German Ostmark - istočnonjemačke marke - istočnonjemačkih marki - istočnonjemačka marka - istočnonjemačkih marki - - - njemačka marka - njemačke marke - njemačkih marki - njemačka marka - njemačkih marki - - - džibutski franak - džibutska franka - džibutskih franaka - džibutski franak - džibutskih franaka - - - danska kruna - danske krune - danskih kruna - danska kruna - danskih kruna - - - dominikanski pezo - dominikanska peza - dominikanskih peza - dominikanski pezo - dominikanskih peza - - - alžirski dinar - alžirska dinara - alžirskih dinara - alžirski dinar - alžirskih dinara - - - Ecuador Sucre - ekvatorske sucre - ekvatorskih sucri - evatorska sucra - ekvatorskih sucri - - - Ecuador Unidad de Valor Constante (UVC) - ekvatorska unidad de valor constante (UVC) - ekvatorskih unidad de valor constante (UVC) - ekvatorski unidad de valor constante (UVC) - ekvatorskih unidad de valor constante (UVC) - - - estonska kruna - estonske krune - estonskih kruna - estonska kruna - estonskih kruna - - - egipatska funta - egipatske funte - egipatskih funti - egipatska funta - egipatskih funti - - - nakfa - eritrejske nakfe - eritrejskih nakfi - eritrejska nakfa - eritrejskih nakfi - - - španjolska pezeta (A račun) - španjolske pezete (A račun) - španjolskih pezeta (A račun) - španjolska pezeta (A račun) - španjolskih pezeta (A račun) - - - španjolska pezeta (konvertibilni račun) - španjolske pezete (konvertibilan račun) - španjolskih pezeta (konvertibilan račun) - španjolska pezeta (konvertibilan račun) - španjolskih pezeta (konvertibilan račun) - - - španjolska pezeta - španjolske pezete - španjolskih pezeta - španjolska pezeta - španjolskih pezeta - - - etiopski bir - etiopska bira - etiopskih bira - etiopski bir - etiopskih bira - - - euro - eura - eura - euro - eura - - - finska marka - finske marke - finskih marki - finska marka - finskih marki - - - fidžijski dolar - fidžijska dolara - fidžijskih dolara - fidžijski dolar - fidžijskih dolara - - - falklandska funta - falklandske funte - falklandskih funti - falklandska funta - falklandskih funti - - - francuski franak - francuska franka - francuskih franaka - francuski franak - francuskih franaka - - - britanska funta - britanske funte - britanskih funti - britanska funta - britanskih funti - - - Georgian Kupon Larit - gruzijska kupon larita - gruzijskih kupon larita - gruzijski kupon larit - gruzijskih kupon larita - - - lari - gruzijska lara - gruzijskih lara - gruzijski lar - gruzijskih lara - - - ganski cedi (1979.-2007.) - ganska ceda (GHC) - ganskih ceda (GHC) - ganski cedi (GHC) - ganskih ceda (GHC) - - - ganski cedi - ganska ceda - ganskih ceda - ganski cedi - ganskih ceda - - - gibraltarska funta - gibraltarske funte - gibraltarskih funti - gibraltarska funta - gibraltarskih funti - - - dalasi - gambijska dalasa - gambijskih dalasa - gambijski dalas - gambijskih dalasa - - - gvinejski franak - gvinejska franka - gvinejskih franaka - gvinejski franak - gvinejskih franaka - - - gvinejski syli - gvinejska sylija - gvinejskih sylija - gvinejski syli - gvinejskih sylija - - - Equatorial Guinea Ekwele Guineana - gvinejska ekwele - gvinejskih ekwele - gvinejska ekwele - gvinejskih ekwele - - - grčka drahma - grčke drahme - grčkih drahmi - grčka drahma - grčkih drahmi - - - kvecal - gvatemalska kvecala - gvatemalskih kvecala - gvatemalski kvecal - gvatemalskih kvecala - - - portugalski gvineja eskudo - gvinejska eskuda - gvinejskih eskuda - gvinejski eskudo - gvinejskih eskuda - - - gvinejskobisauski pezo - gvinejskobisauska peza - gvinejskobisauskih peza - gvinejskobisauski pezo - gvinejskobisauskih peza - - - gvajanski dolar - gvajanska dolara - gvajanskih dolara - gvajanski dolar - gvajanskih dolara - - - hongkonški dolar - honkonška dolara - honkonških dolara - honkonški dolar - honkonških dolara - - - honduraška lempira - honduraške lempire - honduraških lempira - honduraška lempira - honduraških lempira - - - hrvatski dinar - hrvatska dinara - hrvatskih dinara - hrvatski dinar - hrvatskih dinara - - - kuna - kune - kuna - kuna - kuna - - - haićanski gourd - haićanska gourda - haićanskih gourda - haićanski gourd - haićanskih gourda - - - mađarska forinta - mađarske forinte - mađarskih forinti - mađarska forinta - mađarskih forinti - - - indonezijska rupija - indonezijske rupije - indonezijskih rupija - indonezijska rupija - indonezijskih rupija - - - irska funta - irske funte - irskih funti - irska funta - irskih funti - - - izraelska funta - izraelske funte - izraelskih funti - izraelska funta - izraelskih funti - - - stari izraelski šekel - stara izraelska šekela - starih izraelskih šekela - stari izraelski šekel - starih izraelskih šekela - - - novi izraelski šekel - nova izraelska šekela - novih izraelskih šekela - novi izraelski šekel - novih izraelskih šekela - - - indijska rupija - indijske rupije - indijskih rupija - indijska rupija - indijskih rupija - - - irački dinar - iračka dinara - iračkih dinara - irački dinar - iračkih dinara - - - iranski rijal - iranska rijala - iranskih rijala - iranski rijal - iranskih rijala - - - stara islandska kruna - stare islandske krune - starih islandskih kruna - stara islandska kruna - starih islandskih kruna - - - islandska kruna - islandske krune - islandskih kruna - islandska kruna - islandskih kruna - - - Talijanska lira - talijanske lire - talijanskih lira - talijanska lira - talijanskih lira - - - jamajčanski dolar - jamajčanska dolara - jamajčanskih dolara - jamajčanski dolar - jamajčanskih dolara - - - jordanski dinar - jordanska dinara - jordanskih dinara - jordanski dinar - jordanskih dinara - - - japanski jen - japanska jena - japanskih jena - japanski jen - japanskih jena - ¥ - - - kenijski šiling - kenijska šilinga - kenijskih šilinga - kenijski šiling - kenijskih šilinga - - - kirgiski som - kirgijska soma - kirgijskih soma - kirgijski som - kirgijskih soma - - - rijal - kambođanska rijala - kambođanskih rijala - kambođanski rijal - kambođanskih rijala - - - komorski franak - komorska franka - komorskih franaka - komorski franak - komorskih franaka - - - sjevernokorejski won - sjevernokorejska wona - sjevernokorejskih wona - sjevernokorejski won - sjevernokorejskih wona - - - južnokorejski won - južnokorejska wona - južnokorejskih wona - južnokorejskih wona - - - kuvajtski dinar - kuvajtska dinara - kuvajtskih dinara - kuvajtski dinar - kuvajtskih dinara - - - kajmanski dolar - kajmanska dolara - kajmanskih dolara - kajmanski dolar - kajmanskih dolara - - - kazahstanski tenge - kazahstanska tengea - kazahstanskih tengea - kazahstanski tenge - kazahstanskih tengea - - - kip - laoska kipa - laoskih kipa - laoski kip - laoskih kipa - - - libanonska funta - libanonske funte - libanonskih funti - libanonska funta - libanonskih funti - - - šrilanska rupija - šrilankanske rupije - šrilankanskih rupija - šrilankanska rupija - šrilankanskih rupija - - - liberijski dolar - liberijska dolara - liberijskih dolara - liberijski dolar - liberijskih dolara - - - loti - lesoto lotija - lesoto lotija - lesoto loti - lesoto lotija - - - litavski litas - litavska litasa - litavskih litasa - litavski litas - litavskih litasa - - - litavski talonas - litavska talonasa - litavskih talonasa - litavski talonas - litavskih talonasa - - - luksemburški konvertibilni franak - luksemburška konvertibilna franka - luksemburških konvertibilnih franaka - luksemburški konvertibilni franak - luksemburških konvertibilnih franaka - - - luksemburški franak - luksemburška franka - luksemburških franaka - luksemburški franak - luksemburških franaka - - - Luksemburški financijski franak - luksemburška financijska franka - luksemburških financijskih franaka - luksemburški financijski franak - luksemburških financijskih franaka - - - letonski lats - letonska latsa - letonskih latsa - letonski lats - letonskih latsa - - - Latvian Ruble - letonske rublje - letonskih rublji - letonska rublja - letonskih rublji - - - libijski dinar - libijska dinara - libijskih dinara - libijski dinar - libijskih dinara - - - marokanski dirham - marokanska dirhama - marokanskih dirhama - marokanski dirham - marokanskih dirhama - - - marokanski franak - marokanska franka - marokanskih franaka - marokanski franak - marokanskih franaka - - - moldavski lej - moldavska leja - moldavskih leja - moldavski lej - moldavskih leja - - - madagaskarski ariary - madagaskarska ariarija - madagaskarskih ariarija - madagaskarski ariary - madagaskarskih ariarija - - - madagaskarski franak - madagaskarska franka - madagaskarskih franaka - madagaskarski franak - madagaskarskih franaka - - - makedonski denar - makedonska dinara - makedonskih dinara - makedonski dinar - makedonskih dinara - - - CFA franak - malijska franka - malijskih franaka - malijski franak - malijskih franaka - - - Myanmar Kyat - mjanmarska kjata - mjanmarskih kjata - mjanmarski kjat - mjanmarskih kjata - - - mongolski tugrik - mongolska tugrika - mongolskih tugrika - mongolski tugrik - mongolskih tugrika - - - Macao Pataca - pataka - pataka - patak - pataka - - - mauritanijska ouguja - mauritanijske ouguje - mauritanijskih ouguja - mauritanijska ouguja - mauritanijskih ouguja - - - malteška lira - malteške lire - malteških lira - malteška lira - malteških lira - - - malteška funta - malteške funte - malteških funti - malteška funta - malteških funti - - - mauricijska rupija - mauricijske rupije - mauricijskih rupija - mauricijska rupija - mauricijskih rupija - - - maldivijska rufija - maldivijske rufije - maldivijskih rufija - maldivijska rufija - maldivijskih rufija - - - Malawi Kwacha - malavijske kvače - malavijskih kvača - malavijska kvača - malavijskih kvača - - - meksički pezo - meksička peza - meksičkih peza - meksički pezo - meksičkih peza - - - meksički srebrni pezo (1861-1992) - meksička srebrna peza (MXP) - meksičkih srebrnih peza (MXP) - meksički srebrni pezo (MXP) - meksičkih srebrnih peza (MXP) - - - Mexican Unidad de Inversion (UDI) - Mexican unidads de inversion (UDI) - Mexican unidads de inversion (UDI) - Mexican unidads de inversion (UDI) - Mexican unidads de inversion (UDI) - - - malezijski ringit - malezijska ringita - malezijskih ringita - malezijski ringit - malezijskih ringita - - - mozambijski eskudo - mozambijska eskuda - mozambijskih eskuda - mozambijski eskudo - mozambijskih eskuda - - - stari mozambijski metikal - stara mozambijska metikala - starih mozambijskih metikala - stari mozambijski metikal - starih mozambijskih metikala - - - mozambijski metikal - mozambijska metikala - mozambijskih metikala - mozambijski metikal - mozambijskih metikala - - - namibijski dolar - namibijska dolara - namibijskih dolara - namibijski dolar - namibijskih dolara - - - nigerijska naira - nigerijska naira - nigerijskih naira - nigerijski nair - nigerijskih naira - - - nikaragvanska kordoba - nikaragvanske kordobe - nikaragvanskih kordoba - nikaragvanska kordoba - nikaragvanskih kordoba - - - nikaragvanska zlatna kordoba - nikaragvanske zlatne kordobe - nikaragvanskih zlatnih kordoba - nikaragvanska zlatna kordoba - nikaragvanskih zlatnih kordoba - - - nizozemski gulden - nizozemska guldena - nizozemskih guldena - nizozemski gulden - nizozemskih guldena - - - norveška kruna - norveške krune - norveških kruna - norveška kruna - norveških kruna - - - nepalska rupija - nepalske rupije - nepalskih rupija - nepalska rupija - nepalskih rupija - - - novozelandski dolar - novozelandska dolara - novozelandskih dolara - novozelandski dolar - novozelandskih dolara - - - omanski rijal - omanska rijala - omanskih rijala - omanski rijal - omanskih rijala - - - balboa - panamske balboe - panamskih balboa - panamska balboa - panamskih balboa - - - peruanski inti - peruanske inti - peruanskih inti - peruanski inti - peruanskih inti - - - novi sol - peruanska nova sola - peruanskih novih sola - peruanski novi sol - peruanskih novih sola - - - sol - peruanska sola - peruanskih sola - peruanski sol - peruanskih sola - - - kina Papue Nove Gvineje - kine Papue Nove Gvineje - kina Papue Nove Gvineje - kina Papue Nove Gvineje - kina Papue Nove Gvineje - - - filipinski pezo - filipinska peza - filipinskih peza - filipinski pezo - filipinskih peza - - - pakistanska rupija - pakistanske rupije - pakistanskih rupija - pakistanska rupija - pakistanskih rupija - - - poljska zlota - poljske zlote - poljskih zlota - poljska zlota - poljskih zlota - - - Poljska zlota (1950-1995) - poljske zlote (PLZ) - poljskih zlota (PLZ) - poljska zlota (PLZ) - poljskih zlota (PLZ) - - - portugalski eskudo - portugalska eskuda - portugalskih eskuda - portugalski eskudo - portugalskih eskuda - - - gvarani - paragvajska gvaranija - paragvajskih gvaranija - paragvajski gvarani - paragvajskih gvaranija - - - katarski rial - katarska rijala - katarskih rijala - katarski rijal - katarskih rijala - - - rodezijski dolar - rodezijska dolara - rodezijskih dolara - rodezijski dolar - rodezijskih dolara - - - starorumunjski lek - stara rumunjska leja - starih rumunjskih leja - stari rumunjski lej - starih rumunjskih leja - - - rumunjski lev - nova rumunjska leja - novih rumunjskih leja - novi rumunjski lej - novih rumunjskih leja - - - srpski dinar - srpska dinara - srpskih dinara - srpski dinar - srpskih dinara - - - ruska rublja - ruske rublje - ruskih rublji - ruska rublja - ruskih rublji - - - ruska rublja (1991.-1998.) - ruske rublje (RUR) - ruskih rublji (RUR) - ruska rublja (RUR) - ruskih rublji (RUR) - - - ruandski franak - ruandska franka - ruandskih franaka - ruandski franak - ruandskih franaka - - - saudijski rial - saudijska rijala - saudijskih rijala - saudijski rijal - saudijskih rijala - - - solmonskootočni dolar - solomonskootočna dolara - solomonskootočnih dolara - solomonskootočni dolar - solomonskootočnih dolara - - - sejšelska rupija - sejšelske rupije - sejšelskih rupija - sejšelska rupija - sejšelskih rupija - - - sudanski dinar - sudanska dinara - sudanskih dinara - sudanski dinar - sudanskih dinara - - - sudanska funta - sudanske funte - sudanskih funti - sudanska funta - sudanskih funti - - - stara sudanska funta - stare sudanske funte - starih sudanskih funti - stara sudanska funta - starih sudanskih funti - - - švedska kruna - švedske krune - švedskih kruna - švedska kruna - švedskih kruna - - - singapurski dolar - singapurska dolara - singapurskih dolara - singapurski dolar - singapurskih dolara - - - svetohelenska funta - svetohelenske funte - svetohelenskih funti - svetohelenska funta - svetohelenskih funti - - - slovenski tolar - slovenska tolara - slovenskih tolara - slovenski tolar - slovenskih tolara - - - slovačka kruna - slovačke krune - slovačkih kruna - slovačka kruna - slovačkih kruna - - - sijeraleonski leone - sijeraleonske leone - sijeraleonskih leona - sijeraleonski leon - sijeraleonskih leona - - - somalijski šiling - somalijska šilinga - somalijskih šilinga - somalijski šiling - somalijskih šilinga - - - surinamski dolar - surinamska dolara - surinamskih dolara - surinamski dolar - surinamskih dolara - - - surinamski gulden - surinamska guldena - surinamskih guldena - surinamski gulden - surinamskih guldena - - - dobra Svetog Tome i Principa - dobra Svetog Tome i Principa - dobra Svetog Tome i Principa - dobra Svetog Tome i Principa - dobra Svetog Tome i Principa - - - sovjetska rublja - sovjetske rublje - sovjetskih rublji - sovjetska rublja - sovjetskih rublji - - - salvadorski kolon - salvadorska kolona - salvadorskih kolona - salvadorski kolon - salvadorskih kolona - - - sirijska funta - sirijske funte - sirijskih funti - sirijska funta - sirijskih funti - - - svazi lilangeni - svazi lilangena - svazi lilangena - svazi lilangeni - svazi lilangena - - - tajlandski bat - tajlandska bahta - tajlandskih bahta - tajlandski baht - tajlandskih bahta - - - tajikistanska rublja - tadžikistanske rublje - tadžikistanskih rublji - tadžikistanska rublja - tadžikistanskih rublji - - - tadžikistanski somoni - tadžikistanska somona - tadžikistanskih somona - tadžikistanski somoni - tadžikistanskih somona - - - turkmenistanski manat - turkmenistanska manata - turkmenistanskih manata - turkmenistanski manat - turkmenistanskih manata - - - tuniski dinar - tuniska dinara - tuniskih dinara - tuniski dinar - tuniskih dinara - - - tongaška pa'anga - tongaške pa'ange - tongaških pa'angi - tongaška pa'anga - tongaških pa'angi - - - timorski eskudo - timorska eskuda - timorskih eskuda - timorski eskudo - timorskih eskuda - - - stara turska lira - stare turske lire - starih turskih lira - stara turska lira - starih turskih lira - - - turska lira - turske lire - turskih lira - turska lira - turskih lira - - - trininadtobaški dolar - trinidadtobaška dolara - trinidadtobaških dolara - trinidadtobaški dolar - trinidadtobaških dolara - - - Novotajvanski dolar - novotajvanska dolara - novotajvanskih dolara - novotajvanski dolar - novotajvanskih dolara - - - tanzanijski šiling - tanzanijska šilinga - tanzanijskih šilinga - tanzanijski šiling - tanzanijskih šilinga - - - ukrajinska hrivnja - ukrajinske hrivnje - ukrajinskih hrivnji - ukrajinska hrivnja - ukrajinskih hrivnji - - - ukrajinski karbovanet - ukrajinska karbovantsiva - ukrajinskih karbovantsiva - ukrajinski karbovantsiv - ukrajinskih karbovantsiva - - - ugandski šiling (1966.-1987.) - ugandska šilinga (UGS) - ugandskih šilinga (UGS) - ugandski šiling (UGS) - ugandskih šilinga (UGS) - - - ugandski šiling - ugandska šilinga - ugandskih šilinga - ugandski šiling - ugandskih šilinga - - - američki dolar - američka dolara - američkih dolara - američki dolar - američkih dolara - $ - - - američki dolar (sljedeći dan) - američka dolara (sljedeći dan) - američkih dolara (sljedeći dan) - američki dolar (sljedeći dan) - američkih dolara (sljedeći dan) - - - američki dolar (isti dan) - američka dolara (isti dan) - američkih dolara (isti dan) - američki dolar (isti dan) - američkih dolara (isti dan) - - - urugvajski pezo en unidades indexadas - urugvajska pesosa en unidades indexadas - urugvajskih pesosa en unidades indexadas - urugvajski pesos en unidades indexadas - urugvajskih pesosa en unidades indexadas - - - urugvajski pezo (1975.-1993.) - urugvajska peza (UYP) - urugvajskih peza (UYP) - urugvajski pezo (UYP) - urugvajskih peza (UYP) - - - urugvajski pezo - urugvajska pezosa - urugvajskih pezosa - urugvajski pezo - urugvajskih pezosa - - - uzbekistanski som - uzbekistanska soma - uzbekistanskih soma - uzbekistanski som - uzbekistanskih soma - - - venezuelanski bolivar - venezuelanska bolivara - vezuelanskih bolivara - venezuelanski bolivar - venezuelanskih bolivara - - - venezuelanski bolivar fuerte - venezuelanska bolivara fuertes - venezuelanskih bolivara fuertes - venezuelanski bolivar fuertes - venezuelanskih bolivara fuertes - - - vijetnamski dong - vijetnamska donga - vijetnamskih donga - vijetnamski dong - vijetnamskih donga - - - vanuatuški vatu - vanuatska vatua - vanuatskih vatua - vanuatski vatu - vanuatskih vatua - - - samoanska tala - samoanske tale - samoanskih tala - samoanska tala - samoanskih tala - - - CFA franak BEAC - CFA franka BEAC - CFA franaka BEAC - CFA franak BEAC - CFA franaka BEAC - - - srebro - srebra - srebra - srebro - srebra - - - zlato - zlata - zlata - zlato - zlata - - - Europska složena jedinica - europske složene jedinice - europskih složenih jedinica - europska složena jedinica - europskih složenih jedinica - - - Europska monetarna jedinica - europske monetarne jedinice - europskih monetarnih jedinica - europska monetarna jedinica - europskih monetarnih jedinica - - - europska obračunska jedinica (XBC) - europske obračunske jedinice (XBC) - europskih obračunskih jedinica (XBC) - europska obračunska jedinica (XBC) - europskih obračunskih jedinica (XBC) - - - europska obračunska jedinica (XBD) - europske obračunske jedinice (XBD) - europskih obračunskih jedinica (XBD) - europska obračunska jedinica (XBD) - europskih obračunskih jedinica (XBD) - - - istočnokaripski dolar - istočnokaripska dolara - istočnokaripskih dolara - istočnokaripski dolar - istočnokaripskih dolara - - - posebna crtaća prava - poseebna crtaća prava - posebnih crtaćih prava - posebno crtaće pravo - posebnih crtaćih prava - - - europska monetarna jedinica (ECU) - europske monetarne jedinice (ECU) - europskih monetarnih jedinica (ECU) - europska monetarna jedinica (ECU) - europskih monetarnih jedinica (ECU) - - - francuski zlatni franak - francuska zlatna franka - francuskih zlatnih franaka - francuski zlatni franak - francuskih zlatnih franaka - - - francuski UIC-franak - francuska UIC-franka - francuskih UIC-franaka - francuski UIC-franak - francuskih UIC-franaka - - - CFA franak BCEAO - CFA franka BCEAO - CFA franaka BCEAO - CFA franak BCEAO - CFA franaka BCEAO - - - paladij - paladija - paladija - paladij - paladija - - - CFP franak - CFP franaka - CFP franaka - - - platina - platine - platina - platina - platina - - - RINET fondovi - RINET fonda - RINET fondova - RINET fond - RINET fondova - - - ispitni kod valute - ispitna koda valute - ispitnih kodova valute - ispitni kod vlaute - ispitnih kodova valute - - - nepoznata ili nevažeća valuta - nepoznate ili nevažeće valute - nepoznatih ili nevažećih valuta - nepoznata ili nevažeća valuta - nevažećih ili nepoznatih valuta - - - jemenski dinar - jemenska dinara - jemenskih dinara - jemenski dinar - jemenskih dinara - - - jemenski rial - jemenska rijala - jemenskih rijala - jemenski rijal - jemenskih rijala - - - jugoslavenski čvrsti dinar - jugoslavenska čvrsta dinara - jugoslavenskih čvstih dinara - jugoslavenski čvrsti dinar - jugoslavenskih čvrstih dinara - - - jugoslavenski novi dinar - jugoslavenska nova dinara - jugoslavenskih novih dinara - jugoslavenski novi dinar - jugoslavenskih novih dinara - - - jugoslavenski konvertibilni dinar - jugoslavenska konvertibilna dinara - jugoslavenskih konvertibilnih dinara - jugoslavenski konvertibilni dinar - jugoslavenskih konvertibilnih dinara - - - južnoafrički rand (financijski) - južnoafrička randa (financijska) - južnoafičkih randa (financijskih) - južnoafrički rand (financijski) - južnoafričkih randa (financijskih) - - - južnoafrički rand - južnoafrička randa - južnoafričkih randa - južnoafrički rand - južnoafričkih randa - - - zambijska kvača - zambijske kvače - zambijskih kvača - zambijska kvača - zambijskih kvača - - - zairski novi zair - zairska nova zaira - zairskih novih zaira - zairski novi zair - zairskih novih zaira - - - zairski zair - zairska zaira - zairskih zaira - zairski zair - zairskih zaira - - - zimbabveanski dolar - zimbabveanska dolara - zimbabveanskih dolara - zimbabveanski dolar - zimbabveanskih dolara - - - - - - {0} dana - {0} dana - {0} dan - {0} dan - - - {0} sata - {0} sati - {0} sat - {0} sat - - - {0} minute - {0} minuta - {0} minuta - {0} minuta - - - {0} mjeseca - {0} mjeseci - {0} mjesec - {0} mjesec - - - {0} sekunde - {0} sekundi - {0} sekunda - {0} sekunda - - - {0} tjedna - {0} tjedana - {0} tjedan - {0} tjedan - - - {0} godine - {0} godina - {0} godina - {0} godina - - - - - da:d - ne:n - - - - diff --git a/lib/zend/Zend/Locale/Data/hr_HR.xml b/lib/zend/Zend/Locale/Data/hr_HR.xml deleted file mode 100644 index 0a78545f12..0000000000 --- a/lib/zend/Zend/Locale/Data/hr_HR.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/hu.xml b/lib/zend/Zend/Locale/Data/hu.xml deleted file mode 100644 index 829c15b442..0000000000 --- a/lib/zend/Zend/Locale/Data/hu.xml +++ /dev/null @@ -1,3746 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - afar - abház - achinéz - akoli - adangme - adyghe - avesztán - afrikaans - afroázsiai nyelv - afrihili - ainu - akan - akkád - aleut - algonkin nyelv - dél-altaji - amhara - aragonéz - óangol - angika - apacs nyelvek - arab - arámi - araucani - arapaho - mesterséges nyelv - aravak - asszámi - asztúr - atapaszkan nyelvek - ausztrál nyelvek - avar - awádi - ajmara - azerbajdzsáni - baskír - banda - bamileke nyelvek - balucsi - balinéz - basza - balti nyelv - belorusz - bedzsa - bemba - berber - bolgár - bihari - bodzspuri - bislama - bikol - bini - siksika - bambara - bengáli - bantu - tibeti - breton - braj - bosnyák - batak - burját - buginéz - blin - katalán - caddo - egyéb közép-amerikai indián - karib - egyéb kaukázusi - atszam - csecsen - cebui - egyéb kelta - csamoró - csibcsa - csagatáj - csukéz - mari - csinuk zsargon - csoktó - csipevé - cseroki - csejen - csam nyelv - korzikai - kopt - egyéb angol alapú kreol és pidgin - egyéb francia alapú kreol és pidgin - portugál alapú kreol vagy pidgin - krí - krími tatár - kreol és pidzsin - cseh - kasub - egyházi szláv - kusita nyelv - csuvas - walesi - dán - dakota - dargva - dajak - német - osztrák német - svájci felnémet - delavár - szlevi - dogrib - dinka - dogri - egyéb dravida - alsó szorb - duala - közép holland - divehi - diula - butáni - eve - efik - óegyiptomi - ekadzsuk - görög - elamit - angol - ausztrál angol - kanadai angol - brit angol - amerikai angol - közép angol - eszperantó - spanyol - latin-amerikai spanyol - ibériai spanyol - észt - baszk - evondo - perzsa - fang - fanti - fulani - finn - filippínó - finnugor nyelv - fidzsi - feröeri - fon - francia - kanadai francia - svájci francia - közép francia - ófrancia - északi fríz - keleti fríz - friuli - fríz - ír - ga - gajo - gbaja - skót gael - germán nyelv - geez - ikiribati - galíciai - közép felső német - guarani - ófelső német - gondi - gorontalo - gót - grebó - ógörög - svájci német - gudzsarati - Man-szigeti - gvicsin - hausza - haida - hawaii - héber - hindi - hiligajnon - himaháli - hittite - hmong - hiri motu - horvát - felső szorb - haiti - magyar - hupa - örmény - herero - interlingva - iban - indonéz - interlingue - igbó - szecsuán ji - idzsó - inupiak - ilokó - egyéb indiai - indoeurópai nyelv - ingus - idó - iráni - irokéz nyelvek - izlandi - olasz - inuktitut - japán - lojban - zsidó-perzsa - zsidó-arab - jávai - grúz - kara-kalpak - kabije - kacsin - jju - kamba - karen - kawi - kabardi - tyap - koro - kongo - kaszi - egyéb koiszan - kotanéz - kikuju - kuanyama - kazah - grönlandi - kambodzsai - kimbundu - kannada - koreai - konkani - kosrei - kpelle - kanuri - karacsáj-balkár - karelai - kru - kuruh - kásmíri - kurd - kumük - kutenai - komi - korni - kirgiz - latin - ladino - lahnda - lamba - luxemburgi - lezg - ganda - limburgi - lingala - laoszi - mongó - lozi - litván - luba-katanga - luba-lulua - luiseno - lunda - luo - lushai - lett - madurai - magahi - maithili - makaszar - mandingó - ausztronéz - masai - moksán - mandar - mende - málgas - közép ír - marshalli - maori - mikmak - minangkabau - egyéb nyelvek - macedón - egyéb mon-khmer - malajálam - mongol - mandzsu - manipuri - manobó nyelvek - moldvai - mohawk - moszi - marathi - maláj - máltai - többszörös nyelvek - munda nyelvek - krík - mirandéz - marvari - burmai - maja nyelvek - erzjány - naurui - nahuati - észak-amerikai indián nyelv - nápolyi - norvég bokmal - északi ndebele - alsónémet - nepáli - nevari - ndonga - nias - niger-kordofan nyelv - niui - holland - flamand - norvég nynorsk - norvég - nogaj - óskandináv - n'kó - déli ndebele - északi szotó - núbiai nyelv - navahó - klasszikus newari - nyanja - nyamvézi - nyankole - nyoró - nzima - okszitán - ojibva - oromói - orija - oszét - osage - ottomán török - otomi nyelv - pandzsábi - pápuai nyelv - pangaszinan - pahlavi - pampangan - papiamentó - palaui - óperzsa - Fülöp-szigeteki nyelv - főniciai - pali - lengyel - pohnpei - prakrit nyelvek - óprovánszi - pastu - portugál - brazíliai portugál - ibériai portugál - kecsua - radzsasztáni - rapanui - rarotongai - réto-román - kirundi - román - román nyelv - roma - ősi - orosz - aromán - kiruanda - szanszkrit - szandave - jakut - dél-amerikai indián nyelv - szelis nyelv - szamaritánus arámi - sasak - szantáli - szardíniai - szicíliai - skót - szindhi - északi számi - szölkup - egyéb szemita - szangó - óír - jelnyelv - szerbhorvát - san - szingaléz - szidamó - sziú nyelvek - sinotibeti nyelv - szlovák - szlovén - szláv nyelv - szamoai - déli számi - lapp nyelv - lule számi - inar sami - koltta lapp - sona - szoninke - szomáliai - sogdien - szongai - albán - szerb - szranai tongó - szerer - sziszuati - nílusi-szaharai nyelv - szeszotó - szundanéz - szukuma - szuszu - sumér - svéd - szuahéli - klasszikus szír - szíriai - tamil - thai nyelv - telugu - temne - terenó - tetum - tadzsik - thai - tigrinja - tigré - tiv - türkmén - tokelaui - tagalog - klingon - tlingit - tamasek - szecsuáni - tonga - nyasa tonga - tok pisin - török - conga - csimsiáni - tatár - tumbuka - tupi nyelv - altáji nyelv - tuvalu - twi - tahiti - tuvai - udmurt - ujgur - ugariti - ukrán - umbundu - ismeretlen vagy érvénytelen nyelv - urdu - üzbég - vai - venda - vietnámi - volapük - votják - vallon - vakas nyelv - valamo - varaó - vasó - szorb nyelvek - volof - kalmük - hosza - jaó - japi - jiddis - joruba - jupik nyelv - zsuang - zapoték - Bliss jelképrendszer - zenaga - kínai - egyszerűsített kínai - hagyományos kínai - zande - zulu - zuni - nincs nyelvészeti tartalom - zaza - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Világ - Afrika - Észak-Amerika - Dél-Amerika - Óceánia - Nyugat-Afrika - Közép-Amerika - Kelet-Afrika - Észak-Afrika - Közép-Afrika - Afrika déli része - Amerika - Amerika északi része - Karib-térség - Kelet-Ázsia - Dél-Ázsia - Délkelet-Ázsia - Dél-Európa - Ausztrália és Új-Zéland - Melanézia - Mikronéziai régió - Polinézia - Délközép-Ázsia - Ázsia - Közép-Ázsia - Nyugat-Ázsia - Európa - Kelet-Európa - Észak-Európa - Nyugat-Európa - Független Államok Közössége - Latin-Amerika és a Karib-térség - Csatorna-szigetek - Andorra - Egyesült Arab Emirátus - Afganisztán - Antigua és Barbuda - Anguilla - Albánia - Örményország - Holland Antillák - Angola - Antarktisz - Argentína - Amerikai Szamoa - Ausztria - Ausztrália - Aruba - Aland-szigetek - Azerbajdzsán - Bosznia-Hercegovina - Barbados - Banglades - Belgium - Burkina Faso - Bulgária - Bahrein - Burundi - Benin - Saint Barthélemy - Bermuda - Brunei - Bolívia - Brazília - Bahamák - Bhután - Bouvet-sziget - Botswana - Fehéroroszország - Belize - Kanada - Kókusz-szigetek - Kongó - Kinshasa - Közép-afrikai Köztársaság - Kongó - Svájc - Elefántcsontpart - Cook-szigetek - Chile - Kamerun - Kína - Kolumbia - Costa Rica - Szerbia és Montenegró - Kuba - Zöld-foki Köztársaság - Karácsony-szigetek - Ciprus - Csehország - Németország - Dzsibuti - Dánia - Dominika - Dominikai Köztársaság - Algéria - Ecuador - Észtország - Egyiptom - Nyugat-Szahara - Eritrea - Spanyolország - Etiópia - Finnország - Fidzsi - Falkland-szigetek - Mikronézia - Feröer-szigetek - Franciaország - Gabon - Egyesült Királyság - Grenada - Grúzia - Francia Guyana - Guernsey - Ghána - Gibraltár - Grönland - Gambia - Guinea - Guadeloupe - Egyenlítői-Guinea - Görögország - Dél Grúzia és a Déli Szendvics-szigetek - Guatemala - Guam - Guinea-Bissau - Guyana - Hongkong S.A.R, Kína - Heard és McDonald Szigetek - Honduras - Horvátország - Haiti - Magyarország - Indonézia - Írország - Izrael - Man-sziget - India - Brit Indiai Oceán - Irak - Irán - Izland - Olaszország - Jersey - Jamaica - Jordánia - Japán - Kenya - Kirgizisztán - Kambodzsa - Kiribati - Comore-szigetek - Saint Kitts és Nevis - Észak-Korea - Dél-Korea - Kuvait - Kajmán-szigetek - Kazahsztán - Laosz - Libanon - Santa Lucia - Liechtenstein - Srí Lanka - Libéria - Lesotho - Litvánia - Luxemburg - Lettország - Líbia - Marokkó - Monaco - Moldova - Montenegró - Saint Martin - Madagaszkár - Marshall-szigetek - Macedónia - Mali - Mianmar - Mongólia - Makaó SAR Kína - Északi Mariana-szigetek - Martinique - Mauritánia - Montserrat - Málta - Mauritius - Maldív-szigetek - Malawi - Mexikó - Malajzia - Mozambik - Namíbia - Új-Kaledónia - Niger - Norfolk-sziget - Nigéria - Nicaragua - Hollandia - Norvégia - Nepál - Nauru - Niue - Új-Zéland - Omán - Panama - Peru - Francia Polinézia - Pápua Új-Guinea - Fülöp-szigetek - Pakisztán - Lengyelország - Saint Pierre és Miquelon - Pitcairn-sziget - Puerto Rico - Palesztin Terület - Portugália - Palau - Paraguay - Katar - Külső-Óceánia - Európai Unió - Reunion - Románia - Szerbia - Oroszország - Ruanda - Szaúd-Arábia - Salamon-szigetek - Seychelle-szigetek - Szudán - Svédország - Szingapúr - Szent Helena - Szlovénia - Svalbard és Jan Mayen - Szlovákia - Sierra Leone - San Marino - Szenegál - Szomália - Suriname - Sao Tomé és Príncipe - Salvador - Szíria - Szváziföld - Turks- és Caicos-szigetek - Csád - Francia Déli Területek - Togo - Thaiföld - Tadzsikisztán - Tokelau - Kelet-Timor - Türkmenisztán - Tunézia - Tonga - Törökország - Trinidad és Tobago - Tuvalu - Tajvan - Tanzánia - Ukrajna - Uganda - Amerikai Csendes-óceáni Szigetek - Egyesült Államok - Uruguay - Üzbegisztán - Vatikán - Saint Vincent és Grenadines - Venezuela - Brit Virgin-szigetek - Amerikai Virgin-szigetek - Vietnam - Vanuatu - Wallis és Futuna - Szamoa - Jemen - Mayotte - Dél-Afrika - Zambia - Zimbabwe - Ismeretlen vagy érvénytelen körzet - - - Hagyományos német helyesírás - Szabványosított reziján helyesírás - 1996-os német helyesírás - Késői közép francia 1606-ig - Keleti örmény - Nyugati örmény - Egyesített türkic latin ábécé - San Giorgo/Bila tájszólás - Boontling - IPA fonetika - UPA fonetika - Reziján lipovaz tájszólás - Monoton - Natisone dialektus - Gniva/Njiva tájszólás - Oseacco/Osojane tájszólás - Politonikus - Számítógép - Átdolgozott helyesírás - Reziján - Saho - Skót szabványos angol - Scouse - Stolvizza/Solbica tájszólás - Taraskijevica helyesírás - Valencia - - - Naptár - Rendezés - Pénznem - - - Hagyományos kínai sorrend - Big5 - buddhista naptár - kínai naptár - Közvetlen sorrend - Egyszerűsített kínai sorrend - GB2312 - Gergely-naptár - héber naptár - Indiai nemzeti naptár - iszlám naptár - iszlám civil naptár - japán naptár - Telefonkönyv sorrend - Pinyin sorrend - Kínai köztársasági naptár - Vonássorrend - Hagyományos - - - amerikai - metrikus - - - Nyelv: {0} - Írásrendszer: {0} - Régió: {0} - - - - titlecase-firstword - lowercase-words - titlecase-firstword - lowercase-words - lowercase-words - lowercase-words - lowercase-words - lowercase-words - - - [a á b c {cs} {ccs} d {dz} {ddz} {dzs} {ddzs} e é f g {gy} {ggy} h i í j-l {ly} {lly} m n {ny} {nny} o ó ö ő p r s {sz} {ssz} t {ty} {tty} u ú ü ű v z {zs} {zzs}] - [q w-y] - [a-z] - - - „ - ” - „ - ” - - - - - - - BK - - - - - - - - jan. - febr. - márc. - ápr. - máj. - jún. - júl. - aug. - szept. - okt. - nov. - dec. - - - január - február - március - április - május - június - július - augusztus - szeptember - október - november - december - - - - - J - F - M - Á - M - J - J - A - S - O - N - D - - - - - - - V - H - K - Sze - Cs - P - Szo - - - vasárnap - hétfő - kedd - szerda - csütörtök - péntek - szombat - - - - - V - H - K - S - C - P - S - - - - - - - N1 - N2 - N3 - N4 - - - I. negyedév - II. negyedév - III. negyedév - IV. negyedév - - - - - 1 - 2 - 3 - 4 - - - - de. - du. - - - időszámításunk előtt - időszámításunk szerint - - - i. e. - i. sz. - - - - - - y. MMMM d., EEEE - - - - - y. MMMM d. - - - - - yyyy.MM.dd. - - - - - yyyy.MM.dd. - - - - - - - H:mm:ss zzzz - - - - - H:mm:ss z - - - - - H:mm:ss - - - - - H:mm - - - - - - HH:mm - L - M. d., E - LLL - MMMM d. - MMM d. - MM.dd. - M. d. - d - mm:ss - yy/Q - yyyy.MM - y. MMMM - - - {0} - {1} - - M-M. - - - MM.dd., E - MM.dd., E - MM.dd., E - MM.dd., E - - - MMM-MMM - - - MMM d., E - MMM d., E - MMM d., E - d., E - - - MMM d. - MMM d. - MMM d-d. - - - MM.dd. - MM.dd. - MM.dd-dd. - - - d-d. - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - yyyy.MM-MM. - yyyy.MM. - yyyy.MM. - - - yyyy.MM.dd., E - MM.dd., E - yyyy.MM.dd., E - dd., E - yyyy.MM.dd., E - yyyy.MM.dd., E - - - y. MMM-MMM - y. MMM - y. MMM - - - y. MMM d., E - MMM d., E - y. MMM d., E - d., E - y. MMM d., E - y. MMM d., E - - - y. MMM d. - MMM d. - y. MMM d-d. - y. MMM d. - y. MMM d. - - - yyyy.MM.dd. - MM.dd. - yyyy.MM.dd-dd. - yyyy.MM.dd. - yyyy.MM.dd. - - - - - - éra - - - év - - - hónap - - - hét - - - nap - három nappal ezelőtt - tegnapelőtt - tegnap - ma - holnap - holnapután - három nap múlva - - - hét napja - - - napszak - - - óra - - - perc - - - másodperc - - - zóna - - - - - - - - Tisri - Hesván - Kiszlév - Tévész - Svát - Ádár risón - Ádár séni - Niszán - Ijár - Sziván - Áv - - - - - - TÉ - - - - - - - - Moharrem - Rébi el avvel - Rébi el accher - Dsemádi el avvel - Dsemádi el accher - Redseb - Sabán - Ramadán - Sevvál - Dsül kade - Dsül hedse - - - - - - MF - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - {1} ({0}) - - ismeretlen - - - Jereván - - - Déli-sark - - - Vosztok - - - Río Gallegos - - - Tucumán - - - Córdoba - - - Bécs - - - Barbadosz - - - Brüsszel - - - Szófia - - - Bahrein - - - Eirunepé - - - Río Branco - - - Cuiabá - - - Belém - - - Araguaína - - - Maceió - - - Minszk - - - Beliz - - - Montréal - - - Zürich - - - Húsvét-szigetek - - - Kasgár - - - Ürümqi - - - Csungking - - - Sanghaj - - - Havanna - - - Zöld-Foki Szigetek - - - Dzsibuti - - - Koppenhága - - - Dominika - - - Galapagos-szigetek - - - Kairó - - - Kanári-szigetek - - - Fidzsi - - - Truk-szigetek - - - Ponape-szigetek - - - Kosrae-szigetek - - - Párizs - - - Gibraltár - - - Godthåb - - - Scoresby Sound - - - Danmarks Havn - - - Athén - - - Dél-Georgia - - - Dzsakarta - - - Makasar - - - Bagdad - - - Teherán - - - Róma - - - Jamaika - - - Tokio - - - Kiritimati-sziget - - - St. Kitts - - - Észak-Korea - - - Dél-Korea - - - Kuvait - - - Aktau - - - Aktöbe - - - Kizilorda - - - Alma-Ata - - - Laosz - - - Bejrút - - - St. Lucia - - - Vilniusz - - - Luxemburg - - - Montenegró - - - Kwajalein-zátony - - - Majuro-zátony - - - Ulánbátor - - - Csojbalszan - - - Makaó - - - Málta - - - Maldív-szigetek - - - Mazatlán - - - Mexikóváros - - - Mérida - - - Cancún - - - Chatham-szigetek - - - Marquesas-szigetek - - - Gambier-szigetek - - - Varsó - - - Pitcairn-szigetek - - - Azori-szigetek - - - madeirai idő - - - Lisszabon - - - Katar - - - Bukarest - - - Szerbia - - - Kalinyingrád - - - Moszkva - - - Volgográd - - - Szamara - - - Jekatyerinburg - - - Omszk - - - Novoszibirszk - - - Krasznojarszk - - - Irkutszk - - - Jakutszk - - - Vlagyivosztok - - - Szahalin - - - Magadán - - - Kamcsatka - - - Anadir - - - Szingapúr - - - Salvador - - - Damaszkusz - - - Tunisz - - - Isztanbul - - - Tajvan - - - Ungvár - - - Kijev - - - Szimferopol - - - Zaporozsje - - - Midway-szigetek - - - Wake-sziget - - - Középső, Észak-Dakota - - - Szamarkand - - - Taskent - - - St. Vincent - - - St. Thomas - - - - Acre idő - Acre nyári idő - - - - - Afganisztáni idő - - - - - Mozambiki idő - Közép-afrikai idő - - - - - Kenyai idő - Kelet-afrikai idő - - - - - Nyugat-szaharai idő - - - - - Dél-afrikai idő - Dél-afrikai szabvány idő - - - - - Nigériai idő - Nyugat-afrikai idő - Nyugat-afrikai nyári idő - - - - - Aktyubinszki idő - Aktyubinszki nyári idő - - - - - Alaszkai idő - Alaszkai zónaidő - Alaszkai nyári idő - - - - - Alaszkai-hawaii idő - Alaszkai-hawaii zónaidő - Alaszkai-hawaii nyári idő - - - - - Amazóniai idő - Amazóniai nyári idő - - - - - Középső államokbeli idő - Középső államokbeli zónaidő - Középső államokbeli nyári idő - - - - - Keleti államokbeli idő - Keleti államokbeli zónaidő - Keleti államokbeli nyári idő - - - - - Hegyvidéki idő - Hegyvidéki zónaidő - Hegyvidéki nyári idő - - - - - Csendes-óceáni idő - Csendes-óceáni zónaidő - Csendes-óceáni nyári idő - - - - - Anadíri idő - Anadíri nyári idő - - - - - Aqtaui idő - Aqtaui nyári idő - - - - - Aqtobei idő - Aqtobei nyári idő - - - - - Arab idő - Arab zónaidő - Arab nyári idő - - - AT (Arab) - AST (arab) - ADT (Arab) - - - - - Argentína idő - argentínai nyári idő - - - - - Nyugat-Argentína idő - - - - - Örmény idő - Örmény nyári idő - - - AMT (Örményország) - AMST (Örményország) - - - - - Ashabadi idő - Ashabadi nyári idő - - - - - Atlanti-óceáni idő - Atlanti-óceáni zónaidő - Atlanti-óceáni nyári idő - - - - - Közép-ausztráliai idő - Ausztrál középső zónaidő - Ausztrál középső nyári idő - - - - - Ausztrál középső nyugati idő - Ausztrál középső nyugati zónaidő - Ausztrál középső nyugati nyári idő - - - - - Kelet-ausztrál idő - Ausztrál keleti zónaidő - Ausztrál keleti nyári idő - - - - - Nyugat-ausztrál idő - Ausztrál nyugati zónaidő - Ausztrál nyugati nyári idő - - - - - Azori idő - Azori nyári idő - - - - - Bakui idő - Bakui nyári idő - - - - - Bangladesi idő - - - - - Bering idő - Beringi zónaidő - Beringi nyári idő - - - BST (Beringi) - BDT (Beringi) - - - - - Butáni idő - - - - - Bolíviai idő - - - - - Borneói idő - Borneói nyári idő - - - - - Brazíliai idő - Brazíliai nyári idő - - - - - Brunei Darussalam-i idő - - - - - Cape verdei idő - Cape verdei nyári idő - - - - - Chamorroi zónaidő - - - - - Changbai idő - - - - - Chathami zónaidő - Chathami nyári idő - - - - - chilei idő - chilei nyári idő - - - - - Kínai zónaidő - Kínai nyári idő - - - CST (Kína) - CDT (Kína) - - - - - Csojbalszani idő - Csojbalszani nyári idő - - - - - Karácsony-szigeti idő - - - - - Kókusz-szigeteki idő - - - - - Kolumbiai idő - Kolumbiai nyári idő - - - - - Cook-szigeteki idő - Cook-szigeteki fél nyári idő - - - - - Kubai idő - Kubai zónaidő - Kubai nyári idő - - - CST (Kuba) - CDT (Kuba) - - - - - Daccai idő - - - - - Davisi idő - - - - - Dumont-d'Urville-i idő - - - - - Dusanbei idő - Dusanbei nyári idő - - - - - Holland-guianai idő - - - - - Kelet-timori idő - - - - - Húsvét-szigeteki idő - Húsvét-szigeteki nyári idő - - - - - Ecuadori idő - - - - - közép-európai idő - közép-európai nyári idő - - true - - - - kelet-európai idő - kelet-európai nyári idő - - true - - - - Nyugat-európai idő - Nyugat-európai nyári idő - - true - - - - Falkland-szigeteki idő - Falkland-szigeteki nyári idő - - - - - Fidzsi idő - Fidzsi nyári idő - - - - - Francia-guianai idő - - - - - Francia déli és antarktikus idő - - - - - Frunzei idő - Frunzei nyári idő - - - - - Greenwichi középidő - - true - - - - Galapagosi idő - - - - - Gambieri idő - - - - - Grúz idő - Grúz nyári idő - - - - - Gilbert-szigeteki idő - - - - - Közép-grönlandi idő - Közép-grönlandi nyári idő - - - - - Kelet-grönlandi idő - Kelet-grönlandi nyári idő - - - - - Nyugat-grönlandi idő - Nyugat-grönlandi nyári idő - - - - - Guami zónaidő - - - GST (Guam) - - - - - Öbölbeli zónaidő - - - - - Guyanai idő - - - - - Hawaii-aleuti zónaidő - - - - - Hongkongi idő - Hongkongi nyári idő - - - - - Hovdi idő - Hovdi nyári idő - - - - - Indiai zónaidő - - - - - Indiai-óceáni idő - - - - - Közép-indonéziai idő - - - - - Kelet-indonéziai idő - - - - - Nyugat-indonéziai idő - - - - - Iráni zónaidő - Iráni nyári idő - - - - - Irkutszki idő - Irkutszki nyári idő - - - - - Izraeli zónaidő - Izraeli nyári idő - - - IST (Izrael) - - - - - Japán zónaidő - Japán nyári idő - - - - - Petropavlovszk-kamcsatkai idő - Petropavlovszk-kamcsatkai nyári idő - - - - - Karacsi idő - - - - - Kasgár idő - - - - - Kelet-kazahsztáni zónaidő - - - - - Nyugat-kazahsztáni zónaidő - - - - - Kizilordai idő - Kizilordai nyári idő - - - - - Koreai idő - Koreai zónaidő - Koreai nyári idő - - - - - Kosraei idő - - - - - Krasznojarszki idő - Krasznojarszki nyári idő - - - - - Kujbisevi idő - Kujbisevi nyári idő - - - - - Kwajaleini idő - - - - - Kirgiz idő - - - - - Lankai idő - - - - - Libériai idő - - - Libériai idő - - - - - Line-szigeteki idő - - - - - Long-Shu idő - - - - - Lord howei idő - Lord howei zónaidő - Lord howei nyári idő - - - - - Macaui idő - Macaui nyári idő - - - - - Magadáni idő - Magadáni nyári idő - - - - - Malayai idő - - - - - Malajziai idő - - - - - Maldív-szigeteki idő - - - - - Marquesasi idő - - - - - Marshall-szigeteki idő - - - - - Mauritiusi idő - - - - - Mawsoni idő - - - - - Ulánbátori idő - Ulánbátori nyári idő - - - - - Moszkvai idő - Moszkvai zónaidő - Moszkvai nyári idő - - - - - Myanmari idő - - - - - Naurui idő - - - - - Nepáli idő - - - - - Új-kaledóniai idő - Új-kaledóniai nyári idő - - - - - Új-zélandi idő - Új-zélandi zónaidő - Új-zélandi nyári idő - - - - - Új-fundlandi idő - Új-fundlandi zónaidő - Új-fundlandi nyári idő - - - - - Niuei idő - - - - - Norfolk-szigeteki idő - - - - - Fernando de Noronha-i idő - Fernando de Noronha-i nyári idő - - - - - Észak-mariana-szigeteki idő - - - - - Novoszibirzski idő - Novoszibirszki nyári idő - - - - - Omszki idő - Omszki nyári idő - - - - - Pakisztáni idő - Pakisztáni nyári idő - - - - - Palaui idő - - - - - Pápua új-guineai idő - - - - - Paraguayi idő - Paraguayi nyári idő - - - - - Perui idő - Perui nyári idő - - - - - Fülöp-szigeteki idő - Fülöp-szigeteki nyári idő - - - - - Phoenix-szigeteki idő - - - - - Pierre és Miquelon-i idő - Pierre és Miquelon-i zónaidő - Pierre és Miquelon-i nyári idő - - - - - Pitcairni idő - - - - - Ponapei idő - - - - - Qyzylordai idő - Qyzylordai nyári idő - - - - - Réunioni idő - - - - - Rotherai idő - - - - - Sakhalin idő - Sakhalin nyári idő - - - - - Szamarai idő - Szamarai nyári idő - - - - - Szamarkandi idő - Szamarkandi nyári idő - - - SAMT (Szamarkand) - SAMST (Szamarkand) - - - - - Szamoai zónaidő - - - - - Seychelle-szigeteki idő - - - - - Sevcsenkói idő - Sevcsenkói nyári idő - - - - - Szingapúri zónaidő - - - - - Salamon-szigeteki idő - - - - - Dél-grúziai idő - - - GST (Dél-grúziai) - - - - - Szurinámi idő - - - - - Szverdlovszki idő - Szverdlovszki nyári idő - - - - - Syowai idő - - - - - Tahiti idő - - - - - Tadzsikisztáni idő - - - - - Taskenti idő - Taskenti nyári idő - - - - - Tbiliszi idő - Tbiliszi nyári idő - - - - - Tokelaui idő - - - - - Tongai idő - Tongai nyári idő - - - - - Truki idő - - - - - Török idő - Törökországi idő - Törökországi nyári idő - - - - - Türkmenisztáni idő - Türkmenisztáni nyári idő - - - - - Tuvalui idő - - - - - Uráli idő - Uráli nyári idő - - - - - Uruguayi idő - Uruguayi nyári idő - - - - - Urumqi idő - - - - - Üzbegisztáni idő - Üzbegisztáni nyári idő - - - - - Vanuatui idő - Vanuatui nyári idő - - - - - Venezuelai idő - - - - - Vlagyivosztoki idő - Vlagyivosztoki nyári idő - - - - - Volgográdi idő - Volgográdi nyári idő - - - - - Vosztoki idő - - - - - Wake-szigeti idő - - - - - Wallis és futunai idő - - - - - Jakutszki idő - Jakutszki nyári idő - - - - - Jekatyerinburgi idő - Jekatyerinburgi nyári idő - - - - - Jereváni idő - Jereváni nyári idő - - - - - yukoni idő - yukoni zónaidő - Yukoni nyári idő - - - - - - - , -   - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0.00 ¤ - - - {0} {1} - - - - Andorrai peseta - Andorrai peseta - - - EAE dirham - UAE dirham - - - Afghani (1927-2002) - Afghani (AFA) - - - Afghani - Afghani - - - Albán lek - Albán lek - - - Dram - Örmény dram - - - Holland-antilla forint - Holland Antillai guilder - - - Angolai kwanza - Angolai kwanza - - - Angolai kwanza (1977-1990) - Angolai kwanza (AOK) - - - Angolai új kwanza (1990-2000) - Angolai új kwanza (AON) - - - Angolai kwanza reajustado (1995-1999) - Angolai kwanza reajustado (AOR) - - - Argentín austral - Argentin austral - - - Argentín peso (1983-1985) - Argentin peso (ARP) - - - Peso - Argentin peso - - - Osztrák schilling - Osztrák schilling - - - Ausztrál dollár - Ausztrál dollár - - - Arubai forint - Arubai forint - - - Azerbajdzsáni manat (1993-2006) - Azerbajdzsáni manat (AZM) - - - Azerbajdzsáni manat - Azerbajdzsáni manat - - - Bosznia-hercegovinai dínár - Bosznia-hercegovinai dínár - - - Bozsnia-hercegovinai konvertibilis márka - Bosznia-hercegovinai konvertibilis márka - - - Barbadosi dollár - Barbadosi dollár - - - Bangladesi taka - Bangladesi taka - - - Belga frank (konvertibilis) - Belga frank (konvertibilis) - - - Belga frank - Belga frank - - - Belga frank (pénzügyi) - Belga frank (pénzügyi) - - - Bolgár kemény leva - Bolgár kemény leva - - - Bolgár új leva - Bolgár új leva - - - Bahreini dinár - Bahreini dinár - - - Burundi frank - Burundi frank - - - Bermudai dollár - Bermudai dollár - - - Brunei dollár - Brunei dollár - - - Boliviano - Bolíviai boliviano - - - Bolíviai peso - Bolíviai peso - - - Bolíviai mvdol - Bolíviai mvdol - - - Brazi cruzeiro novo (1967-1986) - Brazil cruzeiro novo (BRB) - - - Brazi cruzado - Brazil cruzado - - - Brazil cruzeiro (1990-1993) - Brazil cruzeiro (BRE) - - - Brazil real - Brazil real - - - Brazil cruzado novo - Brazil cruzado novo - - - Brazil cruzeiro - - - Bahamai dollár - - - Bhutáni ngultrum - - - Burmai kyat - - - Botswanai pula - - - Fehérorosz új rubel (1994-1999) - - - Fehérorosz rubel - - - Belizei dollár - - - Kanadai dollár - - - Kongói frank - - - WIR euro - - - Svájci frank - - - WIR frank - - - Chilei unidades de fomento - - - Chilei peso - - - Kínai jüan renminbi - - - Kolumbiai peso - - - Unidad de Valor Real - - - Costa Ricai colon - - - szerb dinár - - - Csehszlovák kemény korona - - - Kubai peso - - - Cape Verdei escudo - - - Ciprusi font - - - Cseh korona - - - Kelet-Német márka - - - Német márka - - - Dzsibuti frank - - - Dán korona - - - Dominikai peso - - - Algériai dínár - - - Ecuadori sucre - - - Ecuadori Unidad de Valor Constante (UVC) - - - Észt korona - - - Egyiptomi font - - - Eritreai nakfa - - - spanyol peseta (A-kontó) - - - spanyol peseta (konvertibilis kontó) - - - Spanyol peseta - - - Etiópiai birr - - - Euro - - - Finn markka - - - Fidzsi dollár - - - Falkland-szigeteki font - - - Francia frank - - - Brit font sterling - - - Grúz kupon larit - - - Grúz lari - - - Ghánai cedi (1979-2007) - - - Ghánai cedi - Ghánai cedi - - - Gibraltári font - - - Gambiai dalasi - - - Guineai frank - - - Guineai syli - - - Egyenlítői-guineai ekwele guineana - Egyenlítői-guineai ekwele - - - Görög drachma - - - Guatemalai quetzal - - - Portugál guinea escudo - - - Guinea-Bissaui peso - - - Guyanai dollár - - - Hongkongi dollár - - - Hodurasi lempira - - - Horvát dínár - - - Horvát kuna - - - Haiti gourde - - - Magyar forint - - - Indonéz rúpia - - - Ír font - - - Izraeli font - - - Izraeli új sékel - - - indiai rúpia - Indiai rúpia - - - Iraki dínár - - - Iráni rial - - - Izlandi korona - - - Olasz líra - - - Jamaikai dollár - - - Jordániai dínár - - - Japán jen - ¥ - - - Kenyai shilling - - - Kirgizisztáni szom - - - Kambodzsai riel - - - Comorei frank - - - Észak-koreai won - - - Dél-koreai won - - - Kuvaiti dínár - - - Kajmán-szigeteki dollár - - - Kazahsztáni tenge - - - Laoszi kip - - - Libanoni font - - - Sri Lankai rúpia - - - Libériai dollár - - - Lesothoi loti - - - Litvániai litas - - - Litvániai talonas - - - luxemburgi konvertibilis frank - - - Luxemburgi frank - - - luxemburgi pénzügyi frank - - - Lett lats - - - Lett rubel - - - Líbiai dínár - - - Marokkói dirham - - - Marokkói frank - - - Moldován lei - - - Madagaszkári ariary - - - Madagaszkári frank - - - Macedon dínár - - - Mali frank - - - Mianmari kyat - - - Mongóliai tugrik - - - makaói pataca - - - Mauritániai ouguiya - - - Máltai líra - - - Máltai font - - - Mauritiusi rúpia - - - Maldív-szigeteki rufiyaa - - - Malawi kwacha - - - Mexikói peso - - - Mexikói ezüst peso (1861-1992) - - - Mexikói Unidad de Inversion (UDI) - - - Malajziai ringgit - - - Mozambik escudo - - - Mozambik metical - - - Mozambiki metikális - - - Namíbiai dollár - - - Nigériai naira - - - Nikaraguai cordoba - - - Nikaraguai cordoba oro - - - Holland forint - - - Norvég korona - - - Nepáli rúpia - - - Új-zélandi dollár - - - Ománi rial - - - Panamai balboa - - - Perui inti - - - Perui sol nuevo - - - Perui sol - - - Pápua új-guineai kina - - - Fülöp-szigeteki peso - - - Pakisztáni rúpia - - - Lengyel zloty - - - Lengyel zloty (1950-1995) - - - Portugál escudo - - - Paraguayi guarani - - - Katari rial - - - rhodéziai dollár - Rhodéziai dollár - - - Régi román lej - Régi román lej - - - új román lej - Román lej - - - Szerb Dínár - - - Orosz rubel - - - Orosz rubel (1991-1998) - Orosz rubel (RUR) - - - Ruandai frank - - - Szaúdi riyal - - - Salamon-szigeteki dollár - - - Seychelle-szigeteki rúpia - - - Szudáni dínár - Régi szudáni dínár - - - Szudáni font - Szudáni font - - - Régi szudáni font - Régi szudáni font - - - Svéd korona - - - Szingapúri dollár - - - Saint Helena font - - - Szlovén tolar - - - Szlovák korona - - - Sierra Leonei leone - - - Szomáli shilling - - - Surinamei dollár - Surinamei dollár - - - Suriname-i gulden - - - Sao tome-i és principe-i dobra - - - Szovjet rubel - - - Salvadori colón - - - Szíriai font - - - Szváziföldi lilangeni - - - Thai baht - - - Tádzsikisztáni rubel - - - Tádzsikisztáni somoni - - - Türkmenisztáni manat - - - Tunéziai dínár - - - tongai paanga - Tongai paanga - - - Timori escudo - - - Régi török líra - Régi török líra - - - új török líra - Török líra - - - Trinidad és tobagoi dollár - - - Tajvani új dollár - Tajvani dollár - - - Tanzániai shilling - - - Ukrán hrivnya - - - Ukrán karbovanec - - - Ugandai shilling (1966-1987) - Ugandai shilling (UGS) - - - Ugandai shilling - - - USA dollár - $ - - - USA dollár (következő napi) - - - USA dollár (aznapi) - - - Uruguayi peso en unidades indexadas - Uruguayi peso en unidades indexadas - - - Uruguay-i peso (1975-1993) - Uruguayi peso (UYP) - - - Uruguay-i peso uruguayo - Uruguayi peso - - - Üzbegisztáni szum - - - Venezuelai bolívar - - - Venezuelai bolivar fuerte - Venezuelai bolivar fuerte - - - Vietnámi dong - - - Vanuatui vatu - - - Nyugat-szamoai tala - - - CFA frank BEAC - - - Ezüst - - - Arany - - - European Composite Unit - Európai kompozit egység - - - European Monetary Unit - Európai monetáris egység - - - European Unit of Account (XBC) - Európai kontó egység (XBC) - - - European Unit of Account (XBD) - Európai kontó egység (XBD) - - - Kelet-karibi dollár - - - Special Drawing Rights - - - európai pénznemegység - Európai pénznemegység - - - Francia arany frank - - - Francia UIC-frank - - - CFA frank BCEAO - - - palládium - Palládium - - - CFP frank - - - platina - Platina - - - RINET tőke - - - Tesztelési pénznemkód - - - Ismeretlen vagy érvénytelen pénznem - Ismeretlen/érvénytelen pénznem - - - Jemeni dínár - - - Jemeni rial - - - Jugoszláv kemény dínár - - - Jugoszláv új dínár - - - Jugoszláv konvertibilis dínár - - - Dél-afrikai rand (pénzügyi) - - - Dél-afrikai rand - - - Zambiai kwacha - - - Zairei új zaire - - - Zairei zaire - - - Zimbabwei dollár - - - - - - {0} nap - - - {0} óra - - - {0} perc - - - {0} hónap - - - {0} másodperc - - - {0} hét - - - {0} év - - - - - igen:i - nem:n - - - - diff --git a/lib/zend/Zend/Locale/Data/hu_HU.xml b/lib/zend/Zend/Locale/Data/hu_HU.xml deleted file mode 100644 index 25bf9ece0b..0000000000 --- a/lib/zend/Zend/Locale/Data/hu_HU.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/hy.xml b/lib/zend/Zend/Locale/Data/hy.xml deleted file mode 100644 index 22a5b60c14..0000000000 --- a/lib/zend/Zend/Locale/Data/hy.xml +++ /dev/null @@ -1,593 +0,0 @@ - - - - - - - - - - - Աֆրիկանս - Հաբեշերեն - Արաբերեն - Ասամերեն - Ադրբեջաներեն - Բելարուսերեն - Բուլղարերեն - Բիհարերեն - Բենգալերեն - Բրետոներեն - Բոսներեն - Կատալոներեն - Չեխերեն - Վալերեն - Դանիերեն - Գերմաներեն - Հունարեն - Անգլերեն - Էսպերանտո - Իսպաներեն - Էստոներեն - Բասկերեն - Պարսկերեն - Ֆիններեն - Տագալերեն - Ֆարվերեն - Ֆրանսերեն - Ֆրիսերեն - Իռլանդերեն - Գաելյան Շոտլանդերեն - Գալիսերեն - Գուարաներեն - Գուջարատերեն - Եբրայերեն - Հնդկերեն - Խորվաթերեն - Հունգարերեն - Հայերէն - Ինտերլինգուա - Ինդոնեզերեն - Ինտերլինգ - Իսլանդերեն - Իտալերեն - Ճապոներեն - Ճավայերեն - Վրացերեն - Կամբոջերեն - Կաննադա - Կորեերեն - Քրդերեն - Ղրղզերեն - Լատիներեն - Լինգալա - Լաոսերեն - Լիտվերեն - Լատվերեն - Մակեդոներեն - Կերալերեն - Մոնղոլերեն - Մարաթի - Մալայերեն - Մալթերեն - Նեպալերեն - Հոլանդերեն - Նորվեգերեն (Նյունորսկ) - Նորվեգերեն - Ակվիտաներեն - Օրիսերեն - Փենջաբերեն - Լեհերեն - Փաշտուներեն - Պորտուգալերեն - Ռումիներեն - Ռուսերեն - Սանսկրիտերեն - Սինդհի - Սերբա-Խորվաթերեն - Սինհալերեն - Սլովակերեն - Սլովեներեն - Սոմալերեն - Ալբաներեն - Սերբերեն - Սեսոտո - Սունդաներեն - Շվեդերեն - Սուահիլի - Թամիլերեն - Տելուգու - Թայերեն - Էրիտրերեն - Թուրքմեներեն - Կլինգոն - Թուրքերեն - Տուի - Ույղուրերեն - Ուկրաիներեն - Ուրդու - Ուզբեկերեն - Վիետնամերեն - Խոշերեն - Իդիշ - Չինարեն - Զուլուսերեն - - - Աշխարհ - Աֆրիկա - Հարավային Ամերիկա - Արևմտյան Աֆրիկա - Արևելյան Աֆրիկա - Հյուսիսային Աֆրիկա - Հարավային Աֆրիկա [018] - Անդորա - Միացյալ Արաբական Էմիրաթներ - Աֆղանստան - Անտիգուա-Բարբուդա - Ալբանիա - Հայաստանի Հանրապետութիւն - Անգոլա - Արգենտինա - Ավստրիա - Ավստրալիա - Ադրբեջան - Բոսնիա-Հերցեգովինա - Բարբադոս - Բանգլադեշ - Բելգիա - Բուրկինա Ֆասո - Բուլղարիա - Բահրեյն - Բուրունդի - Բենին - Բրունեյ - Բոլիվիա - Բրազիլիա - Բահամներ - Բուտան - Բոտսվանա - Բելոռուս - Բելիզ - Կանադա - Կենտրոնական Աֆրիկյան Հանրապետություն - Կոնգո - Շվեյցարիա - Փղոսկրի Ափ - Չիլի - Կամերուն - Չինաստան - Կոլումբիա - Կոստա-Ռիկա - Սերբիա և Մոնտենեգրո - Կուբա - Կաբո-Վերդե - Կիպրոս - Չեխիայի Հանրապետություն - Գերմանիա - Ջիբուտի - Դանիա - Դոմինիկա - Դոմինիկյան Հանրապետություն - Ալժիր - Էկվադոր - Էստոնիա - Եգիպտոս - Արեվմտյան Սահարա - Էրիտրեա - Իսպանիա - Եթովպիա - Ֆինլանդիա - Ֆիջի - Միկրոնեզիա - Ֆրանսիա - Գաբոն - Մեծ Բրիտանիա - Գրենադա - Վրաստան - Գանա - Գամբիա - Գվինեա - Հասարակածային Գվինեա - Հունաստան - Գվատեմալա - Գվինեա-Բիսաու - Գայանա - Հոնդուրաս - Հորվաթիա - Հաիթի - Հունգարիա - Ինդոնեզիա - Իռլանդիա - Իսրայել - Հնդկաստան - Իրաք - Իրան - Իսլանդիա - Իտալիա - Ջամայկա - Հորդանան - Ճապոնիա - Քենիա - Կիրգիզստան - Կամբոջա - Կիրիբատի - Կոմորոս - Սենտ Կիտս-Նեվիս - Հյուսիսային Կորեա - Հարավային Կորեա - Քուվեյթ - Ղազախստան - Լաոս - Լիբանան - Սանտա Լուչիա - Լիխտենշտեյն - Շրի Լանկա - Լիբերիա - Լեսոտո - Լիտվա - Լյուքսեմբուրգ - Լատվիա - Լիբիա - Մարոկո - Մոնակո - Մոլդովա - Մադագասկար - Մարշալյան կղզիներ - Մակեդոնիա - Մալի - Մյանմա - Մոնղոլիա - Մավրիտանիա - Մալթա - Մավրիտոս - Մալդիվներ - Մալավի - Մեքսիկա - Մալայզիա - Մոզամբիկ - Նամիբիա - Նիգեր - Նիգերիա - Նիկարագուա - Նիդերլանդեր - Նորվեգիա - Նեպալ - Նաուրու - Նոր Զելանդիա - Օման - Պանամա - Պերու - Պապուա Նոր Գվինեա - Ֆիլիպիններ - Պակիստան - Լեհաստան - Պորտուգալիա - Պալաու - Պարագվայ - Կատար - Ռումինիա - Ռուսաստան - Ռուանդա - Սաուդիան Արաբիա - Սոլոմոնյան կղզիներ - Սեյշելներ - Սուդան - Շվեդիա - Սինգապուր - Սլովենիա - Սլովակիա - Սյերա-Լեոնե - Սան Մարինո - Սենեգալ - Սոմալի - Սուրինամ - Սան-Թոմե-Փրինսիպի - Սալվադոր - Սիրիա - Սվազիլենդ - Չադ - Տոգո - Թաիլանդ - Տաճիկստան - Թուրքմենստան - Թունիս - Տոնգա - Թուրքիա - Տրինիդադ-Տոբագո - Տուվալու - Թայվան - Տանզանիա - Ուկրաինա - Ուգանդա - Ամէրիկայի Միացյալ Նահանգնէր - Ուրուգվայ - Ուզբեկստան - Վատիկան - Սենտ Վիսենտ-Գրենադիններ - Վենեսուելա - Վիետնամ - Վանուատու - Սամոա - Եմեն - Հարավային Աֆրիկա - Զամբիա - Զիմբաբվե - - - - [֊ ՝ ՜ ՞ ՚ ՛ ՟ ա-ե և զ-ֆ] - - - - - - - - Յնր - Փտր - Մրտ - Ապր - Մյս - Յնս - Յլս - Օգս - Սեպ - Հոկ - Նոյ - Դեկ - - - Յունուար - Փետրուար - Մարտ - Ապրիլ - Մայիս - Յունիս - Յուլիս - Օգոստոս - Սեպտեմբեր - Հոկտեմբեր - Նոյեմբեր - Դեկտեմբեր - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Կիր - Երկ - Երք - Չոր - Հնգ - Ուր - Շաբ - - - Կիրակի - Երկուշաբթի - Երեքշաբթի - Չորեքշաբթի - Հինգշաբթի - Ուրբաթ - Շաբաթ - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - Առ․ - Եր․ - - - Ք․Ա․ - Ք․Ե․ - - - - - - EEEE, MMMM d, y - - - - - MMMM dd, y - - - - - MMM d, y - - - - - MM/dd/yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - MMMM dd - MM/dd - Q yy - - - {0} - {1} - - M-M - - - E, MM/dd - E, MM/dd - E, MM/dd - E, MM/dd - - - MMM-MMM - - - E, MMM dd - E, MMM dd - E, MMM dd - E, MMM dd - - - MMM dd - MMM dd - MMM dd-dd - - - MM/dd - MM/dd - MM/dd - MM/dd - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E, MM/dd/yy - E, MM/dd/yy - E, MM/dd/yy - E, MM/dd/yy - E, MM/dd/yy - E, MM/dd/yy - - - MMM-MMM y - MMM y - MMM y - - - E, MMM d - E, MMM d, y - E, MMM d - E, MMM d, y - E, MMM d, y - E, MMM d, y - - - MMM dd - MMM dd, y - MMM dd-dd, y - MMM dd, y - MMM dd, y - - - MM/dd/yy - MM/dd/yy - MM/dd/yy - MM/dd/yy - MM/dd/yy - MM/dd/yy - - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - , - . - - - - - #0.### - - - - - - - #0% - - - - - - - #0.00 ¤ - - - - - - դր. - - - - diff --git a/lib/zend/Zend/Locale/Data/hy_AM.xml b/lib/zend/Zend/Locale/Data/hy_AM.xml deleted file mode 100644 index ac7bc38ca2..0000000000 --- a/lib/zend/Zend/Locale/Data/hy_AM.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/hy_AM_REVISED.xml b/lib/zend/Zend/Locale/Data/hy_AM_REVISED.xml deleted file mode 100644 index 9869d0b79c..0000000000 --- a/lib/zend/Zend/Locale/Data/hy_AM_REVISED.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - Հնվ - Փտվ - Հնս - Հլս - - - Հունվար - Փետրվար - Հունիս - Հուլիս - - - - Կե․ - - - Մ․Թ․Ա․ - Մ․Թ․ - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ia.xml b/lib/zend/Zend/Locale/Data/ia.xml deleted file mode 100644 index b53569d7d3..0000000000 --- a/lib/zend/Zend/Locale/Data/ia.xml +++ /dev/null @@ -1,553 +0,0 @@ - - - - - - - - - - - afrikaans - amharico - arabe - Assamese - azerbaidzhani - bielorusso - bulgaro - bihari - bengali - breton - bosniaco - catalano - checo - gallese - danese - germano - greco - anglese - anglese (RU) - anglese (SUA) - esperanto - espaniol - estoniano - basco - persiano - finnese - tagalog - faroese - francese - frisiano - irlandese - scoto gaelic - gallego - guarani - gujarati - hebreo - hindi - croato - hungaro - armeniano - interlingua - indonesiano - Interlingue - islandese - italiano - japonese - javanese - georgiano - Cambodiano - kannada - coreano - kurdo - kirghizo - latino - lingala - laotiano - lithuano - letton - macedone - malayalam - mongolico - marathi - malay - maltese - nepalese - nederlandese - norvegiano (nynorsk) - norvegiano - occitano - oriya - punjabi - polonese - pashto - portugese - romaniano - russo - sanscrito - sindhi - serbocroate - sinhalese - slovaco - sloveno - somali - albanese - serbo - sesotho - sundanese - svedese - swahili - tamil - telugu - thai - tigrinya - turkmeno - Klingon - turco - twi - Uyghur - ukrainiano - urdu - uzbeco - vietnamese - xhosa - yiddish - zulu - - - Emiratos Arabe Unite - Afghanistan - Antigua e Barbuda - Albania - Armenia - Antillas nederlandese - Angola - Antarctica - Argentina - Samoa american - Austria - Australia - Azerbaidzhan - Bosnia e Herzegovina - Bangladesh - Belgica - Burkina Faso - Bulgaria - Burundi - Benin - Bolivia - Brasil - Bahamas - Bhutan - Insula de Bouvet - Botswana - Bielorussia - Canada - Republica African Central - Congo - Suissa - Insulas Cook - Chile - Camerun - China - Colombia - Cuba - Insula de Natal - Cypro - Republica Tchec - Germania - Danmark - Republica Dominican - Algeria - Ecuador - Estonia - Egypto - Sahara occidental - Eritrea - Espania - Ethiopia - Finlandia - Micronesia - Insulas Feroe - Francia - Gabon - Regno Unite - Georgia - Guyana francese - Ghana - Groenlandia - Gambia - Guinea - Guinea equatorial - Grecia - Guinea-Bissau - Honduras - Croatia - Haiti - Hungaria - Indonesia - Irlanda - Israel - India - Territorio oceanic britanno-indian - Irak - Iran - Islanda - Italia - Jordania - Japon - Kenya - Kirghizistan - Cambodgia - Kiribati - Comoros - Sancte Christophoro e Nevis - Corea del Nord - Corea del Sud - Insulas de Caiman - Kazakhstan - Libano - Sancte Lucia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Lituania - Lettonia - Libya - Marocco - Moldavia - Madagascar - Insulas Marshall - Macedonia - Mali - Birmania/Myanmar - Mongolia - Insulas Marianna del Nord - Mauritania - Malawi - Mexico - Malaysia - Mozambique - Namibia - Nove Caledonia - Niger - Insula Norfolk - Nigeria - Nicaragua - Nederlandia - Norvegia - Nepal - Nove Zelanda - Oman - Peru - Polynesia francese - Papua Nove Guinea - Philippinas - Pakistan - Polonia - Portugal - Paraguay - Romania - Ruanda - Arabia Saudita - Insulas Solomon - Seychelles - Sudan - Svedia - Slovenia - Slovachia - Sierra Leone - San Marino - Senegal - Somalia - Suriname - Syria - Swazilandia - Insulas Turcos e Caicos - Tchad - Territorios meridional francese - Togo - Thailandia - Tadzhikistan - Tokelau - Timor del Est - Turkmenistan - Tunisia - tonga - Turchia - Trinidad e Tobago - Tuvalu - Taiwan - Tanzania - Ukraina - Uganda - Statos Unite - Uruguay - Uzbekistan - Sancte Vincente e le Grenadinas - Venezuela - Vanuatu - Samoa - Yemen - Africa del Sud - Zambia - Zimbabwe - - - - [a-c {ch} d-p {ph} q-z] - - - ‘ - ’ - “ - ” - - - - - - - - jan - feb - mar - apr - mai - jun - jul - aug - sep - oct - nov - dec - - - januario - februario - martio - april - maio - junio - julio - augusto - septembre - octobre - novembre - decembre - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - dom - lun - mar - mer - jov - ven - sab - - - dominica - lunedi - martedi - mercuridi - jovedi - venerdi - sabbato - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - T1 - T2 - T3 - T4 - - - 1-me trimestre - 2-nde trimestre - 3-tie trimestre - 4-te trimestre - - - - a.m. - p.m. - - - ante Christo - post Christo - - - a.Chr. - p.Chr. - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - Capo Verde - - - Djibuti - - - Granada - - - Hongkong - - - Luxemburg - - - Martinica - - - Mauritio - - - Maldivas - - - Insula Pitcairn - - - Porto Rico - - - Mayotta - - - - - - , - . - - - - Dollares australian - - - Dollares canadian - - - Francos suisse - - - Marcos german - - - Coronas danese - - - Euros - - - francos francese - - - Libras sterling britannic - - - Yen japonese - - - Coronas norvegian - - - Coronas svedese - - - Dollares statounitese - - - - diff --git a/lib/zend/Zend/Locale/Data/id.xml b/lib/zend/Zend/Locale/Data/id.xml deleted file mode 100644 index 79d4cea586..0000000000 --- a/lib/zend/Zend/Locale/Data/id.xml +++ /dev/null @@ -1,1334 +0,0 @@ - - - - - - - - - - - Afar - Abkhaz - Aceh - Acoli - Adangme - Adyghe - Avestan - Afrikaans - Afro-Asiatik (Lainnya) - Afrihili - Ainu - Akan - Akkadien - Aleut - Bahasa Algonquia - Altai Selatan - Amharik - Aragon - Inggris Kuno (kl.450-1100) - Angika - Bahasa-bahasa Apache - Arab - Aram - Araucan - Arapaho - Buatan (Lainnya) - Arawak - Assam - Astur - Bahasa-bahasa Athapaska - Bahasa-bahasa Australia - Avarik - Awadhi - Aymara - Azerbaijan - Bashkir - Banda - Bahasa-bahasa Bamileke - Baluchi - Balin - Basa - Baltik (Lainnya) - Belarusia - Beja - Bemba - Berber - Bulgaria - Bihari - Bhojpuri - Bislama - Bikol - Bini - Siksika - Bambara - Bengal - Bantu - Tibet - Breton - Braj - Bosnia - Batak - Buriat - Bugis - Blin - Catalan - Caddo - India Amerika Tengah (Lainnnya) - Karib - Kaukasia (Lainnya) - Atsam - Chechen - Cebuano - Celtic (Lainnya) - Chamorro - Chibcha - Chagatai - Chuuke - Mari - Jargon Chinook - Choctaw - Chipewyan - Cherokee - Cheyenne - Bahasa Chamic - Korsika - Koptik - Kreol dan Pidgins Lain Berbasis Inggris - Kreol dan Pidgins Lain berbasis Prancis - Kreol dan Pidgins Lain berbasis Portugis - Cree - Turki Krimea - Kreol dan Pidgins Lain - Ceko - Kashubian - Church Slavic - Cushitic Lain - Chuvash - Welsh - Denmark - Dakota - Dargwa - Dayak - Jerman - Jerman Austria - Jerman Tinggi Swiss - Delaware - Slave - Dogrib - Dinka - Dogri - Dravidia Lain - Sorbia Rendahan - Duala - Belanda Menengah - Divehi - Dyula - Dzongkha - Ewe - Efik - Mesir Kuno - Ekajuk - Yunani - Elamite - Inggris - Inggris Australia - Inggris Kanada - Inggris (British) - Inggris A.S. - Inggris, Abad Pertengahan (1100-1500) - Esperanto - Spanyol - Spanyol Amerika Latin - Spanyol (Iberia) - Estonian - Basque - Ewondo - Persia - Fang - Fanti - Fulah - Finlandia - Filipina - Finno - Ugria Lain - Fiji - Faro - Fon - Perancis - Prancis Kanada - Prancis Swiss - Perancis, Abad Pertengahan (kl.1400-1600) - Perancis Kuno (842-kl.1400) - Frisia Utara - Frisia Timur - Friuli - Frisi - Irlandia - Ga - Gayo - Gbaya - Gaelik Skotlandia - Jermanik (Lainnya) - Geez - Gilbert - Gallegan - Jerman, Abad Pertengahan (kl.1050-1500) - Guarani - Jerman Kuno (kl.750-1050) - Gondi - Gorontalo - Gothik - Grebo - Yunani Kuno (sd 1453) - Jerman Swiss - Gujarati - Manx - Gwich'in - Hausa - Haida - Hawaii - Ibrani - Hindi - Hiligaynon - Himachali - Hittite - Hmong - Hiri Motu - Kroasia - Sorbia Atas - Haiti - Hungaria - Hupa - Armenia - Herero - Interlingua - Iban - Bahasa Indonesia - Interlingue - Igbo - Sichuan Yi - Ijo - Inupiaq - Iloko - Indic Lain - Indo-Eropa Lain - Ingush - Ido - Iran Lain - Bahasa Iroquoia - Icelandic - Italian - Inuktitut - Japanese - Lojban - Judeo-Persia - Judeo-Arab - Jawa - Georgian - Kara-Kalpak - Kabyle - Kachin - Jju - Kamba - Karen - Kawi - Kabardian - Tyap - Koro - Kongo - Khasi - Khoisa Lain - Khotan - Kikuyu - Kuanyama - Kazakh - Kalaallisut - Khmer - Kimbundu - Kannada - Korea - Konkani - Kosrae - Kpelle - Kanuri - Karachay-Balkar - Karelian - Kru - Kurukh - Kashmir - Kurdi - Kumyk - Kutenai - Komi - Cornish - Kirghiz - Latin - Ladino - Lahnda - Lamba - Luxembourg - Lezghia - Ganda - Limburg - Lingala - Lao - Mongo - Lozi - Lithuania - Luba-Katanga - Luba-Lulua - Luiseno - Lunda - Luo - Lushai - Latvian - Madura - Magahi - Maithili - Makassar - Mandingo - Austronesia - Masai - Moksha - Mandar - Mende - Malagasi - Irlandia Abad Pertengahan (900-1200) - Marshall - Maori - Micmac - Minangkabau - Bahasa Lain-lain - Macedonian - Mon-Khmer (Lainnya) - Malayalam - Mongolian - Manchu - Manipuri - Bahasa Manobo - Moldavian - Mohawk - Mossi - Marathi - Malay - Maltese - Beberapa Bahasa - Bahasa Munda - Creek - Mirand - Marwari - Burma - Bahasa Mayan - Erzya - Nauru - Nahuati - Indian Amerika Utara Lain - Neapolitan - Norwegian Bokmål - Ndebele Utara - Jerman Rendah - Nepal - Newari - Ndonga - Nias - Niger - Kordofania Lain - Niuea - Belanda - Flemish - Norwegian Nynorsk - Norwegian - Nogai - Norse Lama - N'Ko - Ndebele Selatan - Sotho Utara - Bahasa Nubia - Navajo - Newari Klasik - Nyanja; Chichewa; Chewa - Nyamwezi - Nyankole - Nyoro - Nzima - Bahasa Occit - Ojibwa - Oromo - Oriya - Ossetic - Osage - Turki Ottoman - Bahasa Otomia - Punjabi - Papuan (Lainnya) - Pangasina - Pahlavi - Pampanga - Papiamento - Palaua - Persia Kuno (kl.600-400 SM.) - Filipina (Lainnya) - Phoenicia - Pali - Polish - Pohnpeia - Bahasa Prakrit - Provençal Lama - Pashto (Pushto) - Portugis - Portugis Brasil - Portugis (Iberia) - Quechua - Rajasthani - Rapanui - Rarotongan - Rhaeto-Romance - Rundi - Romanian - Romance Lain - Romany - Root - Russian - Aromanian - Kinyarwanda - Sanskrit - Sandawe - Yakut - Indian Amerika Selatan Lain - Bahasa Salisha - Aramaic Samaritan - Sasak - Santali - Sardinian - Sisilia - Skotlandia - Sindhi - Northern Sami - Selkup - Semitic Lain - Sango - Irlandia Lama - Bahasa Isyarat - Serbo-Croatian - Shan - Sinhalese - Sidamo - Bahasa Siouan - Sino-Tibet Lain - Slovak - Slovenian - Slavic Lain - Samoan - Sami Selatan - Bahasa Sami Lain - Lule Sami - Inari Sami - Skolt Sami - Shona - Soninke - Somali - Sogdien - Songhai - Albanian - Serbian - Sranan Tongo - Serer - Swati - Nilo-Sahara Lain - Sotho Selatan - Sundan - Sukuma - Susu - Sumeria - Swedia - Swahili - Syria - Tamil - Tai Lain - Telugu - Timne - Tereno - Tetum - Tajik - Thai - Tigrinya - Tigre - Tiv - Turkmen - Tokelau - Tagalog - Klingon - Tingit - Tamashek - Tswana - Tonga - Nyasa Tonga - Tok Pisin - Turkish - Tsonga - Tsimshian - Tatar - Tumbuka - Bahasa Tupi - Altaic Lain - Tuvalu - Twi - Tahitian - Tuvinia - Udmurt - Uighur - Ugaritik - Ukrainian - Umbundu - Bahasa Tidak Dikenal atau Tidak Valid - Urdu - Uzbek - Vai - Venda - Vietnamese - Volapük - Votik - Walloon - Bahasa Wakasha - Walamo - Waray - Washo - Bahasa Serbia - Wolof - Kalmyk - Xhosa - Yao - Yap - Yiddish - Yoruba - Bahasa Yupik - Zhuang - Zapotek - Zenaga - Cina - Cina Sederhana - Cina Tradisional - Zande - Zulu - Zuni - Tidak ada konten linguistik - Zaza - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Andora - Uni Emirat Arab - Afghanistan - Antigua dan Barbuda - Anguilla - Albania - Armenia - Antilles Belanda - Angola - Antarktika - Argentina - Samoa Amerika - Austria - Australia - Aruba - �Land Islands - Azerbaijan - Bosnia dan Herzegovina - Barbados - Bangladesh - Belgia - Burkina Faso - Bulgaria - Bahrain - Burundi - Benin - Bermuda - Brunei - Bolivia - Brazil - Bahamas - Bhutan - Kepulauan Bouvet - Botswana - Belarusia - Belize - Kanada - Kepulauan Cocos - Republik Demokratik Kongo - Republik Afrika Tengah - Kongo - Swiss - Pantai Gading - Kepulauan Cook - Chili - Kamerun - Cina - Kolombia - Kosta Rika - Serbia dan Montenegro - Kuba - Tanjung Verde - Pulau Christmas - Siprus - Republik Ceko - Jerman - Jibouti - Denmark - Dominika - Republik Dominika - Algeria - Ekuador - Estonia - Mesir - Sahara Barat - Eritrea - Spanyol - Ethiopia - Finlandia - Fiji - Kepulauan Falkland - Mikronesia - Kepulauan Faroe - Perancis - Gabon - Inggris Raya - Grenada - Georgia - Guyana Perancis - Guernsey - Ghana - Gibraltar - Greenland - Gambia - Guinea - Guadeloupe - Guinea Khatulistiwa - Yunani - Georgia Selatan dan Kepulauan Sandwich Selatan - Guatemala - Guam - Guinea-Bissau - Guyana - Hong Kong S.A.R., Cina - Pulau Heard dan Kepulauan McDonald - Honduras - Kroasia - Haiti - Hungaria - Indonesia - Irlandia - Israel - Isle of Man - India - British Indian Ocean Territory - Iraq - Iran - Islandia - Itali - Jersey - Jamaika - Yordania - Jepang - Kenya - Kyrgyzstan - Kamboja - Kiribati - Komoros - Saint Kitts dan Nevis - Korea Utara - Korea Selatan - Kuwait - Kepulauan Kayman - Kazakhstan - Laos - Lebanon - Santa Lusia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Lithuania - Luxembourg - Latvia - Libya - Maroko - Monaco - Moldova - Montenegro - Madagaskar - Kepulauan Marshall - Macedonia - Mali - Myanmar - Mongolia - Makao S.A.R. Cina - Kepualuan Mariana Utara - Martinique - Mauritania - Montserrat - Malta - Mauritius - Maldives - Malawi - Mexico - Malaysia - Mozambique - Namibia - Kaledonia Baru - Niger - Kepulauan Norfolk - Nigeria - Nicaragua - Netherlands - Norwegia - Nepal - Nauru - Niue - Selandia Baru - Oman - Panama - Peru - Polynesia Perancis - Papua Nugini - Filipina - Pakistan - Polandia - Saint Pierre dan Miquelon - Pitcairn - Puerto Riko - Otoritas Palestina - Portugis - Palau - Paraguay - Qatar - Réunion - Romania - Serbia - Rusia - Rwanda - Arab Saudi - Kepulauan Solomon - Seychelles - Sudan - Sweden - Singapura - Saint Helena - Slovenia - Svalbard dan Jan Mayen - Slovakia - Sierra Leone - San Marino - Senegal - Somalia - Suriname - Sao Tome dan Principe - El Salvador - Syria - Swaziland - Kepulauan Turks dan Caicos - Chad - Wilayah Prancis Selatan - Togo - Thailand - Tajikistan - Tokelau - Timor Timur - Turkmenistan - Tunisia - Tonga - Turkey - Trinidad dan Tobago - Tuvalu - Taiwan - Tanzania - Ukraina - Uganda - Kepulauan minor sekitar Amerika Serikat - Amerika Serikat - Uruguay - Uzbekistan - Vatikan - Saint Vincent dan Grenadines - Venezuela - Kepulauan British Virgin - Kepulauan U.S. Virgin - Vietnam - Vanuatu - Wallis dan Futuna - Samoa - Yaman - Mayotte - Afrika Selatan - Zambia - Zimbabwe - - - - [a-n {ng} {ny} o p r-w y] - - - ‘ - ’ - “ - ” - - - - - - - - Jan - Feb - Mar - Apr - Mei - Jun - Jul - Agu - Sep - Okt - Nov - Des - - - Januari - Februari - Maret - April - Mei - Juni - Juli - Agustus - September - Oktober - November - Desember - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Min - Sen - Sel - Rab - Kam - Jum - Sab - - - Minggu - Senin - Selasa - Rabu - Kamis - Jumat - Sabtu - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - K1 - K2 - K3 - K4 - - - kuartal pertama - kuartal kedua - kuartal ketiga - kuartal keempat - - - - AM - PM - - - BCE - CE - - - - - - EEEE, dd MMMM yyyy - - - - - d MMMM yyyy - - - - - d MMM yyyy - - - - - dd/MM/yy - - - - - - - H:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - dd MMMM - dd/MM - mm:ss - MM/yy - Q yy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - Andora - - - Anguila - - - Kutub Selatan - - - Dumont D'Urville - - - Easter Island - - - Kosta Rika - - - Dominika - - - Canary Islands - - - Guadalupe - - - Hongkong - - - Jamaika - - - St. Kitts - - - St. Lucia - - - Monako - - - Makau - - - Singapura - - - Salvador - - - Alaska Time - - - St. Vincent - - - St. Thomas - - - - - - , - . - - - - - ¤#,##0.00 - - - - - - Dirham Uni Emirat Arab - - - Peso Argentina - - - Dolar Australia - - - Lev Bulgaria - - - Dollar Brunei - - - Boliviano Bolivia - - - Real Brazil - - - Dolar Kanada - - - Franc Swiss - - - Peso Chili - - - Yuan Renminbi - - - Peso Kolombia - - - Koruna Czech - - - Mark Jerman - - - Kroner Denmark - - - Kroon Estonia - - - Pound Mesir - - - Euro - - - Dollar Fiji - - - Frank Prancis - - - Pondsterling Inggris - - - Dolar Hong Kong - - - Kuna Kroasia - - - Forint Hungaria - - - Rupiah Indonesia - - - Shekel Israel - - - Rupee India - - - Yen Jepang - - - Shilling Kenya - - - Won Korea Selatan - - - Litas Lithuania - - - Dirham Maroko - - - Lira Malta - - - Peso Meksiko - - - Ringgit Malaysia - - - Kroner Norwegia - - - Dolar New Zealand - - - Nuevo Sol Peruvian - - - Peso Filipina - - - Rupee Pakistan - - - NewZloty Polandia - - - Leu Rumania Baru - - - Dinar Serbia - - - Rubel Rusia - - - Real Saudi - - - Kronor Swedia - - - Dolar Singapura - - - Tolar Slovenia - - - Koruna Slovakia - - - Baht Thailand - - - Lira Turki - - - Lira Turki Baru - - - Dolar Taiwan Baru - - - Hryvnia Ukrania - - - Dolar Amerika - - - Bolivar Venezuela - - - Dong Vietnam - - - Rand Afrika Selatan - - - - - - {0} hari - - - {0} jam - - - {0} menit - - - {0} bulan - - - {0} detik - - - {0} minggu - - - {0} tahun - - - - - ya:y - tidak:t - - - diff --git a/lib/zend/Zend/Locale/Data/id_ID.xml b/lib/zend/Zend/Locale/Data/id_ID.xml deleted file mode 100644 index 8ee4e8b859..0000000000 --- a/lib/zend/Zend/Locale/Data/id_ID.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ig.xml b/lib/zend/Zend/Locale/Data/ig.xml deleted file mode 100644 index 81e57ec7fe..0000000000 --- a/lib/zend/Zend/Locale/Data/ig.xml +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - [a b {ch} d-g {gb} {gh} {gw} h i ị j k {kp} {kw} l-n ṅ {nw} {ny} o ọ p r s {sh} t u ụ v w y z] - - - - - - - - Jen - Feb - Maa - Epr - Mee - Juu - Jul - Ọgọ - Sep - Ọkt - Nov - Dis - - - Jenụwarị - Febrụwarị - Maachị - Eprel - Mee - Juun - Julaị - Ọgọọst - Septemba - Ọktoba - Novemba - Disemba - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Ụka - Mọn - Tiu - Wen - Tọọ - Fraị - Sat - - - Mbọsị Ụka - Mọnde - Tiuzdee - Wenezdee - Tọọzdee - Fraịdee - Satọdee - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - A.M. - P.M. - - - Tupu Kristi - Afọ Kristi - - - T.K. - A.K. - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - H:mm - L - d - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - Naịra - - - - diff --git a/lib/zend/Zend/Locale/Data/ig_NG.xml b/lib/zend/Zend/Locale/Data/ig_NG.xml deleted file mode 100644 index 5ad548c00c..0000000000 --- a/lib/zend/Zend/Locale/Data/ig_NG.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ii.xml b/lib/zend/Zend/Locale/Data/ii.xml deleted file mode 100644 index 157f66c1bb..0000000000 --- a/lib/zend/Zend/Locale/Data/ii.xml +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - - - - - ꄓꇩꉙ - ꑱꇩꉙ - ꑭꀠꑸꉙ - ꃔꇩꉙ - ꆈꌠꉙ - ꑴꄊꆺꉙ - ꏝꀪꉙ - ꁍꄨꑸꉙ - ꀠꑟꁍꄨꑸꉙ - ꊉꇩꉙ - ꅉꀋꌠꅇꂷ - ꍏꇩꉙ - ꈝꐯꍏꇩꉙ - ꀎꋏꍏꇩꉙ - - - - - - - - - - - - - ꀠꑭ - ꍏꇩ - ꄓꇩ - ꃔꇩ - ꑱꇩ - ꑴꄗ - ꑴꄊꆺ - ꏝꀪ - ꊉꇆꌦ - ꂰꇩ - ꃅꄷꅉꀋꐚꌠ - - - ꄉꉻꃅꑍ - ꑳꌦꇂꑍꉖ - - - ꂰꇩ - ꂰꌬꌠ - - - ꅇꉙ: {0} - ꇇꁱ: {0} - ꃅꄷ: {0} - - - - [ꀀ-ꒌ] - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - ꋍꆪ - ꑍꆪ - ꌕꆪ - ꇖꆪ - ꉬꆪ - ꃘꆪ - ꏃꆪ - ꉆꆪ - ꈬꆪ - ꊰꆪ - ꊰꊪꆪ - ꊰꑋꆪ - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - ꆏꑍ - ꆏꋍ - ꆏꑍ - ꆏꌕ - ꆏꇖ - ꆏꉬ - ꆏꃘ - - - ꑭꆏꑍ - ꆏꊂꋍ - ꆏꊂꑍ - ꆏꊂꌕ - ꆏꊂꇖ - ꆏꊂꉬ - ꆏꊂꃘ - - - - - ꆏ - ꋍ - ꑍ - ꌕ - ꇖ - ꉬ - ꃘ - - - - - - - ꃅꑌ - ꃅꎸ - ꃅꍵ - ꃅꋆ - - - ꃅꑌ - ꃅꎸ - ꃅꍵ - ꃅꋆ - - - - - 1 - 2 - 3 - 4 - - - - ꎸꄑ - ꁯꋒ - - - ꃅꋊꂿ - ꃅꋊꊂ - - - - - - y MMMM d - - - - - - ꃅꋊ - - - ꈎ - - - ꆪ - - - ꑭꆏ - - - ꑍ - ꎴꂿꋍꑍ - ꀋꅔꉈ - ꀃꑍ - ꃆꏂꑍ - ꌕꀿꑍ - - - ꆏꑍ - - - ꎸꄑ/ꁯꋒ - - - ꄮꈉ - - - ꃏ - - - ꇙ - - - ꃅꄷꄮꈉ - - - - - - - ꅉꀋꐚꌠ - - - - - - . - , - - - - ꅉꀋꐚꌠꌋꆀꎆꃀꀋꈁꀐꌠ - - - - - - ꉬ - ꀋꉬ - - - diff --git a/lib/zend/Zend/Locale/Data/ii_CN.xml b/lib/zend/Zend/Locale/Data/ii_CN.xml deleted file mode 100644 index cb480f9dd8..0000000000 --- a/lib/zend/Zend/Locale/Data/ii_CN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/in.xml b/lib/zend/Zend/Locale/Data/in.xml deleted file mode 100644 index f4a4bd09de..0000000000 --- a/lib/zend/Zend/Locale/Data/in.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/is.xml b/lib/zend/Zend/Locale/Data/is.xml deleted file mode 100644 index 8390ec3cbe..0000000000 --- a/lib/zend/Zend/Locale/Data/is.xml +++ /dev/null @@ -1,2180 +0,0 @@ - - - - - - - - - nn sv nb da en - - - {0} ({1}) - , - - - afár - abkasíska - akkíska - akólí - adangme - adýge - avestíska - afríkanska - afróasísk mál (önnur) - afríhílí - aínu (Japan) - akan - akkadíska - aleúska - algonkvínsk mál - suðuraltaíska - amharíska - aragonska - fornenska (um 450-1100) - angíka - apatsjamál - arabíska - arameíska - arákaníska - arapahó - alþjóðamál (önnur) - aravakska - assamska - astúríska - atapaskísk mál - áströlsk mál - avaríska - avadí - aímara - aserska - baskír - banda - bamílekemál - balúkí - balíska - basa - baltnesk mál (önnur) - hvítrússneska - beja - bemba - berbamál - búlgarska - bíharí - bojpúrí - bíslama - bíkol - bíní - siksika - bambara - bengalska - bantúmál - tíbeska - bretónska - braí - bosníska - batak - búríat - búgíska - blín - katalónska - kaddó - Indíánamál Mið-Ameríku (önnur) - karíbamál - kákasusmál (önnur) - atsam - tsjetsjenska - kebúanó - keltnesk (önnur) - kamorró - síbsja - sjagataí - sjúkíska - marí - sínúk - sjoktá - sípevíska - sjerókí - sjeyen - kamísk mál - korsíska - koptíska - kreól- og pidginmál á enskum grunni - kreól- og pidginmál á frönskum grunni - kreól- og pidginmál á portúgölskum grunni - krí - krímtyrkneska - kreól- og pidginmál (önnur) - tékkneska - kasúbíska - kirkjuslavneska - kúsitísk mál (önnur) - sjúvas - velska - danska - dakóta - dargva - dajak - þýska - austurrísk þýska - svissnesk háþýska - delaver - slavneska - dogríb - dinka - dogrí - dravidísk mál (önnur) - lágsorbneska - dúala - miðhollenska (um 1050-1350) - dívehí - djúla - dsongka - eve - efík - fornegypska - ekajúk - nýgríska (1453-) - elamít - enska - áströlsk enska - kanadísk enska - bresk enska - bandarísk enska - miðenska (1100-1500) - esperantó - spænska - latnesk-amerísk spænska - íberísk spænska - eistneska - baskneska - evondó - persneska - fang - fantí - fúla - finnska - filipínska - finnskúgrísk mál (önnur) - fídjeyska - færeyska - fón - franska - kanadísk franska - svissnesk franska - miðfranska (um 1400-1600) - fornfranska (842 - um 1400) - norðurfrísneska - austurfrísneska - fríúlska - frísneska - írska - ga - gajó - gbaja - skosk gelíska - germönsk mál (önnur) - gís - gilberska - gallegska - miðháþýska (um 1050-1500 - gvaraní - fornháþýska (um 750-1050) - gondí - gorontaló - gotneska - gerbó - forngríska (til 1453) - svissnesk þýska - gújaratí - manx - gvísín - hása - haída - havaíska - hebreska - hindí - híligaínon - hímasjalí - hettitíska - hmong - hírímótú - króatíska - hásorbneska - haítíska - ungverska - húpa - armenska - hereró - interlingva - íban - indónesíska - interlingve - ígbó - sísúanjí - íjó - ínúpíak - ílokó - indversk mál (önnur) - indóevrópsk mál (önnur) - ingús - ídó - íranska - írókesk mál - íslenska - ítalska - inúktitút - japanska - lojban - gyðingapersneska - gyðingaarabíska - javanska - georgíska - karakalpak - kabíle - kasín - jju - kamba - karen - kaví - kabardíska - tyap - koro - kongó - kasí - koímál (önnur) - kotaska - kíkújú - kúanjama - kasakska - grænlenska - kmer - kimbúndú - kannada - kóreska - konkaní - kosraska - kpelle - kanúrí - karasaíbalkar - karélska - krú - kúrúk - kasmírska - kúrdneska - kúmík - kútenaí - komíska - korníska - kirgiska - latína - ladínska - landa - lamba - lúxemborgíska - lesgíska - ganda - limbúrgíska - lingala - laó - mongó - losí - litháíska - lúbakatanga - lúbalúlúa - lúisenó - lúnda - lúó - lúsaí - lettneska - madúrska - magahí - maítílí - makasar - mandingó - ástrónesíska - masaí - moksa - mandar - mende - malagasíska - miðírska (900-1200) - marshallska - maórí - mikmak - mínangkabá - ýmis mál - makedónska - monkmermál (önnur) - malajalam - mongólska - mansjú - manípúrí - manóbómál - moldóvska - móhíska - mossí - maratí - malaíska - maltneska - margvísleg mál - múndamál - krík - mirandesíska - marvarí - burmneska - majamál - ersja - nárúska - nahúatl - Indíánamál Norður-Ameríku (önnur) - napólíska - norskt bókmál - norðurndebele - Lágþýska; Lágsaxneska - nepalska - nevarí - ndonga - nías - nígerkordófanmál (önnur) - níveska - hollenska - flæmska - nýnorska - norska - nógaí - norræna - N’Ko - suðurndebele - norðursótó - núbísk mál - navahó - klassísk nevaríska - Njanja; Sísjeva; Sjeva - njamvesí - njankóle - njóró - nsíma - Okkitíska (eftir 1500); Próvensalska - ojibva - órómó - óría - ossetíska - ósage - tyrkneska, ottóman (1500-1928) - ótommál - púnjabí - papúsk mál (önnur) - pangasínmál - palaví - pampanga - papíamentó - paláska - fornpersneska - filippseysk mál (önnur) - fönikíska - palí - pólska - ponpeiska - prakrítmál - fornpróvensalska (til 1500) - pastú - portúgalska - brasílísk portúgalska - íberísk portúgalska - kvesjúa - rajastaní - rapanúí - rarótongska - retórómanska - rúndí - rúmenska - rómönsk mál (önnur) - romaní - rót - rússneska - arúmenska - kínjarvanda - sanskrít - sandave - jakút - Indíánamál Suður-Ameríku (önnur) - salísmál - samversk arameíska - sasak - santalí - sardínska - sikileyska - skoska - sindí - norðursamíska - selkúp - semísk mál (önnur) - sangó - fornírska (til 900) - táknmál - serbókróatíska - sjan - singalesíska - sídamó - síúmál - sínótíbesk mál - slóvakíska - slóvenska - slavnesk mál (önnur) - samóska - suðursamíska - samísk mál (önnur) - lúlesamíska - enaresamíska - skoltesamíska - shóna - sóninke - sómalska - sogdíen - songhaí - albanska - serbneska - sranan tongo - serer - svatí - nílósaharamál (önnur) - suðursótó - súndanska - súkúma - súsú - súmerska - sænska - svahílí - klassísk sýrlenska - sýrlenska - tamílska - taímál (önnur) - telúgú - tímne - terenó - tetúm - tadsjikska - taílenska - tígrinja - tígre - tív - túrkmenska - tókeláska - tagalog - klingónska - tlingit - tamasjek - tsúana - Tongverska (Tongaeyjar) - Tongverska (Nyasa) - tokpisin - tyrkneska - tsonga - tsimsíska - tatarska - túmbúka - túpímál - altaísk mál (önnur) - túvalúska - tví - tahítíska - túvínska - údmúrt - úígúr - úgarítíska - úkraínska - úmbúndú - óþekkt eða ógilt tungumál - úrdú - úsbekska - vaí - venda - víetnamska - volapyk - votíska - vallónska - vakasmál - valamó - varaí - vasjó - sorbnesk mál - volof - kalmúkska - sósa - jaó - japíska - jiddíska - jórúba - júpísk mál - súang - sapótek - blisstákn - senaga - kínverska - kínverska (einfölduð) - kínverska (hefðbundin) - sande - súlú - súní - ekkert tungutengt efni - zázáíska - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - heimur - Afríka - Norður-Ameríka - Suður-Ameríka - Eyjaálfa - Vestur-Afríka - Mið-Ameríka - Austur-Afríka - Norður-Afríka - Mið-Afríka - Suðurhluti Afríku - Ameríka - Ameríka norðan Mexikó - Karíbahaf - Austur-Asía - suðurhluti Asíu - Suðaustur-Asía - Suður-Evrópa - Ástralía og Nýja-Sjáland - Melanesía - Míkrónesía - Pólýnesía - Syðri-Mið-Asía - Asía - Mið-Asía - vestur-Asía - Evrópa - Austur-Evrópa - Norður-Evrópa - vestur-Evrópa - Samveldi sjálfstæðra ríkja - Latín-Ameríka og Karíbahaf - Ermasundseyjar - Andorra - Sameinuðu arabísku furstadæmin - Afganistan - Antígva og Barbúda - Angvilla - Albanía - Armenía - Hollensku Antillur - Angóla - Suðurskautslandið - Argentína - Bandaríska Samóa - Austurríki - Ástralía - Arúba - Álandseyjar - Aserbaídsjan - Bosnía og Hersegóvína - Barbados - Bangladess - Belgía - Búrkína Fasó - Búlgaría - Barein - Búrúndí - Benín - Saint Barthélemy - Bermúdaeyjar - Brúnei - Bólivía - Brasilía - Bahamaeyjar - Bútan - Bouveteyja - Botsvana - Hvíta-Rússland - Belís - Kanada - Kókoseyjar - Austur-Kongó - Mið-Afríkulýðveldið - Vestur-Kongó - Sviss - Fílabeinsströndin - Cookseyjar - Chíle - Kamerún - Kína - Kólumbía - Kostaríka - Serbía og Svartfjallaland - Kúba - Grænhöfðaeyjar - Jólaey - Kýpur - Tékkland - Þýskaland - Djíbútí - Danmörk - Dóminíka - Dóminíska lýðveldið - Alsír - Ekvador - Eistland - Egyptaland - Vestur-Sahara - Erítrea - Spánn - Eþíópía - Finnland - Fídjieyjar - Falklandseyjar - Mikrónesía - Færeyjar - Frakkland - Gabon - Bretland - Grenada - Georgía - Franska Gvæjana - Guernsey - Gana - Gíbraltar - Grænland - Gambía - Gínea - Gvadelúpeyjar - Miðbaugs-Gínea - Grikkland - Suður-Georgía og Suður-Sandvíkureyjar - Gvatemala - Gvam - Gínea-Bissá - Gvæjana - Hong Kong - Heard og McDonaldseyjar - Hondúras - Króatía - Haítí - Ungverjaland - Indónesía - Írland - Ísrael - Mön - Indland - Bresku Indlandshafseyjar - Írak - Íran - Ísland - Ítalía - Jersey - Jamaíka - Jórdanía - Japan - Kenía - Kirgisistan - Kambódía - Kíribatí - Kómoreyjar - Sankti Kristófer og Nevis - Norður-Kórea - Suður-Kórea - Kúveit - Caymaneyjar - Kasakstan - Laos - Líbanon - Sankti Lúsía - Liechtenstein - Srí Lanka - Líbería - Lesótó - Litháen - Lúxemborg - Lettland - Líbía - Marokkó - Mónakó - Moldóva - Svartfjallaland - Saint Martin - Madagaskar - Marshalleyjar - Makedónía - Malí - Mjanmar - Mongólía - Makaó - Norður-Maríanaeyjar - Martiník - Máritanía - Montserrat - Malta - Máritíus - Maldíveyjar - Malaví - Mexíkó - Malasía - Mósambík - Namibía - Nýja-Kaledónía - Níger - Norfolkeyja - Nígería - Níkaragva - Niðurlönd - Noregur - Nepal - Nárú - Niue - Nýja-Sjáland - Óman - Panama - Perú - Franska Pólýnesía - Papúa Nýja-Gínea - Filippseyjar - Pakistan - Pólland - Sankti Pierre og Miquelon - Pitcairn - Púertó Ríkó - Palestína - Portúgal - Palá - Paragvæ - Katar - Ytri Eyjaálfa - Evrópusambandið - Réunion - Rúmenía - Serbía - Rússland - Rúanda - Sádi-Arabía - Salómonseyjar - Seychelleseyjar - Súdan - Svíþjóð - Singapúr - Sankti Helena - Slóvenía - Svalbarði og Jan Mayen - Slóvakía - Síerra Leóne - San Marínó - Senegal - Sómalía - Súrínam - Saó Tóme og Prinsípe - El Salvador - Sýrland - Svasíland - Turks- og Caicoseyjar - Tsjad - Frönsku suðlægu landsvæðin - Tógó - Taíland - Tadsjikistan - Tókelá - Austur-Tímor - Túrkmenistan - Túnis - Tonga - Tyrkland - Trínidad og Tóbagó - Túvalú - Taívan - Tansanía - Úkraína - Úganda - Smáeyjar Bandaríkjanna - Bandaríkin - Úrúgvæ - Úsbekistan - Páfagarður - Sankti Vinsent og Grenadíneyjar - Venesúela - Jómfrúaeyjar (bresku) - Jómfrúaeyjar (bandarísku) - Víetnam - Vanúatú - Wallis- og Fútúnaeyjar - Samóa - Jemen - Mayotte - Suður-Afríka - Sambía - Simbabve - Óþekkt eða ógilt svæði - - - Dagatal - Röðun - Gjaldmiðill - - - hefðbundin kínversk röðun - Big5 - Búddískt dagatal - Kínverskt dagatal - Bein röðun - einfölduð kínversk röðun - GB2312 - Gregorískt dagatal - Hebreskt dagatal - indverskt dagatal - Íslamskt dagatal - Íslamskt borgaradagatal - Japanskt dagatal - Símaskráarröðun - Pinyin-röðun - kínverskt dagatal - Strikaröðun - Hefðbundin - - - bandarískt - metrakerfi - - - tungumál: {0} - leturgerð: {0} - svæði: {0} - - - - lowercase-words - - - [a á b d ð e é f-i í j-o ó p r-u ú v y ý þ æ ö] - [c q w z] - [a-z] - - - „ - “ - ‚ - ‘ - - - {0}–{1} - - - - - - jan - feb - mar - apr - maí - jún - júl - ágú - sep - okt - nóv - des - - - janúar - febrúar - mars - apríl - maí - júní - júlí - ágúst - september - október - nóvember - desember - - - - - j - f - m - a - m - j - j - á - s - o - n - d - - - - - - - sun - mán - þri - mið - fim - fös - lau - - - sunnudagur - mánudagur - þriðjudagur - miðvikudagur - fimmtudagur - föstudagur - laugardagur - - - - - s - m - þ - m - f - f - l - - - - - - - F1 - F2 - F3 - F4 - - - 1st fjórðungur - 2nd fjórðungur - 3rd fjórðungur - 4th fjórðungur - - - - - 1F - 2F - 3F - 4F - - - 1 - 2 - 3 - 4 - - - 1. fjórðungur - 2. fjórðungur - 3. fjórðungur - 4. fjórðungur - - - - f.h. - e.h. - - - fyrir Krist - eftir Krist - - - f.k. - e.k. - - - - - - EEEE, d. MMMM y - - - - - d. MMMM y - - - - - d.M.yyyy - - - - - d.M.yyyy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - HH:mm - HH:mm:ss - H:mm - L. - E d.M. - LLL - E d. MMM - E d. MMMM - d. MMMM - d. MMM - d.M - d - mm:ss - y - M. yyyy - EEE d.M.yyyy - MMM y - EEE d. MMM y - MMMM y - Q. yyyy - QQQ y - Q yy - M.yyyy - MMMM y - - - {0} - {1} - - M-M - - - E, d.M - E, d.M - E, d.M - E, d.M - - - MMM-MMM - - - E, d. MMM - E, d. MMM - E, d. - E, d. MMM - - - d. MMM - d. MMM - d.-d. MMM - - - d.M - d.M - d.M - d.M - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - M.yyyy - M.yyyy - M.yyyy - M.yyyy - - - E, d.M.yyyy - E, d.M.yyyy - E, d.M.yyyy - E, d.M.yyyy - E, d.M.yyyy - E, d.M.yyyy - - - MMM-MMM y - MMM y - MMM y - - - E, d. MMM - E, d. MMM y - E, d. - E, d. MMM y - E, d. MMM y - E, d. MMM y - - - d. MMM - d. MMM y - d.-d. MMM y - d. MMM y - d. MMM y - - - d.M.yyyy - d.M.yyyy - d.M.yyyy - d.M.yyyy - d.M.yyyy - d.M.yyyy - - - - - - tímabil - - - ár - - - mánuður - - - vika - - - dagur - fyrir þremur dögum - fyrir tveimur dögum - í gær - í dag - á morgun - eftir tvo daga - eftir þrjá daga - - - vikudagur - - - f.h./e.h. - - - klukkustund - - - mínúta - - - sekúnda - - - svæði - - - - - - +HH:mm;−HH:mm - GMT{0} - {0} - {0} ({1}) - - óþekkt - - - Kabúl - - - Angúilla - - - Suðurpóllinn - - - Dumont D'Urville - - - Vínarborg - - - Arúba - - - Barbadoseyjar - - - Brussel - - - Sofía - - - Barein - - - Bermúdaeyjar - - - Brúnei - - - Rio Branco - - - Belís - - - Regína - - - Zürich - - - Páskaeyja - - - Kostaríka - - - Grænhöfðaeyjar - - - Berlín - - - Djíbútí - - - Kaupmannahöfn - - - Dóminíka - - - Alsír - - - Kaíró - - - Kanaríeyjar - - - Madríd - - - Fidjieyjar - - - Færeyjar - - - París - - - Gíbraltar - - - Nuuk - - - Gvadelúp - - - Aþena - - - Suður-Georgía - - - Gvatemala - - - Gúam - - - Bissá - - - Gvæjana - - - Búdapest - - - Djakarta - - - Bagdad - - - Teheran - - - Reykjavík - - - Róm - - - Jamaíka - - - Tókýó - - - St. Kitts - - - Pjongjang - - - Seúl - - - Kúveit - - - Beirút - - - St. Lucia - - - Monróvía - - - Vilníus - - - Lúxemborg - - - Mónakó - - - Úlan Bator - - - Makaó - - - Martínik - - - Máritíus - - - Maldíveyjar - - - Mexíkóborg - - - Kankún - - - Osló - - - Nárú - - - Níúe - - - Marquesas-eyjar - - - Varsjá - - - Púertó Ríkó - - - Azoreyjar - - - Lissabon - - - Palaú - - - Kvatar - - - Búkarest - - - Moskva - - - Stokkhólmur - - - Singapúr - - - St. Helena - - - Salvador - - - Damaskus - - - Túnis - - - Istanbúl - - - Honolulu - - - Anchorage - - - Denver - - - Indianapolis - - - St. Vincent - - - St. Thomas - - - Jóhannesarborg - - - - Mið-Evróputími - sumartími Mið-Evrópu - - - MET - STME - - - - - Austur-Evróputími - sumartími Austur-Evrópu - - - AET - STAE - - - - - - - , - . - ; - % - 0 - # - + - − - ×10^ - ‰ - ∞ - EiTa - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - - - - Andorrskur peseti - - - Arabískt dírham - - - Lek - - - Dramm - - - Hollenskt Antillugyllini - - - Argentine Austral - - - Argentískur pesi (1983-1985) - - - Argentískur pesi - - - Austurrískur skildingur - - - Ástralskur dalur - - - Barbadoskur dalur - - - Belgískur franki - - - Lef - - - Lef, nýtt - - - Bermúdeyskur dalur - - - Brúneiskur dalur - - - bólivískt bólívíanó - - - Bólivískur pesi - - - Bolivian Mvdol - - - Brasilískt ríal - - - Bahameyskur dalur - - - Búrmverskt kjat - - - Belískur dalur - - - Kanadískur dalur - - - Svissneskur franki - - - Chilean Unidades de Fomento - - - Chileskur pesi - - - Júan - - - Kólumbískur pesi - - - Tékknesk króna, eldri - - - Kúbverskur pesi - - - Grænhöfðeyskur skúti - - - Kýpverskt pund - - - Tékknesk króna - - - Austurþýskt mark - - - Þýskt mark - - - Djibouti Franc - - - Dönsk króna - - - Dóminískur pesi - - - Ecuador Sucre - - - Eistnesk króna - - - Egypskt pund - - - Spænskur peseti - - - Euro - - - Finnskt mark - - - Fídjeyskur dalur - - - Falklenskt pund - - - Franskur franki - - - Sterlingspund - - - Gíbraltarspund - - - Gíneufranki - - - Drakma - - - Guatemala Quetzal - - - Portúgalskur, gíneskur skúti - - - Gvæjanskur dalur - - - Hong Kong-dalur - - - Hoduras Lempira - - - Kúna - - - Fórinta - - - Indónesísk rúpía - - - Írskt pund - - - Ísraelskt pund - - - Sikill - - - Indversk rúpía - - - Írakskur denari - - - Íranskt ríal - - - Íslensk króna - íslensk króna - íslensku krónur - kr - - - Ítölsk líra - - - Jamaískur dalur - - - Jen - - - kenískur skildingur - - - Kómoreyskur franki - - - Norðurkóreskt vonn - - - Suðurkóreskt vonn - - - Kúveiskur denari - - - Caymaneyskur dalur - - - Kazakhstan Tenge - - - Líbanskt pund - - - Srílönsk rúpía - - - Líberískur dalur - - - Lesotho Loti - - - Lít - - - Lithuanian Talonas - - - Lúxemborgarfranki - - - Lat - - - Lettnesk rúbla - - - Líbískur denari - - - Marokkóskt dírham - - - Marokkóskur franki - - - Madagascar Ariary - - - Madagaskur franki - - - Makedónskur denari - - - Malískur franki - - - Mjanmarskt kjat - - - Túríkur - - - Macao Pataca - - - Mauritania Ouguiya - - - Meltnesk líra - - - Maltneskt pund - - - Mexíkóskur pesi - - - Mexíkóskur silfurpesi (1861-1992) - - - Mexíkóskur pesi, UDI - - - Malaysian Ringgit - - - Mósambískur skúti - - - Namibískur dalur - - - Nigerian Naira - - - Hollenskt gyllini - - - Norsk króna - - - Nýsjálenskur dalur - - - Ómanskt ríal - - - Balbói - - - perúskar sol nuevo - - - filippeyskir pesóar - - - Pakistönsk rúpía - - - pólskt zlotý - - - Slot - - - Portúgalskur skúti - - - Rúmenskt lei - - - rúmensk leu - - - serbneskur dínar - - - rússnesk rúbla - - - Rússnesk rúbla (1991-1998) - - - Rwandan Franc - - - Sádiarabískt ríal - - - Salómonseyskur dalur - - - Seychelles rúpía - - - Súdanskur denari - - - Súdanskt pund - - - Sænsk króna - - - Singapúrskur dalur - - - Helenskt pund - - - Slóvenskur dalur - - - Slóvakísk króna - - - Suriname Guilder - - - Sao Tome and Principe Dobra - - - Soviet Rouble - - - El Salvador Colon - - - Sýrlenskt pund - - - Bat - - - Tadsjiksk rúbla - - - Tajikistan Somoni - - - Túrkmenskt manat - - - Tímorskur skúti - - - Tyrknesk líra - - - Ný tyrknesk líra - - - Trínidad og Tóbagó-dalur - - - Taívanskur dalur - - - Tanzanian Shilling - - - Hrinja - - - Ukrainian Karbovanetz - - - Bandaríkjadalur - - - Bandaríkjadalur (næsta dag) - - - Bandaríkjadalur (sama dag) - - - Venezuelan Bolivar - - - víetnamskt dong - - - Vanuatu Vatu - - - Miðafrískur franki, BEAC - - - unse silfur - - - unse gull - - - Austur-Karíbahafsdalur - - - Sérstök dráttarréttindi - - - Franskur gullfranki - - - Franskur franki, UIC - - - Miðafrískur franki, BCEAO - - - unse palladín - - - Pólinesískur franki - - - unse platína - - - Óþekktur eða ógildur gjaldeyrir - óþekktur eða ógildur gjaldeyrir - óþekktur eða ógildur gjaldeyrir - - - Jemenskur denari - - - Jemenskt ríal - - - Júgóslavneskur denari - - - Rand (viðskipta) - - - suðurafríkskt rand - - - Zambian Kwacha - - - Simbabveskur dalur - - - - - - {0} dagur - {0} dagar - - - {0} klukkustund - {0} klukkustundir - - - {0} mínúta - {0} mínútur - - - {0} mánuður - {0} mánuðir - - - {0} sekúnda - {0} sekúndur - - - {0} vika - {0} vikur - - - {0} ár - {0} ár - - - - - já:j - nei:n - - - - diff --git a/lib/zend/Zend/Locale/Data/is_IS.xml b/lib/zend/Zend/Locale/Data/is_IS.xml deleted file mode 100644 index 914e16b3da..0000000000 --- a/lib/zend/Zend/Locale/Data/is_IS.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/it.xml b/lib/zend/Zend/Locale/Data/it.xml deleted file mode 100644 index a69734715d..0000000000 --- a/lib/zend/Zend/Locale/Data/it.xml +++ /dev/null @@ -1,3008 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - afar - abkhazian - accinese - acioli - adangme - adyghe - avestan - afrikaans - lingua afroasiatica - afrihili - ainu - akan - accado - aleuto - lingue algonchine - altai meridionale - amarico - aragonese - inglese antico - angika - lingue apache - arabo - aramaico - araucano - arapaho - lingua artificiale - aruaco - assamese - asturiano - lingue athabaska - lingue australiane - avaro - awadhi - aymara - azerbaigiano - baschiro - banda - lingue bamileke - beluci - balinese - basa - lingua baltica - bielorusso - begia - wemba - berbero - bulgaro - bihari - bhojpuri - bislama - bicol - bini - siksika - bambara - bengalese - bantu - tibetano - bretone - braj - bosniaco - batak - buriat - bugi - blin - catalano - caddo - lingua indiana dell'America Centrale - caribico - lingua caucasica - atsam - ceceno - cebuano - celtica altra lingua - chamorro - chibcha - ciagataico - chuukese - mari - gergo chinook - choctaw - chipewyan - cherokee - cheyenne - lingue chamic - corso - copto - creolo o pidgin basati sull'inglese - creolo o pidgin basati sul francese - creolo o pidgin basati sul portoghese - cree - turco crimeo - creolo o pidgin - ceco - kashubian - slavo della Chiesa - lingua cuscitica - chuvash - gallese - danese - dakota - dargwa - dayak - tedesco - tedesco austriaco - alto tedesco svizzero - delaware - slave - dogrib - dinca - dogri - lingua dravidica - basso sorabo - duala - olandese medio - divehi - diula - dzongkha - ewe - efik - egiziano antico - ekajuka - greco - elamitico - inglese - inglese australiano - inglese canadese - inglese britannico - inglese americano - inglese medio - esperanto - spagnolo - spagnolo latinoamericano - spagnolo della Spagna - estone - basco - ewondo - persiano - fang - fanti - fulah - finlandese - filippino - lingua ungrofinnica - figiano - faroese - francese - francese canadese - francese svizzero - francese medio - francese antico - frisone settentrionale - friulano - frisone - irlandese - ga - gayo - gbaya - gaelico scozzese - lingua germanica - geez - gilbertese - galiziano - tedesco medio alto - guarana - tedesco antico alto - gondi - gorontalo - gotico - gerbo - greco antico - tedesco svizzero - gujarati - manx - gwichʼin - haussa - haida - hawaiano - ebraico - hindi - hiligayna - himachali - hittite - hmong - hiri motu - croato - alto sorabo - haitiano - ungherese - hupa - armeno - herero - interlingua - iban - indonesiano - interlingue - igbo - sichuan yi - inupiak - ilocano - lingua indiana - lingua indoeuropea - ingush - ido - iraniana - lingue irochesi - islandese - italiano - inuktitut - giapponese - lojban - giudeo persiano - giudeo arabo - giavanese - georgiano - kara-kalpak - kabyle - kachin - kai - kamba - karen - kawi - kabardia - tyap - kfo - kongo - khasi - lingua khoisan - khotanese - kikuyu - kuanyama - kazako - kalaallisut - khmer - kimbundu - kannada - coreano - konkani - kosraean - kpelle - kanuri - karachay-Balkar - careliano - kru - kurukh - kashmiri - curdo - kumyk - kutenai - komi - cornico - kirghiso - latino - ladino - lahnda - lamba - lussemburghese - lezghian - ganda - limburgese - lingala - lao - lolo bantu - lozi - lituano - luba-katanga - luba-lulua - luiseno - lunda - luo - lushai - lettone - madurese - magahi - maithili - makasar - mandingo - austronesiano - masai - moksha - mandar - mende - malgascio - irlandese medio - marshallese - maori - micmac - menangkabau - lingue diverse - macedone - lingua mon-khmer - malayalam - mongolo - manchu - manipuri - manobo - moldavo - mohawk - mossi - marathi - malese - maltese - multilingua - lingua munda - creek - mirandese - marwari - birmano - lingue maya - erzya - nauru - nahuatl - lingua indiana del Nord America - napoletano - norvegese bokmal - ndebele del nord - basso tedesco - nepalese - newari - ndonga - nias - lingua niger-cordofan - niue - olandese - fiammingo belga - norvegese nynorsk - norvegese - nogai - norse antico - n'ko - ndebele del sud - sotho del nord - nubiano - navajo - newari classico - nyanja - nyamwezi - nyankole - nyoro - nzima - occitano - ojibwa - oromo - oriya - ossetico - osage - turco ottomano - lingue otomi - punjabi - lingua papuana - pangasinan - pahlavi - pampanga - papiamento - palau - persiano antico - lingua filippina - fenicio - pali - polacco - ponape - pracrito - provenzale antico - pashto - portoghese - portoghese brasiliano - portoghese del Portogallo - quechua - rajasthani - rapanui - rarotonga - lingua rhaeto-romance - rundi - rumeno - lingua romanza - romani - root - russo - arumeno - kinyarwanda - sanscrito - sandawe - yakut - lingua indiana del Sud America - lingue salish - aramaico samaritano - sasak - santali - sardo - siciliano - scozzese - sindhi - sami del nord - selkup - lingua semitica - sango - irlandese antico - lingue sign - serbo-croato - shan - singalese - sidamo - lingue sioux - lingua sino-tibetana - slovacco - sloveno - lingua slava - samoano - sami del sud - lingua sami - sami lule - sami inari - sami skolt - shona - soninke - somalo - sogdiano - songhai - albanese - serbo - sranan tongo - serer - swati - lingua nilo-sahariana - sotho del sud - sundanese - sukuma - susu - sumero - svedese - swahili - siriaco - tamil - lingua tailandese - telugu - temne - tereno - tetum - tagicco - thai - tigrinya - tigre - tiv - turcomanno - tokelau - tagalog - klingon - tlingit - tamashek - tswana - tonga - nyasa del Tonga - tok pisin - turco - tsonga - tsimshian - tatarico - tumbuka - lingue tupi - lingua altaica - tuvalu - ci - taitiano - tuvinian - udmurt - uigurico - ugaritico - ucraino - mbundu - lingua imprecisata - urdu - usbeco - vai - venda - vietnamita - volapük - voto - vallone - lingue wakash - walamo - waray - washo - sorabo - volof - kalmyk - xosa - yao (bantu) - yapese - yiddish - yoruba - lingue yupik - zhuang - zapotec - zenaga - cinese - cinese semplificato - cinese tradizionale - zande - zulu - zuni - Nessun contenuto linguistico - zaza - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Mondo - Africa - Nord America - America del Sud - Oceania - Africa occidentale - America centrale - Africa orientale - Africa del Nord - Africa centrale - Africa del Sud - Americhe - America del Nord - Caraibi - Asia orientale - Asia del Sud - Asia sudorientale - Europa del Sud - Australia e Nuova Zelanda - Melanesia - Regione Micronesiana - Polinesia - Asia centro-meridionale - Asia - Asia centrale - Asia occidentale - Europa - Europa orientale - Europa del Nord - Europa occidentale - Comunità di Stati Indipendenti - America Latina e Caraibi - Andorra - Emirati Arabi Uniti - Afghanistan - Antigua e Barbuda - Anguilla - Albania - Armenia - Antille Olandesi - Angola - Antartide - Argentina - Samoa Americane - Austria - Australia - Aruba - Isole Aland - Azerbaigian - Bosnia Erzegovina - Barbados - Bangladesh - Belgio - Burkina Faso - Bulgaria - Bahrein - Burundi - Benin - San Bartolomeo - Bermuda - Brunei - Bolivia - Brasile - Bahamas - Bhutan - Isola Bouvet - Botswana - Bielorussia - Belize - Canada - Isole Cocos - Repubblica Democratica del Congo - Repubblica Centrafricana - Congo - Svizzera - Costa d’Avorio - Isole Cook - Cile - Camerun - Cina - Colombia - Costa Rica - Serbia e Montenegro - Cuba - Capo Verde - Isola di Christmas - Cipro - Repubblica Ceca - Germania - Gibuti - Danimarca - Dominica - Repubblica Dominicana - Algeria - Ecuador - Estonia - Egitto - Sahara Occidentale - Eritrea - Spagna - Etiopia - Finlandia - Figi - Isole Falkland - Micronesia - Isole Faroe - Francia - Gabon - Regno Unito - Grenada - Georgia - Guiana Francese - Guernsey - Ghana - Gibilterra - Groenlandia - Gambia - Guinea - Guadalupa - Guinea Equatoriale - Grecia - Georgia del Sud e Isole Sandwich del Sud - Guatemala - Guam - Guinea-Bissau - Guyana - Regione Amministrativa Speciale di Hong Kong della Repubblica Popolare Cinese - Isole Heard ed Isole McDonald - Honduras - Croazia - Haiti - Ungheria - Indonesia - Irlanda - Israele - Isola di Man - India - Territorio Britannico dell’Oceano Indiano - Iraq - Iran - Islanda - Italia - Jersey - Giamaica - Giordania - Giappone - Kenya - Kirghizistan - Cambogia - Kiribati - Comore - Saint Kitts e Nevis - Corea del Nord - Corea del Sud - Kuwait - Isole Cayman - Kazakistan - Laos - Libano - Saint Lucia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Lituania - Lussemburgo - Lettonia - Libia - Marocco - Monaco - Moldavia - Montenegro - Madagascar - Isole Marshall - Repubblica di Macedonia - Mali - Myanmar - Mongolia - Regione Amministrativa Speciale di Macao della Repubblica Popolare Cinese - Isole Marianne Settentrionali - Martinica - Mauritania - Montserrat - Malta - Mauritius - Maldive - Malawi - Messico - Malesia - Mozambico - Namibia - Nuova Caledonia - Niger - Isola Norfolk - Nigeria - Nicaragua - Paesi Bassi - Norvegia - Nepal - Nauru - Niue - Nuova Zelanda - Oman - Panama - Perù - Polinesia Francese - Papua Nuova Guinea - Filippine - Pakistan - Polonia - Saint Pierre e Miquelon - Pitcairn - Portorico - Palestina - Portogallo - Palau - Paraguay - Qatar - Oceania lontana - Unione Europea - Réunion - Romania - Serbia - Federazione Russa - Ruanda - Arabia Saudita - Isole Solomon - Seychelles - Sudan - Svezia - Singapore - Sant’Elena - Slovenia - Svalbard e Jan Mayen - Slovacchia - Sierra Leone - San Marino - Senegal - Somalia - Suriname - Sao Tomé e Príncipe - El Salvador - Siria - Swaziland - Isole Turks e Caicos - Ciad - Territori australi francesi - Togo - Tailandia - Tagikistan - Tokelau - Timor Est - Turkmenistan - Tunisia - Tonga - Turchia - Trinidad e Tobago - Tuvalu - Taiwan - Tanzania - Ucraina - Uganda - Isole Minori lontane dagli Stati Uniti - Stati Uniti - Uruguay - Uzbekistan - Vaticano - Saint Vincent e Grenadines - Venezuela - Isole Vergini Britanniche - Isole Vergini Americane - Vietnam - Vanuatu - Wallis e Futuna - Samoa - Yemen - Mayotte - Sudafrica - Zambia - Zimbabwe - regione non valida o sconosciuta - - - ortografia tradizionale tedesca - ortografia tedesca del 1996 - armeno orientale - armeno occidentale - boontling - alfabeto fonetico internazionale IPA - alfabeto fonetico uralico UPA - monotonico - dialetto del Natisone - politonico - computer - ortografia revisionata - resiano - saho - - - calendario - collazione - valuta - - - cinese tradizionale - calendario buddista - calendario cinese - ordine diretto - cinese semplificato - calendario gregoriano - calendario ebraico - calendario nazionale indiano - calendario islamico - calendario civile islamico - calendario giapponese - ordine elenco telefonico - ordine pinyin - ordine segni - ordine tradizionale - - - USA - metrico - - - - lowercase-words - lowercase-words - lowercase-words - - - [a à b-e é è f-i ì j-o ó ò p-u ù v-z] - [í ï ú] - [a-z] - - - ‘ - ’ - “ - ” - - - - - - - - gen - feb - mar - apr - mag - giu - lug - ago - set - ott - nov - dic - - - gennaio - febbraio - marzo - aprile - maggio - giugno - Luglio - agosto - settembre - ottobre - novembre - dicembre - - - - - G - F - M - A - M - G - L - A - S - O - N - D - - - Gennaio - Febbraio - Marzo - Aprile - Maggio - Giugno - Luglio - - - - - - - dom - lun - mar - mer - gio - ven - sab - - - domenica - lunedì - martedì - mercoledì - giovedì - venerdì - sabato - - - - - D - L - M - M - G - V - S - - - Domenica - Lunedì - Martedì - Mercoledì - Giovedì - Venerdì - Sabato - - - - - - - T1 - T2 - T3 - T4 - - - 1o trimestre - 2o trimestre - 3o trimestre - 4o trimestre - - - - - 1 - 2 - 3 - 4 - - - - m. - p. - - - a.C. - d.C - - - aC - dC - - - - - - EEEE d MMMM y - - - - - dd MMMM y - - - - - dd/MMM/y - - - - - dd/MM/yy - - - - - - - HH.mm.ss zzzz - - - - - HH.mm.ss z - - - - - HH.mm.ss - - - - - HH.mm - - - - - - HH.mm - HH.mm.ss - HH:mm - L - EEE d/M - LLL - EEE d MMM - EEE d MMMM - d MMMM - dd MMMM - d MMM - dd/MM - d/M - d - hh.mm a - hh.mm.ss a - mm:ss - y - M/yyyy - EEE, d-M-yyyy - MMM y - EEE d MMM y - MMMM y - Q-yyyy - QQQ y - MM/yy - Q yy - QQQQ yy - MMMM y - - - {0} - {1} - - M-M - - - E dd/MM - E dd/MM - E dd/MM - E dd/MM - - - MMM-MMM - - - E dd MMM - E dd MMM - E dd - E dd MMM - - - LLLL-LLLL - - - dd MMM - dd MMM - dd-dd MMM - - - dd/MM - dd/MM - dd/MM - dd/MM - - - d-d - - - HH-HH - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - HH-HH v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - E dd/MM/yy - - - MMM-MMM y - MMM y - MMM y - - - E d MMM - E d MMM y - E d - E d MMM y - E d MMM y - E d MMM y - - - yyyy-MM – MM - yyyy-MM – yyyy-MM - - - dd MMM - dd MMM y - dd-dd MMM y - dd MMM y - dd MMM y - - - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - - - - - - era - - - anno - - - mese - - - settimana - - - giorno - tre giorni fa - l'altro ieri - ieri - oggi - domani - dopodomani - tra tre giorni - - - giorno della settimana - - - periodo del giorno - - - ora - - - minuto - - - secondo - - - zona - - - - - - +HH.mm;-HH.mm - GMT{0} - {0} - - Sconosciuto - - - Tirana - - - Polo Sud - - - Dumont D'Urville - - - Cordova - - - Bruxelles - - - Bahrein - - - San Paolo - - - St. Johns - - - Zurigo - - - Pasqua - - - Capo Verde - - - Natale - - - Berlino - - - Gibuti - - - Copenaghen - - - Algeri - - - Canarie - - - Addis Abeba - - - Figi - - - Isole Faeroe - - - Parigi - - - Londra - - - Gibilterra - - - Guadalupa - - - Atene - - - Georgia meridionale - - - Guiana - - - Giacarta - - - Dublino - - - Gerusalemme - - - Teheran - - - Roma - - - Giamaica - - - Comore - - - St. Kitts - - - Seul - - - Santa Lucia - - - Lussemburgo - - - Macao - - - Martinica - - - Maldive - - - Città del Messico - - - Varsavia - - - Pitcairn, isole - - - Portorico - - - Azzorre - - - Lisbona - - - Riunione, isola di - - - Bucarest - - - Mosca - - - Stoccolma - - - Sant'Elena - - - Mogadiscio - - - Sao Tomè - - - Salvador - - - Damasco - - - Tunisi - - - Fuso orario Alaska - - - Center, Dakota del nord - - - Samarcanda - - - St. Vincent - - - St. Thomas - - - - Acre Time - Acre Summer Time - - - - - Central Africa Time - - - - - East Africa Time - - - - - South Africa Standard Time - - - - - West Africa Time - West Africa Summer Time - - - - - Aktyubinsk Time - Aktyubinsk Summer Time - - - - - Alaska Time - Ora Standard Alaska - Ora Legale Alaska - - - - - Alaska-Hawaii Standard Time - Alaska-Hawaii Daylight Time - - - - - Amazon Time - Amazon Summer Time - - - - - Central Time - Central Standard Time - Central Daylight Time - - - - - Eastern Time - Eastern Standard Time - Eastern Daylight Time - - - - - Mountain Time - Mountain Standard Time - Mountain Daylight Time - - - - - Pacific Time - Pacific Standard Time - Pacific Daylight Time - - - - - Aqtau Time - Aqtau Summer Time - - - - - Aqtobe Time - Aqtobe Summer Time - - - - - Arabian Time - Arabian Standard Time - Arabian Daylight Time - - - ST arabo - ADT arabo - - - - - Argentina Time - Argentina Summer Time - - - - - Western Argentina Time - - - - - Armenia Time - Armenia Summer Time - - - AMT Armenia - AMST Armenia - - - - - Ashkhabad Time - Ashkhabad Summer Time - - - - - Atlantic Time - Atlantic Standard Time - Atlantic Daylight Time - - - - - Central Australia Time - Australian Central Standard Time - Australian Central Daylight Time - - - - - Eastern Australia Time - Australian Eastern Standard Time - Australian Eastern Daylight Tim - - - - - Western Australia Time - Australian Western Standard Time - Australian Western Daylight Time - - - - - Azores Time - Azores Summer Time - - - - - Baku Time - Baku Summer Time - - - - - Bangladesh Time - - - - - Bering Time - Bering Standard Time - Bering Daylight Time - - - BST Bering - BDT Bering - - - - - Bhutan Time - - - - - Borneo Time - Borneo Summer Time - - - - - Brasilia Time - Brasilia Summer Time - - - - - Chamorro Standard Time - - - - - Changbai Time - - - - - Chile Time - Chile Summer Time - - - - - Ora Standard Cina - Ora Legale Cina - - - CST (Cina) - CDT (Cina) - - - - - Choibalsan Time - Choibalsan Summer Time - - - - - Dacca Time - - - - - Dushanbe Time - Dushanbe Summer Time - - - - - Dutch Guiana Time - - - - - East Timor Time - - - - - Ecuador Time - - - - - Ora Standard Europa Centrale - Ora Legale Europa Centrale - - - - - Ora Standard Europa Orientale - Ora Legale Europa Orientale - - - - - Western European Time - Western European Summer Time - - - - - Frunze Time - Frunze Summer Time - - - - - Greenwich Mean Time - - true - - - - Galapagos Time - - - - - Georgia Time - Georgia Summer Time - - - - - Central Greenland Time - Central Greenland Summer Time - - - - - East Greenland Time - East Greenland Summer Time - - - - - West Greenland Time - West Greenland Summer Time - - - - - Guam Standard Time - - - GST Guam - - - - - Gulf Standard Time - - - - - Hawaii Time - Ora Standard Hawaii - Ora Legale Hawaii - - - - - Hawaii-Aleutian Time - Hawaii-Aleutian Standard Time - Hawaii-Aleutian Daylight Time - - - - - India Standard Time - - - - - Central Indonesia Time - - - - - Eastern Indonesia Time - - - - - Western Indonesia Time - - - - - Ora Standard Israele - Ora Legale Israele - - - - - Ora Standard Giappone - Ora Legale Giappone - - - - - Karachi Time - - - - - Kashgar Time - - - - - East Kazakhstan Standard Time - - - - - West Kazakhstan Standard Time - - - - - Kizilorda Time - Kizilorda Summer Time - - - - - Korean Time - Korean Standard Time - Korean Daylight Time - - - - - Kuybyshev Time - Kuybyshev Summer Time - - - - - Kwajalein Time - - - - - Kyrgystan Time - - - - - Lanka Time - - - - - Long-Shu Time - - - - - Lord Howe Time - Lord Howe Standard Time - Lord Howe Daylight Time - - - - - Macau Time - Macau Summer Time - - - - - Malaya Time - - - - - Malaysia Time - - - - - Marshall Islands Time - - - - - Ulan Bator Time - Ulan Bator Summer Time - - - - - New Zealand Time - New Zealand Standard Time - New Zealand Daylight Time - - - - - Newfoundland Time - Newfoundland Standard Time - Newfoundland Daylight Time - - - - - North Mariana Islands Time - - - - - Pakistan Time - Pakistan Summer Time - - - - - Pierre and Miquelon Time - Pierre and Miquelon Standard Time - Pierre and Miquelon Daylight Time - - - - - Qyzylorda Time - Qyzylorda Summer Time - - - - - Samara Time - Samara Summer Time - - - - - Samarkand Time - Samarkand Summer Time - - - SAMT Samarkand - SAMST Samarkand - - - - - Samoa Standard Time - - - - - Shevchenko Time - Shevchenko Summer Time - - - - - Suriname Time - - - - - Sverdlovsk Time - Sverdlovsk Summer Time - - - - - Tajikistan Time - - - - - Tashkent Time - Tashkent Summer Time - - - - - Tbilisi Time - Tbilisi Summer Time - - - - - Turkey Time - Turkey Summer Time - - - - - Turkmenistan Time - Turkmenistan Summer Time - - - - - Ural'sk Time - Ural'sk Summer Time - - - - - Urumqi Time - - - - - Uzbekistan Time - Uzbekistan Summer Time - - - - - Yekaterinburg Time - Yekaterinburg Summer Time - - - - - Yerevan Time - Yerevan Summer Time - - - - - Yukon Time - Yukon Standard Time - Yukon Daylight Time - - - - - - - , - . - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤ #,##0.00 - - - - - - Peseta Andorrana - - - Dirham degli Emirati Arabi Uniti - - - Afgani (1927-2002) - - - Afgani - - - Lek Albanese - - - Dram Armeno - - - Fiorino delle Antille Olandesi - - - Kwanza Angolano - - - Kwanza Angolano (1977-1990) - - - Nuovo Kwanza Angolano (1990-2000) - - - Kwanza Reajustado Angolano (1995-1999) - - - Austral Argentino - - - Peso Argentino (vecchio Cod.) - - - Peso Argentino - - - Scellino Austriaco - - - Dollaro Australiano - - - Fiorino di Aruba - - - Manat Azero - - - manat azero - - - Dinar Bosnia-Herzegovina - - - Marco Conv. Bosnia-Erzegovina - - - Dollaro di Barbados - - - Taka Bangladese - - - Franco Belga (convertibile) - - - Franco Belga - - - Franco Belga (finanziario) - - - Lev Bulgaro - - - Nuovo Lev Bulgaro - - - Dinaro del Bahraini - - - Franco del Burundi - - - Dollaro delle Bermuda - - - Dollaro del Brunei - - - Boliviano - - - Peso Boliviano - - - Mvdol Boliviano - - - Cruzeiro Novo Brasiliano (1967-1986) - - - Cruzado Brasiliano - - - Cruzeiro Brasiliano (1990-1993) - - - Real Brasiliano - - - Cruzado Novo Brasiliano - - - Cruzeiro Brasiliano - - - Dollaro delle Bahamas - - - Ngultrum Butanese - - - Kyat Birmano - - - Pula del Botswana - - - Nuovo Rublo Bielorussia (1994-1999) - - - Rublo Bielorussia - - - Dollaro Belize - - - Dollaro Canadese - - - Franco Congolese - - - Franco Svizzero - - - Unidades de Fomento Chilene - - - Peso Cileno - - - Renmimbi Cinese - - - Peso Colombiano - - - Colón Costaricano - - - antico dinaro serbo - - - Corona forte cecoslovacca - - - Peso Cubano - - - Escudo del Capo Verde - - - Sterlina Cipriota - - - Corona Ceca - - - Ostmark della Germania Orientale - - - Marco Tedesco - - - Franco Gibutiano - - - Corona Danese - - - Peso Dominicano - - - Dinaro Algerino - - - Sucre dell’Ecuador - - - Unidad de Valor Constante (UVC) dell’Ecuador - - - Corona dell’Estonia - - - Sterlina Egiziana - - - Nakfa Eritreo - - - peseta spagnola account - - - peseta spagnola account convertibile - - - Peseta Spagnola - - - Birr Etiopico - - - Euro - - - Markka Finlandese - - - Dollaro delle Figi - - - Sterlina delle Falkland - - - Franco Francese - - - Sterlina Inglese - - - Kupon Larit Georgiano - - - Lari Georgiano - - - Cedi del Ghana - - - Cedi ghanese - - - Sterlina di Gibilterra - - - Dalasi del Gambia - - - Franco della Guinea - - - Syli della Guinea - - - Ekwele della Guinea Equatoriale - - - Dracma Greca - - - Quetzal Guatemalteco - - - Escudo della Guinea portoghese - - - Peso della Guinea-Bissau - - - Dollaro della Guyana - - - Dollaro di Hong Kong - - - Lempira Hoduregno - - - Dinaro Croato - - - Kuna Croata - - - Gourde Haitiano - - - Fiorino Ungherese - - - Rupia Indonesiana - - - Sterlina irlandese - - - Sterlina Israeliana - - - Nuovo sheqel israeliano - - - Rupia Indiana - - - Dinaro Iracheno - - - Rial Iraniano - - - Corona Islandese - - - ¤ #,##0;-¤ #,##0 - Lira Italiana - ₤ - , - . - - - Dollaro Giamaicano - - - Dinaro Giordano - - - Yen Giapponese - - - Scellino Keniota - - - Som Kirghiso - - - Riel Cambogiano - - - Franco Comoriano - - - Won Nordcoreano - - - Won Sudcoreano - - - Dinaro Kuwaitiano - - - Dollaro delle Isole Cayman - - - Tenge Kazaco - - - Kip Laotiano - - - Sterlina Libanese - - - Rupia di Sri Lanka - - - Dollaro Liberiano - - - Loti del Lesotho - - - Lita Lituana - - - Talonas Lituani - - - franco convertibile del Lussemburgo - - - Franco del Lussemburgo - - - franco finanziario del Lussemburgo - - - Lat Lettone - - - Rublo Lettone - - - Dinaro Libico - - - Dirham Marocchino - - - Franco Marocchino - - - Leu Moldavo - - - Ariary Malgascio - - - Franco Malgascio - - - Dinaro Macedone - - - Franco di Mali - - - Kyat di Myanmar - - - Tugrik Mongolo - - - Pataca di Macao - - - Ouguiya della Mauritania - - - Lira Maltese - - - Sterlina Maltese - - - Rupia Mauriziana - - - Rufiyaa delle Maldive - - - Kwacha Malawiano - - - Peso Messicano - - - Peso messicano d’argento (1861-1992) - - - Unidad de Inversion (UDI) Messicana - - - Ringgit della Malesia - - - Escudo del Mozambico - - - Metical del Mozambico - - - metical del Mozambico - - - Dollaro Namibiano - - - Naira Nigeriana - - - Cordoba Nicaraguense - - - Córdoba oro nicaraguense - - - Fiorino Olandese - - - Corona Norvegese - - - Rupia Nepalese - - - Dollaro Neozelandese - - - Rial Omanita - - - Balboa di Panama - - - Inti Peruviano - - - Sol Nuevo Peruviano - - - Sol Peruviano - - - Kina della Papua Nuova Guinea - - - Peso delle Filippine - - - Rupia del Pakistan - - - Zloty Polacco - - - Zloty Polacco (1950-1995) - - - Escudo Portoghese - - - Guarani del Paraguay - - - Rial del Qatar - - - dollaro della Rhodesia - - - Leu della Romania - - - leu rumeno - - - Dinaro serbo - - - Rublo Russo - - - Rublo della CSI - - - Franco Ruandese - - - Ryal Saudita - - - Dollaro delle Isole Solomon - - - Rupia delle Seychelles - - - Dinaro Sudanese - - - Sterlina sudanese - - - Sterlina Sudanese - - - Corona Svedese - - - Dollaro di Singapore - - - Sterlina di Sant’Elena - - - Tallero Sloveno - - - Corona Slovacca - - - Leone della Sierra Leone - - - Scellino Somalo - - - Dollaro surinamese - - - Fiorino del Suriname - - - Dobra di Sao Tomé e Principe - - - Rublo Sovietico - - - Colón Salvadoregno - - - Sterlina Siriana - - - Lilangeni dello Swaziland - - - Baht Tailandese - - - Rublo del Tajikistan - - - Somoni del Tajikistan - - - Manat Turkmeno - - - Dinaro Tunisino - - - Paʻanga di Tonga - - - Escudo di Timor - - - Lira Turca - lira turca - lire turche - - - nuova Lira turca - nuova Lira turca - nuove Lire turche - - - Dollaro di Trinidad e Tobago - - - Nuovo dollaro taiwanese - - - Scellino della Tanzania - - - Hrivna Ucraina - - - Karbovanetz Ucraino - - - Scellino Ugandese (1966-1987) - - - Scellino Ugandese - - - Dollaro Statunitense - - - Dollaro Statunitense (Next day) - - - Dollaro Statunitense (Same day) - - - Peso uruguaiano in unità indicizzate - - - Peso Uruguaiano (1975-1993) - - - Peso Uruguayo uruguaiano - - - Sum dell’Uzbekistan - - - Bolivar Venezuelano - - - Bolívar venezuelano forte - - - Dong Vietnamita - - - Vatu di Vanuatu - - - Tala della Samoa Occidentale - - - Franco CFA BEAC - - - Argento - - - Oro - - - Unità composita europea - - - Unità monetaria europea - - - Unità di acconto europea (XBC) - - - Unità di acconto europea (XBD) - - - Dollaro dei Caraibi Orientali - - - Diritti Speciali di Incasso - - - Unità Monetaria Europea - - - Franco Oro Francese - - - Franco UIC Francese - - - Franco CFA BCEAO - - - Palladio - - - Franco CFP - - - platino - - - fondi RINET - - - codice di verifica della valuta - - - Nessuna valuta - valuta sconosciuta/non valida - - - Dinaro dello Yemen - - - Rial dello Yemen - - - Dinaro Forte Yugoslavo - - - Dinaro Noviy Yugoslavo - - - Dinaro Convertibile Yugoslavo - - - Rand Sudafricano (finanziario) - - - Rand Sudafricano - - - Kwacha dello Zambia - - - Nuovo Zaire dello Zaire - - - Zaire dello Zaire - - - Dollaro dello Zimbabwe - - - - - - {0} giorno - {0} giorni - - - {0} ora - {0} ore - - - {0} minuto - {0} minuti - - - {0} mese - {0} mesi - - - {0} secondo - {0} secondi - - - {0} settimana - {0} settimane - - - {0} anno - {0} anni - - - - - sì:si:s - no:n - - - - diff --git a/lib/zend/Zend/Locale/Data/it_CH.xml b/lib/zend/Zend/Locale/Data/it_CH.xml deleted file mode 100644 index 33cf6f2ba4..0000000000 --- a/lib/zend/Zend/Locale/Data/it_CH.xml +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - - - - « - » - ‹ - › - - - - - - - - EEEE, d MMMM y - - - - - d MMMM y - - - - - d-MMM-y - - - - - dd.MM.yy - - - - - - - HH.mm:ss 'h' zzzz - - - - - - HH:mm - HH:mm:ss - dd.MM - hh:mm a - hh:mm:ss a - MM.yy - - - - E, dd.MM - E, dd.MM - E, dd.MM - E, dd.MM - - - E, d MMM - E, d MMM - E, d - E, d MMM - - - d MMM - d MMM - d-d MMM - - - dd.MM - dd.MM - dd.MM - dd.MM - - - MM.yy - MM.yy - MM.yy - MM.yy - - - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - - - E, d MMM - E, d MMM y - E, d - E, d MMM y - E, d MMM y - E, d MMM y - - - d MMM - d MMM y - d-d MMM y - d MMM y - d MMM y - - - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - - - - - - - - - . - ' - - - - - ¤ #,##0.00;¤-#,##0.00 - - - - - diff --git a/lib/zend/Zend/Locale/Data/it_IT.xml b/lib/zend/Zend/Locale/Data/it_IT.xml deleted file mode 100644 index 1c7b36c763..0000000000 --- a/lib/zend/Zend/Locale/Data/it_IT.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/iu.xml b/lib/zend/Zend/Locale/Data/iu.xml deleted file mode 100644 index 2f24ac1f7d..0000000000 --- a/lib/zend/Zend/Locale/Data/iu.xml +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - - - - - ᐃᓄᒃᑎᑐᑦ ᑎᑎᕋᐅᓯᖅ - - - - [ᐃ-ᐆ ᐊ ᐋ ᐱ-ᐴ ᐸ ᐹ ᑉ ᑎ-ᑑ ᑕ ᑖ ᑦ ᑭ-ᑰ ᑲ ᑳ ᒃ ᒋ-ᒎ ᒐ ᒑ ᒡ ᒥ-ᒨ ᒪ ᒫ ᒻ ᓂ-ᓅ ᓇ ᓈ ᓐ ᓕ-ᓘ ᓚ ᓛ ᓪ ᓯ-ᓲ ᓴ ᓵ ᔅ ᔨ-ᔫ ᔭ ᔮ ᔾ ᕆ-ᕉ ᕋ ᕌ ᕐ ᕕ-ᕚ ᕝ ᕿ-ᖃ ᖅ ᖏ ᖑ-ᖕ ᙱ-ᙶ ᖖ ᖠ-ᖦ] - - - - - - - - ᔭᓐᓄᐊᓕ - ᕕᕝᕗᐊᓕ - ᒫᑦᓯ - ᐊᐃᑉᐳᓗ - ᒪᐃ - ᔫᓂ - ᔪᓚᐃ - ᐊᐅᒡᒍᓯ - ᓰᑦᑏᕝᕙ - ᐆᑦᑑᕝᕙ - ᓅᕙᐃᕝᕙ - ᑏᓰᕝᕙ - - - ᔭᓐᓄᐊᓕ - ᕕᕝᕗᐊᓕ - ᒫᑦᓯ - ᐊᐃᑉᐳᓗ - ᒪᐃ - ᔫᓂ - ᔪᓚᐃ - ᐊᐅᒡᒍᓯ - ᓰᑦᑏᕝᕙ - ᐆᑦᑑᕝᕙ - ᓅᕙᐃᕝᕙ - ᑏᓰᕝᕙ - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - ᓈᑦᓰᖑᔭ - ᓇᒡᒐᔾᔭᐅ - ᓇᒡᒐᔾᔭᐅᓕᖅᑭ - ᐱᖓᑦᓯᖅ - ᓯᑕᒻᒥᖅ - ᑕᓪᓕᕐᒥᖅ - ᓈᑦᓰᖑᔭᓕᖅᕿ - - - ᓈᑦᓰᖑᔭ - ᓇᒡᒐᔾᔭᐅ - ᓇᒡᒐᔾᔭᐅᓕᖅᑭ - ᐱᖓᑦᓯᖅ - ᓯᑕᒻᒥᖅ - ᑕᓪᓕᕐᒥᖅ - ᓈᑦᓰᖑᔭᓕᖅᕿ - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - AM - PM - - - BCE - CE - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - diff --git a/lib/zend/Zend/Locale/Data/iw.xml b/lib/zend/Zend/Locale/Data/iw.xml deleted file mode 100644 index 5986ecb357..0000000000 --- a/lib/zend/Zend/Locale/Data/iw.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ja.xml b/lib/zend/Zend/Locale/Data/ja.xml deleted file mode 100644 index 9abd4b94af..0000000000 --- a/lib/zend/Zend/Locale/Data/ja.xml +++ /dev/null @@ -1,3799 +0,0 @@ - - - - - - - - - - - {0}({1}) - , - - - アファル語 - アブハズ語 - アチェー語 - アチョリ語 - アダングメ語 - アディゲ語 - アヴェスタ語 - アフリカーンス語 - セム・ハム諸語 - アフリヒリ語 - アイヌ語 - アカン語 - アッカド語 - アレウト語 - アルゴンキアン語族 - 南アルタイ語 - アムハラ語 - アラゴン語 - 古代英語 - アンギカ語 - アパッチ語族 - アラビア語 - アラム語 - アラウカン語 - アラパホー語 - 人工諸語 - アラワク語 - アッサム語 - アストゥリアス語 - アサパスカン語族 - オーストラリア語族 - アヴァル語 - アワディー語 - アイマラ語 - アゼルバイジャン語 - バシキール語 - バンダ語 - バミレケ語族 - バルーチー語 - バリ語 - バサ語 - バルト諸語 - ベラルーシ語 - ベジャ語 - ベンバ語 - ベルベル諸語 - ブルガリア語 - ビハール語 - ボージプリー語 - ビスラマ語 - ビコル語 - ビニ語 - シクシカ語 - バンバラ語 - ベンガル語 - バントゥ諸語 - チベット語 - ブルトン語 - ブラジ語 - ボスニア語 - バタク語 - ブリヤート語 - ブギ語 - ビリン語 - カタロニア語 - カドー語 - 中米インディアン諸語 - カリブ語 - コーカサス諸語 - チャワイ語 - チェチェン語 - セブアノ語 - ケルト諸語 - チャモロ語 - チブチャ語 - チャガタイ語 - チューク語 - マリ語 - ビーチ・ラ・マー 等 - チョクトー語 - チペワイアン語 - チェロキー語 - シャイアン語 - チャム語族 - コルシカ語 - コプト語 - 英語が基盤の混成語・混合語 - フランス語が基盤の混成語・混合語 - ポルトガル語が基盤の混成語・混合語 - クリー語 - クリミア・タタール語 - その他の混成語・混合語 - チェコ語 - カシューブ語 - 教会スラブ語 - クシュ諸語 - チュヴァシュ語 - ウェールズ語 - デンマーク語 - ダコタ語 - ダルガン語 - ダヤク語 - ドイツ語 - ドイツ語(オーストリア) - 正統ドイツ語(スイス) - デラウェア語 - スレイビー語 - ドグリブ語 - ディンカ語 - ドグリ語 - ドラヴィダ諸語 - 低ソルビア語 - ドゥアラ語 - 中世オランダ語 - ディベヒ語 - デゥウラ語 - ゾンカ語 - エウェ語 - エフィック語 - 古代エジプト語 - エカジュク語 - ギリシャ語 - エラム語 - 英語 - カナダ英語 - イギリス英語 - アメリカ英語 - 中世英語 - エスペラント語 - スペイン語 - スペイン語(ラテンアメリカ) - スペイン語(イベリア半島) - エストニア語 - バスク語 - エウォンド語 - ペルシア語 - ファング語 - ファンティー語 - フラニ語 - フィンランド語 - フィリピノ語 - フィン・ウゴル諸語 - フィジー語 - フェロー語 - フォン語 - フランス語 - フランス語(カナダ) - フランス語(スイス) - 中期フランス語 - 古フランス語 - 東フリジア語 - フリウリ語 - フリジア語 - アイルランド語 - ガ語 - ガヨ語 - バヤ語 - スコットランド・ゲール語 - ゲルマン諸語 - ゲエズ語 - キリバス語 - ガリシア語 - 中高ドイツ語 - グアラニー語 - 古高ドイツ語 - ゴーンディー語 - ゴロンタロ語 - ゴート語 - グレボ語 - 古代ギリシャ語 - スイスドイツ語(スイス) - グジャラート語 - マン島語 - グウィッチン語 - ハウサ語 - ハイダ語 - ハワイ語 - ヘブライ語 - ヒンディー語 - ヒリガイノン語 - ヒマチャル語 - ヒッタイト語 - フモン語 - ヒリモトゥ語 - クロアチア語 - 上ソルビア語 - ハイチ語 - ハンガリー語 - アタパスカ語 - アルメニア語 - ヘレロ語 - インターリングア語 - イバン語 - インドネシア語 - インターリング語 - イボ語 - 四川イ語 - イジョー語 - イヌピアック語 - イロカノ語 - インド諸語 - 印欧諸語 - イングシ語 - イド語 - イラン語 - イロコイ語族 - アイスランド語 - イタリア語 - イヌクウティトット語 - 日本語 - ロジバン語 - ユダヤ・ペルシア語 - ユダヤ・アラビア語 - ジャワ語 - グルジア語 - カラ・カルパク語 - カビル語 - カチン語 - カジェ語 - カンバ語 - カレン語 - カウィ語 - カバルド語 - カタブ語 - コロ語 - コンゴ語 - カシ語 - コイサン諸語 - コータン語 - キクユ語 - クアニャマ語 - カザフ語 - グリーンランド語 - クメール語 - キンブンドゥ語 - カンナダ語 - 韓国語 - コンカニ語 - コシャエ語 - クペレ語 - カヌリ語 - カラチャイ語 - カレリア語 - クルー語 - クルク語 - カシミール語 - クルド語 - クムク語 - クテナイ語 - コミ語 - コーンウォール語 - キルギス語 - ラテン語 - ラジノ語 - ラフンダー語 - ランバ語 - ルクセンブルク語 - レズギ語 - ガンダ語 - リンブルフ語 - リンガラ語 - ラオ語 - モンゴ語 - ロズィ語 - リトアニア語 - ルバ・カタンガ語 - ルバ・ルルア語 - ルイセーニョ語 - ルンダ語 - ルオ語 - ルシャイ語 - ラトビア語 - マドゥラ語 - マガヒー語 - マイティリー語 - マカッサル語 - マンディンゴ語 - オーストロネシア諸語 - マサイ語 - モクシャ語 - マンダル語 - メンデ語 - マダガスカル語 - 中期アイルランド語 - マーシャル語 - マオリ語 - ミクマク語 - ミナンカバウ語 - その他の言語 - マケドニア語 - モン・クメール諸語 - マラヤーラム語 - モンゴル語 - 満州語 - マニプル語 - マノボ語族 - モルダビア語 - モーホーク語 - モシ語 - マラーティー語 - マレー語 - マルタ語 - 複数言語 - ムンダ語族 - クリーク語 - ミランダ語 - マールワーリー語 - ビルマ語 - マヤ語族 - エルジャ語 - ナウル語 - ナワトル語 - 北米インディアン諸語 - ナポリ語 - ノルウェー語 (ブークモール) - 北ンデベレ語 - 低地ドイツ語、低地サクソン語 - ネパール語 - ネワール語 - ンドンガ語 - ニアス語 - ニジェール・コルドファン諸語 - ニウーエイ語 - オランダ語 - フレミッシュ語 - ノルウェー語 (ニーノシュク) - ノルウェー語 - ノガイ語 - 古ノルド語 - ンコ語 - 南ンデベレ語 - 北部ソト語 - ヌビア語族 - ナバホ語 - 古典ネワール語 - ニャンジャ語、チチェワ語、チェワ語 - ニャムウェジ語 - ニャンコレ語 - ニョロ語 - ンゼマ語 - オック語 - オブジワ語 - オロモ語 - オリヤー語 - オセト語 - オセージ語 - オスマントルコ語 - オトミ語族 - パンジャブ語 - パプア諸語 - パンガシナン語 - パフラヴィ語 - パンパンガ語 - パピアメント語 - パラオ語 - 古代ペルシア語 - フィリピン諸語 - フェニキア語 - パーリ語 - ポーランド語 - ポンペイ語 - プラークリット語族 - 古期プロバンス語 - パシュトゥー語 - ポルトガル語 - ポルトガル語 (ブラジル) - ポルトガル語(イベリア半島) - ケチュア語 - ラージャスターン語 - ラパヌイ語 - ラロトガ語 - レト・ロマン語 - ルンディ語 - ルーマニア語 - ロマンス諸語 - ロマーニー語 - ルート - ロシア語 - アルーマニア語 - ルワンダ語 - サンスクリット語 - サンダウェ語 - ヤクート語 - 南米インディアン諸語 - セイリッシュ語族 - サマリア・アラム語 - ササク語 - サンターリー語 - サルデーニャ語 - シチリア語 - スコットランド語 - シンド語 - 北サーミ語 - セリクプ語 - セム諸語 - サンゴ語 - 古期アイルランド語 - 手まね言語 - セルボ=クロアチア語 - シャン語 - シンハラ語 - シダモ語 - スー語族 - シナ・チベット諸語 - スロバキア語 - スロベニア語 - スラブ諸語 - サモア語 - 南サーミ語 - サーミ諸語 - ルレ・サーミ語 - イナリ・サーミ語 - スコルト・サーミ語 - ショナ語 - ソニンケ語 - ソマリ語 - ソグド語 - ソンガイ語 - アルバニア語 - セルビア語 - スリナム語 - セレル語 - シスワティ語 - ナイル・サハラ諸語 - 南部ソト語 - スンダ語 - スクマ語 - スス語 - シュメール語 - スウェーデン語 - スワヒリ語 - シリア語 - タミール語 - タイ諸語 - テルグ語 - テムネ語 - テレーノ語 - テトゥン語 - タジク語 - タイ語 - ティグリニア語 - ティグレ語 - ティブ語 - トルクメン語 - トケラウ語 - タガログ語 - クリンゴン語 - トリンギット語 - タマシェク語 - ツワナ語 - トンガ語 - トンガ語 (ニアサ) - トク・ピシン語 - トルコ語 - ツォンガ語 - チムシュ語 - タタール語 - トゥンブカ語 - トゥピ語族 - アルタイ諸語 - ツバル語 - トウィ語 - タヒチ語 - トゥヴァ語 - ウドムルト語 - ウイグル語 - ウガリト語 - ウクライナ語 - ウンブンドゥ語 - 非確定 - ウルドゥー語 - ウズベク語 - ヴァイ語 - ベンダ語 - ベトナム語 - ボラピュク語 - ボート語 - ワロン語 - ワカシ語族 - ワッラモ語 - ワライ語 - ワショ語 - ソルビア語族 - ウォロフ語 - カルムイク語 - コサ語 - ヤオ語 - ヤップ語 - イディッシュ語 - ヨルバ語 - ユピック語族 - チワン語 - ザポテック語 - ゼナガ語 - 中国語 - 簡体中国語 - 繁体中国語 - ザンデ語 - ズールー語 - ズニ語 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 世界 - アフリカ - 北米 - 南アメリカ - オセアニア - 西アフリカ - 中央アメリカ - 東アフリカ - 北アフリカ - 中部アフリカ - 南部アフリカ - アメリカ大陸 - 北アメリカ - カリブ海 - 東アジア - 南アジア - 東南アジア - 南ヨーロッパ - オーストラリア・ニュージーランド - メラネシア - ミクロネシア地域 - ポリネシア - 南中央アジア - アジア - 中央アジア - 西アジア - ヨーロッパ - 東ヨーロッパ - 北ヨーロッパ - 西ヨーロッパ - 独立国家共同体 - ラテンアメリカ・カリブ地域 - チャネル諸島 - アンドラ - アラブ首長国連邦 - アフガニスタン - アンティグア・バーブーダ - アンギラ - アルバニア - アルメニア - オランダ領アンティル諸島 - アンゴラ - 南極大陸 - アルゼンチン - 米領サモア - オーストリア - オーストラリア - アルバ島 - オーランド諸島 - アゼルバイジャン - ボスニア・ヘルツェゴビナ - バルバドス - バングラデシュ - ベルギー - ブルキナファソ - ブルガリア - バーレーン - ブルンジ - ベニン - サン・バルテルミー - バミューダ - ブルネイ - ボリビア - ブラジル - バハマ - ブータン - ブーベ島 - ボツワナ - ベラルーシ - ベリーズ - カナダ - ココス (キーリング) 諸島 - コンゴ民主共和国 (キンシャサ) - 中央アフリカ共和国 - コンゴ共和国 (ブラザビル) - スイス - コートジボワール - クック諸島 - チリ - カメルーン - 中国 - コロンビア - コスタリカ - セルビア・モンテネグロ - キューバ - カーボベルデ - クリスマス島 - キプロス - チェコ共和国 - ドイツ - ジブチ - デンマーク - ドミニカ国 - ドミニカ共和国 - アルジェリア - エクアドル - エストニア - エジプト - 西サハラ - エリトリア - スペイン - エチオピア - フィンランド - フィジー - フォークランド諸島 - ミクロネシア - フェロー諸島 - フランス - ガボン - イギリス - グレナダ - グルジア - 仏領ギアナ - ガーンジー - ガーナ - ジブラルタル - グリーンランド - ガンビア - ギニア - グアドループ - 赤道ギニア - ギリシャ - 南ジョージア島・南サンドイッチ諸島 - グアテマラ - グアム - ギニアビサウ - ガイアナ - 中華人民共和国香港特別行政区 - ハード島・マクドナルド諸島 - ホンジュラス - クロアチア - ハイチ - ハンガリー - インドネシア - アイルランド - イスラエル - マン島 - インド - 英領インド洋植民地 - イラク - イラン - アイスランド - イタリア - ジャージー - ジャマイカ - ヨルダン - 日本 - ケニア - キルギスタン - カンボジア - キリバス - コモロ - セントクリストファー・ネイビス - 朝鮮民主主義人民共和国 - 大韓民国 - クウェート - ケイマン諸島 - カザフスタン - ラオス - レバノン - セントルシア - リヒテンシュタイン - スリランカ - リベリア - レソト - リトアニア - ルクセンブルグ - ラトビア - リビア - モロッコ - モナコ - モルドバ - モンテネグロ - セント・マーチン - マダガスカル - マーシャル諸島共和国 - マケドニア - マリ - ミャンマー - モンゴル - 中華人民共和国マカオ特別行政区 - 北マリアナ諸島 - マルティニーク島 - モーリタニア - モントセラト島 - マルタ - モーリシャス - モルジブ - マラウィ - メキシコ - マレーシア - モザンビーク - ナミビア - ニューカレドニア - ニジェール - ノーフォーク島 - ナイジェリア - ニカラグア - オランダ - ノルウェー - ネパール - ナウル - ニウエ島 - ニュージーランド - オマーン - パナマ - ペルー - 仏領ポリネシア - パプアニューギニア - フィリピン - パキスタン - ポーランド - サンピエール島・ミクロン島 - ピトケアン島 - プエルトリコ - パレスチナ領土 - ポルトガル - パラオ - パラグアイ - カタール - その他のオセアニア - 欧州連合 - レユニオン島 - ルーマニア - セルビア - ロシア - ルワンダ - サウジアラビア - ソロモン諸島 - セーシェル - スーダン - スウェーデン - シンガポール - セントヘレナ - スロベニア - スバールバル諸島・ヤンマイエン島 - スロバキア - シエラレオネ - サンマリノ - セネガル - ソマリア - スリナム - サントメ・プリンシペ - エルサルバドル - シリア - スワジランド - タークス諸島・カイコス諸島 - チャド - フランス領極南諸島 - トーゴ - タイ - タジキスタン - トケラウ諸島 - 東ティモール - トルクメニスタン - チュニジア - トンガ - トルコ - トリニダード・トバゴ - ツバル - 台湾 - タンザニア - ウクライナ - ウガンダ - 米領太平洋諸島 - アメリカ合衆国 - ウルグアイ - ウズベキスタン - バチカン市国 - セントビンセント・グレナディーン諸島 - ベネズエラ - イギリス領ヴァージン諸島 - アメリカ領ヴァージン諸島 - ベトナム - バヌアツ - ウォリス・フツナ - サモア - イエメン - マヨット島 - 南アフリカ - ザンビア - ジンバブエ - 不明な地域 - - - 伝統的ドイツ語正書法(1901) - ドイツ語正書法(1996) - 後期中世フランス語(〜1606) - 初期現代フランス語 - 東アルメニア文語 - 西アルメニア文語 - ブーントリング - 国際音声記号 - ウラル音声記号 - モノトニック - ナティゾーネ方言 - ポリトニック - コンピュータ - 改訂版 - レシア方言 - サホ語 - リバプール方言 - バレンシア方言 - - - 暦法 - 照合 - 通貨 - - - 繁体字中国語 (Big5) - タイ仏教暦 - 中国暦 - 直接著錄 - 簡体字中国語 (GB2312) - 西暦 (グレゴリオ暦) - ユダヤ暦 - イスラム暦 - 太陽イスラム暦 - 和暦 - 電話帳方式 - ピンイン順 - 画数順 - 旧式 - - - ヤード・ポンド法 - メートル法 - - - 言語: {0} - 文字: {0} - 地域: {0} - - - - [ゞ ゝヽ ヾ ぁァ あア ぃィ いイ ぅゥ うウ ヴ ぇェ えエ ぉォ おオ ヵ かカ がガ きキ ぎギ くク ぐグ ヶ けケ げゲ こコ ごゴ さサ ざザ しシ じジ すス ずズ せセ ぜゼ そソ ぞゾ たタ だダ ちチ ぢヂ っッ つツ づヅ てテ でデ とト どド なナ にニ ぬヌ ねネ のノ はハ ばバ ぱパ ひヒ びビ ぴピ ふフ ぶブ ぷプ へヘ べベ ぺペ ほホ ぼボ ぽポ まマ みミ むム めメ もモ ゃャ やヤ ゅュ ゆユ ょョ よヨ らラ りリ るル れレ ろロ ゎヮ わワ ゐヰ ゑヱ をヲ んン 一 丁 七 万-下 不 与 且 世 丘 丙 両 並 中 丸 丹 主 久 乏 乗 乙 九 乱 乳 乾 亀 了 予 争 事 二 互 五 井 亜 亡 交 亨 享-亭 人 仁 今 介 仏 仕 他 付 仙 代-以 仮 仰 仲 件 任 企 伏-休 会 伝 伯 伴 伸 伺 似 但 位-佐 体 何 余 作 佳 併 使 例 侍 供 依 価 侮 侯 侵 便 係 促 俊 俗 保 信 修 俳 俵 俸 倉 個 倍 倒 候 借 倣 値 倫 倹 偉 偏 停 健 側-偶 偽 傍 傑 傘 備 催 債 傷 傾 働 像 僕 僚 僧 儀 億 儒 償 優 元-兆 先 光 克 免 児 党 入 全 八-六 共 兵 具 典 兼 内 円 冊 再 冒 冗 写 冠 冬 冷 准 凍 凝 凡 処 凶 凸-出 刀 刃 分-刈 刊 刑 列 初 判 別 利 到 制-券 刺 刻 則 削 前 剖 剛 剣 剤 副 剰 割 創 劇 力 功 加 劣 助 努 励 労 効 劾 勅 勇 勉 動 勘 務 勝 募 勢 勤 勧 勲 勺 匁 包 化 北 匠 匹-医 匿 十 千 升 午 半 卑-協 南 単 博 占 印 危 即-卵 卸 厄 厘 厚 原 厳 去 参 又 及-収 叔 取 受 叙 口-句 叫 召 可 台 史 右 号 司 各 合 吉 同-向 君 吟 否 含 吸 吹 呈-告 周 味 呼 命 和 咲 哀 品 員 哲 唆 唇 唐 唯 唱 商 問 啓 善 喚 喜 喝 喪 喫 営 嗣 嘆 嘉 嘱 器 噴 嚇 囚 四 回 因 団 困 囲 図 固 国 圏 園 土 圧 在 地 坂 均 坊 坑 坪 垂 型 垣 埋 城 域 執 培 基 堀 堂 堅 堕 堤 堪 報 場 塀 塁 塊 塑 塔 塗 塚 塩 塾 境 墓 増 墜 墨 墳 墾 壁 壇 壊 壌 士 壮 声-売 変 夏 夕 外 多 夜 夢 大 天-夫 央 失 奇 奉 奏 契 奔 奥 奨 奪 奮 女 奴 好 如-妄 妊 妙 妥 妨 妹 妻 姉 始 姓 委 姫 姻 姿 威 娘 娠 娯 婆 婚 婦 婿 媒 嫁 嫌 嫡 嬢 子 孔 字 存 孝 季 孤 学 孫 宅 宇-安 完 宗-定 宜 宝 実 客-室 宮 宰 害-家 容 宿 寂 寄 密 富 寒 寛 寝 察 寡 寧 審 寮 寸 寺 対 寿 封 専 射 将 尉-尋 導 小 少 尚 就 尺 尼-局 居 屈 届 屋 展 属 層 履 屯 山 岐 岩 岬 岳 岸 峠 峡 峰 島 崇 崎 崩 川 州 巡 巣 工-巨 差 己 巻 市 布 帆 希 帝 帥 師 席 帯 帰 帳 常 帽 幅 幕 幣 干-年 幸 幹 幻-幾 庁 広 床 序 底 店 府 度 座 庫 庭 庶-庸 廃 廉 廊 延 廷 建 弁 弊 式 弐 弓-引 弘 弟 弦 弧 弱 張 強 弾 当 形 彩 彫 彰 影 役 彼 往 征 径 待 律 後 徐 徒 従 得 御 復 循 微 徳 徴 徹 心 必 忌 忍 志-忙 応 忠 快 念 怒 怖 思 怠 急 性 怪 恋 恐 恒 恥 恨 恩 恭 息 恵 悔 悟 悠 患 悦 悩 悪 悲 悼 情 惑 惜 惨 惰 想 愁 愉 意 愚 愛 感 慈 態 慌 慎 慕 慢 慣 慨 慮 慰 慶 憂 憎 憤 憩 憲 憶 憾 懇 懐 懲 懸 成-戒 戦 戯 戸 戻 房 所 扇 扉 手 才 打 払 扱 扶 批 承 技 抄 把 抑 投 抗 折 抜 択 披 抱 抵 抹 押 抽 担 拍 拐 拒 拓 拘 拙 招 拝 拠 拡 括 拷 拾 持 指 挑 挙 挟 振 挿 捕 捜 捨 据 掃 授 掌 排 掘 掛 採 探 接 控 推 措 掲 描 提 揚 換 握 揮 援 揺 損 搬 搭 携 搾 摂 摘 摩 撃 撤 撮 撲 擁 操 擦 擬 支 改 攻 放 政 故 敏 救 敗 教 敢 散 敬 数 整 敵 敷 文 斉 斎 斗 料 斜 斤 斥 断 新 方 施 旅 旋 族 旗 既 日 旧-早 旬 昆 昇 昌 明 易 昔 星 映 春 昨 昭 是 昼 時 晩 普 景 晴 晶 暁 暇 暑 暖 暗 暦 暫 暮 暴 曇 曜 曲 更 書 曹 替 最 月 有 服 朕 朗 望 朝 期 木 未-札 朱 朴 机 朽 杉 材 村 束 条 来 杯 東 松 板 析 林 枚 果 枝 枠 枢 枯 架 柄 某 染 柔 柱 柳 査 栄 栓 校 株 核 根 格 栽 桃 案 桑 桜 桟 梅 械 棄 棋 棒 棚 棟 森 棺 植 検 業 極 楼 楽 概 構 様 槽 標 模 権 横 樹 橋 機 欄 欠 次 欧 欲 欺 款 歌 歓 止 正 武 歩 歯 歳 歴 死 殉-残 殖 殴 段 殺 殻 殿 母 毎 毒 比 毛 氏 民 気 水 氷 永 汁 求 汗 汚 江 池 決 汽 沈 沖 没 沢 河 沸 油 治 沼 沿 況 泉 泊 泌 法 泡-泣 泥 注 泰 泳 洋 洗 洞 津 洪 活 派 流 浄 浅 浜 浦 浪 浮 浴 海 浸 消 涙 涯 液 涼 淑 淡 深 混 添 清 渇-渉 渋 渓 減 渡 渦 温 測 港 湖 湯 湾-満 源 準 溝 溶 滅 滋 滑 滝 滞 滴 漁 漂 漆 漏 演 漠 漢 漫 漬 漸 潔 潜 潟 潤 潮 澄 激 濁 濃 濫 濯 瀬 火 灯 灰 災 炉 炊 炎 炭 点 為 烈 無 焦 然 焼 煙 照 煩 煮 熟 熱 燃 燥 爆 爵 父 片 版 牛 牧 物 牲 特 犠 犬 犯 状 狂 狩 独 狭 猛 猟 猫 献 猶 猿 獄 獣 獲 玄 率 玉 王 珍 珠 班 現 球 理 琴 環 璽 瓶 甘 甚 生 産 用 田-申 男 町 画 界 畑 畔 留 畜 畝 略 番 異 畳 疎 疑 疫 疲 疾 病 症 痘 痛 痢 痴 療 癒 癖 発 登 白 百 的 皆 皇 皮 皿 盆 益 盗 盛 盟 監 盤 目 盲 直 相 盾 省 看 県 真 眠 眺 眼 着 睡 督 瞬 矛 矢 知 短 矯 石 砂 研 砕 砲 破 硝 硫 硬 碁 碑 確 磁 磨 礁 礎 示 礼 社 祈 祉 祖 祚 祝 神 祥 票 祭 禁 禄 禅 禍-福 秀 私 秋 科 秒 秘 租 秩 称 移 程 税 稚 種 稲 稼 稿 穀 穂 積 穏 穫 穴 究 空 突 窃 窒 窓 窮 窯 立 竜 章 童 端 競 竹 笑 笛 符 第 筆 等 筋 筒 答 策 箇 算 管 箱 節 範 築 篤 簡 簿 籍 米 粉 粋 粒 粗 粘 粛 粧 精 糖 糧 糸 系 糾 紀 約 紅 紋 納 純 紙-紛 素-索 紫 累 細 紳 紹 紺 終 組 経 結 絞 絡 給 統 絵 絶 絹 継 続 維 綱 網 綿 緊 総 緑 緒 線 締 編 緩 緯 練 縁 縄 縛 縦 縫 縮 績 繁 繊 織 繕 繭 繰 缶 罪 置 罰 署 罷 羅 羊 美 群 義 羽 翁 翌 習 翻 翼 老 考 者 耐 耕 耗 耳 聖 聞 聴 職 肉 肌 肖 肝 肢 肥 肩 肪 肯 育 肺 胃 胆 背 胎 胞 胴 胸 能 脂 脅 脈 脚 脱 脳 脹 腐 腕 腰 腸 腹 膚 膜 膨 臓 臣 臨 自 臭 至 致 興 舌 舎 舗 舞 舟 航 般 舶 船 艇 艦 良 色 芋 芝 花 芳 芸 芽 苗 若 苦 英 茂 茎 茶 草 荒 荘 荷 菊 菌 菓 菜 華 落 葉 著 葬 蒸 蓄 蔵 薄 薦 薪-薬 藩 藻 虐 虚 虜 虞 虫 蚊 蚕 蛇 蛍 蛮 融 血 衆 行 術 街 衛 衝 衡 衣 表 衰 衷 袋 被 裁 裂 装 裏 裕 補 裸 製 複 褐 褒 襟 襲 西 要 覆 覇 見 規 視 覚 覧 親 観 角 解 触 言 訂 計 討 訓 託 記 訟 訪 設 許 訳 訴 診 証 詐 詔 評 詞 詠 試 詩 詰-詳 誇 誉 誌 認 誓 誕 誘 語 誠 誤 説 読 課 調 談 請 論 諭 諮 諸 諾 謀 謁 謄 謙 講 謝 謡 謹 識 譜 警 議 譲 護 谷 豆 豊 豚 象 豪 貝 貞 負-貢 貧-販 貫 責 貯 貴 買 貸 費 貿 賀 賃 賄 資 賊 賓 賛 賜 賞 賠 賢 賦 質 購 贈 赤 赦 走 赴 起 超 越 趣 足 距 跡 路 跳 践 踊 踏 躍 身 車 軌 軍 軒 軟 転 軸 軽 較 載 輝 輩 輪 輸 轄 辛 辞 辱 農 辺 込 迅 迎 近 返 迫 迭 述 迷 追 退 送 逃 逆 透 逐 逓 途 通 逝 速 造 連 逮 週 進 逸 遂 遅 遇 遊 運 遍 過 道-違 遠 遣 適 遭 遮 遵 遷 選 遺 避 還 邦 邪 邸 郊 郎 郡 部 郭 郵 郷 都 酌 配 酒 酔 酢 酪 酬 酵 酷 酸 醜 醸 釈 里-量 金 針 釣 鈍 鈴 鉄 鉛 鉢 鉱 銀 銃 銅 銑 銘 銭 鋭 鋳 鋼 錘 錠 錬 錯 録 鍛 鎖 鎮 鏡 鐘 鑑 長 門 閉 開 閑 間 関 閣 閥 閲 闘 防 阻 附 降 限 陛 院-陥 陪 陰 陳 陵 陶 陸 険 陽 隅 隆 隊 階 随 隔 際 障 隠 隣 隷 隻 雄-雇 雉 雌 雑 離 難 雨 雪 雰 雲 零 雷 電 需 震 霊 霜 霧 露 青 静 非 面 革 靴 韓 音 韻 響 頂 項 順 預-頒 領 頭 頻 頼 題 額 顔 顕 願 類 顧 風 飛 食 飢 飯 飲 飼-飾 養 餓 館 首 香 馬 駄-駆 駐 騎 騒 験 騰 驚 骨 髄 高 髪 鬼 魂 魅 魔 魚 鮮 鯨 鳥 鳴 鶏 麗 麦 麻 黄 黒 黙 鼓 鼻 齢] - [兌 拼 楔 錄 鳯] - [a-c č d-l ł m-o º p-z] - - - 「 - 」 - 『 - 』 - - - - - - - - 1月 - 2月 - 3月 - 4月 - 5月 - 6月 - 7月 - 8月 - 9月 - 10月 - 11月 - 12月 - - - 1月 - 2月 - 3月 - 4月 - 5月 - 6月 - 7月 - 8月 - 9月 - 10月 - 11月 - 12月 - - - - - 1月 - 2月 - 3月 - 4月 - 5月 - 6月 - 7月 - 8月 - 9月 - 10月 - 11月 - 12月 - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - 日 - 月 - 火 - 水 - 木 - 金 - 土 - - - 日曜日 - 月曜日 - 火曜日 - 水曜日 - 木曜日 - 金曜日 - 土曜日 - - - - - 日 - 月 - 火 - 水 - 木 - 金 - 土 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - 第1四半期 - 第2四半期 - 第3四半期 - 第4四半期 - - - - - 1 - 2 - 3 - 4 - - - - 午前 - 午後 - - - 紀元前 - 西暦 - - - 紀元前 - 西暦 - - - - - - y年M月d日EEEE - - - - - y年M月d日 - - - - - yyyy/MM/dd - - - - - yy/MM/dd - - - - - - - H時mm分ss秒 zzzz - - - - - HH:mm:ss z - - - - - H:mm:ss - - - - - H:mm - - - - - - - {1}{0} - - - - - {1}{0} - - - - - {1} {0} - - - - - {1} {0} - - - - d日(EEE) - GGGGy年M月d日 - H時 - H:mm - L - M/d(E) - LLL - M月d日(E) - M月d日(E) - M月d日 - M月d日 - MM/dd - M/d - d日 - ah:mm - ah:mm:ss - mm:ss - y - y/M - y/M/d(EEE) - y年M月 - y年M月d日(EEE) - y年M月 - y年M月d日 - y/M/d - y/Q - yQQQ - y年M月 - yy/Q - y年 - yyyy/MM - - - {0}~{1} - - M月~M月 - - - MM/dd(E)~MM/dd(E) - MM/dd(E)~MM/dd(E) - - - M月~M月 - - - M月d日(E)~M月d日(E) - M月d日(E)~d日(E) - - - LLLL~LLLL - - - M月d日~M月d日 - M月d日~d日 - - - MM/dd~MM/dd - MM/dd~MM/dd - - - d日~d日 - - - H時~H時 - H時~H時 - - - H時mm分~H時mm分 - H時mm分~H時mm分 - H時mm分~H時mm分 - - - H時mm分~H時mm分(v) - H時mm分~H時mm分v - H時mm分~H時mm分v - - - H時~H時(v) - H時~H時v - - - y年~y年 - - - yy/MM~yy/MM - yy/MM~yy/MM - - - yy/MM/dd(E)~yy/MM/dd(E) - yy/MM/dd(E)~yy/MM/dd(E) - yy/MM/dd(E)~yy/MM/dd(E) - - - y年M月~M月 - y年M月~y年M月 - - - y年M月d日(E)~M月d日(E) - y年M月d日(E)~d日(E) - y年M月d日(E)~y年M月d日(E) - - - y年M月~M月 - y年M月~y年M月 - - - y年M月d日~M月d日 - y年M月d日~d日 - y年M月d日~y年M月d日 - - - yy/MM/dd~yy/MM/dd - yy/MM/dd~yy/MM/dd - yy/MM/dd~yy/MM/dd - - - - - - 時代 - - - 年 - - - 月 - - - 週 - - - 日 - 一昨日 - 昨日 - 今日 - 明日 - 明後日 - - - 曜日 - - - 午前/午後 - - - 時 - - - 分 - - - 秒 - - - タイムゾーン - - - - - 午前 - 午後 - - - 大化 - 白雉 - 白鳯 - 朱鳥 - 大宝 - 慶雲 - 和銅 - 霊亀 - 養老 - 神亀 - 天平 - 天平感宝 - 天平勝宝 - 天平宝字 - 天平神護 - 神護景雲 - 宝亀 - 天応 - 延暦 - 大同 - 弘仁 - 天長 - 承和 - 嘉祥 - 仁寿 - 斉衡 - 天安 - 貞観 - 元慶 - 仁和 - 寛平 - 昌泰 - 延喜 - 延長 - 承平 - 天慶 - 天暦 - 天徳 - 応和 - 康保 - 安和 - 天禄 - 天延 - 貞元 - 天元 - 永観 - 寛和 - 永延 - 永祚 - 正暦 - 長徳 - 長保 - 寛弘 - 長和 - 寛仁 - 治安 - 万寿 - 長元 - 長暦 - 長久 - 寛徳 - 永承 - 天喜 - 康平 - 治暦 - 延久 - 承保 - 承暦 - 永保 - 応徳 - 寛治 - 嘉保 - 永長 - 承徳 - 康和 - 長治 - 嘉承 - 天仁 - 天永 - 永久 - 元永 - 保安 - 天治 - 大治 - 天承 - 長承 - 保延 - 永治 - 康治 - 天養 - 久安 - 仁平 - 久寿 - 保元 - 平治 - 永暦 - 応保 - 長寛 - 永万 - 仁安 - 嘉応 - 承安 - 安元 - 治承 - 養和 - 寿永 - 元暦 - 文治 - 建久 - 正治 - 建仁 - 元久 - 建永 - 承元 - 建暦 - 建保 - 承久 - 貞応 - 元仁 - 嘉禄 - 安貞 - 寛喜 - 貞永 - 天福 - 文暦 - 嘉禎 - 暦仁 - 延応 - 仁治 - 寛元 - 宝治 - 建長 - 康元 - 正嘉 - 正元 - 文応 - 弘長 - 文永 - 建治 - 弘安 - 正応 - 永仁 - 正安 - 乾元 - 嘉元 - 徳治 - 延慶 - 応長 - 正和 - 文保 - 元応 - 元亨 - 正中 - 嘉暦 - 元徳 - 元弘 - 建武 - 延元 - 興国 - 正平 - 建徳 - 文中 - 天授 - 康暦 - 弘和 - 元中 - 至徳 - 嘉慶 - 康応 - 明徳 - 応永 - 正長 - 永享 - 嘉吉 - 文安 - 宝徳 - 享徳 - 康正 - 長禄 - 寛正 - 文正 - 応仁 - 文明 - 長享 - 延徳 - 明応 - 文亀 - 永正 - 大永 - 享禄 - 天文 - 弘治 - 永禄 - 元亀 - 天正 - 文禄 - 慶長 - 元和 - 寛永 - 正保 - 慶安 - 承応 - 明暦 - 万治 - 寛文 - 延宝 - 天和 - 貞享 - 元禄 - 宝永 - 正徳 - 享保 - 元文 - 寛保 - 延享 - 寛延 - 宝暦 - 明和 - 安永 - 天明 - 寛政 - 享和 - 文化 - 文政 - 天保 - 弘化 - 嘉永 - 安政 - 万延 - 文久 - 元治 - 慶応 - 明治 - 大正 - 昭和 - 平成 - - - - - - Gy年M月d日EEEE - - - - - Gy年M月d日 - - - - - Gyy/MM/dd - - - - - Gyy/MM/dd - - - - - - d日(EEE) - M月d日(EEE) - M月d日 - M/d - ah:mm - ah:mm:ss - Gy年 - Gyy/MM - Gy年M月 - Gy年M月d日 - Gyy/M/d - Gyy/Q - - - - - - - 民国前 - 民国 - - - - - - Gy年M月d日EEEE - - - - - Gy年M月d日EEEE - - - - - Gyy/MM/dd(EE) - - - - - Gyy/MM/dd(E) - - - - - - - +HH:mm;-HH:mm - GMT{0} - {0}時間 - - 不明 - - - アンドラ公国 - - - ドバイ - - - カブール - - - アンチグア - - - アンギラ - - - チラナ - - - エレバン - - - キュラソー - - - ルアンダ - - - ロデラ - - - パーマー - - - 南極点 - - - 昭和基地 - - - モーソン - - - デービス - - - ボストーク - - - ケーシー - - - デュモン デュルビル - - - マクムード - - - リオガイェゴス - - - メンドーサ - - - サンファン - - - ウスアイア - - - ラリオハ - - - サンルイス - - - カタマルカ - - - フフイ - - - トゥクマン - - - コルドバ - - - ブエノスアイレス - - - パゴパゴ - - - ウィーン - - - パース - - - ユークラ - - - ダーウィン - - - アデレード - - - ブロークンヒル - - - カリー - - - メルボルン - - - ホバート - - - リンデマン - - - シドニー - - - ブリスベン - - - ロードハウ - - - アルバ - - - バクー - - - バルバドス - - - ダッカ - - - ブリュッセル - - - ワガドゥグー - - - ソフィア - - - バーレーン国 - - - ブジュンブラ - - - ポルトノボ - - - バミューダ - - - ブルネイ - - - ラパス - - - エイルネペ - - - リオブランコ - - - ポルトベーリョ - - - ボアビスタ - - - マナウス - - - クイアバ - - - カンポグランデ - - - ベレン - - - アラグァイナ - - - サンパウロ - - - バイーア - - - フォルタレザ - - - マセイオ - - - レシフェ - - - ノロニャ - - - ナッサウ - - - ティンプー - - - ガボローネ - - - ミンスク - - - ベリーズ - - - ドーソン - - - ホワイトホース - - - イヌヴィク - - - バンクーバー - - - ドーソンクリーク - - - イエローナイフ - - - エドモントン - - - スウィフトカレント - - - ケンブリッジベイ - - - レジャイナ - - - ウィニペグ - - - レソリュート - - - レイニーリバー - - - ランキン湾 - - - コーラルハーバー - - - サンダーベイ - - - ニピゴン - - - トロント - - - モントリオール - - - イカルイット - - - パンナータング - - - モンクトン - - - ハリファクス - - - グースベイ - - - グレースベイ - - - ブラン・サブロン - - - セントジョンズ - - - ココス - - - キンシャサ - - - ルブンバシ - - - バンギ - - - ブラザビル - - - チューリッヒ - - - アビジャン - - - ラロトンガ - - - イースター島 - - - アメリカ/サンチアゴ - - - ドゥアラ - - - カシガル - - - ウルムチ - - - 重慶 - - - 上海 - - - ハルビン - - - ボゴタ - - - コスタリカ共和国 - - - ハバナ - - - カボベルデ共和国 - - - クリスマス - - - ニコシア - - - ベルリン - - - ジブチ共和国 - - - コペンハーゲン - - - ドミニカ国 - - - サントドミンゴ - - - アルジェ - - - ガラパゴス - - - アメリカ/グアヤキル - - - タリン - - - カイロ - - - アイウン - - - アスマラ - - - カナリア諸島 - - - セウタ - - - ヨーロッパ/マドリード - - - アジスアベバ - - - ヘルシンキ - - - フィジー共和国 - - - スタンリー - - - トラック - - - ポナペ - - - コシャエ - - - フェロー - - - パリ - - - リーブルビル - - - ヨーロッパ/ロンドン - - - グレナダ - - - トビリシ - - - カイエンヌ - - - アクラ - - - ジブラルタル - - - チューレ - - - アメリカ/ゴッドホープ - - - スコレスビスン - - - デンマークシャウン - - - バンジュル - - - コナクリ - - - グアダループ - - - マラボ - - - アテネ - - - 南ジョージア島 - - - グァテマラ共和国 - - - グアム - - - ビサウ - - - ガイアナ - - - 香港 - - - ポルトープランス - - - ブダペスト - - - ジャカルタ - - - ポンティアナク - - - マカッサル - - - ジャヤプラ - - - ダブリン - - - エルサレム - - - チャゴス - - - バグダッド - - - テヘラン - - - レイキャビーク - - - ローマ - - - ジャマイカ - - - アンマン - - - 東京 - - - ナイロビ - - - ビシュケク - - - プノンペン - - - エンダベリー - - - キリティマティ - - - タラワ - - - コモロ - - - セントキッツネイビス - - - 平壌 - - - ソウル - - - クウェート国 - - - ケイマン - - - アクタウ - - - オラル - - - アクトベ - - - キジルオルダ - - - アルマトイ - - - ビエンチャン - - - ベイルート - - - セントルシア - - - ファドゥーツ - - - コロンボ - - - モンロビア - - - マセル - - - ヴィルニアス - - - ルクセンブルグ大公国 - - - リガ - - - トリポリ - - - カサブランカ - - - モナコ公国 - - - キシナウ - - - アンタナナリボ - - - クワジェリン - - - マジュロ - - - アフリカ/バマコ - - - ラングーン - - - ホブド - - - ウランバートル - - - チョイバルサン - - - マカオ - - - サイパン - - - マルチニーク - - - ヌアクショット - - - モントセラト島 - - - マルタ共和国 - - - モーリシャス共和国 - - - モルディブ共和国 - - - ブランタイア - - - ティフアナ - - - エルモシヨ - - - マサトラン - - - チワワ - - - モンテレイ - - - メキシコシティー - - - メリダ - - - カンクン - - - アジア/クアラルンプール - - - クチン - - - マプト - - - ビントフック - - - ヌメア - - - ニアメー - - - ノーフォーク - - - ラゴス - - - マナグア - - - アムステルダム - - - オスロ - - - カトマンズ - - - ナウル共和国 - - - ニウエ - - - チャタム - - - 太平洋/オークランド - - - マスカット - - - パナマ共和国 - - - リマ - - - 太平洋/タヒチ - - - マルケサス - - - ガンビア - - - ポートモレスビー - - - マニラ - - - カラチ - - - ワルシャワ - - - ミクロン - - - ピトケアン島 - - - プエルトリコ - - - ガザ - - - アゾレス諸島 - - - マデイラ - - - ヨーロッパ/リスボン - - - パラオ共和国 - - - アスンシオン - - - カタール - - - レユニオン - - - ブカレスト - - - カリーニングラード - - - モスクワ - - - ボルゴグラード - - - サマラ - - - エカテリンブルグ - - - オムスク - - - ノボシビルスク - - - クラスノヤルスク - - - イルクーツク - - - ヤクーツク - - - ウラジオストク - - - サハリン - - - マガダン - - - カムチャッカ - - - アナジル - - - キガリ - - - リヤド - - - ガダルカナル - - - マエ - - - ハルツーム - - - ストックホルム - - - シンガポール - - - セントヘレナ - - - 北極/ロングイヤービーエン - - - フリータウン - - - ダカール - - - モガディシュ - - - パラマリボ - - - サントメ - - - サルバドル - - - ダマスカス - - - ムババネ - - - グランドターク - - - ンジャメナ - - - ケルゲレーヌ - - - ロメ - - - バンコク - - - ドゥシャンベ - - - ファカオフォ - - - ディリ - - - アシガバード - - - チュニジア - - - トンガタプ - - - イスタンブール - - - ポートオブスペイン - - - フナフティ - - - 台北 - - - ダルエスサラーム - - - ウジゴロド - - - キエフ - - - シンフェローポリ - - - ザポロージェ - - - カンパラ - - - ミッドウェー - - - ジョンストン - - - ウェーク - - - アダック - - - ノーメ - - - ホノルル - - - アンカレッジ - - - ヤクタット - - - ジュノー - - - ロサンゼルス - - - ボイシ - - - フェニックス - - - シップロック - - - デンバー - - - ノースダコタ州ニューセーラム - - - ノースダコタ州センター - - - シカゴ - - - メノミニー - - - インディアナ州ビンセンス - - - インディアナ州ピーターズバーグ - - - インディアナ州テルシティ - - - インディアナ州ノックス - - - インディアナ州ウィナマック - - - インディアナ州マレンゴ - - - インディアナポリス - - - ルイスビル - - - インディアナ州ビベー - - - ケンタッキー州モンティチェロ - - - デトロイト - - - ニューヨーク - - - モンテビデオ - - - サマルカンド - - - アジア/タシケント - - - セントヴィンセント - - - カラカス - - - トルトーラ - - - セントトマス - - - サイゴン - - - エファテ - - - ワリー - - - アピーア - - - アデン - - - マイヨット島 - - - ヨハネスブルグ - - - ルサカ - - - ハラーレ - - - - 中央アフリカ時間 - 中央アフリカ時間 - - - - - 東アフリカ時間 - 東アフリカ時間 - - - - - 南アフリカ時間 - 南アフリカ標準時 - - - - - 西アフリカ時間 - 西アフリカ時間 - 西アフリカ夏時間 - - - - - アラスカ時間 - アラスカ標準時 - アラスカ夏時間 - - - - - アマゾン時間 - アマゾン夏時間 - - - - - アメリカ中部時間 - アメリカ中部標準時 - アメリカ中部夏時間 - - - - - アメリカ東部時間 - アメリカ東部標準時 - アメリカ東部夏時間 - - - - - アメリカ山地時間 - アメリカ山地標準時 - アメリカ山地夏時間 - - - - - アメリカ太平洋時間 - アメリカ太平洋標準時 - アメリカ太平洋夏時間 - - - - - アルゼンチン時間 - アルゼンチン夏時間 - - - - - 大西洋時間 - 大西洋標準時 - 大西洋夏時間 - - - - - ブラジリア時間 - ブラジリア夏時間 - - - - - 中国標準時 - 中国夏時間 - - - - - 中欧標準時 - 中欧夏時間 - - - - - 東欧標準時 - 東欧夏時間 - - - - - グリニッジ標準時 - - - - - イスラエル標準時 - イスラエル夏時間 - - - - - 日本標準時 - 日本夏時間 - - true - - - - ニューファンドランド島標準時 - ニューファンドランド島夏時間 - - - - - - - . - , - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤#,##0.00 - - - - - - アンドラ ペセタ - - - UAE ディルハム - - - アフガニー (1927-2002) - - - アフガニー - - - アルバニア レク - - - アルメニア ドラム - - - オランダ領アンティル ギルダー - - - クワンザ - - - クワンザ (1977-1990) - - - アンゴラ 新クワンザ (1990-2000) - - - アンゴラ 旧クワンザ (1995-1999) - - - アルゼンチン アゥストラール - - - アルゼンチン ペソ (1983-1985) - - - アルゼンチン ペソ - - - オーストリア シリング - - - オーストラリア ドル - - - アルバ ギルダー - - - アゼルバイジャン マナト (1993-2006) - - - アゼルバイジャン マナト - - - ボスニア ディナール - - - ボスニア マルク (BAM) - - - バルバドス ドル - - - バングラデシュ タカ - - - ベルギー フラン (BEC) - - - ベルギー フラン - - - ベルギー フラン (BEL) - - - ブルガリア レフ - - - ブルガリア 新レフ - - - バーレーン ディナール - - - ブルンジ フラン - - - バミューダ ドル - - - ブルネイ ドル - - - ボリビアーノ - - - ボリビア ペソ - - - ボリビア Mvdol - - - ブラジル 新クルゼイロ (1967-1986) - - - ブラジル クルゼイロ - - - ブラジル クルゼイロ (1990-1993) - - - ブラジル レアル - - - ブラジル 新クルゼイロ - - - ブラジル クルゼイロ レアル - - - バハマ ドル - - - ブータン ニュルタム - - - ビルマ チャット - - - ボツワナ プラ - - - ベラルーシ ルーブル (1994-1999) - - - ベラルーシ ルーブル - - - ベリーズ ドル - - - カナダ ドル - - - コンゴ フラン - - - WIR ユーロ - - - スイス フラン - - - WIR フラン - - - チリ ウニダ デ フォメント - - - チリ ペソ - - - 中国人民元 - 元 - - - コロンビア ペソ - - - レアル (UVR) - - - コスタリカ コロン - - - セルビアン ディナール - - - チェコスロバキア コルナ - - - キューバ ペソ - - - カーボベルデ エスクード - - - キプロス ポンド - - - チェコ コルナ - - - 東ドイツ マルク - - - ドイツ マルク - - - ジブチ フラン - - - デンマーク クローネ - - - ドミニカ ペソ - - - アルジェリア ディナール - - - エクアドル スクレ - - - エクアドル UVC - - - エストニア クルーン - - - エジプト ポンド - - - エリトリア ナクファ - - - スペインペセタ - - - スペイン 兌換ペセタ - - - スペイン ペセタ - - - エチオピア ブル - - - ユーロ - - - フィンランド マルカ - - - フィジー諸島 ドル - - - フォークランド(マルビナス)諸島 ポンド - - - フランス フラン - - - 英国ポンド - - - グルジア クーポン ラリ - - - グルジア ラリ - - - ガーナ セディ (1979-2007) - - - ガーナ セディ - - - ジブラルタル ポンド - - - ガンビア ダラシ - - - ギニア フラン - - - ギニア シリー - - - 赤道ギニア ギニー - - - ギリシャ ドラクマ - - - グアテマラ ケツァル - - - ポルトガル領ギニア エスクード - - - ギニアビサウ ペソ - - - ガイアナ ドル - - - 香港ドル - - - ホンジュラス レンピラ - - - クロアチア ディナール - - - クロアチア クーナ - - - ハイチ グールド - - - ハンガリー フォリント - - - インドネシア ルピア - - - アイリッシュ ポンド - - - イスラエル ポンド - - - イスラエル新シェケル - - - インド ルピー - - - イラク ディナール - - - イラン リアル - - - アイスランド クローナ - - - イタリア リラ - - - ジャマイカ ドル - - - ヨルダン ディナール - - - 日本円 - ¥ - - - ケニア シリング - - - キルギスタン ソム - - - カンボジア リエル - - - コモロ フラン - - - 北朝鮮 ウォン - - - 韓国 ウォン - ₩ - - - クウェート ディナール - - - ケイマン諸島 ドル - - - カザフスタン テンゲ - - - ラオス キープ - - - レバノン ポンド - - - スリランカ ルピー - - - リベリア ドル - - - レソト ロティ - - - リトアニア リタス - - - リトアニア タロナ - - - ルクセンブルク 兌換フラン - - - ルクセンブルグ フラン - - - ルクセンブルク 金融フラン - - - ラトビア ラッツ - - - ラトビア ルーブル - - - リビア ディナール - - - モロッコ ディルハム - - - モロッコ フラン - - - モルドバ レイ - - - マダガスカル アリアリ - - - マダガスカル フラン - - - マケドニア デナル - - - マリ フラン - - - ミャンマー チャット - - - モンゴル トグログ - - - マカオ パタカ - - - モーリタニア ウギア - - - マルタ リラ - - - マルタ ポンド - - - モーリシャス ルピー - - - モルディブ諸島 ルフィア - - - マラウィ クワチャ - - - メキシコ ペソ - - - メキシコ ペソ (1861-1992) - - - メキシコ UDI - - - マレーシア リンギット - - - モザンピーク エスクード - - - モザンピーク メティカル - - - モザンビーク メティカル - - - ナミビア ドル - - - ナイジェリア ナイラ - - - ニカラグア コルドバ - - - ニカラグア コルドバ オロ - - - オランダ ギルダー - - - ノルウェー クローネ - - - ネパール ルピー - - - ニュージーランド ドル - - - オマーン リアル - - - パナマ バルボア - - - ペルー インティ - - - ペルー 新ソル - - - ペルー ソル - - - パプアニューギニア キナ - - - フィリピン ペソ - - - パキスタン ルピー - - - ポーランド ズウォティ - - - ポーランド ズウォティ (1950-1995) - - - ポルトガル エスクード - - - パラグアイ グアラニ - - - カタール リアル - - - ローデシア ドル - - - ルーマニア 旧レイ - - - ルーマニア レイ - - - ディナール (セルビア) - - - ロシア ルーブル - - - ロシア ルーブル (1991-1998) - - - ルワンダ フラン - - - サウジ リヤル - - - ソロモン諸島 ドル - - - セイシェル ルピー - - - スーダン ディナール - - - スーダン ポンド - - - 旧スーダン ポンド - - - スウェーデン クローナ - - - シンガポール ドル - - - セントヘレナ島 ポンド - - - スロベニア トラール - - - スロバキア コルナ - - - シエラレオネ レオン - - - ソマリア シリング - - - スリナム ドル - - - スリナム ギルダー - - - サントメ・プリンシペ ドブラ - - - ソ連 ルーブル - - - エルサルバドル コロン - - - シリア ポンド - - - スワジランド リランゲニ - - - タイ バーツ - - - タジキスタン ルーブル - - - タジキスタン ソモニ - - - トルクメニスタン マナト - - - チュニジア ディナール - - - トンガ パ・アンガ - - - ティモール エスクード - - - トルコ リラ - - - 新トルコリラ - - - トリニダードトバゴ ドル - - - 新台湾ドル - - - タンザニア シリング - - - ウクライナ グリブナ - - - ウクライナ カルボバネツ - - - ウガンダ シリング (1966-1987) - - - ウガンダ シリング - - - 米ドル - $ - - - 米ドル (翌日) - - - 米ドル (当日) - - - ウルグアイ ペソ (1975-1993) - - - ウルグアイ ペソ - - - ウズベキスタン スム - - - ベネズエラ ボリバル - - - ベネズエラ ボリバルフエルテ - - - ベトナム ドン - - - バヌアツ バツ - - - 西サモア タラ - - - CFA フラン BEAC - - - 銀 - - - 金 - - - ヨーロッパ混合単位 (EURCO) - - - ヨーロッパ通貨単位 (EMU-6) - - - ヨーロッパ勘定単位 (EUA-9) - - - ヨーロッパ勘定単位 (EUA-17) - - - 東カリブ ドル - - - 特別引き出し権 - - - ヨーロッパ通貨単位 - - - フランス金フラン - - - フランス UIC フラン - - - CFA フラン BCEAO - - - パラジウム - - - CFP フラン - - - プラチナ - - - RINET基金 - - - テスト用通貨コード - - - 不明または無効な通貨 - - - イエメン ディナール - - - イエメン リアル - - - ユーゴスラビア ディナール - - - ユーゴスラビア スーパー ディナール - - - ユーゴスラビア 新ディナール (YUN) - - - 南アフリカ ランド (ZAL) - - - 南アフリカ ランド - - - ザンビア クワチャ - - - ザイール 新ザイール - - - ザイール ザイール - - - ジンバブエ ドル - - - - - - {0} 日 - - - {0} 時間 - - - {0} 分 - - - {0} か月 - - - {0} 秒 - - - {0} 週 - - - {0} 年 - - - - - はい:ハイ - いいえ:イイエ - - - - diff --git a/lib/zend/Zend/Locale/Data/ja_JP.xml b/lib/zend/Zend/Locale/Data/ja_JP.xml deleted file mode 100644 index 4a6f5d2b5f..0000000000 --- a/lib/zend/Zend/Locale/Data/ja_JP.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ka.xml b/lib/zend/Zend/Locale/Data/ka.xml deleted file mode 100644 index 89af5365e3..0000000000 --- a/lib/zend/Zend/Locale/Data/ka.xml +++ /dev/null @@ -1,2157 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - აფხაზური - ადიღეური - ავესტა - აფრიკული - აინუ - ალეუტური - ძველი ინგლისური - არაბული - არამეული - ხელოვნური სხვა - ასამური - ავსტრიული - აზერბაიჯანული - ბელორუსული - ბულგარული - ბიჰარი - ტიბეტური - ბრეტონული - ბოსნიური - ბურიატული - კატალანური - კავკასიური სხვა - ჩეჩნური - კელტური სხვა - ჩეხური - საეკლესიო სლავური - უელსური - დანიური - გერმანული - ავსტრიული გერმანული - შვეიცარიული მაღალი გერმანული - ეგვიპტური - ბერძნული - ინგლისური - ავსტრალიური ინგლისური - კანადური ინგლისური - ბრიტანული ინგლისური - ამერიკული ინგლისური - ესპერანტო - ესპანური - ლათინურ ამერიკული ესპანური - იბერიული ესპანური - ესტონური - ბასკური - სპარსული - ფინური - ფილიპინური - ფრანგული - კანადური ფრანგული - შვეიცარიული ფრანგული - ძველი ფრანგული - ირლანდიური - შოტლანდიურ-გალური - გალური - გუარანი - ძველი გერმანული - ძველი ბერძნული - შვეიცარიული გერმანული - გუჯარათი - ებრაული - ჰინდი - ხორვატიული - უნგრული - სომხური - ინტერლინგუალური - ინდონეზიური - ინტერლინგი - ინდო-ევროპული სხვა - ისლანდიური - იტალიური - იაპონური - იავანური - ქართული - კონგო - ყაზახური - კამბოჯიური - კორეული - ქურთული - ყირგიზული - ლათინური - ლუქსემბურგული - ლინგალა - ლაოსური - ლიტვური - ლატვიური - მაკედონიური - მონღოლური - მოლდოვური - მალაიზიური - მაიას ენები - ნეაპოლიტანური - ნეპალური - ჰოლანდიური - ფლომანდიური - ნორვეგიული ნინორსკი - ნორვეგიული - ნავახო - ოციტანური - ორიული - ოსური - ძველი სპარსული - პოლონური - პრაკრიტის ენები - პუშტუ - პორტუგალიური - ბრაზილიური პორტუგალიური - იბერიულ-პორტუგალიური - რუმინული - რუსული - სანსკრიტი - სარდინიული - სიცილიური - სინდური - ძველი ირლანდიური - სერბულ-ხორვატული - სინჰალური - სლოვაკური - სლოვენური - სლავური სხვა - სომალიური - ალბანური - სერბული - სამხრეთ სოთოს ენა - შუმერული - შვედური - სუაჰილი - ტაჯიკური - ტაილანდური - თურქმენული - კლინგონი - ტსვანა - თურქული - თუი - უდმურტიული - უიგურული - უკრაინული - უცნობი ან არასწორი ენა - ურდუ - უზბეკური - ვიეტნამური - ქსოზა - იდიში - ჩინური - გამარტივებული ჩინური - ტრადიციული ჩინური - ზულუ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - მსოფლიო - აფრიკა - ჩრდილოეთ ამერიკა - სამხრეთი ამერიკა - ოკეანეთი - დასავლეთი აფრიკა - ცენტრალური ამერიკა - აღმოსავლეთი აფრიკა - ჩრდილოეთი აფრიკა - შუა აფრიკა - სამხრეთი აფრიკა - ამერიკები - ჩრდილოეთი ამერიკა - კარიბი - აღმოსავლეთი აზია - სამხრეთი აზია - სამხრეთ-აღმოსავლეთი აზია - სამხრეთი ევროპა - ავსტრალია და ახალი ზელანდია - მელანეზია - მირონეზია - პოლინეზია - სამხრეთ-ცენტრალური აზია - აზია - ცენტრალური აზია - დასავლეთი აზია - ევროპა - აღმოსავლეთი ევროპა - ჩრდილოეთი ევროპა - დასავლეთი ევროპა - დამოუკიდებელ სახელმწიფოთა თანამეგობრობა - ლათინური ამერიკა და კარიბი - ანდორა - არაბეთის გაერთიანებული ემირატები - ავღანეთი - ანტიგუა და ბარბუდა - ანგვილა - ალბანეთი - სომხეთი - ნიდერლანდების ანტილები - ანგოლა - ანტარქტიკა - არგენტინა - ამერიკული სამოა - ავსტრია - ავსტრალია - არუბა - ალანდის კუნძულები - აზერბაიჯანი - ბოსნია და ჰერცეგოვინა - ბარბადოსი - ბანგლადეში - ბელგია - ბურკინა-ფასო - ბულგარეთი - ბაჰრეინი - ბურუნდი - ბენინი - ბერმუდა - ბრუნეი - ბოლივია - ბრაზილია - ბაჰამის კუნძულები - ბუტანი - ბუვეს კუნძული - ბოტსვანა - ბელორუსია - ბელიზი - კანადა - კონგო - კინშასა - ცენტრალური აფრიკის რესპუბლიკა - კონგო - შვეიცარია - სპილოს ძვლის სანაპირო - კუკის კუნძულები - ჩილე - კამერუნი - ჩინეთი - კოლუმბია - კოსტა-რიკა - სერბია და მონტენეგრო - კუბა - კაბო-ვერდე - შობის კუნძული - კვიპროსი - ჩეხეთის რესპუბლიკა - გერმანია - ჯიბუტი - დანია - დომინიკა - დომინიკანის რესპუბლიკა - ალჟირი - ეკვადორი - ესტონეთი - ეგვიპტე - დასავლეთი საჰარა - ერიტრეა - ესპანეთი - ეთიოპია - ფინეთი - ფიჯი - ფალკლენდის კუნძულები - მიკრონეზია - ფაროს კუნძულები - საფრანგეთი - გაბონი - დიდი ბრიტანეთი - გრენადა - საქართველო - განა - გიბრალტარი - გრენლანდია - გამბია - გვინეა - გვადელუპე - ეკვატორული გვინეა - საბერძნეთი - სამხრეთი ჯორჯია და სამხრეთ სენდვიჩის კუნძულები - გვატემალა - გუამი - გვინეა-ბისაუ - გაიანა - ჰონგ კონგი - ჰერდის კუნძული და მაკდონალდის კუნძულები - ჰონდურასი - ჰორვატია - ჰაიტი - უნგრეთი - ინდონეზია - ირლანდია - ისრაელი - მანის კუნძული - ინდოეთი - ბრიტანული ტერიტორია ინდოეთის ოკეანეში - ერაყი - ირანი - ისლანდია - იტალია - ჯერსი - იამაიკა - იორდანია - იაპონია - კენია - ყირგიზეთი - კამბოჯა - კირიბატი - კომორის კუნძულები - სენტ-კიტსი და ნევისი - ჩრდილოეთი კორეა - სამხრეთი კორეა - კუვეიტი - კაიმანის კუნძულები - ყაზახეთი - ლაოსი - ლიბანი - სენტ-ლუსია - ლიხტენშტაინი - შრი-ლანკა - ლიბერია - ლესოთო - ლიტვა - ლუქსემბურგი - ლატვია - ლიბია - მაროკო - მონაკო - მოლდოვა - მონტენეგრო - მადაგასკარი - მარშალის კუნძულები - მაკედონია - მალი - მიანმარი - მონღოლეთი - მაკაო - მარტინიკი - მავრიტანია - მონსერატი - მალტა - მავრიკია - მალდივის კუნძულები - მალავი - მექსიკა - მალაიზია - მოზამბიკი - ნამიბია - ახალი კალედონია - ნიგერი - ნორფოლკის კუნძული - ნიგერია - ნიკარაგუა - ნიდერლანდები - ნორვეგია - ნეპალი - ნაურუ - ახალი ზელანდია - ომანი - პანამა - პერუ - ფრანგული პოლინეზია - პაპუა-ახალი გვინეა - ფილიპინები - პაკისტანი - პოლონეთი - სენტ-პიერი და მიქელონი - პუერტო რიკო - პალესტინის ტერიტორია - პორტუგალია - პალაუ - პარაგვაი - კატარი - დაშორებული ოკეანია - ევროკავშირი - რეიუნიონი - რუმინეთი - სერბია - რუსეთი - რუანდა - საუდის არაბეთი - სოლომონის კუნძულები - სეიშელის კუნძულები - სუდანი - შვეცია - სინგაპური - წმინდა ელენეს კუნძული - სლოვენია - სლოვაკეთი - სიერა-ლეონე - სან-მარინო - სენეგალი - სომალი - სურინამი - საო-ტომე და პრინსიპი - სალვადორი - სირია - სვაზილენდი - ჩადი - ფრანგული სამხრეთის ტერიტორიები - ტოგო - ტაილანდი - ტაჯიკეთი - აღმოსავლეთი ტიმორი - თურქმენეთი - ტუნისი - ტონგა - თურქეთი - ტრინიდადი და ტობაგო - ტუვალუ - ტაივანი - ტანზანია - უკრაინა - უგანდა - შეერთებული შტატების მცირე დაშორებული კუნძულები - ამერიკის შეერთებული შტატები - ურუგვაი - უზბეკეთი - ვატიკანი - სენტ-ვინსენტი და გრენადინები - ვენესუელა - ვიეტნამი - ვანუატუ - ვალისი და ფუტუნა - სამოა - იემენი - სამხრეთ აფრიკა - ზამბია - ზიმბაბვე - უცნობი ან არასწორი რეგიონი - - - კალენდარი - მიმდევრობა - ვალუტა - - - ტრადიციული ჩინური - ბუდისტური კალენდარი - ჩინური კალენდარი - პირდაპირი მიმდევრობა - გამარტივებული ჩინური - გრიგორიანული კალენდარი - ებრაული კალენდარი - ინდური ეროვნული კალენდარი - ისლამური კალენდარი - ისლამური სამოქალაქო კალენდარი - იაპონური კალენდარი - ჩინეთის რესპუბლიკის კალენდარი - ტრადიციული - - - US - Metric - - - - [ა ⴀ ბ ⴁ გ ⴂ დ ⴃ ე ⴄ ვ ⴅ ზ ⴆ ჱ ⴡ თ ⴇ ი ⴈ კ ⴉ ლ ⴊ მ ⴋ ნ ⴌ ჲ ⴢ ო ⴍ პ ⴎ ჟ ⴏ რ ⴐ ს ⴑ ტ ⴒ ჳ ⴣ უ ⴓ ფ ⴔ ქ ⴕ ღ ⴖ ყ ⴗ შ ⴘ ჩ ⴙ ც ⴚ ძ ⴛ წ ⴜ ჭ ⴝ ხ ⴞ ჴ ⴤ ჯ ⴟ ჰ ⴠ ჵ ⴥ ჶ-ჺ] - - - “ - ” - ‘ - ’ - - - - - - - - იან - თებ - მარ - აპრ - მაი - ივნ - ივლ - აგვ - სექ - ოქტ - ნოე - დეკ - - - იანვარი - თებერვალი - მარტი - აპრილი - მაისი - ივნისი - ივლისი - აგვისტო - სექტემბერი - ოქტომბერი - ნოემბერი - დეკემბერი - - - - - ი - თ - მ - ა - მ - ი - ი - ა - ს - ო - ნ - დ - - - - - - - კვი - ორშ - სამ - ოთხ - ხუთ - პარ - შაბ - - - კვირა - ორშაბათი - სამშაბათი - ოთხშაბათი - ხუთშაბათი - პარასკევი - შაბათი - - - - - კ - ო - ს - ო - ხ - პ - შ - - - - - - - I კვ. - II კვ. - III კვ. - IV კვ. - - - 1-ლი კვარტალი - მე-2 კვარტალი - მე-3 კვარტალი - მე-4 კვარტალი - - - - - I კვარტალი - II კვარტალი - III კვარტალი - IV კვარტალი - - - - დილის - საღამოს - - - ჩვენს წელთაღრიცხვამდე - ჩვენი წელთაღრიცხვით - - - ჩვენს წელთაღრიცხვამდე - ჩვენი წელთაღრიცხვით - - - ჩვენს წელთაღრიცხვამდე - ჩვენი წელთაღრიცხვით - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - HH:mm - HH:mm:ss - dd MMM - dd/MM - hh:mm a - hh:mm:ss a - MM/yy - EEE, d MMM, yy - d MMM, yy - dd/MM/yy - Q yy - QQQQ yy - - - - - ხანა - - - წელი - - - თვე - - - კვირა - - - დღე - სამი დღის წინ - გუშინწინ - გუშინ - დღეს - ხვალ - ზეგ - სამი დღის შემდეგ - - - კვირის დღე - - - დღის პერიოდი - - - საათი - - - წუთი - - - წამი - - - ზონა - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - {1} ({0}) - - უცნობი - - - ბარბუდა - - - ანგილა - - - ნიდერლანდის - - - ანგოლა - - - როთერა - - - პალმერი - - - სამხრეთი პოლუსი - - - სიოუა - - - მოუსონი - - - დევისი - - - ვოსტოკი - - - კეისი - - - დიუმონ დ'ურვილი - - - მაკმურდო - - - რიო გალეგოსი - - - მენდოზა - - - სან ხუანი - - - უშუაია - - - ლა რიოხა - - - სან ლუისი - - - კატამარკა - - - ჯუჯუი - - - ტუკუმანი - - - კორდობა - - - ბუენოს აირესი - - - პერთი - - - ეუკლა - - - დარვინი - - - ადელაიდა - - - ბროუკენ ჰილი - - - ქური - - - მელბურნი - - - ჰობარტი - - - ლინდმანი - - - სიდნეი - - - ბრისბეინი - - - ლორდ ჰოუი - - - არუბა - - - ბარბადოსი - - - ბურკინა ფასო - - - ბურუნდი - - - ბენინი - - - ბოლივია - - - ეირუნეპე - - - რიო ბრანკო - - - პორტო ველჰო - - - ბოა ვისტა - - - მანაუსი - - - კუიაბა - - - კამპო გრანდე - - - ბელემი - - - არაგუაინა - - - საო პაულო - - - ბაია - - - ფორტალეზა - - - მასეიო - - - რეციფე - - - ნორონია - - - ბაჰამის კუნძულები - - - ბოტსვანა - - - ბელიზი - - - დოუსონი - - - უაითჰორსი - - - ინუვიკი - - - ვანკუვერი - - - დოუსონ ქრიკი - - - იელოუნაიფი - - - ედმონტონი - - - სვიფტ კარენტი - - - კემბრიჯ ბეი - - - რეჯინა - - - უინიპეგი - - - რეზოლუტე - - - რეინი რივერი - - - რენკინ ინლეტი - - - ქორალ ჰარბორი - - - თანდერ ბეი - - - ნიპიგონი - - - ტორონტო - - - მონრეალი - - - იქალუიტი - - - პანგნირტუნგი - - - მონქტონი - - - ჰალიფაქსი - - - გუზ ბეი - - - გლეის ბეი - - - ბლან-საბლონი - - - სენტ ჯონსი - - - კინშასა - - - ლუბუმბაში - - - ცენტრალური აფრიკის რესპუბლიკა - - - კონგო - ბრაზავილი - - - სპილოს ძვლის სანაპირო - - - ისთერი - - - კამერუნი - - - კაშგარი - - - ურუმქი - - - ჩონგქინგი - - - ჰარბინი - - - კოლუმბია - - - კოსტა რიკა - - - კუბა - - - ჯიბუტი - - - დომინიკა - - - ალჟირი - - - გალაპაგოსი - - - ეგვიპტე - - - დასავლეთი საჰარა - - - ერითრეა - - - კანარი - - - სეუტა - - - ეთიოპია - - - ტრუკი - - - პონაპე - - - კოსრაე - - - გაბონი - - - გრენადა - - - გუიანა - - - განა - - - თულე - - - სკორსბისუნდი - - - დენმარკშავნი - - - გამბია - - - გინეა - - - გუადელუპე - - - ეკვატორული გვინეა - - - გუატემალა - - - გინეა-ბისაუ - - - გუიანა - - - ჯაკარტა - - - პონტიანაკი - - - მაკასარი - - - ჯაიაპურა - - - იამაიკა - - - კენია - - - ენდერბური - - - კირიტიმატი - - - ტარაუა - - - კაიმანის - - - აქტაუ - - - ორალი - - - აქტობე - - - ყიზილორდა - - - ალმატი - - - ლიბერია - - - ლესოთო - - - ლიბია - - - მაროკო - - - კვაჯალეინი - - - მახურო - - - მალი - - - ჰოვდი - - - ულანბატარი - - - ჩოიბალსანი - - - მარტინიკი - - - მავრიტანია - - - მონსერატი - - - მალავი - - - ტიხუანა - - - ჰერმოსიო - - - მაზატლანი - - - ჩიჰუაჰუა - - - მონტერეი - - - მექსიკო სითი - - - მერიდა - - - კანკუნი - - - კუჩინგი - - - მოზამბიკი - - - ნამიბია - - - ნიგერი - - - ნიგერია - - - ნიკარაგუა - - - ჩათამი - - - პერუ - - - მარკეზასი - - - გამბიერი - - - სენტ პიერი და მიკელონი - - - აზორეს - - - მადეირა - - - პარაგვაი - - - კალინინგრადი - - - მოსკოვი - - - ვოლგოგრადი - - - სამარა - - - ეკატერინბურგი - - - ომსკი - - - ნოვოსიბირსკი - - - კრასნოიარსკი - - - ირკუტსკი - - - იაკუტსკი - - - ვლადივოსტოკი - - - სახალინი - - - მაგადანი - - - კამჩატკა - - - ანადირი - - - რუანდა - - - სუდანი - - - სიერა ლეონე - - - სენეგალი - - - სომალია - - - საო ტომე და პრინსიპე - - - ელ სალვადორი - - - სვაზილენდი - - - ტერკის და კაიკოს - - - ჩადი - - - ტოგო - - - ტუნისი - - - ტანზანია - - - უჟგოროდი - - - კიევი - - - სიმფეროპოლი - - - ზაპოროჟიე - - - უგანდა - - - მიდუეი - - - ჯონსტონი - - - უეიკი - - - ადაკი - - - ნომი - - - ჰონოლულუ - - - ენქორაჯი - - - იაკუტატი - - - ჯუნო - - - ლოს ანჯელესი - - - ბუასი - - - ფენიქსი - - - შიპროკი - - - დენვერი - - - ნიუ სალემი, ჩრდილოეთი დაკოტა - - - ცენტრი, ჩრდილოეთი დაკოტა - - - ჩიკაგო - - - მენომინი - - - ვინსენი, ინდიანა - - - პიტერსბურგი - - - თელ სითი, ინდიანა - - - ნოქსი, ინდიანა - - - უინემაკი, ინდიანა - - - მარენგო - - - ინდიანაპოლისი - - - ლუისვილი - - - ვივეი, ინდიანა - - - მონტიჩელო - - - დეტროიტი - - - ნიუ იორკი - - - ურუგვაი - - - სამარყანდი - - - ვენესუელა - - - სამხრეთი აფრიკა - - - ზამბია - - - ზიმბაბვე - - - - - - , - . - ; - % - 0 - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #,##0% - - - - - - - ¤ #,##0.00 - - - {0} {1} - - - - ანდორული პესეტა - - - გაერთიანებული არაბული საემიროების დირჰემი - - - ავღანი (1927-2002) - - - ავღანი - - - ალბანური ლეკი - - - სომხური დრამი - - - ნიდრელანდების ანტილიის გულდენი - - - ანგოლური კვანზა - - - ანგოლური კვანზა (1977-1990) - - - ანგოლური ახალი კვანზა (1990-2000) - - - ანგოლური მიტოლებული კვანზა (1995-1999) - - - არგენტინული აუსტრალი - - - არგენტინული პესო (1983-1985) - - - არგენტინული პესო - - - ავსტრიული შილინგი - - - ავსტრალიური დოლარი - - - არუბანული გულდენი - - - აზერბაიჯანული მანათი (1993-2006) - - - აზერბაიჯანული მანათი - - - ბოსნია-ჰერცოგოვინას დინარი - - - ბოსნია-ჰერცოგოვინას კონვერტირებადი მარკა - - - ბარბადოსული დოლარი - - - ბანგლადეშური ტაკა - - - ბელგიური ფრანკი (კოვერტირებადი) - - - ბელგიური ფრანკი - - - ბელგიური ფრანკი (ფინანსური) - - - ბულგარული მყარი ლევი - - - ბულგარული ახალი ლევი - - - ბაჰრეინული დინარი - - - ბურუნდიული ფრანკი - - - ბერმუდული დინარი - - - ბრუნეული დოლარი - - - ბოლივიანო - - - ბოლივიური პესო - - - ბრაზილიური კრუზეირო ნოვო (1967-1986) - - - ბრაზილიური კრუზადო - - - ბრაზილიური კრუზეირო (1990-1993) - - - ბრაზილიური რეალი - - - ბრაზილიური კრუზადო ნოვო - - - ბრაზილიური კრუზეირო - - - ბაჰამური დოლარი - - - ბოტსვანიური პულა - - - ახალი ბელარუსიული რუბლი (1994-1999) - - - ბელარუსიული რუბლი - - - კანადური დოლარი - - - შვეიცარიული ფრანკი - - - ჩინური უანი - - - კოსტა რიკული კოლონი - - - ძველი სერბიული დინარი - - - ჩეხოსლოვაკიის მყარი კრონა - - - კუბური პესო - - - კაბო ვერდეს ესკუდო - - - კვიპროსის გირვანქა - - - ჩეხური კრონა - - - აღმოსავლეთ გერმანული მარკა - - - გერმანული მარკა - - - ჯიბუტის ფრანკი - - - დანიური კრონა - - - დომინიკური პესო - - - ალჟირიული დინარი - - - ესტონური კრუნა - - - ეგვიპტური გირვანქა - - - ესპანური პესეტა - - - ევრო - - - ფინური მარკა - - - ფიჯი დოლარი - - - ფრანგული ფრანკი - - - ინგლისური გირვანქა სტერლინგი - - - ქართული კუპონი ლარით - - - ქართული ლარი - - - ბერძნული დრაჰმა - - - პორტუგალიური გინეა ესკუდო - - - ჰონგ კონგის დოლარი - - - ჰონდურასის ლემპირა - - - ხორვატიული დინარი - - - ხორვატიული კუნა - - - უნგრული ფორინტი - - - ინდონეზიური რუპია - - - ირლანდიური გირვანქა - - - ინდური რუპია - - - ისლანდიური კრონა - - - იტალიური ლირა - - - იამაიკური დოლარი - - - იორდანიული დოლარი - - - იაპონური იენი - - - კენიური შილინგი - - - ყირღიზული სომი - - - ჩრდილოეთ კორეული ვონი - - - სამხრეთ კორეული ვონი - - - კუვეიტური დინარი - - - კაიმანის კუნძულების დოლარი - - - ყაზახური ტენგე - - - შრი ლანკის რუპია - - - ლიბერიული დოლარი - - - ლიტვური ლიტა - - - ლიტვური ტალონი - - - ლუქსემბურგის კონვერტირებადი ფრანკი - - - ლუქსემბურგის ფრანკი - - - ლუქსემბურგის ფინანსური ფრანკი - - - ლატვიური ლატი - - - ლატვიური რუბლი - - - ლიბიური დინარი - - - მაროკოს დირჰამი - - - მაროკოს ფრანკი - - - მოლდოვური ლეუ - - - მადაგასკარის არიარი - - - მადაგასკარის ფრანკი - - - მაკედონიური დენარი - - - მალის ფრანკი - - - მიანმარის კიატი - - - მონღოლური ტუგრიკი - - - მალტის ლირა - - - მალტის გირვანქა - - - მავრიტანული რუპია - - - მალდივური რუფია - - - მალავის კვანჩა - - - მექსიკური პესო - - - მექსიკური ვერცხლის პესო (1861-1992) - - - მალაიზიური რინგიტი - - - მოზამბიკური ესკუდო - - - ძველი მოზამბიკური მეტიკალი - - - მოზამბიკური მეტიკალი - - - ნამიბიური დოლარი - - - ნიგერიული ნაირა - - - ნიკარაგუას კორდობა - - - ნიკარაგუას ოქროს კორდობა - - - ჰოლანდიური გულდენი - - - ნორვეგიული კრონა - - - ნეპალური რუპია - - - ახალი ზელანდიის დოლარი - - - ომანის რეალი - - - პერუს ინტი - - - პერუს ახალი სოლი - - - პერუს სოლი - - - ფილიპინური პესო - - - პაკისტანური რუპია - - - პოლონური ზლოტი - - - პოლონური ზლოტი (1950-1995) - - - პორტუგალიური ესკუდო - - - კატარის რიალი - - - როდეზიული დოლარი - - - ძველი რუმინული ლეუ - - - რუმინული ლეუ - - - რუსული რუბლი - - - რუსული რუბლი (1991-1998) - - - რუანდული ფრანკი - - - სეიშელის რუპია - - - სუდანის დინარი - - - სუდანის გირვანქა - - - შვედური კრონა - - - სინგაპურის დოლარი - - - სიერა ლეონეს ლეონე - - - სურინამის დოლარი - - - სურინამის გულდენი - - - საბჭოთა რუბლი - - - სირიული გირვანქა - - - ტაჯიკური რუბლი - - - ტაჯიკური სომონი - - - თურქმენული მანათი - - - ტუნისიური დინარი - - - თურქული ლირა - - - ახალი თურქული ლირა - - - ტრინიდად და ტობაგოს დოლარი - - - ტაივანური ახალი დოლარი - - - ტანზანიური შილინგი - - - უკრაინული გრივნა - - - უკრაინული კარბოვანეცი - - - უგანდური შილინგი (1966-1987) - - - უგანდური შილინგი - - - აშშ დოლარი - - - აშშ დოლარი (შემდეგი დღე) - - - აშშ დოლარი (იგივე დღე) - - - ურუგვაის პესო (1975-1993) - - - ურუგვაის პესო ურუგვაიო - - - უზბეკური სუმი - - - ვენესუელის ბოლივარი - - - ვიეტნამური დონგი - - - ვანატუს ვატუ - - - დასავლეთ სამოას ტალა - - - ვერცხლი - - - ევროპული კომპპოზიტური ერთეული - - - ევროპული ფულადი ერთეული - - - აღმოსავლეთ კარიბიული დოლარი - - - ევროპული სავალუტო ერთეული - - - ფრანგული ოქროს ფრანკი - - - უცნობი ან არასწორი ვალუტა - - - იემენის დინარი - - - იემენის რეალი - - - იუგოსლავიური მყარი დინარი - - - იუგოსლავიური ახალი დინარი - - - იუგოსლავიური კონვერტირებადი დინარი - - - ზამბიური კვანჩა - - - ზაირის ახალი ზაირი - - - ზაირის ზაირი - - - ზიმბაბვეს დოლარი - - - - - - {0} დღე - - - {0} საათი - - - {0} წუთი - - - {0} თვე - - - {0} წამი - - - {0} კვირა - - - {0} წელი - - - - - დიახ - არა - - - diff --git a/lib/zend/Zend/Locale/Data/ka_GE.xml b/lib/zend/Zend/Locale/Data/ka_GE.xml deleted file mode 100644 index 043d0ce6ad..0000000000 --- a/lib/zend/Zend/Locale/Data/ka_GE.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/kaj.xml b/lib/zend/Zend/Locale/Data/kaj.xml deleted file mode 100644 index 6a7a0cb3bd..0000000000 --- a/lib/zend/Zend/Locale/Data/kaj.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - [a-z] - - - - - - - - A̱yr - A̱hw - A̱ta - A̱na - A̱pf - A̱ki - A̱ty - A̱ni - A̱ku - Swa - Sby - Sbh - - - Hywan A̱yrnig - Hywan A̱hwa - Hywan A̱tat - Hywan A̱naai - Hywan A̱pfwon - Hywan A̱kitat - Hywan A̱tyirin - Hywan A̱ninai - Hywan A̱kumviriyin - Hywan Swak - Hywan Swak B'a̱yrnig - Hywan Swak B'a̱hwa - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Lad - Lin - Tal - Lar - Lam - Jum - Asa - - - Ladi - Lintani - Talata - Larba - Lamit - Juma - Asabar - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - A.M. - P.M. - - - Gabanin Miladi - Miladi - - - G.M. - M. - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - A̱naira - - - - - diff --git a/lib/zend/Zend/Locale/Data/kaj_NG.xml b/lib/zend/Zend/Locale/Data/kaj_NG.xml deleted file mode 100644 index 6c046c3d32..0000000000 --- a/lib/zend/Zend/Locale/Data/kaj_NG.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/kam.xml b/lib/zend/Zend/Locale/Data/kam.xml deleted file mode 100644 index 86dfe422f3..0000000000 --- a/lib/zend/Zend/Locale/Data/kam.xml +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - - - - [a-e g-o r-w y z] - - - - - - - - Mwei wa mbee - Mwei wa keli - Mwei wa katatu - Mwei wa kanne - Mwei wa katano - Mwei wa thanthatu - Mwei wa muonza - Mwei wa nyanya - Mwei wa kenda - Mwei wa ikumi - Mwei wa ikumi na imwe - Mwei wa ikumi na ili - - - Mwei wa mbee - Mwei wa keli - Mwei wa katatu - Mwei wa kanne - Mwei wa katano - Mwei wa thanthatu - Mwei wa muonza - Mwei wa nyanya - Mwei wa kenda - Mwei wa ikumi - Mwei wa ikumi na imwe - Mwei wa ikumi na ili - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Jpl - Jtt - Jnn - Jtn - Alh - Ijm - Jms - - - Jumapili - Jumatatu - Jumanne - Jumatano - Alamisi - Ijumaa - Jumamosi - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - AM - PM - - - mbee wa yesu - IY - - - MY - IY - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - Silingi ya Kenya - - - - diff --git a/lib/zend/Zend/Locale/Data/kam_KE.xml b/lib/zend/Zend/Locale/Data/kam_KE.xml deleted file mode 100644 index a9a8c684db..0000000000 --- a/lib/zend/Zend/Locale/Data/kam_KE.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/kcg.xml b/lib/zend/Zend/Locale/Data/kcg.xml deleted file mode 100644 index 7e41203628..0000000000 --- a/lib/zend/Zend/Locale/Data/kcg.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - [a {a\u0331} b {ch} {chy} d-g {gb} {gh} {ghw} {ghy} i {i\u0331} j {jhy} k {kh} {kp} l-n {ng} {ny} o p r s {sh} {shy} t {ts} u-w y z] - - - - - - - - Juw - Swi - Tsa - Nya - Tsw - Ata - Ana - Ari - Aku - Swa - Man - Mas - - - Zwat Juwung - Zwat Swiyang - Zwat Tsat - Zwat Nyai - Zwat Tswon - Zwat Ataah - Zwat Anatat - Zwat Arinai - Zwat Akubunyung - Zwat Swag - Zwat Mangjuwang - Zwat Swag-Ma-Suyang - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Lad - Tan - Tal - Lar - Lam - Jum - Asa - - - Ladi - Tanii - Talata - Larba - Lamit - Juma - Asabat - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - AM - PM - - - Gabanin Miladi - Miladi - - - GM - M - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - Nera - - - - - diff --git a/lib/zend/Zend/Locale/Data/kcg_NG.xml b/lib/zend/Zend/Locale/Data/kcg_NG.xml deleted file mode 100644 index bd81d81b87..0000000000 --- a/lib/zend/Zend/Locale/Data/kcg_NG.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/kfo.xml b/lib/zend/Zend/Locale/Data/kfo.xml deleted file mode 100644 index 1a91c1b6ae..0000000000 --- a/lib/zend/Zend/Locale/Data/kfo.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - [a ā b-e ē f g {gb} h-k {kh} l-p {pk} r-u w y z] - - - - - - - - Wey - Fan - Tat - Nan - Tuy - Tso - Taf - War - Kun - Ban - Kom - Sau - - - Fai Weyene - Fai Fani - Fai Tataka - Fai Nangra - Fai Tuyo - Fai Tsoyi - Fai Tafaka - Fai Warachi - Fai Kunobok - Fai Bansok - Fai Kom - Fai Sauk - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Lah - Kub - Gba - Tan - Yei - Koy - Sat - - - Lahadi - Je-Kubacha - Je-Gbai - Tansati - Je-Yei - Je-Koye - Sati - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - AM - PM - - - Kafi Mar Wenom - Bayan Chi Wenom - - - KMW - BCW - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - Neira - - - - - diff --git a/lib/zend/Zend/Locale/Data/kfo_CI.xml b/lib/zend/Zend/Locale/Data/kfo_CI.xml deleted file mode 100644 index b4f78021c0..0000000000 --- a/lib/zend/Zend/Locale/Data/kfo_CI.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/kk.xml b/lib/zend/Zend/Locale/Data/kk.xml deleted file mode 100644 index d62438a5b0..0000000000 --- a/lib/zend/Zend/Locale/Data/kk.xml +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - - - - - бур - амхар - арабша - ассам - беларус - болгар - бихари - бенгал - брит - босния - каталан - чех - валлий - дат - неміс - грек - ағылшын - эсперанто - испан - эстон - баск - парсы - фин - пилипино - фарер - француз - фрис - ирландша - Солтүстік Шотландия - галицияша - гуарани - гуджарати - иврит - хинди - хорват - мадьяр - армян - интерлингва - индонезия - интерлингве - исланд - италиян - жапон - ява - грузин - Қазақ - камбоджия - каннада - кәріс - күрд - қырғыз - латын - лингала - лаос - литва - латыш - македон - малайялам - монғол - маратхи - малай - мальта - непал - голланд - норвег - окситан - ория - панджаб - поляк - пашто - португал - румын - орыс - санскрит - синдхи - сербхорват - сингал - словак - словен - сомали - албан - серб - сесото - судан - швед - суахили - тамил - телугу - тай - тигринья - түркмен - клингон - түрікше - тви - ұйғыр - украин - урду - өзбек - вьетнам - хоса - идиш - зулус - - - Қазақстан - Тонга - - - - [а ә б-е ё ж-й і к қ л-н ң о-у ұ ү ф-я] - [һ] - - - - - - - - қаң. - ақп. - нау. - сәу. - мам. - мау. - шіл. - там. - қыр. - қаз. - қар. - желт. - - - қаңтар - ақпан - наурыз - сәуір - мамыр - маусым - шілде - тамыз - қыркүйек - қазан - қараша - желтоқсан - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - жс. - дс. - сс. - ср. - бс. - жм. - сһ. - - - жексені - дуйсенбі - сейсенбі - сәренбі - бейсенбі - жұма - сенбі - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - AM - PM - - - BCE - CE - - - - - - EEEE, d MMMM y 'ж'. - - - - - d MMMM y 'ж'. - - - - - dd.MM.yyyy - - - - - dd.MM.yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - dd.MM - Q yy - MM.yyyy - MMMM y 'ж'. - - - {0} - {1} - - M-M - - - E, dd.MM - E, dd.MM - E, dd.MM - E, dd.MM - - - MMM-MMM - - - E, d MMM - E, d MMM - E, d - E, d MMM - - - d MMM - d MMM - d-d MMM - - - dd.MM - dd.MM - dd.MM - dd.MM - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - MM.yy - MM.yy - MM.yy - MM.yy - - - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - - - MMM-MMM y 'ж'. - MMM y 'ж'. - MMM y 'ж'. - - - E, d MMM - E, d MMM y 'ж'. - E, d - E, d MMM y 'ж'. - E, d MMM y 'ж'. - E, d MMM y 'ж'. - - - d MMM - d MMM y 'ж'. - d-d MMM y 'ж'. - d MMM y 'ж'. - d MMM y 'ж'. - - - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - , -   - - - - - #,##0.00 ¤ - - - - - - тңг. - - - - - - иә:и - жоқ:ж - - - diff --git a/lib/zend/Zend/Locale/Data/kk_Cyrl.xml b/lib/zend/Zend/Locale/Data/kk_Cyrl.xml deleted file mode 100644 index 2cf22d9df5..0000000000 --- a/lib/zend/Zend/Locale/Data/kk_Cyrl.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ವಿಶ್ವ - ಆಫ್ರಿಕಾ - ಉತ್ತರ ಅಮೇರಿಕಾ - ದಕ್ಷಿಣ ಅಮೇರಿಕಾ - ಓಶಿಯಾನಾ - ಪಶ್ಚಿಮ ಆಫ್ರಿಕಾ - ಮಧ್ಯ ಅಮೇರಿಕಾ - ಪೂರ್ವ ಆಫ್ರಿಕಾ - ಉತ್ತರ ಆಫ್ರಿಕಾ - ಮಧ್ಯ ಆಫ್ರಿಕಾ - ಆಫ್ರಿಕಾದ ದಕ್ಷಿಣ ಭಾಗ - ಅಮೆರಿಕಾಸ್ - ಅಮೇರಿಕಾದ ಉತ್ತರ ಭಾಗ - ಕೆರೇಬಿಯನ್ - ಏಷ್ಯಾದ ಪೂರ್ವ ಭಾಗ - ಏಷ್ಯಾದ ದಕ್ಷಿಣ ಭಾಗ - ಆಗ್ನೇಯ ಏಷ್ಯಾ - ದಕ್ಷಿಣ ಯೂರೋಪ್ - ಆಸ್ಟ್ರೇಲಿಯಾ ಹಾಗೂ ನ್ಯೂಝಿಲ್ಯಾಂಡ್ - ಮೇಲಿನೇಶಿಯಾ - ಮೈಕ್ರೋನೇಶಿಯನ್ ಪ್ರದೇಶ - ಪೋಲಿನೇಶಿಯಾ - ದಕ್ಷಿಣ-ಮಧ್ಯ ಏಷ್ಯಾ - ಏಷ್ಯಾ - ಮಧ್ಯ ಏಷ್ಯಾ - ಪಶ್ಚಿಮ ಏಷ್ಯಾ - ಯೂರೋಪ್ - ಪೂರ್ವ ಯೂರೋಪ್ - ಉತ್ತರ ಯೂರೋಪ್ - ಪಶ್ಚಿಮ ಯೂರೋಪ್ - ಸ್ವಂತಂತ್ರ್ಯ ರಾಷ್ಟ್ರಗಳ ಕಾಮನ್‌ವೆಲ್ತ್ - ಜೆಕೊಸ್ಲೋವಾಕಿಯಾ - ಲ್ಯಾಟಿನ್ ಅಮೇರಿಕಾ ಮತ್ತು ಕೆರಿಬಿಯನ್ - ಛಾನೆಲ್ ದ್ವೀಪಗಳು - ಅಂಡೋರಾ - ಸಂಯುಕ್ತ ಅರಬ್ ಎಮಿರೇಟಸ್ - ಅಫಘಾನಿಸ್ಥಾನ್ - ಆಂಟಿಗುವಾ ಮತ್ತು ಬರ್ಬುಡಾ - ಆಂಗುಯಿಲ್ಲಾ - ಅಲ್ಬೇನಿಯಾ - ಅರ್ಮೇನಿಯಾ - ನೆದರ್‌ಲ್ಯಾಂಡ್ - ಅಂಗೋಲಾ - ಅಂಟಾರ್ಟಿಕಾ - ಅರ್ಜೆಂಟೈನಾ - ಅಮೇರಿಕನ್ ಸಮೋವಾ - ಆಸ್ಟ್ರಿಯಾ - ಆಸ್ಟ್ರೇಲಿಯ - ಅರುಬಾ - ಆಲ್ಯಾಂಡ್ ದ್ವೀಪಗಳು - ಅಜರ್ಬೈಜಾನ್ - ಬೋಸ್ನಿಯಾ ಮತ್ತು ಹರ್ಜೆಗೋವಿನಾ - ಬಾರ್ಬಡೋಸ್ - ಬಾಂಗ್ಲಾದೇಶ್ - ಬೆಲ್ಜಿಯಮ್ - ಬುರ್ಕಿನಾ ಫಾಸೋ - ಬಲ್ಗೇರಿಯನ್ - ಬಹರೈನ್ - ಬುರುಂಡಿ - ಬೆನಿನ್ - ಸೇಂಟ್ ಬಾರ್ಥೆಲೆಮಿ - ಬರ್ಮುಡಾ - ಬ್ರೂನಿ - ಬಲ್ಗೇರಿಯಾ - ಬ್ರೆಜಿಲ್ - ಬಹಾಮಾಸ್ - ಭೂತಾನ್ - ಬೋವೆಟ್ ದ್ವೀಪ - ಬೋಟ್ಸ್‌ವಾನಾ - ಬೊಲಿವಿಯಾ - ಬೆಲಿಜ್ - ಕೆನಡಾ - ಕೊಕೊಸ್ ದ್ವೀಪಗಳು - ಕಾಂಗೋ - ಕಿನ್ಶಾಸಾ - ಮಧ್ಯ ಆಫ್ರಿಕಾ ಗಣರಾಜ್ಯ - ಕಾಂಗೋ - ಬ್ರಾಜಾವಿಲ್ಲೇ - ಸ್ವಿಡ್ಜರ್‌ಲ್ಯಾಂಡ್ - ಐವರಿ ಕೋಸ್ಟ್ - ಕುಕ್ ದ್ವೀಪಗಳು - ಚಿಲಿ - ಕ್ಯಾಮರೋನ್ - ಚೀನ - ಕೊಲಂಬಿಯಾ - ಕೊಸ್ಟಾ ರಿಕಾ - ಸೆರ್ಬಿಯಾ ಮತ್ತು ಮೊಂಟೊನೆಗ್ರೋ - ಕ್ಯೂಬಾ - ಕೇಪ್ ವರ್ಡೆ - ಕ್ರಿಸ್‌ಮಸ್ ದ್ವೀಪ - ಸೈಪ್ರಸ್ - ಚೆಕ್ ರಿಪಬ್ಲಿಕ್ - ಜರ್ಮನಿ - ಜಿಬೋಟಿ - ಡೆನ್ಮಾರ್ಕ್ - ಡೊಮಿನಿಕಾ - ಡೊಮೆನಿಕ್ ರಿಪಬ್ಲಿಕ್ - ಅಲ್ಗೇರಿಯಾ - ಈಕ್ವೆಡಾರ್ - ಎಸ್ತೊನಿಯ - ಈಜಿಪ್ಟ್ - ಪಶ್ಚಿಮ ಸಹಾರಾ - ಏರಿಟ್ರಿಯಾ - ಸ್ಪೈನ್ - ಇಥಿಯೋಪಿಯಾ - ಫಿನ್‍‍ಲ್ಯಾಂಡ್ - ಫಿಜಿ - ಫ್ಹಾಕ್‌ಲ್ಯಾಂಡ್ ದ್ವೀಪಗಳು - ಮೈಕ್ರೋನೇಶಿಯಾ - ಫರೋ ದ್ವೀಪಗಳು - ಫ್ರಾನ್ಸ್ - ಗೆಬೊನ್ - ಬ್ರಿಟನ್/ಇಂಗ್ಲೆಂಡ್ - ಗ್ರೆನೆಡಾ - ಜಾರ್ಜಿಯಾ - ಫ್ರೆಂಚ್ ಗಯಾನಾ - ಗುರ್ನಜೀ - ಘಾನಾ - ಗಿಬ್ರಾಲ್ಟರ್ - ಗ್ರೀನ್‌ಲ್ಯಾಂಡ್ - ಗ್ಯಾಂಬಿಯಾ - ಗಿನಿ - ಗುಡೆಲೋಪ್ - ಈಕ್ವೆಟೋರಿಯಲ್ ಗಿನಿ - ಗ್ರೀಸ್ - ದಕ್ಷಿಣ ಜಾರ್ಜಿಯಾ ಮತ್ತು ದಕ್ಷಿಣ ಸ್ಯಾಂಡ್‌ವಿಚ್ ದ್ವೀಪಗಳು - ಗ್ವಾಟೆಮಾಲಾ - ಗುಯಾಮ್ - ಗಿನಿ-ಬಿಸ್ಸಾವ್ - ಗಯಾನಾ - ಹಾಂಗ್ ಕಾಂಗ್ SAR ಚೀನಾ - ಹರ್ಡ್ ದ್ವೀಪ ಮತ್ತು ಮಾಕ್‌ಡೊನಾಲ್ಡ್ ದ್ವೀಪಗಳು - ಹೊಂಡುರಾಸ್ - ಕ್ರೋಯೇಶಿಯಾ - ಹೈಟಿ - ಹಂಗೇರಿ - ಇಂಡೋನೇಶಿಯಾ - ಐರ್ಲೆಂಡ್ - ಇಸ್ರೇಲ್ - ಐಲ್ ಆಫ್ ಮ್ಯಾನ್ - ಭಾರತ - ಬ್ರಿಟೀಶ್ ಇಂಡಿಯನ್ ಮಹಾಸಾಗರ ಪ್ರದೇಶ - ಇರಾಕ್ - ಇರಾನ್ - ಐಸ್‌ಲ್ಯಾಂಡ್ - ಇಟಲಿ - ಜೆರ್ಸಿ - ಜಮೈಕಾ - ಜೋರ್ಡಾನ್ - ಜಪಾನ್ - ಕೀನ್ಯಾ - ಕಿರ್ಗಿಸ್ಥಾನ್ - ಕಾಂಬೋಡಿಯಾ - ಕಿರಿಬಾತಿ - ಕೊಮೊರೊಸ್ - ಸೇಂಟ್ ಕಿಟ್ಸ್ ಮತ್ತು ನೆವಿಸ್ - ಉತ್ತರ ಕೋರಿಯಾ - ದಕ್ಷಿಣ ಕೋರಿಯಾ - ಕುವೈತ್ - ಕೇಮನ್ ದ್ವೀಪಗಳು - ಕಝಾಕಿಸ್ಥಾನ್ - ಲಾವೋಸ್ - ಲೆಬನಾನ್ - ಸೇಂಟ್ ಲೂಸಿಯಾ - ಲಿಚೆನ್‌ಸ್ಟೈನ್ - ಶ್ರೀಲಂಕಾ - ಲಿಬೇರಿಯಾ - ಲೆಥೋಸೊ - ಲಿಥುವೇನಿಯಾ - ಲಕ್ಸಂಬರ್ಗ್ - ಲಾಟ್ವಿಯಾ - ಲಿಬಿಯಾ - ಮೊರಾಕ್ಕೊ - ಮೊನಾಕೊ - ಮೊಲ್ಡೋವಾ - ಮೊಂಟೆನೆಗ್ರೋ - ಸೇಂಟ್ ಮಾರ್ಟಿನ್ - ಮಡಗಾಸ್ಕರ್ - ಮಾರ್ಶಲ್ ದ್ವೀಪಗಳು - ಮ್ಯಾಸಿಡೋನಿಯಾ - ಮಾಲಿ - ಮಯನ್ಮಾರ್ - ಮೊಂಗೋಲಿಯಾ - ಮಕಾವ್ SAR ಚೀನಾ - ಉತ್ತರ ಮರಿಯಾನಾ ದ್ವೀಪಗಳು - ಮಾರ್ಟಿನಿಕ್ - ಮಾರಿಟಾನಿಯಾ - ಮೋಂಟ್‌ಸೆರೆಟ್ - ಮಾಲ್ಟಾ - ಮಾರಿಶಿಯಸ್ - ಮಾಲ್ಡಿವ್ಸ್ - ಮಲಾವಿ - ಮೆಕ್ಸಿಕೊ - ಮಲೇಶಿಯಾ - ಮೊಜಾಂಬಿಕ್ - ನಮೀಬಿಯಾ - ನ್ಯೂ ಕ್ಯಾಲಿಡೋನಿಯಾ - ನೈಜರ್ - ನಾರ್‌ಫೋಕ್ ದ್ವೀಪ - ನೈಜೀರಿಯಾ - ನಿಕಾರಾಗುವಾ - ನೆದರ್‌ಲ್ಯಾಂಡ್ಸ್ - ನಾರ್ವೇ - ನೇಪಾಳ - ನೌರು - ನಿಯು - ನ್ಯೂಜಿಲೆಂಡ್ - ಓಮನ್ - ಪನಾಮಾ - ಪೆರು - ಫ್ರೆಂಚ್ ಪೋಲಿನೇಶಿಯಾ - ಪಪುವಾ ನ್ಯೂಗೀನಿಯಾ - ಫಿಲಿಫೈನ್ಸ್ - ಪಾಕಿಸ್ತಾನ - ಪೋಲ್ಯಾಂಡ್ - ಸೇಂಟ್ ಪಿಯರೆ ಮತ್ತು ಮಿಕೆಲನ್ - ಪಿಟ್‌ಕೈರ್ನ್ - ಪ್ಯೂರ್ಟೋ ರಿಕೊ - ಪ್ಯಾಲಿಸ್ಟೇನಿಯನ್ ಪ್ರದೇಶ - ಪೋರ್ಚುಗಲ್ - ಪಲಾವು - ಪರಾಗ್ವೇ - ಕತಾರ್ - ಔಟ್‌ಲೈಯಿಂಗ್ ಓಶಿಯಾನಿಯಾ - ಯುರೋಪಿಯನ್ ಯೂನಿಯನ್ - ರೀಯೂನಿಯನ್ - ರೊಮ್ಯಾನಿಯಾ - ಸೆರ್ಬಿಯಾ - ರಶಿಯಾ - ರುವಾಂಡಾ - ಸೌದಿ ಅರೇಬಿಯಾ - ಸೊಲೊಮನ್ ದ್ವೀಪಗಳು - ಸೀಶೆಲ್ಲೆಸ್ - ಸೂಡಾನ್ - ಸ್ವೀಡನ್ - ಸಿಂಗಪುರ - ಸೇಂಟ್ ಹೆಲೆನಾ - ಸ್ಲೋವೇನಿಯಾ - ಸ್ವಾಲ್ಬಾರ್ಡ್ ಮತ್ತು ಜಾನ್ ಮಾಯೆನ್ - ಸ್ಲೋವಾಕಿಯಾ - ಸಿಯೆರ್ರಾ ಲಿಯೋನ್ - ಸ್ಯಾನ್ ಮೆರಿನೋ - ಸೆನೆಗಲ್ - ಸೊಮಾಲಿಯಾ - ಸುರಿನಾಮ - ಸಾವೋ ಟೋಮ್ ಮತ್ತು ಪ್ರಿನ್ಸಿಪೆ - ಎಲ್ ಸಾಲ್ವೇಡಾರ್ - ಸಿರಿಯಾ - ಸ್ವಾಜಿಲ್ಯಾಂಡ್ - ಟರ್ಕ್ಸ್ ಮತ್ತು ಕೈಕೋಸ್ ದ್ವೀಪಗಳು - ಚಾಡ್ - ಫ್ರೆಂಚ್ ದಕ್ಷಿಣ ಪ್ರದೇಶಗಳು - ಟೋಗೋ - ಥೈಲ್ಯಾಂಡ್ - ತಜಾಕಿಸ್ಥಾನ್ - ಟೊಕೆಲಾವ್ - ಪೂರ್ವ ತಿಮೋರ್ - ತುರ್ಕಮೆನಿಸ್ಥಾನ್ - ಟುನಿಶಿಯಾ - ಟೊಂಗ - ಟರ್ಕಿ - ಟ್ರಿನಿಡಾಡ್ ಮತ್ತು ಟೊಬ್ಯಾಗೊ - ಟುವಾಲು - ಥೈವಾನ್ - ಟಾಂಜಾನಿಯಾ - ಉಕ್ರೈನ್ - ಉಗಾಂಡಾ - ಸಂಯುಕ್ತ ಸಂಸ್ಥಾನ ಮೈನರ್ ಔಟ್‌ಲೈಯಿಂಗ್ ದ್ವೀಪಗಳು - ಅಮೇರಿಕಾ ಸಂಯುಕ್ತ ಸಂಸ್ಥಾನ - ಉರುಗ್ವೇ - ಉಜ್ಬೇಕಿಸ್ಥಾನ್ - ವ್ಯಾಟಿಕನ್ - ಸೇಂಟ್ ವಿನ್ಸೆಂಟ್ ಮತ್ತು ಗ್ರೆನೆಡೈನ್ಸ್ - ವೆನೆಜುವೆಲಾ - ಬ್ರಿಟಿಷ್ ವರ್ಜಿನ್ ದ್ವೀಪಗಳು - ಯು.ಎಸ್. ವರ್ಜಿನ್ ದ್ವೀಪಗಳು - ವಿಯೇಟ್ನಾಮ್ - ವನೌಟು - ವಾಲಿಸ್ ಮತ್ತು ಫುಟುನಾ - ಸಮೋವಾ - ಯೆಮನ್ - ಮಯೊಟ್ಟೆ - ದಕ್ಷಿಣ ಆಫ್ರಿಕಾ - ಝಾಂಬಿಯಾ - ಜಿಂಬಾಬ್ವೆ - ಅಪರಿಚಿತ ಅಥವಾ ಅಮಾನ್ಯ ಪ್ರದೇಶ - - - - [಼ ಂ ಃ ೦-೯ ಅ-ಋ ೠ ಌ ೡ ಎ-ಐ ಒ-ನ ಪ-ಲ ವ-ಹ ಳ ೞ ಽ-ೄ ೆ-ೈ ೊ-್ ೕ ೖ] - - - ' - ' - " - " - - - - - - - - ಜನವರೀ - ಫೆಬ್ರವರೀ - ಮಾರ್ಚ್ - ಎಪ್ರಿಲ್ - ಮೆ - ಜೂನ್ - ಜುಲೈ - ಆಗಸ್ಟ್ - ಸಪ್ಟೆಂಬರ್ - ಅಕ್ಟೋಬರ್ - ನವೆಂಬರ್ - ಡಿಸೆಂಬರ್ - - - ಜನವರೀ - ಫೆಬ್ರವರೀ - ಮಾರ್ಚ್ - ಎಪ್ರಿಲ್ - ಮೆ - ಜೂನ್ - ಜುಲೈ - ಆಗಸ್ಟ್ - ಸಪ್ಟೆಂಬರ್ - ಅಕ್ಟೋಬರ್ - ನವೆಂಬರ್ - ಡಿಸೆಂಬರ್ - - - - - ಜ - ಫೆ - ಮಾ - ಎ - ಮೇ - ಜೂ - ಜು - ಆ - ಸೆ - ಅ - ನ - ಡಿ - - - - - - - ರ. - ಸೋ. - ಮಂ. - ಬು. - ಗು. - ಶು. - ಶನಿ. - - - ರವಿವಾರ - ಸೋಮವಾರ - ಮಂಗಳವಾರ - ಬುಧವಾರ - ಗುರುವಾರ - ಶುಕ್ರವಾರ - ಶನಿವಾರ - - - - - ರ - ಸೋ - ಮಂ - ಬು - ಗು - ಶು - ಶ - - - - - - - Q1 - Q2 - Q3 - Q4 - - - ಒಂದು 1 - ಎರಡು 2 - ಮೂರು 3 - ನಾಲೃಕ 4 - - - - am - pm - - - ಈಸಪೂವ೯. - ಕ್ರಿಸ್ತ ಶಕ - - - BCE - CE - - - - - - EEEE d MMMM y - - - - - d MMMM y - - - - - d MMM y - - - - - d-M-yy - - - - - - - hh:mm:ss a zzzz - - - - - hh:mm:ss a z - - - - - hh:mm:ss a - - - - - hh:mm a - - - - - - d MMMM - dd-MM - Q yy - MM-yyyy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - knda - - ೦ - - - - - #,##,##0.### - - - - - - - #,##,##0% - - - - - - - ¤ #,##,##0.00 - - - - - - रु - - - - - - ಹೌದು - ಇಲ್ಲ:ಅಲ್ಲ - - - diff --git a/lib/zend/Zend/Locale/Data/kn_IN.xml b/lib/zend/Zend/Locale/Data/kn_IN.xml deleted file mode 100644 index b0dbd7676a..0000000000 --- a/lib/zend/Zend/Locale/Data/kn_IN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ko.xml b/lib/zend/Zend/Locale/Data/ko.xml deleted file mode 100644 index f16b45a108..0000000000 --- a/lib/zend/Zend/Locale/Data/ko.xml +++ /dev/null @@ -1,3853 +0,0 @@ - - - - - - - - - - - {0}({1}) - , - - - 아파르어 - 압카즈어 - 아체어 - 아콜리어 - 아당메어 - 아닥헤어 - 아베스타어 - 남아공 공용어 - 아시아-아프리카어 (기타) - 아프리히리어 - 아이누어 - 아칸어 - 아카드어 - 알류트어 - 알공킨어족 - 남부 알타이어 - 암하라어 - 아라곤어 - 고대 영어 - 앙가어 - 아파치어 - 아랍어 - 아람어 - 아라우칸어 - 아라파호어 - 기계어 (기타) - 아라와크어 - 아샘어 - 아스투리아어 - 아타파스카어군 - 오스트레일리아어족 - 아바릭어 - 아와히어 - 아이마라어 - 아제르바이잔어 - 바슈키르어 - 반다어 - 바밀레케어족 - 발루치어 - 발리어 - 바사어 - 발트어 (기타) - 벨로루시어 - 베자어 - 벰바어 - 베르베르어 - 불가리아어 - 비하르어 - 호즈푸리어 - 비슬라마어 - 비콜어 - 비니어 - 식시카어 - 밤바라어 - 벵골어 - 반투어 - 티베트어 - 브르타뉴어 - 브라지어 - 보스니아어 - 바타크어 - 부리아타 - 부기어 - 브린어 - 카탈로니아어 - 카도어 - 중앙 아메리카 인디안어 (기타) - 카리브어 - 카프카스어 (기타) - 아삼어 - 체첸어 - 세부아노어 - 켈트어 (기타) - 차모로어 - 치브차어 - 차가타이어 - 추크어 - 마리어 - 치누크어와 영어 프랑스어의 혼성어 - 촉토어 - 치페우얀 - 체로키어 - 샤이엔어 - 참어군 - 코르시카어 - 콥트어 - 크리올어 및 피진어 (영어를 기반으로 한 기타) - 크리올어 및 피진어 (프랑스어를 기반으로 한 기타) - 크리올어 및 피진어 (포르투갈어를 기반으로 한 기타) - 크리어 - 크리민 터키어; 크리민 타타르어 - 크리올어 및 피진어 (기타) - 체코어 - 카슈비아어 - 교회 슬라브어 - 쿠시어족 - 추바시어 - 웨일스어 - 덴마크어 - 다코타어 - 다르그와어 - 다야크어 - 독일어 - 독일어 (오스트리아) - 고지 독일어 (스위스) - 델라웨어어 - 슬라브어 - 도그리브어 - 딩카어 - 도그리어 - 드라비다어 (기타) - 저지 소르비아어 - 드와라어 - 중세 네덜란드어 - 디베히어 - 드율라어 - 종카어 - 에웨어 - 이픽어 - 이집트어 (고대) - 이카죽어 - 그리스어 - 엘람어 - 영어 - 영어 (호주) - 영어 (캐나다) - 영어 (영국식) - 영어 (미국식) - 영어, 중세 (1100-1500) - 에스페란토어 - 스페인어 - 중남미 스페인어 - 스페인어 (이베리아) - 에스토니아어 - 바스크어 - 이원도어 - 페르시아어 - 팡그어 - 판티어 - 풀라어 - 핀란드어 - 필리핀어 - 피노우그리아어 (기타) - 피지어 - 페로어 - 폰어 - 프랑스어 - 프랑스어 (캐나다) - 프랑스어 (스위스) - 중세 프랑스어 - 고대 프랑스어 - 북부 프리슬란드어 - 동부 프리슬란드어 - 프리우리안어 - 프리지아어 - 아일랜드어 - 가어 - 가요어 - 그바야어 - 스코틀랜드 게일어 - 독일어 (기타) - 게이즈어 - 키리바시어 - 갈리시아어 - 중세 고지 독일어 - 과라니어 - 고대 고지 독일어 - 곤디어 - 고론탈로어 - 고트어 - 게르보어 - 그리스어, 고대 (1453년 까지) - 독일어 (스위스) - 구자라트어 - 맹크스어 - 그위친어 - 하우사어 - 하이다어 - 하와이어 - 히브리어 - 힌디어 - 헤리가뇬어 - 히마차리어 - 하타이트어 - 히몸어 - 히리 모투어 - 크로아티아어 - 고지 소르비아어 - 아이티어 - 헝가리어 - 후파어 - 아르메니아어 - 헤레로어 - 인테르링구아 (국제보조어협회) - 이반어 - 인도네시아어 - 인테르링구에 - 이그보어 - 쓰촨 이어 - 이조어 - 이누피아크어 - 이로코어 - 인도어 (기타) - 인도유럽어 (기타) - 인귀시어 - 이도어 - 이란어 [ira] - 이러쿼이어 - 아이슬란드어 - 이탈리아어 - 이눅티투트어 - 일본어 - 로반어 - 유대-페르시아어 - 유대-아라비아어 - 자바어 - 그루지야어 - 카라칼파크어 - 커바일어 - 카친어 - 캄바어 - 카렌어 - 카위어 - 카바르디어 - 코로어 - 콩고어 - 카시어 - 코이산어 (기타) - 호탄어 - 키쿠유어 - 쿠안야마어 - 카자흐어 - 그린란드어 - 캄보디아어 - 킴분두어 - 카나다어 - 한국어 - 코카니어 - 코스라이엔어 - 크펠레어 - 칸누리어 - 카라챠이-발카르어 - 카렐리야어 - 크루어 - 쿠르크어 - 카슈미르어 - 쿠르드어 - 쿠믹어 - 쿠테네어 - 코미어 - 콘월어 - 키르기스어 - 라틴어 - 라디노어 - 라한다어 - 람바어 - 룩셈부르크어 - 레즈기안어 - 간다어 - 림버거어 - 링갈라어 - 라오어 - 몽구어 - 로지어 - 리투아니아어 - 루바-카탄가어 - 루바-룰루아어 - 루이세노어 - 룬다어 - 루오어 - 루샤이어 - 라트비아어 - 마두라어 - 마가히 - 마이틸리 - 마카사어 - 만딩고어 - 남도어 - 마사이어 - 모크샤어 - 만다르어 - 멘데어 - 마다가스카르어 - 아일랜드어, 중세 (900-1200) - 마셜제도어 - 마오리어 - 미크맥어 - 미낭카바우 - 기타 언어 - 마케도니아어 - 몬크메르어 (기타) - 말라얄람어 - 몽고어 - 만주어 - 마니푸리어 - 마노보어 - 몰도바어 - 모호크어 - 모시어 - 마라티어 - 말레이어 - 몰타어 - 다중 언어 - 문다어 - 크리크어 - 미란데어 - 마르와리어 - 버마어 - 마야어 - 엘즈야어 - 나우루어 - 나우아틀어 - 북아메리카 인디언어 (기타) - 나폴리어 - 보크말 노르웨이어 - 은데벨레어(북부) - 저지 독일어 - 네팔어 - 네와르어 - 느동가어 - 니아스어 - 니제르 - 코르도파니아어 (기타) - 니웨언어 - 네덜란드어 - 플라망어 - 노르웨이어(니노르스크) - 노르웨이어 - 노가이어 - 노르웨이, 고대 - 응코어 - 은데벨레어(남부) - 소토어 (북부) - 누비안어 - 나바호어 - 네와르어 (고전) - 니안자어; 치츄어; 츄어 - 니암웨지어 - 니안콜어 - 뉴로어 - 느지마어 - 오크어 - 오지브웨이어 - 오로모어 (아판) - 오리야어 - 오세트어 - 오세이지어 - 터키어, 오스만 (1500-1928) - 오토미안어 - 펀잡어 - 파푸아어 (기타) - 판가시난어 - 팔레비어 - 팜팡가어 - 파피아먼토어 - 파라우안어 - 고대 페르시아어 - 필리핀어 (기타) - 페니키아어 - 팔리어 - 폴란드어 - 폼페이어 - 프라크리트어 - 고대 프로방스어 - 파시토어 (푸시토) - 포르투갈어 - 포르투갈어 (브라질) - 포르투갈어 (이베리아) - 케추아어 - 라자스탄어 - 라파뉴이 - 라로통가어 - 레토로만어 - 룬디어 - 루마니아어 - 로망스어 (기타) - 집시어 - 어근 - 러시아어 - 아로마니아어 - 르완다어 - 산스크리트어 - 산다웨어 - 야큐트어 - 남아메리카 인디언어 (기타) - 샐리시어어 - 사마리아 아랍어 - 사사크어 - 산탈리어 - 사르디니아어 - 시칠리아어 - 스코틀랜드어 - 신디어 - 북부 사미어 - 셀쿠프어 - 셈어 (기타) - 산고어 - 아일랜드, 고대 (900년 까지) - 수화 - 세르비아-크로아티아어 - 샨어 - 스리랑카어 - 시다모어 - 수족어 - 중국 티베트 어족 - 슬로바키아어 - 슬로베니아어 - 슬라브어 (기타) - 사모아어 - 남부 사미어 - 사미어 (기타) - 룰레 사미어 - 이나리 사미어 - 스콜트 사미어 - 쇼나어 - 소닌케어 - 소말리아어 - 소그디엔어 - 송가이족어 - 알바니아어 - 세르비아어 - 스라난 통가어 - 세레르어 - 시스와티어 - 니로-사하람어 (기타) - 소토어 (남부) - 순다어 - 수쿠마족어 - 수수어 - 수메르어 - 스웨덴어 - 스와힐리어 - 시리아어 (고전) - 시리아어 - 타밀어 - 태국어 (기타) - 텔루구어 - 팀니어 - 테레노어 - 테툼어 - 타지키스탄어 - 태국어 - 티그리냐어 - 티그레어 - 티비어 - 투르크멘어 - 토켈라우제도어 - 타갈로그어 - 클링온어 - 틀링깃족어 - 타마섹어 - 세츠와나어 - 통가어 - 통가어 (니아살랜드) - 토크 피신어 - 터키어 - 총가어 - 트심시안어 - 타타르어 - 툼부카어 - 투피어 - 알타이제어 (기타) - 투발루어 - 트위어 - 타히티어 - 투비니안어 - 우드말트어 - 위구르어 - 유가리틱어 - 우크라이나어 - 윤번두어 - 결정되지않음 - 우르두어 - 우즈베크어 - 바이어 - 벤다어 - 베트남어 - 볼라퓌크어 - 보틱어 - 왈론어 - 와카샨어 - 와라모어 - 와라이어 - 와쇼어 - 소르브어 - 올로프어 - 칼미크어 - 코사어 - 야오족어 - 얍페세어 - 이디시어 - 요루바어 - 야픽어 - 주앙어 - 사포테크어 - 블리스 심볼 - 제나가어 - 중국어 - 중국어(간체) - 중국어 (번체) - 아잔데족어 - 줄루어 - 주니어 - 자자어 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 세계 - 아프리카 - 북아메리카 - 남아메리카[남미] - 오세아니아, 대양주 - 서아프리카 - 중앙 아메리카 - 동부 아프리카 - 북부 아프리카 - 중부 아프리카 - 남부 아프리카 - 아메리카 대륙 - 북부 아메리카 - 카리브 해 제도 - 동아시아 - 남아시아 - 동남 아시아 - 남유럽 - 오스트레일리아와 뉴질랜드 - 멜라네시아 - 미크로네시아 지역 - 폴리네시아 - 중남 아시아 - 아시아 - 중앙 아시아 - 서아시아 - 유럽 - 동유럽 - 북유럽 - 서유럽 - 독립 국가 연합 - 라틴 아메리카 및 카리브 해 제도 - 안도라 - 아랍에미리트 연합 - 아프가니스탄 - 앤티가 바부다 - 안길라 - 알바니아 - 아르메니아 - 네덜란드령 안틸레스 - 앙골라 - 남극 대륙 - 아르헨티나 - 아메리칸 사모아 - 오스트리아 - 오스트레일리아 - 아루바 - 올란드 제도 - 아제르바이잔 - 보스니아 헤르체고비나 - 바베이도스 - 방글라데시 - 벨기에 - 부르키나파소 - 불가리아 - 바레인 - 부룬디 - 베냉 - 생 바르텔르미 - 버뮤다 - 브루나이 - 볼리비아 - 브라질 - 바하마 - 부탄 - 부베 - 보츠와나 - 벨라루스 - 벨리즈 - 캐나다 - 코코스제도 - 콩고 민주공화국 - 중앙 아프리카 공화국 - 콩고 - 스위스 - 코트디부아르 - 쿡제도 - 칠레 - 카메룬 - 중국 - 콜롬비아 - 코스타리카 - 세르비아 및 몬테네그로 - 쿠바 - 까뽀베르데 - 크리스마스섬 - 사이프러스 - 체코 - 독일 - 지부티 - 덴마크 - 도미니카 - 도미니카 공화국 - 알제리 - 에콰도르 - 에스토니아 - 이집트 - 서사하라 - 에리트리아 - 스페인 - 이디오피아 - 핀란드 - 피지 - 포클랜드 군도 - 미크로네시아 - 페로제도 - 프랑스 - 가봉 - 영국 - 그레나다 - 그루지야 - 프랑스령 기아나 - 건지 - 가나 - 지브롤터 - 그린란드 - 감비아 - 기니 - 과달로프 - 적도 기니 - 그리스 - 사우스조지아-사우스샌드위치제도 - 과테말라 - 괌 - 기네비쏘 - 가이아나 - 홍콩, 중국 특별행정구 - 허드섬-맥도널드제도 - 온두라스 - 크로아티아 - 아이티 - 헝가리 - 인도네시아 - 아일랜드 - 이스라엘 - 맨 섬 - 인도 - 영국령인도양식민지 - 이라크 - 이란 - 아이슬란드 - 이탈리아 - 저지 - 자메이카 - 요르단 - 일본 - 케냐 - 키르기스스탄 - 캄보디아 - 키리바시 - 코모로스 - 세인트크리스토퍼 네비스 - 조선 민주주의 인민 공화국 - 대한민국 - 쿠웨이트 - 케이맨제도 - 카자흐스탄 - 라오스 - 레바논 - 세인트루시아 - 리히텐슈타인 - 스리랑카 - 라이베리아 - 레소토 - 리투아니아 - 룩셈부르크 - 라트비아 - 리비아 - 모로코 - 모나코 - 몰도바 - 몬테네그로 - 생 마르탱 - 마다가스카르 - 마샬 군도 - 마케도니아 - 말리 - 미얀마 - 몽골 - 마카오, 중국 특별행정구 - 북마리아나제도 - 말티니크 - 모리타니 - 몬트세라트 - 몰타 - 모리셔스 - 몰디브 - 말라위 - 멕시코 - 말레이시아 - 모잠비크 - 나미비아 - 뉴 칼레도니아 - 니제르 - 노퍽섬 - 나이지리아 - 니카라과 - 네덜란드 - 노르웨이 - 네팔 - 나우루 - 니우에 - 뉴질랜드 - 오만 - 파나마 - 페루 - 프랑스령 폴리네시아 - 파푸아뉴기니 - 필리핀 - 파키스탄 - 폴란드 - 세인트피에르-미케롱 - 핏케언섬 - 푸에르토리코 - 팔레스타인 지구 - 포르투갈 - 팔라우 - 파라과이 - 카타르 - 오세아니아 외곽 - 유럽 연합 - 리유니온 - 루마니아 - 세르비아 - 러시아 - 르완다 - 사우디아라비아 - 솔로몬 제도 - 쉐이쉘 - 수단 - 스웨덴 - 싱가포르 - 세인트헬레나 - 슬로베니아 - 스발바르제도-얀마웬섬 - 슬로바키아 - 시에라리온 - 산마리노 - 세네갈 - 소말리아 - 수리남 - 상투메 프린시페 - 엘살바도르 - 시리아 - 스와질랜드 - 터크스케이커스제도 - 차드 - 프랑스 남부 지방 - 토고 - 태국 - 타지키스탄 - 토켈라우 - 동티모르 - 투르크메니스탄 - 튀니지 - 통가 - 터키 - 트리니다드 토바고 - 투발루 - 대만 - 탄자니아 - 우크라이나 - 우간다 - 미국령 해외 제도 - 미국 - 우루과이 - 우즈베키스탄 - 바티칸 - 세인트빈센트그레나딘 - 베네수엘라 - 영국령 버진 아일랜드 - 미국령 버진 아일랜드 - 베트남 - 바누아투 - 왈리스-푸투나 제도 - 사모아 - 예멘 - 마요티 - 남아프리카 - 잠비아 - 짐바브웨 - 알수없거나 유효하지 않은 지역 - - - 표준 레지아어 철자법 - 독일어 철자법 (1996년) - 후기 중세 프랑스어 - 동아르메니아어 - 통합 투르크어 라틴 알파벳 - 산조르지오/빌라 방언 - 분틀링어 - 나티소네 방언 - 니바 방언 - 개정 - 레지아어 - 스코틀랜드 표준 영어 - 발렌시아어 - - - 달력 - 정렬 - 통화 - - - 중국어 번체 정렬 순서 - Big5 - 불교력 - 중국력 - 순서 - 중국어 간체 정렬 순서 - GB2312 - 태양력 - 히브리력 - 인도력 - 이슬람력 - 이슬람 상용력 - 일본력 - 전화번호부순 - 병음순 - 대만력 - 자획순 - 전통 역법 - - - US - 미터법 - - - 언어: {0} - 스크립트: {0} - 지역: {0} - - - - [가 각 간 갇-갊 감-갗 같-객 갠 갤 갬 갭 갯-갱 갸 갹 갼 걀 걋 걍 걔 걘 걜 거 걱 건 걷 걸 걺 검 겁 것-겆 겉-게 겐 겔 겜 겝 겟-겡 겨-겪 견 겯 결 겸 겹 겻-경 곁 계 곈 곌 곕 곗 고 곡 곤 곧 골 곪 곬 곯-곱 곳 공 곶 과 곽 관 괄 괆 괌 괍 괏 광 괘 괜 괠 괩 괬 괭 괴 괵 괸 괼 굄 굅 굇 굉 교 굔 굘 굡 굣 구 국 군 굳-굶 굻-굽 굿 궁 궂 궈 궉 권 궐 궜 궝 궤 궷 귀 귁 귄 귈 귐 귑 귓 규 균 귤 그 극 근 귿-긁 금 급 긋 긍 긔 기 긱 긴 긷 길 긺 김 깁 깃 깅 깆 깊 까-깎 깐 깔 깖 깜 깝 깟-깡 깥 깨 깩 깬 깰 깸 깹 깻-깽 꺄 꺅 꺌 꺼-꺾 껀 껄 껌 껍 껏-껑 께 껙 껜 껨 껫 껭 껴 껸 껼 꼇 꼈 꼍 꼐 꼬 꼭 꼰 꼲 꼴 꼼 꼽 꼿 꽁-꽃 꽈 꽉 꽐 꽜 꽝 꽤 꽥 꽹 꾀 꾄 꾈 꾐 꾑 꾕 꾜 꾸 꾹 꾼 꿀 꿇-꿉 꿋 꿍 꿎 꿔 꿜 꿨 꿩 꿰 꿱 꿴 꿸 뀀 뀁 뀄 뀌 뀐 뀔 뀜 뀝 뀨 끄 끅 끈 끊 끌 끎 끓-끕 끗 끙 끝 끼 끽 낀 낄 낌 낍 낏 낑 나-낚 난 낟-낢 남 납 낫-낯 낱 낳-낵 낸 낼 냄 냅 냇-냉 냐 냑 냔 냘 냠 냥 너 넉 넋 넌 널 넒 넓 넘 넙 넛-넝 넣-넥 넨 넬 넴 넵 넷-넹 녀 녁 년 녈 념 녑 녔 녕 녘 녜 녠 노 녹 논 놀 놂 놈 놉 놋 농 높-놔 놘 놜 놨 뇌 뇐 뇔 뇜 뇝 뇟 뇨 뇩 뇬 뇰 뇹 뇻 뇽 누 눅 눈 눋 눌 눔 눕 눗 눙 눠 눴 눼 뉘 뉜 뉠 뉨 뉩 뉴 뉵 뉼 늄 늅 늉 느 늑 는 늘-늚 늠 늡 늣 능 늦 늪 늬 늰 늴 니 닉 닌 닐 닒 님 닙 닛 닝 닢 다-닦 단 닫-닯 닳-답 닷-닻 닿-댁 댄 댈 댐 댑 댓-댕 댜 더-덖 던 덛 덜 덞 덟 덤 덥 덧 덩 덫 덮 데 덱 덴 델 뎀 뎁 뎃-뎅 뎌 뎐 뎔 뎠 뎡 뎨 뎬 도 독 돈 돋 돌 돎 돐 돔 돕 돗 동 돛 돝 돠 돤 돨 돼 됐 되 된 될 됨 됩 됫 됴 두 둑 둔 둘 둠 둡 둣 둥 둬 뒀 뒈 뒝 뒤 뒨 뒬 뒵 뒷 뒹 듀 듄 듈 듐 듕 드 득 든 듣 들 듦 듬 듭 듯 등 듸 디 딕 딘 딛 딜 딤 딥 딧-딪 따 딱 딴 딸 땀 땁 땃-땅 땋-땍 땐 땔 땜 땝 땟-땡 떠 떡 떤 떨 떪 떫 떰 떱 떳-떵 떻-떽 뗀 뗄 뗌 뗍 뗏-뗑 뗘 뗬 또 똑 똔 똘 똥 똬 똴 뙈 뙤 뙨 뚜 뚝 뚠 뚤 뚫 뚬 뚱 뛔 뛰 뛴 뛸 뜀 뜁 뜅 뜨 뜩 뜬 뜯 뜰 뜸 뜹 뜻 띄 띈 띌 띔 띕 띠 띤 띨 띰 띱 띳 띵 라 락 란 랄 람 랍 랏-랒 랖-랙 랜 랠 램 랩 랫-랭 랴 략 랸 럇 량 러 럭 런 럴 럼 럽 럿-렁 렇-렉 렌 렐 렘 렙 렛 렝 려 력 련 렬 렴 렵 렷-령 례 롄 롑 롓 로 록 론 롤 롬 롭 롯 롱 롸 롼 뢍 뢨 뢰 뢴 뢸 룀 룁 룃 룅 료 룐 룔 룝 룟 룡 루 룩 룬 룰 룸 룹 룻 룽 뤄 뤘 뤠 뤼 뤽 륀 륄 륌 륏 륑 류 륙 륜 률 륨 륩 륫 륭 르 륵 른 를 름 릅 릇 릉 릊 릍 릎 리 릭 린 릴 림 립 릿 링 마 막 만 많-맒 맘 맙 맛 망 맞 맡 맣-맥 맨 맬 맴 맵 맷-맺 먀 먁 먈 먕 머 먹 먼 멀 멂 멈 멉 멋 멍 멎 멓-멕 멘 멜 멤 멥 멧-멩 며 멱 면 멸 몃-명 몇 몌 모 목 몫 몬 몰 몲 몸 몹 못 몽 뫄 뫈 뫘 뫙 뫼 묀 묄 묍 묏 묑 묘 묜 묠 묩 묫 무-묶 문 묻-묾 뭄 뭅 뭇 뭉 뭍 뭏 뭐 뭔 뭘 뭡 뭣 뭬 뮈 뮌 뮐 뮤 뮨 뮬 뮴 뮷 므 믄 믈 믐 믓 미 믹 민 믿 밀 밂 밈 밉 밋-밍 및 밑 바-반 받-밟 밤 밥 밧 방 밭 배 백 밴 밸 뱀 뱁 뱃-뱅 뱉 뱌 뱍 뱐 뱝 버 벅 번 벋 벌 벎 범 법 벗 벙 벚 베 벡 벤 벧 벨 벰 벱 벳-벵 벼 벽 변 별 볍 볏-병 볕 볘 볜 보-볶 본 볼 봄 봅 봇 봉 봐 봔 봤 봬 뵀 뵈 뵉 뵌 뵐 뵘 뵙 뵤 뵨 부 북 분 붇-붊 붐 붑 붓 붕 붙 붚 붜 붤 붰 붸 뷔 뷕 뷘 뷜 뷩 뷰 뷴 뷸 븀 븃 븅 브 븍 븐 블 븜 븝 븟 비 빅 빈 빌 빎 빔 빕 빗 빙-빛 빠 빡 빤 빨 빪 빰 빱 빳-빵 빻-빽 뺀 뺄 뺌 뺍 뺏-뺑 뺘 뺙 뺨 뻐 뻑 뻔 뻗 뻘 뻠 뻣-뻥 뻬 뼁 뼈 뼉 뼘 뼙 뼛-뼝 뽀 뽁 뽄 뽈 뽐 뽑 뽕 뾔 뾰 뿅 뿌 뿍 뿐 뿔 뿜 뿟 뿡 쀼 쁑 쁘 쁜 쁠 쁨 쁩 삐 삑 삔 삘 삠 삡 삣 삥 사 삭 삯 산 삳-삶 삼 삽 삿-상 샅 새 색 샌 샐 샘 샙 샛-생 샤 샥 샨 샬 샴 샵 샷 샹 섀 섄 섈 섐 섕 서-선 섣 설 섦 섧 섬 섭 섯-성 섶 세 섹 센 셀 셈 셉 셋-셍 셔 셕 션 셜 셤 셥 셧-셩 셰 셴 셸 솅 소-솎 손 솔 솖 솜 솝 솟 송 솥 솨 솩 솬 솰 솽 쇄 쇈 쇌 쇔 쇗 쇘 쇠 쇤 쇨 쇰 쇱 쇳 쇼 쇽 숀 숄 숌 숍 숏 숑 수 숙 순 숟 술 숨 숩 숫 숭 숯 숱 숲 숴 쉈 쉐 쉑 쉔 쉘 쉠 쉥 쉬 쉭 쉰 쉴 쉼 쉽 쉿 슁 슈 슉 슐 슘 슛 슝 스 슥 슨 슬 슭 슴 습 슷 승 시 식 신 싣 실 싫-십 싯 싱 싶 싸 싹 싻 싼 쌀 쌈 쌉 쌌 쌍 쌓-쌕 쌘 쌜 쌤 쌥 쌨 쌩 썅 써 썩 썬 썰 썲 썸 썹 썼 썽 쎄 쎈 쎌 쏀 쏘 쏙 쏜 쏟 쏠 쏢 쏨 쏩 쏭 쏴 쏵 쏸 쐈 쐐 쐤 쐬 쐰 쐴 쐼 쐽 쑈 쑤 쑥 쑨 쑬 쑴 쑵 쑹 쒀 쒔 쒜 쒸 쒼 쓩 쓰 쓱 쓴 쓸 쓺 쓿-씁 씌 씐 씔 씜 씨 씩 씬 씰 씸 씹 씻 씽 아 악 안-않 알-앎 앓-압 앗-앙 앝 앞 애 액 앤 앨 앰 앱 앳-앵 야 약 얀 얄 얇 얌 얍 얏 양 얕 얗 얘 얜 얠 얩 어 억 언 얹 얻-얾 엄-엊 엌 엎 에 엑 엔 엘 엠 엡 엣 엥 여-엮 연 열 엶 엷 염-영 옅-예 옌 옐 옘 옙 옛 옜 오 옥 온 올-옮 옰 옳-옵 옷 옹 옻 와 왁 완 왈 왐 왑 왓-왕 왜 왝 왠 왬 왯 왱 외 왹 왼 욀 욈 욉 욋 욍 요 욕 욘 욜 욤 욥 욧 용 우 욱 운 울-욺 움 웁 웃 웅 워 웍 원 월 웜 웝 웠 웡 웨 웩 웬 웰 웸 웹 웽 위 윅 윈 윌 윔 윕 윗 윙 유 육 윤 율 윰 윱 윳 융 윷 으 윽 은 을 읊 음 읍 읏 응-의 읜 읠 읨 읫 이 익 인 일-읾 잃-입 잇-잊 잎 자 작 잔 잖-잘 잚 잠 잡 잣-잦 재 잭 잰 잴 잼 잽 잿-쟁 쟈 쟉 쟌 쟎 쟐 쟘 쟝 쟤 쟨 쟬 저 적 전 절 젊 점 접 젓 정 젖 제 젝 젠 젤 젬 젭 젯 젱 져 젼 졀 졈 졉 졌 졍 졔 조 족 존 졸 졺 좀 좁 좃 종-좇 좋-좍 좔 좝 좟 좡 좨 좼 좽 죄 죈 죌 죔 죕 죗 죙 죠 죡 죤 죵 주 죽 준 줄-줆 줌 줍 줏 중 줘 줬 줴 쥐 쥑 쥔 쥘 쥠 쥡 쥣 쥬 쥰 쥴 쥼 즈 즉 즌 즐 즘 즙 즛 증 지 직 진 짇 질 짊 짐 집 짓 징 짖 짙 짚 짜 짝 짠 짢 짤 짧 짬 짭 짯-짱 째 짹 짼 쨀 쨈 쨉 쨋-쨍 쨔 쨘 쨩 쩌 쩍 쩐 쩔 쩜 쩝 쩟-쩡 쩨 쩽 쪄 쪘 쪼 쪽 쫀 쫄 쫌 쫍 쫏 쫑 쫓 쫘 쫙 쫠 쫬 쫴 쬈 쬐 쬔 쬘 쬠 쬡 쭁 쭈 쭉 쭌 쭐 쭘 쭙 쭝 쭤 쭸 쭹 쮜 쮸 쯔 쯤 쯧 쯩 찌 찍 찐 찔 찜 찝 찡 찢 찧-착 찬 찮 찰 참 찹 찻-찾 채 책 챈 챌 챔 챕 챗-챙 챠 챤 챦 챨 챰 챵 처 척 천 철 첨 첩 첫-청 체 첵 첸 첼 쳄 쳅 쳇 쳉 쳐 쳔 쳤 쳬 쳰 촁 초 촉 촌 촐 촘 촙 촛 총 촤 촨 촬 촹 최 쵠 쵤 쵬 쵭 쵯 쵱 쵸 춈 추 축 춘 출 춤 춥 춧 충 춰 췄 췌 췐 취 췬 췰 췸 췹 췻 췽 츄 츈 츌 츔 츙 츠 측 츤 츨 츰 츱 츳 층 치 칙 친 칟-칡 침 칩 칫 칭 카 칵 칸 칼 캄 캅 캇 캉 캐 캑 캔 캘 캠 캡 캣-캥 캬 캭 컁 커 컥 컨 컫 컬 컴 컵 컷-컹 케 켁 켄 켈 켐 켑 켓 켕 켜 켠 켤 켬 켭 켯-켱 켸 코 콕 콘 콜 콤 콥 콧 콩 콰 콱 콴 콸 쾀 쾅 쾌 쾡 쾨 쾰 쿄 쿠 쿡 쿤 쿨 쿰 쿱 쿳 쿵 쿼 퀀 퀄 퀑 퀘 퀭 퀴 퀵 퀸 퀼 큄 큅 큇 큉 큐 큔 큘 큠 크 큭 큰 클 큼 큽 킁 키 킥 킨 킬 킴 킵 킷 킹 타 탁 탄 탈 탉 탐 탑 탓-탕 태 택 탠 탤 탬 탭 탯-탱 탸 턍 터 턱 턴 털 턺 텀 텁 텃-텅 테 텍 텐 텔 템 텝 텟 텡 텨 텬 텼 톄 톈 토 톡 톤 톨 톰 톱 톳 통 톺 톼 퇀 퇘 퇴 퇸 툇 툉 툐 투 툭 툰 툴 툼 툽 툿 퉁 퉈 퉜 퉤 튀 튁 튄 튈 튐 튑 튕 튜 튠 튤 튬 튱 트 특 튼 튿 틀 틂 틈 틉 틋 틔 틘 틜 틤 틥 티 틱 틴 틸 팀 팁 팃 팅 파-팎 판 팔 팖 팜 팝 팟-팡 팥 패 팩 팬 팰 팸 팹 팻-팽 퍄 퍅 퍼 퍽 펀 펄 펌 펍 펏-펑 페 펙 펜 펠 펨 펩 펫 펭 펴 편 펼 폄 폅 폈 평 폐 폘 폡 폣 포 폭 폰 폴 폼 폽 폿 퐁 퐈 퐝 푀 푄 표 푠 푤 푭 푯 푸 푹 푼 푿 풀 풂 품 풉 풋 풍 풔 풩 퓌 퓐 퓔 퓜 퓟 퓨 퓬 퓰 퓸 퓻 퓽 프 픈 플 픔 픕 픗 피 픽 핀 필 핌 핍 핏 핑 하 학 한 할 핥 함 합 핫 항 해 핵 핸 핼 햄 햅 햇-행 햐 향 허 헉 헌 헐 헒 험 헙 헛 헝 헤 헥 헨 헬 헴 헵 헷 헹 혀 혁 현 혈 혐 협 혓-형 혜 혠 혤 혭 호 혹 혼 홀 홅 홈 홉 홋 홍 홑 화 확 환 활 홧 황 홰 홱 홴 횃 횅 회 획 횐 횔 횝 횟 횡 효 횬 횰 횹 횻 후 훅 훈 훌 훑 훔 훗 훙 훠 훤 훨 훰 훵 훼 훽 휀 휄 휑 휘 휙 휜 휠 휨 휩 휫 휭 휴 휵 휸 휼 흄 흇 흉 흐 흑 흔 흖-흙 흠 흡 흣 흥 흩 희 흰 흴 흼 흽 힁 히 힉 힌 힐 힘 힙 힛 힝] - [丘 串 乃 久 乖 九 乞 乫 乾 亂 亘 交 京 仇 今 介 件 价 企 伋 伎 伽 佳 佶 侃 來 侊 供 係 俓 俱 個 倞 倦 倨 假 偈 健 傀 傑 傾 僅 僑 價 儆 儉 儺 光 克 兢 內 公 共 其 具 兼 冀 冠 凱 刊 刮 券 刻 剋 剛 劇 劍 劒 功 加 劤 劫 勁 勍 勘 勤 勸 勻 勾 匡 匣 區 南 卦 却 卵 卷 卿 厥 去 及 口 句 叩 叫 可 各 吉 君 告 呱 呵 咎 咬 哥 哭 啓 喀 喇 喝 喫 喬 嗜 嘉 嘔 器 囊 困 固 圈 國 圭 圻 均 坎 坑 坤 坰 坵 垢 基 埼 堀 堅 堈 堪 堺 塊 塏 境 墾 壙 壞 夔 奇 奈 奎 契 奸 妓 妗 姑 姜 姦 娘 娜 嫁 嬌 孔 季 孤 宏 官 客 宮 家 寄 寇 寡 寬 尻 局 居 屆 屈 岐 岡 岬 崎 崑 崗 嵌 嵐 嶇 嶠 工 巧 巨 己 巾 干 幹 幾 庚 庫 康 廊 廐 廓 廣 建 弓 强 彊 徑 忌 急 怪 怯 恐 恝 恪 恭 悸 愆 感 愧 愷 愾 慊 慣 慤 慨 慶 慷 憩 憬 憾 懃 懇 懦 懶 懼 戈 戒 戟 戡 扱 技 抉 拉 拏 拐 拒 拘 括 拮 拱 拳 拷 拿 捏 据 捲 捺 掘 掛 控 揀 揆 揭 擊 擎 擒 據 擧 攪 攷 改 攻 故 敎 救 敢 敬 敲 斛 斤 旗 旣 昆 昑 景 晷 暇 暖 暠 暻 曠 曲 更 曷 朗 朞 期 机 杆 杞 杰 枏 果 枯 架 枸 柑 柩 柬 柯 校 根 格 桀 桂 桔 桿 梏 梗 械 梱 棄 棋 棍 棘 棨 棺 楗 楠 極 槁 構 槐 槨 槪 槻 槿 樂 橄 橋 橘 機 檄 檎 檢 櫃 欄 權 欺 款 歌 歐 歸 殼 毆 毬 氣 求 江 汨 汲 決 汽 沂 沽 洛 洸 浪 涇 淃 淇 減 渠 渴 湳 溝 溪 滑 滾 漑 潔 潰 澗 激 濫 灌 灸 炅 炚 炬 烙 烱 煖 爛 牽 犬 狂 狗 狡 狼 獗 玖 玘 珂 珏 珖 珙 珞 珪 球 琦 琨 琪 琯 琴 瑾 璂 璟 璣 璥 瓊 瓘 瓜 甄 甘 甲 男 畇 界 畸 畺 畿 疆 疥 疳 痂 痙 痼 癎 癩 癸 皆 皎 皐 盖 監 看 眷 睾 瞰 瞼 瞿 矜 矩 矯 硅 硬 碁 碣 磎 磬 磯 磵 祁 祇 祈 祛 祺 禁 禽 科 稈 稼 稽 稿 穀 究 穹 空 窘 窟 窮 窺 竅 竟 竭 競 竿 筋 筐 筠 箇 箕 箝 管 簡 粳 糠 系 糾 紀 納 紘 級 紺 絅 結 絞 給 絳 絹 絿 經 綱 綺 緊 繫 繭 繼 缺 罐 罫 羅 羈 羌 羔 群 羹 翹 考 耆 耉 耕 耭 耿 肌 肝 股 肩 肯 肱 胛 胱 脚 脛 腔 腱 膈 膏 膠 臘 臼 舅 舊 舡 艮 艱 芎 芥 芩 芹 苛 苟 苦 苽 茄 莖 菅 菊 菌 菓 菫 菰 落 葛 葵 蓋 蕎 蕨 薑 藁 藍 藿 蘭 蘿 虔 蚣 蛟 蝎 螺 蠟 蠱 街 衢 衲 衾 衿 袈 袞 袴 裙 裸 褐 襁 襟 襤 見 規 覡 覲 覺 觀 角 計 記 訣 訶 詭 誇 誡 誥 課 諫 諾 謙 講 謳 謹 譏 警 譴 谷 谿 豈 貢 貫 貴 賈 購 赳 起 跏 距 跨 踞 蹇 蹶 躬 軀 車 軌 軍 軻 較 輕 轎 轟 辜 近 迦 迲 适 逑 逕 逵 過 遣 遽 邏 那 邯 邱 郊 郎 郡 郭 酪 醵 金 鈐 鈞 鉀 鉅 鉗 鉤 銶 鋸 鋼 錡 錤 錦 錮 鍋 鍵 鎌 鎧 鏡 鑑 鑒 鑛 開 間 閘 閣 閨 闕 關 降 階 隔 隙 雇 難 鞏 鞠 鞨 鞫 頃 頸 顆 顧 飢 餃 館 饉 饋 饑 駒 駕 駱 騎 騏 騫 驅 驕 驚 驥 骨 高 鬼 魁 鮫 鯤 鯨 鱇 鳩 鵑 鵠 鷄 鷗 鸞 麒 麴 黔 鼓 龕 龜] - [a-z] - - - ‘ - ’ - “ - ” - - - - - 오전 - 오후 - - - 불기 - - - - - - G y년 MMMM d일 EEEE - - - - - G y년 MMMM d일 - - - - - - - - - 오전 - 오후 - - - 오전 - 오후 - - - - - - 1월 - 2월 - 3월 - 4월 - 5월 - 6월 - 7월 - 8월 - 9월 - 10월 - 11월 - 12월 - - - - - 1월 - 2월 - 3월 - 4월 - 5월 - 6월 - 7월 - 8월 - 9월 - 10월 - 11월 - 12월 - - - - - - - 일 - 월 - 화 - 수 - 목 - 금 - 토 - - - 일요일 - 월요일 - 화요일 - 수요일 - 목요일 - 금요일 - 토요일 - - - - - 일 - 월 - 화 - 수 - 목 - 금 - 토 - - - - - - - 1분기 - 2분기 - 3분기 - 4분기 - - - 제 1/4분기 - 제 2/4분기 - 제 3/4분기 - 제 4/4분기 - - - - - 1 - 2 - 3 - 4 - - - - 오전 - 오후 - - - 서력기원전 - 서력기원 - - - 기원전 - 서기 - - - - - - y년 M월 d일 EEEE - - - - - y년 M월 d일 - - - - - yyyy. M. d. - - - - - yy. M. d. - - - - - - - a hh시 mm분 ss초 zzzz - - - - - a hh시 mm분 ss초 z - - - - - a h:mm:ss - - - - - a h:mm - - - - - - - {1}{0} - - - - - {1}{0} - - - - - {1} {0} - - - - - {1} {0} - - - - d일 EEE - d일 (E) - HH:mm - HH:mm:ss - H:mm - H시 m분 s초 - L - M. d. (E) - LLL - MMM d일 (E) - MMMM d일 (E) - MMMM d일 - MMM d일 - MM. dd - M. d. - d - mm:ss - mm:ss - y - yyyy. M. - yyyy. M. d. EEE - y년 MMM - y년 MMM d일 EEE - y년 MMMM - y년 Q분기 - y년 QQQ - YY. M. - yy년 MMM - yy년 Q분기 - yyyy. MM - - - {0} – {1} - - M월 ~ M월 - - - M. d E ~ M. d E - M. d E ~ M. d E - - - MMM ~ MMM - - - M월 d일 E ~ M월 d일 E - M월 d일 E ~ d일 E - - - LLLL-LLLL - - - M월 d일 ~ M월 d일 - M월 d일 ~ d일 - - - M. d ~ M. d - M. d ~ M. d - - - d일 ~ d일 - - - a h ~ a h - a h~h - - - a h:mm ~ a h:mm - a h:mm~h:mm - a h:mm~h:mm - - - a h:mm ~ a h:mm v - a h:mm~h:mm v - a h:mm~h:mm v - - - a h ~ a h v - a h~h v - - - y년 ~ y년 - - - yyyy. M ~ yyyy. M - yyyy. M ~ yyyy. M - - - yy. M. d. E ~ yy. M. d. E - yy. M. d. E ~ yy. M. d. E - yy. M. d. E ~ yy. M. d. E - - - y년 M월~M월 - y년 M월 ~ y년 M월 - - - y년 M월 d일 E ~ M월 d일 E - y년 M월 d일 E ~ d일 E - y년 M월 d일 E ~ y년 M월 d일 E - - - y년 MM월 ~ MM월 - y년 MM월 ~ y년 MM월 - - - y년 M월 d일 ~ M월 d일 - y년 M월 d일~d일 - y년 M월 d일 ~ y년 M월 d일 - - - yy. M. d. ~ yy. M. d. - yy. M. d. ~ yy. M. d. - yy. M. d. ~ yy. M. d. - - - - - - 연호 - - - 년 - - - 월 - - - 주 - - - 일 - 그끄제 - 그저께 - 어제 - 오늘 - 내일 - 모레 - 3일후 - - - 요일 - - - 오전/오후 - - - 시 - - - 분 - - - 초 - - - 시간대 - - - - - 오전 - 오후 - - - 오전 - 오후 - - - 오전 - 오후 - - - 오전 - 오후 - - - 중화민국전 - 중화민국 - - - - - - G y년 M월 d일 - - - - - G y년 M월 d일 - - - - - G y. M. d - - - - - G y. M. d - - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} 시간 - {1} ({0}) - - 알 수 없는 장소 - - - 안도라 - - - 두바이 - - - 카불 - - - 안티과 - - - 앙귈라 - - - 티라나 - - - 예레반 - - - 쿠라사오 - - - 루안다 - - - 로데라 - - - 파머 - - - 남극 - - - 쇼와 - - - 모슨 - - - 데이비스 - - - 보스토크 - - - 케이시 - - - 뒤몽 뒤르빌 - - - 맥머도 - - - 리오 가예고스 - - - 멘도사 - - - 산후안 - - - 우수아이아 - - - 라 리오하 - - - 산루이스 - - - 카타마르카 - - - 살타 - - - 후후이 - - - 뚜꾸만 - - - 코르도바 - - - 부에노스 아이레스 - - - 파고파고 - - - 비엔나 - - - 퍼스 - - - 유클라 - - - 다윈 - - - 애들레이드 - - - 브로컨힐 - - - 퀴리 - - - 멜버른 - - - 호바트 - - - 린데만 - - - 시드니 - - - 브리스베인 - - - 로드 하우 - - - 아루바 - - - 바쿠 - - - 바베이도스 - - - 다카 - - - 브뤼셀 - - - 와가두구 - - - 소피아 - - - 바레인 - - - 부줌부라 - - - 포르토노보 - - - 버뮤다 - - - 브루나이 - - - 라파스 - - - 아이루네페 - - - 리오 브랑코 - - - 포르토 벨로 - - - 보아 비스타 - - - 마나우스 - - - 쿠이아바 - - - 산타렘 - - - 캄포 그란데 - - - 벨렘 - - - 아라과이나 - - - 상파울로 - - - 바히아 - - - 포르탈레자 - - - 마세이오 - - - 레시페 - - - 노롱야 - - - 나소 - - - 팀부 - - - 가보로네 - - - 민스크 - - - 벨리즈 - - - 도슨 - - - 화이트호스 - - - 이누빅 - - - 벤쿠버 - - - 도슨크릭 - - - 옐로나이프 - - - 에드먼턴 - - - 스위프트커런트 - - - 케임브리지 베이 - - - 리자이나 - - - 위니펙 - - - 리졸루트 - - - 레이니강 - - - 랭킹 인렛 - - - 코랄하버 - - - 선더베이 - - - 니피곤 - - - 토론토 - - - 몬트리올 - - - 이칼루이트 - - - 팡니르퉁 - - - 몽턴 - - - 핼리팩스 - - - 구즈베이 - - - 글라스베이 - - - 블랑 사블롱 - - - 세인트존 - - - 코코스 - - - 킨샤사 - - - 루붐바시 - - - 방기 - - - 브라자빌 - - - 취리히 - - - 아비장 - - - 라로통가 - - - 이스터 섬 - - - 산티아고 - - - 두알라 - - - 카슈가르 - - - 우루무치 - - - 충칭 - - - 상하이 - - - 하얼빈 - - - 보고타 - - - 코스타리카 - - - 하바나 - - - 카보 베르데 - - - 크리스마스 - - - 니코시아 - - - 베를린 - - - 지부티 - - - 코펜하겐 - - - 도미니카 - - - 산토도밍고 - - - 알제 - - - 갈라파고스 - - - 과야킬 - - - 탈린 - - - 카이로 - - - 엘아이운 - - - 아스메라 - - - 카나리아 제도 - - - 세우타 - - - 마드리드 - - - 아디스아바바 - - - 헬싱키 - - - 피지 - - - 스탠리 - - - 트루크 - - - 포나페 - - - 코스레 - - - 페로 - - - 파리 - - - 리브르빌 - - - 런던 - - - 그라나다 - - - 트빌리시 - - - 샤이엔 - - - 아크라 - - - 지브랄타 - - - 툴레 - - - 고드호프 - - - 스코레스바이선드 - - - 덴마크샤븐 - - - 반줄 - - - 코나크리 - - - 과델로프 - - - 말라보 - - - 아테네 - - - 남부 조지아 - - - 과테말라 - - - 괌 - - - 비사우 - - - 가이아나 - - - 홍콩 - - - 포르토프랭스 - - - 부다페스트 - - - 자카르타 - - - 폰티아나크 - - - 마카사르 - - - 자야푸라 - - - 더블린 - - - 예루살렘 - - - 차고스 - - - 바그다드 - - - 테헤란 - - - 레이캬비크 - - - 로마 - - - 자메이카 - - - 암만 - - - 도쿄 - - - 나이로비 - - - 비슈케크 - - - 프놈펜 - - - 엔더베리 - - - 키리티마티 - - - 타라와 - - - 코모로 - - - 세인트 키츠 - - - 평양 - - - 서울 - - - 쿠웨이트 - - - 카이만 - - - 아크타우 - - - 오랄 - - - 악토브 - - - 키질로르다 - - - 알마티 - - - 비엔티안 - - - 베이루트 - - - 세인트 루시아 - - - 파두츠 - - - 콜롬보 - - - 몬로비아 - - - 마세루 - - - 빌니우스 - - - 룩셈부르크 - - - 리가 - - - 트리폴리 - - - 카사블랑카 - - - 모나코 - - - 키시나우 - - - 안타나나리보 - - - 콰잘렌 - - - 마주로 - - - 바마코 - - - 랑군 - - - 호브드 - - - 울란바토르 - - - 초이발산 - - - 마카오 - - - 사이판 - - - 마티니크 - - - 누악쇼트 - - - 몬세라 - - - 몰타 - - - 모리셔스 - - - 몰디브 - - - 블랜타이어 - - - 티후아나 - - - 에르모시요 - - - 마사틀란 - - - 치와와 - - - 몬테레이 - - - 멕시코 시티 - - - 메리다 - - - 칸쿤 - - - 쿠알라룸푸르 - - - 쿠칭 - - - 마푸토 - - - 빈트후크 - - - 누메아 - - - 니아메 - - - 노퍽 - - - 라고스 - - - 마나과 - - - 암스텔담 - - - 오슬로 - - - 카트만두 - - - 나우루 - - - 니우에 - - - 채텀 - - - 오클랜드 - - - 무스카트 - - - 파나마 - - - 리마 - - - 타히티 - - - 마퀘사스 - - - 감비어 - - - 포트모르즈비 - - - 마닐라 - - - 카라치 - - - 바르샤바 - - - 미퀠론 - - - 피트카이른 - - - 푸에르토리코 - - - 가자 - - - 아조레스 - - - 마데이라 - - - 리스본 - - - 팔라우 - - - 아순시온 - - - 카타르 - - - 불령 리유니온 - - - 부쿠레슈티 - - - 칼리닌그라드 - - - 모스크바 - - - 볼고그라트 - - - 사마라 - - - 예카테린부르크 - - - 옴스크 - - - 노보시비르스크 - - - 크라스노야르스크 - - - 이르쿠츠크 - - - 야쿠츠크 - - - 블라디보스토크 - - - 사할린 - - - 마가단 - - - 캄차카 - - - 아나디리 - - - 키갈리 - - - 리야드 - - - 과달카날 - - - 마헤 - - - 카르툼 - - - 스톡홀름 - - - 싱가포르 - - - 세인트 헬레나 - - - 프리타운 - - - 다카르 - - - 모가디슈 - - - 파라마리보 - - - 사오 투메 - - - 엘살바도르 - - - 다마스쿠스 - - - 음바바네 - - - 그랜드 터크 - - - 엔자메나 - - - 케르켈렌 - - - 로메 - - - 방콕 - - - 두샨베 - - - 파카오푸 - - - 딜리 - - - 아쉬가바트 - - - 튀니스 - - - 통가타푸 - - - 이스탄불 - - - 포트오브스페인 - - - 푸나푸티 - - - 타이베이 - - - 다르에스살람 - - - 우주고로트 - - - 키예프 - - - 심페로폴 - - - 자포로지예 - - - 캄팔라 - - - 미드웨이 - - - 존스톤 - - - 웨이크 - - - 에이닥 - - - 놈 - - - 호놀룰루 - - - 앵커리지 - - - 야쿠타트 - - - 주노 - - - 로스앤젤레스 - - - 보이시 - - - 피닉스 - - - 십록 - - - 덴버 - - - 노스 다코타주, 뉴살렘 - - - 중부, 노스다코타 - - - 시카고 - - - 메노미니 - - - 인디아나주, 뱅센 - - - 인디애나주, 피츠버그 - - - 인디아나주, 텔시티 - - - 인디애나주 녹스 - - - 인디아나주, 워너맥 - - - 인디애나주, 마렝고 - - - 인디애나폴리스 - - - 루이빌 - - - 자포로제 - - - 켄터키주, 몬티첼로 - - - 디트로이트 - - - 뉴욕 - - - 몬테비데오 - - - 사마르칸트 - - - 타슈켄트 - - - 세인트 빈센트 - - - 카라카스 - - - 토르톨라 - - - 세인트 토마스 - - - 사이공 - - - 에파테 - - - 월리스 - - - 아피아 - - - 아덴 - - - 메요트 - - - 요하네스버그 - - - 루사카 - - - 하라레 - - - - 아크레 표준시 - 아크레 하계 표준시 - - - ACT (아크레) - ACST (아크레) - - - - - 중앙아프리카 시간 - - - - - 동아프리카 시간 - - - - - 남아프리카 시간 - 남아프리카 표준시 - - - - - 서아프리카 시간 - 서아프리카 하계 표준시 - - - - - 알래스카 표준시 - 알래스카 하계 표준시 - - - - - 아마존 표준시 - 아마존 하계 표준시 - - - - - 중부 표준시 - 중부 표준시 - 미 중부 하계 표준시 - - - CST - CDT - - - - - 동부 표준시 - 동부 표준시 - 미 동부 하계 표준시 - - - EST - EDT - - - - - 산지 표준시 - 산악 표준시 - 미 산지 하계 표준시 - - - MST - MDT - - - - - 태평양 표준시 - 태평양 표준시 - 미 태평양 하계 표준시 - - - PST - PDT - - - - - AQTT (아크타우) - AQTST (아크타우) - - - - - AQTT (악퇴베) - AQTST (악퇴베) - - - - - 아라비아 시간 - 아라비아 표준시 - 아라비아 하계 표준시 - - - AT(아라비아) - AST(아라비아) - ADT(아라비아) - - - - - 대서양 표준시 - 대서양 표준시 - 미 대서양 하계 표준시 - - - AST - ADT - - - - - 중앙 오스트레일리아 시간 - 오스트레일리아 중부 표준시 - 오스트레일리아 중부 하계 표준시 - - - - - 오스트레일리아 중서부 시간 - 오스트레일리아 중서부 표준시 - 오스트레일리아 중서부 하계 표준시 - - - - - 동부 오스트레일리아 시간 - 오스트레일리아 동부 표준시 - 오스트레일리아 동부 하계 표준시 - - - - - 서부 오스트레일리아 시간 - 오스트레일리아 서부 표준시 - 오스트레일리아 서부 하계 표준시 - - - - - 아조레스 표준시 - 아조레스 하계 표준시 - - - - - BST (베링) - BDT (베링) - - - - - 브라질리아 표준시 - 브라질리아 하계 표준시 - - - - - 카보 베르데 표준시 - 카보 베르데 하계 표준시 - - - - - 차모로 시간 - 차모로 표준시 - - - - - 채텀 표준시 - 채텀 하계 표준시 - - - - - 중국 표준시 - 중국 하계 표준시 - - - CST (중국) - CDT (중국) - - - - - 크리스마스섬 표준시 - - - - - 코코스섬 표준시 - - - - - 쿡제도 표준시 - 쿡제도 하계 표준시 - - - - - CST (쿠바) - CDT (쿠바) - - - - - 데이비스 표준시 - - - - - 뒤몽 뒤르빌 표준시 - - - - - 이스터섬 표준시 - 이스터섬 하계 표준시 - - - - - 중부유럽 표준시 - 중부유럽 하계 표준시 - - - - - 동부유럽 표준시 - 동부유럽 하계 표준시 - - - - - 서부 유럽 시간 - 서부 유럽 하계 표준시 - - - - - 포클랜드 표준시 - 포클랜드 하계 표준시 - - - - - 피지 표준시 - 피지 하계 표준시 - - - - - 프랑스령 남쪽식민지 표준시 - - - - - 그리니치 표준시 - - - - - 갈라파고스 표준시 - - - - - GST (괌) - - - - - 홍콩 시간 - 홍콩 하계 표준시 - - - - - 인도 표준시 - - - - - 영국령 인도양 식민지 표준시 - - - - - 인도차이나 시간 - - - - - 중앙인도네시아 시간 - - - - - 동인도네시아 시간 - - - - - 서인도네시아 시간 - - - - - 이스라엘 표준시 - 이스라엘 하계 표준시 - - - IST (이스라엘) - - - - - 일본 표준시 - 일본 하계 표준시 - - - - - 한국 표준시 - 한국 하계 표준시 - - true - - - - 로드 하우 시간 - 로드 하우 표준시 - 로드 하우 하계 표준시 - - - - - 몰디브 표준시 - - - - - 모리셔스 표준시 - - - - - 모슨 표준시 - - - - - 모스크바 표준시 - 모스크바 하계 표준시 - - - - - 뉴질랜드 시간 - 뉴질랜드 표준시 - 뉴질랜드 하계 표준시 - - - - - 뉴펀들랜드 표준시 - 뉴펀들랜드 하계 표준시 - - - - - 리유니온 표준시 - - - - - 로데라 표준시 - - - - - SAMT (사마르칸트) - SAMST (사마르칸트) - - - - - 세이셸 표준시 - - - - - 사우스 조지아 표준시 - - - GST (사우스 조지아) - - - - - 쇼와 표준시 - - - - - 보스토크 표준시 - - - - - - - . - , - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤#,##0.00 - - - {0} {1} - - - - 안도라 페세타 - - - 아랍에미리트 디르함 - - - 아프가니 (1927-2002) - - - 아프가니 - - - 알바니아 레크 - - - 아르메니아 드람 - - - 네덜란드령 안틸레스 길더 - - - 앙골라 콴자 - - - 앙골라 콴자 (1977-1990) - - - 앙골라 신콴자 (1990-2000) - - - 앙골라 콴자 Reajustado (1995-1999) - - - 아르헨티나 오스트랄 - - - 아르헨티나 페소 (1983-1985) - - - 아르헨티나 페소 - - - 호주 실링 - - - 호주 달러 - - - 아루바 길더 - - - 아제르바이젠 마나트(1993-2006) - - - 아제르바이잔 마나트 - - - 보스니아-헤르체고비나 디나르 - - - 보스니아-헤르체고비나 태환 마르크 - - - 바베이도스 달러 - - - 방글라데시 타카 - - - 벨기에 프랑 (태환) - - - 벨기에 프랑 - - - 벨기에 프랑 (금융) - - - 불가리아 동전 렛 - - - 불가리아 신권 렛 - - - 바레인 디나르 - - - 부룬디 프랑 - - - 버뮤다 달러 - - - 부루나이 달러 - - - 볼리비아노 - - - 볼리비아노 페소 - - - 볼리비아노 Mvdol(기금) - - - 볼리비아노 크루제이루 노보 (1967-1986) - - - 브라질 크루자두 - - - 브라질 크루제이루 (1990-1993) - - - 브라질 레알 - - - 브라질 크루자두 노보 - - - 브라질 크루제이루 - - - 바하마 달러 - - - 부탄 눌투눔 - - - 버마 차트 - - - 보츠와나 폴라 - - - 벨라루스 신권 루블 (1994-1999) - - - 벨라루스 루블 - - - 벨리즈 달러 - - - 캐나다 달러 - - - 콩고 프랑 콩골라스 - - - WIR 유로 - - - 스위스 프랑 - - - WIR 프랑 - - - 칠레 UF (Unidades de Fomento) - - - 칠레 페소 - - - 중국 위안 인민폐 - ¥ - - - 콜롬비아 페소 - - - UVR (Unidad de Valor Real) - - - 코스타리카 콜론 - - - 고 세르비아 디나르 - - - 체코슬로바키아 동전 코루나 - - - 쿠바 페소 - - - 카보베르데 에스쿠도 - - - 싸이프러스 파운드 - - - 체코 공화국 코루나 - - - 동독 오스트마르크 - - - 독일 마르크 - - - 지부티 프랑 - - - 덴마크 크로네 - - - 도미니카 페소 - - - 알제리 디나르 - - - 에쿠아도르 수크레 - - - 에콰도르 UVC(Unidad de Valor Constante) - - - 에스토니아 크룬 - - - 이집트 파운드 - - - 에리트리아 나크파 - - - 스페인 페세타(예금) - - - 스페인 페세타(변환 예금) - - - 스페인 페세타 - - - 이디오피아 비르 - - - 유로화 - - - 핀란드 마르카 - - - 피지 달러 - - - 포클랜드제도 파운드 - - - 프랑스 프랑 - - - 영국령 파운드 스털링 - - - 그루지야 지폐 라리트 - - - 그루지야 라리 - - - 가나 시디 (1979-2007) - - - 가나 시디 - - - 지브롤터 파운드 - - - 감비아 달라시 - - - 기니 프랑 - - - 기니 시리 - - - 적도 기니 에쿨 (Ekwele) - - - 그리스 드라크마 - - - 과테말라 케트살 - - - 포르투갈령 기니 에스쿠도 - - - 기네비쏘 페소 - - - 가이아나 달러 - - - 홍콩 달러 - - - 온두라스 렘피라 - - - 크로아티아 디나르 - - - 크로아티아 쿠나 - - - 하이티 구르드 - - - 헝가리 포린트 - - - 인도네시아 루피아 - - - 아일랜드 파운드 - - - 이스라엘 파운드 - - - 이스라엘 신권 세켈 - - - 인도 루피 - - - 이라크 디나르 - - - 이란 리얄 - - - 아이슬란드 크로나 - - - 이탈리아 리라 - ₤ - - - 자메이카 달러 - - - 요르단 디나르 - - - 일본 엔화 - ¥ - - - 케냐 실링 - - - 키르기스스탄 솜 - - - 캄보디아 리얄 - - - 코모르 프랑 - - - 조선 민주주의 인민 공화국 원 - ₩ - - - 대한민국 원 - ₩ - - - 쿠웨이트 디나르 - - - 케이맨 제도 달러 - - - 카자흐스탄 텐게 - - - 라오스 키프 - - - 레바논 파운드 - - - 스리랑카 루피 - - - 라이베리아 달러 - - - 레소토 로티 - - - 리투아니아 리타 - - - 룩셈부르크 타로나 - - - 룩셈부르크 변환 프랑 - - - 룩셈부르크 프랑 - - - 룩셈부르크 재정 프랑 - - - 라트비아 라트 - - - 라트비아 루블 - - - 리비아 디나르 - - - 모로코 디렘 - - - 모로코 프랑 - - - 몰도바 레이 - - - 마다가스카르 아리아리 - - - 마다가스카르 프랑 - - - 마케도니아 디나르 - - - 말리 프랑 - - - 미얀마 키얏 - - - 몽골 투그릭 - - - 마카오 파타카 - - - 모리타니 우기야 - - - 몰타 리라 - - - 몰타 파운드 - - - 모리셔스 루피 - - - 몰디브 제도 루피아 - - - 말라위 콰쳐 - - - 멕시코 페소 - - - 멕시코 실버 페소 (1861-1992) - - - 멕시코 UDI(Unidad de Inversion) - - - 말레이시아 링깃 - - - 모잠비크 에스쿠도 - - - 고 모잠비크 메티칼 - - - 모잠비크 메티칼 - - - 나미비아 달러 - - - 니제르 나이라 - - - 니카라과 코르도바 - - - 니카라과 코르도바 오로 - - - 네델란드 길더 - - - 노르웨이 크로네 - - - 네팔 루피 - - - 뉴질랜드 달러 - - - 오만 리얄 - - - 파나마 발보아 - - - 페루 인티 - - - 페루 솔 누에보 - - - 페루 솔 - - - 파푸아뉴기니 키나 - - - 필리핀 페소 - - - 파키스탄 루피 - - - 폴란드 즐로티 - - - 폴란드 즐로티 (1950-1995) - - - 포르투갈 에스쿠도 - - - 파라과이 과라니 - - - 카타르 리얄 - - - 로디지아 달러 - - - 루마니아 레이 - - - 루마니아 레우 - - - 세르비아 디나르 - - - 러시아 루블 - - - 러시아 루블 (1991-1998) - - - 르완다 프랑 - - - 사우디아라비아 리얄 - - - 솔로몬 제도 달러 - - - 세이쉴 루피 - - - 수단 디나르 - - - 수단 파운드 - - - 고 수단 파운드 - - - 스웨덴 크로나 - - - 싱가폴 달러 - - - 세인트헬레나 파운드 - - - 슬로베니아 톨라르 - - - 슬로바키아 코루나 - - - 시에라리온 리온 - - - 소말리아 실링 - - - 수리남 달러 - - - 수리남 길더 - - - 상투메 프린시페 도브라 - - - 소련 루블 - - - 엘살바도르 콜론 - - - 시리아 파운드 - - - 스와질란드 릴랑게니 - - - 태국 바트 - - - 타지키스탄 루블 - - - 타지키스탄 소모니 - - - 투르크메니스탄 마나트 - - - 튀니지 디나르 - - - 통가 파앙가 - - - 티모르 에스쿠도 - - - 터키 리라 - - - 신 터키 리라 - - - 트리니다드 토바고 달러 - - - 대만 신권 달러 - - - 탄자니아 실링 - - - 우크라이나 그리브나 - - - 우크라이나 카보바네츠 - - - 우간다 실링 (1966-1987) - - - 우간다 실링 - - - 미국 달러 - - - 미국 달러(다음날) - - - 미국 달러(당일) - - - 우루과이 페소 UI (Unidades Indexadas) - - - 우루과이 페소 (1975-1993) - - - 우루과이 페소 우루과요 - - - 우즈베키스탄 숨 - - - 베네주엘라 볼리바르 - - - 베네주엘라 볼리바르 푸에르떼 - - - 베트남 동 - - - 바누아투 바투 - - - 서 사모아 탈라 - - - CFA 프랑 BEAC - - - 은화 - - - 금 - - - 유르코 (유럽 회계 단위) - - - 유럽 통화 동맹 - - - 유럽 계산 단위 (XBC) - - - 유럽 계산 단위 (XBD) - - - 동카리브 달러 - - - 특별인출권 - - - 유럽 환율 단위 - - - 프랑스 Gold 프랑 - - - 프랑스 UIC-프랑 - - - CFA 프랑 BCEAO - - - 팔라듐 - - - CFP 프랑 - - - 백금 - - - RINET 기금 - - - 테스트 통화 코드 - - - 알수없거나 유효하지않은 통화단위 - - - 예멘 디나르 - - - 예멘 리알 - - - 유고슬라비아 동전 디나르 - - - 유고슬라비아 노비 디나르 - - - 유고슬라비아 전환 디나르 - - - 남아프리카 랜드 (금융) - - - 남아프리카 랜드 - - - 쟘비아 콰쳐 - - - 자이르 신권 자이르 - - - 자이르 자이르 - - - 짐바브웨 달러 - - - - - - {0}일 - - - {0}시간 - - - {0}분 - - - {0}개월 - - - {0}초 - - - {0}주 - - - {0}년 - - - - - 예 - 아니오 - - - - diff --git a/lib/zend/Zend/Locale/Data/ko_KR.xml b/lib/zend/Zend/Locale/Data/ko_KR.xml deleted file mode 100644 index 851be11737..0000000000 --- a/lib/zend/Zend/Locale/Data/ko_KR.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/kok.xml b/lib/zend/Zend/Locale/Data/kok.xml deleted file mode 100644 index 3631221107..0000000000 --- a/lib/zend/Zend/Locale/Data/kok.xml +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - - - - - - अफार - अबखेज़ियन - अफ्रिकान्स - अमहारिक् - अरेबिक् - असामी - ऐमरा - अज़रबैजानी - बष्किर - बैलोरुसियन् - बल्गेरियन - बीहारी - बिसलमा - बंगाली - तिबेतियन - ब्रेटन - कटलान - कोर्शियन - ज़ेक् - वेळ्ष् - डानिष - जर्मन - भूटानी - ग्रीक् - आंग्ल - इस्परान्टो - स्पानिष - इस्टोनियन् - बास्क - पर्षियन् - फिन्निष् - फिजी - फेरोस् - फ्रेन्च - फ्रिशियन् - ऐरिष - स्काटस् गेलिक् - गेलीशियन - गौरानी - गुजराती - हौसा - हेब्रु - हिन्दी - क्रोयेषियन् - हंगेरियन् - आर्मीनियन् - इन्टरलिंग्वा - इन्डोनेषियन - इन्टरलिंग् - इनूपेयाक् - आईस्लान्डिक - इटालियन - इन्युकट्ट - जापनीस् - जावनीस् - जार्जियन् - कज़ख् - ग्रीनलान्डिक - कंबोडियन - कन्नडा - कोरियन् - कोंकणी - कश्मीरी - कुर्दिष - किर्गिज़ - लाटिन - लिंगाला - लाओतियन् - लिथुआनियन् - लाट्वियन् (लेट्टिष्) - मलागसी - माओरी - मसीडोनियन् - मळियाळम - मंगोलियन् - मोल्डावियन् - मराठी - मलय - मालतीस् - बर्मीज़् - नौरो - नेपाळी - डच् - नोर्वेजियन - ओसिटान् - ओरोमो (अफान) - ओरिया - पंजाबी - पोलिष - पाष्टो (पुष्टो) - पोर्चुगीज़् - क्वेच्वा - रहटो-रोमान्स् - किरुन्दी - रोमानियन् - रष्यन् - किन्यार्वान्डा - संस्कृत - सिंधी - सांग्रो - सेर्बो-क्रोयेषियन् - सिन्हलीस् - स्लोवाक - स्लोवेनियन् - समोन - शोना - सोमाळी - आल्बेनियन् - सेर्बियन् - सिस्वाती - सेसोथो - सुंदनीस - स्वीदीष - स्वाहिली - तमिळ - तेलुगू - तजिक - थाई - तिग्रिन्या - तुर्कमन - तगालोग - सेत्स्वाना - तोंगा - तुर्किष - त्सोगा - तटार - त्वि - उधूर - युक्रेनियन् - उर्दू - उज़बेक - वियत्नामीज़ - ओलापुक - उलोफ़ - झ़ौसा - इद्दिष् - यूरुबा - झ्हुन्ग - चीनीस् - जुलू - - - भारत - - - - [़ ँ-ः ०-९ ॐ अ-ऍ ए-ऑ ओ-क {क़} ख {ख़} ग {ग़} घ-ज {ज़} झ-ड {ड़} ढ {ढ़} ण-न प फ {फ़} ब-य {य़} र ल ळ व-ह ऽ-ॅ े-ॉ ो-्] - [\u200C \u200D] - - - - - - - - जानेवारी - फेबृवारी - मार्च - एप्रिल - मे - जून - जुलै - ओगस्ट - सेप्टेंबर - ओक्टोबर - नोव्हेंबर - डिसेंबर - - - जानेवारी - फेब्रुवारी - मार्च - एप्रिल - मे - जून - जुलै - ओगस्ट - सेप्टेंबर - ओक्टोबर - नोव्हेंबर - डिसेंबर - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - रवि - सोम - मंगळ - बुध - गुरु - शुक्र - शनि - - - आदित्यवार - सोमवार - मंगळार - बुधवार - गुरुवार - शुक्रवार - शनिवार - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - म.पू. - म.नं. - - - क्रिस्तपूर्व - क्रिस्तशखा - - - - - - EEEE d MMMM y - - - - - d MMMM y - - - - - dd-MM-yyyy - - - - - d-M-yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - d MMMM - dd-MM - Q yy - MM-yyyy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - भारतीय समय - - true - - - - - - - - #,##,##0.### - - - - - - - #,##,##0% - - - - - - - ¤ #,##,##0.00 - - - - - - रु - - - - diff --git a/lib/zend/Zend/Locale/Data/kok_IN.xml b/lib/zend/Zend/Locale/Data/kok_IN.xml deleted file mode 100644 index c77c996c35..0000000000 --- a/lib/zend/Zend/Locale/Data/kok_IN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/kpe.xml b/lib/zend/Zend/Locale/Data/kpe.xml deleted file mode 100644 index b2666a4a5a..0000000000 --- a/lib/zend/Zend/Locale/Data/kpe.xml +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - - - - [a b ɓ d e ə ɛ f g ĝ {gb} {gw} ɣ h-k {kp} {kw} l-n {ny} ɲ ŋ {ŋw} o ɔ p t-w y z] - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - AM - PM - - - BCE - CE - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - $ - - - - diff --git a/lib/zend/Zend/Locale/Data/kpe_GN.xml b/lib/zend/Zend/Locale/Data/kpe_GN.xml deleted file mode 100644 index 7779d2b940..0000000000 --- a/lib/zend/Zend/Locale/Data/kpe_GN.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - L$ - - - - diff --git a/lib/zend/Zend/Locale/Data/kpe_LR.xml b/lib/zend/Zend/Locale/Data/kpe_LR.xml deleted file mode 100644 index 4be308c42c..0000000000 --- a/lib/zend/Zend/Locale/Data/kpe_LR.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ku.xml b/lib/zend/Zend/Locale/Data/ku.xml deleted file mode 100644 index 33aa9ec207..0000000000 --- a/lib/zend/Zend/Locale/Data/ku.xml +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - - - ئه‌فریكای - ئه‌مهه‌رینجی - عه‌ره‌بی - ئا سسامی (زوبان) - ئازه‌ربایجانی - بێلاڕووسی - بۆلگاری - بیهاری - به‌نگلادێشی - برێتونی - بۆسنی - كاتالۆنی - چه‌كی - وێلزی - دانماركی - ئاڵمانی - یۆنانی - ئینگلیزی - ئێسپیرانتۆ - ئیسپانی - ئیستۆنی - باسكی - فارسی - فینله‌ندی - تاگالۆگی - فه‌رئۆیی - فه‌رانسی - فریسی - ئیرله‌ندی - گه‌لیكی سكۆتله‌ندی - گالیسی - گووارانی - گوجاراتی - هیبرێ - هیندی - كرواتی - هه‌نگاری (مه‌جاری) - ئه رمه نی - ئینترلینگوی - ئێه‌ندونیزی - ئه نته ر لينگ (زوبان) - ئیسله‌ندی - ئیتالی - ژاپۆنی - جاڤانی - گۆرجستانی - کامبۆجی (زوبان) - كه‌نه‌دایی - كۆری - كوردی - كرگیزی - لاتینی - لينگالا - لاو‏ى - لیتوانی - لێتۆنی - ماكێدۆنی - مالایلام - مه‌نگۆلی - ماراتی - مالیزی - ماڵتایی - نێپالی - هۆڵه‌ندی - نۆروێژی - ئۆسیتانی - ئۆرییا - په‌نجابی - پۆڵۆنیایی (له‌هستانی) - په‌شتوو - پۆرتۆگالی - پورتوگاڵی (برازیل) - پورتوگاڵی (پورتوگاڵ) - ڕۆمانی - ڕووسی - سانسکريت - سيندی(زوبان) - سێربۆكرواتی - سینهه‌لی - سلۆڤاكی - سلۆڤێنی - سۆمالی - ئاڵبانی - سه‌ربی - سێسۆتۆ - سودانی - سویدی - سواهیلی - تامیلی - ته‌لۆگوی - تایله‌ندی - تیگرینیای - تروكمانی - كلینگۆن - توركی - توی - ئويخووری - ئۆكراینی - ئۆردو‌و - ئۆزبه‌كی - ڤیه‌تنامی - سسوسا - یوددی - زولو - - - - - - - [ئ-ب پ ت ج چ ح-د ر ز ڕ ژ س ش ع غ ف ڤ ق ک گ ل ڵ م-ه ھ و ۆ ی ێ] - [\u064B-\u0652 ء-ة ث ذ ص-ظ ك ى ي] - - - - - - - - یەکشەممە - دووشەممە - سێشەممە - چوارشەممە - - - یەکشەممە - دووشەممە - سێشەممە - چوارشەممە - - - - - ی - د - س - - - - - - Q yy - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ku_Arab.xml b/lib/zend/Zend/Locale/Data/ku_Arab.xml deleted file mode 100644 index 2c0981ad4e..0000000000 --- a/lib/zend/Zend/Locale/Data/ku_Arab.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - - Cîhan - Tirkiye - - - salname - rêzkirin - - - mîladî - hîcrî - - - - - - - [a-c ç d e ê f-i î j-s ş t u û v-z] - - - - - - - - çil - sib - adr - nîs - gul - hez - tîr - - - çile - sibat - adar - nîsan - gulan - hezîran - - - - - ç - s - a - n - g - h - - - - - - - yş - dş - sş - çş - pş - în - ş - - - yekşem - duşem - şê - çarşem - pêncşem - în - şemî - - - - - y - d - s - ç - p - î - ş - - - - - - - Ç1 - Ç2 - Ç3 - Ç4 - - - Ç1 - Ç2 - Ç3 - Ç4 - - - - BN - PN - - - BZ - PZ - - - - - - yy/MM/dd - - - - - - sal - - - meh - - - hefte - - - roj - - - demjimêr - - - xulek - - - çirke - - - - - - - - muẖerem - sefer - rebîʿulewel - rebîʿulaxer - cemazîyelewel - cemazîyelaxer - receb - şeʿban - remezan - şewal - zîlqeʿde - zîlẖece - - - - - - - - - erê:e - na:n - - - diff --git a/lib/zend/Zend/Locale/Data/ku_Latn_TR.xml b/lib/zend/Zend/Locale/Data/ku_Latn_TR.xml deleted file mode 100644 index 24c2e0fd58..0000000000 --- a/lib/zend/Zend/Locale/Data/ku_Latn_TR.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - - - - mokili mobimba - Afríka - Ameríka ya Sídi - Afríka ya límbe - Afríka ya Nola - Afríka ya Sídi - Azía - Erópa - Erópa ya Nola - Erópa ya límbe - Andora - Afganistáni - Antigua mpé Barbuda - Angóla - Argentina - Albania - Bosnia na Erzegovina - Bángaladɛ́si - Bɛ́ljika - Burkina Faso - Bulgaria - Burundi - Bresíli - Butáni - Botswana - Bielorusia - Kanadá - Kongó-Kinsásá - Santrafríka - Kongó-Brazzaville - Swisi - Kamerun - Sína - Republiki Sheki - Alémani - Djibuti - Aljeria - Ejipti - Sahara ya límbe - Espania - Etiopya - Finilanda - Falansia - Ingɛlɛ́tɛlɛ - Ghana - Gibraltar - Gambia - Gine - Gresi - Gine-Bisau - Kroasia - Ungri - Indoneziá - Irlandí - Ɛndɛ - Islandi - Italia - Zordaní - Yapan - Kenya - Kirghizistáni - KI - Kore ya Nola - Kore ya Sidi - Kazakstáni - Liban - Liberia - Litwani - Luksamburg - Letoni - Libíya - Masedoni - Mali - Mongolí - Makau - Madívi - Mozambíki - Namibia - Nijé - Nijeria - Holanda - Norvej - Nepáli - Pakistáni - Poloni - Pulutugal - Rumania - Rusí - Rwanda - Sudani - Swési - Santu Helena - Santu Marino - Somalia - Sǎo Tomé na Principe - Sirí - Togo - Tazikistáni - Turkmenistáni - Tunizia - Turkí - Trinidad mpé Tobago - Taiwan - Etazíni - Uzbekistáni - Vatikáni - Vietnami - Yeméni - Sidafríka - Zambia - Zimbabwe - Esíká eyébámí tɛ́ - - - manáka - elandiseli - mbɔ́ngɔ - - - manáka ya Gregor - - - na míli - na mɛ́tɛlɛ - - - - [a á â ǎ b-e é ê ě ɛ {ɛ\u0301} {ɛ\u0302} {ɛ\u030C} f g {gb} h i í î ǐ k-m {mb} {mp} n {nd} {ng} {nk} {ns} {nt} {nz} o ó ô ǒ ɔ {ɔ\u0301} {ɔ\u0302} {ɔ\u030C} p r-u ú û ǔ v w y z] - [j q x] - [c f F] - - - « - » - “ - ” - - - - - - - - s1 - s2 - s3 - s4 - s5 - s6 - s7 - s8 - s9 - s10 - s11 - s12 - - - sánzá ya yambo - sánzá ya míbalé - sánzá ya mísáto - sánzá ya mínei - sánzá ya mítáno - sánzá ya motóbá - sánzá ya nsambo - sánzá ya mwambe - sánzá ya libwa - sánzá ya zómi - sánzá ya zómi na mɔ̌kɔ́ - sánzá ya zómi na míbalé - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - eye - m1 - m2 - m3 - m4 - m5 - mps - - - eyenga - mokɔlɔ ya libosó - mokɔlɔ ya míbalé - mokɔlɔ ya mísáto - mokɔlɔ ya mínéi - mokɔlɔ ya mítáno - mpɔ́sɔ - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - SM1 - SM2 - SM3 - SM4 - - - sánzá mísáto ya yambo - sánzá mísáto ya míbalé - sánzá mísáto ya mísáto - sánzá mísáto ya mínei - - - - AM - PM - - - libosó ya Y.-K. - nsima ya Y.-K. - - - libosó ya Y.-K. - nsima ya Y.-K. - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - mokɔlɔ - lɛlɔ́ - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - Kinsásá - - - Santrafríka - - - - - - . - - - - falánga ya Bɛ́ljika - - - falánga ya Burundi - - - falánga kongolé - F - - - Falánga ya Swisi - - - Falánga ya Falansia - - - Falánga CFA BCEAO - - - Falánga CFP - - - mbɔ́ngɔ eyébámí tɛ́ - - - - - diff --git a/lib/zend/Zend/Locale/Data/ln_CD.xml b/lib/zend/Zend/Locale/Data/ln_CD.xml deleted file mode 100644 index 5903b02511..0000000000 --- a/lib/zend/Zend/Locale/Data/ln_CD.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ln_CG.xml b/lib/zend/Zend/Locale/Data/ln_CG.xml deleted file mode 100644 index 74e749fa2a..0000000000 --- a/lib/zend/Zend/Locale/Data/ln_CG.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/lo.xml b/lib/zend/Zend/Locale/Data/lo.xml deleted file mode 100644 index 3c8ac4847f..0000000000 --- a/lib/zend/Zend/Locale/Data/lo.xml +++ /dev/null @@ -1,624 +0,0 @@ - - - - - - - - - - - ອາຟາ - ແອບຄາເຊຍ - ອັຟຣິກາ - ອຳຫາຣິກ - ອາຣັບ - ອັສສຳ - ໄອມາລາ - ອາແຊກບາຍຊານ - ບາສສີ - ເບລາລຸດຊີ - ບຸນກາຣີ - ບີຮາຣີ - ບິສລາມາ - ເບັງການ - ທິເບດ - ບເຣີຕົງ - ບອສນີ - ກາຕາລັງ - ຄໍຊິກ້າ - ເຊັກ - ແວວ - ເດັນມາກ - ເຍຍລະມັນ - ພູຖານີ - ກເຣັກ - ອັງກິດ - ເອສເປຣັງໂຕ - ແອສປາໂຍນ - ເອສໂຕນີ - ບັສເກີ - ເປີເຊຍ - ແຟງລັງ - ຕາກາລ໊ອກ - ຟິຈິ - ຟາໂຣ - ຝຣັ່ງ - ຟຣີຊຽນ - ໄອແລນ - ສະກັອດ ແກລິກ - ກາລິດ - ກົວຣານີ - ກູຊາຣາຕີ - ໂອຊາ - ຍິວ - ຮິນດູ - ໂກຣອາຊີ - ຮັງກາຣີ - ອາກເມນີ - ອິນເຕີລິງກາ - ອິນໂດເນເຊຍ - ອິນເຕີລິງ - ໄອນູປຽກ - ອິສລັງ - ອີຕາລີ - ໄອນຸກຕິຕັກ - ຍີ່ປຸ່ນ - ຊວາ - ຊອກຊີ - ຄາຊັກ - ກຼີນແລນດິດ - ກຳປູເຈຍ - ກັນນາດາ - ເກົາຫຼີ - ຄັດຊະມີລີ - ເຄີດິສ - ເກຍກິສ - ລາແຕັງ - ລິງກາລາ - ລາວ - ລີທົວນີ - ລັດເວຍ - ມາລາກາຊິ - ເມົາລີ - ມາເຊໂດນີ - ມາລາຢາລຳ - ມົງໂກນ - ໂມຄາເວຍ - ມາຣາທີ - ມາເລ - ມານຕາ - ພະມ່າ - ນໍລູ - ເນປານ - ໂຮນລັງ - ນອກແວ (ນີນອກ) - ນອກແວ - ອົກຊີຕານ - ໂອໂລໂມ(ອາຟານ) - ໂອຣີຢາ - ປັນຈາບ - ໂປໂລຍ - ປາສໂຕ - ປອກຕຸຍການ - ປອກຕຸຍການ (ບຣາຊີນ) - ປອກຕຸຍການ (ປອກຕຸຍການ) - ຄິວຊົວ - ເລໂຕ-ໂລແມນ - ຄິລັນສີ - ໂຣມານີ - ລັດເຊຍ - ຄິນຍາວັນດາ - ສັນສະກິດ - ສິນທິ - ສັນໂຄ - ແຊັກໂບ-ໂກຣແອັດ - ສິງຫານ - ສະໂລວັກກີ - ສະໂລວານີ - ຊາມົວ - ໂຊນາ - ໂຊມາລີ - ອານບານີ - ແຊກບີ - ຊິສວາຕິ - ເຊໂຊໂທ - ຊັນດານ - ຊູແອັດ - ຊວາຮີລີ - ທະມິນ - ເຕລູກູ - ທາຈິດ - ໄທ - ຕີກຣິນຢາ - ຕວຽກເມນ - ຕາກາລັອກ - ກລິງກອງ - ເຊຕະສະວານາ - ທອງກ້າ - ຕວກກີ - ຊອງກາ - ຕາດ - ຕວີ - ອຸຍເຄີ - ອູແກຣນ - ອູຣະດູ - ອຸດຊະເບັກກິດສະຖານ - ຫວຽດນາມ - ໂວລາພຸກ - ວູບ - ໂຊຊາ - ຢິດດິສ - ໂຢລູບາ - ຈວງ - ຈີນ - ຊູລູ - - - ອັນດໍລາ - ສະຫະລັດອາຫລັບເອມິເລດ - ອັຟການິດສະຖານ - ອັນກິລາ - ແອລເບເນຍ - ອາມິເນຍ - ເນເທີແລນແອນເທິນ - ອັນໂກລາ - ອາເຈນຕິນາ່ - ອົອດສະເຕຼຍ - ອົອດສະຕາລີ - ອາລູບາ - ອາເຊີໄບຈັນ - ບັອດສເນຍ ແລະ ເຮີດໂກວິເນຍ - ບາບາຄັອດ - ບັງກະລາເທດ - ເບວຢຽມ - ເບີກິນາຟາໂຊ - ບັງກາເລຍ - ບາເລນ - ບູລັນຕິ - ເບນິນ - ເບີມິວດາ - ບູຮໄນ - ໂບລິເວຍ - ບຼາຊິວ - ບາຮາມາສ - ພູຖານ - ບອັດສະວານາ - ເບນລາຮັສ - ເບລິຊ - ການາດາ - ສາທາລະນະລັດອັບຟຼິກກາກາງ - ຄອງໂກ - ສະວິດເຊີແລນ - ຝັ່ງທະເລໄອວໍລິ - ຊິສິ - ຄາເມລູນ - ຈີນ - ໂຄລຳເບຍ - ຄອສຕາລິກາ - ເຊີເບຍ - ຄິວບາ - ເຄບວອດ - ໄຊປັຼດ - ສາທາລະນະລັດເຊັກ - ເຢຍລະມັນ - ຄິໂບຕິ - ເດນມາກ - ໂດເມນິກາ - ສາທາລະນະລັດໂດມິນິກັນ - ແອລຈິເລຍ - ເອກວາດໍ - ເອສໂຕເນຍ - ອີຢິບ - ຊາຮາລາຕະເວັນຕົກ - ອິນຊີ - ສະເປນ - ເອທິໂອເປຍ - ຟິນແລນ - ຟິຈິ - ໄມໂຄນິເຊຍ - ຝລັ່ງ - ກາບອນ - ສະຫະລາດຊະອານາຈັກ - ຈໍເຈຍ - ເຟັນສກິວນາ - ການ່າ - ແກມເບຍ - ກິວນີ - ກົວເດີລູບ - ເອຄົວໂທເລຍລະກິນີ - ກິຼກ - ກົວເຕມາລາ - ກິວນີ-ບິສໂຊ - ກູຢານາ - ຮ່ອງກົງ - ອວນຄູຣັສ - ໂຄເອເຊຍ - ໄອທີ - ຮົງກາຣີ - ອິນໂດເນເຊຍ - ໄອແລນ - ອິສລະເອວ - ອິນເດຍ - ອີລັກ - ອີລ່ານ - ໄອສແລນ - ອິຕາລີ - ຈາໄມກາ - ຈໍແດນ - ຍີ່ປຸ່ນ - ເຄນຢ່າ - ເດີກິດສະຖານ - ກຳປູເຈຍ - ຄີລິບາດ - ໂຄໂມຣອດ - ເກົາຫລີເໜືອ - ເກົາຫລີໃຕ້ - ຄູເວດ - ຄາຊັດສະຖານ - ລາວ - ເລບານອນ - ໄລເທນສະໄຕ - ສີລັງກາ - ລິເບີເລຍ - ເລໂຊໂທ - ລິເທີເນຍ - ລຸກແຊມເບີກ - ລຼາດເວຍ - ລິເບຍ - ໂມລັອກໂຄ - ໂມນາໂກ - ໂມນໂຄວາ - ມາຄາກັສກາ - ແມຊິໂຄເນຍ - ມາລິ - ສະຫະພາບພະມ້າ - ມົງໂກລີ - ມາເກົ້າ - ມາຕິນິກ - ມໍລິກທາເນຍ - ມອນເຊີລາດ - ມັນຕາ - ມໍຣິຕຽດ - ແມັກຊິໂກ - ມາເລເຊຍ - ໂມແຊມບິກ - ນາມິເບຍ - ນິວຄາລິໂຄເນຍ - ໄນເຈີ - ໄນຈີເລຍ - ນິຄາລາກົວ - ເນເທີແລນ - ນໍເວ - ເນປານ - ນີຢູ - ນິວຊີແລນ - ໂອມານ - ປານາມາ - ເປລູ - ເຟັນຣໂພລິນີເຊຍ - ປາປົວນິວກີນີ - ຟິລິປິນ - ປາກິສຖານ - ໂປແລນ - ເປີໂຕລິໂກ - ໂປຕຸກກັນ - ປາລາກວຍ - ກາຕາ - ລູເມເນຍ - ລັດເຊຍ - ລາວັນດາ - ຊາອຸດິອາລະເບຍ - ເຊແຊວ - ຊູດານ - ສະວິເດັນ - ສິງກະໂປ - ສະໂລເວເນຍ - ສະໂລວາເກຍ - ເຊຍລາສິອອນ - ຊິນີກັນ - ໂຊມາເລຍ - ຊູລິນາມິ - ເອຊາວາດໍ - ຊິເລຍ - ສະວາຊິແລນ - ຊາດ - ອານາເຂດທາງໃຕ້ຂອງຝລັ່ງເສດ - ໂຕໂກ - ປະເທດໄທ - ທາຈິກິສະຖານ - ໂທກິໂລ - ຕິມໍຕາເວັນອອກ - ເຕຣີກເມນິສະຖານ - ຕູນິເຊຍ - ຕອງກາ - ຕຸນກີ - ທິນິແດດ - ໄຕ້ຫວັນ - ທານຊາເນຍ - ຢູເຄຼນ - ອູການດາ - ສະຫະລັດອາເມລິກາ - ລູກວຍອຸຣ - ອຸດເບກິສະຖານ - ວາຕິກັນ - ເວເນຊູເອລາ - ບຣິທິດເວີຈິນໄອແລນ - ຢູເອສເວີຈິນໄອແລນ - ຫວຽດນາມ - ວານົວຕູ - ເຢເມນ - ມາຢອດ - ອາຟະລິກາໃຕ້ - ແຊມເບຍ - ຊິມບັບເວ - - - - [່-ໍ ໆ ກ ຂ ຄ ງ ຈ ຊ ຍ ດ-ທ ນ-ຟ ມ-ຣ ລ ວ ສ ຫ ໜ ໝ ອ-ູ ົ-ຽ ເ-ໄ] - [\u200B ໐-໙] - - - ' - ' - " - " - - - - - - - ພ.ສ. - - - - - - EEEEທີ່ d MMMM G y - - - - - d MMMM y - - - - - d MMM y - - - - - d/M/yyyy - - - - - - - - {1}, {0} - - - - - {1}, {0} - - - - - {1}, {0} - - - - - {1}, {0} - - - - - - - - - ມ.ກ. - ກ.ພ. - ມີ.ນ. - ມ.ສ.. - ພ.ພ. - ມິ.ຖ. - ກ.ລ. - ສ.ຫ. - ກ.ຍ. - ຕ.ລ. - ພ.ຈ. - ທ.ວ. - - - ມັງກອນ - ກຸມພາ - ມີນາ - ເມສາ - ພຶດສະພາ - ມິຖຸນາ - ກໍລະກົດ - ສິງຫາ - ກັນຍາ - ຕຸລາ - ພະຈິກ - ທັນວາ - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - ອາ. - ຈ. - ອ. - ພ. - ພຫ. - ສກ. - ສ. - - - ວັນອາທິດ - ວັນຈັນ - ວັນອັງຄານ - ວັນພຸດ - ວັນພະຫັດ - ວັນສຸກ - ວັນເສົາ - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - ກ່ອນທ່ຽງ - ຫລັງທ່ຽງ - - - ປີກ່ອນຄິດສະການທີ່ - ຄ.ສ. - - - - - - EEEEທີ d MMMM G y - - - - - d MMMM y - - - - - d MMM y - - - - - d/M/yyyy - - - - - - - Hໂມງ mນາທີ ss ວິນາທີzzzz - - - - - H ໂມງ mນາທີss z - - - - - H:mm:ss - - - - - H:mm - - - - - - - {1}, {0} - - - - - {1}, {0} - - - - - {1}, {0} - - - - - {1}, {0} - - - - d MMMM - d/M - mm:ss - Q yy - M/yyyy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - - ¤#,##0.00;¤-#,##0.00 - - - - - - ກີບ - - - - - diff --git a/lib/zend/Zend/Locale/Data/lo_LA.xml b/lib/zend/Zend/Locale/Data/lo_LA.xml deleted file mode 100644 index 09b1b13eb1..0000000000 --- a/lib/zend/Zend/Locale/Data/lo_LA.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/lt.xml b/lib/zend/Zend/Locale/Data/lt.xml deleted file mode 100644 index beaeb37b04..0000000000 --- a/lib/zend/Zend/Locale/Data/lt.xml +++ /dev/null @@ -1,3328 +0,0 @@ - - - - - - - - - - - afarų - abchazų - ačinezų - acoli - adangmų - adygėjų - avestų - afrikanų - afroazijos kalba - afrihili - ainų - akanų - akadianų - aleutų - algonkuanų kalba - pietų altajaus - amharų - aragonesų - senoji anglų - angikų - apačių kalba - arabų - aramaikų - araukanų - arapahų - dirbtinė kalba - aravakų - asamų - asturianų - athapaskanų kalba - australų kalba - avarikų - avadhi - aimarų - azerbaidžaniečių - baškirų - bandų - bamilekų kalba - baluči - balinezų - basų - baltų kalba - baltarusių - bėjų - bembų - berberų - bulgarų - biharų - baučpuri - bislama - bikolų - bini - siksika - bambarų - bengalų - bantų - tibetiečių - bretonų - brajų - bosnių - batakų - buriatų - buginezų - blin - katalonų - kado - Centrinės Amerikos indėnų kalba - karibų - kaukaziečių kalba - atsamų - čečėnų - cebuanų - keltų kalba - čamorų - čibča - čagatų - čukesų - mari - činuk žargonas - čoktau - čipvėjų - čerokių - čajenų - čamikų kalba - korsikiečių - koptų - kreolų ir pidžinų kalba pagal anglų - kreolų ir pidžinų kalba pagal prancūzų - kreolų ir pidžinų kalba pagal portugalų - kry - krymo turkų - kreolų ir pidžinų - čekų - kašubų - bažnytinė slavų - kušitik kalba - čiuvašų - valų - danų - dakotų - dargva - bidayuh kalba - vokiečių - Austrijos vokiečių - aukštoji Šveicarijos vokiečių - delavero - slave - dogribų - dinkų - dogri - dravidų kalba - Žemutinės Serbijos - dualų - Vidurio Vokietijos - divehi - dyulų - svazilando - eve - efik - senovės egiptiečių - ekajuk - graikų - elamitų - anglų - anglų kalba (australija) - Kanados anglų - anglų (britų) - anglų (amerikiečių) - Vidurio Anglijos - esperanto - ispanų - Lotynų Amerikos ispanų - Iberijos ispanų - estų - baskų - evondo - persų - fang - fanti - fulahų - suomių - tagalų - finougrų kalba - fidžio - farerų kalba - fon - prancūzų - Kanados prancūzų - Šveicarijos prancūzų - Vidurio Prancūzijos - senoji prancūzų - šiaurinių fryzų - rytų fryzų - frulan - vakarų fryzų - airių - ga - gajo - gbaja - škotų (gėlų) - germanų kalba - gyz - kiribati - galisų - Vidurio aukštosios Vokietijos - gvaranių - Senoji Aukštosios Vokietijos - gondi - gorontalo - gotų - grebo - senovės graikų - Šveicarijos vokiečių - gudžaratų - manks - gvičino - hausų - haido - havajų - hebrajų - hindi - hiligainon - himačali - hititų - hmong - hiri motu - kroatų - viršutinė sorbian - haičio - vengrų - hupa - armėnų - herero - interlingva - iban - indoneziečių - interkalba - igbo - sičuan ji - ijo - inupiak - iloko - indų kalba - indoeuropiečių kalba - ingušų - ido - Iraniečių - irako kalba - islandų - italų - inukitut - japonų - loiban - judėjų persų - judėjų arabų - javiečių - gruzinų - karakalpakų - kabilo - kačin - ju - kamba - karenų - kavi - kabardinų - tyap - koro - kongo - kasi - koisan kalba - kotanezų - kikui - kuaniama - kazachų - kalalisut - khmerų - kimbundu - kanadų - korėjiečių - kankani - kosreanų - kpele - kanuri - karačiajų balkarijos - karelų - kru kalba - kuruk - kašmyro - kurdų - kumik - kutenai - komi - kornų - kirgizų - lotynų - ladino - landa - lamba - liuksemburgiečių - lezginų - ganda - limburgiš - lingala - laosiečių - mongo - lozi - lietuvių - luba katanga - luba lula - luiseno - lunda - luo - lušai - latvių - madurezų - magahi - maithili - makasaro - mandingo - austronezų - masajų - mokša - mandar - mende - malagasijos - Vidurio Airijos - Maršalo salų - maorių - mikmak - minankabu - įvairios kalbos - makedonų - mon khmer kalba - malajalių - mongolų - manču - manipuri - manobo kalba - moldavų - mohok - mosi - maratų - malajiečių - maltiečių - kelios kalbos - munda kalba - krykų - mirandezų - marvari - birmiečių - majanų - erzyjų - naurų - nahuatlų - Šiaurės Amerikos indėnų kalba - neapoliečių - Norvegijos bokmal - šiaurės ndebelų - Žemutinės Vokietijos - nepalų - nevari - ndongų - nias - Nigerio kordofanų kalba - niuenų - olandų - flamandų - naujoji norvegų - norvegų - nogų - norsu - enko - pietų ndebele - šiaurės sothų - nubijos kalba - navajų - klasikinė nevari - nianja - niamvezi - niankole - nioro - nzima - provansalų - ojibva - oromo - orijų - osetinų - osage - osmanų turkų - otomanų kalba - pandžabų - papuasų kalba - pangasinan - pahlavi - pampanga - papiemento - palau - senoji persų - filipinų kalba - finikiečių - pali - lenkų - ponapean - prakrit kalba - senovės provansalų - puštūnų - portugalų - portugalų (Brazilijos) - Iberijos portugalų - kečujų - radžastano - rapanui - rarotongan - raeto romanų - rundi - rumunų - romanų kalba - romų kalba - rūt - rusų - aromanių - kinjarvanda - sanskritas - sandavi - jakutų - Pietų Amerikos indėnų kalba - sališan kalba - samarėjų aramių - sasak - santali - sardiniečių - siciliečių - škotų - sindų - šiaurinių samių - selkup - samitų kalba - sango - senoji airių - ženklų kalba - serbų-kroatų - šan - sinhalų - sidamo - siouan kalba - sino tibeto kalba - slovakų - slovėnų - slavų kalba - samoa - pietų sami - samių kalba - lule sami - inari sami - skolt sami - šona - soninke - somalių - sogdien - songhai - albanų - serbų - sranan tongo - sererų - svati - Nilo Sacharos kalba - pietų sesuto - sundų - sukuma - susu - šumerų - švedų - svahili - klasikinė siriečių - sirų - tamilų - tajų kalba - telugų - timne - tereno - tetum - tadžikų - tajų - tigrajų - tigre - tiv - turkmėnų - tokelau - tagalogų - „žvaigždžių kelionių“ - tlingit - tamašek - tsvana - tonga - niasa tongos - tok pisin - turkų - tsonga - tsimšian - totorių - tumbuka - tupi kalba - altaikų kalba - tuvalu - tvi - taitiečių - tuvių - udmurtų - uigūrų - ugaritic - ukrainiečių - umbundu - nenustatyta kalba - urdų - uzbekų - vai - venda - vietnamiečių - volapiuk - votik - valonų - vakašan kalba - valamo - varai - vašo - sorbų kalba - volof - kalmukų - kosų - jao - japezų - jidiš - joruba - jupik kalba - chuang - zapotekų - „Bliss“ simbolių kalba - zenaga - kinų - kinų supaprastinta - kinų tradicinė - zande - zulų - zuni - Nėra kalbinio turinio - zaza - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pasaulis - Afrika - Šiaurės Amerika - Pietų Amerika - Okeanija - Vakarų Afrika - Centrinė Amerika - Rytų Afrika - Šiaurės Afrika - Vidurio Afrika - Pietų Afrika [018] - Amerika - Šiaurinė Amerika - Karibai - Rytų Azija - Pietų Azija - Pietryčių Azija - Pietų Europa - Australija ir Naujoji Zelandija - Melanezija - Mikronezijos regionas - Polinezija - Pietų vidurio Azija - Azija - Centrinė Azija - Vakarų Azija - Europa - Rytų Europa - Šiaurės Europa - Vakarų Europa - Nepriklausomų Valstybių Sandrauga - Čekoslovakija - Lotynų Amerika ir Karibai - Andora - Jungtiniai Arabų Emyratai - Afganistanas - Antigva ir Barbuda - Angilija - Albanija - Armėnija - Olandijos Antilai - Angola - Antarktis - Argentina - Amerikos Samoa - Austrija - Australija - Aruba - Alandų salos - Azerbaidžanas - Bosnija ir Hercegovina - Barbadosas - Bangladešas - Belgija - Burkina Fasas - Bulgarija - Bahreinas - Burundis - Beninas - Švento Baltramiejaus sala - Bermuda - Brunėjus - Bolivija - Brazilija - Bahamos - Butanas - Bouvet sala - Botsvana - Baltarusija - Belizas - Kanada - Kokosų salos - Kongo Demokratinė Respublika - Centrinės Afrikos Respublika - Kongas - Šveicarija - Dramblio Kaulo Krantas - Kuko salos - Čilė - Kamerūnas - Kinija - Kolumbija - Kosta Rika - Serbija ir Juodkalnija - Kuba - Žaliasis Kyšulys - Kalėdų sala - Kipras - Čekija - Vokietija - Džibutis - Danija - Dominika - Dominikos Respublika - Alžyras - Ekvadoras - Estija - Egiptas - Vakarų Sachara - Eritrėja - Ispanija - Etiopija - Suomija - Fidžis - Falklando salos - Mikronezija - Farerų salos - Prancūzija - Gabonas - Didžioji Britanija - Grenada - Gruzija - Prancūzijos Gviana - Guernsis - Gana - Gibraltaras - Grenlandija - Gambija - Gvinėja - Gvadelupė - Pusiaujo Gvinėja - Graikija - Pietų Džordžija ir Pietų Sandvičo salos - Gvatemala - Guamas - Bisau Gvinėja - Gajana - Kinijos S.A.R.Honkongas - Heardo ir McDonaldo Salų Sritis - Hondūras - Kroatija - Haitis - Vengrija - Indonezija - Airija - Izraelis - Meino sala - Indija - Indijos vandenyno britų sritis - Irakas - Iranas - Islandija - Italija - Džersis - Jamaika - Jordanija - Japonija - Kenija - Kirgiztanas - Kambodža - Kiribatis - Komorai - Sent Kitsas ir Nevis - Šiaurės Korėja - Pietų Korėja - Kuveitas - Kaimanų salos - Kazachstanas - Laosas - Libanas - Šventoji Liucija - Lichtenšteinas - Šri Lanka - Liberija - Lesotas - Lietuva - Liuksemburgas - Latvija - Libija - Marokas - Monakas - Moldova - Juodkalnija - Saint-Martin - Madagaskaras - Maršalo Salos - Makedonija - Malis - Mianmaras - Mongolija - Macao - Marianos šiaurinės salos - Martinika - Mauritanija - Montserratas - Malta - Mauricijus - Maldivai - Malavis - Meksika - Malaizija - Mozambikas - Namibija - Naujoji Kaledonija - Nigeris - Norfolko sala - Nigerija - Nikaragva - Nyderlandai - Norvegija - Nepalas - Nauru - Niue - Naujoji Zelandija - Omanas - Panama - Peru - Prancūzų Polinezija - Papua Naujoji Gvinėja - Filipinai - Pakistanas - Lenkija - Sen Pjeras ir Mikelonas - Pitkernas - Puerto Rikas - Palestinos teritorija - Portugalija - Palau - Paragvajus - Kataras - Europos Sąjunga - Reunionas - Rumunija - Serbija - Rusijos Federacija - Ruanda - Saudo Arabija - Saliamono salos - Seišeliai - Sudanas - Švedija - Singapūras - Šventoji Elena - Slovėnija - Svalbardo ir Jan Majen salos - Slovakija - Siera Leonė - San Marinas - Senegalas - Somalis - Surinamas - San Tomė ir Principė - Salvadoras - Sirija - Svazilendas - Turkso ir Caicoso salos - Čadas - Prancūzijos Pietų sritys - Togas - Tailandas - Tadžikistanas - Tokelau - Rytų Timoras - Turkmėnistanas - Tunisas - Tonga - Turkija - Trinidadas ir Tobagas - Tuvalu - Taivanas - Tanzanija - Ukraina - Uganda - Jungtinių Valstijų mažosios aplinkinės salos - Jungtinės Valstijos - Urugvajus - Uzbekistanas - Vatikanas - Šventasis Vincentas ir Grenadinai - Venesuela - Didžiosios Britanijos Mergelių salos - Mergelių salos (JAV) - Vietnamas - Vanuatu - Wallisas ir Futuna - Samoa - Jemenas - Mayotte’as - Pietų Afrika - Zambija - Zimbabvė - Nežinoma ar neteisinga sritis - - - Kompiuteris - - - kalendorius - lyginimas - valiuta - - - Budistų kalendorius - Kiniečių kalendorius - Grigaliaus kalendorius - Hebrajų kalendorius - Islamo kalendorius - Japonų kalendorius - Kinijos respublikos kalendorius - - - JAV - Metrinė - - - Kalba: {0} - Rašmenys: {0} - Sritis: {0} - - - - [a ą b c č d e ę ė f-i į y j-p r s š t u ų ū v z ž] - [{į\u0307} {i\u0307} {i\u0307\u0301} {i\u0307\u0300} {i\u0307\u0303} {j\u0307} q w x] - [a ą b c č d e ę ė f-i į y j-p r s š t u ų ū v z ž] - - - „ - “ - „ - “ - - - {0}−{1} - - - ryte - - - - y G, MMMM d, EEEE - - - - - - - - - Sau - Vas - Kov - Bal - Geg - Bir - Lie - Rgp - Rgs - Spl - Lap - Grd - - - sausio - vasario - kovo - balandžio - gegužės - birželio - liepos - rugpjūčio - rugsėjo - spalio - lapkričio - gruodžio - - - - - S - V - K - B - G - B - L - R - R - S - L - G - - - Sausis - Vasaris - Kovas - Balandis - Gegužė - Birželis - Liepa - Rugpjūtis - Rugsėjis - Spalis - Lapkritis - Gruodis - - - - - - - Sk - Pr - An - Tr - Kt - Pn - Št - - - sekmadienis - pirmadienis - antradienis - trečiadienis - ketvirtadienis - penktadienis - šeštadienis - - - - - S - P - A - T - K - P - Š - - - - - - - K1 - K2 - K3 - K4 - - - pirmas ketvirtis - antras ketvirtis - trečias ketvirtis - ketvirtas ketvirtis - - - - - 1K - 2K - 3K - 4K - - - - priešpiet - popiet - - - prieš Kristų - po Kristaus - - - pr. Kr. - po Kr. - - - - - - y 'm'. MMMM d 'd'.,EEEE - - - - - y 'm'. MMMM d 'd'. - - - - - yyyy.MM.dd - - - - - yyyy-MM-dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - HH:mm - HH:mm:ss - MMM-dd - MM.dd - hh:mm a - hh:mm:ss a - Q yy - yyyy.MM - - - {0} - {1} - - M-M - - - MM-ddE - MM-ddE - MM-ddE - MM-ddE - - - MMM-MMM - - - MMM d 'd'.E - MMM d 'd'.E - MMM d 'd'.E - d 'd'.E - - - MMM d 'd'. - MMM d 'd'. - MMM d 'd'.-d 'd'. - - - MM-dd - MM-dd - MM-dd - MM-dd - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - yyyy-MM - yyyy-MM - yyyy-MM - yyyy-MM - - - yyyy-MM-ddE - yyyy-MM-ddE - yyyy-MM-ddE - yyyy-MM-ddE - yyyy-MM-ddE - yyyy-MM-ddE - - - y 'm'. MMM-MMM - y 'm'. MMM - y 'm'. MMM - - - y 'm'. MMM d 'd'.,E - MMM d 'd'.,E - y 'm'. MMM d 'd'.,E - d 'd'.,E - y 'm'. MMM d 'd'.,E - y 'm'. MMM d 'd'.,E - - - y 'm'. MMM d 'd'. - MMM d 'd'. - y 'm'. MMM d 'd'.-d 'd'. - y 'm'. MMM d 'd'. - y 'm'. MMM d 'd'. - - - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - - - - - - era - - - metai - - - mėnuo - - - savaitė - - - diena - už užvakar - užvakar - vakar - šiandien - rytoj - poryt - užporyt - - - savaitės diena - - - dienos metas - - - valanda - - - minutė - - - sekundė - - - juosta - - - - - - +HH:mm;−HH:mm - GMT{0} - {0} - {0} ({1}) - - Nežinoma - - - Andora - - - Dubajus - - - Kabulas - - - Tirana - - - Jerevanas - - - Palmeris - - - Pietų ašigalis - - - Syova - - - Vostokas - - - Dumont D'Urville - - - Rio Galjegosas - - - Mendosa - - - San Chuanas - - - Ušuaja - - - La Riocha - - - Sent Luisas - - - Katamarka - - - Chuchujus - - - Tukumanas - - - Kordoba - - - Buenos Airės - - - Viena - - - Pertas - - - Darvinas - - - Adelaidė - - - Melburnas - - - Hobartas - - - Sidnėjus - - - Brisbanas - - - Lordo Hau sala - - - Barbadosas - - - Daka - - - Briuselis - - - Sofija - - - Bahreinas - - - Porto Novas - - - Bermudų salos - - - Brunėjus - - - La Pasas - - - Rio Brankas - - - Manausas - - - Kujaba - - - Santarenas - - - Belemas - - - San Paulas - - - Resifė - - - Gaboronas - - - Minskas - - - Belizas - - - Dosonas - - - Vaithorsas - - - Vankuveris - - - Dosono įlanka - - - Jelounaifas - - - Edmontonas - - - Kembridžo įlanka - - - Redžina - - - Vinipegas - - - Tander Bėjus - - - Nipigonas - - - Torontas - - - Monrealis - - - Ikaluitas - - - Pangnirtungas - - - Monktonas - - - Halifaksas - - - Kinšasa - - - Lubumbašis - - - Brazavilis - - - Ciurichas - - - Abidžanas - - - Velykų sala - - - Santjagas - - - Kashi - - - Urumči - - - Čongčingas - - - Harbinas - - - Kosta Rika - - - Kalėdų sala - - - Nikosija - - - Berlynas - - - Džibutis - - - Kopenhaga - - - Dominika - - - Santo Domingas - - - Galapagai - - - Talinas - - - Kairas - - - Asmara - - - Kanarų salos - - - Seuta - - - Madridas - - - Addis Abeba - - - Helsinkis - - - Fidžis - - - Stenlis - - - Trukas - - - Ponapė - - - Farerai - - - Paryžius - - - Librevilis - - - Londonas - - - Tbilisis - - - Kajenas - - - Gibraltaras - - - Tūla - - - Godthabas - - - Danmarkshavn’as - - - Konakris - - - Gvadelupė - - - Atėnai - - - Gvatemala - - - Guamas - - - Gajana - - - Honkongas - - - Budapeštas - - - Džakarta - - - Pontianakas - - - Makasaras - - - Džajapura - - - Dublinas - - - Bagdadas - - - Teheranas - - - Reikjavikas - - - Roma - - - Jamaika - - - Amanas - - - Nairobis - - - Biškekas - - - Enderburis - - - Tarava - - - Komoras - - - St. Kitsas - - - Seulas - - - Kuveitas - - - Kaimanas - - - Aktau - - - Uralskas - - - Aktiubinskas - - - Kzyl-Orda - - - Alma Ata - - - Vientianas - - - Beirutas - - - St. Lucia - - - Vaducas - - - Kolombo - - - Monrovija - - - Liuksemburgas - - - Ryga - - - Tripolis - - - Kasablanka - - - Monakas - - - Antananarivas - - - Rangūnas - - - Ulan-Batoras - - - Čoibalsanas - - - Makao - - - Saipanas - - - Martinika - - - Montseratas - - - Mauricijus - - - Maldyvai - - - Tichuana - - - Hermosiljas - - - Mazatlanas - - - Čihuahua - - - Monterėjus - - - Meksikas - - - Kankunas - - - Kučingas - - - Norfolkas - - - Managva - - - Amsterdamas - - - Oslas - - - Maskatas - - - Taitis - - - Markizo salos - - - Varšuva - - - Pitcairno salos - - - Puerto Rikas - - - Gazos ruožas - - - Azorai - - - Lisabona - - - Asunsjonas - - - Kataras - - - Reunionas - - - Bukareštas - - - Kaliningradas - - - Maskva - - - Volgogradas - - - Jekaterinburgas - - - Omskas - - - Novosibirskas - - - Krasnojarskas - - - Irkutskas - - - Jakutskas - - - Vladivostokas - - - Sachalinas - - - Magadanas - - - Kamčiatka - - - Anadyrė - - - Rijadas - - - Gvadalkanalas - - - Chartumas - - - Stokholmas - - - Singapūras - - - Šv. Helena - - - Frytaunas - - - Dakaras - - - Mogadišas - - - San Tomė - - - Salvadoras - - - Damaskas - - - Grand Terkas - - - Ndžamena - - - Bankokas - - - Dušanbė - - - Dilis - - - Ašchabadas - - - Tunisas - - - Stambulas - - - Port of Speinas - - - Užhorodas - - - Kijevas - - - Simferopolis - - - Zaporožė - - - Jungtinių Valstijų mažosios aplinkinės salos (Midway - - - Džonstonas - - - Jungtinių Valstijų mažosios aplinkinės salos (Klivateris) - - - Ankoridžas - - - Jakutat - - - Džūnas - - - Los Andželas - - - Boisė - - - Fyniksas - - - Denveris - - - Naujasis Salemas, Šiaurės Dakota - - - Jungtinės Valstijos (Centras, Šiaurės Dakota) - - - Čikaga - - - Vincenas, Indiana - - - Peterburgas - - - Noksas, Indiana - - - Vinamakas, Indiana - - - Luizvilis - - - Monticelas, Kentukis - - - Detroitas - - - Niujorkas - - - Montevidëjas - - - Samarkandas - - - Taškentas - - - Sant Vincentė - - - Karakasas - - - St. Thomas - - - Efatas - - - Apija - - - Adenas - - - Majotas - - - Johanesburgas - - - - Centrinės Afrikos laikas - - - - - Rytų Afrikos laikas - - - - - Pietų Afrikos laikas - Pietų Afrikos standartinis laikas - - - - - Vakarų Afrikos laikas - Vakarų Afrikos vasaros laikas - - - - - Aliaskos laikas - Aliaskos standartinis laikas - Aliaskos vasaros laikas - - - - - Aliaskos-Havajų laikas - Aliaskos-Havajų standartinis laikas - Aliaskos-Havajų vasaros laikas - - - - - Amazonės laikas - Amazonės vasaros laikas - - - - - Centro laikas - Centro standartinis laikas - Centro vasaros laikas - - - - - Rytų laikas - Rytų standartinis laikas - Rytų vasaros laikas - - - - - Ramiojo vandenyno laikas - Ramiojo vandenyno standartinis laikas - Ramiojo vandenyno vasaros laikas - - - - - AQTT (Aktau) - AQTST (Aktau) - - - - - AQTT (Aktobė) - AQTST (Aktobė) - - - - - Argentinos laikas - Argentinos vasaros laikas - - - - - Vakarų Argentinos laikas - - - - - Atlanto laikas - Atlanto standartinis laikas - Atlanto vasaros laikas - - - - - Beringo laikas - Beringo standartinis laikas - Beringo vasaros laikas - - - - - Bolivijos laikas - - - - - Brazilijos laikas - Brazilijos vasaros laikas - - - - - Čilės laikas - Čilės vasaros laikas - - - - - Kolumbijos laikas - Kolumbijos vasaros laikas - - - - - Kubos laikas - Kubos standartinis laikas - Kubos vasaros laikas - - - - - Olandų Gajanos laikas - - - - - Ekvadoro laikas - - - - - Vidurio Europos laikas - Vidurio Europos vasaros laikas - - - CET - CEST - - - - - Rytų Europos laikas - Rytų Europos vasaros laikas - - - EET - EEST - - - - - WET - WEST - - - - - Prancūzų Gajanos laikas - - - - - GMT - - - - - Grenlandijos centro laikas - Grenlandijos centro vasaros laikas - - - - - Grenlandijos rytų laikas - Grenlandijos rytų vasaros laikas - - - - - Grenlandijos vakarų laikas - Grenlandijos vakarų vasaros laikas - - - - - Gajanos laikas - - - - - Kuibyševo laikas - Kuibyševo vasaros laikas - - - - - Maskvos laikas - Maskvos standartinis laikas - Maskvos vasaros laikas - - - - - Niufaundlendo laikas - Niufaundlendo standartinis laikas - Niufaundlendo vasaros laikas - - - - - Paragvajaus laikas - Paragvajaus vasaros laikas - - - - - Peru laikas - Peru vasaros laikas - - - - - Samaros laikas - Samaros vasaros laikas - - - - - SAMT (Samarkandas) - SAMST (Samarkandas) - - - - - Turkijos laikas - Turkijos vasaros laikas - - - - - Urugvajaus laikas - Urugvajaus vasaros laikas - - - - - Venesuelos laikas - - - - - Volgogrado laikas - Volgogrado vasaros laikas - - - - - - - , - . - ; - % - 0 - # - + - − - ×10^ - ‰ - ∞ - ¤¤¤ - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - {0} {1} - - - - Andoros peseta - Andoros pesetos - Andoros peseta - Andoros pesetos - - - JAE dirhamas - - - Afganis (1927-2002) - Afganiai (1927-2002) - Afganis (1927-2002) - Afganiai (1927-2002) - - - Afganis - Afganiai - Afganis - Afganiai - - - Albanijos lekas - Albanijos lekai - Albanijos lekas - Albanijos lekai - - - Armėnijos dramas - Armėnijos dramai - Armėnijos dramas - Armėnijos dramai - - - Nyderlandų Antilų guldenas - Nyderlandų Antilų guldenas - Nyderlandų Antilų guldenai - - - Angolos kvanza - Angolos kvanzos - Angolos kvanza - Angolos kvanzai - - - Angolos kvanza (1977-1990) - Angolos kvanzos (1977-1990) - Angolos kvanza (1977-1990) - Angolos kvanzai (1977-1990) - - - Angolos naujoji kvanza - Angolos naujosios kvanzos - Angolos naujoji kvanza - Angolos naujosios kvanzos - - - Argentinos pesas (1983-1985) - Argentinos pesai (1983-1985) - Argentinos pesas (1983-1985) - Argentinos pesai (1983-1985) - - - Argentinos pesas - Argentinos pesas - Argentinos pesai - - - Austrijos šilingas - Austrijos šilingai - Austrijos šilingas - Austrijos šilingai - - - Australijos doleris - Australijos doleris - Australijos doleriai - - - Arubos guldenas - Arubos guldenai - Arubos guldenas - Arubos guldenai - - - Azerbaidžano manatas (1993-2006) - Azerbaidžano manatai (1993-2006) - Azerbaidžano manatas (1993-2006) - Azerbaidžano manatai (1993-2006) - - - Azerbaidžano manatas - Azerbaidžano manatai - Azerbaidžano manatas - Azerbaidžano manatai - - - Bosnijos ir Hercegovinos dinaras - Bosnijos ir Hercegovinos dinarai - Bosnijos ir Hercegovinos dinaras - Bosnijos ir Hercegovinos dinarai - - - Bosnijos ir Hercegovinos konvertuojamoji markė - Bosnijos ir Hercegovinos konvertuojamosios markės - Bosnijos ir Hercegovinos konvertuojamoji markė - Bosnijos ir Hercegovinos konvertuojamosios markės - - - Barbadoso doleris - Barbadoso doleriai - Barbadoso doleris - Barbadoso doleriai - - - Bangladešo taka - Bangladešo takos - Bangladešo taka - Bangladešo takos - - - Belgijos frankas (konvertuojamas) - Belgijos frankai (konvertuojami) - Belgijos frankas (konvertuojamas) - Belgijos frankai (konvertuojami) - - - Belgijos frankas - Belgijos frankai - Belgijos frankas - Belgijos frankai - - - Belgijos frankas (finansinis) - Belgijos frankai (finansiniai) - Belgijos frankas (finansinis) - Belgijos frankai (finansiniai) - - - Bulgarijos levas (1962-1999) - Bulgarijos levai - Bulgarijos levas (1962-1999) - Bulgarijos levai - - - Bulgarijos levas - Bulgarijos naujasis levas - Bulgarijos naujasis levai - - - Bahreino dinaras - Bahreino dinarai - Bahreino dinaras - Bahreino dinarai - - - Burundžio frankas - Burundžio frankai - Burundžio frankas - Burundžio frankai - - - Bermudos doleris - Bermudos doleriai - Bermudos doleris - Bermudos doleriai - - - Brunėjaus doleris - Brunėjaus doleris - Brunėjaus doleriai - - - Bolivijos bolivijanas - Bolivijos bolivijanas - Bolivijos bolivijanai - - - Bolivijos pesas - Bolivijos pesai - Bolivijos pesas - Bolivijos pesai - - - Bolivijos mvdol - Bolivijos mvdol - Bolivijos mvdol - - - Brazilijos naujasis kruzeiras - Brazilijos naujieji kruzeirai - Brazilijos naujasis kruzeiras - Brazilijos naujieji kruzeirai - - - Brazilijos kruzadas - Brazilijos kruzadai - Brazilijos kruzadas - Brazilijos kruzadai - - - Brazilijos kruzeiras (1990-1993) - Brazilijos kruzeirai (1990-1993) - Brazilijos kruzeiras (1990-1993) - Brazilijos kruzeirai (1990-1993) - - - Brazilijos realas - Brazilijos realas - Brazilijos realai - - - Brazilijos naujasis kruzadas - Brazilijos naujieji kruzadai - Brazilijos naujasis kruzadas - Brazilijos naujieji kruzadai - - - Brazilijos kruzeiras - Brazilijos kruzeirai - Brazilijos kruzeiras - Brazilijos kruzeirai - - - Bahamų doleris - Bahamų doleriai - Bahamų doleris - Bahamų doleriai - - - Butano ngultrumas - Butano ngultrumai - Butano ngultrumas - Butano ngultrumai - - - Botsvanos pula - Botsvanos pulos - Botsvanos pula - Botsvanos pulos - - - Baltarusijos naujasis rublis - Baltarusijos naujasis rublis - Baltarusijos naujieji rubliai - - - Baltarusijos rublis - Baltarusijos rublis - Baltarusijos rubliai - - - Belizo doleris - Belizo doleris - Belizo doleriai - - - Kanados doleris - Kanados doleris - Kanados doleriai - - - Kongo frankas - Kongo frankas - Kongo frankai - - - Šveicarijos frankas - - - Čilės pesas - Čilės pesas - Čilės pesai - - - Ženminbi juanis - Kinijos juanis - Kinijos juaniai - - - Kolumbijos pesas - Kolumbijos pesas - Kolumbijos pesai - - - Kosta Rikos kolonas - Kosta Rikos kolonas - Kosta Rikos kolonai - - - Senasis Serbijos dinaras - - - Kubos pesas - - - Kipro svaras - - - Čekijos krona - - - Rytų Vokietijos ostmarkė - - - Vokietijos markė - - - Džibučio frankas - - - Danijos krona - - - Dominikos pesas - - - Alžyro dinaras - Alžyro dinaras - Alžyro dinarai - - - Ekvadoro sukrė - - - Ekvadoro constante (UVC) - - - Estijos krona - - - Egipto svaras - - - Eritrėjos nakfa - - - Ispanijos peseta - - - Etiopijos biras - - - Euras - - - Suomijos markė - - - Fidžio doleris - - - Folklando salų svaras - - - Prancūzijos frankas - - - Svaras sterlingų - Didžiosios Britanijos svaras sterlingų - Didžiosios Britanijos svarai sterlingų - - - Gruzijos laris - - - Ganos sedis (1979-2007) - - - Ganos sedis - - - Gibraltaro svaras - - - Gambijos dalasis - - - Gvinėjos frankas - - - Graikijos drachma - - - Gvatemalos kecalis - - - Portugalų Gvinėjos eskudas - - - Gvinėjos-Bisau pesas - - - Gajanos doleris - - - Honkongo doleris - - - Hondūro lempira - - - Kroatijos dinaras - - - Kroatijos kuna - - - Haičio gurdas - - - Vengrijos forintas - - - Indonezijos rupija - - - Airijos svaras - - - Izraelio svaras - - - Izraelio šekelis - - - Indijos rupija - - - Irako dinaras - - - Irano rialas - - - Islandijos krona - - - Italijos lira - - - Jamaikos doleris - - - Jordanijos dinaras - - - Jena - - - Kenijos šilingas - - - Kirgizijos somas - - - Komoro frankas - Komoro frankas - Komoro frankai - - - Šiaurės Korėjos vonas - - - Pietų Korėjos vonas - - - Kuveito dinaras - - - Kaimanų salų doleris - - - Kazachstano tengė - - - Laoso kipas - - - Libano svaras - - - Šri Lankos rupija - - - Liberijos doleris - - - Lesoto lotis - - - Litas - - - Lietuvos talonas - - - Liuksemburgo konvertuojamas frankas - - - Liuksemburgo frankas - - - Liuksemburgo finansinis frankas - - - Latvijos latas - - - Latvijos rublis - - - Libijos dinaras - - - Maroko dirhamas - - - Maroko frankas - - - Moldovos lėja - - - Madagaskaro ariaris - - - Madagaskaro frankas - - - Makedonijos denaras - - - Malio frankas - - - Mianmaro kijatas - - - Mongolijos tugrikas - - - Makao pataka - - - Mauritanijos ugija - - - Maltos lira - - - Maltos svaras - - - Mauricijaus rupija - - - Maldyvų salų rufija - - - Malavio kvača - - - Meksikos pesas - - - Meksikos sidabrinis pesas (1861-1992) - - - Meksikos United de Inversion (UDI) - - - Malaizijos ringitas - - - Mozambiko eskudas - - - Senasis Mozambiko metikalis - - - Mozambiko metikalis - - - Namibijos doleris - - - Nigerijos naira - - - Nikaragvos kardoba - - - Nikaragvos kardoba oras - - - Nyderlandų guldenas - - - Norvegijos krona - - - Nepalo rupija - - - Naujosios Zelandijos doleris - - - Omano rialas - - - Panamos balboja - - - Peru naujasis solis - - - Peru solis - - - Papua Naujosios Gvinėjos kina - - - Filipinų pesas - - - Pakistano rupija - - - Lenkijos zlotas - - - Lenkijos zlotas (1950-1995) - - - Portugalijos eskudas - - - Paragvajaus guaranis - - - Kataro rialas - - - Rodezijos doleris - - - Senoji Rumunijos lėja - - - Naujoji Rumunijos lėja - - - Serbijos dinaras - - - Rusijos rublis - - - Rusijos rublis (1991-1998) - - - Ruandos frankas - - - Saudo Arabijos rialas - - - Saliamono salų doleris - - - Seišelių salų rupija - - - Senasis Sudano dinaras - - - Sudano svaras - - - Senasis Sudano svaras - - - Švedijos krona - - - Singapūro doleris - - - Šv. Elenos salų svaras - - - Slovėnijos tolaras - - - Slovakijos krona - - - Siera Leonės leonė - - - Somalio šilingas - - - Surimano doleris - - - Surimano guldenas - - - Sao Tomės ir Principės dobra - - - Sovietų Sąjungos rublis - - - Salvadoro kolonas - - - Sirijos svaras - - - Svazilendo lilangenis - - - Tailando batas - - - Tadžikistano rublis - - - Tadžikistano somonis - - - Turkmėnistano manatas - - - Tuniso dinaras - - - Tongo paanga - - - Timoro eskudas - - - Turkijos lira - - - Naujoji Turkijos lira - - - Trinidado ir Tobago doleris - - - Naujasis Taivano doleris - - - Tanzanijos šilingas - - - Ukrainos grivina - - - Ukrainos karbovanecas - - - Ugandos šilingas (1966-1987) - - - Ugandos šilingas - - - JAV doleris - - - JAV doleris (kitos dienos) - - - JAV doleris (šios dienos) - - - Urugvajaus pesas (1975-1993) - - - Urugvajaus pesas - - - Uzbekistano sumas - - - Venesuelos bolivaras - - - Stiprusis Venesuelos bolivaras - - - Vietnamo dongas - - - Vakarų Samoa tala - - - CFA BEAC frankas - CFA BEAC frankas - CFA BEAC frankai - - - Sidabras - - - Auksas - - - Europos suvestinės vienetas - - - Europos piniginis vienetas - - - Europos valiutos/apskaitos vienetas (XBC) - - - Europos valiutos/apskaitos vienetas (XBD) - - - Rytų Karibų doleris - - - SDR Tarptautinis valiutos fondas - - - Europos piniginis vienetas (1993-1999) - - - Aukso frankas - - - Uic -frankas - - - CFA BCEAO frankas - CFA BCEAO frankas - CFA BCEAO frankai - - - Paladis - - - CFP frankas - CFP frankas - CFP frankai - - - Platina - - - RINET fondai - - - Tikrinamas valiutos kodas - - - Nežinoma arba neteisinga valiuta - - - Jemeno dinaras - - - Jemeno rialas - - - Jugoslavijos naujasis dinaras - - - Jugoslavijos konvertuojamas dinaras - - - Pietų Afrikos finansinis randas - - - Pietų Afrikos randas - - - Zambijos kvača - - - Zairo naujasis zairas - - - Zairo zairas - - - Zimbabvės doleris - - - - - - {0} dienos - {0} diena - {0} dienų - - - {0} valandos - {0} valanda - {0} valandų - - - {0} minutės - {0} minutė - {0} minučių - - - {0} mėnesiai - {0} mėnuo - {0} mėnesių - - - {0} sekundės - {0} sekundė - {0} sekundžių - - - {0} savaitės - {0} savaitė - {0} savaičių - - - {0} metai - {0} metai - {0} metų - - - - - taip:t - ne:n - - - - diff --git a/lib/zend/Zend/Locale/Data/lt_LT.xml b/lib/zend/Zend/Locale/Data/lt_LT.xml deleted file mode 100644 index 38c47a3242..0000000000 --- a/lib/zend/Zend/Locale/Data/lt_LT.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/lv.xml b/lib/zend/Zend/Locale/Data/lv.xml deleted file mode 100644 index abe2966775..0000000000 --- a/lib/zend/Zend/Locale/Data/lv.xml +++ /dev/null @@ -1,2987 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - afāru - abhāzu - ačinu - ačolu - adangmu - adigu - avesta - afrikandu - afroaziātu valodas - afrihili - ainu - akanu - akadiešu - aleutu - algonkinu valodas - dienvidaltajiešu - amharu - aragoniešu - senangļu - angika - apaču valodas - arābu - aramiešu - araukāņu - arapahu - mākslīgās valodas - aravaku - asamiešu - astūriešu - atapasku valodas - austrāliešu valodas - avāru - avadhu - aimaru - azerbaidžāņu - baškīru - bandu - bamileku valoda - beludžu - baliešu - basu - baltu valodas - baltkrievu - bedžu - bembu - berberu - bulgāru - biharu - bhodžpūru - bišlamā - bikolu - binu - siksiku - bambaru - bengāļu - bantu - tibetiešu - bretoņu - bradžiešu - bosniešu - bataku - burjatu - bugu - bilinu - katalāņu - kadu - Centrālamerikas indiāņu valodas - karību - kaukāziešu valodas - čečenu - sebuāņu - ķeltu valoda - čamorru - čibču - džagatajs - čūku - mariešu - činuku žargons - čoktavu - čipevaianu - irokēzu - šejenu - čamiešu valodas - korsikāņu - koptu - angliskās kreoliskās valodas un pidžinvalodas - franciskās kreoliskās valodas un pidžinvalodas - portugāliskās kreoliskās valodas un pidžinvalodas - krī - Krimas tatāru - kreoliskās valodas un pidžinvalodas - čehu - kašubu - baznīcslāvu - kušītu valodas - čuvašu - velsiešu - dāņu - dakotu - dargu - dajaku - vācu - Austrijas vācu - Šveices augšvācu - delavēru - sleivu - dogribu - dinku - dogru - dravīdu valodas - lejassorbu - dualu - vidusholandiešu - maldīviešu - diūlu - dzongke - evu - efiku - ēģiptiešu - ekadžuku - grieķu - elamiešu - angļu - Austrālijas angļu - Kanādas angļu - angļu (ASV) - vidusangļu - esperanto - spāņu - spāņu (Latīņamerika) - ibēriešu spāņu - igauņu - basku - evondu - persiešu - fangu - fantu - fulu - somu - filipīniešu - somugru valodas - fidžiešu - fēru - fonu - franču - Kanādas franču - Šveices franču - vidusfranču - senfranču - ziemeļfrīzu - austrumfrīzu - friūlu - rietumfrīzu - īru - ga - gajo - gbaju - gēlu - ģermāņu valodas - gēzu - kiribatiešu - galisiešu - vidusaugšvācu - gvaranu - senaugšvācu - gondu valodas - gorontalu - gotu - grebo - sengrieķu - Šveices vācu - gudžaratu - meniešu - kučinu - hausu - haidu - havajiešu - ivrits - hindi - hiligainonu - himačali - hetu - hmongu - hirimotu - horvātu - augšsorbu - haitiešu - ungāru - hupu - armēņu - hereru - interlingva - ibanu - indonēziešu - interlingve - igbo - Sičuaņas ji - idžbu - inupiaku - iloku - indoāriešu valodas - indoeiropiešu valodas - ingušu - ido - irāņu valodas - irokēzu valodas - īslandiešu - itāliešu - inuītu - japāņu - ložbans - jūdpersiešu - jūdarābu - javiešu - gruzīnu - karakalpaku - kabilu - kačinu - kambu - karenu - kāvi - kabardiešu - koru - kongu - khasu - hosjanu valodas - hotaniešu - kikuju - kvaņamu - kazahu - grenlandiešu - khmeru - kimbundu - kannadu - korejiešu - konkanu - kosrājiešu - kpellu - kanuru - karačaju un balkāru - karēļu - krū - kuruhu - kašmiriešu - kurdu - kumiku - kutenaju - komiešu - korniešu - kirgīzu - latīņu - ladino - landu - lambu - luksemburgiešu - lezgīnu - gandu - limburgiešu - lingala - laosiešu - mongu - lozu - lietuviešu - lubakatanga - lubalulva - luisenu - lundu - luo - lušeju - latviešu - maduriešu - magahiešu - maithili - makasaru - mandingu - austronēziešu valoda - masaju - mokšu - mandaru - mendu - malagasu - vidusīru - māršaliešu - maoru - mikmaku - minangkabavu - dažādas valodas - maķedoniešu - monkhmeru valodas - malajalu - mongoļu - mandžūru - manipūru - manobu valodas - moldāvu - mohauku - mosu - maratu - malajiešu - maltiešu - vairākas valodas - mundu valoda - krīku - mirandiešu - marvaru - birmiešu - maiju valodas - erzju - nauruiešu - navatlu - Ziemeļamerikas indiāņu valodas - neapoliešu - norvēģu bukmols - ziemeļndebelu - lejasvācu - nepāliešu - nevaru - ndongu - njasu - nigēriešu-kordofāņu valodas - niuāņu - holandiešu - flāmu - jaunnorvēģu - norvēģu - nogaju - sennorvēģu - n-ko - dienvidndebelu - ziemeļsotu - nūbiešu valodas - navahu - klasiskā nevaru - čičeva - ņamvezu - ņankolu - ņoru - nzemu - oksitāņu - odžibvu - oromu - orisiešu - osetīnu - važāžu - turku osmaņu - otomu valoda - pandžabu - papuasu valoda - pangasinanu - pehlevi - pampanganu - papjamento - palaviešu - senpersu - filipīniešu valoda - feniķiešu - pāli - poļu - ponapiešu - prākrita valoda - senprovansiešu - puštu - portugāļu - Brazīlijas portugāļu - ibēriešu portugāļu - kečvu - radžastāņu - rapanuju - rarotongiešu - retoromāņu - rundu - rumāņu - romāņu valoda - čigānu - sakne - krievu - aromūnu - kiņaruanda - sanskrits - sandavu - jakutu - Dienvidamerikas indiāņu - sališu valodas - Samārijas aramiešu - sasaku - santalu - sardīniešu - sicīliešu - skotu - sindhu - ziemeļsāmu - selkupu - semītu valodas - sangu - senīru - zīmju valodas - serbu-horvātu - šanu - singāļu - sidamu - siū valodas - sinotibetiešu valodas - slovāku - slovēņu - slāvu - samoāņu - dienvidsāmu - sāmu valoda - Luleo sāmu - Inari sāmu - skoltsāmu - šonu - soninku - somāļu - sogdiešu - songaju - albāņu - serbu - sranantogo - serēru - svatu - Nīlas-Sahāras valodas - sesoto - sundaniešu - sukumu - susu - šumeru - zviedru - svahili - klasiskā sīriešu - sīriešu - tamilu - taju valodas - telugu - temnu - tereno - tetumu - tadžiku - taju - tigrinja - tigru - tivu - turkmēņu - tokelaviešu - tagalu - klingoņu - tlinkitu - tuaregu - cvanu - tongu - Njasas tongu valoda - tokpisins - turku - congu - cimšiāņu - tatāru - tumbuku - tupu valodas - altajiešu valodas - tuvaliešu - tvī - taitiešu - tuviešu - udmurtu - uiguru - ugaritiešu - ukraiņu - umbundu - nezināma vai nederīga valoda - urdu - uzbeku - vaju - vendu - vjetnamiešu - volapiks - votu - valoņu - vakašu valodas - valamu - varaju - vašo - sorbu - volofu - kalmiku - khosu - jao - japiešu - jidišs - jorubu - jopiku valodas - džuanu - sapoteku - zenagu - ķīniešu - ķīniešu vienkāršotā - ķīniešu tradicionālā - zandē - zulu - zunju - Bez lingvistiska satura - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - pasaule - Āfrika - Ziemeļamerika - Dienvidamerika - Okeānija - Rietumāfrika - Centrālamerika - Austrumāfrika - Ziemeļāfrika - Vidusāfrika - Āfrikas dienvidi - Amerika - Amerikas ziemeļi - Karību jūras reģions - Austrumāzija - Dienvidāzija - Centrālaustrumāzija - Dienvideiropa - Austrālija un Jaunzēlande - Melanēzija - Mikronēzijas reģions - Polinēzija - Centrāldienvidāzija - Āzija - Centrālāzija - Rietumāzija - Eiropa - Austrumeiropa - Ziemeļeiropa - Rietumeiropa - Neatkarīgo Valstu Savienība - Latīņamerika un Karību jūras reģions - Andora - Apvienotie Arābu Emirāti - Afganistāna - Antigva un Barbuda - Angilja - Albānija - Armēnija - Nīderlandes Antiļas - Angola - Antarktika - Argentīna - Amerikāņu Samoa - Austrija - Austrālija - Aruba - Olandes salas - Azerbaidžāna - Bosnija un Hercegovina - Barbadosa - Bangladeša - Beļģija - Burkinafaso - Bulgārija - Bahreina - Burundi - Benina - Senbartelmī - Bermudu salas - Bruneja - Bolīvija - Brazīlija - Bahamas - Butāna - Buvē sala - Botsvāna - Baltkrievija - Beliza - Kanāda - Kokosu jeb Kīlinga salas - Kongo Demokrātiskā Republika - Centrālāfrikas Republika - Kongo - Šveice - Kotdivuāra - Kuka salas - Čīle - Kamerūna - Ķīna - Kolumbija - Kostarika - Serbija un Melnkalne - Kuba - Kaboverde - Ziemsvētku sala - Kipra - Čehija - Vācija - Džibutija - Dānija - Dominika - Dominikānas Republika - Alžīrija - Ekvadora - Igaunija - Ēģipte - Rietumsahāra - Eritreja - Spānija - Etiopija - Somija - Fidži - Folklenda salas - Mikronēzijas Federatīvās Valstis - Farēru salas - Francija - Gabona - Lielbritānija - Grenāda - Gruzija - Franču Gviāna - Gērnsija - Gana - Gibraltārs - Grenlande - Gambija - Gvineja - Gvadelupa - Ekvatoriālā Gvineja - Grieķija - Dienviddžordžija un Dienvidsendviču salas - Gvatemala - Guama - Gvineja-Bisava - Gajāna - Ķīnas īpašās pārvaldes apgabals Honkonga - Hērda un Makdonalda salas - Hondurasa - Horvātija - Haiti - Ungārija - Indonēzija - Īrija - Izraēla - Mena - Indija - Britu Indijas okeāna teritorija - Irāka - Irāna - Īslande - Itālija - Džērsija - Jamaika - Jordānija - Japāna - Kenija - Kirgīzija - Kambodža - Kiribati - Komoru salas - Sentkitsa un Nevisa - Ziemeļkoreja - Dienvidkoreja - Kuveita - Kaimanu salas - Kazahstāna - Laosa - Libāna - Sentlūsija - Lihtenšteina - Šrilanka - Libērija - Lesoto - Lietuva - Luksemburga - Latvija - Lībija - Maroka - Monako - Moldova - Melnkalne - Senmartēna - Madagaskara - Māršala salas - Maķedonija - Mali - Mjanma - Mongolija - Ķīnas īpašās pārvaldes apgabals Makao - Ziemeļu Marianas salas - Martinika - Mauritānija - Montserrata - Malta - Maurīcija - Maldīvija - Malāvija - Meksika - Malaizija - Mozambika - Namībija - Jaunkaledonija - Nigēra - Norfolkas sala - Nigērija - Nikaragva - Nīderlande - Norvēģija - Nepāla - Nauru - Niue - Jaunzēlande - Omāna - Panama - Peru - Franču Polinēzija - Papua-Jaungvineja - Filipīnas - Pakistāna - Polija - Senpjēra un Mikelona - Pitkērna - Puertoriko - Palestīniešu pašpārvaldes teritorija - Portugāle - Palau - Paragvaja - Katara - ASV Mazās Aizjūras salas - Eiropas Savienība - Reinjona - Rumānija - Serbija - Krievija - Ruanda - Saūda Arābija - Zālamana salas - Seišeļu salas - Sudāna - Zviedrija - Singapūra - Sv. Helēnas sala - Slovēnija - Svalbāra un Jana Majena sala - Slovākija - Sjerraleone - Sanmarīno - Senegāla - Somālija - Surinama - Santome un Prinsipi - Salvadora - Sīrija - Svazilenda - Tērksas un Kaikosas salas - Čada - Franču dienvidu teritorijas - Togo - Taizeme - Tadžikistāna - Tokelau - Austrumtimora - Turkmenistāna - Tunisija - Tonga - Turcija - Trinidāda un Tobāgo - Tuvalu - Taivāna - Tanzānija - Ukraina - Uganda - ASV mazās aizjūras teritorijas - Amerikas Savienotās Valstis - Urugvaja - Uzbekistāna - Vatikāns - Sentvinsenta un Grenadīnas - Venecuēla - Britu Virdžīnu salas - Amerikāņu Virdžīnu salas - Vjetnama - Vanuatu - Volisa un Futuna - Samoa - Jemena - Majota - Dienvidāfrika - Zambija - Zimbabve - nezināms vai nederīgs reģions - - - kalendārs - salīdzināšana - valūta - - - tradicionālās ķīniešu valodas kārtošanas secība - Big5 - budistu kalendārs - ķīniešu kalendārs - tiešā kārtošanas secība - vienkāršotās ķīniešu valodas kārtošanas secība - GB2312 - Gregora kalendārs - ebreju kalendārs - Indijas nacionālais kalendārs - islāma kalendārs - islāma pilsoņu kalendārs - japāņu kalendārs - tālruņu grāmatas kārtošanas secība - Pinyin kārtošanas secība - Ķīnas Republikas kalendārs - Stroke kārtošanas secība - tradicionālā kārtošanas secība - - - britu - metriskā - - - Valoda: {0} - Rakstība: {0} - Reģions: {0} - - - - [a ā b c č d e ē f g ģ h i ī j k ķ l ļ m n ņ o p r s š t u ū v z ž] - [y q w x] - [a-i y j-x z] - - - “ - ” - ‘ - ’ - - - {0} − {1} - - - - - - janv. - febr. - marts - apr. - maijs - jūn. - jūl. - aug. - sept. - okt. - nov. - dec. - - - janvāris - februāris - marts - aprīlis - maijs - jūnijs - jūlijs - augusts - septembris - oktobris - novembris - decembris - - - - - J - F - M - A - M - J - J - A - S - O - N - D - - - - - - - Sv - Pr - Ot - Tr - Ce - Pk - Se - - - svētdiena - pirmdiena - otrdiena - trešdiena - ceturtdiena - piektdiena - sestdiena - - - - - S - P - O - T - C - P - S - - - - - - - C1 - C2 - C3 - C4 - - - 1. ceturksnis - 2. ceturksnis - 3. ceturksnis - 4. ceturksnis - - - - - 1 - 2 - 3 - 4 - - - - AM - PM - - - pirms mūsu ēras - mūsu ērā - - - p.m.ē. - m.ē. - - - p.m.ē. - m.ē. - - - - - - EEEE, y. 'gada' d. MMMM - - - - - y. 'gada' d. MMMM - - - - - y. 'gada' d. MMM - - - - - dd.MM.yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - EEE, d. - EEE, d. - H - HH:mm - HH:mm:ss - HH:mm - L - E, dd.MM. - LLL - E, d. MMM - E, d. MMMM - d. MMMM - d. MMM - dd.mm. - d - mm:ss - mm:ss - y. 'g'. - mm.yyyy. - EEE, dd.mm.yyyy. - yyyy. 'g'. MMM - EEE, yyyy. 'g'. dd. MMM - y. 'g'. MMMM - Q yyyy - y QQQ - Q yy - y. 'g'. - - - {0} - {1} - - mm.–mm. - - - E, dd.MM - E, dd.MM - E, dd.MM – E, dd.MM - - - MMM-MMM - - - E, d. MMM - E, d. MMM - E, d. MMM – E, d. MMM - - - LLLL–LLLL - - - d. MMM - d. MMM - d.-d. MMM - - - dd.mm–dd.mm - dd.mm.–dd.mm. - - - d.–d. - - - HH–HH - HH-HH - - - HH:mm–HH:mm - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm–HH:mm v - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH–HH v - HH-HH v - - - y.–y. - - - mm.yyyy.–mm.yyyy. - mm.yyyy.–mm.yyyy. - - - EEE, dd.mm.yy. – EEE, dd.mm.yy. - EEE, dd.mm.yy. – EEE, dd.mm.yy. - EEE, dd.mm.yy. – EEE, dd.mm.yy. - - - y. 'gada' MMM-MMM - y. 'gada' MMM - y. 'gada' MMM - - - E, y. 'gada' d. MMM - E, y. 'gada' d. MMM - E, y. 'gada' d. MMM - E, y. 'gada' d. MMM - E, y. 'gada' d. MMM - E, y. 'gada' d. MMM - - - mm.yyyy.–mm.yyyy. - mm.yyyy.–mm.yyyy. - - - y. 'gada' d. MMM - d. MMM - y. 'gada' d.-d. MMM - y. 'gada' d. MMM - y. 'gada' d. MMM - - - dd.mm.yy.–dd.mm.yy. - dd.mm.yyyy.–dd.mm.yyyy. - dd.mm.yy.–dd.mm.yy. - - - - - - ēra - - - Gads - - - Mēnesis - - - Nedēļa - - - diena - aizaizvakar - aizvakar - vakar - šodien - rīt - parīt - aizparīt - - - Nedēļas diena - - - Dayperiod - - - Stundas - - - Minūtes - - - Sekundes - - - Josla - - - - - - - - tišri - hešvans - kisļevs - tevets - ševats - adars - nisans - ijars - sivans - tamuzs - avs - eluls - - - - - - - - - muharams - safars - 1. rabī - 2. rabī - 1. džumādā - 2. džumādā - radžabs - šabans - ramadāns - šauvals - du al-kidā - du al-hidžā - - - - - - - +HH:mm;−HH:mm - GMT{0} - {0} - {1} ({0}) - - Nezināma - - - Andora - - - Dubaija - - - Kabula - - - Antigva - - - Angilja - - - Tirāna - - - Erevāna - - - Nīderlandes Antiļas - - - Rotera - - - Palmera - - - Dienvidpols - - - Sjova - - - Mavsona - - - Deivisa - - - Vostoka - - - Kesija - - - Dumont D'Urville - - - Makmerdo - - - Riogaljegosa - - - Mendosa - - - Sanhuana - - - Ušuaja - - - Larioha - - - Sanluisa - - - Katamarka - - - Žužuja - - - Tukumana - - - Kordoba - - - Buenosairesa - - - Pagopago - - - Vīne - - - Pērta - - - Jūkla - - - Dārvina - - - Adelaida - - - Brokenhila - - - Kerija - - - Melburna - - - Hobarta - - - Lindemana - - - Sidneja - - - Brisbena - - - Lordhova - - - Barbadosa - - - Daka - - - Brisele - - - Vagadugu - - - Sofija - - - Bahreina - - - Bužumbura - - - Portonovo - - - Bermudu salas - - - Bruneja - - - Lapasa - - - Eirenupe - - - Riobranko - - - Portuvelju - - - Boavista - - - Manausa - - - Kujaba - - - Santarena - - - Kampugrandi - - - Belena - - - Aragvaina - - - Sanpaulu - - - Brazīlija (Salvadora) - - - Fortalesa - - - Maseio - - - Resifi - - - Noroņa - - - Naso - - - Timpu - - - Minska - - - Beliza - - - Dausona - - - Vaithorsa - - - Inuvika - - - Vankūvera - - - Dousonkrīka - - - Jelounaifa - - - Edmontona - - - Sviftkarenta - - - Kembridžbeja - - - Regīna - - - Vinipega - - - Rezolūta - - - Reinirivera - - - Rankininleta - - - Koralharbora - - - Tanderbeja - - - Nipigona - - - Monreāla - - - Ikaluita - - - Pangnirtanga - - - Monktona - - - Halifaksa - - - Gūsbeja - - - Gleisbeja - - - Blanksablona - - - Sentdžonsa - - - Kokosa - - - Kinšasa - - - Lubumbaši - - - Bangi - - - Brazavila - - - Cīrihe - - - Abidžana - - - Lieldienu sala - - - Santjago - - - Duala - - - Kašgara - - - Urumči - - - Čuncina - - - Harbina - - - Kostarika - - - Havanna - - - Kaboverde - - - Ziemsvētku - - - Nikosija - - - Berlīne - - - Džibutija - - - Kopenhāgena - - - Dominika - - - Santodomingo - - - Alžīra - - - Galapagu salas - - - Gvajakila - - - Tallina - - - Kaira - - - Ajūna - - - Kanāriju salas - - - Seūta - - - Madride - - - Adisabeba - - - Fidži - - - Stenlija - - - Trūka - - - Ponpeja - - - Kosraja - - - Farēru salas - - - Parīze - - - Librevila - - - Londona - - - Grenāda - - - Kajenna - - - Akra - - - Gibraltārs - - - Tūle - - - Nūka - - - Skoresbisunda - - - Denmārkšavna - - - Bandžula - - - Konakri - - - Gvadelupa - - - Atēnas - - - Dienviddžordžija - - - Gvatemala - - - Guama - - - Bisava - - - Gajāna - - - Honkonga - - - Portoprensa - - - Budapešta - - - Džakarta - - - Pontianaka - - - Makasara - - - Džajapūra - - - Dublina - - - Čagosa - - - Bagdāde - - - Teherāna - - - Reikjavīka - - - Roma - - - Jamaika - - - Ammāna - - - Tokija - - - Biškeka - - - Pnompeņa - - - Enderburija - - - Kirisimasi - - - Tarava - - - Komoru - - - Sentkitsa - - - Phenjana - - - Seula - - - Kuveita - - - Kaimanu Salas - - - Aktau - - - Orāla - - - Aktobe - - - Kizilorda - - - Almati - - - Vjangčana - - - Beirūta - - - Sentlūsija - - - Vaduca - - - Kolombo - - - Monrovija - - - Viļņa - - - Luksemburga - - - Rīga - - - Tripole - - - Kasablanka - - - Monako - - - Kišiņeva - - - Antananarivu - - - Kvadžaleina - - - Madžuro - - - Jangona - - - Hovda - - - Ulanbatora - - - Čoibalsana - - - Makao - - - Saipana - - - Martinika - - - Nuakšota - - - Montserrata - - - Maurīcija - - - Maldīvija - - - Blantaira - - - Tihuāna - - - Ermosiljo - - - Masatlāna - - - Čihuahua - - - Montereja - - - Mehiko - - - Kankūna - - - Kualalumpura - - - Kučinga - - - Vindhuka - - - Numea - - - Niameja - - - Norfolka - - - Lagosa - - - Managva - - - Amsterdama - - - Četema - - - Oklenda - - - Muskata - - - Taiti - - - Markvesa - - - Gambjera - - - Portmorsbi - - - Karači - - - Varšava - - - Mikelona - - - Pitkērna - - - Puertoriko - - - Azoru salas - - - Lisabona - - - Asunsjona - - - Katara - - - Reinjona - - - Bukareste - - - Kaļiņingrada - - - Maskava - - - Volgograda - - - Jekaterinburga - - - Omska - - - Novosibirska - - - Krasnojarska - - - Irkutska - - - Jakutska - - - Vladivostoka - - - Sahalīna - - - Magadāna - - - Kamčatka - - - Anadira - - - Rijāda - - - Gvadelkanāla - - - Hartūma - - - Stokholma - - - Singapūra - - - Sv. Helēna - - - Frītauna - - - Dakāra - - - Mogadīšo - - - Santome - - - Salvadora - - - Damaska - - - Grendturka - - - Ndžamena - - - Kergvelena - - - Bangkoka - - - Dušanbe - - - Ašgabata - - - Tunisa - - - Istanbula - - - Portofspeina - - - Taipeja - - - Dāresalāma - - - Užgoroda - - - Kijeva - - - Simferopole - - - Zaporožje - - - Midveja - - - Džonstauna - - - Veika - - - Adaka - - - Noma - - - Ankurāža - - - Jakutata - - - Džuno - - - Losandželosa - - - Fīniksa - - - Šiproka - - - Denvera - - - Ņūsalema - - - Centra Ziemeļdakotā - - - Čikāga - - - Menominī - - - Vinsensa - - - Pēterburga - - - Tellsitija - - - Noksa - - - Vinimaka - - - Marengo - - - Indianapolisa - - - Luisvilla - - - Viveja - - - Montiselo - - - Detroita - - - Ņujorka - - - Samarkanda - - - Taškenta - - - Sentvinsenta - - - Karakasa - - - Senttomasa - - - Hošimina - - - Vallisa - - - Adena - - - Majota - - - Johannesburga - - - - Centrāleiropas laiks - Centrāleiropas vasaras laiks - - - CET - CEST - - - - - Austrumeiropas laiks - Austrumeiropas vasaras laiks - - - EET - EEST - - - - - Kuibiševas laiks - Kuibiševas vasaras laiks - - - - - Maskavas laiks - Maskavas standarta laiks - Maskavas vasaras laiks - - - - - Samaras laiks - Samaras vasaras laiks - - - - - Turcijas laiks - Turcijas vasaras laiks - - - - - Volgogradas laiks - Volgogradas vasaras laiks - - - - - - - , -   - ; - % - 0 - # - + - − - E - ‰ - ∞ - nav skaitlis - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - {0} {1} - - - - Apvienoto Arābu Emirātu dirhēms - - - Afganistānas afgāns - - - Albānijas leks - - - Armēnijas drams - - - Nīderlandes Antiļu guldenis - - - Angolas jaunā kvanza - - - Argentīnas peso - - - Austrijas šiliņš - - - Austrālijas dolārs - - - Arubas guldenis - - - Azerbaidžānas manats - - - Bosnijas konvertējamā marka - - - Barbadosas dolārs - - - Bangladešas taka - - - Beļģijas franks - - - Bulgārijas leva - - - Burundi franks - - - Bermudu salu dolārs - - - Brunejas dolārs - - - Bolīvijas boliviano - - - Brazīlijas reāls - - - Bahamu dolārs - - - Butānas ngultrums - - - Botsvānas pula - - - Baltkrievijas rubelis - - - Belizas dolārs - - - Kanādas dolārs - - - KDR franks - - - Šveices franks - - - Čīles peso - - - Ķīnas juana - - - Kolumbijas peso - - - Kolumbijas reāls - - - Kostarikas kolons - - - Kubas peso - - - Kaboverdes eskudo - - - Kipras mārciņa - - - Čehijas krona - - - Vācijas marka - - - Džibutijas franks - - - Dānijas krona - - - Dominikānas peso - - - Alžīrijas dinārs - - - Igaunijas krona - - - Ēģiptes mārciņa - - - Eritrejas nakfa - - - Spānijas peseta - - - Etiopijas birs - - - eiro - - - Somijas marka - - - Fidži dolārs - - - Folklenda salu mārciņa - - - Francijas franks - - - Lielbritānijas sterliņu mārciņa - - - Gruzijas lari - - - Ganas sedi - - - Gibraltāra mārciņa - - - Gambijas dalasi - - - Gvinejas franks - - - Grieķijas drahma - - - (Gvatemalas) ketsals - - - Gajānas dolārs - - - Honkongas dolārs - - - Hondurasas lempīra - - - Horvātijas kuna - - - Haiti gurds - - - Ungārijas forints - - - Indonēzijas rūpija - - - Īrijas mārciņa - - - Izraēlas šekelis - - - Indijas rūpija - - - Irākas dinārs - - - Irānas riāls - - - Īslandes krona - - - Itālijas lira - - - Jamaikas dolārs - - - Jordānas dinārs - - - Japānas jena - - - Kenijas šiliņš - - - Kirgizstānas soms - - - Ziemeļkorejas vona - - - Dienvidkorejas vona - - - Kuveitas dinārs - - - Kazahstānas tenge - Kazahstānas tenge - - - Laosas kips - - - Libānas mārciņa - - - Šrilankas rūpija - - - Libērijas dolārs - - - Lesoto loti - - - Lietuvas lits - - - Luksemburgas franks - - - Latvijas lats - - - Latvijas rublis - - - Lībijas dinārs - - - Marokas dirhēms - - - Moldovas leja - - - ariari - - - Maķedonijas denārs - - - CFA (Āfrikas) franks - - - Mjanmas kjats - - - Mongolijas tugriks - - - Makao pataka - - - Mauritānijas ugija - - - Maltas lira - - - Maltas mārciņa - - - Maurīcijas rūpija - - - Maldīvijas rūfija - - - Malāvijas kvača - - - Meksikas peso - - - Malaizijas ringits - - - Mozambikas eskudo - - - Mozambikas metikals - - - Namībijas dolārs - - - Nigērijas naira - - - Kordovas oro - - - Nīderlandes guldenis - - - Norvēģijas krona - - - Nepālas rūpija - - - Jaunzēlandes dolārs - - - Omānas riāls - - - Panamas balboa - - - Peru jaunais sols - - - Papua-Jaungvinejas kina - - - Filipīnu peso - - - Pakistānas rūpija - - - Polijas zlots - - - Portugāles eskudo - - - Kataras riāls - - - Rumānijas leja - - - Serbijas dinārs - - - Krievijas rublis - - - Ruandas franks - - - Saūda riāls - - - Zālamana salu dolārs - - - Seišelu salu rūpija - - - Sudānas mārciņa - - - Zviedrijas krona - - - Singapūras dolārs - - - Sv.Helēnas salas mārciņa - - - Slovēnijas tolars - - - Slovakijas krona - - - Sjerraleones leone - - - Somālijas šiliņš - - - Surinamas dolārs - - - Surinamas guldenis - - - Santome un Prinsipi dobra - - - Salvadoras kolons - - - Svazilendas lilangeni - - - Taizemes bāts - - - Tadžikistānas somons - - - Turkmēnijas manats - - - Tunisijas dinārs - - - Tongas paanga - - - Turcijas lira - - - jaunā Turcijas lira - - - Trinidādas un Tobāgo dolārs - - - jaunais Taivānas dolārs - - - Tanzānijas šiliņš - - - Ukrainas grivna - - - Ugandas šiliņš - - - ASV dolārs - - - Urugvajas peso - - - Uzbekistānas sums - - - Venecuēlas bolivārs - - - Venecuēlas stiprais bolivārs - - - Vjetnamas dongi - - - Vanuatu vatu - - - Samoa tala - - - sudrabs - - - zelts - - - Eiropas naudas vienība - - - Austrumkarību dolārs - - - Speciālās aizņēmuma tiesības - - - Eiropas norēķinu vienība - - - Francijas zelta franks - - - Francijas UIC franks - - - pallādijs - - - platīns - - - nezināma vai nederīga valūta - - - Jemenas riāls - - - Dienvidāfrikas rands - - - Zambijas kvača - - - Zimbabves dolārs - - - - - - {0} diena - {0} dienas - {0} dienas - - - {0} stunda - {0} stundas - {0} stundas - - - {0} minūte - {0} minūtes - {0} minūtes - - - {0} mēnesis - {0} mēneši - {0} mēneši - - - {0} sekunde - {0} sekundes - {0} sekundes - - - {0} nedēļa - {0} nedēļas - {0} nedēļas - - - {0} gads - {0} gadi - {0} gadi - - - - - jā:ja:j - nē:ne:n - - - - diff --git a/lib/zend/Zend/Locale/Data/lv_LV.xml b/lib/zend/Zend/Locale/Data/lv_LV.xml deleted file mode 100644 index 8195da026c..0000000000 --- a/lib/zend/Zend/Locale/Data/lv_LV.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/metazoneInfo.xml b/lib/zend/Zend/Locale/Data/metazoneInfo.xml deleted file mode 100644 index e90a70a360..0000000000 --- a/lib/zend/Zend/Locale/Data/metazoneInfo.xml +++ /dev/null @@ -1,1404 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/mk.xml b/lib/zend/Zend/Locale/Data/mk.xml deleted file mode 100644 index da9a5c4ff2..0000000000 --- a/lib/zend/Zend/Locale/Data/mk.xml +++ /dev/null @@ -1,2322 +0,0 @@ - - - - - - - - - - - афар - абхазиски - акинески - аколи - адангме - адиге - авестан - африкански - афроазијатски - африхили - аину - акан - акадијски - алеут - алгонквијански - јужен алтај - амхариски - арагонески - стар англиски - ангика - апачи - арапски - арамејски - арокенски - арапахо - вештачки - аравак - асамски - астуриски - атапаски - австралиски - аварски - авади - ајмара - азербејџански - башкирски - банда - бамилеке - балучи - балинезе - баса - балтички - белоруски - беха - бемба - бербер - бугарски - бихари - бојпури - бислама - бикол - бини - сиксика - бамбара - бенгалски - банту - тибетски - бретонски - брај - босански - батак - буријат - буџински - блин - каталонски - кадо - централноамерикански индијански - кариб - кавкаски - ацам - чеченски - себуано - селтички - чаморо - чибча - чагатај - чуук - мари - жаргон чинук - чокто - чипујан - чироки - чејенски - чамски - корзикански - коптски - англиски креолски - француски креолски - португалски креолски - кри - кримско турски - креолски - чешки - кашубиски - црковнословенски - кушитски - чувашки - велшки - дански - дакота - даргва - дајак - германски - германски (во Австрија) - германски (во Швајцарија) - делавер - славски - догриб - динка - догри - дравидијски - долносорбиски - дуала - среднохоландски - дивехи - џула - џонга - еве - ефик - староегипетски - екајук - грчки - еламит - англиски - англиски (во Австралија) - англиски (во Канада) - англиски (во Велика Британија) - американски англиски - средноанглиски - есперанто - шпански - шпански (во Латинска Америка) - шпански (во Португалија) - естонски - баскиски - евондо - персиски - фанг - фанти - фула - фински - филипински - финоугриски - фиџиски - фарски - фон - француски - француски (во Канада) - француски (во Швајцарија) - среднофранцуски - стар француски - северен фризиски - источен фризиски - фрулијански - фризиски - ирски - га - гајо - гбаја - шкотско галски - германски јазици - гиз - гилбертански - галициски - среден горногермански - гуарани - стар високогермански - гонди - горонтало - готски - грево - старогрчки - швајцарско германски - гуџарати - манкс - гвишин - хауза - хајда - хавајски - хебрејски - хинди - хилигајнон - химашали - хитите - хмонг - хири моту - хрватски - горносорбиски - хаитски - унгарски - хупа - ерменски - хереро - интерлингва - ибан - индонезиски - интерлинг - игбо - сичуан ји - ихо - инупијак - илоко - индиски јазици - индоевропски - ингуш - идо - ирански - ироквијански јазици - исландски - италијански - инуктитут - јапонски - лојбански - еврејско персиски - еврејско арапски - јавански - грузиски - кара калпак - кабиле - кашин - жжи - камба - карен - кави - кабардиски - тјап - коро - конго - каси - којсански јазици - котанески - кикују - куањама - казакстански - калалисут - камбоџански - кимбунду - каннада - корејски - конкани - козрејски - кпеле - канури - карашај-балкар - карелијски - кру - курук - кашмирски - курдски - кумик - кутенајски - коми - корнуолски келтски - киргистански - латински - ладино - ланда - ламба - луксембуршки - лежгијски - ганда - лимбуршки - лингала - лао - монго - лози - литвански - луба-катанга - луба-лулуа - луизено - лунда - луо - лушајски - латвиски - мадурески - магахи - маитхили - макасарски - мандинго - австронезиски - масаи - мокша - мандар - мендески - малгашки - средноирски - маршалски - маорски - микмек - минанкабау - други јазици - македонски - мон-кмерски јазици - малајалам - монголски - манчу - манипури - манобо - молдавски - мохак - моси - марати - малезиски - малтешки - повеќе јазици - мунда јазици - крик - мирандески - марвари - бурмански - мајански јазици - ержа - науру - нахуатл - северноамерикански индијански јазици - неаполски - норвешки бокмал - северен ндебеле - долногермански - непалски - невари - ндонга - нијас - нигер-кордофаниски јазици - најуан - холандски - холандски (во Белгија) - норвешки ниноршк - норвешки - ногај - стар норски - нко - јужен ндебелески - северен сото - нубијски јазици - навахо - класичен невари - њања - њамвези - њанколе - њоро - нзима - окситански - оџибва - оромо - орија - осетиски - осаж - отомански турски - отомиски јазици - пунџаби - папуански - пангасинан - палависки - пампанга - папиаменто - палауански - стар персиски - филипински јазик - феникиски - пали - полски - понпејански - пракритски јазици - стар провенчал - пашто - португалски - португалски (во Бразил) - португалски (во Португалија) - кечуа - раџастански - рапануи - раротонган - реторомански - рундиски - романски - романски јазици - ромски - рутски - руски - влашки - кињарванда - санскрит - сандаве - јакутски - јужноамерикански индијански - салишански јазици - самариќански арамејски - сасак - сантали - сардиниски - сицилијански - скоц - синди - северен самиски - селкап - семитски - санго - стар ирски - знаковни јазици - српско-хрватски - шан - синхалиски - сидамо - сијуски јазици - синотибетански - словачки - словенечки јазик - словенски јазици - самоански - јужен сами - самиски јазици - луле сами - инари сами - сколт сами - шона - сонинке - сомалиски - согдијен - сонгај - албански - српски - срански тонго - серер - свати - нилско-сахарски јазици - сесото - сунданески - сукума - сусу - сумериски - шведски - свахили - класичен сиријак - сиријак - тамилски - таи - телугу - тимне - терено - тетум - таџикистански - тајландски - тигрејски - тигре - тив - туркменистански - токелау - тагалог - клингонски - тлингит - тамашек - цвана - тонга - њаса тонга - ток писин - турски - цонга - цимшијански - татарски - тумбука - туписки јазици - алтајски - тувалу - тви - тахитски - тувинијански - удмурт - ујгурски - угаритски - украински - умбунду - непознат или неважечки јазик - урду - узбекистански - ваи - венда - виетнамски - волапјок - вотски - валунски - вакашански - валамо - вареј - вашо - сорбиски - волофски - калмик - хауса - јао - јапезе - јидски - јоруба - јуписки јазици - жуанг - запотек - блисимболс - зенага - кинески - поедноставен кинески - традиционален кинески - зандиски - зулу - зуни - без лингвистичка содржина - заза - - - - - - - - - - - - Свет - Африка - Северна Америка - Јужна Америка - Океанија - Западна Африка - Централна Америка - Источна Африка - Северна Африка - Средна Африка - Јужна континентална Африка - Америки - Северна континентална Америка - Кариби - Источна Азија - Јужна Азија - Југоисточна Азија - Јужна Европа - Австралија и Нов Зеланд - Меланезија - Микронезиски регион - Полинезија - Јужно-централна Азија - Азија - Централна Азија - Западна Азија - Европа - Источна Европа - Северна Европа - Западна Европа - Комонвелт на независни држави - Латинска Америка и Карибите - Андора - Обединети Арапски Емирати - Авганистан - Антигва и Барбуда - Ангвила - Албанија - Ерменија - Холандски Антили - Ангола - Антарктик - Аргентина - Американска Самоа - Австрија - Австралија - Аруба - Аландски острови - Азербејџан - Босна и Херцеговина - Барбадос - Бангладеш - Белгија - Буркина Фасо - Бугарија - Бахреин - Бурунди - Бенин - Сент Бартоломеј - Бермуди - Брунеи - Боливија - Бразил - Бахами - Бутан - Боувитови острови - Боцвана - Белорусија - Белизе - Канада - Кокосови острови - Демократска Република Конго - Централна Африканска Република - Конго - Швајцарија - Брегот на Слоновата Коска - Кукови Острови - Чиле - Камерун - Кина - Колумбија - Костарика - Србија и Црна Гора - Куба - Зеленортски Острови - Божиќни Острови - Кипар - Чешка Република - Германија - Џибути - Данска - Доминика - Доминиканска Република - Алжир - Еквадор - Естонија - Египет - Западна Сахара - Еритреја - Шпанија - Етиопија - Финска - Фиџи - Фолкландски Острови - Микронезија - Фарски Острови - Франција - Габон - Велика Британија - Гренада - Грузија - Француска Гвајана - Гвернзи - Гана - Гибралтар - Гренланд - Гамбија - Гвинеја - Гвадалупе - Екваторска Гвинеја - Грција - Јужна Грузија и Јужни Сендвич Острови - Гватемала - Гвам - Гвинеа-Биса - Гвајана - Хонг Конг С.А.Р Кина - Хардови острови и Мекдоналд Острови - Хондурас - Хрватска - Хаити - Унгарија - Индонезија - Ирска - Израел - Островот Ман - Индија - Британско Индиско Океанска територија - Ирак - Иран - Исланд - Италија - Џерси - Јамајка - Јордан - Јапонија - Кенија - Киргистан - Камбоџа - Кирибати - Коморос - Сент Кристофер и Невис - Северна Кореја - Јужна Кореја - Кувајт - Кајмански Острови - Казахстан - Лаос - Либан - Света Лучија - Лихтенштајн - Шри Ланка - Либерија - Лесото - Литванија - Луксембург - Латвија - Либија - Мароко - Монако - Молдавија - Црна Гора - Сент Мартин - Мадагаскар - Маршалови острови - Македонија - Мали - Мјанмар - Монголија - Макао С.А.Р Кина - Северни Маријанини Острови - Мартиник - Мавританија - Монсерат - Малта - Маурициус - Малдиви - Малави - Мексико - Малезија - Мозамбик - Намибија - Нова Каледонија - Нигер - Нофролк Остров - Нигерија - Никарагва - Холандија - Норвешка - Непал - Науру - Ние - Нов Зеланд - Оман - Панама - Перу - Француска Полинезија - Папуа Нова Гвинеја - Филипини - Пакистан - Полска - Сент Пјер и Микелан - Питкарн - Порторико - Палестинска Територија - Португалија - Палау - Парагвај - Катар - Зависни земји во Океанија - Европска унија - Ријунион - Романија - Србија - Русија - Руанда - Саудиска Арабија - Соломоновите Острови - Сејшели - Судан - Шведска - Сингапур - Света Елена - Словенија - Свалбард и Жан Мејен - Словачка - Сиера Леоне - Сан Марино - Сенегал - Сомалија - Суринам - Сао Томе и Принчипе - Ел Салвадор - Сирија - Свазиленд - Турк и Каикос Острови - Чад - Француски Јужни територии - Того - Тајланд - Таџикистан - Токелау - Источен Тимор - Туркменистан - Тунис - Тонга - Турција - Тринидад и Тобаго - Тувалу - Тајван - Танзанија - Украина - Уганда - Американски територии во Пацификот - Соединети Американски Држави - Уругвај - Узбекистан - Ватикан - Сент Винсент и Гренадините - Венецуела - Британски Девствени Острови - Девствени Острови на САД - Виетнам - Ванату - Волис и Футуна острови - Самоа - Јемен - Мајоте - Јужна Африка - Замбија - Зимбабве - Непознат регион - - - Календар - Сортирање - Валута - - - Традиционално кинеско сортирање - Будистички календар - Кинески календар - Директно сортирање - Поедноставено кинеско сортирање - Грегоријански календар - Еврејски календар - Индијски национален календар - Исламски календар - Исламски граѓански календар - Јапонски календар - Азбучен редослед - Сортирање Pinyin - Календар на Република Кина - Ритмички редослед - Традиционално сортирање - - - Американски - Метрички - - - Јазик: {0} - Писмо: {0} - Регион: {0} - - - - [а-г ѓ д-з ѕ и ј к ќ л љ м н њ о-ч џ ш] - [ѐ ѝ] - [a-c č d-l ł m-o º p-z] - - - - - - - - јан. - фев. - мар. - апр. - мај - јун. - јул. - авг. - септ. - окт. - ноем. - декем. - - - јануари - февруари - март - април - мај - јуни - јули - август - септември - октомври - ноември - декември - - - - - ј - ф - м - а - м - ј - ј - а - с - о - н - д - - - - - - - нед. - пон. - вт. - сре. - чет. - пет. - саб. - - - недела - понеделник - вторник - среда - четврток - петок - сабота - - - - - н - п - в - с - ч - п - с - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - - јан-мар - апр-јун - јул-сеп - окт-дек - - - прво тромесечје - второ тромесечје - трето тромесечје - четврто тромесечје - - - - претпладне - попладне - - - пр.н.е. - ае. - - - - - - EEEE, dd MMMM y - - - - - dd MMMM y - - - - - dd.M.yyyy - - - - - dd.M.yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - dd MMMM - dd.M - Q yy - M.yyyy - MMMM y - - - {0} - {1} - - M-M - - - E, dd.M - E, dd.M - E, dd.M - E, dd.M - - - MMM-MMM - - - E, dd MMM - E, dd MMM - E, dd - E, dd MMM - - - dd MMM - dd MMM - dd-dd MMM - - - dd.M - dd.M - dd.M - dd.M - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - M.yy - M.yy - M.yy - M.yy - - - E, dd.M.yy - E, dd.M.yy - E, dd.M.yy - E, dd.M.yy - E, dd.M.yy - E, dd.M.yy - - - MMM-MMM y - MMM y - MMM y - - - E, dd MMM - E, dd MMM y - E, dd - E, dd MMM y - E, dd MMM y - E, dd MMM y - - - dd MMM - dd MMM y - dd-dd MMM y - dd MMM y - dd MMM y - - - dd.M.yy - dd.M.yy - dd.M.yy - dd.M.yy - dd.M.yy - dd.M.yy - - - - - - Ера - - - Месец - - - Недела - - - завчера - Вчера - Денес - Утре - задутре - - - Ден во неделата - - - Час - - - Минута - - - Секунда - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - Непознато - - - Ротера - - - Палмер - - - Јужен пол - - - Сајова - - - Мосон - - - Дејвис - - - Восток - - - Кејси - - - Димон дурвиј - - - Мекмурдо - - - Рио Галегос - - - Мендоза - - - Сан Хуан - - - Ушуаја - - - Ла Риоха - - - Сан Луис - - - Катамарка - - - Салта - - - Џуџуи - - - Тукуман - - - Кордоба - - - Буенос Аирес - - - Перт - - - Јукла - - - Дарвин - - - Аделаида - - - Брокен Хил - - - Курие - - - Мелбурн - - - Хобарт - - - Линдеман - - - Сиднеј - - - Бризбејн - - - Лорд Хоув - - - Еирунепе - - - Рио Бранко - - - Порто Вељо - - - Боа Виста - - - Манаус - - - Куиаба - - - Сантарем - - - Кампо Гранде - - - Белем - - - Арагвајана - - - Сао Паоло - - - Бахиа - - - Форталеза - - - Масијо - - - Ресифе - - - Нороња - - - Досон - - - Вајтхорс - - - Инувик - - - Ванкувер - - - Досон Крик - - - Јелоунајф - - - Едмонтон - - - Свифт Курент - - - КембриџŸ Беј - - - Реџина - - - Винипег - - - Резолут - - - Рејни Ривер - - - Ренкин Инлет - - - Корал Харбор - - - Тандр Беј - - - Нипигон - - - Торонто - - - Монтреал - - - Иквалит - - - Пангниртунг - - - Монктон - - - Халифакс - - - Гус Беј - - - Глејс Беј - - - Бланк-Сејблон - - - Сент Џонс - - - Киншаса - - - Лубумбаши - - - Велигденски остров - - - Кашгар - - - Урумки - - - Чонгкинг - - - Харбин - - - Галапагос - - - Канарски острови - - - Сеута - - - Трук - - - Понапе - - - Кошре - - - Туле - - - Скорзбисинд - - - Данмаркшан - - - Џакарта - - - Понтијанак - - - Макасар - - - Џајапура - - - Ендербери - - - Киритимати - - - Тарава - - - Актау - - - Орал - - - Акутобе - - - Кизилорда - - - Алма-Ата - - - Кваџалеин - - - Ховд - - - Улан Батор - - - Чојбалсан - - - Тихуана - - - Хермосиљо - - - Мецатлан - - - Чихуахуа - - - Монтереј - - - Мексико Сити - - - Мерида - - - Канкун - - - Кучинг - - - Катхам - - - Маркесас - - - Гамбије - - - Азори - - - Мадеира - - - Калининград - - - Москва - - - Волгоград - - - Самара - - - Јекатеринбург - - - Омск - - - Новосибирск - - - Краснојарск - - - Иркутск - - - Јакутск - - - Владивосток - - - Сакалин - - - Магадан - - - Камчатка - - - Анадир - - - Ужгород - - - Симферопол - - - Запорожје - - - Мидвеј - - - Џонстон - - - Вејк - - - Адак - - - Ноум - - - Хонолулу - - - Енкориџ - - - Јакутат - - - Џуно - - - Лос Анџелес - - - Бојзи - - - Феникс - - - Шипрок - - - Денвер - - - Њу Салем, Северна Дакота - - - Центар, Северна Дакота - - - Чикаго - - - Меномини - - - Винчен, Индијана - - - Питерсбург, Индијана - - - Тел Сити, Индијана - - - Нокс, Индијана - - - Винамек, Индијана - - - Маренго, Индијана - - - Индијанаполис - - - Луизвил - - - Вивај, Индијана - - - Монтичело, Кентаки - - - Детроит - - - Њујорк - - - Самарканд - - - true - - - - Средноевропско време - Средноевропско летно време - - - CET - CEST - - true - - - - Источноевропско време - Источноевропско летно време - - - EET - EEST - - true - - - true - - - - Кујбишев - Летно време во Кујбишев - - - - - Москва - Стандардно време во Москва - Летно време во Москва - - - - - Самара - Летно време во Самара - - - - - Турција - Летно време во Турција - - true - - - - Волгоград - Летно време во Волгоград - - - - - - - , - . - - - - - #,##0.###;(#,##0.###) - - - - - - Андорска Пезета - - - Обединети Арапски Емирати Дирхам - - - Авгани (1927-2002) - - - Авгани - - - Албански Лек - - - Ермениски Драм - - - Анголска Кванза - - - Анголска Кванза (1977-1990) - - - Анголска нова Кванза (1990-2000) - - - Аргентински Пезос (1983-1985) - - - Аргентински Пезос - - - Австралиски Шилинг - - - Австралиски Долар - - - Босанско-Херцеговски Динар - - - Босанско-Херцеговска конвертибилна марка - - - Барбадоски Долар - - - Белгиски Франк (конвертибилен) - - - Белгиски Франк - - - Белгиски Франк (финансиски) - - - Бугарски цврст лев - - - Бугарски нов лев - - - Бахреински Динар - - - Бурундиски Франк - - - Бермудски Долар - - - Брунејски долар - - - Бахамски Долар - - - Боцванска Пула - - - Белоруска нова рубља (1994-1999) - - - Белоруска Рубља - - - Белизиски Долар - - - Канадски Долар - - - Швајцарски Франк - - - Чилеански пезос - - - Колумбиски Пезос - - - Костарикански Колон - - - Чехословачка цврста корона - - - Кубански пезос - - - Кипарска фунта - - - Чешка корона - - - Германска Марка - - - Данска круна - - - Доминикански Пезос - - - Алжирски Динар - - - Египетска Фунта - - - Шпанска Пезета - - - Етиописки Бир - - - Евро - - - Финска марка - - - Фиџи долар - - - Фолкландска фунта - - - Француски франк - - - Британска Фунта - - - Грузиски лари - - - Ганајски Седи - - - Гибралтарска фунта - - - Гамбиски Даласи - - - Гвинејски франк - - - Грчка драхма - - - Гватемалски кветцал - - - Гвинејски Бисау пезос - - - Гвијански Долар - - - Хонгконшки долар - - - Хондурска лемпира - - - Хрватски динар - - - Хрватска Куна - - - Хаитски гурд - - - Унгарска форинта - - - Индонезиска рупија - - - Ирска фунта - - - Изрелска фунта - - - Израелски нов шекел - - - Индијска рупија - - - Ирачки динар - - - Ирански риал - - - Исландска крона - - - Италијанска лира - - - Јамајкански долар - - - Јордански динар - - - Јапонски јен - - - Кениски шилинг - - - Киргистански сом - - - Камбоџиски рел - - - Коморски долар - - - Северно корејски вон - - - Јужно корејски вон - - - Кувајтски динар - - - Казахстанска тенга - - - Лаоски кип - - - Либанска фунта - - - Шриланканска рупија - - - Либериски долар - - - Лесотско лоти - - - Литваниска лита - - - Литваниски литаз - - - Луксембуршки франк - - - Латвијски лат - - - Латвијска рубља - - - Либијски динар - - - Марокански Дирхам - - - Марокански франк - - - Молдавски леу - - - Македонски денар - - - Малски франк - - - Монголиски тугрик - - - Макао патака - - - Малтешка лира - - - Малтешка фунта - - - Мексикански пезос - - - Мексикански сребрен пезос (1861-1992) - - - Малазиски рингит - - - Мозамбиско ескудо - - - Стар мозамбиски метикал - - - Намибиски долар - - - Нигериска наира - - - Никарагванска кордоба - - - Холандски гилдер - - - Норвешка круна - - - Непалска рупија - - - Новозеландски долар - - - Омански риал - - - Панамска балбоа - - - Перуански нов сол - - - Перуански сол - - - Папуа новогвинејска кина - - - Филипински пезос - - - Пакистанска рупија - - - Полска злота - - - Полска злота (1950-1995) - - - Португалско ескудо - - - Парагвајска гуарана - - - Катарски риал - - - Романска леа - Романски леи - - - Српски динар - - - Руска рубља - - - Руска рубља (1991-1998) - - - Руандски франк - - - Саудиски ријал - - - Соломонски долар - - - Сејшелска рупија - - - Стар судански динар - - - Стара суданска фунта - - - Шведска круна - - - Сингапурски долар - - - Словенечки толар - - - Словачка круна - - - Сиералеонско леоне - - - Сомалијски шилинг - - - Суринамски гилдер - - - Советска рубља - - - Салвадорски колон - - - Сиријска фунта - - - Свазилендски лиланген - - - Таи бат - - - Таџикистанска рубља - - - Таџикистански сомони - - - Туркменистански манат - - - Тунезиски динар - - - Тиморски ескудо - - - Турска лира - - - Тајвански нов долар - - - Танзаниски шилинг - - - Украинска хривнија - - - Угандиски шилинг (1966-1987) - - - Угандиски шилинг - - - Американски долар - - - САД долар (Next day) - - - САД долар (Same day) - - - Уругвајски пезос (1975-1993) - - - Уругвајски пезос - - - Узбекистански сом - - - Венецуелски боливар - - - Виетнамски донг - - - Ванатски вату - - - Самоанска тала - - - Источно карибиски долар - - - Јеменски динар - - - Јеменски риал - - - Југословенски динар - - - Југословенски конвертибилен динар - - - Јужно афрички ранд(финансиски) - - - Јужно афрички ранд - - - Замбијска квача - - - Заирско новозаире - - - Заирско заире - - - Зимбабвиски долар - - - - - - {0} ден - {0} денови - - - {0} час - {0} часови - - - {0} минута - {0} минути - - - {0} месец - {0} месеци - - - {0} секунда - {0} секунди - - - {0} недела - {0} недели - - - {0} година - {0} години - - - - - да:д - не:н - - - - diff --git a/lib/zend/Zend/Locale/Data/mk_MK.xml b/lib/zend/Zend/Locale/Data/mk_MK.xml deleted file mode 100644 index 5de9c719d2..0000000000 --- a/lib/zend/Zend/Locale/Data/mk_MK.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ml.xml b/lib/zend/Zend/Locale/Data/ml.xml deleted file mode 100644 index 7a05cbc6cd..0000000000 --- a/lib/zend/Zend/Locale/Data/ml.xml +++ /dev/null @@ -1,4424 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - അഫാര്‍ - അബ്ഖാസിയന്‍ - അചിനീസ് - അകോലി - അഡാങ്ഗമി - അഡൈഗേ - അവസ്റ്റാന്‍ - ആഫ്രിക്കാന്‍സ് - ആഫ്രോ-ഏഷ്യാറ്റിക് ഭാഷ - ആഫ്രിഹിലി - അയിനു - അകാന്‍ - അക്കാഡിയന്‍ - അലൈട്ട് - അല്‍ഗോണ്‍ക്യന്‍ ഭാഷ - സതേണ്‍ അള്‍ട്ടായി - അമാറിക് - അരഗോണീസ് - പഴയ ഇംഗ്ലീഷ് - ആന്‍ഗിക - അപ്പാചേ ഭാഷ - അറബി - അരമായഭാഷ - ആരൗകാനിയന്‍ - അരപാഹോ - കൃത്രിമഭാഷ - അറാവക് - ആസ്സാമീസ് - ഓസ്‌ട്രിയന്‍ - അതപാസ്കന്‍ ഭാഷ - ഓസ്ട്രേലിയന്‍ ഭാഷ - അവാരിക് - അവധി - അയ്മാറ - അസര്‍ബൈജാനി - ബഷ്ഖിര്‍ - ബന്‍ഡ - ബാമിലകേ ഭാഷ - ബലൂചി - ബാലിനീസ് - ബസ - ബാള്‍ട്ടിക് ഭാഷ - ബൈലോറഷ്യന്‍ - ബേജ - ബെംബ - ബെര്‍ബര്‍ - ബള്‍ഗേറിയന്‍ - ബീഹാറി - ഭോജ്‌പൂരി - ബിസ്‌ലാമ - ബികോല്‍ - ബിനി - സിക്സിക - ബംബാറ - ബംഗാളി - ബാന്‌ടു - തിബറ്റന്‍ - ബ്രറ്റണ്‍ - ബ്രജ് - ബോസ്നിയന്‍ - ബാറ്റക് - ബുറിയത്ത് - ബുഗിനീസ് - ബ്ലിന്‍ - കറ്റാലന്‍ - കാഡോ - മദ്ധ്യ അമേരിക്കന്‍ ഇന്‍ഡ്യന്‍ ഭാഷ - കാരിബ് - കൊക്കേഷ്യന്‍ ഭാഷ - അറ്റ്സാം - ചെചന്‍ - സെബുവാനോ - സെല്‍റ്റിക് ഭാഷ - കമോറോ - ചിബ്ച - ചഗതൈ - ചൂകീസ് - മാരി - ചിനൂഗ്-ജാര്‍ഗണ്‍ - ചോക്റ്റാവ് - ചിപേവ്യന്‍ - ചെരോകീ - ചിയേന്നേ - ചാമിക് ഭാഷ - കോഴ്സിക്കണ്‍ - കോപ്റ്റിക് - ഇംഗ്ലീഷ് അധിഷ്ഠിത മിശ്ര ഭാഷ - ഫ്രഞ്ച് അധിഷ്ഠിത മിശ്രഭാഷ - പോര്‍ച്ചുഗീസ് അധിഷ്ടിത മിശ്ര ഭാഷ - ക്രീ - ക്രിമിയന്‍ ടര്‍ക്കിഷ് - മിശ്രഭാഷ - ചെക്ക് - കാഷുബിയാന്‍ - ചര്‍ച്ച് സ്ലാവിക് - കുഷിറ്റിക് ഭാഷ - ചുവാഷ് - വെല്‍ഷ് - ഡാനിഷ് - ഡകോട്ട - ഡര്‍ഗ്വാ - ദയാക് - ജര്‍മ്മന്‍ - ഓസ്ട്രിയന്‍ ജര്‍മന്‍ - സ്വിസ് ഉച്ച ജര്‍മന്‍ - ദലവാരെ - സ്ലേവ് - ഡോഗ്രിബ് - ദിന്‍ക - ഡോഗ്രി - ദ്രാവിഡഭാഷ - ലോവര്‍ സോര്‍ബിയന്‍ - ദ്വാല - മദ്ധ്യ ഡച്ച് - ദിവെഹി - ദ്വൈല - ഭൂട്ടാനി - എവ് - എഫിക് - പ്രാചീന ഈജിപ്ഷ്യന്‍ - എകാജുക് - ഗ്രീക്ക് - എലാമൈറ്റ് - ഇംഗ്ലീഷ് - ഓസ്ട്രേലിയന്‍ ഇംഗ്ലീഷ് - കനേഡിയന്‍ ഇംഗ്ലീഷ് - ബ്രിട്ടീഷ് ഇംഗ്ലീഷ് - അമേരിക്കന്‍ ഇംഗ്ലീഷ് - മദ്ധ്യ ഇംഗ്ലീഷ് - എസ്പരാന്തോ - സ്പാനിഷ് - ലാറ്റിന്‍ അമേരിക്കന്‍ സ്പാനിഷ് - ഇബേറിയന്‍ സ്പാനിഷ് - എസ്റ്റോണിയന്‍ - ബാസ്ക് - എവോന്‍ഡോ - പേര്‍ഷ്യന്‍ - ഫങ് - ഫിലിപ്പീനോ - ഫുല - ഫിന്നിഷ് - ഫിലിപ്പിനോ - ഫിന്നോ-ഉഗ്രിയന്‍ ഭാഷ - ഫിജിയന്‍ - ഫാറോസ് - ഫോന്‍ - ഫ്രഞ്ച് - കനേഡിയന്‍ ഫ്രഞ്ച് - സ്വിസ് ഫ്രഞ്ച് - മദ്ധ്യ ഫ്രഞ്ച് - പഴയ ഫ്രഞ്ച് - നോര്‍ത്തേന്‍ ഫ്രിഷ്യന്‍ - ഈസ്റ്റേണ്‍ ഫ്രിഷ്യന്‍ - ഫ്രിയുലിയാന്‍ - പശ്ചിമ ഫ്രിഷിയന്‍ - ഐറിഷ് - ഗാ - ഗയൊ - ഗബ്യ - സ്കോട്ടിഷ് ഗൈലിക് - ജര്‍മാനിക് ഭാഷ - ഗീസ് - ഗില്‍ബര്‍സേ - ഗലീഷ്യന്‍ - മദ്ധ്യ ഉച്ച ജര്‍മന്‍ - ഗ്വാറാനി - പ്രാചീന ഉച്ച ജര്‍മന്‍ - ഗോണ്ഡി - ഗൊറോന്‍റാലോ - ഗോഥിക്ക് - ഗ്രബൊ - പുരാതന യവന ഭാഷ - സ്വിസ് ജര്‍മന്‍ - ഗുജറാത്തി - മാന്‍സ് - ഗ്വിച്ച് ഇന്‍ - ഹൗസ - ഹൈഡ - ഹവായിയന്‍ - ഹീബ്രു - ഹിന്ദി - ഹിലിഗയ്നോണ്‍ - ഹിമാചലി - ഹിറ്റൈറ്റേ - മോങ് - ഹിരി മോതു - ക്രൊയേഷ്യന്‍ - അപ്പര്‍ സോര്‍ബിയന്‍ - ഹെയ്തിയന്‍ - ഹംഗേറിയന്‍ - ഹൂപ - അര്‍മേനിയന്‍ - ഹെരേരൊ - ഇന്‍റര്‍ലിംഗ്വാ - ഇബാന്‍ - ഇന്‍ഡോനേഷ്യന്‍ - ഇന്റര്‍ലിംഗ്വ - ഇഗ്ബോ - ഷുവാന്‍യി - ഇജോ - ഇനുപിയാക് - ഇലോകോ - ഭാരതീയഭാഷ - ഇന്‍ഡോ-യൂറോപ്യന്‍ ഭാഷ - ഇംഗ്വിഷ് - ഇഡോ - ഇറാനിയന്‍ ഭാഷ - ഇറോക്വായിയന്‍ ഭാഷ - ഐസ്‌ലാന്‍ഡിക് - ഇറ്റാലിയന്‍ - ഇനുക്റ്റിറ്റട്ട് - ജപ്പാനീസ് - ലോജ്ബാന്‍ - ജൂഡിയോ-പേര്‍ഷ്യന്‍ - ജൂഡിയോ-അറബിക് - ജാവാനീസ് - ജോര്‍ജിയന്‍ - കര-കാല്‍പ്പക് - കബൈല്‍ - കാചിന്‍ - ജ്ജു - കംബ - കരേന്‍ - കാവി - കബര്‍ഡിയാന്‍ - ട്യാപ് - കോറോ - കോംഗോ - ഘാസി - ഘോയിസന്‍ ഭാഷ - ഘോറ്റാനേസേ - കികൂയു - ക്വാന്യമ - കസാഖ് - കലാല്ലിസട്ട് - കംബോഡിയന്‍ - ക്ലിംഗന്‍ - കന്നഡ - കൊറിയന്‍ - കൊങ്കണി - കൊസറേയന്‍ - കപെല്ലേ - കനൂറി - കരചൈ-ബാല്‍കര്‍ - കരീലിയന്‍ - ക്രു - കുരുഖ് - കാശ്മീരി - കുര്‍ദ്ദിഷ് - കുമൈക് - കുതേനൈ - കോമി - കോര്‍ണിഷ് - കിര്‍ഗിസ് - ലാറ്റിന്‍ - ലാഡിനോ - ലഹ്‌ന്‍ഡ - ലംബ - ലക്സംബര്‍ഗിഷ് - ലഹ്ഗിയാന്‍ - ഗാന്‍ഡ - ലിംബര്‍ഗിഷ് - ലിംഗാല - ലാവോ - മോങ്കോ - ലോസി - ലിത്വേനിയന്‍ - ലുബ-കറ്റംഗ - ലൂബ-ലുലുവ - ലൂയിസെനോ - ലുന്‍ഡ - ലവോ - ലുഷായി - ലാത്വിയന്‍ - മദുരേസേ - മഗാഹി - മൈഥിലി - മകാസര്‍ - മണ്ഡിന്‍ഗോ - ഓസ്ട്രോനേഷ്യന്‍ - മസൈ - മോക്ഷ - മണ്ഡാര്‍ - മെന്‍ഡെ - മലഗാസി - മദ്ധ്യ ഐറിഷ് - മാര്‍ഷല്ലീസ് - മൗറി - മിക്മാക് - മിനാങ്കബൗ - ഇതരഭാഷ - മാസിഡോണിയന്‍ - മോണ്‍-ഖമര്‍ ഭാഷ - മലയാളം - മംഗോളിയന്‍ - മന്‍ചു - മണിപ്പൂരി - മനോബോ ഭാഷ - മോള്‍ഡാവിയന്‍ - മോഹാക് - മൊസ്സി - മറാഠി - മലയ - മാള്‍ട്ടീസ് - പലഭാഷകള്‍ - മുണ്ഡ ഭാഷ - ക്രീക്ക് - മിരാന്‍റസേ - മര്‍വാരി - ബര്‍മീസ് - മായന്‍ ഭാഷ - ഏഴ്സ്യ - നൗറു - നാഹ്വാള്‍‍ട്ട് - വടക്കേ അമേരിക്കന്‍ ഇന്‍ഡ്യന്‍ ഭാഷ - നെപ്പോളിറ്റാന്‍ - നോര്‍വീജിയന്‍ ബുക്‌മല്‍ - നോര്‍ത്ത് ഡെബിള്‍ - ലോ ജര്‍മന്‍ - നേപ്പാളി - നേവാരി - ഡോങ്ക - നിയാസ് - നൈ‍ജര്‍-കോര്‍‍ഡോഫാനിയന്‍ - ന്യുവാന്‍ - ഡച്ച് - ഫ്ലമിഷ് - നോര്‍വീജിയന്‍ നൈനോര്‍ക്സ് - നോര്‍വീജിയന്‍ - നോഗൈ - പഴയ പേര്‍ഷ്യന്‍ - ഇന്‍കോ - ദക്ഷിണ നെഡിബിള്‍ - നോര്‍ത്തേന്‍ സോതോ - നുബിയന്‍ ഭാഷ - നവാഹൊ - ക്ലാസിക്കല്‍ നേവാരി - ന്യന്‍ജ - ന്യാംവേസി - ന്യാന്‍കലേ - ന്യോറോ - സിമ - ഒക്സിററന്‍ - ഓജിബ്വാ - ഒറോമൂ - ഒറിയ - ഒസ്സെറ്റിക് - ഒസേജ് - ഓട്ടോമന്‍ തുര്‍ക്കിഷ് - ഓട്ടോമിയന്‍ ഭാഷ - പഞ്ചാബി - പാപുവാന്‍ ഭാഷ - പങ്കാസിനന്‍ - പാഹ്ലവി - പാംപന്‍ഗ - പാപിയാമെന്‍റൊ - പലാവുന്‍ - പ്രാചീന പേര്‍ഷ്യന്‍ - ഫിലിപീനി ഭാഷ - ഫീനിഷ്യന്‍ - പാലി - പോളിഷ് - പൊന്‍പിയന്‍ - പ്രാകൃതം - പ്രൊവന്‍ഷ്ല്‍ - പഷ്തു - പോര്‍ച്ചുഗീസ് - ബ്രസീലിയന്‍ പോര്‍ച്ചുഗീസ് - ഇബേറിയന്‍ പോര്‍ച്ചുഗീസ് - ക്വെച്ചുവ - രാജസ്ഥാനി - രാപനൂയി - രാരോടോങ്കന്‍ - രഹയ്ട്ടോ-റോമന്‍സ് - റുണ്ടി - റുമേനിയന്‍ - റോമന്‍സ് ഭാഷ - റോമനി - മൂലഭാഷ - റഷ്യന്‍ - ആരോമാനിയന്‍ - കിന്യര്‍വണ്ട - സംസ്കൃതം - സാന്‍ഡവേ - യാകൂട് - ദക്ഷിണ അമേരിക്കന്‍ ഇന്‍ഡ്യന്‍ ഭാഷ - സാലിഷാന്‍ ഭാഷ - സമരിയാക്കാരുടെ അരമായ - സസാക് - സന്താലി - സര്‍ഡിനിയാന്‍ - സിസിലിയന്‍ - സ്കോട്സ് - സിന്ധി - വടക്കന്‍ സമി - സെല്‍കപ് - സെമറ്റിക് ഭാഷ - സാങ്കോ - പ്രാചീന ഐറിഷ് - ആംഗ്യഭാഷ - സെര്‍ബോ-ക്രൊയേഷ്യന്‍ - ഷാന്‍ - സിംഹള - സിഡാമോ - സിവോന്‍ ഭാഷ - ചീന-ടിബത്തന്‍ ഭാഷ - സ്ലോവാക്ക് - സ്ലോവേനിയന്‍ - സ്ലേവിക് ഭാഷ - സമോവന്‍ - സതേണ്‍ സമി - സമി ഭാഷ - ലൂലീ സമി - ഇനാരി സാമി - സ്കോള്‍ട്ട് സമി - ഷോണാ - സോണിന്‍കെ - സോമാലി - സോജിഡിയന്‍ - സോംഗൈ - അല്‍ബേനിയന്‍ - സെര്‍ബിയന്‍ - ശ്രാനന്‍ ഡോങ്കോ - സെറര്‍ - സ്വാറ്റി - നിളോ-സഹാറന്‍ ഭാഷ - തെക്കന്‍ സോതോ - സുഡാനീസ് - സുകുമ - സുസു - സുമേരിയന്‍ - സ്വീഡിഷ് - സ്വാഹിലി - പുരാതന സുറിയാനിഭാഷ - സുറിയാനി - തമിഴ് - തായ് ഭാഷ - തെലുങ്ക് - ടിംനേ - ടെറേനോ - ടെറ്റും - താജിക് - തായ് - ടൈഗ്രിന്യ - ടൈഗ്രി - ടിവ് - തുര്‍ക്മെന്‍ - ടൊക്കേലൗ - തഗാലോഗ് - ക്ലിംഗോണ്‍ - ലിംഗ്വിറ്റ് - ടമഷേക് - ത്സ്വാന - ടോംഗ - ന്യാസാ ഡോങ്ക - ടോക് പിസിന്‍ - തുര്‍ക്കി - ത്സോംഗ - സിംഷ്യന്‍ - ടാട്ടാര്‍ - തുംബുക - തുപി ഭാഷ - അറ്റ്ലാന്‍റിക്ക് ഭാഷ - തുവാലു - ട്വി - താഹിതിയന്‍ - തുവിനിയന്‍ - ഉഡ്മുര്‍ട്ട് - ഉയ്ഘുര്‍ - ഉഗറിട്ടിക് - ഉക്രേനിയന്‍ - ഉംബുന്ദു - അറിയാത്തതോ നിലവിലില്ലാത്തതോ ആയ ഭാഷ - ഉറുദു - ഉസ്ബെക് - വൈ - വെന്ദ - വിയറ്റ്നാമീസ് - വോളാപുക് - വോട്ടിക് - വല്ലൂണ്‍ - വകഷന്‍ ഭാഷകള്‍ - വലമൊ - വാരേയ് - വാഷൊ - സോര്‍ബിയന്‍ ഭാഷ - വൊളോഫ് - കല്‍മൈക് - ഖോസാ - യാവോ - യെപ്പീസ് - യിദ്ദിഷ് - യൊറൂബാ - യുപിക് - സ്വാംഗ് - സാപ്പോടെക് - ബ്ലിസ്സിംബല്‍സ് - സെനഗ - ചൈനീസ് - ലളിതചീനഭാഷ - പരമ്പരാഗത ചൈനീസ്‌ - സാന്ദെ - സുലു - സുനി - ഭാഷേതരം - സാസാ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ലോകം - ആഫ്രിക്ക - വടക്കേ അമേരിക്കന്‍ ഭൂഖണ്ഡം - തെക്കേ അമേരിക്കന്‍ ഭൂഖണ്ഡം - ഓഷ്യാനിയ - പശ്ചിമ ആഫ്രിക്ക - മദ്ധ്യഅമേരിക്ക - കിഴക്കന്‍ ആഫ്രിക്ക - വടക്കേ ആഫ്രിക്ക - മദ്ധ്യആഫ്രിക്ക - തെക്കേ ആഫ്രിക്ക - അമേരിക്കന്‍ ഭൂഖണ്ഡം - വടക്കേ അമേരിക്ക - കരീബിയന്‍ - കിഴക്കന്‍ ഏഷ്യ - തെക്കേ ഏഷ്യ - തെക്ക്-കിഴക്കന്‍ ഏഷ്യ - തെക്കേ യൂറോപ്പ് - ഓസ്ട്രേലിയയും ന്യൂസിലാന്‍ഡും - മെലനേഷ്യ - മൈക്രോനേഷ്യന്‍ പ്രദേശം - പോളിനേഷ്യ - ദക്ഷിണ-മദ്ധ്യ ഏഷ്യ - ഏഷ്യ - മദ്ധ്യേഷ്യ - പശ്ചിമേഷ്യ - യൂറോപ്പ് - കിഴക്കന്‍ യൂറോപ്പ് - വടക്കേ യൂറോപ്പ് - പശ്ചിമ യൂറോപ്പ് - സ്വതന്ത്രരാഷ്ട്രങ്ങളുടെ കോമണ്‍‌വെല്‍ത്ത് - ചെക്കോസ്ലോവാക്യ - ലാറ്റിനമേരിക്കയും കരീബിയനും - ചാനല്‍ ദ്വീപുകള്‍ - അന്‍റോറ - സംയുക്ത അറബ് രാഷ്ട്രം - അഫ്ഗാനിസ്ഥാന്‍ - ആന്‍റിഗ്വയും ബര്‍ബുഡയും - ആന്‍ഗ്വില്ല - അല്‍ബേനിയ - അര്‍മേനിയ - നെതര്‍ലന്‍ഡ്സ് ആന്‍റിലിസ് - അംഗോള - അന്‍റാര്‍ട്ടിക്ക - അര്‍ജന്‍റീന - അമേരിക്കന്‍ സാമോവ - ഓസ്ട്രിയ - ഓസ്ട്രേലിയ - അറുബ - അലന്‍ഡ് ദ്വീപുകള്‍ - അസര്‍ബൈജാന്‍ - ബോസ്നിയയും ഹെര്‍സഗോവിനയും - ബാര്‍ബഡോസ് - ബംഗ്ലാദേശ് - ബെല്‍ജിയം - ബുര്‍ക്കിനാ ഫാസോ - ബള്‍ഗേറിയ - ബഹ്റൈന്‍ - ബുറുണ്ടി - ബെനിന്‍ - സെന്‍റ് ബാര്‍ത്തെല്‍മി - ബര്‍മുഡ - ബ്രൂണൈ - ബൊളീവിയ - ബ്രസീല്‍ - ബഹാമാസ് - ഭൂട്ടാന്‍ - ബൗവെറ്റ് ദ്വീപ് - ബോട്സ്വാന - ബെലറൂസ് - ബെലീസ് - കാനഡ - കോക്കസ് - കോംഗോ - കിന്‍ഷാസ - സെന്‍ട്രല്‍ ആഫ്രിക്കന്‍ റിപ്പബ്ലിക് - കോംഗോ - ബ്രാസാവില്‍ - സ്വിറ്റ്സര്‍ലാന്‍ഡ് - ഐവറി കോസ്റ്റ് - കൂക്ക് ദ്വീപുകള്‍ - ചിലി - കാമറൂണ്‍ - ചൈന - കൊളംബിയ - കോസ്റ്ററിക്ക - സെര്‍ബിയയും മോണ്ടനേഗ്രോയും - ക്യൂബ - കേപ്പ് വെര്‍ഡെ - ക്രിസ്മസ് ദ്വീപ് - സൈപ്രസ്സ് - ചെക്ക് റിപ്പബ്ലിക് - ജര്‍മനി - ജിബൂട്ടി - ഡെന്‍മാര്‍ക്ക് - ഡൊമിനിക്ക - ഡൊമിനിക്കന്‍ റിപ്പബ്ലിക് - അള്‍ജീരിയ - ഇക്വഡോര്‍ - എസ്റ്റോണിയ‍ - ഈജിപ്ത് - പശ്ചിമ സഹാറ - എറിത്രിയ - സ്പെയിന്‍ - എത്യോപ്യ - ഫിന്‍ലാന്‍ഡ് - ഫിജി - ഫാക്ക്‌ലാന്‍റ് ഐലന്‍റ് - മൈക്രോനേഷ്യ - ഫറോയി ദ്വീപുകള്‍ - ഫ്രാന്‍സ് - ഗാബോണ്‍ - ബ്രിട്ടന്‍ - ഗ്രനേഡ - ജോര്‍ജിയ - ഫ്രഞ്ച് ഗയാന - ഗേണ്‍സി - ഘാന - ജിബ്രാള്‍ട്ടര്‍ - ഗ്രീന്‍ലാന്‍റ് - ഗാംബിയ - ഗ്വിനിയ - ഗുവാഡെലോപ് - ഇക്വിറ്റോറിയല്‍ ഗ്വിനിയ - ഗ്രീസ് - ദക്ഷിണ ജോര്‍ജ്ജിയയും ദക്ഷിണ സാന്‍ഡ്‌വിച്ച് ദ്വീപുകളും - ഗ്വാട്ടിമാലാ - ഗ്വാം - ഗിനി-ബിസോ - ഗയാന - ഹോങ് കോങ് എസ്.ഏ.ആര്‍. ചൈന - ഹിയേര്‍ഡ് ദ്വീപും മക്ഡൊണാള്ഡ് ദ്വീപുകളും - ഹോണ്ടുറാസ് - ക്രൊയേഷ്യ - ഹെയ്തി - ഹംഗറി - ഇന്‍ഡോനേഷ്യ - അയര്‍ലാന്‍ഡ് - ഇസ്രായേല്‍ - ഐല്‍ ഓഫ് മാന്‍ - ഇന്ത്യ - ബ്രിട്ടീഷ് ഇന്ത്യന്‍ മഹാസമുദ്ര പ്രദേശം - ഇറാക്ക് - ഇറാന്‍ - ഐസ്‌ലാന്റ് - ഇറ്റലി - ജേഴ്സി - ജമൈക്ക - ജോര്‍ദ്ദാന്‍ - ജപ്പാന്‍ - കെനിയ - കിര്‍ഗിസ്ഥാന്‍ - കംബോഡിയ - കിരിബാത്തി - കോമറോസ് - സെയ്ന്‍റ് കിറ്റ്സും നെവിസും - ഉത്തരകൊറിയ - ദക്ഷിണകൊറിയ - കുവൈറ്റ് - കേയ്മാന്‍ ദ്വീപുകള്‍ - കസാഖിസ്ഥാന്‍ - ലാവോസ് - ലബനോണ്‍ - സെന്‍റ് ലൂസിയ - ലൈച്ടെസ്റ്റിന്‍ - ശ്രീലങ്ക - ലൈബീരിയ - ലെസോത്തോ - ലിത്വാനിയ - ലക്സംബര്‍ഗ് - ലാത്വിയ - ലിബിയ - മൊറോക്കൊ - മൊണോക്കൊ - മള്‍ഡോവ - മോണ്ടേനേഗ്രോ - സെന്‍റ് മാര്‍ട്ടിന്‍ - മഡഗാസ്കര്‍ - മാര്‍ഷല്‍‍‍ ദ്വീപുകള്‍ - മാസിഡോണിയ - മാലി - മ്യാന്‍മാര്‍ - മംഗോളിയ - മക്കാവോ SAR ചൈന - ഉത്തര മറിയാനാ ദ്വീപുകള്‍ - മാര്‍ട്ടീനിക് - മൗറിറ്റാനിയ - മോണ്ട്സെറാറ്റ് - മാള്‍ട്ട - മൗറീഷ്യസ് - മാലിദ്വീപ് - മലാവി - മെക്സിക്കോ - മലേഷ്യ - മൊസാംബിക്ക് - നമീബിയ - പുതിയ കാലിഡോണിയ - നൈജര്‍ - നോര്‍ഫോക് ദ്വീപ് - നൈജീരിയ - നിക്കാരഗ്വ - നെതര്‍ലന്‍ഡ്സ് - നോര്‍വെ - നേപ്പാള്‍ - നൗറൂ - ന്യൂവേ - ന്യൂസിലാന്‍റ് - ഒമാന്‍ - പനാമ - പെറു - ഫ്രഞ്ച് പോളിനേഷ്യ - പപ്പുവ ന്യൂ ഗ്വിനി - ഫിലിപ്പൈന്‍സ് - പാക്കിസ്ഥാന്‍ - പോളണ്ട് - സെന്‍റ് പിറേയും മിക്വലണും - പിറ്റ്കെയ്ന്‍ - പോര്‍ട്ടോ റിക്കോ - പാലസ്തീന്‍ - പോര്‍ച്ചുഗല്‍ - പലാവു - പരാഗ്വേ - ഖത്തര്‍ - പുറംദ്വീപുകള്‍ - യൂറോപ്യന്‍ യൂണിയന്‍ - റീയൂണിയന്‍ - റുമേനിയ - സെര്‍ബിയ - റഷ്യ - റുവാണ്ട - സൗദി അറേബ്യ - സോളമന്‍‍ ദ്വീപുകള്‍ - സെയ്ഷെല്‍സ് - സുഡാന്‍ - സ്വീഡന്‍ - സിംഗപ്പുര്‍ - സെന്‍റ് ഹെലീന - സ്ലോവേനിയ - സ്വാല്‍ബാഡും ജാന്‍ മായേനും - സ്ലോവാക്യ - സിയേറാ ലിയോണ്‍ - സാന്‍ മറിനോ - സെനഗല്‍ - സോമാലിയ - സുറിനാം - സാവോ റ്റമെ ആന്‍ഡ് പ്രിന്‍സിപ്പി - എല്‍ സാല്‍വദോര്‍ - സിറിയ - സ്വാസിലാന്‍റ് - ടര്‍ക്ക്സും കൈക്കോ ദ്വീപുകളും - ചാഡ് - ഫ്രഞ്ച് ദക്ഷിണ ഭൂപ്രദേശം - ടോഗോ - തായ്‌ലാന്‍ഡ് - താജിക്കിസ്ഥാന്‍ - ടൊകെലാവു - കിഴക്കന്‍ തിമൂര്‍ - തുര്‍ക്ക്മെനിസ്ഥാന്‍ - ടുണീഷ്യ - ടോംഗ - തുര്‍ക്കി - ട്രിനിഡാഡും റ്റൊബാഗോയും - തുവാലു - തായ്‌വാന്‍ - ടാന്‍സാനിയ - ഉക്രൈന്‍ - ഉഗാണ്ട - യുണൈറ്റഡ് സ്റ്റേറ്റ്സും ചെറിയ പുറംദ്വീപുകളും - അമേരിക്കന്‍ ഐക്യനാടുകള്‍ - ഉറുഗ്വേ - ഉസ്ബെക്കിസ്ഥാന്‍ - വത്തിക്കാന്‍ - സെന്‍റ് വിന്‍സന്‍റും ഗ്രനഡൈന്‍സും - വെനിസ്വേല - ബ്രിട്ടീഷ് വിര്‍ജിന്‍ ദ്വീപുകള്‍ - യു.എസ്. വെര്‍ജിന്‍ ദ്വീപുകള്‍ - വിയറ്റ്നാം - വന്വാത്തു - വാലിസ് ആന്‍ഡ് ഫ്യുചൂന - സാമോവ - യമന്‍ - മയോട്ട് - ദക്ഷിണാഫ്രിക്ക - സാംബിയ - സിംബാബ്വേ - അറിയപ്പെടാത്തതോ നിലവിലില്ലാതµതതോ ആയ പ്രദേശം - - - 1996-ലെ ജര്‍മന്‍ ലിപി - 1606 വരെയുള്ള ആധുനികമദ്ധ്യകാല ഫ്രഞ്ച് - കിഴക്കന്‍ അര്‍മീനിയന്‍ - ബൂണ്ട്‌ലിങ്ങ് - ഐപി‌എ സ്വനവ്യവസ്ഥ - മോണോറ്റോണിക് - നേറ്റിസോണ്‍ പ്രാദേശികരൂപം - ഗ്നിവ/നിജിവ പ്രാദേശികരൂപം - കമ്പ്യൂട്ടര്‍ - പരിഷ്ക്കരിച്ച ലിപി - - - കലണ്ടര്‍ - അകാരാദിക്രമം - നാണയം - - - പരമ്പരാഗത ചൈനീസ് ക•്രമീകരണം - ബിഗ്5 - ബുദ്ധമതകലണ്ടര്‍ - ചൈനീസ് കലണ്ടര്‍ - പ്രത്യക്ഷക്രമീകരണം - ലളിതമായ ചൈനീസ് ക്രമീകരണം - ജീബി2312 - ഇംഗ്ലീഷ് കലണ്ടര്‍ - ഹീബ്രൂ കലണ്ടര്‍ - ശകവര്‍ഷ കലണ്ടര്‍ - ഇസ്ലാം കലണ്ടര്‍ - ഇസ്ലാം-സിവില്‍ കലണ്ടര്‍ - ജാപ്പനീസ് കലണ്ടര്‍ - ഫോണ്‍ബുക്കിലെ ക്രമീകരണം - പിന്‍‌യിന്‍ ക്രമീകരണം - ചൈനീസ് കലണ്ടര്‍ - സ്റ്റ്രോക്ക് ക്രമീകരണം - പരമ്പരാഗത ക്രമീകരണം - - - യു.എസ്. - മെട്രിക് - - - ഭാഷ: {0} - ലിപി: {0} - ദേശം: {0} - - - - [\u200C \u200D ഃ അ-ഋ ൠ ഌ ൡ എ-ഐ ഒ-ന പ-മ ം യ ര ല വ-ഹ ള ഴ റ ാ-ൃ െ-ൈ ൊ ോ ൗ ൌ \u0D4D] - [a-z] - [a-z] - - - “ - ” - ‘ - ’ - - - - - - - - ജനു - ഫെബ്രു - മാര്‍ - ഏപ്രി - മേയ് - ജൂണ്‍ - ജൂലൈ - ഓഗ - സെപ്റ്റം - ഒക്ടോ - നവം - ഡിസം - - - ജനുവരി - ഫെബ്രുവരി - മാര്‍ച്ച് - ഏപ്രില്‍ - മേയ് - ജൂണ്‍ - ജൂലൈ - ഓഗസ്റ്റ് - സെപ്റ്റംബര്‍ - ഒക്ടോബര്‍ - നവംബര്‍ - ഡിസംബര്‍ - - - - - ജ - ഫെ - മാ - ഏ - മേ - ജൂ - ജൂ - ഓ - സെ - ഒ - ന - ഡി - - - - - - - ഞായര്‍ - തിങ്കള്‍ - ചൊവ്വ - ബുധന്‍ - വ്യാഴം - വെള്ളി - ശനി - - - ഞായറാഴ്ച - തിങ്കളാഴ്ച - ചൊവ്വാഴ്ച - ബുധനാഴ്ച - വ്യാഴാഴ്ച - വെള്ളിയാഴ്ച - ശനിയാഴ്ച - - - - - ഞാ - തി - ചൊ - ബു - വ്യാ - വെ - ശ - - - - - - - Q1 - Q2 - Q3 - Q4 - - - ഒന്നാം പാദം - രണ്ടാം പാദം - മൂന്നാം പാദം - നാലാം പാദം - - - - - 1 - 2 - 3 - 4 - - - - am - pm - - - ക്രിസ്തുവിനു് മുമ്പ്‌ - ക്രിസ്തുവിന് പിന്‍പ് - - - ക്രി.മു. - ക്രി.പി. - - - ക്രി.മു. - ക്രി.പി. - - - - - - y, MMMM d, EEEE - - - - - y, MMMM d - - - - - y, MMM d - - - - - dd/MM/yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - - {1} {0} - - - - d EEE - L - M/d, E - LLL - MMM d, E - MMMM d, E - MMMM d - MMM d - dd-MM - d/M - d - h:mm a - mm:ss - y - M-y - d-M-yyyy, EEE - y MMM - y MMM d, EEE - y MMMM - yyyy Q - y QQQ - Q yy - MM-yyyy - MMMM y - - - {0} - {1} - - M-M - - - d/M, E - d/M, E - d/M, E - d/M, E - - - MMM-MMM - - - MMM d, E - MMM d, E - MMM d, E - MMM d, E - - - LLLL-LLLL - - - MMM d - MMM d - MMM d-d - - - d/M - d/M - d/M - d/M - - - d-d - - - h a – h a - h–h a - - - h:mm a – h:mm a - h:mm–h:mm a - h:mm–h:mm a - - - h:mm a – h:mm a v - h:mm–h:mm a v - h:mm–h:mm a v - - - h a – h a v - h–h a v - - - y-y - - - M/yy – M/yy - M/yy – M/yy - - - d/M/yy, E - d/M/yy, E - d/M/yy, E - d/M/yy, E - d/M/yy, E - d/M/yy, E - - - y MMM-MMM - y MMM - y MMM - - - y MMM d, E - MMM d, E - y, MMM d, E - d, E - y MMM d, E - y MMM d, E - - - yyyy-MM – MM - yyyy-MM – yyyy-MM - - - y MMM d - MMM d - y MMM d-d - y MMM d - y MMM d - - - d/M/yy – d/M/yy - d/M/yy – d/M/yy - d/M/yy – d/M/yy - - - - - - അബ്ദം - - - വര്‍ഷം - - - മാസം - - - ആഴ്ച - - - ദിവസം - മൂന്നുദിവസം മുമ്പ് - മിനിഞ്ഞാന്ന് - ഇന്നലെ - ഇന്നു് - നാളെ - മറ്റന്നാള്‍ - ഇന്നേക്ക് മൂന്നാം‌പക്കം - - - ആഴ്ചയിലെ ദിവസം - - - am/pm - - - മണിക്കൂര്‍ - - - മിനിട്ട് - - - സെക്കന്റ് - - - മേഖല - - - - - - - - ചൈത്രം - വൈശാഖം - ജ്യേഷ്ഠം - ആഷാഢം - ശ്രാവണം - ഭാദ്രപാദം - ആശ്വിനം - കാര്‍ത്തികം - മാര്‍ഗശീര്‍ഷം - പൗഷം - മാഘം - ഫല്‍ഗുനം - - - - - ചൈ - വൈ - ജ്യേ - ആ - ശ്രാ - ഭാ - ആ - കാ - മാ - പൗ - മാ - ഫ - - - - - - ശക - - - - - - - - മുഹറം - സഫര്‍ - റബീഹുല്‍ അവ്വല്‍ - റബീഹുല്‍ ആഖിര്‍ - ജമാദുല്‍ അവ്വല്‍ - ജമാദുല്‍ ആഖിര്‍ - റജബ് - ശഹബാന്‍ - റമളാന്‍ - ശവ്വാല്‍ - ദുല്‍ ഖഹദ് - ദുല്‍ ഹിജ്ജ - - - - - മു - സ - റ-അ - റ-ആ - ജ-അ - ജ-ആ - റ - ശ - റ - ശ - ദു - ദു-ഹി - - - - - - ഹിജറ - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} സമയം - {1} ({0}) - - അറിയപ്പെടാത്ത നഗരം - - - റൊതീറ - - - പാമര്‍ - - - ദക്ഷിണ ധ്രൂവം - - - സ്യോവ - - - മാവ്സണ്‍ - - - ഡെയ്‌വിസ് - - - വോസ്റ്റോക് - - - കാസെ - - - ഡ്യൂമണ്ട് ഡി യുര്‍വില്‍ - - - മാക്മര്‍ഡോ - - - റിയോ ഗ്യാലഗോസ് - - - മെന്‍ഡോസ - - - സാന്‍ ജുവാന്‍ - - - ഉഷിയ - - - ലാ റിയോജ - - - സാന്‍ ലൂയിസ് - - - ‍ക്യാറ്റമാര്‍ക്ക - - - ജുജുയ് - - - റ്റുകുമാന്‍ - - - കൊര്‍ദോവ - - - ബ്യൂനസ് ഐറിസ് - - - പെര്‍ത്ത് - - - യൂക്ല - - - ഡാര്‍വിന്‍ - - - അഡലെയ്ഡ് - - - ബ്രോക്കണ്‍ ഹില്‍ - - - ക്യൂറി - - - മെല്‍ബണ്‍ - - - ഹൊബാര്‍ട്ട് - - - ലിന്‍ഡെമാന്‍ - - - സിഡ്നി - - - ബ്രിസ്‌ബേയ്ന്‍ - - - ലോഡ് ഹോവ് - - - യെറുനീപ്പെ - - - റിയോ ബ്രാങ്കോ - - - പോര്‍ട്ടോ വെല്ലോ - - - ബോവ വിസ്റ്റ - - - മനൌസ് - - - കുയ്ബ - - - ക്യാന്പോ ഗ്രാന്‍ഡെ - - - ബെലം - - - അറഗ്വൈന - - - സാവോ പോലോ - - - ബഹിയ - - - ഫോര്‍ട്ടലീസ - - - മാസിയോ - - - റെസീഫെ - - - നൊറോന - - - ഡോവ്സണ്‍ - - - വൈറ്റ്ഹോഴ്സ് - - - ഇനുവിക് - - - വാന്‍‌കൂവര്‍ - - - ഡോവ്സണ്‍ ക്രീക്ക് - - - യെല്ലോനൈഫ് - - - എഡ്മോണ്‍ടണ്‍ - - - സ്വിഫ്റ്റ് കറന്‍റ് - - - കെയ്ന്പ്രിഡ്ജ് ബേ - - - റിജീന - - - വിന്നിപെഗ് - - - റെസല്യൂട്ട് - - - റെയ്നി റിവര്‍ - - - റാങ്കിന്‍ ഇന്‍ലെറ്റ് - - - കോറല്‍ ഹാര്‍ബര്‍ - - - തണ്ടര്‍ ബേ - - - നിപ്പിഗോണ്‍ - - - ടൊറണ്ടോ - - - മോണ്ട്രിയാല്‍ - - - ഇഖാലിത് - - - പാന്‍ഗ്‌നിറ്റങ് - - - മോങ്റ്റണ്‍ - - - ഹാലിഫാക്സ് - - - ഗൂസ് ബേ - - - ഗ്ലെയ്സ് ബേ - - - ബ്ലാങ്ക് സാബ്ലോണ്‍ - - - സെയ്ന്‍റ് ജോണ്‍സ് - - - കിന്‍ഷാസ - - - ലൂബുംബാഷി - - - ഈസ്റ്റര്‍ - - - കാഷ്ഗര്‍ - - - ഉറുംഖി - - - ചോങ്ഖിങ് - - - ഹാര്‍ബിന്‍ - - - ഗാലപ്പാഗോസ് - - - ക്യാനറി - - - ക്യൂട്ട - - - ട്രക് - - - പൊനാപ് - - - കൊസ്രേ - - - തൂളി - - - സ്കോര്‍സ്ബൈസണ്ട് - - - ഡാന്‍മാര്‍ക്ക്ഷാവ്ന്‍ - - - ജക്കാര്‍ത്ത - - - പൊന്‍റിയാനക് - - - മകസ്സര്‍ - - - ജയപുര - - - എന്‍ഡബറി - - - കിരിതിമാത്തി - - - തരാവ - - - അഖ്തൌ - - - ഓറല്‍ - - - അഖ്തോബ് - - - ഖിസിലോര്‍ഡ - - - അല്‍മതി - - - ക്വാജലെയ്ന്‍ - - - മജൂറോ - - - ഹൌഡ് - - - ഉലാന്‍ബട്ടൂര്‍ - - - ചൊയ്ബല്‍സന്‍ - - - തിയുവാന - - - ഹെര്‍മോസില്ലോ - - - മാസറ്റ്ലാന്‍ - - - ചിവാവു - - - മോണ്ടര്‍‌റേ - - - മെക്സിക്കോ സിറ്റി - - - മെരിഡ - - - കന്‍കൂന്‍ - - - കുചിങ് - - - ചാത്തം - - - മാര്‍ക്യുസാസ് - - - ഗാന്പിയര്‍ - - - എയ്സോര്‍സ് - - - മഡെയ്റ - - - ക്യാലിനിന്‍ഗ്രാഡ് - - - മോസ്കോ - - - വോള്‍ഗോഗ്രാഡ് - - - സമാറ - - - യാകാറ്റെറിന്‍ബര്‍ഗ് - - - ഒംസ്ക് - - - നൊവോസിബിര്‍സ്ക് - - - ക്രാസ്നോയാസ്ക് - - - ഇര്‍കസ്ക് - - - യാകസ്ക് - - - വ്ളാഡിവോസ്റ്റോക് - - - സഖാലിന്‍ - - - മഗഡാന്‍ - - - കാംചട്ക - - - അനാഡിര്‍ - - - ഉസ്ഗൊറോഡ് - - - കീവ് - - - സിംഫെറോപോള്‍ - - - സാപ്പറോസൈ - - - മിഡ്‌വേ - - - ജോണ്‍സ്റ്റണ്‍ - - - വെയ്ക് - - - അഡാക് - - - നൌം - - - ഹോണലൂലു - - - ആങ്കറേജ് - - - യാകുറ്റാറ്റ് - - - ജുനിയു - - - ലോസ് എയ്ഞ്ചലസ് - - - ബൊയ്സി - - - ഫീനിക്സ് - - - ഷിപ്പ്റോക്ക് - - - ഡെന്‍‌വര്‍ - - - ന്യൂ സെയ്‌ലം, നോര്‍ത്ത് ഡക്കോട്ട - - - സെന്‍റര്‍, നോര്‍ത്ത് ഡക്കോട്ട - - - ചിക്കാഗോ - - - മെനോമിനീ - - - വിന്‍സെന്‍സ്, ഇന്‍ഡ്യാന - - - പീറ്റേഴ്സ്ബര്‍ഗ്, ഇന്‍ഡ്യാന - - - റ്റെല്‍ സിറ്റി, ഇന്‍ഡ്യാന - - - നോക്സ്, ഇന്‍ഡ്യാന - - - വിനാമാക്, ഇന്‍ഡ്യാന - - - മരെങ്കോ, ഇന്‍ഡ്യാനാ - - - ഇന്‍ഡ്യാനാപോലീസ് - - - ലൂയിവില്‍ - - - വിവെയ്, ഇന്‍ഡ്യാന - - - മോണ്ടിസെല്ലോ, കെന്‍റക്കി - - - ഡെട്രോയിറ്റ് - - - ന്യൂയോര്‍ക്ക് - - - സമര്‍ക്കന്ദ് - - - - എയ്ക്കര്‍ സമയം - എയ്ക്കര്‍ വേനല്‍ക്കാല സമയം - - - ACT (എയ്ക്കര്‍) - ACST (എയ്ക്കര്‍) - - - - - അഫ്ഗാനിസ്ഥാന്‍ സമയം - - - - - മദ്ധ്യ ആഫ്രിക്കന്‍ സമയം - - - - - കിഴക്കേ ആഫ്രിക്കന്‍ സമയം - - - - - ദക്ഷിണാഫ്രിക്കന്‍ സമയം - ദക്ഷിണാഫ്രിക്കന്‍ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - - - - - പശ്ചിമാഫ്രിക്കന്‍ സമയം - പശ്ചിമാഫ്രിക്കന്‍ വേനല്‍ക്കാല സമയം - - - - - അക്ത്യുബിന്‍സ്ക് സമയം - അക്ത്യുബിന്‍സ്ക് വേനല്‍ക്കാല സമയം - - - - - അലാസ്ക്ക സമയം - അലാസ്ക സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - അലാസ്ക പകല്‍ സമയം - - - - - അലാസ്ക-ഹവായി സമയം - അലാസ്ക-ഹവായി സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - അലാസ്ക-ഹവായി പകല്‍ സമയം - - - - - അല്‍മതി സമയം - അല്‍മതി വേനല്‍ക്കാല സമയം - - - - - ആമസോണ്‍ സമയം - ആമസോണ്‍ വേനല്‍ക്കാല സമയം - - - - - സെന്‍ട്രല്‍ സമയം - സെന്‍ട്രല്‍ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - സെന്‍ട്രല്‍ പകല്‍ സമയം - - - - - കിഴക്കന്‍ സമയം - കിഴക്കന്‍ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - കിഴക്കന്‍ പകല്‍ സമയം - - - - - മൌണ്ടന്‍ സമയം - മൌണ്ടന്‍ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - മൌണ്ടന്‍ പകല്‍ സമയം - - - - - പസഫിക് സമയം - പസഫിക് സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - പസഫിക് പകല്‍ സമയം - - - - - അനാഡിര്‍ സമയം - അനാഡിര്‍ വേനല്‍ക്കാല സമയം - - - - - അഖ്തൌ സമയം - അഖ്തൌ വേനല്‍ക്കാല സമയം - - - AQTT (അഖ്തൌ) - AQTST (അഖ്തൌ) - - - - - അഖ്തോബ് സമയം - അഖ്തോബ് വേനല്‍ക്കാല സമയം - - - AQTT (അഖ്തോബ്) - AQTST (അഖ്തോബ്) - - - - - അറേബ്യന്‍ സമയം - അറേബ്യന്‍ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - അറേബ്യന്‍ പകല്‍ സമയം - - - AT (അറേബ്യന്‍) - AST (അറേബ്യന്‍) - ADT (അറേബ്യന്‍) - - - - - അര്‍ജന്‍റീന സമയം - അര്‍ജന്‍റീന വേനല്‍ക്കാല സമയം - - - - - പശ്ചിമ അര്‍ജന്‍റീന സമയം - - - - - അര്‍മേനിയ സമയം - അര്‍മേനിയ വേനല്‍ക്കാല സമയം - - - AMT (അര്‍മേനിയ) - AMST (അര്‍മേനിയ) - - - - - അഷ്ഖാബാദ് സമയം - അഷ്ഖാബാദ് വേനല്‍ക്കാല സമയം - - - - - അറ്റ്ലാന്‍റിക് സമയം - അറ്റ്ലാന്‍റിക് സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - അറ്റ്ലാന്‍റിക് പകല്‍ സമയം - - - - - സെന്‍ട്രല്‍ ഓസ്ട്രേലിയ സമയം - ഓസ്ട്രേലിയന്‍ സെന്‍ട്രല്‍ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - ഓസ്ട്രേലിയന്‍ സെന്‍ട്രല്‍ പകല്‍ സമയം - - - - - ഓസ്ട്രേലിയന്‍ സെന്‍ട്രല്‍ വെസ്റ്റേണ്‍ സമയം - ഓസ്ട്രേലിയന്‍ സെന്‍ട്രല്‍ വെസ്റ്റേണ്‍ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - ഓസ്ട്രേലിയന്‍ സെന്‍ട്രല്‍ വെസ്റ്റേണ്‍ പകല്‍ സമയം - - - - - ഈസ്റ്റേണ്‍ ഓസ്ട്രേലിയ സമയം - ഓസ്ട്രേലിയന്‍ ഈസ്റ്റേണ്‍ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - ഓസ്ട്രേലിയന്‍ ഈസ്റ്റേണ്‍ പകല്‍ സമയം - - - - - വെസ്റ്റേണ്‍ ഓസ്ട്രേലിയ സമയം - ഓസ്ട്രേലിയന്‍ ‍വെസ്റ്റേണ്‍ സ്റ്റാന്‍ഡേര്‍ഡ് - ഓസ്ട്രേലിയന്‍ ‍വെസ്റ്റേണ്‍ പകല്‍ സമയം - - - - - അസര്‍ബയ്ജാന്‍ സമയം - അസര്‍ബയ്ജാന്‍ വേനല്‍ക്കാല സമയം - - - - - എയ്സോര്‍സ് സമയം - എയ്സോര്‍സ് വേനല്‍ക്കാല സമയം - - - - - ബാകു സമയം - ബാകു വേനല്‍ക്കാല സമയം - - - - - ബംഗ്ലാദേശ് സമയം - - - - - ബെറിങ് സമയം - ബെറിങ് സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - ബെറിങ് പകല്‍ സമയം - - - BT (ബെറിങ് ) - BST (ബെറിങ് ) - BDT (ബെറിങ് ) - - - - - ഭൂട്ടാന്‍ സമയം - - - - - ബൊളീവിയ സമയം - - - - - ബോര്‍ണിയോ സമയം - ബോര്‍ണിയോ വേനല്‍ക്കാല സമയം - - - - - ബ്രസീലിയ സമയം - ബ്രസീലിയ വേനല്‍ക്കാല സമയം - - - - - ബ്രൂണെ ഡാറുസ്സലാം സമയം - - - - - കെയ്പ് വെര്‍ഡെ സമയം - കെയ്പ് വെര്‍ഡെ വേനല്‍ക്കാല സമയം - - - - - കമോറോ സമയം - കമോറോ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - - - - - ചാങ്ബയ് സമയം - - - - - ചാതം സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - ചാതം വേനല്‍ക്കാല സമയം - - - - - ചിലി സമയം - ചിലി വേനല്‍ക്കാല സമയം - - - - - ചൈന സമയം - ചൈനാ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - ചൈന പകല്‍ സമയം - - - CT (ചൈന) - CST (ചൈന) - CDT (ചൈന) - - - - - ചോയ്ബല്‍സന്‍ സമയം - ചോയ്ബല്‍സന്‍ വേനല്‍ക്കാല സമയം - - - - - ക്രിസ്മസ് ദ്വീപ് സമയം - - - - - കൊക്കോസ് ദ്വീപുകള്‍ സമയം - - - - - കൊളംബിയ സമയം - കൊളംബിയ വേനല്‍ക്കാല സമയം - - - - - കുക്ക് ദ്വീപുകള്‍ സമയം - കുക്ക് ദ്വീപുകള്‍ അര്‍ദ്ധ വേനല്‍ക്കാല സമയം - - - - - ക്യൂബ സമയം - ക്യൂബ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - ക്യൂബ പകല്‍ സമയം - - - CST (ക്യൂബ ) - CST (ക്യൂബ) - CDT (ക്യൂബ ) - - - - - ഡാക്ക സമയം - - - - - ഡെയ്‌വിസ് സമയം - - - - - ഡ്യൂമണ്ട് ഡി യൂര്‍വില്‍ സമയം - - - - - ദുഷാന്‍ബെ സമയം - ദുഷാന്‍ബെ വേനല്‍ക്കാല സമയം - - - - - ഡച്ച് ഗയാന സമയം - - - - - കിഴക്കന്‍ തിമൂര്‍ സമയം - - - - - ഈസ്റ്റര്‍ ദ്വീപ് സമയം - ഈസ്റ്റര്‍ ദ്വീപ് വേനല്‍ക്കാല സമയം - - - - - ഇക്വഡോര്‍ സമയം - - - - - സെന്‍ട്രല്‍ യൂറോപ്യന്‍ സമയം - സെന്‍ട്രല്‍ യൂറോപ്യന്‍ വേനല്‍ക്കാല സമയം - - - - - കിഴക്കന്‍ യൂറോപ്യന്‍ സമയം - കിഴക്കന്‍ യൂറോപ്യന്‍ വേനല്‍ക്കാല സമയം - - - - - ഫാക്‌ലാന്‍ഡ് ദ്വീപുകള്‍ സമയം - ഫാക്‌ലാന്‍ഡ് ദ്വീപുകള്‍ വേനല്‍ക്കാല സമയം - - - - - ഫിജി സമയം - ഫിജി വേനല്‍ക്കാല സമയം - - - - - ഫ്രെഞ്ച് ഗയാന സമയം - - - - - ഫ്രെഞ്ച് സതേണ്‍ ആന്‍ഡ് അന്‍റാര്‍ട്ടിക് സമയം - - - - - ഫ്രൂന്‍സ് സമയം - ഫ്രൂന്‍സ് വേനല്‍ക്കാല സമയം - - - - - ഗാലപ്പാഗോസ് സമയം - - - - - ഗാന്പിയര്‍ സമയം - - - - - ജോര്‍ജ്ജിയ സമയം - ജോര്‍ജ്ജിയ വേനല്‍ക്കാല സമയം - - - - - ഗില്‍ബര്‍ട്ട് ദ്വീപുകള്‍ സമയം - - - - - സെന്‍ട്രല്‍ ഗ്രീന്‍ലാന്‍ഡ് സമയം - സെന്‍ട്രല്‍ ഗ്രീന്‍ലാന്‍ഡ് വേനല്‍ക്കാല സമയം - - - - - കിഴക്കന്‍ ഗ്രീന്‍ലാന്‍ഡ് സമയം - കിഴക്കന്‍ ഗ്രീന്‍ലാന്‍ഡ് വേനല്‍ക്കാല സമയം - - - - - പശ്ചിമ ഗ്രീന്‍ലാന്‍ഡ് സമയം - പശ്ചിമ ഗ്രീന്‍ലാന്‍ഡ് വേനല്‍ക്കാല സമയം - - - - - ഗ്വാം സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - - - GST (ഗ്വാം) - - - - - ഗള്‍ഫ് സമയം - ഗള്‍ഫ് സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - - - - - ഗയാന സമയം - - - - - ഹവായി-അലൂഷ്യന്‍ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - - - - - ഹോങ് കോങ് സമയം - ഹോങ് കോങ് വേനല്‍ക്കാല സമയം - - - - - ഹൌഡ് സമയം - ഹൌഡ് വേനല്‍ക്കാല സമയം - - - - - ഇന്‍‌ഡ്യ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - - - - - ഇന്‍ഡ്യന്‍ മഹാസമുദ്ര സമയം - - - - - ഇന്‍ഡോചൈന സമയം - - - - - സെന്‍ട്രല്‍ ഇന്‍ഡോനേഷ്യ സമയം - - - - - കിഴക്കന്‍ ഇന്‍ഡോനേഷ്യ സമയം - - - - - പശ്ചിമ ഇന്‍ഡോനേഷ്യ സമയം - - - - - ഇറാന്‍ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - ഇറാന്‍ പകല്‍ സമയം - - - - - ഇര്‍കസ്ക് സമയം - ഇര്‍കസ്ക് വേനല്‍ക്കാല സമയം - - - - - ഇസ്രായേല്‍ സമയം - ഇസ്രായേല്‍ സ്റ്റാന്‍ഡേ‡ര്‍ഡ് സമയം - ഇസ്രായേല്‍ പകല്‍ സമയം - - - IST (ഇസ്രായേല്‍) - - - - - ജപ്പാന്‍ സമയം - ജപ്പാന്‍ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - ജപ്പാന്‍ പകല്‍ സമയം - - - - - പെട്രോപാവ്‌ലോസ്ക് കംചാസ്കി സമയം - പെട്രോപാവ്‌ലോസ്ക് കംചാസ്കി വേനല്‍ക്കാല സമയം - - - - - കറാച്ചി സമയം - - - - - കാഷ്ഗര്‍ സമയം - - - - - കിഴക്കന്‍ കസാഖ്സ്ഥാന്‍ സമയം - കിഴക്കന്‍ കസാഖ്സ്ഥാന്‍ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - - - - - പടിഞ്ഞാറന്‍ കസാഖ്സ്ഥാന്‍ സമയം - പടിഞ്ഞാറന്‍ കസാഖ്സ്ഥാന്‍ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - - - - - കിസിലോര്‍ഡ സമയം - കിസിലോര്‍ഡ വേനല്‍ക്കാല സമയം - - - - - കൊറിയന്‍ സമയം - കൊറിയന്‍ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - കൊറിയന്‍ പകല്‍ സമയം - - - - - കൊസ്റേ സമയം - - - - - ക്രാസ്നോയാഴ്സ്ക് സമയം - ക്രാസ്നോയാഴ്സ്ക് വേനല്‍ക്കാല സമയം - - - - - കുയ്ബൈഷെവ് സമയം - കുയ്ബൈഷെവ് വേനല്‍ക്കാല സമയം - - - - - ക്വാജലെയ്ന്‍ സമയം - - - - - കിര്‍ഗിസ്ഥാന്‍ സമയം - - - - - ലങ്ക സമയം - - - - - ലൈന്‍ ദ്വീപുകള്‍ സമയം - - - - - ലോങ്-ഷു സമയം - - - - - ലോര്‍ഡ് ഹോവ് സമയം - ലോര്‍ഡ് ഹോവ് സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - ലോര്‍ഡ് ഹോവ് പകല്‍ സമയം - - - - - മകൌ സമയം - മകൌ വേനല്‍ക്കാല സമയം - - - - - മഗാഡന്‍ സമയം - മഗാഡന്‍ വേനല്‍ക്കാല സമയം - - - - - മലയ സമയം - - - - - മലേഷ്യ സമയം - - - - - മാലിദ്വീപ് സമയം - - - - - മാര്‍ക്യുസാസ് സമയം - - - - - മാര്‍ഷല്‍ ദ്വീപുകള്‍ സമയം - - - - - മൌറിഷ്യസ് സമയം - - - - - മാവ്സണ്‍ സമയം - - - - - യുലാന്‍ ബാറ്റര്‍ സമയം - യുലാന്‍ ബാറ്റര്‍ വേനല്‍ക്കാല സമയം - - - - - മോസ്കോ സമയം - മോസ്കോ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - മോസ്കോ വേനല്‍ക്കാല സമയം - - - - - മ്യാന്‍മാര്‍ സമയം - - - - - നൌറു സമയം - - - - - നേപ്പാള്‍ സമയം - - - - - ന്യൂ കാലിഡോണിയ സമയം - ന്യൂ കാലിഡോണിയ വേനല്‍ക്കാല സമയം - - - - - ന്യൂസീലന്‍ഡ് സമയം - ന്യൂസീലന്‍ഡ് സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - ന്യൂസീലന്‍ഡ് പകല്‍ സമയം - - - - - ന്യൂഫൌണ്ട്‌ലാന്‍ഡ് സമയം - ന്യൂഫൌണ്ട്‌ലാന്‍ഡ് സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - ന്യൂഫൌണ്ട്‌ലാന്‍ഡ് പകല്‍‌ സമയം - - - - - നിയു സമയം - - - - - നോര്‍ഫോക് ദ്വീപുകള്‍ സമയം - - - - - ഫെര്‍ണാണ്ടോ ഡി നൊറോന സമയം - ഫെര്‍ണാണ്ടോ ഡി നൊറോന വേനല്‍ക്കാല സമയം - - - - - നോര്‍ത്ത് മറിയാനാ ദ്വീപുകള്‍ സമയം - - - - - നോവോസിബിര്‍സ്ക് സമയം - നോവോസിബിര്‍സ്ക് വേനല്‍ക്കാല സമയം - - - - - ഓംസ്ക് സമയം - ഓംസ്ക് വേനല്‍ക്കാല സമയം - - - - - പാകിസ്ഥാന്‍ സമയം - പാകിസ്ഥാന്‍ വേനല്‍ക്കാല സമയം - - - - - പലൌ സമയം - - - - - പാപ്യു ന്യൂ ഗിനിയ സമയം - - - - - പരാഗ്വേ സമയം - പരാഗ്വേ വേനല്‍ക്കാല സമയം - - - - - പെറു സമയം - പെറു വേനല്‍ക്കാല സമയം - - - - - ഫിലിപ്പീന്‍ സമയം - ഫിലിപ്പീന്‍ വേനല്‍ക്കാല സമയം - - - - - ഫീനിക്സ് ദ്വീപുകള്‍ സമയം - - - - - പിയറി ആന്‍ഡ് മിക്വിലോണ്‍ സമയം - പിയറി ആന്‍ഡ് മിക്വിലോണ്‍ സ്റ്റാന്‍ഡേര്‍ഡ്സമയം - പിയറി ആന്‍ഡ് മിക്വിലോണ്‍ പകല്‍ സമയം - - - - - പിറ്റ്കെയ്ന്‍ സമയം - - - - - പൊനാപ് സമയം - - - - - ഖിസിലോര്‍ഡ സമയം - ഖിസിലോര്‍ഡ വേനല്‍ക്കാല സമയം - - - - - റീയൂണിയന്‍ സമയം - - - - - റൊതീറ സമയം - - - - - സഖാലിന്‍ സമയം - സഖാലിന്‍ വേനല്‍ക്കാല സമയം - - - - - സമാറ സമയം - സമാറ വേനല്‍ക്കാല സമയം - - - - - സമര്‍കന്ദ് സമയം - സമര്‍കന്ദ് വേനല്‍ക്കാല സമയം - - - SAMT (സമര്‍കന്ദ് ) - SAMST (സമര്‍കന്ദ് ) - - - - - സമോവാ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - - - - - സെയ്ഷെല്‍സ് സമയം - - - - - ഷെവ്ചെങ്കോ സമയം - ഷെവ്ചെങ്കോ വേനല്‍ക്കാല സമയം - - - - - സിങ്കപ്പൂര്‍ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - - - - - സോളമന്‍ ദ്വീപുകള്‍ സമയം - - - - - ദക്ഷിണ ജോര്‍ജ്ജിയ സമയം - - - GST (ദക്ഷിണ ജോര്‍ജ്ജിയ) - - - - - സൂറിനാം സമയം - - - - - സ്‌വേഡ്‌ലോവ്സ്ക് സമയം - സ്‌വേഡ്‌ലോവ്സ്ക് വേനല്‍ക്കാല സമയം - - - - - സ്യോവ സമയം - - - - - തഹിതി സമയം - - - - - തജികിസ്ഥാന്‍ സമയം - - - - - താഷ്കന്ദ് സമയം - താഷ്കന്ദ് വേനല്‍ക്കാല സമയം - - - - - തിബിലീസി സമയം - തിബിലീസി വേനല്‍ക്കാല സമയം - - - - - റ്റോക്കിലൌ സമയം - - - - - റ്റോംഗാ സമയം - റ്റോംഗാ വേനല്‍ക്കാല സമയം - - - - - ട്രക്ക് സമയം - - - - - തുര്‍ക്കി സമയം - തുര്‍ക്കി വേനല്‍ക്കാല സമയം - - - - - തുര്‍ക്ക്മെനിസ്ഥാന്‍ സമയം - തുര്‍ക്ക്മെനിസ്ഥാന്‍ വേനല്‍ക്കാല സമയം - - - - - തുവാലു സമയം - - - - - യുറാല്‍സ്ക് സമയം - യുറാല്‍സ്ക് വേനല്‍ക്കാല സമയം - - - - - ഉറുഗ്വെ സമയം - ഉറുഗ്വെ വേനല്‍ക്കാല സമയം - - - - - ഉറുംഖി വേനല്‍‌ക്കാല സമയം - - - - - ഉസ്ബക്കിസ്ഥാന്‍ സമയം - ഉസ്ബക്കിസ്ഥാന്‍ വേനല്‍‌ക്കാല സമയം - - - - - വന്വാതു സമയം - വന്വാതു വേനല്‍ക്കാല സമയം - - - - - വെനസ്വേല സമയം - - - - - വ്‌ളാഡിവോസ്റ്റോക് സമയം - വ്‌ളാഡിവോസ്റ്റോക് വേനല്‍ക്കാല സമയം - - - - - വോള്‍ഗോഗ്രാഡ് സമയം - വോള്‍ഗോഗ്രാഡ് വേനല്‍ക്കാല സമയം - - - - - വോസ്റ്റോക് സമയം - - - - - വെയ്ക് ദ്വീപ് സമയം - - - - - വാലിസ് ആന്‍ഡ് ഫ്യൂചുന സമയം - - - - - യാകസ്ക് സമയം - യാകസ്ക് വേനല്‍ക്കാല സമയം - - - - - യെക്കാറ്ററിന്‍ബര്‍ഗ് സമയം - യെക്കാറ്ററിന്‍ബര്‍ഗ് വേനല്‍ക്കാല സമയം - - - - - യെരെവാന്‍ സമയം - യെരെവാന്‍ വേനല്‍ക്കാല സമയം - - - - - യൂക്കോണ്‍ സമയം - യൂക്കോണ്‍ സ്റ്റാന്‍ഡേര്‍ഡ് സമയം - യൂക്കണ്‍ പകല്‍ സമയം - - - - - - - . - , - ; - % - 0 - # - + - - - E - ‰ - ∞ - സംഖ്യയല്ല - - - - - #,##,##0.### - - - - - - - #E0 - - - - - - - #,##,##0% - - - - - - - #,##,##0.00¤ - - - {0} {1} - {0} {1} - - - - അന്‍ഡോറന്‍ പെസെയ്റ്റ - അന്‍ഡോറന്‍ പെസെയ്റ്റ - അന്‍ഡോറന്‍ പെസെയ്റ്റാസ് - - - യു.എ.ഇ. ദിര്‍ഹം - യു.എ.ഇ. ദിര്‍ഹം - യു.എ.ഇ. ദിര്‍ഹംസ് - - - അഫ്ഘാനി (1927-2002) - അഫ്ഘാനി (AFA) - അഫ്ഘാനിസ് (AFA) - - - അഫ്ഘാനി - അഫ്ഘാനി - അഫ്ഘാനിസ് - - - അല്‍ബേനിയന്‍ ലെക് - അല്‍ബേനിയന്‍ ലെക് - അല്‍ബേനിയന്‍ ലെക്സ് - - - അര്‍മേനിയന്‍ ഡ്രാം - അര്‍മേനിയന്‍ ഡ്രാം - അര്‍മേനിയന്‍ ഡ്രാംസ് - - - നെതര്‍ലന്‍ഡ്സ് ആന്‍റിലന്‍ ഗില്‍ഡര്‍ - നെതര്‍ലന്‍ഡ്സ് ആന്‍ഡിലന്‍ ഗില്‍ഡര്‍ - നെതര്‍ലന്‍ഡ്സ് ആന്‍ഡിലന്‍ ഗില്‍ഡേഴ്സ് - - - അംഗോളന്‍ ‍ക്വാന്‍സ - അംഗോളന്‍ ക്വാന്‍സ - അംഗോളന്‍ ക്വാന്‍സാസ് - - - അംഗോളന്‍ ‍ക്വാന്‍സ (1977-1990) - അംഗോളന്‍ ക്വാന്‍സാ (AOK) - അംഗോളന്‍ ക്വാന്‍സാസ് (AOK - - - അംഗോളന്‍ ‍ന്യൂ ക്വാന്‍സ (1990-2000) - അംഗോളന്‍ ന്യൂ ക്വാന്‍സാ (AON) - അംഗോളന്‍ ന്യൂ ക്വാന്‍സാസ് (AON) - - - അംഗോളന്‍ ‍ക്വാന്‍സ റിയാജസ്റ്റാഡോ (1995-1999) - അംഗോളന്‍ ക്വാന്‍സ റീഅഡ്ജസ്റ്റാഡോ (AOR) - അംഗോളന്‍ ക്വാന്‍സാസ് റീഅഡ്ജസ്റ്റാഡോ (AOR) - - - അര്‍ജന്‍റീന്‍ ഓസ്ട്രല്‍ - അര്‍ജന്‍റീന്‍ ഓസ്ട്രല്‍ - അര്‍ജന്‍റീന്‍ ഓസ്ട്രല്‍സ് - - - അര്‍ജന്‍റീന്‍ പെയ്സോ (1983-1985) - അര്‍ജന്‍റീന്‍ പെയ്സോ (ARP) - അര്‍ജന്‍റീന്‍ പെയ്സോസ് (ARP) - - - അര്‍ജന്‍റീന്‍ പെയ്സോ - അര്‍ജന്‍റീന്‍ പെയ്സോ - അര്‍ജന്‍റീന്‍ പെയ്സോസ് - - - ഓസ്ട്രേലിയന്‍ ഷില്ലിംഗ് - ഓസ്ട്രിയന്‍ ഷില്ലിംഗ് - ഓസ്ട്രിയന്‍ ഷില്ലിംഗ്സ് - - - ആസ്ട്രേലിയന്‍ ഡോളര്‍ - ഓസ്ട്രേലിയന്‍ ഡോളര്‍ - ഓസ്ട്രേലിയന്‍ ഡോളേഴ്സ് - - - അറൂബന്‍ ഗില്‍ഡര്‍ - അറൂബന്‍ ഗില്‍ഡര്‍ - അറൂബന്‍ ഗില്‍ഡേഴ്സ് - - - അസര്‍ബയ്ജാനിയന്‍ മനത് (1993-2006) - അസര്‍ബയ്ജാന്‍ മനത്‌ (AZM) - അസര്‍ബയ്ജാന്‍ മനത്‌സ് (AZM) - - - അസര്‍ബയ്ജാനിയന്‍ മനത് - അസര്‍ബയ്ജാന്‍ മനത് - അസര്‍ബയ്ജാന്‍ മനത്‌സ് - - - ബോസ്നിയ-ഹെര്‍സഗോവിന ദിനാര്‍ - ബോസ്നിയ ഹെര്‍സഗോവിന ദിനാര്‍ - ബോസ്നിയ ഹെര്‍സഗോവിന ദിനാര്‍സ് - - - ബോസ്നിയ-ഹെര്‍സഗോവിന കണ്‍വേര്‍ട്ടിബിള്‍ മാര്‍ക്ക് - ബോസ്നിയ ഹെര്‍സഗോവിന കണ്‍വേര്‍ട്ടിബിള്‍ മാര്‍ക്ക് - ബോസ്നിയ ഹെര്‍സഗോവിന കണ്‍വേര്‍ട്ടിബിള്‍ മാര്‍ക്സ് - - - ബാര്‍ബഡോസ് ഡോളര്‍ - ബാര്‍ബഡോസ് ഡോളര്‍ - ബാര്‍ബഡോസ് ഡോളേഴ്സ് - - - ബംഗ്ലാദേശി ടാക്ക - ബംഗ്ലാദേശ് താക്കാ - ബംഗ്ലാദേശ് താക്കാസ് - - - ബെല്‍ജിയന്‍ ഫ്രാങ്ക് (കൈമാറ്റം ചെയ്യാവുന്നത്) - ബെല്‍ജിയന്‍ ഫ്രാങ്ക് (കൈമാറ്റം ചെയ്യാവുന്നത്) - ബെല്‍ജിയന്‍ ഫ്രാങ്ക്സ് (കൈമാറ്റം ചെയ്യാവുന്നത്) - - - ബെല്‍ജിയന്‍ ഫ്രാങ്ക് - ബെല്‍ജിയന്‍ ഫ്രാങ്ക് - ബെല്‍ജിയന്‍ ഫ്രാങ്ക്സ് - - - ബല്‍ജിയന്‍ ഫ്രാങ്ക് - ബെല്‍ജിയന്‍ ഫ്രാങ്ക് (ഫിനാന്‍ഷ്യല്‍) - ബെല്‍ജിയന്‍ ഫ്രാങ്ക്സ്(ഫിനാന്‍ഷ്യല്‍) - - - ബള്‍ഗേറിയന്‍ ഹാര്‍ഡ് ലെവ് - ബള്‍ഗേറിയന്‍ ഹാര്‍ഡ് ലെവ് - ബള്‍ഗേറിയന്‍ ഹാര്‍ഡ് ലെവ്സ് - - - ബള്‍ഗേറിയന്‍ ന്യൂലവ് - ബള്‍ഗേറിയന്‍ ന്യൂ ലെവ് - ബള്‍ഗേറിയന്‍ ന്യൂ ലെവ്സ് - - - ബഹറിന്‍ ദിനാര്‍ - ബഹ്റൈന്‍ ദിനാര്‍ - ബഹ്റൈന്‍ ദിനാര്‍സ് - - - ബുറുണ്ടി ഫ്രാങ്ക് - ബുറുണ്ടി ഫ്രാങ്ക് - ബുറുണ്ടി ഫ്രാങ്ക്സ് - - - ബെര്‍മുഡന്‍ ഡോളര്‍ - ബെര്‍മുഡന്‍ ഡോളര്‍ - ബെര്‍മുഡന്‍ ഡോളേഴ്സ് - - - ബ്രൂണെ ഡോളര്‍ - ബ്രൂണെ ഡോളര്‍ - ബ്രൂണെ ഡോളറുകള്‍ - - - ബൊളീവിയാനോ - ബൊളീവിയാനോ - ബൊളീവിയാനോസ് - - - ബൊളീവിയന്‍ പെയ്സോ - ബൊളീവിയന്‍ പെയ്സോ - ബൊളീവിയന്‍ പെയ്സോസ് - - - ബൊളീവിയന്‍ എംവിഡോള്‍ - ബൊളീവിയന്‍ എംവിഡോ - ബൊളീവിയന്‍ എംവിഡോസ് - - - ബ്രസീലിയന്‍ ക്രുസെയ്റോ നോവോ (1967-1986) - ബ്രസീലിയന്‍ ക്രുസെയ്റോ നോവോ (BRB) - ബ്രസീലിയന്‍ ക്രുസെയ്റോസ് നോവോ (BRB) - - - ബ്രസീലിയന്‍ ക്രുസാഡോ - ബ്രസീലിയന്‍ ക്രുസാഡോ - ബ്രസീലിയന്‍ ക്രുസാഡോസ് - - - ബ്രസീലിയന്‍ ക്രുസെയ്റോ (1990-1993) - ബ്രസീലിയന്‍ ക്രുസെയ്റോ (BRE) - ബ്രസീലിയന്‍ ക്രുസെയ്റോസ് (BRE) - - - ബ്രസീലിയന്‍ റിയാല്‍ - ബ്രസീലിയന്‍ റിയാല്‍ - ബ്രസീലിയന്‍ റിയാല്‍സ് - - - ബ്രസീലിയന്‍ ക്രുസാഡോ നോവോ - ബ്രസീലിയന്‍ ക്രുസാഡോ നോവോ - ബ്രസീലിയന്‍ ക്രുസാഡോ നോവോസ് - - - ബ്രസീലിയന്‍ ക്രുസെയ്റോ - ബ്രസീലിയന്‍ ക്രുസെയ്റോ - ബ്രസീലിയന്‍ ക്രുസെയ്റോസ് - - - ബഹാമിയന്‍ ഡോളര്‍ - ബഹാമിയന്‍ ഡോളര്‍ - ബഹാമിയന്‍ ഡോളേഴ്സ് - - - ഭൂട്ടാന്‍ എന്‍ഗള്‍ട്രം - ഭൂട്ടാന്‍ എന്‍ഗള്‍ട്രം - ഭൂട്ടാന്‍ എന്‍ഗള്‍ട്രംസ് - - - ബര്‍മീസ് ചാറ്റ് - ബര്‍മീസ് ചാറ്റ് - ബര്‍മീസ് ചാറ്റ്സ് - - - ബോട്സ്വാനന്‍ പ്യൂല - ബോട്സ്വാനന്‍ പ്യൂല - ബോട്സ്വാനന്‍ പ്യൂലാസ് - - - ബെലാറഷ്യന്‍ ന്യൂ റൂബിള്‍ (1994-1999) - ബെലാറഷ്യന്‍ ന്യൂ റൂബിള്‍ (BYB) - ബെലാറഷ്യന്‍ ന്യൂ റൂബിള്‍സ് (BYB) - - - ബെലാറഷ്യന്‍ റൂബിള്‍ - ബെലാറഷ്യന്‍ റൂബിള്‍ - ബെലാറഷ്യന്‍ റൂബിള്‍സ് - - - ബെലീസ് ഡോളര്‍ - ബെലീസ് ഡോളര്‍ - ബെലീസ് ഡോളേഴ്സ് - - - കനേഡിയന്‍ ഡോളര്‍ - കനേഡിയന്‍ ഡോളര്‍ - കനേഡിയന്‍ ഡോളേഴ്സ് - - - കോങ്കളീസ് ഫ്രാങ്ക് കോങ്കൊളൈസ് - കോങ്കളീസ് ഫ്രാങ്ക് കോങ്കൊളൈസ് - കോങ്കളീസ് ഫ്രാങ്ക്സ് കോങ്കൊളൈസ് - - - WIR യൂറോ - WIR യൂറോ - WIR യൂറോസ് - - - സ്വിസ് ഫ്രാങ്ക് - സ്വിസ് ഫ്രാങ്ക് - സ്വിസ് ഫ്രാങ്ക്സ് - - - WIR ഫ്രാങ്ക് - WIR ഫ്രാങ്ക് - WIR ഫ്രാങ്ക്സ് - - - ചിലിയന്‍ യൂണിഡാഡ്സ് ഡി ഫോമെന്‍റോ - ചിലിയന്‍ യൂണിഡാഡ്സ് ഡി ഫോമെന്‍റോ - ചിലിയന്‍ യൂണിഡാഡ്സ് ഡി ഫോമെന്‍റോസ് - - - ചിലിയന്‍ പെസോ - ചിലിയന്‍ പെസോ - ചിലിയന്‍ പെസോസ് - - - ചൈനീസ് യുവാന്‍ - ചൈനീസ് യുവാന്‍ - ചൈനീസ് യുവാന്‍ - - - കൊളംബിയന്‍ പെസോ - കൊളംബിയന്‍ പെസോ - കൊളംബിയന്‍ പെസോസ് - - - യൂണിഡാഡ് ഡി വാലര്‍ റിയല്‍ - യൂണിഡാഡ് ഡി വാലര്‍ റിയല്‍ - യൂണിഡാഡ് ഡി വാലര്‍ റിയല്‍സ് - - - കോസ്റ്റാ റിക്കന്‍ കോളന്‍ - കോസ്റ്റാ റിക്കന്‍ കോളന്‍ - കോസ്റ്റാ റിക്കന്‍ കോളന്‍സ് - - - പ്രാചീന സെര്‍ബിയന്‍ ദിനാര്‍ - പ്രാചീന സെര്‍ബിയന്‍ ദിനാര്‍ - പ്രാചീന സെര്‍ബിയന്‍ ദിനാര്‍സ് - - - ചെക്കോസ്ലൊവാക്ക് ഹാര്‍ഡ് കൊരൂന - ചെക്കോസ്ലൊവാക്ക് ഹാര്‍ഡ് കൊരൂന - ചെക്കോസ്ലൊവാക്ക് ഹാര്‍ഡ് കൊരൂനാസ് - - - ക്യൂബന്‍ പെസോ - ക്യൂബന്‍ പെസോ - ക്യൂബന്‍ പെസോസ് - - - കെയ്പ് വെര്‍ഡെ എസ്ക്യുഡോ - കെയ്പ് വെര്‍ഡെ എസ്ക്യുഡോ - കെയ്പ് വെര്‍ഡെ എസ്ക്യുഡോസ് - - - സൈപ്രസ് പൌണ്ട് - സൈപ്രസ് പൌണ്ട് - സൈപ്രസ് പൌണ്ട്സ് - - - ചെക്ക് റിപ്പബ്ലിക് കൊരൂന - ചെക്ക് റിപ്പബ്ലിക് കൊരൂന - ചെക്ക് റിപ്പബ്ലിക് കൊരൂനാസ് - - - കിഴക്കന്‍ ജര്‍മന്‍ ഓസ്റ്റ്മാര്‍ക്ക് - കിഴക്കന്‍ ജര്‍മന്‍ ഓസ്റ്റ്മാര്‍ക്ക് - കിഴക്കന്‍ ജര്‍മന്‍ ഓസ്റ്റ്മാര്‍ക്ക്സ് - - - ജര്‍മന്‍ മാര്‍ക്ക് - ജര്‍മന്‍ മാര്‍ക്ക് - ജര്‍മന്‍ മാര്‍ക്ക്സ് - - - ജീബോട്ടി ഫ്രാങ്ക് - ജീബോട്ടി ഫ്രാങ്ക് - ജീബോട്ടി ഫ്രാങ്ക്സ് - - - ഡാനിഷ് ക്രോണെ - ഡാനിഷ് ക്രോണ്‍ - ഡാനിഷ് ക്രോണ്‍സ് - - - ഡൊമിനിക്കന്‍ പെയ്സോ - ഡൊമിനിക്കന്‍ പെയ്സോ - ഡൊമിനിക്കന്‍ പെയ്സോസ് - - - അള്‍ജീരിയന്‍ ദിനാര്‍ - അള്‍ജീരിയന്‍ ദിനാര്‍ - അള്‍ജീരിയന്‍ ദിനാര്‍സ് - - - ഇക്വഡോര്‍ സൂക്രേ - ഇക്വഡോര്‍ സൂക്രേ - ഇക്വഡോര്‍ സൂക്രേസ് - - - ഇക്വഡോര്‍ യൂണിഡാഡ് വാലര്‍ കോണ്‍സ്റ്റന്‍റെ (UVC) - ഇക്വഡോര്‍ യൂണിഡാഡ് ഡി വാലര്‍ കോണ്‍സ്റ്റന്‍റെ (UVC) - ഇക്വഡോര്‍ യൂണിഡാഡ്സ് ഡി വാലര്‍ കോണ്‍സ്റ്റന്‍റെ (UVC) - - - എസ്റ്റൌനിയന്‍ ക്രൂണ്‍ - എസ്റ്റൌനിയന്‍ ക്രൂണ്‍ - എസ്റ്റൌനിയന്‍ ക്രൂണ്‍സ് - - - ഈജിപ്ഷ്യന്‍ പൌണ്ട് - ഈജിപ്ഷ്യന്‍ പൌണ്ട് - ഈജിപ്ഷ്യന്‍ പൌണ്ട്സ് - - - എറിത്രിയന്‍ നക്ഫ - എറിത്രിയന്‍ നക്ഫ - എറിത്രിയന്‍ നക്ഫാസ് - - - സ്പാനിഷ് പസെയ്റ്റ (A അക്കൌണ്ട്) - സ്പാനിഷ് പസെയ്റ്റ (A അക്കൌണ്ട്) - സ്പാനിഷ് പസെയ്റ്റാസ് (A അക്കൌണ്ട്) - - - സ്പാനിഷ് പസെയ്റ്റ (കൈമാറ്റം ചെയ്യാവുന്ന അക്കൌണ്ട്) - സ്പാനിഷ് പസെയ്റ്റ (കൈമാറ്റം ചെയ്യാവുന്ന അക്കൌണ്ട്) - സ്പാനിഷ് പസെയ്റ്റാസ് (കൈമാറ്റം ചെയ്യാവുന്ന അക്കൌണ്ട്) - - - സ്പാനിഷ് പസെയ്റ്റ - സ്പാനിഷ് പസെയ്റ്റ - സ്പാനിഷ് പസെയ്റ്റാസ് - - - എത്യോപ്പിയന്‍ ബിര്‍ - എത്യോപ്പിയന്‍ ബിര്‍ - എത്യോപ്പിയന്‍ ബിര്‍സ് - - - യൂറോ - യൂറോ - യൂറോസ് - - - ഫിന്നിഷ് മാര്‍ക്ക - ഫിന്നിഷ് മാര്‍ക്ക - ഫിന്നിഷ് മാര്‍ക്കാസ് - - - ഫിജി ഡോളര്‍ - ഫിജി ഡോളര്‍ - ഫിജി ഡോളേഴ്സ് - - - ഫോക്‌ലാന്‍ഡ് ദ്വീപുകളുടെ പൌണ്ട് - ഫോക്‌ലാന്‍ഡ് ദ്വീപുകളുടെ പൌണ്ട് - ഫോക്‌ലാന്‍ഡ് ദ്വീപുകളുടെ പൌണ്ട്സ് - - - ഫ്രാങ്ക് - ഫ്രെഞ്ച് ഫ്രാങ്ക് - ഫ്രെഞ്ച് ഫ്രാങ്ക്സ് - - - ബ്രിട്ടീഷ് പൌണ്ട് സ്റ്റെര്‍ലിംങ് - ബ്രിട്ടീഷ് പൌണ്ട് സ്റ്റെര്‍ലിംഗ് - ബ്രിട്ടീഷ് പൌണ്ട് സ്റ്റെര്‍ലിംഗ്സ് - - - ജോര്‍‍ജ്ജിയന്‍ ക്യൂപോണ്‍ ലാരിറ്റ് - ജോര്‍‍ജ്ജിയന്‍ ക്യൂപോണ്‍ ലാരിറ്റ് - ജോര്‍‍ജ്ജിയന്‍ ക്യൂപോണ്‍ ലാരിറ്റ്സ് - - - ജോര്‍‍ജ്ജിയന്‍ ലാരി - ജോര്‍‍ജ്ജിയന്‍ ലാരി - ജോര്‍‍ജ്ജിയന്‍ ലാരിസ് - - - ഘാന കെഡി (1979-2007) - ഘാന കെഡി (GHC) - ഘാന കെഡിസ് (GHC) - - - ഘാന കെഡി - ഘാന കെഡി - ഘാന കെഡിസ് - - - ഗിബ്രാല്‍ട്ടര്‍ പൌണ്ട് - ഗിബ്രാല്‍ട്ടര്‍ പൌണ്ട് - ഗിബ്രാല്‍ട്ടര്‍ പൌണ്ട്സ് - - - ഗാന്പിയ ദലാസി - ഗാന്പിയ ദലാസി - ഗാന്പിയ ദലാസിസ് - - - ഗിനിയ ഫ്രാങ്ക് - ഗിനിയ ഫ്രാങ്ക് - ഗിനിയ ഫ്രാങ്ക്സ് - - - ഗിനിയ സൈലി - ഗിനിയ സൈലി - ഗിനിയ സൈലിസ് - - - ഇക്വിറ്റോറിയല്‍ ഗിനിയ എക്വീലെ ഗിനിയാന - ഇക്വിറ്റോറിയല്‍ ഗിനി എക്വീലെ - ഇക്വിറ്റോറിയല്‍ ഗിനി എക്വീലെ - - - ഗ്രീക്ക് ഡ്രാക്ക്മ - ഗ്രീക്ക് ഡ്രാക്ക്മ - ഗ്രീക്ക് ഡ്രാക്ക്മാസ് - - - ഗ്വാട്ടിമാല ക്വെറ്റ്സല്‍ - ഗ്വാട്ടിമാല ക്വെറ്റ്സല്‍ - ഗ്വാട്ടിമാല ക്വെറ്റ്സല്‍സ് - - - പോര്‍ച്ചുഗീസ് ഗിനി എസ്ക്യൂഡോ - പോര്‍ച്ചുഗീസ് ഗിനി എസ്ക്യൂഡോ - പോര്‍ച്ചുഗീസ് ഗിനി എസ്ക്യൂഡോസ് - - - ഗിനിയ-ബിസാവു പെയ്സോ - ഗിനി-ബിസാവു പെയ്സോ - ഗിനി-ബിസാവു പെയ്സോസ് - - - ഗയാന ഡോളര്‍ - ഗയാന ഡോളര്‍ - ഗയാന ഡോളേഴ്സ് - - - ഹോങ് കോങ് ഡോളര്‍ - ഹോങ് കോങ് ഡോളര്‍ - ഹോങ് കോങ് ഡോളേഴ്സ് - - - ഹോന്‍ഡ്യുറാസ് ലെംപീര - ഹോന്‍ഡ്യുറാസ് ലെംപീര - ഹോന്‍ഡ്യുറാസ് ലെംപീരാസ് - - - ക്രൊയേഷ്യന്‍ ദിനാര്‍ - ക്രൊയേഷ്യന്‍ ദിനാര്‍ - ക്രൊയേഷ്യന്‍ ദിനാര്‍സ് - - - ക്രൊയേഷ്യന്‍ ക്യൂന - ക്രൊയേഷ്യന്‍ ക്യൂന - ക്രൊയേഷ്യന്‍ ക്യൂനാസ് - - - ഹെയ്ഷ്യന്‍ ഗൂര്‍ഡ് - ഹെയ്ഷ്യന്‍ ഗൂര്‍ഡ് - ഹെയ്ഷ്യന്‍ ഗൂര്‍ഡ്സ് - - - ഹംഗേറിയന്‍ ഫോറിന്‍റ് - ഹംഗേറിയന്‍ ഫോറിന്‍റ് - ഹംഗേറിയന്‍ ഫോറിന്‍റ്സ് - - - ഇന്തോനേഷ്യന്‍ രൂപ - ഇന്തോനേഷ്യന്‍ രൂപ - ഇന്തോനേഷ്യന്‍ രൂപ - - - ഐറിഷ് പൌണ്ട് - ഐറിഷ് പൌണ്ട് - ഐറിഷ് പൌണ്ട്സ് - - - ഇസ്രയേലി പൌണ്ട് - ഇസ്രയേലി പൌണ്ട് - ഇസ്രയേലി പൌണ്ട്സ് - - - ഇസ്രായേലി ഷക്കേല്‍ - ഇസ്രായേലി ന്യൂ ഷെക്കല്‍ - ഇസ്രായേലി ന്യൂ ഷെക്കല്‍സ് - - - ഇന്ത്യന്‍ രൂപ - ഇന്ത്യന്‍ രൂപ - ഇന്ത്യന്‍ രൂപ - രൂ - - - ഇറാക്കി ദിനാര്‍ - ഇറാക്കി ദിനാര്‍ - ഇറാക്കി ദിനാര്‍സ് - - - ഇറാനിയന്‍ റിയാല്‍ - ഇറാനിയന്‍ റിയാല്‍ - ഇറാനിയന്‍ റിയാല്‍സ് - - - ഐസ്‌ലാന്‍ഡിക് ക്രോണ - ഐസ്‌ലാന്‍ഡിക് ക്രോണ - ഐസ്‌ലാന്‍ഡിക് ക്രോണാസ് - - - ഇറ്റാലിയന്‍ ലിറ - ഇറ്റാലിയന്‍ ലിറ - ഇറ്റാലിയന്‍ ലിറാസ് - - - ജമൈക്കന്‍ ഡോളര്‍ - ജമൈക്കന്‍ ഡോളര്‍ - ജമൈക്കന്‍ ഡോളേഴ്സ് - - - ജോര്‍ദ്ദാന്‍ ദിനാര്‍ - ജോര്‍ദ്ദാന്‍ ദിനാര്‍ - ജോര്‍ദ്ദാന്‍ ദിനാര്‍സ് - - - ജപ്പാനീസ് യെന്‍ - ജാപ്പനീസ് യെന്‍ - ജാപ്പനീസ് യെന്‍ - - - കെനിയന്‍ ഷില്ലിംഗ് - കെനിയന്‍ ഷില്ലിംഗ് - കെനിയന്‍ ഷില്ലിംഗ്സ് - - - കിര്‍ഗിസ്ഥാന്‍ സോം - കിര്‍ഗിസ്ഥാന്‍ സോം - കിര്‍ഗിസ്ഥാന്‍ സോംസ് - - - കംബോഡിയന്‍ റീല്‍ - കംബോഡിയന്‍ റീല്‍ - കംബോഡിയന്‍ റീല്‍സ് - - - കൊമോറോ ഫ്രാങ്ക് - കൊമോറോ ഫ്രാങ്ക് - കൊമോറോ ഫ്രാങ്ക്‍സ് - - - നോര്‍ത്ത് കൊറിയന്‍ വോണ്‍ - ഉത്തര കൊറിയന്‍ വോണ്‍ - ഉത്തര കൊറിയന്‍ വോണ്‍സ് - - - ദക്ഷിണ കൊറിയന്‍ വോണ്‍ - ദക്ഷിണ കൊറിയന്‍ വോണ്‍ - ദക്ഷിണ കൊറിയന്‍ വോണ്‍സ് - - - കുവൈറ്റി ദിനാര്‍ - കുവൈറ്റ് ദിനാര്‍ - കുവൈറ്റി ദിനാര്‍സ്‌ - - - കെയ്മന്‍ദ്വീപുകളുടെ ഡോളര്‍‌ - കെയ്മന്‍ദ്വീപുകളുടെ ഡോളര്‍‌ - കെയ്മന്‍ദ്വീപുകളുടെ ഡോളേഴ്സ് - - - കസാഖ്സ്ഥാന്‍ റ്റെംഗെ - കസാഖ്സ്ഥാന്‍ റ്റെംഗെ - കസാഖ്സ്ഥാന്‍ റ്റെംഗെസ്‌ - - - ലാവോഷിയന്‍ കിപ് - ലാവോഷ്യന്‍ കിപ്‌ - ലാവോഷ്യന്‍ കിപ്‌സ്‌ - - - ലെബനീസ് പൌണ്ട് - ലെബനീസ് പൌണ്ട് - ലെബനീസ് പൌണ്ട്സ് - - - ശ്രീലങ്കന്‍ രൂപ - ശ്രീലങ്കന്‍ രൂപ - ശ്രീലങ്കന്‍ രൂപ - - - ലൈബീരിയന്‍ ഡോളര്‍ - ലൈബീരിയന്‍ ഡോളര്‍ - ലൈബീരിയന്‍ ഡോളേഴ്സ് - - - ലെസോതോ ലോത്തി - ലെസോതോ ലോത്തി - ലെസോതോ ലോത്തിസ്‌ - - - ലിത്വാനിയന്‍ ലിത - ലിത്വാനിയന്‍ ലിത - ലിത്വാനിയന്‍ ലിതാസ്‌ - - - ലിത്വാനിയന്‍ തലോനാസ് - ലിത്വാനിയന്‍ തലോനാസ് - ലിത്വാനിയന്‍ തലോനാസെസ്‌ - - - ലക്സംബര്‍ഗ് കണ്‍വേര്‍ട്ടിബിള്‍ ഫ്രാങ്ക് - ലക്സംബര്‍ഗ് കൈമാറ്റം ചെയ്യാവുന്ന ഫ്രാങ്ക്‌ - ലക്സംബര്‍ഗ് കൈമാറ്റം ചെയ്യാവുന്ന ഫ്രാങ്ക്‌സ്‌ - - - ലക്സംബര്‍ഗ് ഫ്രാങ്ക് - ലക്സംബര്‍ഗ് ഫ്രാങ്ക് - ലക്സംബര്‍ഗ് ഫ്രാങ്ക്‌സ്‌ - - - ലക്സംബര്‍ഗ് ഫിനാന്‍ഷ്യല്‍ ഫ്രാങ്ക് - ലക്സംബര്‍ഗ് ഫിനാന്‍ഷ്യല്‍ ഫ്രാങ്ക് - ലക്സംബര്‍ഗ് ഫിനാന്‍ഷ്യല്‍ ഫ്രാങ്ക്‌സ്‌ - - - ലാറ്റ്വിയന്‍ ലാറ്റ്സ് - ലാറ്റ്വിയന്‍ ലാറ്റ്സ് - ലാറ്റ്വിയന്‍ ലാറ്റ്സെസ്‌ - - - ലാറ്റ്വിയന്‍ റൂബിള്‍ - ലാറ്റ്വിയന്‍ റൂബിള്‍ - LVR - - - ലിബിയന്‍ ദിനാര്‍ - LYD - LYD - - - മൊറോക്കന്‍ ദിര്‍ഹം - MAD - MAD - - - മൊറോക്കന്‍ ഫ്രാങ്ക് - MAF - MAF - - - മൊല്‍ഡോവന്‍ ലിയൂ - MDL - MDL - - - മഡഗാസ്കര്‍ ഏരിയറി - MGA - MGA - - - മഡഗാസ്കര്‍ ഫ്രാങ്ക് - MGF - MGF - - - മാസിഡോണിയന്‍ ദിനാര്‍ - MKD - MKD - - - മാലി ഫ്രാങ്ക് - MLF - MLF - - - മ്യാന്‍മാര്‍ ചാറ്റ് - മ്യാന്‍മാര്‍ ചാറ്റ് - MMK - - - മംഗോളിയന്‍ തുഗ്രിക് - MNT - MNT - - - മകൌ പതാക്ക - മകൌ പതാക്ക - മകൌ പതാക്കാസ് - - - മൌറിറ്റേനിയ ഔഗിയ - MRO - MRO - - - മല്‍ത്തീസ് ലിറ - MTL - MTL - - - മല്‍ത്തീസ് പൌണ്ട് - MTP - MTP - - - മൌറീഷ്യസ് രൂപ - MUR - MUR - - - മാലദ്വീപ് രൂപ - മാലദ്വീപ് രൂപ - മാലദ്വീപ് രൂപ - - - മലാവി ക്വാച - MWK - MWK - - - മെക്സിക്കന്‍ പെസോ - MXN - MXN - - - മെക്സിക്കന്‍ സില്‍വര്‍ പെയ്സോ (1861-1992) - മെക്സിക്കന്‍ സില്‍വര്‍ പെയ്സോ (MXP) - മെക്സിക്കന്‍ സില്‍വര്‍ പെയ്സോസ് (MXP) - - - മെക്സിക്കന്‍ യൂണിഡാഡ് ഡി ഇന്‍വെര്‍ഷന്‍ (UDI) - മെക്സിക്കന്‍ യൂണിഡാഡ് ഡി ഇന്‍വെര്‍ഷന്‍ (UDI) - മെക്സിക്കന്‍ യൂണിഡാഡ്സ് ഡി ഇന്‍വെര്‍ഷന്‍ (UDI) - - - മലേഷ്യന്‍ റിംഗിറ്റ് - MYR - MYR - - - മൊസാന്പിക്ക് എസ്ക്യുഡോ - MZE - MZE - - - ഓള്‍ഡ് മൊസാന്പിക്ക് മെറ്റിക്കല്‍ - MZM - MZM - - - മൊസാന്പിക്ക് മെറ്റിക്കല്‍ - MZN - MZN - - - നമീബിയന്‍ ഡോളര്‍ - NAD - NAD - - - നൈജീരിയന്‍ നൈറ - NGN - NGN - - - നികരാഗ്വന്‍ കൊര്‍ഡോബ - NIC - NIC - - - നികരാഗ്വന്‍ കൊര്‍ഡോബ ഒരോ - NIO - NIO - - - നെതര്‍ലന്‍ഡ്സ് ഗില്‍ഡര്‍ - നെതര്‍ലന്‍ഡ്സ് ഗില്‍ഡര്‍ - നെതര്‍ലന്‍ഡ്സ് ഗില്‍ഡേഴ്സ് - - - നോര്‍വീജിയന്‍ ക്രോണെ - നോര്‍വീജിയന്‍ ക്രോണ്‍ - നോര്‍വീജിയന്‍ ക്രോണ്‍സ് - - - നേപ്പാളി രൂപ - NPR - NPR - - - ന്യൂസിലാന്‍ഡ് ഡോളര്‍ - ന്യൂസിലന്‍ഡ് ഡോളര്‍ - ന്യൂസിലന്‍ഡ് ഡോളേഴ്സ് - - - ഒമാന്‍ റിയാല്‍ - OMR - OMR - - - പനാമെയ്നിയന്‍ ബാല്‍ബോവ - പനാമെയ്നിയന്‍ ബാല്‍ബോവ - പനാമെയ്നിയന്‍ ബാല്‍ബോവാസ് - - - പെറൂവിയന്‍ ഇന്‍റി - പെറൂവിയന്‍ ഇന്‍റി - പെറൂവിയന്‍ ഇന്‍റിസ് - - - പെറൂവിയന്‍ സോള്‍ ന്യൂവോ - പെറൂവിയന്‍ സോള്‍ ന്യൂവോ - പെറൂവിയന്‍ സോള്‍ ന്യൂവോസ് - - - പെറൂവിയന്‍ സോള്‍ - പെറൂവിയന്‍ സോള്‍ - പെറൂവിയന്‍ സോള്‍സ് - - - പാപുവ ന്യൂ ഗിനി കിന - പാപുവ ന്യൂ ഗിനി കിന - പാപുവ ന്യൂ ഗിനി കിനാസ് - - - ഫിലിപ്പൈന്‍ പെയ്സോ - ഫിലിപ്പൈന്‍ പെയ്സോ - ഫിലിപ്പൈന്‍ പെയ്സോസ് - - - പാക്കിസ്ഥാനി രൂപ - പാക്കിസ്ഥാനി രൂപ - പാക്കിസ്ഥാനി രൂപ - - - പോളിഷ് സ്ലോട്ടി - പോളിഷ് സ്ലോട്ടി - പോളിഷ് സ്ലോട്ടീസ് - - - പോളിഷ് സ്ലോട്ടി (1950-1995) - PLZ - PLZ - - - പോര്‍ച്ചുഗീസ് എസ്ക്യുഡോ - PTE - PTE - - - പരാഗ്വേ ഗ്വരനീ - PYG - PYG - - - ഖത്തര്‍ റിയാല്‍ - QAR - QAR - - - റൊഡേഷ്യന്‍ ഡോളര്‍ - RHD - RHD - - - പ്രാചീന റൊമേനിയന്‍ ലിയു - ROL - ROL - - - റൊമേനിയന്‍ ലിയു - RON - RON - - - സെര്‍ബിയന്‍ ദിനാര്‍ - RSD - RSD - - - റഷ്യന്‍ റൂബിള്‍ - റഷ്യന്‍ റൂബിള്‍ - റഷ്യന്‍ റൂബിള്‍സ് - - - റഷ്യന്‍ റൂബിള്‍ (1991-1998) - RUR - RUR - - - റുവാണ്ടന്‍ ഫ്രാങ്ക് - RWF - RWF - - - സൌദി റിയാല്‍ - SAR - SAR - - - സോളമന്‍ ദ്വീപുകളുടെ ഡോളര്‍ - SBD - SBD - - - സെയ്ഷെല്‍സ് രൂപ - SCR - SCR - - - പ്രാചീന സുഡാനീസ് ദിനാര്‍ - SDD - SDD - - - സുഡാനീസ് പൌണ്ട് - SDG - SDG - - - പ്രാചീന സുഡാനീസ് പൌണ്ട് - SDP - SDP - - - സ്വീഡിഷ് ക്രോണ - SEK - SEK - - - സിംഗപ്പൂര്‍ ഡോളര്‍ - SGD - SGD - - - സെയ്ന്‍റ് ഹെലെന പൌണ്ട് - SHP - SHP - - - സ്ലൊവേനിയ റ്റോളര്‍ - SIT - SIT - - - സ്ലോവാക് കൊരൂന - SKK - SKK - - - സിയറാ ലിയോണ്‍ ലിയോണ്‍ - SLL - SLL - - - സൊമാലി ഷില്ലിംഗ് - SOS - SOS - - - സൂരിനാം ഡോളര്‍ - SRD - SRD - - - സൂരിനാം ഗില്‍ഡര്‍ - SRG - SRG - - - സാവോ റ്റോമി ആന്‍ഡ് പ്രിന്‍സിപ്പി ഡോബ്ര - STD - STD - - - സോവിയറ്റ് റൂബിള്‍ - SUR - SUR - - - എല്‍ സാല്‍വഡോര്‍ കോളന്‍ - SVC - SVC - - - സിറിയന്‍ പൌണ്ട് - SYP - സിറിയന്‍ പൌണ്ട് - - - സ്വാസിലാന്‍ഡ് ലിലാംഗനി - SZL - SZL - - - തായ് ബട്ട് - തായ് ബട്ട് - തായ് ബട്ട് - - - താജിക്കിസ്ഥാന്‍ റൂബിള്‍ - തജിക്സ്ഥാന്‍ റൂബിള്‍ - തജിക്സ്ഥാന്‍ റൂബിള്‍സ് - - - താജിക്കിസ്ഥാന്‍ സൊമോനി - തജികിസ്ഥാന്‍ സൊമോനി - തജികിസ്ഥാന്‍ സൊമോനിസ് - - - തുര്‍ക്മെനിസ്ഥാന്‍ മനത് - തുര്‍ക്മെനിസ്ഥാന്‍ മനത് - തുര്‍ക്മെനിസ്ഥാന്‍ മനത്‌സ് - - - തുനീസിയന്‍ ദിനാര്‍ - TND - TND - - - റ്റോംഗ പാംഗ - റ്റോംഗ പാംഗ - റ്റോംഗ പാംഗാസ് - - - തിമോര്‍ എസ്ക്യൂഡോ - തിമോര്‍ എസ്ക്യൂഡോ - തിമോര്‍ എസ്ക്യൂഡോസ് - - - പ്രാചീന തുര്‍ക്കിഷ് ലിറ - TRL - പ്രാചീന തുര്‍ക്കിഷ് ലിറാസ് - - - തുര്‍ക്കിഷ് ലിറ - തുര്‍ക്കിഷ് ലിറ - തുര്‍ക്കിഷ് ലിറാസ് - - - ട്രിനിഡാഡ് ആന്‍ഡ് റ്റൊബാഗോ ഡോളര്‍ - TTD - TTD - - - തായ്‌വാന്‍ ഡോളര്‍ - തായ്‌വാന്‍ ഡോളര്‍ - തായ്‌വാന്‍ ഡോളേഴ്സ് - - - ടാന്‍സാനിയന്‍ ഷില്ലിംഗ് - TZS - TZS - - - യുക്രേനിയന്‍ ഹ്രിവ്നിയ - ഉക്രേനിയന്‍ ഹ്രിവ്നിയ - ഉക്രേനിയന്‍ ഹ്രിവ്നിയാസ് - - - യുക്രേനിയന്‍ കാര്‍ബോവാനെസ് - ഉക്രേനിയന്‍ കാര്‍ബോവാനെസ് - ഉക്രേനിയന്‍ കാര്‍ബോവാനെസ് - - - ഉഗാണ്ടന്‍ ഷില്ലിംഗ് (1966-1987) - UGS - UGS - - - ഉഗാണ്ടന്‍ ഷില്ലിംഗ് - UGX - UGX - - - യു.എസ്. ഡോളര്‍ - യു.എസ് ഡോളര്‍ - യു.എസ് ഡോളേഴ്സ് - $ - - - യുഎസ് ഡോളര്‍ (അടുത്ത ദിവസം) - USN - USN - - - യുഎസ് ഡോളര്‍ (അതേ ദിവസം) - USS - യുഎസ് ഡോളേഴ്സ് (അതേ ദിവസം) - - - ഉറുഗ്വേ പെയ്സോ എന്‍ യൂണിഡാഡ്സ് - ഉറുഗ്വേ പെയ്സോ എന്‍ യൂണിഡാഡ്സ് ഇന്‍ഡെക്സാഡാസ് - ഉറുഗ്വേ പെയ്സോസ് എന്‍ യൂണിഡാഡ്സ് ഇന്‍ഡെക്സാഡാസ് - - - ഉറുഗ്വേ പെയ്സോ (1975-1993) - ഉറുഗ്വേ പെയ്സോ (UYP) - ഉറുഗ്വേ പെയ്സോസ് (UYP) - - - ഉറുഗ്വേ പെയ്സോ ഉറുഗായോ - ഉറുഗ്വേ പെയ്സോ - ഉറുഗ്വേ പെയ്സോ - - - ഉസ്ബക്കിസ്ഥാന്‍ സം - ഉസ്ബക്കിസ്ഥാന്‍ സം - ഉസ്ബക്കിസ്ഥാന്‍ സംസ് - - - വെനസ്വേലന്‍ ബോലിവര്‍ - വെനസ്വേലന്‍ ബോലിവര്‍ - വെനസ്വേലന്‍ ബോലിവര്‍സ് - - - വെനസ്വേലന്‍ ബോലിവര്‍ ഫുവെര്‍റ്റെ - വെനസ്വേലന്‍ ബോലിവര്‍ ഫുവെര്‍റ്റെ - വെനസ്വേലന്‍ ബോലിവര്‍ ഫുവെര്‍റ്റെസ് - - - വിയറ്റ്നാമീസ് ഡോങ് - VND - VND - - - വനുവാതു വാതു - വനുവാതു വാതു - വനുവാതു വാതൂസ് - - - പശ്ചിമ സമോവ താല - പശ്ചിമ സമോവ താല - പശ്ചിമ സമോവ താലാസ് - - - CFA ഫ്രാങ്ക് BEAC - CFA ഫ്രാങ്ക് BEAC - CFA ഫ്രാങ്ക്സ് BEAC - - - വെള്ളി - വെള്ളി - വെള്ളി - - - സ്വര്‍ണ്ണം - സ്വര്‍ണ്ണം - സ്വര്‍ണ്ണം - - - യൂറോപ്യന്‍ കോന്പസിറ്റ് യൂണിറ്റ് - യൂറോപ്യന്‍ കോന്പസിറ്റ് യൂണിറ്റ് - യൂറോപ്യന്‍ കോന്പസിറ്റ് യൂണിറ്റ്സ് - - - യൂറോപ്യന്‍ മോണിറ്ററി യൂണിറ്റ് - യൂറോപ്യന്‍ മോണിറ്ററി യൂണിറ്റ് - യൂറോപ്യന്‍ മോണിറ്ററി യൂണിറ്റ്സ് - - - യൂറോപ്യന്‍ യൂണിറ്റ് ഓഫ് അക്കൌണ്ട് (XBC) - യൂറോപ്യന്‍ യൂണിറ്റ് ഓഫ് അക്കൌണ്ട് (XBC) - യൂറോപ്യന്‍ യൂണിറ്റ്സ് ഓഫ് അക്കൌണ്ട് (XBC) - - - യൂറോപ്യന്‍ യൂണിറ്റ് ഓഫ് അക്കൌണ്ട് (XBD) - യൂറോപ്യന്‍ യൂണിറ്റ് ഓഫ് അക്കൌണ്ട് (XBD) - യൂറോപ്യന്‍ യൂണിറ്റ്സ് ഓഫ് അക്കൌണ്ട് (XBD) - - - കിഴക്കന്‍ കരീബിയന്‍ ഡോളര്‍ - കിഴക്കന്‍ കരീബിയന്‍ ഡോളര്‍ - കിഴക്കന്‍ കരീബിയന്‍ ഡോളേഴ്സ് - - - സ്പെഷ്യല്‍ ഡ്രോയിംഗ് റൈറ്റ്സ് - സ്പെഷ്യല്‍ ഡ്രോയിംഗ് റൈറ്റ്സ് - സ്പെഷ്യല്‍ ഡ്രോയിംഗ് റൈറ്റ്സ് - - - യൂറോപ്യന്‍ നാണയ യൂണിറ്റ് - യൂറോപ്യന്‍ നാണയ യൂണിറ്റ് - യൂറോപ്യന്‍ നാണയ യൂണിറ്റ്സ് - - - ഫ്രെഞ്ച് ഗോള്‍ഡ് ഫ്രാങ്ക് - ഫ്രെഞ്ച് ഗോള്‍ഡ് ഫ്രാങ്ക് - ഫ്രെഞ്ച് ഗോള്‍ഡ് ഫ്രാങ്ക്സ് - - - ഫ്രെഞ്ച് UIC-ഫ്രാങ്ക് - ഫ്രെഞ്ച് UIC-ഫ്രാങ്ക് - ഫ്രെഞ്ച് UIC-ഫ്രാങ്ക്സ് - - - CFA ഫ്രാങ്ക് BCEAO - CFA ഫ്രാങ്ക് BCEAO - CFA ഫ്രാങ്ക്സ് BCEAO - - - പലാഡിയം - പലാഡിയം - പലാഡിയം - - - CFP ഫ്രാങ്ക് - CFP ഫ്രാങ്ക് - CFP ഫ്രാങ്ക്സ് - - - പ്ലാറ്റിനം - പ്ലാറ്റിനം - പ്ലാറ്റിനം - - - RINET ഫണ്ട്സ് - RINET ഫണ്ട്സ് - RINET ഫണ്ട്സ് - - - ടെസ്റ്റിംഗിനുള്ള കറന്‍സി കോഡ് - റ്റെസ്റ്റിംഗ് കറന്‍സി കോഡ് - റ്റെസ്റ്റിംഗ് കറന്‍സി കോഡ് - - - അറിയപ്പെടാത്തതോ നിലവിലില്ലാത്തതോ ആയ നാണയം - അറിയപ്പെടാത്തതോ നിലവിലില്ലാത്തതോ ആയ നാണയം - അറിയപ്പെടാത്തതോ നിലവിലില്ലാത്തതോ ആയ നാണയം - - - യമനി ദിനാര്‍ - യമനി ദിനാര്‍ - യമനി ദിനാര്‍സ് - - - യമനി റിയാല്‍ - യമനി റിയാല്‍ - യമനി റിയാല്‍സ് - - - യൂഗോസ്ലേവിയന്‍ ഹാര്‍ഡ് ദിനാര്‍ - യൂഗോസ്ലേവിയന്‍ ഹാര്‍ഡ് ദിനാര്‍ - യൂഗോസ്ലേവിയന്‍ ഹാര്‍ഡ് ദിനാര്‍സ് - - - യൂഗോസ്ലേവിയന്‍ നോവി ദിനാര്‍ - യൂഗോസ്ലേവിയന്‍ നോവി ദിനാര്‍ - യൂഗോസ്ലേവിയന്‍ നോവി ദിനാര്‍സ് - - - യൂഗോസ്ലേവിയന്‍ കണ്‍വേര്‍ട്ടിബിള്‍ ദിനാര്‍ - യൂഗോസ്ലേവിയന്‍ കണ്‍വേര്‍ട്ടിബിള്‍ ദിനാര്‍ - യൂഗോസ്ലേവിയന്‍ കണ്‍വേര്‍ട്ടിബിള്‍ ദിനാര്‍സ് - - - ദക്ഷിണാഫ്രിക്കന്‍ റാന്‍ഡ് (ഫിനാന്‍ഷ്യല്‍) - ദക്ഷിണാഫ്രിക്കന്‍ റാന്‍ഡ് (ഫിനാന്‍ഷ്യല്‍) - ദക്ഷിണാഫ്രിക്കന്‍ റാന്‍ഡ്സ് (ഫിനാന്‍ഷ്യല്‍) - - - ദക്ഷിണ ആഫ്രിക്കന്‍ റാന്‍ഡ് - ദക്ഷിണാഫ്രിക്കന്‍ റാന്‍ഡ് - ദക്ഷിണാഫ്രിക്കന്‍ റാന്‍ഡ്സ് - - - സാംബിയന്‍ ക്വാച - സാംബിയന്‍ ക്വാച - സാംബിയന്‍ ക്വാചാസ് - - - സൈറിയന്‍ ന്യൂ സൈര്‍ - സൈറിയന്‍ ന്യൂ സൈര്‍ - സൈറിയന്‍ ന്യൂ സൈര്‍സ് - - - സൈറിയന്‍ സൈര്‍ - സൈറിയന്‍ സൈര്‍ - സൈറിയന്‍ സൈര്‍സ് - - - സിംബാബ്‌വെ ഡോളര്‍ - സിംബാബ്‌വെ ഡോളര്‍ - സിംബാബ്‌വെ ഡോളേഴ്സ് - - - - - - {0} ദിവസം - {0} ദിവസം - - - {0} മണിക്കൂര്‍ - {0} മണിക്കൂര്‍ - - - {0} മിനിട്ട് - {0} മിനിട്ട് - - - {0} മാസം - {0} മാസം - - - {0} സെക്കന്റ് - {0} സെക്കന്റ് - - - {0} ആഴ്ച - {0} ആഴ്ച - - - {0} വര്‍ഷം - {0} വര്‍ഷം - - - - - അതെ - അല്ല - - - - diff --git a/lib/zend/Zend/Locale/Data/ml_IN.xml b/lib/zend/Zend/Locale/Data/ml_IN.xml deleted file mode 100644 index c1ad9f9b7b..0000000000 --- a/lib/zend/Zend/Locale/Data/ml_IN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/mn.xml b/lib/zend/Zend/Locale/Data/mn.xml deleted file mode 100644 index 4cb7818647..0000000000 --- a/lib/zend/Zend/Locale/Data/mn.xml +++ /dev/null @@ -1,316 +0,0 @@ - - - - - - - - - - - африк - амхарик - араб - ассам үндэстэн - азарбежан - беларусь - болгар - бихари хэл - бенгаль - бретон - босниа - каталан - чех - уэлс - дани - герман - грек - англи - эсперанто - испани - эстони - баск - перс - финлянд - тагало - фөриэс хэл - франц - голландын фрисиан хэл - ирланд - шотланд келт - галик - гуарани - энэтхэгийн гужарати - кипр - хинди - хорвати - унгар - армен - интерлингво - индонези - нэгдмэл хэл - исланд - итали - япон - ява - гүрж - камбуч - каннада - солонгос - курд - киргиз - латин - лингала - лаотиан - литви - латви - македони - малайлам - монгол - энэтхэгийн марати - малай - малти - балба - голланд - норвеги (нынорск) - норвеги - францын окситан - ория - пенжаби - польш - афган - португали - португали (бразил) - португали (португали) - румын - орос - санскирит - синдхи - хорватын серб - шри ланк - словак - словени - сомали - албани - серби - сесото - сунданес хэл - швед - африкийн свахили хэл - тамил - тэлүгү - тай - тикрина - туркмен - клингон хэл - турк - тви - уйгур - украин - пакистаны урду - узбек - вьетнам - хоса - иддиш - хятад - зулу - - - Бразили - Герман - Франц - Энэтхэг - Итали - Япон - Монгол улс - Орос - Тонга - Америкийн Нэгдсэн Улс - - - - [а-е ё ж-о ө п-у ү ф-я] - [ә җ ӊ һ] - - - ‘ - ’ - “ - ” - - - - - - - - хул - үхэ - бар - туу - луу - мог - мор - хон - бич - тах - нох - гах - - - Хулгана - Үхэр - Бар - Туулай - Луу - Могой - Морь - Хонь - Бич - Тахиа - Нохой - Гахай - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Ня - Да - Мя - Лх - Пү - Ба - Бя - - - ням - даваа - мягмар - лхагва - пүрэв - баасан - бямба - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - 1/4 - 2/4 - 3/4 - 4/4 - - - дөрөвний нэг - дөрөвний хоёр - дөрөвний гурав - дөрөвний дөрөв - - - - AM - PM - - - манай эриний өмнөх - манай эриний - - - м.э.ө - м.э. - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - , -   - - - diff --git a/lib/zend/Zend/Locale/Data/mn_CN.xml b/lib/zend/Zend/Locale/Data/mn_CN.xml deleted file mode 100644 index e9dabe27f0..0000000000 --- a/lib/zend/Zend/Locale/Data/mn_CN.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/mn_Cyrl.xml b/lib/zend/Zend/Locale/Data/mn_Cyrl.xml deleted file mode 100644 index 844b32e9fc..0000000000 --- a/lib/zend/Zend/Locale/Data/mn_Cyrl.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - विश्व - अफ्रिका - उत्तर अमेरिका - दक्षिण अमेरिका - ओशनिया - पश्चिम अफ्रिका - मध्य अमेरीका - पूर्व अफ्रिका - उत्तर अफ्रिका - मध्य अफ्रिका - दक्षिणी अफ्रिका - अमेरिकास - उत्तरी अमेरिका - कॅरीबियन - पूर्व अशिया - दक्षिण अशिया - दक्षिण पूर्व अशिया - दक्षिण युरोप - ऑस्ट्रेलिया आणि न्यूझीलंड - मेलानेशिया - मायक्रोनेशियन रीजन - पॉलिनेशिया - दक्षिण-मध्य अशिया - अशिया - मध्य अशिया - पश्चिम अशिया - युरोप - पूर्व युरोप - उत्तर युरोप - पश्चिम युरोप - स्वतंत्र राष्ट्रांचे कॉमनवेल्थ - झेकोस्लवाकिया - लॅटिन अमेरिका आणि कॅरीबियन - चॅनल बेटे - अँडोरा - संयुक्त अरब अमीरात - अफगाणिस्तान - अँटिग्वा आणि बर्बुडा - अँग्विला - अल्बानिया - आर्मेनिया - नेदरलँड्स अँटिल्स - अंगोला - अंटार्क्टिक - अर्जेंटिना - अमेरिकन सामोआ - ऑस्ट्रिया - ऑस्ट्रेलिया - अरुबा - अ‍ॅलँड बेटे - अझरबैजान - बोस्निया अणि हर्जेगोविना - बार्बाडोस - बांग्लादेश - बेल्जियम - बुर्किना फासो - बल्गेरिया - बहारीन - बुरुंडी - बेनिन - सेंट बार्थेलेमी - बर्मुडा - ब्रुनेई - बोलिव्हिया - ब्राझिल - बहामाज - भूतान - बोउवेट बेट - बोट्सवाना - बेलारूस - बेलिझे - कॅनडा - कोकोस बेटे - काँगो - किंशासा - केंद्रीय अफ्रिकी प्रजासत्ताक - काँगो - ब्राजाविले - स्वित्झर्लंड - आयव्हरी कोस्ट - कुक बेटे - चिली - कॅमेरून - चीन - कोलम्बिया - कोस्टारिका - सर्बिया आणि माँटेनेग्रो - क्यूबा - केप व्हर्डे - ख्रिसमस बेट - सायप्रस - झेक प्रजासत्ताक - जर्मनी - जिबौटी - डेन्मार्क - डोमिनिका - डोमिनिकन प्रजासत्ताक - अल्जीरिया - इक्वेडोर - एस्टोनिया - इजिप्त - पश्चिम सहारा - इरिट्रिया - स्पेन - इथिओपिया - फिनलंड - फिजी - फॉकलंड बेटे - मायक्रोनेशिया - फरोए बेटे - फ्रान्स - गॅबॉन - ब्रिटन - ग्रेनेडा - जॉर्जिया - फ्रेंच गयाना - ग्वेर्नसे - घाना - जिब्राल्टर - ग्रीनलँड - गाम्बिया - गिनी - ग्वाडेलोउपे - इक्वेटोरियल गिनी - ग्रीस - दक्षिण जॉर्जिया आणि दक्षिण सँडविच बेटे - ग्वाटेमाला - गुआम - गिनी-बिसाउ - गयाना - हाँगकाँग विशेष प्रशासनिक क्षेत्र चीन - हर्ड बेट आणि मैकडोनाल्ड बेट - होंडुराज् - क्रोएशिया - हैती - हंगेरी - इंडोनेशिया - आयर्लंड - इस्त्राइल - इस्ले ऑफ मॅन - भारत - ब्रिटिश हिंद महासागरीय क्षेत्र - इराक - ईराण - आइसलँड - इटली - जर्सी - जमैका - जॉर्डन - जपान - केनिया - किरगीझस्तान - कंबोडिया - किरीबाटी - कोमोरोज - सेंट किट्स आणि नेव्हिस - उत्तर कोरिया - दक्षिण कोरिया - कुवेत - केमन बेटे - कझाकस्तान - लाओस - लेबानन - सेंट ल्यूसिया - लिंचेनस्टाइन - श्रीलंका - लायबेरिया - लेसोथो - लिथुआनिया - लक्झेंबर्ग - लाट्‌विया - लिबिया - मोरोक्को - मोनॅको - मोल्डोव्हा - मोंटेनेग्रो - सेंट मार्टिन - मादागास्कर - मार्शल बेटे - मॅसेडोनिया - माली - म्यानमार - मंगोलिया - मकाऊ SAR चीन - उत्तरी मारियाना बेटे - मार्टिनिक - मॉरिटानिया - मॉन्ट्सेराट - माल्टा - मॉरिशस - मालदीव्ज - मलावी - मेक्सिको - मलेशिया - मोझाम्बिक - नमीबिया - न्यू कॅलेडोनिया - नाइजर - नॉरफॉक बेट - नायजेरिया - निकाराग्वे - नेदरलँड - नॉर्वे - नेपाळ - नऊरु - नीयू - न्यूझीलंड - ओमान - पनामा - पेरू - फ्रेंच पॉलिनेशिया - पापुआ न्यू गिनी - फिलीपिन्स - पाकिस्तान - पोलंड - सेंट पियरे आणि मिक्वेलोन - पिटकॅर्न - पोर्टो रिको - पॅलेस्टिनी प्रदेश - पोर्तुगाल - पलाऊ - पराग्वे - कतार - आउटलायिंग ओशनिया - यूरोपीय संघ - रियूनियन - रोमानिया - सर्बिया - रशिया - रवांडा - सौदी अरब - सोलोमन बेटे - सेशेल्स - सूदान - स्वीडन - सिंगापूर - सेंट हेलेना - स्लोव्हेनिया - स्वालबर्ड आणि जान मायेन - स्लोव्हाकिया - सिएरा लेओन - सॅन मरीनो - सेनेगल - सोमालिया - सुरिनाम - साओ टोम आणि प्रिंसिपे - अल साल्वाडोर - सीरिया - स्वाझिलँड - टर्क्स आणि कैकोस बेटे - चाड - फ्रेंच दाक्षिणात्य प्रदेश - टोगो - थायलंड - ताजिकिस्तान - तोकेलाउ - पूर्व तिमोर - तुर्कमेनिस्तान - ट्यूनिशिया - टोंगा - तुर्की - त्रिनिदाद आणि टोबॅगो - टुवालु - तैवान - टांझानिया - यूक्रेन - युगांडा - युनाइटेड स्टेट्स माइनर आउटलाइंग बेटे - संयुक्त राज्ये /अमेरिका - उरुग्वे - उझबेकिस्तान - व्हॅटिकन - सेंट व्हिन्सेंट आणि ग्रेनडाइन्स - व्हेनेझुएला - ब्रिटिश व्हर्जिन बेटे - यू.एस. व्हर्जिन बेटे - व्हिएतनाम - वानौटु - वालिस आणि फ्यूचूना - सामोआ - येमेन - मायोट्टे - दक्षिण अफ्रिका - झाम्बिया - झिम्बाब्वे - अज्ञात वा अवैध प्रदेश - - - - [़ ँ-ः ०-९ ॐ अ-ऍ ए-ऑ ओ-न प-र ल ळ व-ह ऽ-ॅ े-ॉ ो-्] - [\u200C \u200D] - - - ' - ' - " - " - - - - - - - - जानेवारी - फेब्रुवारी - मार्च - एप्रिल - मे - जून - जुलै - ऑगस्ट - सप्टेंबर - ऑक्टोबर - नोव्हेंबर - डिसेंबर - - - - - जा - फे - मा - ए - मे - जू - जु - ऑ - स - ऑ - नो - डि - - - - - - - रवि - सोम - मंगळ - बुध - गुरु - शुक्र - शनि - - - रविवार - सोमवार - मंगळवार - बुधवार - गुरुवार - शुक्रवार - शनिवार - - - - - र - सो - मं - बु - गु - शु - श - - - - - - - Q1 - Q2 - Q3 - Q4 - - - प्रथम तिमाही - द्वितीय तिमाही - तृतीय तिमाही - चतुर्थ तिमाही - - - - am - pm - - - ईसवीसनपूर्व - ईसवीसन - - - ई.स.पू. - ई.स. - - - - - - EEEE d MMMM y - - - - - d MMMM y - - - - - d MMM y - - - - - d-M-yy - - - - - - - h-mm-ss a zzzz - - - - - h-mm-ss a z - - - - - h-mm-ss a - - - - - h-mm a - - - - - - H-mm - H-mm-ss - d MMMM - dd-MM - Q yy - MM-yyyy - MMMM y - - - - - युग - - - वर्ष - - - महिना - - - आठवडा - - - दिवस - तीन दिवसांपूर्वी - परवा - काल - आज - उद्या - परवा - आजपासून तीन दिवस - - - आठवड्याचा दिवस - - - तास - - - मिनिट - - - सेकंद - - - झोन - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - भारतीय समय - - true - - - - - deva - - ० - - - - - #,##,##0.### - - - - - - - #,##,##0% - - - - - - - ¤ #,##,##0.00 - - - - - - रु - - - - - - होयःहो - नाहीःना - - - diff --git a/lib/zend/Zend/Locale/Data/mr_IN.xml b/lib/zend/Zend/Locale/Data/mr_IN.xml deleted file mode 100644 index 4bdcf3ec16..0000000000 --- a/lib/zend/Zend/Locale/Data/mr_IN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ms.xml b/lib/zend/Zend/Locale/Data/ms.xml deleted file mode 100644 index ebfcd3ee55..0000000000 --- a/lib/zend/Zend/Locale/Data/ms.xml +++ /dev/null @@ -1,557 +0,0 @@ - - - - - - - - - - - Afrikaans - Amharic - Arab - Assam - Azerbaijan - Belarus - Bulgaria - Bihari - Benggala - Brittany - Bosnia - Catalonia - Czech - Wales - Denmark - Jerman - Greek - Inggeris - Esperanto - Sepanyol - Estonia - Basque - Parsi - Finland - Tagalog - Faroese - Perancis - Frisian - Ireland - Scots Gaelic - Galicia - Guarani - Gujerat - Ibrani - Hindi - Croat - Hungary - Armenia - Interlingua - Indonesia - Interlingue - Iceland - Itali - Jepun - Jawa - Georgia - Khmer - Kannada - Korea - Kurdish - Kyrgyz - Latin - Lingala - Laos - Lithuania - Latvia - Macedonia - Malayalam - Mongolia - Marathi - Bahasa Melayu - Malta - Nepal - Belanda - Nynorsk Norway - Norway - Occitan - Oriya - Punjabi - Poland - Pashto - Portugis - Portugis Iberia - Romania - Rusia - Sanskrit - Sindhi - SerboCroatia - Sinhala - Slovak - Slovenia - Somali - Albania - Serbia - Sesoto - Sunda - Sweden - Swahili - Tamil - Telugu - Thai - Tigrinya - Turkmen - Klingon - Turki - Twi - Uighur - Ukraine - Urdu - Uzbek - Vietnam - Xhosa - Yahudi - Zulu - - - Andorra - Emiriah Arab Bersatu - Afghanistan - Antigua dan Barbuda - Anguilla - Albania - Armenia - Netherlands Antilles - Angola - Antarctica - Argentina - American Samoa - Austria - Australia - Aruba - Azerbaijan - Bosnia dan Herzegovina - Barbados - Bangladesh - Belgium - Burkina Faso - Bulgaria - Bahrain - Burundi - Benin - Bermuda - Brunei - Bolivia - Brazil - Bahamas - Bhutan - Bouvet Island - Botswana - Belarus - Belize - Kanada - Cocos (Keeling) Islands - Democratic Republic of the Congo - Republik Afrika Tengah - Congo - Switzerland - Pantai Gading - Cook Islands - Cile - Kamerun - Cina - Colombia - Kosta Rika - Serbia dan Montenegro - Cuba - Cape Verde - Christmas Island - Kibris - Republik Czech - Jerman - Jibouti - Denmark - Dominica - Republik Dominican - Aljazair - Ecuador - Estonia - Mesir - Sahara Barat - Eritrea - Sepanyol - Ethiopia - Finland - Fiji - Falkland Islands - Micronesia - Faroe Islands - Perancis - Gabon - United Kingdom - Grenada - Georgia - French Guiana - Ghana - Gibraltar - Greenland - Gambia - Guinea - Guadeloupe - Equatorial Guinea - Yunani - South Georgia and the South Sandwich Islands - Guatemala - Guam - Guinea Bissau - Guyana - Hong Kong S.A.R., China - Heard Island and McDonald Islands - Honduras - Croatia - Haiti - Hungari - Indonesia - Ireland - Israel - Hindia - British Indian Ocean Territory - Iraq - Iran - Iceland - Itali - Jamaika - Jordan - Jepun - Kenya - Kyrgyzstan - Kemboja - Kiribati - Comoros - Saint Kitts dan Nevis - Utara Korea - Selatan Korea - Kuwait - Cayman Islands - Kazakhstan - Laos - Lubnan - Saint Lucia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Lithuania - Luksembourg - Latvia - Libya - Maghribi - Monaco - Moldova - Madagaskar - Kepulauan Marshall - Macedonia - Mali - Myanmar - Mongolia - Macao S.A.R., China - Northern Mariana Islands - Martinique - Mauritania - Montserrat - Malta - Mauritius - Maldiv - Malawi - Meksiko - Malaysia - Mozambik - Namibia - New Caledonia - Niger - Norfolk Island - Nigeria - Nicaragua - Belanda - Norway - Nepal - Nauru - Niue - New Zealand - Oman - Panama - Peru - French Polynesia - Papua New Guinea - Filipina - Pakistan - Poland - Saint Pierre and Miquelon - Pitcairn - Puerto Rico - Palestinian Territory - Feringgi - Palau - Paraguay - Qatar - Réunion - Romania - Russia - Rwanda - Arab Saudi - Kepulauan Solomon - Seychelles - Sudan - Sweden - Singapura - Saint Helena - Slovenia - Svalbard and Jan Mayen - Slovakia - Siera Leon - San Marino - Senegal - Somalia - Surinam - Sao Tome dan Principe - El Salvador - Syria - Swaziland - Turks and Caicos Islands - Cad - French Southern Territories - Togo - Thailand - Tadjikistan - Tokelau - Timor-Leste - Turkmenistan - Tunisia - Tonga - Turki - Trinidad dan Tobago - Tuvalu - Taiwan - Tanzania - Ukraine - Uganda - United States Minor Outlying Islands - Amerika Syarikat - Uruguay - Uzbekistan - Vatican - Saint Vincent dan Grenadines - Venezuela - British Virgin Islands - U.S. Virgin Islands - Vietnam - Vanuatu - Wallis and Futuna - Samoa - Yaman - Mayotte - Afrika Selatan - Zambia - Zimbabwe - - - - [a {ai} {au} b-d {dz} e-k {kh} l-n {ng} {ngg} {ny} o-s {sy} t {ts} u {ua} v-z] - - - ‘ - ’ - “ - ” - - - - - - - - Jan - Feb - Mac - Apr - Mei - Jun - Jul - Ogos - Sep - Okt - Nov - Dis - - - Januari - Februari - Mac - April - Mei - Jun - Julai - Ogos - September - Oktober - November - Disember - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Ahd - Isn - Sel - Rab - Kha - Jum - Sab - - - Ahad - Isnin - Selasa - Rabu - Khamis - Jumaat - Sabtu - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - S1 - S2 - S3 - S4 - - - suku pertama - suku kedua - suku ketiga - suku keempat - - - - AM - PM - - - S.M. - T.M. - - - - - - EEEE dd MMM y - - - - - dd MMMM y - - - - - dd MMM y - - - - - dd/MM/yyyy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm - - - - - - H:mm - dd MMMM - dd/MM - Q yy - MM/yyyy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - - ¤#,##0.00;(¤#,##0.00) - - - - - - Ringgit Malaysia - - - - - - ya:y - tidak:t - - - diff --git a/lib/zend/Zend/Locale/Data/ms_BN.xml b/lib/zend/Zend/Locale/Data/ms_BN.xml deleted file mode 100644 index 4fbeadc4d6..0000000000 --- a/lib/zend/Zend/Locale/Data/ms_BN.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - - - - - - - dd MMMM y - - - - - dd/MM/yyyy - - - - - - - h:mm:ss aa zzzz - - - - - H:mm:ss z - - - - - H:mm:ss - - - - - H:mm - - - - - - {0} - {1} - - MM-dd - MM-dd - MM-dd - MM-dd - - - MMM-MMM - - - MMM d - MMM d - MMM d-d - - - MMM d - MMM d - MMM d-d - - - MM-dd - MM-dd - MM-dd - MM-dd - - - H-H - - - H:mm-H:mm - H:mm-H:mm - - - H:mm-H:mm v - H:mm-H:mm v - - - H-H v - - - yyyy-MM - yyyy-MM - yyyy-MM - yyyy-MM - - - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - - - y MMM-MMM - y MMM - y MMM - - - dd MMM - dd MMM y - dd-dd MMM y - dd MMM y - dd MMM y - - - y MMM d - MMM d - y MMM d-d - y MMM d - y MMM d - - - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - - - - - - - - - , - . - - - - - ¤ #,##0.00 - - - - - - $ - - - - diff --git a/lib/zend/Zend/Locale/Data/ms_MY.xml b/lib/zend/Zend/Locale/Data/ms_MY.xml deleted file mode 100644 index afe5ddac6e..0000000000 --- a/lib/zend/Zend/Locale/Data/ms_MY.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/mt.xml b/lib/zend/Zend/Locale/Data/mt.xml deleted file mode 100644 index 9562e27822..0000000000 --- a/lib/zend/Zend/Locale/Data/mt.xml +++ /dev/null @@ -1,1141 +0,0 @@ - - - - - - - - - - - Afar - Abkażjan - Aċiniż - Akoli - Adangme - Adyghe - Avestan - Afrikans - Afro-Asjatiku (Oħra) - Afriħili - Ajnu - Akan - Akkadjen - Aleut - Lingwi Algonqwinjani - Amħariku - Aragonese - Ingliż, Antik - Angika - Lingwi Apaċi - Għarbi - Aramajk - Arawkanjan - Arapaħo - Artifiċjali (Oħra) - Arawak - Assamese - Asturian - Lingwi Atabaskani - Lingwi Awstraljani - Avarik - Awadħi - Ajmara - Ażerbajġani - Baxkir - Banda - Lingwi Bamileke - Baluċi - Baliniż - Basa - Baltiku (Oħra) - Belarussu - Beja - Bemba - Beber - Bulgaru - Biħari - Bojpuri - Bislama - Bikol - Bini - Siksika - Bambara - Bengali - Bantu - Tibetjan - Brenton - Braj - Bosnijan - Batak - Burjat - Buginiż - Blin - Katalan - Kaddo - Amerika Ċentrali (Oħra) - Karib - Kawkasu (Oħra) - Atsam - Ċeċen - Sibwano - Keltiku (Oħra) - Ċamorro - Ċibċa - Ċagataj - Ċukese - Mari - Ġargon taċ-Ċinuk - Ċostaw - Ċipewjan - Ċerokij - Xajenn - Lingwi Ċamiki - Korsiku - Koptiku - Kreoli u Piġini, Bbażat fuq l-Ingliż (Oħra) - Kreoli u Piġini, Bbażat fuq il-Franċiż (Oħra) - Kreoli u Piġini, Bbażat fuq il-Portugiż (Oħra) - Krij - Crimean Turkish; Crimean Tatar - Kreoli u Piġini (Oħra) - Ċek - Kashubian - Slaviku tal-Knisja - Kuxtiku (Oħra) - Ċuvax - Welx - Daniż - Dakota - Dargwa - Dajak - Ġermaniż - Delawerjan - Slav - Dogrib - Dinka - Dogri - Dravidjan (Oħra) - Lower Sorbian - Dwala - Olandiż, Medjevali - Diveħi - Djula - Dżongka - Ewe - Efik - Eġizzjan (Antik) - Ekajuk - Grieg - Elamit - Ingliż - Ingliż, Medjevali (1100-1500) - Esperanto - Spanjol - Estonjan - Bask - Ewondo - Persjan - Fang - Fanti - Fulaħ - Finlandiż - Filippino - Finno - Ugrijan - Fiġi - Fawriż - Fon - Franċiż - Franċiż, Medjevali - Franċiż, Antik - Frijuljan - Friżjan - Irlandiż - Ga - Gajo - Gbaja - Galliku Skoċċiż - Ġermaniku (Oħra) - Geez - Gilbertjan - Gallegjan - Ġermaniku, Medjevali Pulit - Gwarani - Ġermaniku, Antik Pulit - Gondi - Gorontalo - Gotiku - Ġerbo - Grieg, Antik (to 1453) - Guġarati - Manks - Gwiċin - Ħawsa - Ħajda - Ħawajjan - Ebrajk - Ħindi - Hiligaynon - Ħimaċali - Ħittit - Ħmong - Ħiri Motu - Kroat - Upper Sorbian - Haitian - Ungeriż - Ħupa - Armenjan - Ħerero - Interlingua - Iban - Indoneżjan - Interlingue - Igbo - Sichuan Yi - Iġo - Inupjak - Iloko - Indjan (Oħra) - Indo-Ewropew - Ingush - Ido - Iranjan - Lingwi Irogwjani - Iżlandiż - Taljan - Inukitut - Ġappuniż - Lojban - Lhudi-Persjan - Lhudi-Għarbi - Ġavaniż - Ġorġjan - Kara-Kalpak - Kabuljan - Kaċin - Kamba - Karen - Kawi - Kabardian - Kongo - Kasi - Kojsan - Kotaniż - Kikuju - Kuanyama - Każak - Kalallisut - Kmer - Kimbundu - Kannada - Korejan - Konkani - Kosrejan - Kpelle - Kanuri - Karachay-Balkar - Kru - Kurusk - Kaxmiri - Kurdiż - Kumiku - Kutenaj - Komi - Korniku - Kirgiż - Latin - Ladino - Landa - Lamba - Letżburgiż - Leżgjan - Ganda - Limburgish - Lingaljan - Lao - Mongo - Lożi - Litwanjan - Luba-Katanga - Luba-Luluwa - Luwisinuż - Lunda - Luwa - Luxaj - Latvjan (Lettix) - Maduriż - Magaħi - Majtili - Makasar - Mandingwan - Awstronesjan - Masaj - Moksha - Mandar - Mende - Malagażi - Irlandiż, Medjevali (900-1200) - Marxall - Maori - Mikmek - Minangkabaw - Lingwi Oħra - Maċedonjan - Mon-Kmer (Oħra) - Malajalam - Mongoljan - Manċurjan - Manipuri - Lingwi Manobo - Moldavjan - Moħak - Mossi - Marati - Malajan - Malti - Lingwi Diversi - Lingwi tal-Munda - Kriek - Mirandiż - Marwari - Burmiż - Majan - Erzya - Nawuru - Naħwatil - Indjan tal-Amerika ta’ Fuq (Oħra) - Neapolitan - Bokmahal Norveġiż - Ndebele, ta’ Fuq - Ġermaniż Komuni; Sassonu Komuni - Nepaliż - Newari - Ndonga - Nijas - Niġerjan - Kordofanjan - Nijuwejan - Olandiż - Ninorsk Norveġiż - Norveġiż - Nogai - Skandinav, Antik - Ndebele, t’Isfel - Soto, ta’ Fuq - Lingwi Nubjani - Navaħo - Classical Newari - Ċiċewa; Njanġa - Njamweżi - Nyankole - Njoro - Nżima - Oċċitan - Oġibwa - Oromo (Afan) - Orija - Ossettiku - Osaġjan - Tork (Imperu Ottoman) - Lingwi Otomjani - Punġabi - Papwan (Oħra) - Pangasinjan - Paħlavi - Pampamga - Papjamento - Palawjan - Persjan Antik - Filippin (Oħra) - Feniċju - Pali - Pollakk - Ponpejan - Lingwi Prakriti - Provenzal, Antik (sa l-1500) - Paxtun - Portugiż - Keċwa - Raġastani - Rapanwi - Rarotongani - Reto-Romanz - Rundi - Rumen - Romanz (Oħra) - Żingaru - Għerq - Russu - Aromanijan - Kinjarwanda - Sanskrit - Sandawe - Jakut - Indjan tal-Amerika t’Isfel (Oħra) - Salixan - Samritan - Saska - Santali - Sardinjan - Skoċċiż - Sindi - Sami ta’ Fuq - Selkup - Semitiku - Sango - Irlandiż, Antik (sa l-900) - Lingwa tas-Sinjali - Serbo-Kroat - Xan - Sinħaliż - Sidamo - Lingwi Suwjani - Sino-Tibetjani (Oħra) - Slovakk - Sloven - Slavic (Other) - Samojan - Southern Sami - Sami languages (Other) - Lule Sami - Inari Sami - Skolt Sami - Xona - Soninke - Somali - Sogdien - Songaj - Albaniż - Serb - Serer - Swati - Nilo-Saħaram - Soto, t’Isfel - Sundaniż - Sukuma - Susu - Sumerjan - Svediż - Swaħili - Sirjan - Tamil - Tai (Oħra) - Telugu - Timne - Tereno - Tetum - Taġik - Tajlandiż - Tigrinja - Tigre - Tiv - Turkmeni - Tokelau - Tagalog - Klingon - Tlingit - Tamaxek - Zwana - Tongan (Gżejjer ta’ Tonga) - Tonga (Njasa) - Tok Pisin - Tork - Tsonga - Zimxjan - Tatar - Tumbuka - Tupi languages - Altajk (Oħra) - Tuvalu - Twi - Taħitjan - Tuvinjan - Udmurt - Wigur - Ugaritiku - Ukranjan - Umbundu - Indeterminat - Urdu - Użbek - Vai - Venda - Vjetnamiż - Volapuk - Votik - Walloon - Lingwi Wakaxani - Walamo - Waraj - Waxo - Lingwi Sorbjani - Wolof - Kalmyk - Ħoża - Jao - Japese - Jiddix - Joruba - Lingwi Jupiċi - Żwang - Żapotek - Żenaga - Ċiniż - Żande - Żulu - Żuni - - - - - - - - - - - - - - Dinja - Affrika - Amerika ta’ Fuq - Amerika t’Isfel - Oċejanja - Affrika tal-Punent - Amerika Ċentrali - Affrika tal-Lvant - Affrika ta’ Fuq - Affrika Nofsani - Affrika t’Isfel - Amerika - Amerika Nòrdiku - Karibew - Asja tal-Lvant - Asja t’Isfel Ċentrali - Asja tax-Xlokk - Ewropa t’Isfel - Awstralja u New Zealand - Melanesja - Reġjun ta’ Mikroneżja - Polinesja - Asja - Asja Ċentrali - Asja tal-Punent - Ewropa - Ewropa tal-Lvant - Ewropa ta’ Fuq - Ewropa tal-Punent - Commonwealth tal-Istati Independenti - Amerika Latina u l-Karibew - Gżejjer tal-Kanal Ingliż - Andorra - Emirati Għarab Maqgħuda - Afganistan - Antigua and Barbuda - Angwilla - Albanija - Armenja - Antilles Olandiżi - Angola - Antartika - Arġentina - Samoa Amerikana - Awstrija - Awstralja - Aruba - Gżejjer Aland - Ażerbajġan - Bożnija Ħerżegovina - Barbados - Bangladexx - Belġju - Burkina Faso - Bulgarija - Baħrajn - Burundi - Benin - Bermuda - Brunej - Bolivja - Brażil - Baħamas - Butan - Bouvet Island - Botswana - Bjelorussja - Beliże - Kanada - Cocos (Keeling) Islands - Democratic Republic of the Congo - Repubblika Afrikana Ċentrali - Kongo - Svizzera - Kosta ta’ l-Avorju - Cook Islands - Ċili - Kamerun - Ċina - Kolumbja - Kosta Rika - Serbja u Montenegro - Kuba - Kape Verde - Christmas Island - Ċipru - Repubblika Ċeka - Ġermanja - Ġibuti - Danimarka - Dominika - Republikka Domenikana - Alġerija - Ekwador - Estonja - Eġittu - Sahara tal-Punent - Eritreja - Spanja - Etijopja - Finlandja - Fiġi - Falkland Islands - Mikronesja - Gżejjer Faroe - Franza - Gabon - Ingilterra - Grenada - Ġorġja - Gujana Franċiża - Gana - Gibraltar - Grinlandja - Gambja - Gineja - Gwadelupe - Ginea Ekwatorjali - Greċja - South Georgia and the South Sandwich Islands - Gwatemala - Gwam - Ginea-Bissaw - Gujana - Ħong Kong S.A.R., Ċina - Heard Island and McDonald Islands - Ħonduras - Kroazja - Ħaiti - Ungerija - Indoneżja - Irlanda - Iżrael - Isle of Man - Indja - British Indian Ocean Territory - Iraq - Iran - Islanda - Italja - Ġamajka - Ġordan - Ġappun - Kenja - Kirgistan - Kambodja - Kiribati - Komoros - Saint Kitts and Nevis - Koreja ta’ Fuq - Koreja t’Isfel - Kuwajt - Gżejjer Kajmani - Każakstan - Laos - Libanu - Santa Luċija - Liechtenstein - Sri Lanka - Liberja - Lesoto - Litwanja - Lussemburgu - Latvja - Libja - Marokk - Monako - Maldova - Madagaskar - Gżejjer ta’ Marshall - Maċedonja - Mali - Mjanmar - Mongolja - Macao S.A.R., China - Gżejjer Marjana ta’ Fuq - Martinik - Mawritanja - Montserrat - Malta - Mawrizju - Maldives - Malawi - Messiku - Malasja - Możambik - Namibja - New Caledonia - Niġer - Norfolk Island - Niġerja - Nikaragwa - Olanda - Norveġja - Nepal - Nauru - Niue - New Zealand - Oman - Panama - Peru - Polinesja Franċiża - Papwa-Ginea Ġdida - Filippini - Pakistan - Polonja - Saint Pierre and Miquelon - Pitcairn - Puerto Rico - Palestinian Territory - Portugall - Palau - Paragwaj - Qatar - Unjoni Ewropea - Réunion - Rumanija - Russja - Rwanda - Għarabja Sawdita - Solomon Islands - Seychelles - Sudan - Żvezja - Singapor - Saint Helena - Slovenja - Svalbard and Jan Mayen - Slovakkja - Sierra Leone - San Marino - Senegal - Somalja - Surinam - Sao Tome and Principe - El Salvador - Sirja - Sważiland - Turks and Caicos Islands - Ċad - Territorji Franċiżi ta’ Nofsinhar - Togo - Tajlandja - Taġikistan - Tokelaw - Timor tal-Lvant - Turkmenistan - Tuneż - Tonga - Turkija - Trinidad u Tobago - Tuvalu - Tajwan - Tanżanija - Ukraina - Uganda - United States Minor Outlying Islands - Stati Uniti - Urugwaj - Użbekistan - Vatikan - Saint Vincent and the Grenadines - Venezwela - British Virgin Islands - U.S. Virgin Islands - Vjetnam - Vanwatu - Wallis and Futuna - Samoa - Jemen - Majotte - Afrika t’Isfel - Żambja - Żimbabwe - Reġjun Mhux Magħruf jew Mhux Validu - - - Ortografija Irriveda - - - Kalendarju - Kollazjoni - Munita - - - Ordni Ċiniż Tradizzjonali (Big5) - Kalendarju Buddist - Kalendarju Ċiniż - Ordni Diretta - Ordni Ċiniż Sempliċi (GB2312) - Kalendarju Gregorjan - Kalendarju Ebrajk - Kalendarju Islamiku - Kalendarju Islamiku-Ċivili - Kalendarju Ġappuniż - Ordni Telefonika - Ordni tal-Pinjin - Ordni Maħżuża - Tradizzjonali - - - Metriku - - - Lingwa: {0} - Skritt: {0} - Reġjun: {0} - - - - [a à b ċ d e è f ġ g {għ} h ħ i ì j-o ò p-u ù v-x ż z] - [c y] - - - - - - - - Jan - Fra - Mar - Apr - Mej - Ġun - Lul - Aww - Set - Ott - Nov - Diċ - - - Jannar - Frar - Marzu - April - Mejju - Ġunju - Lulju - Awwissu - Settembru - Ottubru - Novembru - Diċembru - - - - - J - F - M - A - M - Ġ - L - A - S - O - N - D - - - - - - - Ħad - Tne - Tli - Erb - Ħam - Ġim - Sib - - - Il-Ħadd - It-Tnejn - It-Tlieta - L-Erbgħa - Il-Ħamis - Il-Ġimgħa - Is-Sibt - - - - - Ħ - T - T - E - Ħ - Ġ - S - - - - - - - K1 - K2 - K3 - K4 - - - K1 - K2 - K3 - K4 - - - - QN - WN - - - Qabel Kristu - Wara Kristu - - - QK - WK - - - - - - EEEE, d 'ta'’ MMMM y - - - - - d 'ta'’ MMMM y - - - - - dd MMM y - - - - - dd/MM/yyyy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - d 'ta'’ MMMM - dd/MM - Q yy - MM/yyyy - MMM y - - - {0} - {1} - - M-M - - - E, dd/MM - E, dd/MM - E, dd/MM - E, dd/MM - - - MMM-MMM - - - E, d 'ta'’ MMM - E, d 'ta'’ MMM - E, d 'ta'’ - E, d 'ta'’ MMM - - - d 'ta'’ MMM - d 'ta'’ MMM - d 'ta'’-d 'ta'’ MMM - - - dd/MM - dd/MM - dd/MM - dd/MM - - - d-d - - - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - - - y-y - - - MM/yyyy - MM/yyyy - MM/yyyy - MM/yyyy - - - E, dd/MM/yyyy - E, dd/MM/yyyy - E, dd/MM/yyyy - E, dd/MM/yyyy - E, dd/MM/yyyy - E, dd/MM/yyyy - - - MMM-MMM y - MMM y - MMM y - - - E, d 'ta'’ MMM - E, d 'ta'’ MMM y - E, d 'ta'’ - E, d 'ta'’ MMM y - E, d 'ta'’ MMM y - E, d 'ta'’ MMM y - - - d 'ta'’ MMM - d 'ta'’ MMM y - d 'ta'’-d 'ta'’ MMM y - d 'ta'’ MMM y - d 'ta'’ MMM y - - - dd/MM/yyyy - dd/MM/yyyy - dd/MM/yyyy - dd/MM/yyyy - dd/MM/yyyy - dd/MM/yyyy - - - - - - Epoka - - - Sena - - - Xahar - - - Ġimgħa - - - Jum - Lbieraħ - Illum - Għada - - - Jum tal-Ġimgħa - - - Siegħa - - - Minuta - - - Sekonda - - - Żona - - - - - - +HH:mm;-HH:mm - GMT{0} - Ħin ta’ {0} - - Mhux Magħruf - - - Londra - - - Valletta - - - - Ħin Ċentrali Ewropew - Ħin Ċentrali Ewropew tas-Sajf - - true - - - - - - . - , - - - - - ¤#,##0.00 - - - - - - Ewro - - - Lira Maltija - - - Munita Mhux Magħruf jew Mhux Validu - - - - - - iva:i - le:l - - - - diff --git a/lib/zend/Zend/Locale/Data/mt_MT.xml b/lib/zend/Zend/Locale/Data/mt_MT.xml deleted file mode 100644 index f24b8e35f0..0000000000 --- a/lib/zend/Zend/Locale/Data/mt_MT.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/my.xml b/lib/zend/Zend/Locale/Data/my.xml deleted file mode 100644 index 2af96de14a..0000000000 --- a/lib/zend/Zend/Locale/Data/my.xml +++ /dev/null @@ -1,1581 +0,0 @@ - - - - - - - - - - - ၊ - - - အင်္ဂလိပ်စာဟောင်း - အာရေဗီ - အယောင်ဆောင် ဘာသာစကား - ဘာလီ - ဘာဆာ - ဘော်လတစ် ဘာသာစကား - ဘီလာရု - ဘူဂေးရီးယား - ဘင်္ဂါလီ - တိဘက် - ဘော့စ်နီးယား - အလယ်ပိုင်း အမေရိကန် အိန္ဒြိယ ဘာသာစကား - ကောက်ကေးရှပ် ဘာသာစကား - ချေချင်း - ချာရိုကီ - ပေါ်တူဂီ အခြေခံ အနောက်အိန္ဒြိယ ကျွန်းစုသား သို့မဟုတ် ဗန်းစကား - ခရီး - အနောက်အိန္ဒြိယ ကျွန်းစုသား သို့မဟုတ် ဗန်းစကား - ချက် - ဝေလ - ဒိန်းမတ် - ဒါကိုတာ - ဂျာမန် - ဩစတြီးယ ဂျာမန် - ဆွစ် အမြင့် ဂျာမန် - ဒီလာဝဲ - အလယ်ပိုင်း ဒတ်ချ် - ဒွန်ကာ - ရှေးဟောင်း အီဂျစ် - ဂရိ - အင်္ဂလိပ် - ဩစတြေးလျှ အင်္ဂလိပ် - ကနေဒါ အင်္ဂလိပ် - ဗြိတိသျှ အင်္ဂလိပ် - အမေရိကန် အင်္ဂလိပ် - အလယ်ပိုင်း အင်္ဂလိပ် - စပိန် - လက်တင်အမေရိက စပိန် - အက်စ်တိုးနီးရန်း - ပါရှန် - ဖင်နစ်ရှ် - ဖိလစ်ပီနို - ဖီဂျီ - ပြင်သစ် - ကနေဒါ ပြင်သစ် - ဆွစ် ပြင်သစ် - အလယ်ပိုင်းပြင်သစ် - ပြင်သစ်ဟောင်း - မြောက်ပိုင်း ဖရီစီရန် - အရှေ့ပိုင်း ဖရီစီရန် - အနောက်ပိုင်း ဖရီစီရန် - အိုင်းရစ် - ဂျာမန် အခြေခံဘာသာစကား - အလယ်ပိုင်းအမြင့်ဂျာမန် - ရှေးဟောင်း ဂရိ - ဆွစ် ဂျာမန် - ဂူဂျာရသီ - ဟာဝေယံ - ဟီးဘရူး - ဟိန္ဒီ - ခရိုအေရှန် - ဟန်ဂေရီ - အင်ဒိုနီးရှား - စီချွမ် ရီ - အင်ဒို ဥရောပ ဘာသာစကား - အီရန် အခြေခံ ဘာသာစကား - အီတလီ - ဂျပန် - ဂျူဒီယို-ပါရှန် - ဂျူဒီယို-အာရေဗျ - ဂျာဗားနီးစ် - ဂျော်ဂျီယန် - ကချင် - ကရင် - ကွန်ဂို - ခါစီ - ခမာ - ကန်နာဒါ - ကိုးရီးယား - ကဒ် - လက်တင် - လာအို - အလယ်ပိုင်း အိုင်းရစ် - အမျိုးမျိုးသော ဘာသာစကား - မွန်-ခမာ ဘာသာစကား - မလေးရာလမ် - မွန်ဂိုလီးယန်း - မန်ချူး - မနိပူရီ - မနိုဘို ဘာသာစကား - မာရသီ - မလေး - အကြိမ်များစွာ ဘာသာစကားများ - ဗမာ - အနိမ့် ဂျာမန် - နီပေါလ် - ဒတ်ချ် - နော်ဝေး - ပန်ဂျာပီ - ပါပူရန် ဘာသာစကား - ပါရှန် အဟောင်း - ဖိလစ်ပိုင် ဘာသာစကား - ပါဠိ - ပိုလန် - ပေါ်တူဂီ - ဘရာဇီး ပေါ်တူဂီ - ရိုမေနီယား - မူလရင်းမြစ် - ရုရှ - သင်္သကရိုက် - တောင် အမေရိကန် အိန္ဒြိယ ဘာသာစကား - စကော့ - စင်ဒီ - အိုင်းရစ် ဟောင်း - အချက်ပြ ဘာသာစကား - ရှမ်း - ဆင်ဟာလ - တရုတ်-တိဘက် ဘာသာစကား - စလိုဗက် - စလိုဗေးနီးယမ်း - စလိုဗစ် ဘာသာစကား - တောင်ပိုင်း ဆာမိ - ဆာမိ ဘာသာစကား - ဆိုမာလီ - အယ်လ်ဘေးနီးယန်း - ဆားဗီးယန်း - ဆူဒန် - ဆွီဒင် - တမီးလ် - တိုင် ဘာသာစကား - ထိုင်း - တူပီ ဘာသာစကား - ယူကရိန်း - မသိ သို့မဟုတ် မရှိ သော ဘာသာစကား - ဗီယက်နမ် - တရုတ် - ရိုးရှင်းသော တရုတ် - ရှေးရိုးစဉ်လာ တရုတ် - ဇူလူ - ဘာသာစကား နှင့် ပတ်သက် သောအရာမရှိ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ကမ္ဘာ - အာဖရိက - မြောက် အမေရိက - တောင် အမေရိက - သမုဒ္ဒရာဒေသ - အနောက် အာဖရိက - အလယ်ပိုင်း အမေရိက - အရှေ့ပိုင်း အာဖရိက - မြောက်ပိုင်း အာဖရိက - အလယ်ပိုင်း အာဖရိက - တောင်ပိုင်း အာဖရိက - အမေရိကများ - မြောက်ပိုင်း အမေရိက - ကာရီဘီယံ - အရှေ့ပိုင်း အာရှ - တောင်ပိုင်း အာရှ - အ‌ရှေ့တောင်ပိုင်း အာရှ - တောင်ပိုင်း ဥရောပ - ဩစတြေးလျှ နှင့် နယူးဇီလန် - တောင်-အလယ် အာရှ - အာရှ - အလယ် အာရှ - အနောက် အာရှ - ဥရောပ - အရှေ့ပိုင်း ဥရောပ - မြောက်ပိုင်း ဥရောပ - အနောက်ပိုင်း ဥရောပ - လွတ်လပ်သော ပြည်ထောင်စုများ၏ ဓနသဟာယအဖွဲ့ - လက်တင် အမေရိက နှင့် ကာရီဘီယန် - ယူအေအီး - အာဖဂန်နစ္စတန် - အန်ကွီလာ - အာမေနီးယား - အင်ဂိုလာ - အန္တာတိက - အာဂျင်တီးနား - အမေရိကန် စမိုအ - ဩစတြီးယား - ဩစတြေးလျှား - အဇာဘိုင်ဂျန် - ဘော့စနီးယား နှင့် ဟာဇီဂိုဘီးနား - ဘင်္ဂလားဒေ့ရှ် - ဘယ်လ်ဂျီယမ် - ဘူဂေးရီးယား - ဘာရိန်း - ဘာမူဒါ - ဘရူနိုင်း - ဘိုလီးဘီးယား - ဘရာဇီး - ဘဟားမား - ဘူတန် - ဘော့စ်ဝါနာ - ဘီလာရုစ် - ဘေလီဇ် - ကနေဒါ - ကိုကိုး ကျွန်းစု - အလယ်ပိုင်း အာဖရိက ပြည်ထောင်စု - ဆွစ်ဇလန် - အိုင်ဗရီကိုစ့် - ကွတ် ကျွန်းစု - ချီလီ - ကင်မရွန်း - တရုတ် - ကိုလံဘီယာ - ကော့စ်တာရီကာ - ကျူးဘား - ခရစ်စမတ် ကျွန်း - ဆိုက်ပရက်စ် - ချက် ပြည်ထောင်စု - ဂျာမဏီ - ဒိန်းမတ် - ဒိုမီနီကာ - ဒိုမီနီကန် - အယ်လ်ဂျီးရီးယား - အီကွေဒေါ - အက်စတိုးနီးယား - အီဂျစ် - အနောက်ပိုင်း ဆာဟာရ - စပိန် - အီသီယိုးပီးယား - ဖင်လန် - ဖီဂျီ - ဖောက်ကလန် ကျွန်းစု - ဖာရိုး ကျွန်းစုများ - ပြင်သစ် - ယူနိုက်တက်ကင်းဒမ်း - ဂျော်ဂျီယာ - ပြင်သစ် ဂီယာနာ - ဂါနာ - ဂျီဘရော်လ်တာ - ဂရင်းလန်း - ဂန်ဘီရာ - ဂီရာနာ - အီကွေတာ ဂီရာနာ - ဂရိ - တောင် ဂျော်ဂျီယာ နှင့် တောင် ဆင်းဒဝစ်ဂျ် ကျွန်းစုများ - ဂွာတီမာလာ - ဂူအမ် - တရုတ်၏ အထူးအုပ်ချုပ်ခွင့်ရ ဟောင်ကောင် - ဟွန်ဒူးရပ်စ် - ခရိုအေးရှား - ဟေတီ - ဟန်ဂေရီ - အင်ဒိုနီးရှား - အိုင်ယာလန် - အစ္စရေး - အိန္ဒိယ - ဗြိတိသျှ အိန္ဒြိယ သမုဒ္ဒရာ ပိုင်နက် - အီရတ် - အီရန် - အိုက်စလန် - အီတလီ - ဂျာစီ - ဂျမေနီကာ - ဂျော်ဒန် - ဂျပန် - ကင်ညာ - ခယ်ကစ်စတန် - ကမ္ဘောဒီးယား - မြောက်ကိုရီးယား - တောင်ကိုရီးယား - ကူဝိတ် - ကေမန် ကျွန်းစု - ကာဇက်စတန် - လာအို - လက်ဘနွန် - သီရိလင်္ကာ - လိုင်ဘေးရီးယား - လစ်သူယေးနီးယား - လူဇင်ဘတ် - လတ်ဗီးယား - မော်ရိုကို - မိုနကို - မွန်တီနိဂရိုး - စိန့်မာတင် - မဒဂတ်စကာ - မာရှယ် ကျွန်းစု - မာစီဒိုးနီးယား - မာလီ - မြန်မာ - မွန်ဂိုးလီးယား - တရုတ်၏ အထူးအုပ်ချုပ်ခွင့်ရ မကာအို - မော်လဒိုက် - မာလာဝီ - မက္ကဆီကို - မလေးရှား - မိုဇန်ဘစ် - နမ်မီးဘီးယား - နယူး ကယ်လီဒိုနီးယား - နိုင်ဂျာ - နိုင်ဂျီးရီးယား - နီကာရာဂွာ - နယ်သာလန် - နော်ဝေ - နီပေါ - နယူးဇီလန် - အိုမန် - ပနားမား - ပီရူး - ပြင်သစ် ပေါ်လီနေးရှား - ပါပူရာနယူးဂီနီ - ဖိလစ်ပိုင် - ပါကစ္စတန် - ပိုလန် - ပေါ်တူရီကို - ပါလက်စတိုင်း ပိုင်နက် - ပေါ်တူဂီ - ပါရာဂွေး - ကာတာ - ဥရောပသမဂ္ဂ - ရိုမေးနီးယား - ဆားဘီးယား - ရုရှ - ရဝန်ဒါ - ဆော်ဒီအာရေးဗီးယား - ဆော်လမွန်ကျွန်းစု - ဆူဒန် - ဆွီဒင် - စင်္ကာပူ - စလိုဗေးနီးယား - စလိုဗေးကီးယား - ဆီနီဂေါ - ဆိုမာလီယာ - အယ်လ်ဆာဗေးဒိုး - ဆီးရီးယား - ချဒ် - ပြင်သစ် တောင်ပိုင်း ပိုင်နက်များ - ထိုင်း - တာဂျီကစ္စတန် - အရှေ့တီမော - တူနီးရှား - တွန်ဂါ - တူရကီ - ထိုင်ဝမ် - တန်ဇန်နီးယား - ယူကရိန်း - ယူဂန္ဒာ - ယူနိုက်တက်စတိတ် အပြင်ထွက် နေသည့် သေးငယ်သောကျွန်းများ - ယူနိုက်တက်စတိတ် - ဥရုဂွေး - ဥဘက်ကစ္စတန် - ဗာတီကန် - ဗင်နီဇွဲလား - ဗြိတိသျှ ဗာဂျင်း ကျွန်းစု - ယူအက်စ် ဗာဂျင်း ကျွန်းစု - ဗီယက်နမ် - ယီမင် - တောင်အာဖရိက - ဇမ်ဘီယာ - ဇင်ဘာဘွေ - မသိ သို့မဟုတ် မရှိ သော နေရာ - - - ရှေးရိုးစဉ်လာ ဂျာမန် ရေးထုံး - ၁၉၉၆ ဂျာမန် ရေးထုံး - အလယ်ပိုင်းနောက်ကျသောပြင်သစ်မှ ၁၆၀၆ - ၁၆၉၄ACAD - အရှေ့ပိုင်းအာမေးနီးယန်း - ပေါင်းစပ်ထားသော တူရကီ လက်တင်စကားလုံး - IPA အသံထွက် - UPA အသံထွက် - ကွန်ပျူတာ - ပြန်လည်စီစစ်ထားသော ရေးထုံး - စကော့ စံ အင်္ဂလိပ် - - - ပြက္ခဒိန် - စနစ်တကျစီသော - ငွေကြေး - - - ဗုဒ္ဓ ပြက္ခဒိန် - တရုတ် ပြက္ခဒိန် - တိုက်ရိုက်အစဉ် - နိုင်ငံတကာသုံး ပြက္ခဒိန် - ဟီဗရူး ပြက္ခဒိန် - အိန္ဒြိယ အမျိုးသား ပြက္ခဒိန် - အစ္စလာမ် ပြက္ခဒိန် - ဂျပန် ပြက္ခဒိန် - ဖုန်းစာအုပ် အစီအစဉ် - - - အမေရိကန်စနစ် - မက်ထရစ်စနစ် - - - ဘာသာစကား - {0} - စာ - {0} - နယ်ပယ်ဒေသ - {0} - - - - [က-အ ဣ-ဧ ဩ ဪ] - [\u1036-း ျ-\u103E ာ ါ \u102D-\u1032 \u1039 \u103A] - [a-z] - - - “ - ” - ‘ - ’ - - - - - - - - ဇန် - ဖေ - မတ် - ဧ - မေ - ဇွန် - ဇူ - ဩ - စက် - အောက် - နို - ဒီ - - - ဇန်နဝါရီ - ဖေဖော်ဝါရီ - မတ် - ဧပြီ - မေ - ဇွန် - ဇူလိုင် - ဩဂုတ် - စက်တင်ဘာ - အောက်တိုဘာ - နိုဝင်ဘာ - ဒီဇင်ဘာ - - - - - ဇ - ဖ - မ - ဧ - မ - ဇ - ဇ - ဩ - စ - အ - န - ဒ - - - - - - - နွေ - လာ - ဂါ - ဟူး - တေး - ကြာ - နေ - - - တနင်္ဂနွေ - တနင်္လာ - အင်္ဂါ - ဗုဒ္ဓဟူး - ကြာသပတေး - သောကြာ - စနေ - - - - - တ - တ - အ - ဗ - က - သ - စ - - - - - - - ပ-စိတ် - ဒု-စိတ် - တ-စိတ် - စ-စိတ် - - - ပထမ သုံးလပတ် - ဒုတိယ သုံးလပတ် - တတိယ သုံးလပတ် - စတုတ္ထ သုံးလပတ် - - - - - ပ-စိတ် - ဒု-စိတ် - တ-စိတ် - စ-စိတ် - - - ပ - ဒု - တ - စ - - - ပထမ သုံးလပတ် - ဒုတိယ သုံးလပတ် - တတိယ သုံးလပတ် - စတုတ္ထ သုံးလပတ် - - - - နံနက် - ညနေ - - - ခရစ်တော် မပေါ်မီကာလ - ခရစ်တော် ပေါ်ထွန်းပြီးကာလ - - - ဘီစီ - အေဒီ - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - H:mm - L - E, M-d - LLL - E MMM d - E MMMM d - MMMM d - MMM d - M-d - d - mm:ss - y - yyyy-M - EEE, yyyy-M-d - y MMM - EEE, y MMM d - y MMMM - yyyy Q - y QQQ - Q yy - - - {0} – {1} - - M-M - - - EEEE၊ d/M – EEEE၊ d/M - EEEE၊ d/M – EEEE၊ d/M - - - MMM d၊ EEEE – MMM d၊ EEEE - MMM d၊ EEEE – MMM d၊ EEEE - - - d/M – d/M - d/M – d/M - - - d-d - - - HH-HH - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - HH-HH v - - - y-y - - - EEEE၊ d/M/yy – EEEE၊ d/M/yy - EEEE၊ d/M/yy – EEEE၊ d/M/yy - EEEE၊ d-M-yyyy – EEEE၊ d-M-yyyy - - - y၊ MMM d၊ EEEE – MMM d၊ EEEE - y၊ MMM d၊ EEEE – MMM d၊ EEEE - y၊ MMM d၊ EEEE – y၊ MMM d၊ EEEE - - - y၊ MMM d – MMM d - y MMM d – y MMM d - - - d/M/yy – d/M/yy - d/M/yy – d/M/yy - d/M/yy – d/M/yy - - - - - - ခေတ် - - - နှစ် - - - လ - - - ပတ် - - - ရက် - တနေ့က - မနေ့က - ယနေ့ - မနက်ဖြန် - သဘက်ခါ - - - နေ့ - - - နံနက်/ညနေ - - - နာရီ - - - မိနစ် - - - စက္ကန့် - - - ဇုန် - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} အချိန် - - မသိသော - - - ရီယို ဗြန်ကို - - - ကိမ်ပို ဂရန်ဒ - - - ဆာပိုလို - - - ဟိုနိုလူလူ - - - အန်ကာရေ့ဂျ် - - - လော့စ်အိန်ဂျယ်လိစ် - - - ဖီးနစ် - - - ဒင်ဗာ - - - ချီကာကို - - - အင်ဒီယားနားပိုလစ် - - - နယူးယောက် - - - - အာဖဂန်နစ္စတန် အချိန် - - - - - အလယ်ပိုင်း အာဖရိက အချိန် - - - - - အရှေ့ပိုင်း အာဖရိက အချိန် - - - - - တောင်အာဖရိက အချိန် - တောင်အာဖရိက စံတော်ချိန် - - - - - အနောက်ပိုင်း အာဖရိက အချိန် - အနောက်ပိုင်း အာဖရိက နွေရာသီ အချိန် - - - - - အလယ်ပိုင်း အမေရိက အချိန် - အလယ်ပိုင်း အမေရိက စံတော်ချိန် - အလယ်ပိုင်း အမေရိက နွေရာသီ အချိန် - - - - - အရှေ့ပိုင်း အမေရိက အချိန် - အရှေ့ပိုင်း အမေရိက စံတော်ချိန် - အရှေ့ပိုင်း အမေရိက အချိန် - - - - - အမေရိက တောင် အချိန် - အမေရိက တောင် စံတော်ချိန် - အမေရိက တောင် နေ့ပိုင်း အချိန် - - - - - ပစိဖိတ် အချိန် - ပစိဖိတ် စံတော်ချိန် - ပစိဖိတ် နေ့ပိုင်း အချိန် - - - - - အာရေဗျ အချိန် - အာရေဗျ စံတော်ချိန် - အာရေဗျ နေ့ပိုင်း အချိန် - - - - - အာဂျင်တီးနား အချိန် - အာဂျင်တီးနား နွေရာသီ အချိန် - - - - - အနောက် အာဂျင်တီးနား အချိန် - - - - - အာမေနီးယား အချိန် - အာမေနီးယား နွေရာသီ အချိန် - - - - - အတ္ထလန်တစ် အချိန် - အတ္ထလန်တစ် စံတော်ချိန် - အတ္ထလန်တစ် နေ့ပိုင်း အချိန် - - - - - အလယ်ဩစတြေးလျှား အချိန် - အလယ်ပိုင်း ဩစတြေးလျှား စံတော်ချိန် - အလယ်ပိုင်း ဩစတြေးလျှား နေ့ပိုင်း အချိန် - - - - - အလယ်အနောက်ပိုင်း ဩစတြေးလျှား အချိန် - အလယ်အနောက်ပိုင်း ဩစတြေးလျှား စံတော်ချိန် - အလယ်အနောက်ပိုင်း ဩစတြေးလျှား နေ့ပိုင်း အချိန် - - - - - အရှေ့ဩစတြေးလျှား အချိန် - အရှေ့ပိုင်း ဩစတြေးလျှား စံတော်ချိန် - အရှေ့ပိုင်း ဩစတြေးလျှား နေ့ပိုင်း အချိန် - - - - - အနောက် ဩစတြေးလျှား အချိန် - အနောက်ပိုင်း ဩစတြေးလျှား စံတော်ချိန် - အနောက်ပိုင်း ဩစတြေးလျှား နေ့ပိုင်း အချိန် - - - - - အဇာဘိုင်ဂျန် အချိန် - အဇာဘိုင်ဂျန် နွေရာသီ အချိန် - - - - - ဘင်္ဂလားဒေ့ရှ် အချိန် - - - - - ဘူတန် အချိန် - - - - - ဘိုလီးဘီးယား အချိန် - - - - - ဘရာဇီး အချိန် - ဘရာဇီး နွေရာသီ အချိန် - - - - - ဗြိတိသျှ အချိန် - ဗြိတိသျှ နွေရာသီ အချိန် - - - - - ဘရူနိုင်း စံတော်ချိန် - - - - - ချီလီ အချိန် - ချီလီ နွေရာသီ အချိန် - - - - - တရုတ် အချိန် - တရုတ် စံတော်ချိန် - တရုတ် နေ့ပိုင်း အချိန် - - - - - ကိုလံဘီယာ အချိန် - ကိုလံဘီယာ နွေရာသီ အချိန် - - - - - ကျူးဘား အချိန် - ကျူးဘား စံတော်ချိန် - ကျူးဘား နွေရာသီ အချိန် - - - - - ဒတ်ချ် ဂီယာနာ အချိန် - - - - - အရှေ့တီမော အချိန် - - - - - အီကွေဒေါ အချိန် - - - - - ပြင်သစ် အချိန် - ဥရောပ အလယ်ပိုင်း အချိန် - ဥရောပ အလယ်ပိုင်း နွေရာသီ အချိန် - - - - - ရိုမေးနီးယား အချိန် - အရှေ့ဥရောပ အချိန် - အရှေ့ဥရောပ နွေရာသီ အချိန် - - - - - အနောက်ပိုင်း ဥရောပ အချိန် - အနောက်ပိုင်း ဥရောပ နွေရာသီ အချိန် - - - - - ဖောင်ကလန်ကျွန်းစု အချိန် - ဖောင်ကလန်ကျွန်းစု နွေရာသီ အချိန် - - - - - ပြင်သစ် ဂီယာနာ အချိန် - - - - - ဂရင်းနစ် စံတော်ချိန် - - - - - ဂျော်ဂျီယာ အချိန် - ဂျော်ဂျီယာ နွေရာသီ အချိန် - - - - - အလယ်ဂရင်းလန်း အချိန် - အလယ်ဂရင်းလန်း နွေရာသီ အချိန် - - - - - အရှေ့ဂရင်းလန်း အချိန် - အရှေ့ဂရင်းလန်း နွေရာသီ အချိန် - - - - - အနောက် ဂရင်းလန်း အချိန် - အနောက် ဂရင်းလန်း နွေရာသီ အချိန် - - - - - ပင်လယ်ဂွေ့ အချိန် - ပင်လယ်ဂွေ့ စံတော်ချိန် - - - - - ဟောင်ကောင် အချိန် - ဟောင်ကောင် နွေရာသီ အချိန် - - - - - အိန္ဒြိယ စံတော်ချိန် - - - - - အိန္ဒြိယ သမုဒ္ဒရာ အချိန် - - - - - အင်ဒိုချိုင်းနား အချိန် - - - - - အလယ်ပိုင်း အင်ဒိုနီးရှား အချိန် - - - - - အရှေ့ပိုင်း အင်ဒိုနီးရှား အချိန် - - - - - အနောက်ပိုင်း အင်ဒိုနီးရှား အချိန် - - - - - အီရန် စံတော်ချိန် - အီရန် နေ့ပိုင်း အချိန် - - - - - အိုင်ယာလန် အချိန် - - - - - အစ္စရေး အချိန် - အစ္စရေး စံတော်ချိန် - အစ္စရေး နေ့ပိုင်း အချိန် - - - IST (အစ္စရေး) - - - - - ဂျပန် အချိန် - ဂျပန် စံတော်ချိန် - ဂျပန် နေ့ပိုင်း အချိန် - - - - - အရှေ့ကာဇက်စတန် အချိန် - အရှေ့ကာဇက်စတန် စံတော်ချိန် - - - - - ကိုးရီးယား အချိန် - ကိုးရီးယား စံတော်ချိန် - ကိုးရီးယား နေ့ပိုင်း အချိန် - - - - - သီရိလင်္ကာ အချိန် - - - - - မကာအို အချိန် - မကာအို နွေရာသီ အချိန် - - - - - မလေးရှား အချိန် - - - - - မော်စကို အချိန် - မော်စကို စံတော်ချိန် - မော်စကို နွေရာသီ အချိန် - - - - - မြန်မာ အချိန် - - true - - - - နီပေါ အချိန် - - - - - နယူးဇီလန် အချိန် - နယူးဇီလန် စံတော်ချိန် - နယူးဇီလန် နေ့ပိုင်း အချိန် - - - - - နယူးဖောင်လန် အချိန် - နယူးဖောင်လန် စံတော်ချိန် - နယူးဖောင်လန် နေ့ပိုင်း အချိန် - - - - - ပါကစ္စတန် အချိန် - ပါကစ္စတန် နွေရာသီ အချိန် - - - - - ပါပူရာနယူးဂီနီ အချိန် - - - - - ပါရာဂွေး အချိန် - ပါရာဂွေး နွေရာသီ အချိန် - - - - - ပီရူး အချိန် - ပီရူး နွေရာသီ အချိန် - - - - - ဖိလစ်ပိုင် အချိန် - ဖိလစ်ပိုင် နွေရာသီ အချိန် - - - - - စင်္ကာပူ စံတော်ချိန် - - - - - တောင်ဂျော်ဂျီယာ အချိန် - - - - - တူရကီ စံတော်ချိန် အချိန် - တူရကီ နွေရာသီ အချိန် - - - - - ဥရုဂွေး အချိန် - ဥရုဂွေး နွေရာသီ အချိန် - - - - - ဥဘက်ကစ္စတန် အချိန် - ဥဘက်ကစ္စတန် နွေရာသီ အချိန် - - - - - ဗင်နီဇွဲလား အချိန် - - - - - - mymr - - . - , - ၊ - ၀ - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤ #,##0.00 - - - - - - နယ်သာလန် အန်တီလန် ဂင်းဒါး - - - အာဂျင်တီးနား ပီဆို (၁၉၈၃-၁၉၈၅) - - - အာဂျင်တီးနား ပီဆို - - - ဩစတြေးလျှား ဒေါ်လာ - - - အရူဘန် ဂင်းဒါး - - - ဘင်္ဂလားဒေ့ရှ် တာကာ - - - ဘယ်လ်ဂျီယမ် ဖရန့် - - - ဘူရွန်ဒီ ဖရန့် - - - ဘာမူဒါ ဒေါ်လာ - - - ဘရူနိုင်း ဒေါ်လာ - - - ဘိုလီးဘီးယား ပီဆို - - - ဘရာဇီး ရီးယဲ - - - ဘဟားမား ဒေါ်လာ - - - ဗမာ ကျပ် - - - ဘော့စ်ဝါနာ ပုလ - - - ဘီလာရုစ် ရူဘယ်အသစ် (၁၉၉၄-၁၉၉၉) - - - ဘီလာရုစ် ရူဘယ် - - - ဘေလီဇ် ဒေါ်လာ - - - ကနေဒါ ဒေါ်လာ - - - ဆွစ် ဖရန့် - - - ချီလီ ပီဆို - - - တရုတ် ယွမ် - - - ကိုလံဘီယာ ပီဆို - - - ကျူးဘား ပီဆို - - - ဆိုက်ပရက်စ် ပေါင် - - - ဂျာမဏီ မတ် - - - ဒိန်းမတ် ခရိုဏာ - - - ဒိုမီနီကန် ပီဆို - - - အီဂျစ် ပေါင် - - - စပိန် ပယ်စေးတာ - - - ယူရို - - - ဖီဂျီ ဒေါ်လာ - - - ဖောက်ကလန် ကျွန်းစု ပေါင် - - - ပြင်သစ် ဖရန့် - - - ဗြိတိသျှ ပေါင် - - - ဂျီဘရော်လ်တာ ပေါင် - - - ဂီရာနာ ဖရန့် - - - ဟောင်ကောင် ဒေါ်လာ - - - အင်ဒိုနီးရှား ရူပီးယား - - - အစ္စရေး ပေါင် - - - အိန္ဒြိယ ရူပီး - - - ဂျမေနီကာ ဒေါ်လာ - - - ဂျပန်ယန်း - - - ကမ္ဘောဒီးယား ရီးယဲ - - - မြောက်ကိုးရီးယား ဝမ် - - - တောင်ကိုးရီးယား ဝမ် - - - ကေမန် ကျွန်းစု ဒေါ်လာ - - - လက်ဘနွန် ပေါင် - - - သီရိလင်္ကာ ရူပီး - - - လိုင်ဘေးရီးယား ဒေါ်လာ - - - မြန်မာ ကျပ် - K - - - မက္ကဆီကို ပီဆို - - - မလေးရှား ရင်းဂစ် - - - နမ်မီးဘီးယား ဒေါ်လာ - - - နော်ဝေ ခရိုဏာ - - - နီပေါ ရူပီး - - - နယူးဇီလန် ဒေါ်လာ - - - ဖိလစ်ပိုင် ပီဆို - - - ပါကစ္စတန် ရူပီး - - - ပိုလန် ဇ‌လော့တီ - - - ရုရှ ရူဘယ် - - - ရုရှ ရူဘယ် (၁၉၉၁-၁၉၉၈) - - - ရဝန်ဒါ ဖရန့် - - - ဆော်လမွန်ကျွန်းစု ဒေါ်လာ - - - ဆူဒန် ပေါင် - - - ဆူဒန် ပေါင်အဟောင်း - - - ဆွီဒင် ခရိုဏာ - - - စင်္ကာပူ ဒေါ်လာ - - - ဆူရိနမ် ဒေါ်လာ - - - ဆိုဗီယက် ရူဗယ် - - - ထိုင်းဘတ် - - - ရှေးဟောင်းတူရကီ လိုင်ရာ - - - တူရကီ လိုင်ရာ - - - ထိုင်ဝမ် ဒေါ်လာအသစ် - - - အမေရိကန် ဒေါ်လာ - - - အမေရိကန် ဒေါ်လာ (နောက်နေ့) - - - အမေရိကန် ဒေါ်လာ (တနေ့တည်း) - - - ဗီယက်နမ် ဒေါင် - - - ငွေ - - - ရွှေ - - - ဥရောပငွေကြေးစံနစ် - - - အထူးထုတ်ယူခွင့် - - - CFA ဖရန့် BCEAO - - - ပလက်တီနမ် - - - စမ်းသပ် ငွေကြေး ကုဒ် - - - မသိ သို့မဟုတ် မရှိသော ငွေကြေး - - - ဇင်ဘာဘွေ ဒေါ်လာ - - - - - - {0} ရက် - - - {0} နာရီ - - - {0} မိနစ် - - - {0} လ - - - {0} စက္ကန့် - - - {0} ပတ် - - - {0} နှစ် - - - - - ဟုတ်တယ် - မဟုတ်ဘူး - - - - diff --git a/lib/zend/Zend/Locale/Data/my_MM.xml b/lib/zend/Zend/Locale/Data/my_MM.xml deleted file mode 100644 index c1d863d6e0..0000000000 --- a/lib/zend/Zend/Locale/Data/my_MM.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/nb.xml b/lib/zend/Zend/Locale/Data/nb.xml deleted file mode 100644 index 5a2d7640a4..0000000000 --- a/lib/zend/Zend/Locale/Data/nb.xml +++ /dev/null @@ -1,3082 +0,0 @@ - - - - - - - - - nn da sv en - - - {0} ({1}) - , - - - afar - abkhasisk - achinesisk - acoli - adangme - adyghe - avestisk - afrikaans - afroasiatisk språk - afrihili - ainu - akan - akkadisk - aleutisk - algonkinsk språk - søraltaisk - amharisk - aragonsk - gammelengelsk - angika - apachespråk - arabisk - arameisk - araukansk - arapaho - kunstig språk - arawak - assamisk - asturisk - athapaskansk språk - australsk språk - avarisk - awadhi - aymara - aserbajdsjansk - basjkirsk - banda - bamilekisk språk - baluchi - balinesisk - basa - baltisk språk - hviterussisk - beja - bemba - berbisk - bulgarsk - bihari - bhojpuri - bislama - bikol - bini - siksika - bambara - bengali - bantu - tibetansk - bretonsk - braj - bosnisk - batak - buriat - buginesisk - blin - katalansk - caddo - sentralamerikansk indiansk språk - karibisk - kaukasisk språk - atsam - tsjetsjensk - cebuansk - keltisk språk - chamorro - chibcha - chagatai - chuukesisk - mari - chinook - choctaw - chipewiansk - cherokee - cheyenne - kamisk språk - korsikansk - koptisk - engelskbasert kreol- eller pidginspråk - franskbasert kreol- eller pidginspråk - portugisiskbasert kreol- eller pidginspråk - cree - krimtatarisk - kreol- eller pidginspråk - tsjekkisk - kasjubisk - kirkeslavisk - kusjitisk språk - tsjuvansk - walisisk - dansk - dakota - dargwa - dayak - tysk - østerriksk tysk - sveitsisk høytysk - delaware - slavisk - dogrib - dinka - dogri - dravidisk språk - lavsorbisk - duala - mellomnederlandsk - divehi - dyula - dzongkha - ewe - efik - gammelegyptisk - ekajuk - gresk - elamittisk - engelsk - australsk engelsk - canadisk engelsk - britisk engelsk - amerikansk engelsk - mellomengelsk - esperanto - spansk - latinamerikansk spansk - iberisk spansk - estisk - baskisk - ewondo - persisk - fang - fanti - fulani - finsk - filippinsk - finsk-ugrisk språk - fijiansk - færøysk - fon - fransk - canadisk fransk - sveitsisk fransk - mellomfransk - gammelfransk - nordfrisisk - østfrisisk - friuliansk - vestfrisisk - irsk - ga - gayo - gbaya - skotsk gælisk - germansk språk - ges - kiribatisk - galisisk - mellomhøytysk - guarani - gammelhøytysk - gondi - gorontalo - gotisk - grebo - gammelgresk - sveitsertysk - gujarati - manx - gwichin - hausa - haida - hawaiisk - hebraisk - hindi - hiligaynon - himachali - hettittisk - hmong - hiri motu - kroatisk - høysorbisk - haitisk - ungarsk - hupa - armensk - herero - interlingua - iban - indonesisk - interlingue - ibo - sichuan-yi - ijo - inupiak - iloko - indisk språk - indoeuropeisk språk - ingusjisk - ido - iransk - irokansk språk - islandsk - italiensk - inuktitut - japansk - lojban - jødepersisk - jødearabisk - javanesisk - georgisk - karakalpakisk - kabylsk - kachin - jju - kamba - karensk - kawi - kabardisk - tyap - koro - kikongo - khasi - khoisanspråk - khotanesisk - kikuyu - kuanyama - kasakhisk - grønlandsk - khmer - kimbundu - kannada - koreansk - konkani - kosraeansk - kpelle - kanuri - karachay-balkar - karelsk - kru - kurukh - kasjmiri - kurdisk - kumyk - kutenai - komi - kornisk - kirgisisk - latin - ladinsk - lahnda - lamba - luxemburgsk - lezghian - ganda - limburgisk - lingala - laotisk - mongo - lozi - litauisk - luba-katanga - luba-lulua - luiseno - lunda - luo - lushai - latvisk - maduresisk - magahi - maithili - makasar - mandingo - austronesisk - masai - moksha - mandar - mende - madagassisk - mellomirsk - marshallesisk - maori - micmac - minangkabau - annet språk - makedonsk - mon-khmerspråk - malayalam - mongolsk - mandsju - manipuri - manobospråk - moldavisk - mohawk - mossi - marathi - malayisk - maltesisk - flere språk - mundaspråk - creek - mirandesisk - marwari - burmesisk - mayaspråk - erzya - nauru - nahuatl - nordamerikansk indiansk språk - napolitansk - norsk bokmål - nord-ndebele - lavtysk - nepalsk - newari - ndonga - nias - niger-kordofiansk språk - niueansk - nederlandsk - flamsk - norsk nynorsk - norsk - nogai - gammelnorsk - nkå - sør-ndebele - nord-sotho - nubisk språk - navajo - klassisk newari - nyanja - nyamwezi - nyankole - nyoro - nzima - oksitansk - ojibwa - oromo - oriya - ossetisk - osage - ottomansk tyrkisk - otomisk språk - panjabi - papuisk språk - pangasinan - pahlavi - pampanga - papiamento - palauisk - gammelpersisk - filippinsk språk - fønikisk - pali - polsk - ponapisk - prakritspråk - gammelprovençalsk - pashto - portugisisk - brasiliansk portugisisk - iberisk portugisisk - quechua - rajasthani - rapanui - rarotongansk - retoromansk - rundi - rumensk - romansk språk - romani - rot - russisk - aromansk - kinjarwanda - sanskrit - sandawe - jakutsk - søramerikansk indiansk språk - salishansk språk - samaritansk arameisk - sasak - santali - sardinsk - siciliansk - skotsk - sindhi - nordsamisk - selkupisk - semittisk språk - sango - gammelirsk - tegnspråk - serbokroatisk - shan - singalesisk - sidamo - siouxspråk - sino-tibetansk språk - slovakisk - slovensk - slavisk språk - samoansk - sørsamisk - samisk språk - lulesamisk - enaresamisk - skoltesamisk - shona - soninke - somali - sogdisk - songhai - albansk - serbisk - sranan tongo - serer - swati - nilo-saharaspråk - sør-sotho - sundanesisk - sukuma - susu - sumerisk - svensk - swahili - klassisk syrisk - syrisk - tamil - taispråk - telugu - temne - tereno - tetum - tadsjikisk - thai - tigrinja - tigré - tiv - turkmensk - tokelau - tagalog - klingon - tlingit - tamasjek - setswana - tongansk - nyasa-tongansk - tok pisin - tyrkisk - tsonga - tsimshian - tatarisk - tumbuka - tupispråk - altaisk språk - tuvalu - twi - tahitisk - tuvinisk - udmurt - uigurisk - ugaritisk - ukrainsk - umbundu - ukjent eller ugyldig språk - urdu - usbekisk - vai - venda - vietnamesisk - volapyk - votisk - vallonsk - wakasjansk språk - walamo - waray - washo - sorbisk språk - wolof - kalmyk - xhosa - yao - yapesisk - jiddisk - joruba - jupisk språk - zhuang - zapotec - blissymboler - zenaga - kinesisk - forenklet kinesisk - tradisjonell kinesisk - zande - zulu - zuni - uten språklig innhold - zaza - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - verden - Afrika - Nord-Amerika - Sør-Amerika - Oseania - Vest-Afrika - Sentral-Amerika - Øst-Afrika - Nord-Afrika - Sentral-Afrika - Sørlige Afrika - Amerika - Nordlige Amerika - Karibia - Øst-Asia - Sør-Asia - Sørøst-Asia - Sør-Europa - Australia og New Zealand - Melanesia - Mikronesia - Polynesia - Sørsentral-Asia - Asia - Sentral-Asia - Vest-Asia - Europa - Øst-Europa - Nord-Europa - Vest-Europa - Samveldet av uavhengige stater - Latin-Amerika og Karibia - Andorra - De forente arabiske emirater - Afghanistan - Antigua og Barbuda - Anguilla - Albania - Armenia - De nederlandske antiller - Angola - Antarktis - Argentina - Amerikansk Samoa - Østerrike - Australia - Aruba - Åland - Aserbajdsjan - Bosnia-Hercegovina - Barbados - Bangladesh - Belgia - Burkina Faso - Bulgaria - Bahrain - Burundi - Benin - Saint Barthélemy - Bermuda - Brunei Darussalam - Bolivia - Brasil - Bahamas - Bhutan - Bouvetøya - Botswana - Hviterussland - Belize - Canada - Kokosøyene - Kongo-Kinshasa - Den sentralafrikanske republikk - Kongo-Brazzaville - Sveits - Elfenbenskysten - Cookøyene - Chile - Kamerun - Kina - Colombia - Costa Rica - Serbia og Montenegro - Cuba - Kapp Verde - Christmasøya - Kypros - Tsjekkia - Tyskland - Djibouti - Danmark - Dominica - Den dominikanske republikk - Algerie - Ecuador - Estland - Egypt - Vest-Sahara - Eritrea - Spania - Etiopia - Finland - Fiji - Falklandsøyene - Mikronesiaføderasjonen - Færøyene - Frankrike - Gabon - Storbritannia - Grenada - Georgia - Fransk Guyana - Guernsey - Ghana - Gibraltar - Grønland - Gambia - Guinea - Guadeloupe - Ekvatorial-Guinea - Hellas - Sør-Georgia og de sørlige Sandwich-øyene - Guatemala - Guam - Guinea-Bissau - Guyana - Hongkong S.A.R. Kina - Heardøya og McDonaldøyene - Honduras - Kroatia - Haiti - Ungarn - Indonesia - Irland - Israel - Man - India - Britiske territorier i Indiahavet - Irak - Iran - Island - Italia - Jersey - Jamaica - Jordan - Japan - Kenya - Kirgisistan - Kambodsja - Kiribati - Komorene - St. Kitts og Nevis - Nord-Korea - Sør-Korea - Kuwait - Caymanøyene - Kasakhstan - Laos - Libanon - St. Lucia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Litauen - Luxembourg - Latvia - Libya - Marokko - Monaco - Moldova - Montenegro - Saint Martin - Madagaskar - Marshalløyene - Makedonia - Mali - Myanmar - Mongolia - Macao S.A.R. Kina - Nord-Marianene - Martinique - Mauritania - Montserrat - Malta - Mauritius - Maldivene - Malawi - Mexico - Malaysia - Mosambik - Namibia - Ny-Caledonia - Niger - Norfolkøya - Nigeria - Nicaragua - Nederland - Norge - Nepal - Nauru - Niue - New Zealand - Oman - Panama - Peru - Fransk Polynesia - Papua Ny-Guinea - Filippinene - Pakistan - Polen - St. Pierre og Miquelon - Pitcairn - Puerto Rico - Palestinsk territorium - Portugal - Palau - Paraguay - Qatar - avsidesliggende Oceania - Den europeiske union - Reunion - Romania - Serbia - Russland - Rwanda - Saudi-Arabia - Salomonøyene - Seychellene - Sudan - Sverige - Singapore - St. Helena - Slovenia - Svalbard og Jan Mayen - Slovakia - Sierra Leone - San Marino - Senegal - Somalia - Surinam - São Tomé og Príncipe - El Salvador - Syria - Swaziland - Turks- og Caicosøyene - Tsjad - De franske sørterritorier - Togo - Thailand - Tadsjikistan - Tokelau - Øst-Timor - Turkmenistan - Tunisia - Tonga - Tyrkia - Trinidad og Tobago - Tuvalu - Taiwan - Tanzania - Ukraina - Uganda - USAs ytre småøyer - USA - Uruguay - Usbekistan - Vatikanstaten - St. Vincent og Grenadinene - Venezuela - De britiske jomfruøyene - De amerikanske jomfruøyene - Vietnam - Vanuatu - Wallis og Futuna - Samoa - Jemen - Mayotte - Sør-Afrika - Zambia - Zimbabwe - ukjent eller ugyldig område - - - tradisjonell tysk ortografi - standardisert resisk ortografi - tysk ortografi fra 1996 - nyere mellomfransk til 1606 - eldre nyfransk - øst-armensk - vest-armensk - san giorgio- og biladialekt - boontling - det internasjonale fonetiske alfabet (IPA) - det uraliske fonetiske alfabet (UPA) - monotonisk rettskriving - natisonedialekt - gniva- og njivadialekt - oseacco- og osojanedialekt - polytonisk rettskriving - dataspråk - revidert rettskriving - resisk dialekt - saaho dialekt - skotsk standard engelsk - scouse dialekt - stolvizza- og solbicadialekt - valensisk dialekt - - - kalender - kollasjon - valuta - - - tradisjonell kinesisk sortering - Big 5 - buddhistisk kalender - kinesisk kalender - direkte sortering - forenklet kinesisk sortering - GB2312 - gregoriansk kalender - hebraisk kalender - indisk nasjonalkalender - islamsk kalender - islamsk sivil kalender - japansk kalender - telefonkatalogsortering - pinyinsortering - kalender for Republikken Kina - streksortering - tradisjonell sortering - - - amerikansk - metrisk - - - Språk: {0} - Skrift: {0} - Område: {0} - - - - lowercase-words - titlecase-firstword - titlecase-firstword - titlecase-firstword - lowercase-words - titlecase-firstword - lowercase-words - titlecase-firstword - lowercase-words - lowercase-words - - - [a à b-e é f-o ó ò ô p-z æ ø å] - [á ǎ ã č ç đ è ê í ń ñ ŋ š ŧ ü ž ä ö] - [a-z] - - - “ - ” - ‘ - ’ - - - {0}–{1} - - - - - - EEEE d. MMMM y G - - - - - d. MMMM y G - - - - - d. MMM y G - - - - - d.M yyyy - - - - - - - - - jan. - feb. - mars - apr. - mai - juni - juli - aug. - sep. - okt. - nov. - des. - - - januar - februar - mars - april - mai - juni - juli - august - september - oktober - november - desember - - - - - J - F - M - A - M - J - J - A - S - O - N - D - - - - - - - søn. - man. - tir. - ons. - tor. - fre. - lør. - - - søndag - mandag - tirsdag - onsdag - torsdag - fredag - lørdag - - - - - S - M - T - O - T - F - L - - - - - - - K1 - K2 - K3 - K4 - - - 1. kvartal - 2. kvartal - 3. kvartal - 4. kvartal - - - - - 1 - 2 - 3 - 4 - - - - AM - PM - - - f.Kr. - e.Kr. - - - f.Kr. - e.Kr. - - - - - - EEEE d. MMMM y - - - - - d. MMMM y - - - - - d. MMM y - - - - - dd.MM.yy - - - - - - - 'kl'. HH.mm.ss zzzz - - - - - HH.mm.ss z - - - - - HH.mm.ss - - - - - HH.mm - - - - - - EEE d - HH.mm.ss - HH.mm - L - E d.M - LLL - E d. MMM - E d. MMMM - d. MMMM - d. MMM - dd.MM - d.M. - d. - h.mm a - h.mm.ss a - mm.ss - y - M yyyy - EEE d.M.yyyy - MMM y - EEE d. MMM y - MMMM y - Q yyyy - QQQ y - MM.yy - MMM yy - Q yy - QQQQ yy - MMMM y - - - {0}–{1} - - M.–M. - - - E dd.MM.–E dd.MM. - E dd.MM.–E dd.MM. - - - MMM–MMM - - - E d. MMM–E d. MMM - E d.–E d. MMM - - - LLLL–LLLL - - - d. MMM–d. MMM - d.–d. MMM - - - dd.MM.–dd.MM. - dd.MM.–dd.MM. - - - d.–d. - - - HH–HH - HH–HH - - - HH.mm–HH.mm - HH.mm–HH.mm - HH.mm–HH.mm - - - HH.mm–HH.mm v - HH.mm–HH.mm v - HH.mm–HH.mm v - - - HH–HH v - HH–HH v - - - y–y - - - MM.yy–MM.yy - MM.yy–MM.yy - - - E dd.MM.yy–E dd.MM.yy - E dd.MM.yy–E dd.MM.yy - E dd.MM.yy–E dd.MM.yy - - - MMM–MMM y - MMM y–MMM y - - - E d. MMM–E d. MMM y - E d.–E d. MMM y - E d. MMM y–E d. MMM y - - - MM–MM yyyy - MM yyyy–MM yyyy - - - d. MMM–d. MMM y - d.–d. MMM y - d. MMM y–d. MMM y - - - dd.MM.yy–dd.MM.yy - dd.MM.yy–dd.MM.yy - dd.MM.yy–dd.MM.yy - - - - - - tidsalder - - - år - - - måned - - - uke - - - dag - for tre dager siden - i forgårs - i går - i dag - i morgen - i overmorgen - om tre dager - - - ukedag - - - AM/PM - - - time - - - minutt - - - sekund - - - sone - - - - - - +HH.mm;-HH.mm - GMT{0} - {0} - {1} ({0}) - - Ukjent - - - Tirana - - - Jerevan - - - Curaçao - - - Sydpolen - - - Dumont D'Urville - - - Wien - - - Brussel - - - Porto Novo - - - Cuiabá - - - Belém - - - Araguaína - - - São Paulo - - - Maceió - - - Thimpu - - - Kokosøyene - - - Zürich - - - Påskeøya - - - Bogotá - - - Kapp Verde - - - Christmasøya - - - København - - - Alger - - - Galápagos - - - Kairo - - - El Aaiún - - - Asmara - - - Kanariøyene - - - Addis Abeba - - - Pohnpei - - - Færøyene - - - Godthåb - - - Athen - - - Sør-Georgia - - - Jajapura - - - Bagdad - - - Teheran - - - Roma - - - Bisjkek - - - Komorene - - - St. Kitts - - - Caymanøyene - - - St. Lucia - - - Luxemburg - - - Ulan Bator - - - Maldivene - - - Mexico by - - - Warszawa - - - Azorene - - - Lisboa - - - Asunción - - - Réunion - - - Bucuresti - - - Moskva - - - Jekaterinburg - - - Krasnojarsk - - - Jakutsk - - - St. Helena - - - São Tomé - - - Salvador - - - Damaskus - - - Dusjanbe - - - Asjkhabad - - - Dar-es-Salaam - - - Uzjhorod - - - Zaporozje - - - Alaska - - - Center, Nord-Dakota - - - Tasjkent - - - St. Vincent - - - St. Thomas - - - - Acre-tid - Acre sommertid - - - - - sentralafrikansk tid - - - - - østafrikansk tid - - - - - sørafrikansk normaltid - - - - - vestafrikansk tid - vestafrikansk sommertid - - - - - Amazonas-tid - Amazonas sommertid - - - - - normaltid - - - CT - CDT - - - - - EDT - - - - - MST - - - - - PST - PDT - - - - - arabisk tid - arabisk standardtid - arabisk sommertid - - - AT (arabisk) - AST (arabisk) - ADT (arabisk) - - - - - AT - AST - ADT - - - - - sentralaustralsk tid - sentralaustralsk standardtid - sentralaustralsk sommertid - - - ACT - - - - - vest-sentralaustralsk tid - vest-sentralaustralsk standardtid - vest-sentralaustralsk sommertid - - - - - østaustralsk tid - østaustralsk standardtid - østaustralsk sommertid - - - AET - - - - - vestaustralsk tid - vestaustralsk standardtid - vestaustralsk sommertid - - - AWT - - - - - Brasilia-tid - Brasilia sommertid - - - - - kinesisk standardtid - - - CST (Kina) - - - - - sentraleuropeisk normaltid - sentraleuropeisk sommertid - - - CET - CEST - - - - - østeuropeisk normaltid - østeuropeisk sommertid - - - EET - EEST - - - - - vesteuropeisk tid - vesteuropeisk sommertid - - - WET - WEST - - - - - Greenwich middeltid - - - GMT - - - - - Hong Kong-tid - Hong Kong-sommertid - - - - - indisk standardtid - - - - - indokinesisk tid - - - - - sentralindonesisk tid - - - - - østindonesisk tid - - - - - vestindonesisk tid - - - - - israelsk standardtid - israelsk sommertid - - - IST (Israel) - - - - - japansk standardtid - - - - - koreansk standardtid - - - - - Moskva normaltid - Moskva sommertid - - - - - newzealandsk tid - newzealandsk standardtid - newzealandsk sommertid - - - NZT - - - - - - - , -   - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0 % - - - - - - - ¤ #,##0.00 - - - {0} {1} - {0} {1} - - - - andorranske pesetas - andorransk pesetas - - - UAE dirham - - - afghani (1927-2002) - - - afghani - AFN - - - albanske lek - albansk lek - - - armenske dram - armensk dram - - - nederlandske antillegylden - nederlandsk antillegylden - ANG - - - angolanske kwanza - angolansk kwanza - AOA - - - angolanske kwanza (1977-1990) - angolansk kwanza (1977-1990) - - - angolanske nye kwanza (1990-2000) - angolansk ny kwanza - - - angolanske kwanza reajustado (1995-1999) - angolansk kwanza reajustado (1995-1999) - - - argentinske australer - argentinsk austral - - - ARL - - - ARM - - - argentinske pesos (1983-1985) - argentinsk pesos (1983-1985) - - - argentinske pesos - argentinsk pesos - ARS - - - østerrikske shilling - østerriksk schilling - østerrikske schilling - - - australske dollar - australsk dollar - AUD - - - arubiske gylden - arubisk gylden - AWG - - - aserbajdsjanske manat (1993-2006) - aserbajdsjansk manat (1993-2006) - - - aserbajdsjanske manat - aserbajdsjansk manat - AZN - - - bosnisk-hercegovinske dinarer - bosnisk-hercegovinsk dinar - - - bosnisk-hercegovinske mark (konvertible) - bosnisk-hercegovinsk mark (konvertibel) - BAM - - - barbadiske dollar - barbadisk dollar - BBD - - - bangladeshiske taka - bangladeshisk taka - BDT - - - belgiske franc (konvertible) - belgisk franc (konvertibel) - - - belgiske franc - belgisk franc - - - belgiske franc (finansielle) - belgisk franc (finansiell) - - - bulgarske lev (hard) - bulgarsk lev (hard) - - - bulgarske lev - bulgarsk lev - - - bahrainske dinarer - bahrainsk dinar - BHD - - - burundiske franc - burundisk franc - BIF - - - bermudiske dollar - bermudisk dollar - BMD - - - bruneiske dollar - bruneisk dollar - BND - - - boliviano - BOB - - - bolivianske pesos - boliviansk pesos - BOP - - - bolivianske mvdol - BOV - - - brasilianske cruzeiro novo (1967-1986) - brasiliansk cruzeiro novo (1967-1986) - BRB - - - brasilianske cruzado - brasiliansk cruzado - BRC - - - brasilianske cruzeiro (1990-1993) - brasiliansk cruzeiro (1990-1993) - BRE - - - brasilianske realer - brasiliansk real - BRL - - - brasilianske cruzado novo - brasiliansk cruzado novo - - - brasilianske cruzeiro - brasiliansk cruzeiro - - - BRZ - - - bahamske dollar - bahamsk dollar - BSD - - - bhutanske ngultrum - bhutansk ngultrum - BTN - - - burmesiske kyat - burmesisk kyat - - - botswanske pula - botswansk pula - - - hviterussiske nye rubler (1994-1999) - hviterussisk ny rubel (1994-1999) - - - hviterussiske rubler - hviterussisk rubel - - - beliziske dollar - belizisk dollar - BZD - - - kanadiske dollar - kanadisk dollar - CAD - - - kongolesiske franc (congolais) - kongolesisk franc (congolais) - - - WIR euro - - - sveitsiske franc - sveitsisk franc - CHF - - - WIR franc - - - CLE - - - chilenske unidades de fomento - chilensk unidades de fomento - - - chilenske pesos - chilensk pesos - CLP - - - kinesiske yuan renminbi - kinesisk yuan renminbi - CNY - - - colombianske pesos - colombiansk pesos - COP - - - unidad de valor real - - - costaricanske colon - costaricansk colon - CRC - - - gamle serbiske dinarer - gammel serbisk dinar - gamle serbiske dinarer - - - tsjekkoslovakiske koruna (hard) - tsjekkoslovakisk koruna (hard) - - - CUC - - - kubanske pesos - kubansk pesos - CUP - - - kappverdiske escudo - kappverdisk escudo - kappverdiske escudos - CVE - - - kypriotiske pund - kypriotisk pund - CYP - - - tsjekkiske koruna - tsjekkisk koruna - CZK - - - østtyske ostmark - østtysk ostmark - - - tyske mark - tysk mark - - - djiboutiske franc - djiboutisk franc - DJF - - - danske kroner - dansk krone - danske kroner - DKK - - - dominikanske pesos - dominikansk pesos - dominikanske pesos - DOP - - - algeriske dinarer - algerisk dinar - algeriske dinarer - DZD - - - ecuadorianske sucre - ecuadoriansk sucre - ecuadorianske sucre - - - ecuadorianske unidad de valor constante (UVC) - ecuadoriansk unidad de valor constante (UVC) - - - estiske kroon - estisk kroon - EEK - - - egyptiske pund - egyptisk pund - EGP - - - eritreiske nakfa - eritreisk nakfa - ERN - - - spanske peseta (A-konto) - spansk peseta (A-konto) - - - spanske peseta (konvertibel konto) - spansk peseta (konvertibel konto) - - - spanske peseta - spansk peseta - - - etiopiske birr - etiopisk birr - ETB - - - euro - EUR - - - finske mark - finsk mark - - - fijianske dollar - fijiansk dollar - FJD - - - Falkland-pund - FKP - - - franske franc - fransk franc - - - britiske pund sterling - britisk pund sterling - GBP - - - georgiske kupon larit - georgisk kupon larit - - - georgiske lari - georgisk lari - - - ghanesisk cedi (1979-2007) - ghanesisk cedi (GHC) - ghanesiske cedi (GHC) - GHC - - - ghanesisk cedi - ghanesisk cedi - ghanesiske cedi - GHS - - - gibraltarske pund - gibraltarsk pund - GIP - - - gambiske dalasi - gambisk dalasi - - - guineanske franc - guineansk franc - GNF - - - guineanske syli - guineansk syli - - - ekvatorialguineanske ekwele guineana - ekvatorialguineansk ekwele guineana - - - greske drakmer - gresk drakme - - - guatemalanske quetzal - guatemalansk quetzal - - - portugisiske guinea escudo - portugisisk guinea escudo - - - Guinea-Bissau-pesos - - - guyanske dollar - guyansk dollar - - - Hongkong-dollar - - - Hoduras Lempira - - - kroatiske dinarer - kroatisk dinar - - - kroatiske kuna - kroatisk kuna - - - haitiske gourde - haitisk gourde - - - ungarske forinter - ungarsk forint - - - indonesiske rupier - indonesisk rupi - - - irske pund - irsk pund - IEP - - - israelske pund - israelsk pund - - - israelsk gammel shekel - israelsk gammel shekel - israelske gamle shekler - - - israelske nye shekler - israelsk ny shekel - - - indiske rupier - indisk rupi - INR - - - irakske dinarer - iraksk dinar - - - iranske rialer - iransk rial - - - gammel islandsk krone - gammel islandsk krone - gamle islandske kroner - - - islandske kroner - islandsk krone - - - italienske lire - italiensk lire - ITL - - - jamaikanske dollar - jamaikansk dollar - - - jordanske dinarer - jordansk dinar - JOD - - - japanske yen - japansk yen - JPY - - - kenyanske shilling - kenyansk shilling - - - kirgisiske som - kirgisisk som - - - kambodsjanske riel - kambodsjansk riel - - - komoriske franc - komorisk franc - - - nordkoreanske won - nordkoreansk won - - - sørkoreanske won - sørkoreansk won - - - kuwaitiske dinarer - kuwaitisk dinar - - - caymanske dollar - caymansk dollar - - - kasakhstanske tenge - kasakhstansk tenge - - - laotiske kip - laotisk kip - - - libanesiske pund - libanesisk pund - - - srilankiske rupier - srilankisk rupi - LKR - - - liberiske dollar - liberisk dollar - - - lesothiske loti - lesothisk loti - - - litauiske lita - litauisk lita - LTL - - - litauiske talonas - litauisk talonas - - - luxemburgske konvertible franc - luxemburgsk konvertibel franc - - - luxemburgske franc - luxemburgsk franc - - - luxemburgske finansielle franc - luxemburgsk finansiell franc - - - latviske lats - latvisk lats - - - latviske rubler - latvisk rubel - - - libyske dinarer - libysk dinar - LYD - - - marokkanske dirham - marokkansk dirham - - - marokkanske franc - marokkansk franc - - - moldovske leu - moldovsk leu - - - madagassiske ariary - madagassisk ariary - - - madagassiske franc - madagassisk franc - - - makedonske denarer - makedonsk denar - - - maliske franc - malisk franc - - - myanmarske kyat - myanmarsk kyat - - - mongolske tugrik - mongolsk tugrik - MNT - - - makaoske pataca - makaosk pataca - - - mauritanske ouguiya - mauritansk ouguiya - - - maltesiske lira - maltesisk lira - - - maltesiske pund - maltesisk pund - MTP - - - mauritiske rupier - mauritisk rupi - - - maldiviske rufiyaa - maldivisk rufiyaa - - - malawiske kwacha - malawisk kwacha - - - meksikanske pesos - meksikansk pesos - - - meksikanske sølvpesos (1861-1992) - meksikansk sølvpesos (MXP) - meksikanske sølvpesos (MXP) - MXP - - - meksikanske unidad de inversion (UDI) - meksikansk unidad de inversion (UDI) - - - malaysiske ringgit - malaysisk ringgit - - - mosambikiske escudo - mosambikisk escudo - - - gamle mosambikiske metical - gammel mosambikisk metical - - - mosambikiske metical - mosambikisk metical - - - namibiske dollar - namibisk dollar - NAD - - - nigerianske naira - nigeriansk naira - - - nicaraguanske cordoba - nicaraguansk cordoba - - - nicaraguanske cordoba oro - nicaraguansk cordoba oro - - - nederlandske gylden - nederlandsk gylden - NLG - - - norske kroner - norsk krone - kr - - - nepalske rupier - nepalsk rupi - NPR - - - new zealandske dollar - new zealandsk dollar - - - omanske rialer - omansk rial - - - panamanske balboa - panamansk balboa - - - peruvianske inti - peruviansk inti - PEI - - - peruvianske nye sol - peruviansk ny sol - - - peruvianske sol - peruviansk sol - - - papuanske kina - papuansk kina - - - filippinske pesos - filippinsk pesos - - - pakistanske rupier - pakistansk rupi - PKR - - - polske zloty - polsk zloty - - - polske zloty (1950-1995) - polsk zloty (PLZ) - polske zloty (PLZ) - - - portugisiske escudo - portugisisk escudo - PTE - - - paraguayanske guarani - paraguayansk guarani - - - qatarske rialer - qatarsk rial - - - rhodesiske dollar - rhodesisk dollar - RHD - - - gamle rumenske leu - gammel rumensk leu - - - rumenske leu - rumensk leu - - - serbiske dinarer - serbisk dinar - - - russiske rubler - russisk rubel - - - russiske rubler (1991-1998) - russisk rubel (RUR) - russiske rubler (RUR) - - - rwandiske franc - rwandisk franc - RWF - - - saudiarabiske riyaler - saudiarabisk riyal - SAR - - - salomonske dollar - salomonsk dollar - - - seychelliske rupier - seychellisk rupi - - - sudanesiske dinarer - sudansk dinar - sudanske dinarer - - - sudanske pund - sudansk pund - - - sudanesiske pund - gammelt sudansk pund - gamle sudanske pund - - - svenske kroner - svensk krone - SEK - - - singaporske dollar - singaporsk dollar - - - sankthelenske pund - sankthelensk pund - - - slovenske tolar - slovensk tolar - - - slovakiske koruna - slovakisk koruna - - - sierraleonske leone - sierraleonsk leone - sierraleonske leone - - - somaliske shilling - somalisk shilling - - - surinamske dollar - surinamsk dollar - - - surinamske gylden - surinamsk gylden - - - Sao Tome og Principe-dobra - - - sovjetiske rubler - sovjetisk rubel - - - salvadoranske colon - salvadoransk colon - - - syriske pund - syrisk pund - SYP - - - swazilandske lilangeni - swazilandsk lilangeni - - - thailandske baht - thailandsk baht - THB - - - tadsjikiske rubler - tadsjikisk rubel - - - tadsjikiske somoni - tadsjikisk somoni - - - turkmenske manat - turkmensk manat - - - tunisiske dinarer - tunisisk dinar - - - tonganske paʻanga - tongansk paʻanga - - - timoresiske escudo - timoresisk escudo - - - tyrkiske lire - tyrkisk lire - tyrkiske lire - - - ny tyrkisk lire - ny tyrkisk lire - nye tyrkiske lire - - - trinidadiske dollar - trinidadisk dollar - - - taiwanske nye dollar - taiwansk ny dollar - - - tanzanianske shilling - tanzaniansk shilling - - - ukrainske hryvnia - ukrainsk hryvnia - - - ukrainske karbovanetz - ukrainsk karbovanetz - - - ugandiske shilling (1966-1987) - ugandisk shilling (UGS) - - - ugandiske shilling - ugandisk shilling - - - amerikanske dollar - amerikansk dollar - USD - - - amerikanske dollar (neste dag) - amerikansk dollar (neste dag) - - - amerikanske dollar (samme dag) - amerikansk dollar (samme dag) - - - Uruguayan Peso en Unidades Indexadas - - - uruguayanske pesos (1975-1993) - uruguayansk pesos (UYP) - uruguayanske pesos (UYP) - - - uruguayanske peso uruguayo - uruguayansk peso uruguayo - - - usbekiske sum - usbekisk sum - - - venezuelanske bolivar - venezuelansk bolivar - - - venezuelanske bolivar fuerte - venezuelansk bolivar fuerte - - - vietnamesiske dong - vietnamesisk dong - - - vanuatiske vatu - vanuatisk vatu - - - vestsamoiske tala - vestsamoisk tala - - - CFA franc BEAC - - - sølv - - - gull - - - europeisk sammensatt enhet - europeiske sammensatte enheter - - - europeisk monetær enhet - europeiske monetære enheter - - - europeisk kontoenhet (XBC) - europeiske kontoenheter - - - europeisk kontoenhet (XBD) - europeiske kontoenheter (XBD) - - - østkaribiske dollar - østkaribisk dollar - XCD - - - spesielle trekkrettigheter - spesiell trekkrettighet - - - europeisk valutaenhet - europeiske valutaenheter - - - franske gullfranc - fransk gullfranc - - - franske UIC-franc - fransk UIC-franc - - - CFA franc BCEAO - - - palladium - - - CFP franc - - - platina - - - RINET-fond - - - testvalutakode - testvaluta - testvaluta - - - ukjent eller ugyldig valuta - ukjent eller ugyldig valuta - ukjent eller ugyldig valuta - - - jemenittiske dinarer - jemenittisk dinar - - - jemenittiske rialer - jemenittisk rial - - - jugoslaviske dinarer (hard) - jugoslavisk dinar (hard) - - - jugoslaviske noviy-dinarer - jugoslavisk noviy-dinar - - - jugoslaviske konvertible dinarer - jugoslavisk konvertibel dinar - - - sørafrikanske rand (finansielle) - sørafrikansk rand (finansiell) - - - sørafrikanske rand - sørafrikansk rand - - - zambiske kwacha - zambisk kwacha - - - zairiske nye zaire - zairisk ny zaire - ZRN - - - zairiske zaire - zairisk zaire - - - zimbabwiske dollar - zimbabwisk dollar - - - - - - {0} dag - {0} dager - - - {0} time - {0} timer - - - {0} minutt - {0} minutter - - - {0} måned - {0} måneder - - - {0} sekund - {0} sekunder - - - {0} uke - {0} uker - - - {0} år - {0} år - - - - - ja - nei - - - diff --git a/lib/zend/Zend/Locale/Data/nb_NO.xml b/lib/zend/Zend/Locale/Data/nb_NO.xml deleted file mode 100644 index 9ccbefd648..0000000000 --- a/lib/zend/Zend/Locale/Data/nb_NO.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/nds.xml b/lib/zend/Zend/Locale/Data/nds.xml deleted file mode 100644 index 44a7c84fb7..0000000000 --- a/lib/zend/Zend/Locale/Data/nds.xml +++ /dev/null @@ -1,1149 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - Afar - Abchaasch - Aceh - Acholi - Adangme - Adygeisch - Avestsch - Afrikaansch - Afro-Asiaatsche Spraken - Afrihili - Ainu - Akan - Akkadsch - Aleutsch - Algonkin-Spraken - Süüd-Altaisch - Amhaarsch - Aragoneesch - Ooldengelsch - Angika - Apache - Araabsch - Aramääsch - Araukaansch - Arapaho - Kunstspraken - Arawak-Spraken - Assameesch - Asturiaansch - Athabasksche Spraken - Austraalsche Spraken - Awaarsch - Awadhi - Aymara - Aserbaidschaansch - Baschkiersch - Banda - Bamileke - Belutschisch - Balineesch - Basaa - Baltsche Spraken - Wittruss’sch - Bedscha - Bemba - Berberspraken - Bulgaarsch - Bihaarsch - Bhodschpuri - Bislama - Bikol - Bini - Siksika - Bambara - Bengaalsch - Bantuspraken - Tibeetsch - Bretoonsch - Braj-Bhakha - Bosnisch - Batak - Burjaatsch - Bugineesch - Blin - Katalaansch - Caddo - Indianerspraken in Zentralamerika - Kariebsche Spraken - Kaukaasche Spraken - Atsam - Tschetscheensch - Cebuano - Keltsche Spraken - Chamorro - Chibcha-Spraken - Tschagataisch - Trukeesch - Mari - Chinook - Choctaw - Chipewyan - Cherokee - Cheyenne - Cham-Spraken - Koorsch - Koptsch - Kreoolsch-Engelsche Spraken - Kreoolsch-Franzöösche Spraken - Kreoolsch-Portugeesche Spraken - Cree - Krimtataarsch - Kreoolsche Spraken - Tschech’sch - Kaschuubsch - Karkenslaavsch - Kuschietsche Spraken - Tschuwasch’sch - Waliesch - Däänsch - Dakota - Dargiensch - Dajak - Düütsch - Öösterrieksch Hoochdüütsch - Swiezer Hoochdüütsch - Delaware - Slave - Dogrib - Dinka - Dogri - Drawiedsche Spraken - Neddersorbsch - Duala - Middelnedderlandsch - Maledievsch - Dyula - Bhutaansch - Ewe - Efik - Ägyptsch - Ekajuk - Greeksch - Elaamsch - Engelsch - Austraalsch Engelsch - Kanaadsch Engelsch - Brietsch Engelsch - Amerikaansch Engelsch - Middelengelsch - Esperanto - Spaansch - Latienamerikaansch Spaansch - Ibeersch Spaansch - Eestnisch - Basksch - Ewondo - Pers’sch - Pangwe - Fanti - Ful - Finnsch - Philippiensch - Finnougrische Spraken - Fidschiaansch - Färöösch - Fon - Franzöösch - Kanaadsch Franzöösch - Swiezer Franzöösch - Middelfranzöösch - Ooldfranzöösch - Noordfreesch - Saterfreesch - Friuulsch - Westfreesch - Iersch - Ga - Gayo - Gbaya - Schottsch Gäälsch - Germaansche Spraken - Geez - Gilberteesch - Galizisch - Middelhoochdüütsch - Guarani - Ooldhoochdüütsch - Gondi - Gorontalo - Gootsch - Grebo - Ooldgreeksch - Swiezerdüütsch - Gujarati - Manx - Kutchin - Haussa - Haida - Hawaiiaansch - Hebrääsch - Hindi - Hiligaynon - Himachali - Hethitsch - Miao-Spraken - Hiri-Motu - Kroaatsch - Böversorbsch - Haitiaansch-Kreoolsch - Ungaarsch - Hupa - Armeensch - Herero - Interlingua - Iban - Indoneesch - Interlingue - Igbo - Sichuan Yi - Ijo - Inupiak - Ilokano - Indoarische Spraken - Indogermaansche Spraken - Ingusch’sch - Ido - Iraansche Spraken - Irokeesche Spraken - Ieslandsch - Italieensch - Inuktitut - Japaansch - Lojban - Jöödsch-Pers’sch - Jöödsch-Araabsch - Javaansch - Georgsch - Karakalpaksch - Kabyylsch - Kachin - Jju - Kamba - Kareensch - Kawi - Kabardiensch - Tyap - Koro - Kongo - Khasi - Khoisan-Spraken - Saaksch - Kikuyu - Kwanyama - Kasach’sch - Gröönlandsch - Kambodschaansch - Kimbundu - Kannada - Koreaansch - Konkani - Kosraeaansch - Kpelle - Kanuursch - Karatschaisch-Balkaarsch - Kareelsch - Kru-Spraken - Oraon - Kaschmiersch - Kurdsch - Kumücksch - Kutenai - Komi - Koornsch - Kirgiesch - Latiensch - Ladiensch - Lahnda - Lamba - Luxemborgsch - Lesgisch - Ganda - Limborgsch - Lingala - Laootsch - Mongo - Rotse - Litausch - Luba - Luba-Lulua - Luiseno - Lunda - Luo - Lushai - Lettsch - Madureesch - Magahi - Maithili - Makassarsch - Manding - Austroneesche Spraken - Massai - Mokscha - Mandareesch - Mende - Madagassisch - Middeliersch - Marschalleesch - Maori - Micmac - Minangkabau - Verschedene Spraken - Mazedoonsch - Mon-Khmer-Spraken - Malayalam - Mongoolsch - Mandschuursch - Manipuri - Manobo - Moldaawsch - Mohawk - Mossi - Marathi - Malaisch - Malteesch - Mehrsprakig - Munda-Spraken - Muskogee-Spraken - Mirandeesch - Marwari - Birmaansch - Maya-Spraken - Erzya - Nauruusch - Nahuatl - Indianerspraken in Noordamerika - Neapolitaansch - Norweegsch Bokmål - Noord-Ndebele - Plattdüütsch - Nepaleesch - Newari - Ndonga - Nias - Nigerkordofaansche Spraken - Niue - Nedderlandsch - Fläämsch - Norweegsch Nynorsk - Norweegsch - Nogai - Ooldnoorsch - N’Ko - Süüd-Ndebele - Noord-Sotho - Nuubsche Spraken - Navajo - Oold-Newari - Nyanja - Nyamwezi - Nyankole - Nyoro - Nzima - Okzitaansch - Ojibwa - Oromo - Orija - Ossetsch - Osage - Osmaansch - Otomangue-Spraken - Pandschabsch - Papuaspraken - Pangasinan - Middelpers’sch - Pampanggan - Papiamento - Palausch - Ooldpers’sch - Philippinen-Austroneesche Spraken - Phönieksch - Pali - Poolsch - Ponapeaansch - Prakrit - Ooldprovenzaalsch - Paschtu - Portugeesch - Brasiliaansch Portugeesch - Ibeersch Portugeesch - Quechua - Rajasthani - Oosterinsel-Spraak - Rarotongaansch - Rätoromaansch - Rundi - Rumäänsch - Romaansche Spraken - Romani - Wortel - Russ’sch - Aromuunsch - Ruandsch - Sanskrit - Sandawe - Jakuutsch - Indianerspraken in Süüdamerika - Salish - Samaritaansch - Sasak - Santali - Sardsch - Siziliaansch - Schottsch - Sindhi - Noord-Saamsch - Selkupsch - Semietsche Spraken - Sango - Oold-Iersch - Tekenspraken - Schan - Singhaleesch - Sidamo - Sioux-Spraken - Sinotibeetsche Spraken - Slowaaksch - Sloweensch - Slaavsche Spraken - Samoaansch - Süüd-Lappsch - Lappsch - Lule-Lappsch - Inari-Lappsch - Skolt-Lappsch - Schona - Soninke - Somaalsch - Sogdisch - Songhai - Albaansch - Serbsch - Surinaamsch - Serer - Swazi - Nilosaharaansche Spraken - Süüd-Sotho - Sundaneesch - Sukuma - Susu - Sumersch - Sweedsch - Suaheli - Oold-Syyrsch - Syyrsch - Tamilsch - Thaispraken - Telugu - Temne - Tereno - Tetum - Tadschiksch - Thai - Tigrinja - Tigre - Tiv - Turkmeensch - Tokelausch - Tagalog - Klingoonsch - Tlingit - Tamaschek - Tswana - Tongaasch - Tonga (Nyasa) - Tok Pisin - Törksch - Tsonga - Tsimshian - Tataarsch - Tumbuka - Tupi-Spraken - Altaische Spraken - Elliceaansch - Twi - Tahitsch - Tuwinsch - Udmurtsch - Uiguursch - Ugaritsch - Ukrainsch - Mbundu - Unbestimmte Spraak - Urdu - Usbeeksch - Vai - Venda - Vietnameesch - Volapük - Wootsch - Walloonsch - Wakashaansch - Walamo - Waray - Washo - Sorbsch - Wolof - Kalmücksch - Xhosa - Yao - Yapeesch - Jiddisch - Yoruba - Yupik - Zhuang - Zapoteeksch - Bliss-Symbolen - Zenaga - Chineesch - Vereenfacht Chineesch - Traditschonell Chineesch - Zande - Zulu - Zuni - Keen Spraakinhold - Zaza - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Welt - Afrika - Noordamerika - Süüdamerika - Ozeanien - Westafrika - Middelamerika - Oostafrika - Noordafrika - Zentralafrika - Süüdlich Afrika - Amerika - Karibik - Oostasien - Süüdasien - Süüdoostasien - Süüdeuropa - Australien un Neeseeland - Melanesien - Polynesien - Süüd-Zentralasien - Asien - Zentralasien - Westasien - Europa - Oosteuropa - Noordeuropa - Westeuropa - Gemeenschop vun Unafhängige Staten - Latienamerika un Karibik - Andorra - Vereenigte Araabsche Emiraten - Afghanistan - Antigua un Barbuda - Anguilla - Albanien - Armenien - Nedderlandsche Antillen - Angola - Antarktis - Argentinien - Amerikaansch-Samoa - Öösterriek - Australien - Aruba - Ålandeilannen - Aserbaidschan - Bosnien un Herzegowina - Barbados - Bangladesch - Belgien - Burkina Faso - Bulgarien - Bahrain - Burundi - Benin - Saint Barthélemy - Bermuda - Brunei Darussalam - Bolivien - Brasilien - Bahamas - Bhutan - Bouvet-Eiland - Botswana - Wittrussland - Belize - Kanada - Kokos-Eilannen - Demokraatsche Republik Kongo - Zentralafrikaansche Republik - Republik Kongo - Swiez - Elfenbeenküst - Cook-Eilannen - Chile - Kamerun - China - Kolumbien - Costa Rica - Kuba - Kap Verde - Wiehnachtseiland - Zypern - Tschechien - Düütschland - Dschibuti - Däänmark - Dominica - Dominikaansche Republik - Algerien - Ecuador - Eestland - Ägypten - Westsahara - Eritrea - Spanien - Äthiopien - Finnland - Fidschi - Falkland-Eilannen - Mikronesien - Färöer - Frankriek - Gabun - Vereenigt Königriek - Grenada - Georgien - Franzöösch-Guayana - Guernsey - Ghana - Gibraltar - Gröönland - Gambia - Guinea - Guadeloupe - Äquatorialguinea - Grekenland - Süüdgeorgien un de Südlichen Sandwich-Eilannen - Guatemala - Guam - Guinea-Bissau - Guyana - Sünnerverwaltensrebeed Hongkong - Heard- un McDonald-Eilannen - Honduras - Kroatien - Haiti - Ungarn - Indonesien - Irland - Israel - Insel Man - Indien - Britisch Rebeed in’n Indischen Ozean - Irak - Iran - Iesland - Italien - Jersey - Jamaika - Jordanien - Japan - Kenia - Kirgisistan - Kambodscha - Kiribati - Komoren - St. Kitts un Nevis - Noordkorea - Süüdkorea - Kuwait - Kaiman-Eilannen - Kasachstan - Laos - Libanon - St. Lucia - Liechtensteen - Sri Lanka - Liberia - Lesotho - Litauen - Luxemborg - Lettland - Libyen - Marokko - Monaco - Moldawien - Montenegro - Saint Martin - Madagaskar - Marshall-Eilannen - Makedonien - Mali - Birma - Mongolei - Sünnerverwaltensrebeed Macao - Nöördliche Marianen - Martinique - Mauretanien - Montserrat - Malta - Mauritius - Malediven - Malawi - Mexiko - Malaysia - Mosambik - Namibia - Neekaledonien - Niger - Norfolk - Nigeria - Nikaragua - Nedderlannen - Norwegen - Nepal - Nauru - Niue - Neeseeland - Oman - Panama - Peru - Franzöösch-Polynesien - Papua-Neeguinea - Philippinen - Pakistan - Polen - St. Pierre un Miquelon - Pitcairn - Puerto Rico - Palästinensische Rebeden - Portugal - Palau - Paraguay - Katar - Büter Ozeanien - Europääsche Union - Reunion - Rumänien - Serbien - Russland - Ruanda - Saudi-Arabien - Salomonen - Seychellen - Sudan - Sweden - Singapur - St. Helena - Slowenien - Svalbard un Jan Mayen - Slowakei - Sierra Leone - San Marino - Senegal - Somalia - Surinam - São Tomé un Príncipe - El Salvador - Syrien - Swasiland - Turks- un Caicosinseln - Tschad - Franzöösche Süüd- un Antarktisrebeden - Togo - Thailand - Tadschikistan - Tokelau - Oosttimor - Turkmenistan - Tunesien - Tonga - Törkie - Trinidad un Tobago - Tuvalu - Taiwan - Tansania - Ukraine - Uganda - Amerikaansch-Ozeanien - USA - Uruguay - Usbekistan - Vatikan - St. Vincent un de Grenadinen - Venezuela - Brietsche Jumfern-Eilannen - Amerikaansche Jumfern-Eilannen - Vietnam - Vanuatu - Wallis un Futuna - Samoa - Jemen - Mayotte - Süüdafrika - Sambia - Simbabwe - Unbekannte oder ungüllige Region - - - Ole düütsche Rechtschrievung - Standardiseert Resiaansch Rechtschrievung - Ne’e düütsche Rechtschrievung - Laat Middelfranzöösch bet 1606 - Fröh Neefranzöösch - Oostarmeensch - Westarmeensch - Vereenheitlicht Törksch Latienalphabet - San Giorgio-/Bila-Dialekt - Boontling - Phoneetsch (IPA) - Phoneetsch (UPA) - Lipovaz-Dialekt vun dat Resiaansche - Monotoonsch - Natisone-Dialekt - Gniva-/Njiva-Dialekt - Oseacco-/Osojane-Dialekt - Polytoonsch - Computer - Överarbeidt Rechtschrievung - Resiaansch - Saho - Schottsch Standard-Engelsch - Scouse - Stolvizza-/Solbica-Dialekt - Taraskievica-Rechtschrievung - Valenziaansch - - - Klenner - Bookstaven-Folgreeg - Geldteken - - - Traditschonell Chineesch Sorteerregeln - Big5 - Buddhistisch Klenner - Chineesch Klenner - Direkte Sorteerregeln - Vereenfacht Chineesch Sorteerregeln - GB2312 - Gregoriaansch Klenner - Hebrääsch Klenner - Indsch Nationalklenner - Islaamsch Klenner - Islaamsch Zivilklenner - Japaansch Klenner - Telefonbook-Sorteerregeln - Pinyin-Sorteerregeln - Klenner vun de Republik China - Streekfolg - Traditschonelle Sorteerregeln - - - US-amerikaansch - Metrisch - - - Spraak: {0} - Schrift: {0} - Region: {0} - - - - [a å ä b-o ö p-s ß t u ü v-z] - [á à ă â ā æ ç é è ĕ ê ë ę ē í ì ĭ î ï ī ñ ó ò ŏ ô ø ō œ ú ù ŭ û ū ÿ] - - - „ - “ - ‚ - ‘ - - - - {1} ({0}) - - Unbekannt - - - Süüdpool - - - Wostok - - - Dumont d’Urville - - - Kanaren - - - Ulanbator - - - Mexiko-Stadt - - - Azoren - - - Moskau - - - Wolgograd - - - Jekaterinborg - - - Nowosibirsk - - - Krasnojarsk - - - Jakutsk - - - Wladiwostok - - - Sachalin - - - Kamschatka - - - Uschgorod - - - Saporoschje - - - New Salem, Noord-Dakota - - - Center, Noord-Dakota - - - - - - , - . - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0 % - - - - - - - #,##0.00 ¤ - - - {0} {1} - - - - - {0} Daag - - - {0} Stünnen - - - {0} Minuten - - - {0} Maanden - - - {0} Sekunnen - - - {0} Weken - - - {0} Johren - - - - - jo:j - nee:n - - - - diff --git a/lib/zend/Zend/Locale/Data/nds_DE.xml b/lib/zend/Zend/Locale/Data/nds_DE.xml deleted file mode 100644 index 8c913f604b..0000000000 --- a/lib/zend/Zend/Locale/Data/nds_DE.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ne.xml b/lib/zend/Zend/Locale/Data/ne.xml deleted file mode 100644 index fc399061c7..0000000000 --- a/lib/zend/Zend/Locale/Data/ne.xml +++ /dev/null @@ -1,1383 +0,0 @@ - - - - - - - - - - - अफ्रिकाली - अम्हारिक - अरबी - आसामी - अजरबैजानी - बेलारुसियाली - बुल्गेरियाली - बिहारी - बंगाली - बोस्नियाली - क्याटालन - चेकोस्लोभाकियाली - वेल्श - ड्यानिश - जर्मन - ग्रीक - अँग्रेजी - एस्पेरान्तो - स्प्यानिश - इस्टोनियाली - बास्क - फारसी - फिनिश - फिलिपिनी - फारोइज - फ्रांसेली - फ्रिजीयन - आइरिश - स्कट्स गाएलिक - गलिसियाली - गुजराती - हिब्रु - हिन्दी - क्रोएसियाली - हंग्रीयाली - इन्टर्लिङ्गुआ - इन्डोनेसियाली - अन्तरभाषी - आइसल्यान्डिक - इटालियन - जापानी - जाभानिज - जोरजियन - कम्बोडीयाली - कन्नाडा - कोरियाली - कुर्दिश - ल्याटिन - लिंगाला - लाओ - लिथुआनियाली - लात्भियाली - म्याकेडोनियन - मलयालम - मंगोल - मराठी - मलाया - माल्टिज - नेपाली - डच - नर्वेजियाली - अक्सिटन - ओरिया - पंजाबी - पोलिश - पाश्तो - पोर्तुगाली - पर्तुगाली (ब्राजिल्याली) - आइबेरी, पर्तुगाली - रोमानियाली - रसियाली - संस्कृत - सिन्हाली - स्लोभाकियाली - स्लोभेनियाली - सोमाली - अल्बेनियन - सर्बियाली - सुडानी - स्विडिश - स्वाहिली - तामिल - तेलुगु - थाई - तिग्रीन्या - क्लिङ्गन - टर्की - युक्रेनी - उर्दु - उज़्बेक - भियतनामी - झोसा - यिद्दिस - चिनियाँ - सरलिकृत चिनियाँ - परम्परागत चिनियाँ - जुलू - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - विश्व - अफ्रिका - उत्तर अमेरिका - दक्षिण अमेरिका - ओसनिया - पश्चिमी अफ्रिका - केन्द्रीय अमेरिका - पूर्वी अफ्रिका - उत्तरी अफ्रिका - मध्य अफ्रिका - दक्षिणी अफ्रिका - अमेरिकास - उत्तरी अमेरिका - क्यारिबिएन - पूर्वी एशिया - दक्षिणी एशिया - दक्षिण पूर्वी एशिया - दक्षिणी युरोप - अष्ट्रेलिया र न्युजिल्याण्ड - मेलानेसिया - माइक्रोनेसियाली क्षेत्र - पोलिनेशिया - दक्षिण मध्य एशिया - एशिया - केन्द्रीय एशिया - पश्चिमी एशिया - युरोप - पूर्वी युरोप - उत्तरी युरोप - पश्चिमी युरोप - कमनवेल्थका स्वतन्त्र राज्यहरू - ल्याटिन अमेरिका तथा क्यारिबियन - अन्डोर्रा - संयुक्त अरब इमिराट्स - अफ्गानिष्तान - एन्टिगुआ र बारबुडा - आङ्गुइला - अल्बानिया - आर्मेनिया - नेदरल्याण्ड्स एण्टिलिस - अङ्गोला - अन्टारतिका - अर्जेण्टिना - अमेरिकी समोआ - अष्ट्रिया - अष्ट्रेलिया - आरूबा - अलान्ड टापु - अजरबैजान - बोस्निया र हर्जगोभिनिया - बार्बाडोस - बङ्गलादेश - बेल्जियम - बर्किना फासो - बल्गेरिया - बाह्रेन - बुरूण्डी - बेनिन - सेन्ट बार्थालेमी - बर्मुडा - ब्रुनाइ - बोलिभिया - ब्राजिल - बहामास - भुटान - बुभेट टापु - बोट्स्वाना - बेलारूस - बेलिज - क्यानाडा - कोकोस टापु - कोङ्गो-किन्शासा - केन्द्रीय अफ्रिकी गणतन्त्र - कोङ्गो - ब्राज्जाभिल्ले - स्विजरल्याण्ड - आइभोरी कोष्ट - कुक टापु - चिली - क्यामेरून - चीन - कोलोम्बिया - कोष्टारिका - क्युबा - केप भर्डे - क्रिष्टमस टापु - साइप्रस - चेख गणतन्त्र - जर्मनी - डिजिबुटी - डेन्मार्क - डोमिनिका - डोमिनिकन गणतन्त्र - अल्जेरिया - इक्वडेर - इस्टोनिया - इजिप्ट - पश्चिमी साहारा - एरित्रिया - स्पेन - इथोपिया - फिन्ल्याण्ड - फिजी - फकल्याण्ड टापु - माइक्रोनेसिया - फारोर टापु - फ्रान्स - गावोन - संयुक्त अधिराज्य - ग्रेनाडा - जोर्जिया - फ्रान्सेली गायना - गुएर्नसे - घाना - जिब्राल्टार - ग्रिनल्याण्ड - गाम्विया - गिनी - ग्वाडेलुप - भू-मध्यीय गिनी - ग्रिश - ग्वाटेमाला - गुवाम - गिनी-बिसाउ - गुयाना - हङकङ चिनिँया समाजवादी स्वायत्त क्षेत्र - हर्ड टापु र म्याकडोनाल्ड टापु - हन्डुरास - क्रोएशिया - हैटी - हङ्गेरी - इन्डोनेशिया - आइरल्याण्ड - इज्रायल - आइज्ले अफ् म्यान - भारत - बेलायती हिन्द महासागर क्षेत्र - इराक - इरान - आइस्ल्याण्ड - इटाली - जर्सी - जमाइका - जोर्डन - जापान - केन्या - किर्गिस्थान - कम्बोडिया - किरिबाटी - कोमोरोस - सेन्ट किट्स र नेभिस - उत्तर कोरिया - दक्षिण कोरिया - कुवेत - केयमान टापु - काजाकस्थान - लाओस - लेबनोन - सेन्ट लुसिया - लिएखटेन्स्टाइन - श्रीलङ्का - लाइबेरिया - लेसोथो - लिथुअनिया - लक्जेमबर्ग - लाट्भिया - लिबिया - मोरोक्को - मोनाको - माल्डोभा - मोन्टेनेग्रो - सेन्ट मार्टिन - मडागास्कर - मार्शल टापु - म्याकेडोनिया - माली - म्यान्मार - मङ्गोलिया - मकावो चिनिँया स्वशासित क्षेत्र - उत्तरी मारिआना टापु - मार्टिनिक - माउरिटानिया - मोन्टसेर्राट - माल्टा - माउरिटस - माल्दिभ्स - मालावी - मेक्सिको - मलेसिया - मोजाम्बिक - नामिबिया - नयाँ कालेडोनिया - नाइजर - नोरफोल्क टापु - नाइजेरिया - निकारागुवा - नेदरल्याण्ड्स - नर्वे - नेपाल - नाउरू - नियुइ - न्युजिल्याण्ड - ओमन - पनामा - पेरू - फ्रान्सेली पोलिनेसिया - पपुआ न्यू गाइनिया - फिलिपिन्स - पाकिस्तान - पोल्याण्ड - सेन्ट पिर्रे र मिक्केलोन - पिटकाइर्न - प्युर्टोरिको - प्यालेस्टनी भू-भाग - पोर्तुगल - पलाउ - प्यारागुये - कटार - बाह्य ओसनिया - युरोपियन युनियन - रियुनियन - रोमानिया - सर्बिया - रूस - रवाण्डा - साउदी अरब - सोलोमोन टापु - सेचेलेस - सुडान - स्विडेन - सिङ्गापुर - सेन्ट हेलेना - स्लोभेनिया - सभाल्बार्ड र जान मायेन - स्लोभाकिया - सिएर्रा लिओन - सान् मारिनो - सेनेगाल - सोमालिया - सुरिनेम - साओ टोमे र प्रिन्सिप - एल् साल्भाडोर - सिरिया - स्वाजिल्याण्ड - तुर्क र काइकोस टापु - चाड - फ्रान्सेली दक्षिणी क्षेत्र - टोगो - थाइल्याण्ड - ताजिकिस्तान - तोगो - पूर्वी टिमोर - तुर्कमेनिस्तान - टुनिसिया - टोंगा - टर्की - त्रिनिडाड र तोबागो - तुभालु - ताइवान - तान्जानिया - युक्रेन - युगाण्डा - संयुक्त राज्य अल्प बाह्य टापु - संयुक्त राज्य - युरूगुए - उज्बेकिस्तान - भेटिकन - सेन्ट भिन्सेन्ट र ग्रेनाडिन्स - भेनेजुएला - बेलायती भर्जिन टापु - संयुक्त राज्य भर्जिन टापु - भिएतनाम - भानुआतु - वालिस र फुटुना - सामोआ - येमेन - मायोट्ट - दक्षिण अफ्रिका - जाम्बिया - जिम्बाबे - अपरिचित वा अवैध क्षेत्र - - - पूर्वी आर्मेनियाली - कम्प्युटर - - - पात्रो - कोलेशन - मुद्रा - - - परम्परागत चिनिँया क्रमबद्धता पद्दति - बिग फाइभ - बुद्धिष्ट पात्रो - चिनिँया पात्रो - प्रत्यक्ष क्रमबद्धता पद्दति - सरलिकृत चिनियाँ क्रमबद्धता पद्दति-गीबीटुथ्रीवानटु - ग्रेगोरियन पात्रो - हिब्रु पात्रो - भारतीय राष्ट्रिय पात्रो - इस्लामी पात्रो - इस्लामी नागरिक पात्रो - जापानी पात्रो - टेलिफोन पुस्तिका क्रमबद्धतापद्दति - पिनयिन क्रमबद्धता पद्दति - चिनिँया गणतन्त्र पात्रो - स्ट्रोक क्रमबद्धता पद्दति - परम्परागत क्रमबद्धता पद्दति - - - - [ँ-ः ०-९ अ-ऋ ए ऐ ओ-न प-र ल व-ह ा-ृ े ै ो ्] - [\u200C \u200D] - - - ' - ' - " - " - - - - - पूर्व मध्यान्ह - पूर्व अपरान्ह - - - - - - जन - फेब - मार्च - अप्रि - मे - जुन - जुला - अग - सेप्ट - अक्टो - नोभे - डिसे - - - जनवरी - फेब्रुअरी - मार्च - अप्रिल - मे - जुन - जुलाई - अगस्त - सेप्टेम्बर - अक्टोबर - नोभेम्बर - डिसेम्बर - - - - - १ - २ - ३ - ४ - ५ - ६ - ७ - ८ - ९ - १० - ११ - १२ - - - - - - - आइत - सोम - मङ्गल - बुध - बिही - शुक्र - शनि - - - आइतबार - सोमबार - मङ्गलबार - बुधबार - बिहीबार - शुक्रबार - शनिबार - - - - - १ - २ - ३ - ४ - ५ - ६ - ७ - - - - - - - Q1 - Q2 - Q3 - Q4 - - - पहिलो सत्र - दोस्रो सत्र - तेस्रो सत्र - चौथो सत्र - - - - - १ - २ - ३ - ४ - - - - पूर्व मध्यान्ह - उत्तर मध्यान्ह - - - ईसा पूर्व - सन् - - - ईसा पूर्व - सन् - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - काल - - - बर्ष - - - महिना - - - हप्ता - - - बार - तीन दिन पछि - अस्ति - हिजो - आज - भोलि - - - हप्ताको बार - - - पूर्व मध्यान्ह/उत्तर मध्यान्ह - - - घण्टा - - - मिनेट - - - दोस्रो - - - क्षेत्र - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - अज्ञात - - - रोथेरा - - - पाल्मेर - - - दक्षिण पोल - - - सिओआ - - - माजन - - - डेभिस - - - भास्टोक - - - केजे - - - दुमोन्ट डि उर्भेल्ले - - - माकमुर्डो - - - रियो ग्यालेगोस - - - मेन्डोजा - - - सान जुवान - - - उशुआइआ - - - ला रियोजा - - - सान लुइस - - - कातामार्का - - - जुजु - - - टुकुमान - - - कोरडोवा - - - ब्यनेश आयर्स - - - पर्थ - - - इयुक्ला - - - डार्विन - - - एडेलेड - - - ब्रोकन हिल - - - क्युरी - - - मेल्बर्न - - - होभार्ट - - - लिन्डेम्यान - - - सिड्नी - - - ब्रिस्बेन - - - लर्ड होवे - - - आइरनेपे - - - रियो ब्रान्को - - - पोर्टो भेल्हो - - - बोआ भिष्टा - - - मानाउस - - - क्युइआबा - - - क्याम्पो ग्रान्डे - - - बेलेम - - - आरागुवाना - - - साओ पाउलो - - - बाहिया - - - फोर्टालेजा - - - मासेइओ - - - रिसाइफ - - - नोरोन्हा - - - डेजन - - - ह्वाइटहर्स - - - इनुभिक - - - भ्यानकोभर - - - डेजन क्रिक - - - येल्लोनाइफ - - - एड्मोन्टन - - - स्विफ्ट करेण्ट - - - क्याम्ब्रिज बे - - - रेजिना - - - विन्निपेग - - - रिजोलुट - - - रेनिरिभर - - - रान्किन इन्लेट - - - कोराल बन्दरगाहा - - - थण्डर बे - - - निपिगन - - - टोरोण्टो - - - मोन्ट्रिल - - - इक्वालुइट - - - पाङ्निरतुङ - - - मोन्कटन - - - हालेफाक्स - - - गुज बे - - - ग्लेस बे - - - ब्लान्क-साब्लोन - - - सेन्ट जोन्स - - - किन्शासा - - - लुबुम्बासी - - - इस्टर - - - काश्गर - - - उरूम्की - - - चोङकिङ - - - हार्विन - - - गलापागोस - - - क्यानारी - - - सेउटा - - - ट्रुक - - - पोनापे - - - कोस्राए - - - थुले - - - स्कोर्सबाइसन्ड - - - डान्मार्कशाभन - - - जाकार्ता - - - पोन्टिआनाक - - - माकास्सार - - - जयापुरा - - - एन्डरबरी - - - किरितिमाटी - - - तरवा - - - आक्टाउ - - - ओरल - - - आक्टोब - - - किजिलोर्डा - - - आल्माटी - - - क्वाजालेइन - - - माजुरो - - - होभ्ड - - - उलानबटार - - - चोइबाल्सान - - - तिजुआना - - - हेर्मोसिल्लो - - - माजाट्लान - - - चिहुआहुआ - - - मोन्टेर्रे - - - मेक्सिको सिटी - - - मेरिडा - - - कानकुन - - - कुचिङ - - - चाथाम - - - मार्केसास - - - ग्याम्बियर - - - आजोर्स - - - माडेइरा - - - कालिनिनग्राद - - - मस्को - - - भोल्गोग्राद - - - सामारा - - - एकटरिनबुर्ग - - - ओम्स्क - - - नोबोसिबिर्स्क - - - क्रास्नोयार्स्क - - - इर्कुत्स्क - - - याकुत्स्क - - - भ्लाडिभास्टोक - - - साखालिन - - - मागाडान - - - कामचट्का - - - आनाडियर - - - उझगोरद - - - किभ - - - सिम्फेरोपोल - - - जापोरोझ्ये - - - मिडवे - - - जोन्सटन - - - वेक - - - आडाक - - - नोमे - - - होनोलुलु - - - याकुतात - - - जुनिउ - - - लस् एन्जेलस - - - बोइज - - - फोनिक्स - - - शिपरक - - - डेन्भर - - - नयाँ सालेम, उत्तर डाकोटा - - - उत्तर डाकोटा, केन्द्र - - - चिकागो - - - मेनोमिनी - - - भिन्सेन्स - - - पिटर्सबर्ग, इन्डियाना - - - टेल सिटी, इन्डियाना - - - नोक्स, इण्डियाना - - - विनामाक, इन्डियाना - - - मारेन्गो, इन्डियाना - - - इण्डियानापोलिस - - - लुइसभिल्ले - - - भेभे, इन्डियाना - - - मोन्टिसेल्लो,केन्टकी - - - डिट्रोइट - - - न्युयोर्क - - - समारकण्ड - - - - १३:२५ मोजाम्बिक समय - १३:२५ केन्द्रीय अफ्रिकी समय - - - - - - deva - - . - , - ; - ० - - - - - - अफ्गानी(१९२७-२००२) - - - अफ्गानी - - - अल्बानियन लेक - - - अष्ट्रेलियन डलर - - - ब्राजिलियन रियल - - - चिनिँया युआन रेनिबी - - - युरो - - - बेलायती पाउण्ड स्टर्लिङ - - - भारती रूपिँया - - - जापानी येन - - - नर्वेजियाली क्रोन - - - नेरू - - - फिलिपिनी पेसो - - - रूसी रूबल - - - संयुक्त राज्य डलर - - - अपरिचित वा अवैध मुद्रा - - - - - - {0} दिन - - - {0} घण्टा - - - {0} मिनेट - - - {0} महिना - - - {0} सेकेण्ड - - - {0} हप्ता - - - {0} बर्ष - {0} बर्ष - - - diff --git a/lib/zend/Zend/Locale/Data/ne_IN.xml b/lib/zend/Zend/Locale/Data/ne_IN.xml deleted file mode 100644 index 8280fcbdad..0000000000 --- a/lib/zend/Zend/Locale/Data/ne_IN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ne_NP.xml b/lib/zend/Zend/Locale/Data/ne_NP.xml deleted file mode 100644 index 19c03c2fc1..0000000000 --- a/lib/zend/Zend/Locale/Data/ne_NP.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/nl.xml b/lib/zend/Zend/Locale/Data/nl.xml deleted file mode 100644 index 4aa0f3d05f..0000000000 --- a/lib/zend/Zend/Locale/Data/nl.xml +++ /dev/null @@ -1,3798 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - Afar - Abchazisch - Atjees - Akoli - Adangme - Adyghe - Avestisch - Afrikaans - Afro-Aziatische taal - Afrihili - Ainu - Akan - Akkadisch - Aleut - Algonkium-taal - Zuid-Altaïsch - Amhaars - Aragonees - Oudengels - Angika - Apache-taal - Arabisch - Aramees - Araukaans - Arapaho - Kunstmatige taal - Arawak - Assamees - Asturisch - Athapascaanse taal - Australische taal - Avarisch - Awadhi - Aymara - Azerbeidzjaans - Basjkiers - Banda - Bamileke-taal - Baloetsji - Balinees - Basa - Baltische taal - Wit-Russisch - Beja - Bemba - Berber - Bulgaars - Bihari - Bhojpuri - Bislama - Bikol - Bini - Siksika - Bambara - Bengalees - Bantoe - Tibetaans - Bretons - Braj - Bosnisch - Batak - Buriat - Buginees - Blin - Catalaans - Caddo - Midden-Amerikaans Indiaanse taal - Caribisch - Kaukasische taal - Atsam - Chechen - Cebuano - Keltische taal - Chamorro - Chibcha - Chagatai - Chuukees - Mari - Chinook-jargon - Choctaw - Chipewyan - Cherokee - Cheyenne - Chamische taal - Corsicaans - Koptisch - Op Engels gebaseerd Creools of Pidgin - Op Frans gebaseerd Creools of Pidgin - Op Portugees gebaseerd Creools of Pidgin - Cree - Krim-Tataars - Creools of Pidgin - Tsjechisch - Kasjoebisch - Kerkslavisch - Koesjitische taal - Tsjoevasjisch - Welsh - Deens - Dakota - Dargwa - Dajak - Duits - Oostenrijks Duits - Zwitsers Hoogduits - Delaware - Slave - Dogrib - Dinka - Dogri - Dravidische taal - Nedersorbisch - Duala - Middelnederlands - Divehi - Dyula - Dzongkha - Ewe - Efik - Oudegyptisch - Ekajuk - Grieks - Elamitisch - Engels - Australisch Engels - Canadees Engels - Brits Engels - Amerikaans Engels - Middelengels - Esperanto - Spaans - Latijns-Amerikaans Spaans - Iberisch Spaans - Estlands - Baskisch - Ewondo - Perzisch - Fang - Fanti - Fulah - Fins - Filippijns - Fins-Oegrische taal - Fijisch - Faeröers - Fon - Frans - Canadees Frans - Zwitsers Frans - Middelfrans - Oudfrans - Noord-Fries - Oost-Fries - Friulisch - Fries - Iers - Ga - Gayo - Gbaya - Schots Gaelic - Germaanse taal - Geez - Gilbertees - Galicisch - Middelhoogduits - Guarani - Oudhoogduits - Gondi - Gorontalo - Gothisch - Grebo - Oudgrieks - Zwitsers Duits - Gujarati - Manx - Gwichʼin - Hausa - Haida - Hawaïaans - Hebreeuws - Hindi - Hiligaynon - Himachali - Hettitisch - Hmong - Hiri Motu - Kroatisch - Oppersorbisch - Haïtiaans - Hongaars - Hupa - Armeens - Herero - Interlingua - Iban - Indonesisch - Interlingue - Igbo - Sichuan Yi - Ijo - Inupiaq - Iloko - Indische taal - Indo-Europese taal - Ingoesj - Ido - Iraanse taal - Irokese taal - IJslands - Italiaans - Inuktitut - Japans - Lojban - Judeo-Perzisch - Judeo-Arabisch - Javaans - Georgisch - Karakalpaks - Kabyle - Kachin - Jju - Kamba - Karen - Kawi - Kabardisch - Tyap - Koro - Kongo - Khasi - Khoisan-taal - Khotanees - Kikuyu - Kuanyama - Kazachs - Kalaallisut - Khmer - Kimbundu - Kannada - Koreaans - Konkani - Kosraeaans - Kpelle - Kanuri - Karachay-Balkar - Karelisch - Kru - Kurukh - Kashmiri - Koerdisch - Kumyk - Kutenai - Komi - Cornish - Kirgizisch - Latijn - Ladino - Lahnda - Lamba - Luxemburgs - Lezgisch - Ganda - Limburgs - Lingala - Lao - Mongo - Lozi - Litouws - Luba-Katanga - Luba-Lulua - Luiseno - Lunda - Luo - Lushai - Letlands - Madurees - Magahi - Maithili - Makassaars - Mandingo - Austronesisch - Masai - Moksha - Mandar - Mende - Malagasisch - Middeliers - Marshallees - Maori - Mi'kmaq - Minangkabau - Diverse talen - Macedonisch - Mon-Khmer-taal - Malayalam - Mongools - Mantsjoe - Manipoeri - Manobo-taal - Moldavisch - Mohawk - Mossi - Marathi - Maleis - Maltees - Meerdere talen - Munda-taal - Creek - Mirandees - Marwari - Birmees - Mayan-taal - Erzya - Nauru - Nahuatl - Noord-Amerikaans Indiaanse taal - Napolitaans - Noors - Bokmål - Noord-Ndbele - Laagduits - Nepalees - Newari - Ndonga - Nias - Niger-Kordofanische taal - Niueaans - Nederlands - Vlaams - Noors - Nynorsk - Noors - Nogai - Oudnoors - N’ko - Zuid-Ndbele - Noord-Sotho - Nubische taal - Navajo - Klassiek Newari - Nyanja - Nyamwezi - Nyankole - Nyoro - Nzima - Occitaans - Ojibwa - Oromo - Oriya - Ossetisch - Osage - Ottomaans-Turks - Otomi-taal - Punjabi - Papoeataal - Pangasinan - Pahlavi - Pampanga - Papiamento - Palauaans - Oudperzisch - Filippijnse taal - Foenicisch - Pali - Pools - Pohnpeiaans - Prakrit-taal - Oudprovençaals - Pasjtoe - Portugees - Braziliaans Portugees - Iberisch Portugees - Quechua - Rajasthani - Rapanui - Rarotongan - Reto-Romaans - Rundi - Roemeens - Romaanse taal - Romani - Root - Russisch - Aromaniaans - Kinyarwanda - Sanskriet - Sandawe - Yakut - Zuid-Amerikaans Indiaanse taal - Salishan-taal - Samaritaans-Aramees - Sasak - Santali - Sardinisch - Siciliaans - Schots - Sindhi - Noord-Samisch - Selkup - Semitische taal - Sango - Oudiers - Gebarentaal - Servokroatisch - Shan - Singalees - Sidamo - Siouaanse talen - Sino-Tibetaanse taal - Slowaaks - Sloveens - Slavische taal - Samoaans - Zuid-Samisch - Sami-taal - Lule Sami - Inari Sami - Skolt Sami - Shona - Soninke - Somalisch - Sogdisch - Songhai - Albanees - Servisch - Sranantongo - Serer - Swati - Nilo-Saharaanse taal - Zuid-Sotho - Soendanees - Sukuma - Soesoe - Soemerisch - Zweeds - Swahili - Klassiek Syrisch - Syriac - Tamil - Tai-taal - Teloegoe - Timne - Tereno - Tetum - Tadzjieks - Thais - Tigrinya - Tigre - Tiv - Turkmeens - Tokelau - Tagalog - Klingon - Tlingit - Tamashek - Tswana - Tonga - Nyasa Tonga - Tok Pisin - Turks - Tsonga - Tsimshian - Tataars - Toemboeka - Tupi-taal - Altaïsche taal - Tuvalu - Twi - Tahitisch - Tuvinisch - Udmurt - Oeigoers - Oegaritisch - Oekraïens - Umbundu - Onbepaald - Urdu - Oezbeeks - Vai - Venda - Vietnamees - Volapük - Votisch - Wallonisch - Wakashan-taal - Walamo - Waray - Washo - Sorbische taal - Wolof - Kalmyk - Xhosa - Yao - Yapees - Jiddisch - Yoruba - Yupik-talen - Zhuang - Zapotec - Blissymbolen - Zenaga - Chinees - Vereenvoudigd Chinees - Traditioneel Chinees - Zande - Zulu - Zuni - Geen linguïstische inhoud - Zaza - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wereld - Afrika - Noord-Amerika - Zuid-Amerika - Oceanië - West-Afrika - Midden-Amerika - Oost-Afrika - Noord-Afrika - Centraal-Afrika - Zuidelijk Afrika - Amerika - Noordelijk Amerika - Caribisch gebied - Oost-Azië - Zuid-Azië - Zuidoost-Azië - Zuid-Europa - Australië en Nieuw-Zeeland - Melanesië - Micronesische regio - Polynesië - Zuidelijk Centraal-Azië - Azië - Centraal-Azië - West-Azië - Europa - Oost-Europa - Noord-Europa - West-Europa - Gemenebest van Onafhankelijke Staten - Latijns-Amerika en het Caribisch gebied - Kanaaleilanden - Andorra - Verenigde Arabische Emiraten - Afghanistan - Antigua en Barbuda - Anguilla - Albanië - Armenië - Nederlandse Antillen - Angola - Antarctica - Argentinië - Amerikaans Samoa - Oostenrijk - Australië - Aruba - Alandeilanden - Azerbeidzjan - Bosnië en Herzegovina - Barbados - Bangladesh - België - Burkina Faso - Bulgarije - Bahrein - Burundi - Benin - Saint Barthélemy - Bermuda - Brunei - Bolivia - Brazilië - Bahama’s - Bhutan - Bouveteiland - Botswana - Wit-Rusland - Belize - Canada - Cocoseilanden - Congo-Kinshasa - Centraal-Afrikaanse Republiek - Congo - Zwitserland - Ivoorkust - Cookeilanden - Chili - Kameroen - China - Colombia - Costa Rica - Servië en Montenegro - Cuba - Kaapverdië - Christmaseiland - Cyprus - Tsjechië - Duitsland - Djibouti - Denemarken - Dominica - Dominicaanse Republiek - Algerije - Ecuador - Estland - Egypte - Westelijke Sahara - Eritrea - Spanje - Ethiopië - Finland - Fiji - Falklandeilanden - Micronesië - Faeröer - Frankrijk - Gabon - Verenigd Koninkrijk - Grenada - Georgië - Frans-Guyana - Guernsey - Ghana - Gibraltar - Groenland - Gambia - Guinee - Guadeloupe - Equatoriaal-Guinea - Griekenland - Zuid-Georgië en Zuidelijke Sandwicheilanden - Guatemala - Guam - Guinee-Bissau - Guyana - Hongkong SAR van China - Heard- en McDonaldeilanden - Honduras - Kroatië - Haïti - Hongarije - Indonesië - Ierland - Israël - Isle of Man - India - Britse Gebieden in de Indische Oceaan - Irak - Iran - IJsland - Italië - Jersey - Jamaica - Jordanië - Japan - Kenia - Kirgizië - Cambodja - Kiribati - Comoren - Saint Kitts en Nevis - Noord-Korea - Zuid-Korea - Koeweit - Caymaneilanden - Kazachstan - Laos - Libanon - Saint Lucia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Litouwen - Luxemburg - Letland - Libië - Marokko - Monaco - Moldavië - Montenegro - Sint-Maarten - Madagaskar - Marshalleilanden - Macedonië - Mali - Myanmar - Mongolië - Macao SAR van China - Noordelijke Marianeneilanden - Martinique - Mauritanië - Montserrat - Malta - Mauritius - Maldiven - Malawi - Mexico - Maleisië - Mozambique - Namibië - Nieuw-Caledonië - Niger - Norfolkeiland - Nigeria - Nicaragua - Nederland - Noorwegen - Nepal - Nauru - Niue - Nieuw-Zeeland - Oman - Panama - Peru - Frans-Polynesië - Papoea-Nieuw-Guinea - Filipijnen - Pakistan - Polen - Saint Pierre en Miquelon - Pitcairn - Puerto Rico - Palestijns Gebied - Portugal - Palau - Paraguay - Qatar - Oceanië (overige) - Europese Unie - Réunion - Roemenië - Servië - Rusland - Rwanda - Saoedi-Arabië - Salomonseilanden - Seychellen - Soedan - Zweden - Singapore - Sint-Helena - Slovenië - Svalbard en Jan Mayen - Slowakije - Sierra Leone - San Marino - Senegal - Somalië - Suriname - Sao Tomé en Principe - El Salvador - Syrië - Swaziland - Turks- en Caicoseilanden - Tsjaad - Franse Gebieden in de zuidelijke Indische Oceaan - Togo - Thailand - Tadzjikistan - Tokelau - Oost-Timor - Turkmenistan - Tunesië - Tonga - Turkije - Trinidad en Tobago - Tuvalu - Taiwan - Tanzania - Oekraïne - Oeganda - Amerikaanse kleinere afgelegen eilanden - Verenigde Staten - Uruguay - Oezbekistan - Vaticaanstad - Saint Vincent en de Grenadines - Venezuela - Britse Maagdeneilanden - Amerikaanse Maagdeneilanden - Vietnam - Vanuatu - Wallis en Futuna - Samoa - Jemen - Mayotte - Zuid-Afrika - Zambia - Zimbabwe - Onbekend of onjuist gebied - - - Traditionele Duitse spelling - Gestandaardiseerde Resiaanse spelling - Duitse spelling van 1996 - Laat Middelfrans tot 1606 - Vroeg modern Frans - Oost-Armeens - West-Armeens - Eenvormig Turkse Latijnse alfabet - San Giorgio/Bila-dialect - Boontling - Internationaal Fonetisch Alfabet - Oeralisch Fonetisch Alfabet - Het Lipovaz-dialect van het Resiaans - Monotonaal - Natisone-dialect - Gniva/Njiva-dialect - Oseacco/Osojane-dialect - Polytonaal - Computer - Gewijzigde spelling - Resiaans - Saho - Schots standaard-Engels - Liverpools (Scouse) - Stolvizza/Solbica-dialect - Taraskievica-spelling - Valenciaans - - - Kalender - Volgorde - Munteenheid - - - Traditioneel Chinees - Boeddhistische kalender - Chinese kalender - Directe sorteervolgorde - Vereenvoudigd Chinees - Gregoriaanse kalender - Hebreeuwse kalender - Indiase nationale kalender - Islamitische kalender - Islamitische kalender (cyclisch) - Japanse kalender - Telefoonboeksorteervolgorde - Pinyinvolgorde - Kalender van de Chinese Republiek - Streeksorteervolgorde - Traditionele sorteervolgorde - - - Amerikaans - Metriek - - - Taal: {0} - Schrift: {0} - Regio: {0} - - - - titlecase-firstword - lowercase-words - titlecase-firstword - titlecase-firstword - titlecase-firstword - - - [a á ä b-e é ë f-i í ï {ij} j-o ó ö p-u ú ü v-z] - [å ã ç ñ ô] - [a-z] - - - ‘ - ’ - “ - ” - - - {0}−{1} - - - - - - jan. - feb. - mrt. - apr. - mei - jun. - jul. - aug. - sep. - okt. - nov. - dec. - - - januari - februari - maart - april - mei - juni - juli - augustus - september - oktober - november - december - - - - - J - F - M - A - M - J - J - A - S - O - N - D - - - - - - - zo - ma - di - wo - do - vr - za - - - zondag - maandag - dinsdag - woensdag - donderdag - vrijdag - zaterdag - - - - - Z - M - D - W - D - V - Z - - - - - - - K1 - K2 - K3 - K4 - - - 1e kwartaal - 2e kwartaal - 3e kwartaal - 4e kwartaal - - - - - 1 - 2 - 3 - 4 - - - - AM - PM - - - Voor Christus - Anno Domini - - - v. Chr. - n. Chr. - - - - - - EEEE d MMMM y - - - - - d MMMM y - - - - - d MMM y - - - - - dd-MM-yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - HH:mm - L - E d-M - LLL - E d MMM - E d MMMM - d MMMM - d-MMM - d-MM - dd-MM - d-M - d - mm:ss - mm:ss - y - M-yyyy - EEE d-M-yyyy - MMM y - EEE d MMM y - MMMM y - Q yyyy - QQQ y - MM-yy - MMM yy - Q yy - QQQQ yy - MMMM y - - - {0} - {1} - - M-M - - - E dd-MM - E dd-MM - E dd-MM - E dd-MM - - - MMM-MMM - - - E d MMM - E d MMM - E d - E d MMM - - - LLLL-LLLL - - - d MMM - d MMM - d-d MMM - - - dd-MM - dd-MM - dd-MM - dd-MM - - - d-d - - - HH-HH - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - HH-HH v - - - y-y - - - MM-yy - MM-yy - MM-yy - MM-yy - - - E dd-MM-yy - E dd-MM-yy - E dd-MM-yy - E dd-MM-yy - E dd-MM-yy - E dd-MM-yy - - - MMM-MMM y - MMM y - MMM y - - - E d MMM - E d MMM y - E d - E d MMM y - E d MMM y - E d MMM y - - - MM–MM – yyyy - MM-yyyy – MM-yyyy - - - d MMM - d MMM y - d-d MMM y - d MMM y - d MMM y - - - dd-MM-yy - dd-MM-yy - dd-MM-yy - dd-MM-yy - dd-MM-yy - dd-MM-yy - - - - - - Tijdperk - - - Jaar - - - Maand - - - Week - - - Dag - Drie dagen geleden - Eergisteren - Gisteren - Vandaag - Morgen - Overmorgen - Over drie dagen - - - Dag van de week - - - AM/PM - - - Uur - - - Minuut - - - Seconde - - - Zone - - - - - - - - Tisjrie - Chesjwan - Sjevat - Adar - Adar B - Ijar - Tammoez - Elloel - - - - - - - - - Moeharram - Rabiʻa al awal - Rabiʻa al thani - Joemadʻal awal - Joemadʻal thani - Sjaʻaban - Sjawal - Doe al kaʻaba - Doe al hizja - - - - - - Saʻna Hizjria - - - - - - +HH:mm;-HH:mm - GMT{0} - {0}-tijd - {1} ({0}) - - Onbekend - - - Tirana - - - Erevan - - - Curaçao - - - Zuidpool - - - Río Gallegos - - - Córdoba - - - Wenen - - - Bakoe - - - Brussel - - - Bahrein - - - Pôrto Velho - - - Cuiabá - - - Belém - - - São Paulo - - - Maceió - - - Montréal - - - St. Johns - - - Cocoseilanden - - - Zürich - - - Paaseiland - - - Sjanghai - - - Bogotá - - - Kaapverdië - - - Christmaseiland - - - Berlijn - - - Kopenhagen - - - Galápagos - - - Asmara - - - Canarische Eilanden - - - Addis Abeba - - - Pohnpei - - - Faeröer - - - Parijs - - - Londen - - - Athene - - - Zuid-Georgië - - - Hongkong - - - Boedapest - - - Jeruzalem - - - Teheran - - - Tokio - - - Bisjkek - - - Enderbury-eiland - - - St. Kitts - - - Koeweit - - - Aqtöbe - - - Alma-Ata - - - Beiroet - - - St. Lucia - - - Luxemburg - - - Ulaanbaator - - - Maldiven - - - Mazatlán - - - Mexico-stad - - - Mérida - - - Cancún - - - Nouméa - - - Kathmandu - - - Marquesaseilanden - - - Gambier-eilanden - - - Manilla - - - Warschau - - - Azoren - - - Lissabon - - - Asunción - - - Réunion - - - Boekarest - - - Moskou - - - Jekaterinenburg - - - Krasnojarsk - - - Irkoetsk - - - Jakoetsk - - - Sachalin - - - Kamtsjatka - - - Riyad - - - Mahé - - - Khartoem - - - Sint-Helena - - - Sao Tomé - - - Salvador - - - Turks Eilanden - - - Lomé - - - Dusjanbe - - - Asjchabad - - - Istanboel - - - Oezjhorod - - - Zaporizja - - - Wake-eiland - - - Tasjkent - - - St. Vincent - - - St. Thomas - - - - Acre-tijd - Acre-zomertijd - - true - - - - Afghaanse tijd - - true - - - - Centraal-Afrikaanse tijd - - - - - Oost-Afrikaanse tijd - - - - - Zuid-Afrikaanse tijd - Zuid-Afrikaanse standaardtijd - - - - - West-Afrikaanse tijd - West-Afrikaanse zomertijd - - - - - Aktyubinsk-tijd - Aktyubinsk-zomertijd - - true - - - - Alaska-tijd - Alaska - standaardtijd - Alaska - zomertijd - - true - - - - Alaska-Hawaii-tijd - Alaska-Hawaii-standaardtijd - Alaska-Hawaii-zomertijd - - true - - - - Alma-Ata-tijd - Alma-Ata-zomertijd - - true - - - - Amazone-tijd - Amazone-zomertijd - - true - - - - Central-tijd - Central-standaardtijd - Central-zomertijd - - true - - - - Eastern-tijd - Eastern-standaardtijd - Eastern-zomertijd - - true - - - - Mountain-tijd - Mountain-standaardtijd - Mountain-zomertijd - - true - - - - Pacific-tijd - Pacific-standaardtijd - Pacific-zomertijd - - true - - - - Anadyr-tijd - Anadyr-zomertijd - - true - - - - Aqtau-tijd - Aqtau-zomertijd - - true - - - - Aqtöbe-tijd - Aqtöbe-zomertijd - - - AQTT (Aqtöbe) - AQTST (Aqtöbe) - - true - - - - Arabische tijd - Arabische standaardtijd - Arabische zomertijd - - - AT (Arabisch) - AST (Arabisch) - ADT (Arabisch) - - - - - Argentijnse tijd - Argentijnse zomertijd - - true - - - - West-Argentijnse tijd - - true - - - - Armeense tijd - Armeense zomertijd - - - AMT (Armenië) - AMST (Armenië) - - - - - Ashkhabad-tijd - Ashkhabad-zomertijd - - true - - - - Atlantic-tijd - Atlantic - standaardtijd - Atlantic - zomertijd - - true - - - - Midden-Australische tijd - Midden-Australische standaardtijd - Midden-Australische zomertijd - - true - - - - Midden-Australische westelijke tijd - Midden-Australische westelijke standaardtijd - Midden-Australische westelijke zomertijd - - true - - - - Oost-Australische tijd - Oost-Australische standaardtijd - Oost-Australische zomertijd - - true - - - - West-Australische tijd - West-Australische standaardtijd - West-Australische zomertijd - - true - - - - Azerbeidzjaanse tijd - Azerbeidzjaanse zomertijd - - true - - - - Azoren-tijd - Azoren-zomertijd - - true - - - - Bakoe-tijd - Bakoe-zomertijd - - true - - - - Bengalese tijd - - true - - - - Bering-tijd - Bering-standaardtijd - Bering-zomertijd - - true - - - - Bhutaanse tijd - - true - - - - Boliviaanse tijd - - true - - - - Borneose tijd - Borneose zomertijd - - true - - - - Braziliaanse tijd - Braziliaanse zomertijd - - true - - - - Bruneise tijd - - true - - - - Kaapverdische tijd - Kaapverdische zomertijd - - true - - - - Chamorro-tijd - Chamorro-standaardtijd - - true - - - - Changbai-tijd - - true - - - - Chatham-standaardtijd - Chatham-zomertijd - - true - - - - Chileense tijd - Chileense zomertijd - - true - - - - Chinese tijd - Chinese standaardtijd - Chinese zomertijd - - - CT (China) - CST (China) - CDT (China) - - true - - - - Choibalsan-tijd - Choibalsan-zomertijd - - true - - - - Christmaseilandse tijd - - true - - - - Cocoseilandse tijd - - true - - - - Colombiaanse tijd - Colombiaanse zomertijd - - true - - - - Cookeilandse tijd - Cookeilandse halve zomertijd - - - - - Cubaanse tijd - Cubaanse standaardtijd - Cubaanse zomertijd - - - CST (Cuba) - CDT (Cuba) - - true - - - - Dhaka-tijd - - true - - - - Davis-tijd - - true - - - true - - - - Dumont-d'Urville-tijd - - true - - - - Dushanbe-tijd - Dushanbe-zomertijd - - true - - - - Nederlands-Guyaanse tijd - - - - - Oost-Timorese tijd - - true - - - - Paaseilandse tijd - Paaseilandse zomertijd - - true - - - - Ecuadoriaanse tijd - - true - - - - Midden-Europese standaardtijd - Midden-Europese zomertijd - - - - - Oost-Europese standaardtijd - Oost-Europese zomertijd - - - - - West-Europese tijd - West-Europese zomertijd - - true - - - - Falklandeilandse tijd - Falklandeilandse zomertijd - - true - - - - Fijische tijd - Fijische zomertijd - - true - - - - Frans-Guyaanse tijd - - true - - - - Franse zuidelijke en Antarctische tijd - - true - - - - Frunze-tijd - Frunze-zomertijd - - - - - Greenwich Mean Time - - true - - - - Galapagoseilandse tijd - - true - - - - Gambiereilandse tijd - - true - - - - Georgia-tijd - Georgia-zomertijd - - true - - - - Gilberteilandse tijd - - true - - - true - - - - Centraal-Groenlandse tijd - Centraal-Groenlandse zomertijd - - true - - - - Oost-Groenlandse tijd - Oost-Groenlandse zomertijd - - true - - - - West-Groenlandse tijd - West-Groenlandse zomertijd - - true - - - - Guamese standaardtijd - - - GST (Guam) - - - - - Golf-tijd - Golf-standaardtijd - - true - - - - Guyaanse tijd - - true - - - - Hawaii-Aleoetische standaardtijd - - true - - - - Hongkong-tijd - Hongkong-zomertijd - - true - - - - Hovd-tijd - Hovd-zomertijd - - true - - - - Indiaase standaardtijd - - true - - - - Indische Oceaan-tijd - - true - - - - Indochinese tijd - - true - - - - Centraal-Indonesische tijd - - true - - - - Oost-Indonesische tijd - - true - - - - West-Indonesische tijd - - true - - - - Iraanse standaardtijd - Iraanse zomertijd - - true - - - - Irkoetsk-tijd - Irkoetsk-zomertijd - - true - - - - Israëlische tijd - Israëlische standaardtijd - Israëlische zomertijd - - - IST (Israël) - - true - - - - Japanse tijd - Japanse standaardtijd - Japanse zomertijd - - true - - - - Petropavlovsk-Kamtsjatski-tijd - Petropavlovsk-Kamtsjatski-zomertijd - - true - - - - Karachi-tijd - - true - - - - Kashgar-tijd - - true - - - - Oost-Kazachse tijd - Oost-Kazachse standaardtijd - - true - - - - West-Kazachse tijd - West-Kazachse standaardtijd - - true - - - - Kizilorda-tijd - Kizilorda-zomertijd - - true - - - - Koreaanse tijd - Koreaanse standaardtijd - Koreaanse zomertijd - - true - - - - Kosraese tijd - - - - - Krasnojarsk-tijd - Krasnojarsk-zomertijd - - true - - - - Kuybyshev standaardtijd - Kuybyshev-tijd - Kuybyshev-zomertijd - - true - - - - Kwajaleinse tijd - - true - - - - Kirgizische tijd - - true - - - - Lanka-tijd - - true - - - - Line-eilandse tijd - - - - - Long-Shu-tijd - - true - - - - Lord Howe-tijd - Lord Howe-standaardtijd - Lord Howe-zomertijd - - true - - - - Macause tijd - Macause zomertijd - - true - - - - Magadan-tijd - Magadan-zomertijd - - true - - - - Malakka-tijd - - true - - - - Maleisische tijd - - true - - - - Maldivische tijd - - true - - - - Marquesaseilandse tijd - - true - - - - Marshalleilandse tijd - - true - - - - Mauritiaanse tijd - - true - - - - Mawson-tijd - - true - - - - Ulaanbaatar-tijd - Ulaanbaatar-zomertijd - - true - - - - Moskou-tijd - Moskou-standaardtijd - Moskou-zomertijd - - true - - - - Myanmarese tijd - - true - - - - Nauruaanse tijd - - true - - - - Nepalese tijd - - true - - - - Nieuw-Caledonische tijd - Nieuw-Caledonische zomertijd - - true - - - - Nieuw-Zeelandse tijd - Nieuw-Zeelandse standaardtijd - Nieuw-Zeelandse zomertijd - - true - - - - Newfoundland-tijd - Newfoundland-standaardtijd - Newfoundland-zomertijd - - true - - - - Niuese tijd - - true - - - - Norfolkeilandse tijd - - true - - - - Fernando de Noronha-tijd - Fernando de Noronha-zomertijd - - true - - - - Noordelijk Mariaanse tijd - - true - - - - Novosibirsk-tijd - Novosibirsk-zomertijd - - true - - - - Omsk-tijd - Omsk-zomertijd - - true - - - true - - - - Pakistaanse tijd - Pakistaanse zomertijd - - true - - - - Belause tijd - - true - - - - Papoea-Nieuw-Guinea-tijd - - true - - - - Paraguayaanse tijd - Paraguayaanse zomertijd - - true - - - - Peruaanse tijd - Peruaanse zomertijd - - true - - - - Filipijnse tijd - Filipijnse zomertijd - - true - - - - Phoenixeilandse tijd - - true - - - - Pierre en Miquelon-tijd - Pierre en Miquelon-standaardtijd - Pierre en Miquelon-zomertijd - - true - - - - Pitcairnse tijd - - true - - - - Pohnpeise tijd - - true - - - - Qyzylorda-tijd - Qyzylorda-zomertijd - - true - - - - Réunionse tijd - - true - - - - Rothera-tijd - - true - - - - Sachalin-tijd - Sachalin-zomertijd - - true - - - - Samara-tijd - Samara-zomertijd - - true - - - - Samarkand-tijd - Samarkand-zomertijd - - true - - - - Samoaanse standaardtijd - - true - - - - Seychelse tijd - - true - - - - Shevchenko-tijd - Shevchenko-zomertijd - - true - - - - Singaporese standaardtijd - - true - - - - Solomoneilandse tijd - - true - - - - Zuid-Georgische tijd - - - GST (Z. Georgië) - - true - - - - Surinaamse tijd - - true - - - - Sverdlovsk-tijd - Sverdlovsk-zomertijd - - true - - - - Syowa-tijd - - true - - - - Tahitiaanse tijd - - true - - - - Tadzjiekse tijd - - true - - - - Tasjkent-tijd - Tasjkent-zomertijd - - true - - - - Tbilisi-tijd - Tbilisi-zomertijd - - true - - - - Tokelause tijd - - true - - - - Tongaanse tijd - Tongaanse zomertijd - - true - - - - Chuukse tijd - - true - - - - Turkse tijd - Turkse zomertijd - - true - - - - Turkmeense tijd - Turkmeense zomertijd - - true - - - - Tuvaluaanse tijd - - true - - - - Oral-tijd - Oral-zomertijd - - true - - - - Uruguayaanse tijd - Uruguayaanse zomertijd - - true - - - - Ürümqi-tijd - - true - - - - Oezbeekse tijd - Oezbeekse zomertijd - - true - - - - Vanuatuaanse tijd - Vanuatuaanse zomertijd - - true - - - - Venezolaanse tijd - - true - - - - Vladivostok-tijd - Vladivostok-zomertijd - - true - - - - Wolgograd-tijd - Wolgograd-zomertijd - - true - - - - Vostok-tijd - - true - - - - Wake-eilandse tijd - - true - - - - Wallis en Futunase tijd - - true - - - - Jakoetsk-tijd - Jakoetsk-zomertijd - - true - - - - Jekaterinenburg-tijd - Jekaterinenburg-zomertijd - - true - - - - Jerevan-tijd - Jerevan-zomertijd - - true - - - - Yukon-tijd - Yukon-standaardtijd - Yukon-zomertijd - - true - - - - - - , - . - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤ #,##0.00;¤ #,##0.00- - - - {0} {1} - {0} {1} - - - - Andorrese peseta - Andorrese peseta - Andorrese peseta - - - Verenigde Arabische Emiraten-dirham - Verenigde Arabische Emiraten-dirham - Verenigde Arabische Emiraten-dirham - - - Afghani (1927-2002) - Afghani (AFA) - Afghani (AFA) - - - Afghani - Afghani - Afghani - - - Albanese lek - Albanese lek - Albanese lek - - - Armeense dram - - - Nederlands-Antilliaanse gulden - - - Angolese kwanza - - - Angolese kwanza (1977-1990) - - - Angolese nieuwe kwanza (1990-2000) - - - Angolese kwanza reajustado (1995-1999) - - - Argentijnse austral - - - Argentijnse peso (1983-1985) - - - Argentijnse peso - - - Oostenrijkse schilling - - - Australische dollar - - - Arubaanse gulden - - - Azerbeidzjaanse manat (1993-2006) - - - Azerbeidzjaanse manat - - - Bosnische dinar - - - Bosnische convertibele mark - - - Barbadaanse dollar - - - Bengalese taka - - - Belgische frank (convertibel) - - - Belgische frank - - - Belgische frank (financieel) - - - Bulgaarse harde lev - - - Bulgaarse nieuwe lev - - - Bahreinse dinar - - - Burundese franc - - - Bermuda-dollar - - - Bruneise dollar - - - Boliviano - - - Boliviaanse peso - - - Boliviaanse mvdol - - - Braziliaanse cruzeiro novo (1967-1986) - - - Braziliaanse cruzado - - - Braziliaanse cruzeiro (1990-1993) - - - Braziliaanse real - - - Braziliaanse cruzado novo - - - Braziliaanse cruzeiro - - - Bahamaanse dollar - - - Bhutaanse ngultrum - - - Birmese kyat - - - Botswaanse pula - - - Wit-Russische nieuwe roebel (1994-1999) - - - Wit-Russische roebel - - - Belizaanse dollar - - - Canadese dollar - - - Congolese franc - - - WIR euro - - - Zwitserse franc - - - WIR franc - - - Chileense unidades de fomento - - - Chileense peso - - - Chinese yuan renminbi - - - Colombiaanse peso - - - Unidad de Valor Real - - - Costaricaanse colón - - - Oude Servische dinar - - - Tsjechoslowaakse harde koruna - - - Cubaanse peso - - - Kaapverdische escudo - - - Cyprisch pond - - - Tsjechische koruna - - - Oost-Duitse ostmark - - - Duitse mark - - - Djiboutiaanse franc - - - Deense kroon - - - Dominicaanse peso - - - Algerijnse dinar - - - Ecuadoraanse sucre - - - Ecuadoraanse unidad de valor constante (UVC) - - - Estlandse kroon - - - Egyptisch pond - - - Eritrese nakfa - - - Spaanse peseta (account A) - - - Spaanse peseta (convertibele account) - - - Spaanse peseta - - - Ethiopische birr - - - Euro - - - Finse markka - - - Fiji dollar - - - Falklandeilands pond - - - Franse franc - - - Brits pond sterling - - - Georgische kupon larit - - - Georgische lari - - - Ghanese cedi (1979-2007) - - - Ghanese cedi - - - Gibraltarees pond - - - Gambiaanse dalasi - - - Guinese franc - - - Guinese syli - - - Equatoriaal-Guinese ekwele guineana - - - Griekse drachme - - - Guatemalteekse quetzal - - - Portugees-Guinese escudo - - - Guinee-Bissause peso - - - Guyaanse dollar - - - Hongkongse dollar - - - Hondurese lempira - - - Kroatische dinar - - - Kroatische kuna - - - Haïtiaanse gourde - - - Hongaarse forint - - - Indonesische rupiah - - - Iers pond - - - Israëlisch pond - - - Israëlische nieuwe shekel - - - Indiase rupee - - - Iraakse dinar - - - Iraanse rial - - - IJslandse kroon - - - Italiaanse lire - - - Jamaicaanse dollar - - - Jordaanse dinar - - - Japanse yen - - - Keniaanse shilling - - - Kirgizische som - - - Cambodjaanse riel - - - Comorese franc - - - Noord-Koreaanse won - - - Zuid-Koreaanse won - - - Koeweitse dinar - - - Caymaneilandse dollar - - - Kazachstaanse tenge - - - Laotiaanse kip - - - Libanees pond - - - Srilankaanse rupee - - - Liberiaanse dollar - - - Lesothaanse loti - - - Litouwse litas - - - Litouwse talonas - - - Luxemburgse convertibele franc - - - Luxemburgse frank - - - Luxemburgse financiële franc - - - Letse lats - - - Letse roebel - - - Libische dinar - - - Marokkaanse dirham - - - Marokkaanse franc - - - Moldavische leu - - - Malagassische ariary - - - Malagassische franc - - - Macedonische denar - - - Malinese franc - - - Myanmarese kyat - - - Mongoolse tugrik - - - Macause pataca - - - Mauritaanse ouguiya - - - Maltese lire - - - Maltees pond - - - Mauritiaanse rupee - - - Maldivische rufiyaa - - - Malawische kwacha - - - Mexicaanse peso - - - Mexicaanse zilveren peso (1861-1992) - - - Mexicaanse unidad de inversion (UDI) - - - Maleisische ringgit - - - Mozambikaanse escudo - - - Oude Mozambikaanse metical - - - Mozambikaanse metical - - - Namibische dollar - - - Nigeriaanse naira - - - Nicaraguaanse córdoba - - - Nicaraguaanse córdoba oro - - - Nederlandse gulden - - - Noorse kroon - - - Nepalese rupee - - - Nieuw-Zeelandse dollar - - - Omaanse rial - - - Panamese balboa - - - Peruaanse inti - - - Peruaanse nieuwe sol - - - Peruaanse sol - - - Papuaanse kina - - - Filipijnse peso - - - Pakistaanse rupee - - - Poolse zloty - - - Poolse zloty (1950-1995) - - - Portugese escudo - - - Paraguayaanse guarani - - - Qatarese rial - - - Rhodesische dollar - - - Oude Roemeense leu - - - Roemeense leu - - - Servische dinar - - - Russische roebel - - - Russische roebel (1991-1998) - - - Rwandese franc - - - Saoedische rial - - - Salomonseilandse dollar - - - Seychelse rupee - - - Soedanese dinar - - - Soedanese pond - - - Soedanees pond - - - Zweedse kroon - - - Singaporese dollar - - - Sint-Heleense pond - - - Sloveense tolar - - - Slowaakse koruna - - - Sierraleoonse leone - - - Somalische shilling - - - Surinaamse dollar - - - Surinaamse gulden - - - Santomese dobra - - - Sovjet-roebel - - - Salvadoraanse colón - - - Syrisch pond - - - Swazische lilangeni - - - Thaise baht - - - Tadzjikistaanse roebel - - - Tadzjikistaanse somoni - - - Turkmeense manat - - - Tunesische dinar - - - Tongaanse paʻanga - - - Timorese escudo - - - Turkse lire - oude Turkse lira - oude Turkse lira - - - Nieuwe Turkse lire - Turkse lira - Turkse lira - - - Trinidad en Tobago-dollar - - - Nieuwe Taiwanese dollar - - - Tanzaniaanse shilling - - - Oekraïense hryvnia - - - Oekraïense karbovanetz - - - Oegandese shilling (1966-1987) - - - Oegandese shilling - - - Amerikaanse dollar - - - Amerikaanse dollar (volgende dag) - - - Amerikaanse dollar (zelfde dag) - - - Uruguayaanse peso en geïndexeerde eenheden - - - Uruguayaanse peso (1975-1993) - - - Uruguayaanse peso uruguayo - - - Oezbekistaanse sum - - - Venezolaanse bolivar - - - Venezolaanse sterke bolivar - - - Vietnamese dong - - - Vanuatuaanse vatu - - - West-Samoaanse tala - - - CFA-franc BEAC - - - Zilver - - - Goud - - - Europese samengestelde eenheid - - - Europese monetaire eenheid - - - Europese rekeneenheid (XBC) - - - Europese rekeneenheid (XBD) - - - Oost-Caribische dollar - - - Special Drawing Rights - - - European Currency Unit - - - Franse gouden franc - - - Franse UIC-franc - - - CFA-franc BCEAO - - - Palladium - - - CFP-franc - - - Platina - - - RINET-fondsen - - - Valutacode voor testdoeleinden - - - Geen valuta - onbekende/ongeldige munteenheid - - - Jemenitische dinar - - - Jemenitische rial - - - Joegoslavische harde dinar - - - Joegoslavische noviy-dinar - - - Joegoslavische convertibele dinar - - - Zuid-Afrikaanse rand (financieel) - - - Zuid-Afrikaanse rand - - - Zambiaanse kwacha - - - Zaïrese nieuwe zaïre - - - Zaïrese zaïre - - - Zimbabwaanse dollar - - - - - - {0} dag - {0} dagen - - - {0} uur - {0} uur - - - {0} minuut - {0} minuten - - - {0} maand - {0} maanden - - - {0} seconde - {0} seconden - - - {0} week - {0} weken - - - {0} jaar - {0} jaar - - - - - ja:j - nee:n - - - - diff --git a/lib/zend/Zend/Locale/Data/nl_BE.xml b/lib/zend/Zend/Locale/Data/nl_BE.xml deleted file mode 100644 index 59de34915c..0000000000 --- a/lib/zend/Zend/Locale/Data/nl_BE.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - Lets - Occitaans (na 1500); Provençaals - Servo-Kroatisch - Nilo-Saharaans - - - Centraal-Amerika - Het Eiland Man - Malediven - Salomoneilanden - - - Traditioneel - - - - - - - - - d-MMM-y - - - - - d/MM/yy - - - - - - - E d/MM - E d/MM - E d/MM - E d/MM - - - d/MM - d/MM - d/MM - d/MM - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - E d/MM/yy - - - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - d/MM/yy - - - - - - - - - - - #,##0.00 ¤ - - - - - diff --git a/lib/zend/Zend/Locale/Data/nl_NL.xml b/lib/zend/Zend/Locale/Data/nl_NL.xml deleted file mode 100644 index 7d6376c6d1..0000000000 --- a/lib/zend/Zend/Locale/Data/nl_NL.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/nn.xml b/lib/zend/Zend/Locale/Data/nn.xml deleted file mode 100644 index ccbd75395d..0000000000 --- a/lib/zend/Zend/Locale/Data/nn.xml +++ /dev/null @@ -1,2825 +0,0 @@ - - - - - - - - - nb da sv en - - - {0} ({1}) - , - - - afar - abkhasisk - achinesisk - acoli - adangme - adyghe - avestisk - afrikaans - afroasiatisk språk - afrihili - ainu - akan - akkadisk - aleutisk - algonkinsk språk - sør-altai - amharisk - aragonsk - gammalengelsk - angika - apache-språk - arabisk - arameisk - araukansk - arapaho - kunstig språk - arawak - assamisk - asturisk - athapaskansk språk - australsk språk - avarisk - awadhi - aymara - aserbajdsjansk - basjkirsk - banda - bamilekisk språk - baluchi - balinesisk - basa - baltisk språk - kviterussisk - beja - bemba - berbisk - bulgarsk - bihari - bhojpuri - bislama - bikol - bini - siksika - bambara - bengali - bantu - tibetansk - bretonsk - braj - bosnisk - batak - burjatisk - buginesisk - blin - katalansk - caddo - sentralamerikansk indiansk språk - karibisk - kaukasisk språk - atsam - tsjetsjensk - cebuansk - keltisk språk - chamorro - chibcha - chagatai - chuukesisk - mari - chinook - choctaw - chipewiansk - cherokee - cheyenne - kamisk språk - korsikansk - koptisk - engelskbasert kreol- eller pidginspråk - franskbasert kreol- eller pidginspråk - portugisiskbasert kreol- eller pidginspråk - cree - krimtatarisk - kreol- eller pidginspråk - tsjekkisk - kasjubisk - kyrkjeslavisk - kusjitisk språk - tsjuvansk - walisisk - dansk - dakota - dargwa - dayak - tysk - austerriksk tysk - sveitsisk høgtysk - delaware - slavej - dogrib - dinka - dogri - dravidisk språk - lågsorbisk - duala - mellumnederlandsk - divehi - dyula - dzongkha - ewe - efik - gammalegyptisk - ekajuk - gresk - elamittisk - engelsk - kanadisk engelsk - engelsk (amerikansk) - mellomengelsk - esperanto - spansk - latinamerikansk spansk - iberisk spansk - estisk - baskisk - ewondo - persisk - fang - fanti - fulani - finsk - filippinsk - finsk-ugrisk språk - fijiansk - færøysk - fon - fransk - kanadisk fransk - sveitsisk fransk - mellomfransk - gammalfransk - nordfrisisk - austfrisisk - friuliansk - vestfrisisk - irsk - ga - gayo - gbaya - skotsk-gælisk - germansk språk - ges - kiribatisk - galicisk - mellomhøgtysk - guarani - gammalhøgtysk - gondi - gorontalo - gotisk - grebo - gammalgresk - sveitsertysk - gujarati - manx - gwichin - hausa - haida - hawaiisk - hebraisk - hindi - hiligaynon - himachali - hettittisk - hmong - hiri motu - kroatisk - høgsorbisk - haitisk - ungarsk - hupa - armensk - herero - interlingua - iban - indonesisk - interlingue - ibo - sichuan-yi - ijo - inupiak - iloko - indisk språk - indo-europeisk språk - ingusjisk - ido - iransk - irokansk språk - islandsk - italiensk - inuktitut - japansk - lojban - jødepersisk - jødearabisk - javanesisk - georgisk - karakalpakisk - kabylsk - kachin - jju - kamba - karensk - kawi - kabardisk - tyap - koro - kikongo - khasi - khoisanspråk - khotanesisk - kikuyu - kuanyama - kasakhisk - kalaallisut; grønlandsk - khmer - kimbundu - kannada - koreansk - konkani - kosraeansk - kpelle - kanuri - karachay-balkar - karelsk - kru - kurukh - kasjmiri - kurdisk - kumyk - kutenai - komi - kornisk - kirgisisk - latin - ladinsk - lahnda - lamba - luxemburgsk - lezghian - ganda - limburgisk - lingala - laotisk - mongo - lozi - litauisk - luba-katanga - luba-lulua - luiseno - lunda - luo - lushai - latvisk - maduresisk - magahi - maithili - makasar - mandingo - austronesisk - masai - moksha - mandar - mende - madagassisk - mellomirsk - marshallesisk - maori - micmac - minangkabau - anna språk - makedonsk - mon-khmerspråk - malayalam - mongolsk - mandsju - manipuri - manobospråk - moldavisk - mohawk - mossi - marathi - malayisk - maltesisk - fleire språk - mundaspråk - creek - mirandesisk - marwari - burmesisk - mayaspråk - erzya - nauru - nahuatl - nordamerikansk indiansk språk - napolitansk - bokmål - nord-ndebele - lågtysk - nepalsk - newari - ndonga - nias - niger-kordofaniansk språk - niueansk - nederlandsk - flamsk - nynorsk - norsk - nogai - gammalnorsk - n'ko - sør-ndebele - nordsotho - nubisk språk - navajo - klassisk newarisk - nyanja - nyamwezi - nyankole - nyoro - nzima - oksitansk - ojibwa - oromo - oriya - ossetisk - osage - ottomansk tyrkisk - otomisk språk - panjabi - papuisk språk - pangasinan - pahlavi - pampanga - papiamento - palauisk - gammalpersisk - filippinsk språk - fønikisk - pali - polsk - ponapisk - prakrit-språk - gammalprovençalsk - pashto - portugisisk - brasiliansk portugisisk - quechua - rajasthani - rapanui - rarotongansk - retoromansk - rundi - rumensk - romansk språk - romani - rot - russisk - aromansk - kinjarwanda - sanskrit - sandawe - jakutsk - søramerikansk indiansk språk - salishansk språk - samaritansk arameisk - sasak - santali - sardinsk - siciliansk - skotsk - sindhi - nordsamisk - selkupisk - semittisk språk - sango - gammalirsk - teiknspråk - serbokroatisk - shan - singalesisk - sidamo - sioux-språk - sino-tibetansk språk - slovakisk - slovensk - slavisk språk - samoansk - sørsamisk - samisk språk - lulesamisk - enaresamisk - skoltesamisk - shona - soninke - somali - sogdisk - songhai - albansk - serbisk - sranan tongo - serer - swati - nilo-saharaspråk - sørsotho - sundanesisk - sukuma - susu - sumerisk - svensk - swahili - klassisk syrisk - syrisk - tamil - taispråk - telugu - temne - tereno - tetum - tatsjikisk - thai - tigrinja - tigré - tivi - turkmensk - tokelau - tagalog - klingon - tlingit - tamasjek - tswana - tonga (Tonga-øyane) - tonga (Nyasa) - tok pisin - tyrkisk - tsonga - tsimshian - tatarisk - tumbuka - tupi-språk - altaisk språk - tuvalu - twi - tahitisk - tuvinisk - udmurt - uigurisk - ugaritisk - ukrainsk - umbundu - ikkje bestemt - urdu - usbekisk - vai - venda - vietnamesisk - volapyk - votisk - vallonsk - wakasjansk språk - walamo - waray - washo - sorbisk språk - wolof - kalmyk - xhosa - yao - yapesisk - jiddisk - joruba - jupisk språk - zhuang - zapotec - blissymbol - zenaga - kinesisk - forenkla kinesisk - tradisjonell kinesisk - zande - zulu - zuni - utan språkleg innhald - zaza - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - verda - Afrika - Nord-Amerika - Sør-Amerika - Oseania - Vest-Afrika - Sentral-Amerika - Aust-Afrika - Nord-Afrika - Sentral-Afrika - Sørlege Afrika - Amerika - nordlege Amerika - Karibia - Aust-Asia - Sør-Asia - Søraust-Asia - Sør-Europa - Australia og New Zealand - Melanesia - Mikronesia - Polynesia - Sørlege Sentral-Asia - Asia - Sentral-Asia - Vest-Asia - Europa - Aust-Europa - Nord-Europa - Vest-Europa - Samveldet av uavhengige statar - Latin-Amerika og Karibia - Kanaløyane - Andorra - Dei sameinte arabiske emirata - Afghanistan - Antigua og Barbuda - Anguilla - Albania - Armenia - Dei nederlandske Antillane - Angola - Antarktis - Argentina - Amerikansk Samoa - Austerrike - Australia - Aruba - Åland - Aserbajdsjan - Bosnia og Hercegovina - Barbados - Bangladesh - Belgia - Burkina Faso - Bulgaria - Bahrain - Burundi - Benin - Saint Barthélemy - Bermuda - Brunei Darussalam - Bolivia - Brasil - Bahamas - Bhutan - Bouvetøya - Botswana - Kviterussland - Belize - Canada - Kokosøyane - Kongo-Kinshasa - Den sentralafrikanske republikken - Kongo-Brazzaville - Sveits - Elfenbeinskysten - Cookøyane - Chile - Kamerun - Kina - Colombia - Costa Rica - Serbia og Montenegro - Cuba - Kapp Verde - Christmasøya - Kypros - Tsjekkia - Tyskland - Djibouti - Danmark - Dominica - Den dominikanske republikken - Algerie - Ecuador - Estland - Egypt - Vest-Sahara - Eritrea - Spania - Etiopia - Finland - Fiji - Falklandsøyane - Mikronesiaføderasjonen - Færøyane - Frankrike - Gabon - Storbritannia - Grenada - Georgia - Fransk Guyana - Guernsey - Ghana - Gibraltar - Grønland - Gambia - Guinea - Guadeloupe - Ekvatorial-Guinea - Hellas - Sør-Georgia og Sør-Sandwich-øyane - Guatemala - Guam - Guinea-Bissau - Guyana - Hong Kong S.A.R. (Kina) - Heard- og McDonaldsøyane - Honduras - Kroatia - Haiti - Ungarn - Indonesia - Irland - Israel - Man - India - Britiske område i Det indiske hav - Irak - Iran - Island - Italia - Jersey - Jamaica - Jordan - Japan - Kenya - Kirgisistan - Kambodsja - Kiribati - Komorene - St. Christopher og Nevis - Nord-Korea - Sør-Korea - Kuwait - Caymanøyane - Kasakhstan - Laos - Libanon - St. Lucia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Litauen - Luxembourg - Latvia - Libya - Marokko - Monaco - Moldova - Montenegro - Saint Martin - Madagaskar - Marshalløyane - Makedonia - Mali - Myanmar - Mongolia - Macao S.A.R. (Kina) - Nord-Marianane - Martinique - Mauritania - Montserrat - Malta - Mauritius - Maldivane - Malawi - Mexico - Malaysia - Mosambik - Namibia - Ny-Caledonia - Niger - Norfolkøyane - Nigeria - Nicaragua - Nederland - Noreg - Nepal - Nauru - Niue - New Zealand - Oman - Panama - Peru - Fransk Polynesia - Papua Ny-Guinea - Filippinane - Pakistan - Polen - St. Pierre og Miquelon - Pitcairn - Puerto Rico - Palestinsk territorium - Portugal - Palau - Paraguay - Qatar - Ytre Oseania - Den europeiske unionen - Réunion - Romania - Serbia - Russland - Rwanda - Saudi Arabia - Salomonøyane - Seychellane - Sudan - Sverige - Singapore - Saint Helena - Slovenia - Svalbard og Jan Mayen - Slovakia - Sierra Leone - San Marino - Senegal - Somalia - Surinam - São Tomé og Príncipe - El Salvador - Syria - Swaziland - Turks- og Caicosøyane - Tchad - Franske sørområde - Togo - Thailand - Tadsjikistan - Tokelau - Aust-Timor - Turkmenistan - Tunisia - Tonga - Tyrkia - Trinidad og Tobago - Tuvalu - Taiwan - Tanzania - Ukraina - Uganda - USAs ytre småøyar - USA - Uruguay - Usbekistan - Vatikanstaten - St. Vincent og Grenadinane - Venezuela - Jomfruøyane (britisk) - Jomfruøyane (USA) - Vietnam - Vanuatu - Wallis og Futuna - Samoa - Yemen - Mayotte - Sør-Afrika - Zambia - Zimbabwe - (ukjent eller ugyldig område) - - - tradisjonell tysk ortografi - standardisert resisk ortografi - tysk ortografi frå 1996 - nyare mellomfransk til 1606 - eldre nyfransk - austarmensk - vestarmensk - samla tyrkisk-latinsk alfabet - san giorgio- og biladialekt - boontling - det internasjonale fonetiske alfabetet (IPA) - det uralske fonetiske alfabetet UPA - resian, lipovazdialekt - monotonisk rettskriving - natisonedialekt - gniva- og njivadialekt - oseacco- og osojanedialekt - polytonisk rettskriving - dataspråk - revidert rettskriving - resisk dialekt - saaho-dialekt - skotsk standard engelsk - scouse-dialekt - stolvizza- og solbicadialekt - taraskievica-ortografi - valensisk dialekt - - - kalender - kollasjon - valuta - - - tradisjonell kinesisk sortering - buddhistisk kalender - kinesisk kalender - direkte sortering - forenkla kinesisk sortering - gregoriansk kalender - hebraisk kalender - indisk nasjonalkalender - islamsk kalender - islamsk sivil kalender - japansk kalender - telefonkatalogsortering - pinyin-sortering - kalender for Republikken Kina - streksortering - tradisjonell sortering - - - amerikansk - metrisk - - - Språk: {0} - Skrift: {0} - Område: {0} - - - - [a à b-e é f-o ó ò ô p-z æ ø å] - [á ǎ č ç đ è ê ń ñ ŋ š ŧ ü ž ä ö] - [a-z] - - - « - » - “ - ” - - - {0}−{1} - - - - - - jan - feb - mar - apr - mai - jun - jul - aug - sep - okt - nov - des - - - januar - februar - mars - april - mai - juni - juli - august - september - oktober - november - desember - - - - - J - F - M - A - M - J - J - A - S - O - N - D - - - - - - - sø. - må. - ty. - on. - to. - fr. - la. - - - søndag - måndag - tysdag - onsdag - torsdag - fredag - laurdag - - - - - må. - la. - - - S - M - T - O - T - F - L - - - - - - - K1 - K2 - K3 - K4 - - - 1. kvartal - 2. kvartal - 3. kvartal - 4. kvartal - - - - formiddag - ettermiddag - - - f.Kr. - e.Kr. - - - f.Kr. - e.Kr. - - - - - - EEEE d. MMMM y - - - - - d. MMMM y - - - - - d. MMM. y - - - - - dd.MM.yy - - - - - - - 'kl'. HH.mm.ss zzzz - - - - - HH.mm.ss z - - - - - HH.mm.ss - - - - - HH.mm - - - - - - d. MMMM - dd.MM - h.mm a - h.mm.ss a - mm.ss - MM.yy - Q yy - MMMM y - - - {0} – {1} - - M–M - - - E. dd.MM–E. dd.MM - E. dd.MM–E. dd.MM - - - MMM.–MMM. - - - E. d. MMM.–E. d. MMM. - E. d.–E. d. MMM. - - - d. MMM.–d. MMM. - d.–d. MMM - - - dd.MM–dd.MM - dd.MM–dd.MM - - - d.–d. - - - 5–06 - - - HH.mm–HH.mm - HH.mm–HH.mm - - - HH.mm–HH.mm v - HH.mm–HH.mm v - - - HH–HH v - - - y–y - - - MM.yy–MM.yy - MM.yy–MM.yy - - - E. dd.MM.yy–E. dd.MM.yy - E. dd.MM.yy–E. dd.MM.yy - E. dd.MM.yy–E. dd.MM.yy - - - MMM.–MMM. y - MMM. y–MMM. y - - - E. d. MMM.–E. d. MMM. y - E. d.–E. d. MMM. y - E. d. MMM. y–E. d. MMM. y - - - d. MMM.–d. MMM. y - d.–d. MMM. y - d. MMM. y–d. MMM. y - - - dd.MM.yy–dd.MM.yy - dd.MM.yy–dd.MM.yy - dd.MM.yy–dd.MM.yy - - - - - - æra - - - år - - - månad - - - veke - - - dag - for tre dagar sidan - i forgårs - i går - i dag - i morgon - i overmorgon - om tre dagar - - - vekedag - - - f.m./e.m.-val - - - time - - - minutt - - - sekund - - - sone - - - - - - +HH.mm;-HH.mm - GMT{0} - {0} - {1} ({0}) - - ukjend - - - Sørpolen - - - Belém - - - Påskeøya - - - Kapp Verde - - - Kanariøyane - - - Godthåb - - - Hongkong - - - Luxemburg - - - Ulan Bator - - - Mauritania - - - Maldivane - - - Mexico by - - - Cancún - - - Azorane - - - Lisboa - - - Moskva - - - Center, Nord-Dakota - - - Tasjkent - - - - sentralafrikansk tid - - - - - austafrikansk tid - - - - - sørafrikansk tid - sørafrikansk standardtid - - - - - vestafrikansk tid - vestafrikansk sommartid - - - - - Central Time - Central Standard Time - Central Daylight Time - - - - - AMT (Armenia) - AMST (Armenia) - - - - - sentralaustralsk tid - sentralaustralsk standardtid - sentralaustralsk sommartid - - - - - vest-sentralaustralsk tid - vest-sentralaustralsk standardtid - vest-sentralaustralsk sommartid - - - - - austaustralsk tid - austaustralsk standardtid - austaustralsk sommartid - - - - - vestaustralsk tid - vestaustralsk standardtid - vestaustralsk sommartid - - - - - CST (Kina) - CDT (Kina) - - - - - sentraleuropeisk tid - sentraleuropeisk sommartid - - - - - austeuropeisk tid - austeuropeisk sommartid - - - - - vesteuropeisk tid - vesteuropeisk sommartid - - - - - Greenwich middeltid - - - - - IST (Israel) - - - - - - - , -   - ; - % - 0 - # - + - − - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0 % - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - - - - andorransk peseta - - - UAE dirham - - - afghani (1927-2002) - - - afghani - AFN - - - albansk lek - - - armensk dram - - - nederlansk antillegylden - ANG - - - angolsk kwanza - AOA - - - angolsk kwanza (1977-1990) - - - angolsk ny kwanza (1990-2000) - - - angolsk kwanza reajustado (1995-1999) - - - argentisk austral - ARA - - - ARL - - - ARM - - - argentinsk peso (1983-1985) - - - argentinsk peso - ARS - - - austerriksk schilling - - - australsk dollar - AUD - - - arubisk gylden - AWG - - - aserbaijansk manat - - - aserbajdsjansk manat - aserbajdsjansk manat - aserbajdsjanske manat - AZN - - - bosnisk-hercegovinsk dinar - - - bosnisk-hercegovinsk mark (konvertibel) - BAM - - - barbadisk dollar - BBD - - - bangladeshisk taka - BDT - - - belgisk franc (konvertibel) - - - belgisk franc - BEF - - - belgisk franc (finansiell) - - - bulgarsk hard lev - - - bulgarsk ny lev - - - bahrainsk dinar - BHD - - - burundisk franc - BIF - - - bermudisk dollar - BMD - - - bruneisk dollar - BND - - - boliviano - BOB - - - bolivisk peso - BOP - - - bolivisk mvdol - - - brasiliansk cruzeiro novo (1967-1986) - BRB - - - brasiliansk cruzado - BRC - - - brasiliansk cruzeiro (1990-1993) - BRE - - - brasiliansk real - BRL - - - brasiliansk cruzado novo - BRN - - - brasiliansk cruzeiro - BRR - - - BRZ - - - bahamisk dollar - BSD - - - bhutansk ngultrum - BTN - - - burmesisk kyat - - - botswansk pula - botswansk pula - botswanske pula - - - kviterussisk ny rubel (1994-1999) - kviterussisk ny rubel (BYB) - kviterussiske nye rublar (BYB) - - - kviterussisk rubel - kviterussisk rubel - kviterussiske rublar - - - belizisk dollar - belizisk dollar - beliziske dollar - BZD - - - kanadisk dollar - kanadisk dollar - kanadiske dollar - CAD - - - kongolesisk franc - kongolesisk franc - kongolesiske franc - - - WIR euro - WIR euro - WIR euro - - - sveitsisk franc - sveitsisk franc - sveitsiske franc - CHF - - - WIR franc - WIR franc - WIR franc - - - CLE - - - chilensk unidades de fomento - chilensk unidades de fomento - chilenske unidades de fomento - - - chilensk peso - chilensk peso - chilenske peso - CLP - - - kinesisk yuan renminbi - - - colombiansk peso - colombiansk peso - colombianske peso - COP - - - unidad de valor real - unidad de valor real - unidad de valor real - - - costaricansk colon - costaricansk colon - costaricanske colon - CRC - - - gammal serbisk dinar - gammal serbisk dinar - gamle serbiske dinarar - - - tsjekkoslovakisk koruna (hard) - tsjekkoslovakisk koruna (hard) - tsjekkoslovakiske koruna (hard) - - - kubansk peso - kubansk peso - kubanske peso - - - kappverdisk escudo - CVE - - - kypriotisk pund - kypriotisk pund - kypriotiske pund - CYP - - - tsjekkisk koruna - tsjekkisk koruna - tsjekkiske koruna - CZK - - - austtysk mark - austtysk mark - austtyske mark - - - tysk mark - tysk mark - tyske mark - DEM - - - djiboutisk franc - djiboutisk franc - djiboutiske franc - - - dansk krone - - - dominikansk peso - dominikansk peso - dominikanske peso - DOP - - - algerisk dinar - algerisk dinar - algeriske dinarar - - - ecuadoriansk sucre - ecuadoriansk sucre - ecuadorianske sucre - - - ecuadoriansk unidad de valor constante (UVC) - ecuadoriansk unidad de valor constante (UVC) - ecuadorianske unidad de valor constante (UVC) - - - estisk kroon - estisk kroon - estiske kroon - - - egyptisk pund - egyptisk pund - egyptiske pund - - - eritreisk nakfa - eritreisk nakfa - eritreiske nakfa - - - spansk peseta (A-konto) - spansk peseta (A-konto) - spanske peseta (A-konto) - - - spansk peseta (konvertibel konto) - spansk peseta (konvertibel konto) - spanske peseta (konvertibel konto) - - - spansk peseta - spansk peseta - spanske peseta - - - etiopisk birr - etiopisk birr - etiopiske birr - - - euro - EUR - - - finsk mark - finsk mark - finske mark - - - fijiansk dollar - fijiansk dollar - fijianske dollar - FJD - - - Falkland-pund - Falkland-pund - Falkland-pund - FKP - - - fransk franc - fransk franc - franske franc - FRF - - - britisk pund sterling - GBP - - - georgisk kupon larit - georgisk kupon larit - georgiske kupon larit - - - georgisk lari - georgisk lari - georgiske lari - - - ghanesisk cedi (1979-2007) - ghanesisk cedi (GHC) - ghanesiske cedi (GHC) - GHC - - - ghanesisk cedi - ghanesisk cedi - ghanesiske cedi - GHS - - - gibraltarsk pund - gibraltarsk pund - gibraltarske pund - GIP - - - gambisk dalasi - gambisk dalasi - gambiske dalasi - - - guineansk franc - guineansk franc - guineanske franc - - - guineansk syli - guineansk syli - guineanske syli - - - ekvatorialguineansk ekwele guineana - ekvatorialguineansk ekwele - ekvatorialguineanske ekwele - - - gresk drakme - gresk drakme - greske drakmer - - - guatemalansk quetzal - guatemalansk quetzal - guatemalanske quetzal - - - portugisisk guinea escudo - portugisisk guinea escudo - portugisiske guinea escudo - - - Guinea-Bissau-peso - - - guyansk dollar - guyansk dollar - guyanske dollar - - - Hongkong-dollar - Hongkong-dollar - Hongkong-dollar - - - honduransk lempira - honduransk lempira - honduranske lempira - - - kroatisk dinar - kroatisk dinar - kroatiske dinarar - - - kroatisk kuna - kroatisk kuna - kroatiske kuna - - - haitisk gourde - haitisk gourde - haitiske gourde - - - ungarsk forint - ungarsk forint - ungarske forintar - - - indonesisk rupi - indonesisk rupi - indonesiske rupiar - - - irsk pund - irsk pund - irske pund - - - israelsk pund - israelsk pund - israelske pund - - - israelsk ny shekel - israelsk ny shekel - israelske nye sheklar - - - indisk rupi - INR - - - iraksk dinar - irakisk dinar - irakiske dinarar - - - iransk rial - iransk rial - iranske rialar - - - islandsk krone - islandsk krone - islandske kroner - - - italiensk lire - italiensk lire - italienske lire - - - jamaikansk dollar - jamaikansk dollar - jamaikanske dollar - - - jordansk dinar - jordansk dinar - jordanske dinarar - - - japansk yen - JPY - - - kenyansk shilling - kenyansk shilling - kenyanske shilling - - - kirgisisk som - kirgisisk som - kirgisiske som - - - kambodsjansk riel - kambodsjansk riel - kambodsjanske riel - - - komorisk franc - komorisk franc - komoriske franc - - - nordkoreansk won - nordkoreansk won - nordkoreanske won - - - sørkoreansk won - sørkoreansk won - sørkoreanske won - - - kuwaitisk dinar - kuwaitisk dinar - kuwaitiske dinarar - - - caymansk dollar - caymansk dollar - caymanske dollar - - - kasakhstansk tenge - kasakhstansk tenge - kasakhstanske tenge - - - laotisk kip - laotisk kip - laotiske kip - - - libanesisk pund - libanesisk pund - libanesiske pund - - - srilankisk rupi - srilankisk rupi - srilankiske rupiar - - - liberisk dollar - liberisk dollar - liberiske dollar - - - lesothisk loti - lesothisk loti - lesothiske loti - - - litauisk lita - litauisk lita - litauiske lita - - - litauisk talona - litauisk talona - litauiske talona - - - luxemburgsk konvertibel franc - luxemburgsk konvertibel franc - luxemburgske konvertible franc - - - luxemburgsk franc - luxemburgsk franc - luxemburgske franc - - - luxemburgsk finansiell franc - luxemburgsk finansiell franc - luxemburgske finansielle franc - - - latvisk lat - latvisk lat - latviske lat - - - latvisk rubel - latvisk rubel - latviske rublar - - - libysk dinar - libysk dinar - libyske dinarar - - - marokkansk dirham - marokkansk dirham - marokkanske dirham - - - marokkansk franc - marokkansk franc - marokkanske franc - - - moldovsk leu - moldovsk leu - moldovske lei - - - madagassisk ariary - madagassisk ariary - madagassiske ariary - - - madagassisk franc - madagassisk franc - madagassiske franc - - - makedonsk denar - makedonsk denar - makedonske denarar - - - malisk franc - malisk franc - maliske franc - - - myanmarsk kyat - myanmarsk kyat - myanmarske kyat - - - mongolsk tugrik - mongolsk tugrik - mongolske tugrik - - - makaosk pataca - makaosk pataca - makaoske pataca - - - mauritansk ouguiya - mauritansk ouguiya - mauritanske ouguiya - - - maltesisk lira - maltesisk lira - maltesiske lira - - - maltesisk pund - maltesisk pund - maltesiske pund - - - mauritansk rupi - mauritansk rupi - mauritanske rupiar - - - maldivisk rufiyaa - maldivisk rufiyaa - maldiviske rufiyaa - - - malawisk kwacha - malawisk kwacha - malawiske kwacha - - - meksikansk peso - meksikansk peso - meksikanske peso - - - meksikansk sølvpeso (1861-1992) - meksikansk sølvpeso (MXP) - meksikanske sølvpeso (MXP) - - - meksikansk unidad de inversion (UDI) - meksikansk unidad de inversion (UDI) - meksikanske unidad de inversion (UDI) - - - malaysisk ringgit - malaysisk ringgit - malaysiske ringgit - - - mosambikisk escudo - mosambikisk escudo - mosambikiske escudo - - - gammal mosambikisk metical - gammal mosambikisk metical - gamle mosambikiske metical - - - mosambikisk metical - - - namibisk dollar - namibisk dollar - namibiske dollar - - - nigeriansk naira - nigeriansk naira - nigerianske naira - - - nicaraguansk cordoba - nicaraguansk cordoba - nicaraguanske cordoba - - - nicaraguansk cordoba oro - nicaraguansk cordoba oro - nicaraguanske cordoba oro - - - nederlandsk gylden - nederlandsk gylden - nederlandske gylden - - - norsk krone - kr - - - nepalsk rupi - nepalsk rupi - nepalske rupiar - - - new zealandsk dollar - new zealandsk dollar - new zealandske dollar - - - omansk rial - omansk rial - omanske rial - - - panamansk balboa - panamansk balboa - panamanske balboa - - - peruansk inti - peruansk inti - peruanske inti - - - peruansk nuevo sol - peruansk nuevo sol - peruanske nuevo sol - - - peruansk sol - peruansk sol - peruanske sol - - - papuansk kina - papuansk kina - papuanske kina - - - filippinsk peso - filippinsk peso - filippinske peso - - - pakistansk rupi - pakistansk rupi - pakistanske rupiar - - - polsk zloty - polsk zloty - polske zloty - - - polsk zloty (1950-1995) - polsk zloty (PLZ) - polske zloty (PLZ) - - - portugisisk escudo - portugisisk escudo - portugisiske escudo - - - paraguayansk guarani - paraguayansk guarani - paraguayanske guarani - - - qatarsk rial - qatarsk rial - qatarske rial - - - rhodesisk dollar - rhodesisk dollar - rhodesiske dollar - - - gammal rumensk leu - gammal rumensk leu - gamle rumenske lei - - - rumensk leu - rumensk leu - rumenske lei - - - serbisk dinar - serbisk dinar - serbiske dinarar - - - russisk rubel - - - russisk rubel (1991-1998) - russisk rubel (RUR) - russiske rublar (RUR) - - - rwandisk franc - rwandisk franc - rwandiske franc - - - saudiarabisk rial - saudiarabisk rial - saudiarabiske rial - - - salomonsk dollar - salomonsk dollar - salomonske dollar - - - seychellisk rupi - seychellisk rupi - seychelliske rupiar - - - gammal sudanesisk dinar - gammal sudansk dinar - gamle sudanske dinarar - - - sudansk pund - sudansk pund - sudanske pund - - - gammalt sudanesisk pund - gammalt sudansk pund - gamle sudanske pund - - - svensk krone - svensk krone - svenske kroner - - - singaporsk dollar - singaporsk dollar - singaporske dollar - - - sankthelensk pund - sankthelensk pund - sankthelenske pund - - - slovensk tolar - slovensk tolar - slovenske tolar - - - slovakisk koruna - slovakisk koruna - slovakiske koruna - - - sierraleonsk leone - sierraleonsk leone - sierraleonske leone - - - somalisk shilling - somalisk shilling - somaliske shilling - - - surinamsk dollar - surinamsk dollar - surinamske dollar - - - surinamsk gylden - surinamsk gylden - surinamske gylden - - - Sao Tome og Principe-dobra - - - sovjetisk rubel - sovjetisk rubel - sovjetiske rublar - - - salvadoransk colon - salvadoransk colon - salvadoranske colon - - - syrisk pund - syrisk pund - syriske pund - - - swazilandsk lilangeni - swazilandsk lilangeni - swazilandske lilangeni - - - thailandsk baht - thailandsk baht - thailandske baht - - - tadsjikisk rubel - tadsjikisk rubel - tadsjikiske rublar - - - tadsjikisk somoni - tadsjikisk somoni - tadsjikiske somoni - - - turkmensk manat - turkmensk manat - turkmenske manat - - - tunisisk dinar - tunisisk dinar - tunisiske dinarar - - - tongansk paʻanga - tongansk paʻanga - tonganske paʻanga - - - timoresisk escudo - timoresisk escudo - timoresiske escudo - - - gammal tyrkiske lire - gammal tyrkisk lire - gamle tyrkiske lire - - - tyrkisk lire - tyrkisk lire - tyrkiske lire - - - trinidadisk dollar - trinidadisk dollar - trinidadiske dollar - - - taiwansk ny dollar - taiwansk ny dollar - taiwanske nye dollar - - - tanzaniansk shilling - tanzaniansk shilling - tanzanianske shilling - - - ukrainsk hryvnia - ukrainsk hryvnia - ukrainske hryvnia - - - ukrainsk karbovanetz - ukrainsk karbovanetz - ukrainske karbovanetz - - - ugandisk shilling (1966-1987) - ugandisk shilling (UGS) - ugandiske shilling (UGS) - - - ugandisk shilling - ugandisk shilling - ugandiske shilling - - - amerikansk dollar - USD - - - amerikansk dollar (neste dag) - amerikansk dollar (neste dag) - amerikanske dollar (neste dag) - - - amerikansk dollar (same dag) - amerikansk dollar (same dag) - amerikanske dollar (same dag) - - - uruguayansk peso en unidades indexadas - uruguayansk peso en unidades indexadas - uruguayanske peso en unidades indexadas - - - uruguayansk peso (1975-1993) - uruguayansk peso (UYP) - uruguayanske peso (UYP) - - - uruguayansk peso - uruguayansk peso - uruguayanske peso - - - usbekisk sum - usbekisk sum - usbekiske sum - - - venezuelansk bolivar - venezuelansk bolivar - venezuelanske bolivar - - - venezuelansk bolivar fuerte - venezuelansk bolivar fuerte - venezuelanske bolivar fuerte - - - vietnamesisk dong - vietnamesisk dong - vietnamesiske dong - - - vanuatuisk vatu - vanuatuisk vatu - vanuatuiske vatu - - - vestsamoisk tala - vestsamoisk tala - vestsamoiske tala - - - CFA franc BEAC - CFA franc BEAC - CFA franc BEAC - - - sølv - sølv - sølv - - - gull - gull - gull - - - europeisk samansett eining - europeisk samansett eining - europeiske samansette einingar - - - europeisk monetær eining - europeisk monetær eining - europeiske monetære einingar - - - europeisk kontoeining (XBC) - europeisk kontoeining (XBC) - europeiske kontoeiningar (XBC) - - - europeisk kontoeining (XBD) - europeisk kontoeining (XBD) - europeiske kontoeiningar (XBD) - - - austkaribisk dollar - austkaribisk dollar - austkaribiske dollar - - - spesielle trekkrettar - spesiell trekkrett - spesielle trekkrettar - - - europeisk valutaeining - europeisk valutaeining - europeiske valutaeiningar - - - fransk gullfranc - fransk gullfranc - franske gullfranc - - - fransk UIC-franc - fransk UIC-franc - franske UIC-franc - - - CFA franc BCEAO - - - palladium - palladium - palladium - - - CFP franc - CFP-franc - CFP-franc - - - platina - platina - platina - - - RINET-fond - RINET-fond - RINET-fond - - - testvalutakode - testvalutakode - testvalutakode - - - ukjend eller ugyldig valuta - ukjend/ugyldig valuta - ukjend eller ugyldig valuta - - - jemenittisk dinar - jemenittisk dinar - jemenittiske dinarar - - - jemenittisk rial - jemenittisk rial - jemenittiske rialar - - - jugoslavisk dinar (hard) - jugoslavisk dinar (hard) - jugoslaviske dinarar (hard) - - - jugoslavisk noviy-dinar - jugoslaviske noviy-dinarar - - - jugoslavisk konvertibel dinar - jugoslavisk konvertibel dinar - jugoslaviske konvertible dinarar - - - sørafrikansk rand (finansiell) - - - sørafrikansk rand - - - zambisk kwacha - - - zairisk ny zaire - - - zairisk zaire - - - zimbabwisk dollar - - - - - - {0} dag - {0} dagar - - - {0} time - {0} timar - - - {0} minutt - {0} minutt - - - {0} månad - {0} månader - - - {0} sekund - {0} sekund - - - {0} veke - {0} veker - - - {0} år - {0} år - - - - - ja:j - nei:n - - - - diff --git a/lib/zend/Zend/Locale/Data/nn_NO.xml b/lib/zend/Zend/Locale/Data/nn_NO.xml deleted file mode 100644 index 4d40db4f69..0000000000 --- a/lib/zend/Zend/Locale/Data/nn_NO.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/no.xml b/lib/zend/Zend/Locale/Data/no.xml deleted file mode 100644 index a58c03d17f..0000000000 --- a/lib/zend/Zend/Locale/Data/no.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/nr.xml b/lib/zend/Zend/Locale/Data/nr.xml deleted file mode 100644 index 9dff206f5e..0000000000 --- a/lib/zend/Zend/Locale/Data/nr.xml +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - - - - - isiNdebele - - - - [a-z] - - - ‘ - ’ - “ - ” - - - - - - - - Jan - Feb - Mat - Apr - Mey - Jun - Jul - Arh - Sep - Okt - Usi - Dis - - - Janabari - uFeberbari - uMatjhi - u-Apreli - Meyi - Juni - Julayi - Arhostosi - Septemba - Oktoba - Usinyikhaba - Disemba - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Son - Mvu - Bil - Tha - Ne - Hla - Gqi - - - uSonto - uMvulo - uLesibili - Lesithathu - uLesine - ngoLesihlanu - umGqibelo - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - AM - PM - - - BC - AD - - - BC - AD - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - , -   - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤#,##0.00 - - - - - - diff --git a/lib/zend/Zend/Locale/Data/nr_ZA.xml b/lib/zend/Zend/Locale/Data/nr_ZA.xml deleted file mode 100644 index d637dd2e78..0000000000 --- a/lib/zend/Zend/Locale/Data/nr_ZA.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/nso.xml b/lib/zend/Zend/Locale/Data/nso.xml deleted file mode 100644 index 3aac3945c5..0000000000 --- a/lib/zend/Zend/Locale/Data/nso.xml +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - - - Sesotho sa Leboa - - - - [a b d e ê f-o ô p r s š t u w-y] - [c q v z] - [a-z] - - - ‘ - ’ - “ - ” - - - - - - - - Jan - Feb - Mat - Apo - Mei - Jun - Jul - Ago - Set - Okt - Nof - Dis - - - Janaware - Feberware - Matšhe - Aporele - Mei - June - Julae - Agostose - Setemere - Oktobore - Nofemere - Disemere - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Son - Mos - Bed - Rar - Ne - Hla - Mok - - - Sontaga - Mosupalogo - Labobedi - Laboraro - Labone - Labohlano - Mokibelo - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - AM - PM - - - BC - AD - - - BC - AD - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - , -   - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤#,##0.00 - - - - - - diff --git a/lib/zend/Zend/Locale/Data/nso_ZA.xml b/lib/zend/Zend/Locale/Data/nso_ZA.xml deleted file mode 100644 index 605e3a1c3e..0000000000 --- a/lib/zend/Zend/Locale/Data/nso_ZA.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/numberingSystems.xml b/lib/zend/Zend/Locale/Data/numberingSystems.xml deleted file mode 100644 index 3a0287a463..0000000000 --- a/lib/zend/Zend/Locale/Data/numberingSystems.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ny.xml b/lib/zend/Zend/Locale/Data/ny.xml deleted file mode 100644 index 5b7e06bb3e..0000000000 --- a/lib/zend/Zend/Locale/Data/ny.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - [a-p r-u w ŵ y z] - [q v x] - - - - - - - - Jan - Feb - Mal - Epu - Mei - Jun - Jul - Oga - Sep - Oku - Nov - Dis - - - Januwale - Febuluwale - Malichi - Epulo - Mei - Juni - Julai - Ogasiti - Seputemba - Okutoba - Novemba - Disemba - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Mul - Lem - Wir - Tat - Nai - San - Wer - - - Lamulungu - Lolemba - Lachiwiri - Lachitatu - Lachinayi - Lachisanu - Loweruka - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - AM - PM - - - BC - AD - - - BC - AD - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - Malawian Kwacha - - - - diff --git a/lib/zend/Zend/Locale/Data/ny_MW.xml b/lib/zend/Zend/Locale/Data/ny_MW.xml deleted file mode 100644 index fbeb6f1c8a..0000000000 --- a/lib/zend/Zend/Locale/Data/ny_MW.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/oc.xml b/lib/zend/Zend/Locale/Data/oc.xml deleted file mode 100644 index e6b05b373d..0000000000 --- a/lib/zend/Zend/Locale/Data/oc.xml +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - - - - - arabi - lenga artificiala - azerbaijani - berbèr - breton - catalan - lenga celtica - danés - aleman - grec - anglés - espanhòl - bàscol - francés - francés mejan - grec ancian - ebreu - armèni - italian - latin - flamenc - occitan - fenician - occitan ancian - portugués - lenga romança - chinés - - - - - - - - - - - - - - - - - Africa - America centrala - Americas - Austràlia e Nòva Zelanda - Asia - Asia centrala - Euròpa - Andòrra - Afganistan - Antigua e Barbuda - Anguilla - Albania - Armènia - Angòla - Antartica - Argentina - Samòa americana - Àustria - Austràlia - Azerbaijan - Bòsnia e Ercegovina - Barbados - Bangladesh - Belgica - Burkina Faso - Bolgària - Bahrain - Burundi - Benin - Bermuda - Brunei - Bolívia - Brasil - Bahamas - Botan - Isla Bouvet - Botswana - Bielorussia - Belize - Canadà - Còngo - Kinshasa - Republica Centraficana - Còngo - Brazzaville - Soïssa - Còsta d'Evòri - Chile - Cameron - China - Colómbia - Còsta Rica - Cuba - Cap Verd - Chipre - Republica chèca - Alemanha - Jiboti - Danemarc - Republica dominicana - Argeria - Eqüator - Estònia - Egipte - Eritrèa - Espanha - Etiopia - Finlàndia - Fiji - França - Gabon - Reiaume Unit - Guiana francesa - Guinèa Eqüatoriala - Croàcia - Israèl - Índia - Itàlia - Japon - Cambòja - Comòros - Corèa del Nòrd - Corèa del Sud - Islas Caiman - Cazacstan - Libia - Marròc - Mónegue - Birmania - Mauritània - Moçambic - Peró - Portugal - Belau - Union Europèa - Russia - Arabia Saudita - Lo Salvador - Súria - Chad - Timòr Èst - Ucràina - Estats Units - Veneçuèla - Vietnam - Desconegut o Region invalida - - - calendier - òrde alfabetic - moneda - - - Lenga: {0} - Escritura: {0} - Region: {0} - - - - [a á à b-e é è f-i í ï j-o ó ò p-u ú ü v-z] - [á à ç é è í ï ó ò ú ü] - [a-z] - - - - - - - - genièr - febrièr - març - abril - mai - junh - julhet - agost - setembre - octòbre - novembre - dezembre - - - - - - - Dimenge - diluns - dimarç - dimècres - dijòus - divèndres - dissabte - - - - - - era - - - annada - - - mes - - - setmana - - - jorn - ièr - uèi - deman - - - jorn de la setmana - - - ora - - - minuta - - - segonda - - - zòna - - - - - - Ora de: {0} - - - - - - euro - - - - - - {0} jorns - - - {0} oras - - - {0} minutas - - - {0} mes - - - {0} segondas - - - {0} setmanas - - - {0} annadas - - - diff --git a/lib/zend/Zend/Locale/Data/oc_FR.xml b/lib/zend/Zend/Locale/Data/oc_FR.xml deleted file mode 100644 index 2c373fd766..0000000000 --- a/lib/zend/Zend/Locale/Data/oc_FR.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/om.xml b/lib/zend/Zend/Locale/Data/om.xml deleted file mode 100644 index 06564e0c43..0000000000 --- a/lib/zend/Zend/Locale/Data/om.xml +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - - - - - - Afrikoota - Afaan Sidaamaa - Arabiffaa - Afaan Azerbaijani - Afaan Belarusia - Afaan Bulgariya - Afaan Bihari - Afaan Baangladeshi - Afaan Bosniyaa - Afaan Katalaa - Afaan Czech - Welishiffaa - Afaan Deenmaark - Afaan Jarmanii - Afaan Giriiki - Ingliffa - Afaan Esperantoo - Afaan Ispeen - Afaan Istooniya - Afaan Baskuu - Afaan Persia - Afaan Fiilaandi - Afaan Filippinii - Afaan Faroese - Afaan Faransaayii - Afaan Firisiyaani - Afaan Ayirishii - Scots Gaelic - Afaan Galishii - Afaan Guarani - Afaan Gujarati - Afaan Hebrew - Afaan Hindii - Afaan Croatian - Afaan Hangaari - Interlingua - Afaan Indoneziya - Ayiislandiffaa - Afaan Xaaliyaani - Afaan Japanii - Afaan Java - Afaan Georgian - Afaan Kannada - Afaan Korea - Afaan Laatini - Afaan Liituniyaa - Afaan Lativiyaa - Afaan Macedooniyaa - Malayaalamiffaa - Afaan Maratii - Malaayiffaa - Afaan Maltesii - Afaan Nepalii - Afaan Dachii - Afaan Norwegian - Afaan Norweyii - Afaan Occit - Oromoo - Afaan Punjabii - Afaan Polandii - Afaan Porchugaal - Afaan Portugali (Braazil) - Afaan Protuguese - Afaan Romaniyaa - Afaan Rushiyaa - Afaan Sinhalese - Afaan Slovak - Afaan Islovaniyaa - Afaan Albaniyaa - Afaan Serbiya - Afaan Sudaanii - Afaan Suwidiin - Suwahilii - Afaan Tamilii - Afaan Telugu - Afaan Tayii - Afaan Tigiree - Lammii Turkii - Afaan Kilingon - Afaan Turkii - Afaan Ukreenii - Afaan Urdu - Afaan Uzbek - Afaan Veetinam - Afaan Xhosa - Chinese - Afaan Zuulu - - - - - - Brazil - China - Germany - Itoophiyaa - France - United Kingdom - India - Italy - Japan - Keeniyaa - Russia - United States - - - - [a-z] - - - - - - - - Ama - Gur - Bit - Elb - Cam - Wax - Ado - Hag - Ful - Onk - Sad - Mud - - - Amajjii - Guraandhala - Bitooteessa - Elba - Caamsa - Waxabajjii - Adooleessa - Hagayya - Fuulbana - Onkololeessa - Sadaasa - Muddee - - - - - J - F - M - A - M - J - J - A - S - O - N - D - - - - - - - Dil - Wix - Qib - Rob - Kam - Jim - San - - - Dilbata - Wiixata - Qibxata - Roobii - Kamiisa - Jimaata - Sanbata - - - - - S - M - T - W - T - F - S - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - WD - WB - - - KD - KB - - - - - - EEEE, MMMM d, y - - - - - dd MMMM y - - - - - dd-MMM-y - - - - - dd/MM/yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - dd MMMM - dd/MM - MM/yy - Q yy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - - ¤#,##0.00 - - - - - - Brazilian Real - - - Chinese Yuan Renminbi - - - Itoophiyaa Birrii - - - Euro - - - British Pound Sterling - - - Indian Rupee - - - Japanese Yen - - - Russian Ruble - - - US Dollar - - - - - diff --git a/lib/zend/Zend/Locale/Data/om_ET.xml b/lib/zend/Zend/Locale/Data/om_ET.xml deleted file mode 100644 index d6ed747586..0000000000 --- a/lib/zend/Zend/Locale/Data/om_ET.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/om_KE.xml b/lib/zend/Zend/Locale/Data/om_KE.xml deleted file mode 100644 index b4f1f7a341..0000000000 --- a/lib/zend/Zend/Locale/Data/om_KE.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/or.xml b/lib/zend/Zend/Locale/Data/or.xml deleted file mode 100644 index aa152d0b21..0000000000 --- a/lib/zend/Zend/Locale/Data/or.xml +++ /dev/null @@ -1,1142 +0,0 @@ - - - - - - - - - - - ଅଫାର୍ - ଆବ୍ଖାଜିଆନ୍ - ଆଚାଇନୀଜ୍ - ଆକୋଲି - ଆଦାଙ୍ଗେମ୍ - ଅଦ୍ୟଘେ - ଅବେସ୍ତନ - ଆଫ୍ରିକାନସ୍ - ଆଫ୍ରୋ ଏସିଆଟିକ୍ ଭାଷା - ଆଫ୍ରିହିଲି - ଆଇନୁ - ଅକନ୍ - ଆକାଡିଆନ୍ - ଆଲେଇଟୁ - ଏଲ୍ଗୋନକ୍ବିନା ଭାଷା - ଦକ୍ଷିଣ ଆଲ୍ଟାଇ - ଆମହାରକି - ଆର୍ଗୋନୀ - ପୁରୁଣା ଇଁରାଜୀ - ଅଁଗୀକା - ଆପାଚୀ ଭାଷା - ଆରବିକ୍ - ଆରାମାଇକ୍ - ଆରାଉକାନିଆନ୍ - ଆରାପାହୋ - କୃତ୍ରିମ ଭାଷା - ଆରୱକ - ଆସାମୀ - ଆଷ୍ଟୁରିଆନ୍ - ଆଥପାସ୍କାନ୍ ଭାଷା - ଅଷ୍ଟ୍ରେଲିଆନ୍ ଭାଷା - ଆଭାରିକ୍ - ଆୱାଧି - ଆୟମାରା - ଆଜେରବାଇଜାନି - ବଶଖିର୍ - ବାନ୍ଦା - ବମିଲେକେ ଭାଷା - ବାଲୁଚି - ବାଲିନୀଜ୍ - ବାସା - ବାଲାଟିକ୍ ଭାଷା - ବେଲାରୁଷିଆନ୍ - ବେଜା - ବେମ୍ବା - ବେରବର୍ - ବୁଲଗେରିଆନ୍ - ବିହାରୀ - ଭୋଜପୁରୀ - ବିସଲାମା - ବିକୋଲ୍ - ବିନି - ବିକ୍ସିକା - ବାମ୍ବାରା - ବଙ୍ଗାଳୀ - ବାଣ୍ଟୁ - ତିବେତାନ୍ - ବ୍ରେଟନ୍ - ବ୍ରାଜ୍ - କାଟଲାନ୍ - ବାଟାକ୍ - ବୁରିଆଟ୍ - ବୁଗୀନୀଜ୍ - ବ୍ଲିନ୍ - କାଟାଲାନ୍ - କାଡୋ - ମଧ୍ୟ ଆମେରିକା ଭାରତୀୟ ଭାଷା - କାରିବ୍ - କାକୋଶୀ ଭାଷା - ଆତ୍ସମ୍ - ଚେଚନ୍ - ସୀବୁଆନୋ - କେଲ୍ଟ ଭାଷା - ଚାମୋରୋ - ଚିବ୍ଚା - ଛଗତାଇ - ଚୁକୀସେ - ମାରୀ - ଚିନୁକ୍ ଜାରଗାଁନ୍ - ଚୋଟୱା - ଚିପେୱାନ୍ - ଚେରୋକୀ - ଚେଚେନା - ଚାମିକ୍ ଭାଷା - କୋର୍ସିକାନ୍ - କପ୍ଟିକ୍ - ଇଁରାଜୀ ଆଧାରିତ କ୍ରେଓଲ୍ କିମ୍ବା ପିଜିନ୍ - ଫ୍ରେଞ୍ଚ ଆଧାରିତ କ୍ରେଓଲ୍ କିମ୍ବା ପିଜିନ୍ - ପର୍ତ୍ତୁଗ୍ରୀଜ୍ ଆଧାରିତ କ୍ରେଓଲ୍ କିମ୍ବା ପିଜିନ୍ - କ୍ରୀ - କ୍ରୀମିନ୍ ତୁର୍କୀସ୍ - କ୍ରେଓଲ୍ କିମ୍ବା ପିଜିନ୍ - ଚେକ୍ - କାଶୁବିଆନ୍ - ଚର୍ଚ୍ଚ ସ୍ଲାଭିକ୍ - କୁଶିତିକ୍ ଭାଷା - ଚୁଭାଶ୍ - ୱେଲ୍ସ - ଡାନ୍ନିସ୍ - ଡାକୋଟା - ଡାରାଗ୍ୱା - ଡାୟକ୍ - ଜର୍ମାନ୍ - ଅଷ୍ଟ୍ରିଆନ୍ ଜର୍ମାନ - ସ୍ବିସ୍ ହାଇ ଜର୍ମାନ୍ - ଡେଲାୱେର୍ - ସ୍ଲେଭ୍ - ଡୋଗ୍ରିବ୍ - ଦିଙ୍କା - ଡୋଗ୍ରୀ - ଦ୍ରାବିଡିଆନ୍ ଭାଷା - ନିଚଳା ସର୍ବିଆନ୍ - ଡୁଆନା - ମଧ୍ୟ ପର୍ତ୍ତୁଗାଲୀ - ଡିଭେହୀ - ଡୁଆଲା - ଭୂଟାନୀ - ଇୱେ - ଏଫିକ୍ - ପ୍ରାଚୀନ୍ ମିଶିରି - ଏକାଜୁକ୍ - ଗ୍ରୀକ୍ - ଏଲାମାଇଟ୍ - ଇଂରାଜୀ - ଅଷ୍ଟ୍ରେଲିଆନ୍ ଇଁରାଜୀ - କାନାଡିଆନ୍ ଇଁରାଜୀ - ବ୍ରିଟିଶ୍ ଇଁରାଜୀ - ୟୁ.ଏସ୍. ଇଁରାଜୀ - ମଧ୍ୟ ଇଁରାଜୀ - ଏସ୍ପାରେଣ୍ଟୋ - ସ୍ପାନିସ୍ - ଲାଟିନ୍ ଆମେରିକାନ୍ ସ୍ପାନିଶ୍ - ଲେବେରିଆନ୍ ସ୍ପାନିଶ୍ - ଏସ୍ତୋନିଆନ୍ - ବାସ୍କ୍ୱି - ଇୱୋଣ୍ଡୋ - ପର୍ସିଆନ୍ - ଫାଙ୍ଗ - ଫାଣ୍ଟି - ଫୁଲାହ - ଫିନ୍ନିସ୍ - ଫିଲିପିନୋ - ଫାଣ୍ଟିଫିନ୍ନୋ-ଉଗ୍ରୀଆନ୍ ଭାଷା - ଫିଜି - ଫାରୋଏସେ - ଫନ୍ - ଫ୍ରେଞ୍ଚ - କାନାଡିଆନ୍ ଫ୍ରେଞ୍ଚ - ସ୍ବିସ୍ ଫ୍ରେଞ୍ଚ୍ - ମଧ୍ୟ ଫ୍ରେଞ୍ଚ - ପୁରୁଣା ଫ୍ରେଞ୍ଚ - ଉତ୍ତର ଫ୍ରିସିୟାନ୍ - ପୂର୍ବ ଫ୍ରିସିୟାନ୍ - ଫ୍ରିୟୁଲୀୟାନ୍ - ପଶ୍ଚିମ ଫ୍ରିସିୟନ୍ - ଇରିସ୍ - ଗା - ଗାୟୋ - ଗବାୟା - ସ୍କଟିସ୍ ଗାଏଲିକ୍ - ଜର୍ମାନିକ୍ ଭାଷା - ଗୀଜ୍ - ଜିବ୍ରାଟୀଜ୍ - ଗାଲସିଆନ୍ - ମିଡିଲ୍ ହାଇ ଜର୍ମାନ୍ - ଗୁଆରାନୀ - ପୁରୁଣା ହାଇ ଜର୍ମାନ୍ - ଗୋଣ୍ଡି - ଗୋରୋଣ୍ଟାଲୋ - ଗୋଥିକ୍ - ଗ୍ରେବୋ - ପ୍ରାଚୀନ୍ ୟୁନାନୀ - ସ୍ବିସ୍ ଜର୍ମାନ୍ - ଗୁଜୁରାଟୀ - ମାଁକ୍ସ - ସ୍ବିଚ୍ ଇନ୍ - ହୌସା - ହାଇଡା - ହାୱାଇନ୍ - ହେବ୍ର୍ୟୁ - ହିନ୍ଦୀ - ହିଲିଗୈନନ୍ - ହିମାଚଳୀ - ହିତୀତେ - ହଁଙ୍ଗ - ହିରି ମୋଟୁ - କ୍ରୋଆଟିଆନ୍ - ଉପର ସର୍ବିଆନ୍ - ହୈତାୟିନ୍ - ହଙ୍ଗେରିଆନ୍ - ହୁପା - ଆର୍ମେନିଆନ୍ - ହେରେରୋ - ଇର୍ଣ୍ଟଲିଙ୍ଗୁଆ - ଇବାନ୍ - ଇଣ୍ଡୋନେସିଆନ୍ - ଇର୍ଣ୍ଟରଲିଙ୍ଗୁଇ - ଇଗ୍ବୋ - ସିଚୁଆନ୍ ୟୀ - ଇଜୋ - ଇନୁପିୟାକ୍ - ଇଲୋକୋ - ଇଣ୍ଡିକ୍ ଭାଷା - ଇଣ୍ଡୋ-ୟୁରୋପୀୟ ଭାଷା - ଇଁଙ୍ଗୁଶ୍ - ଇଡୋ - ଇରାନୀ ଭାଷା - ଇରୋକ୍ୱୋୟାନ୍ ଭାଷା - ଆଇସଲାଣ୍ଡିକ୍ - ଇଟାଲିଆନ୍ - ଇନକୀଟୁତ୍ - ଜାପାନୀଜ୍ - ଲୋଜବାନ୍ - ଜୁଡେଓ-ପର୍ସିଆନ୍ - ଜୁଡେଓ-ଆରବୀକ୍ - ଜାଭାନୀଜ୍ - ଜର୍ଜିଆନ୍ - କାରା-କଲ୍ପକ୍ - କବାଇଲ୍ - କଚିନ୍ - ଜ୍ଜୁ - କମ୍ବା - କାରେନ୍ - କାୱି - କାବାର୍ଡିଆନ୍ - ତ୍ୟାପ୍ - କୋରୋ - କଙ୍ଗୋ - ଖାସୀ - ଖୋସୀୟାନ୍ ଭାଷା - ଖୋତାନୀଜ୍ - କୀକୁୟୁ - କ୍ୱାନ୍ୟାମ୍ - କାଜାକ୍ - ଗ୍ରୀନଲାଣ୍ଡିକ୍ - ଖ୍ମେର୍ - କିମ୍ବୁଣ୍ଡୁ - କନ୍ନଡ - କୋରିଆନ୍ - କୋନକାନୀ - କୋସରୈନ୍ - କୈପେଲେ - କନୁରୀ - କରାଚୟ-ବଲ୍କାର - କାରେଲିୟାନ୍ - କ୍ରୁ - କୁରୁଖ - କାଶ୍ମିରୀ - କୁର୍ଦ୍ଦିଶ୍ - କୁମୀକ୍ - କୁତେନାଉ - କୋମି - କୋର୍ନିସ୍ - କିରଗିଜ୍ - ଲାଟିନ୍ - ଲାଦିନୋ - ଲାହାଣ୍ଡା - ଲାମ୍ବା - ଲକ୍ସେମବର୍ଗିସ୍ - ଲେଜଗିୟାନ୍ - ଗନ୍ଦା - ଲିମ୍ବୁର୍ଗିସ୍ - ଲିଙ୍ଗାଲା - ଲାଓ - ମଙ୍ଗୋ - ଲୋଜି - ଲିଥୁଆନିଆନ୍ - ଲ୍ୟୁବା-କାଟାଙ୍ଗା - ଲୁବା-ଲୁଲୁଆ - ଲୁଇସେନୋ - ଲୁଣ୍ଡା - ଲୁଓ - ଲୁସାଉ - ଲାଟଭିଆନ୍ - ମାଦୁରୀସ୍ - ମାଗାହୀ - ମୈଥିଳୀ - ମକାସର୍ - ମାଣ୍ଡିଙ୍ଗୋ - ଅଷ୍ଟ୍ରୋନେସିଆନ୍ - ମାସାଇ - ମୋକ୍ଷ - ମନ୍ଦାର - ମେଣ୍ଡେ - ମାଲାଗାସୀ - ମଧ୍ୟ ଇରିଶ୍ - ମାର୍ଶାଲୀଜ୍ - ମାଓରୀ - ମିକମୌକ୍ - ମିନାଙ୍ଗାବାଉ - ବିବିଧ ଭାଷା - ମାକଡୋନିଆନ୍ - ମଁନ୍-ଖ୍ମେର୍ ଭାଷା - ମାଲାୟଲମ୍ - ମଙ୍ଗୋଲିଆନ୍ - ମାଞ୍ଚୁ - ମଣିପୁରୀ - ମନୋବୋ ଭାଷା - ମୋଲଡୋଭିଆନ୍ - ମୋହୌକ - ମୋସି - ମରାଠୀ - ମାଲୟ - ମାଲଟୀଜ୍ - ବିବିଧ ଭାଷାମାନ - ମୁଣ୍ଡା ଭାଷା - କ୍ରୀକ୍ - ମିରାଣ୍ଡିଜ୍ - ମାରୱାରୀ - ବର୍ମୀଜ୍ - ମାୟା ଭାଷା - ଏର୍ଜୟା - ନାଉରୁ - ନାଉହାତି - ଉତ୍ତର ଆମେରିକା ଇଣ୍ଡିଆନ୍ ଭାଷା - ନୀପୋଲିଟାନ୍ - ନରୱେଜିଆନ୍ ବୋକମଲ୍ - ଉତ୍ତର ନେଡବେଲେ - ଲୋ ଜର୍ମାନ୍ - ନେପାଳୀ - ନେୱାରୀ - ଡୋଙ୍ଗା - ନୀୟାସ୍ - ନାଇଜର୍-କୋର୍ଡୋଫୌନିୟାନ୍ ଭାଷା - ନିୟୁଆନ୍ - ଡଚ୍ - ଫ୍ଲେମିଶ୍ - ନରୱେଜିଆନ୍ ନିୟୋର୍ସ୍କ - ନରୱେଜିଆନ୍ - ନୋଗାଇ - ପୁରୁଣା ନର୍ସ - ଏନ୍କୋ - ଦକ୍ଷିଣ ନେଡବେଲେ - ଉତ୍ତରୀ ସୋଥୋ - ନ୍ୟୁବିଆନ୍ ଭାଷା - ନାଭାଜୋ - ପାରମ୍ପରିକ ନେୱାରୀ - ନିୟାଞ୍ଜ - ନ୍ୟାମୱେଜୀ - ନ୍ୟାନକୋଲ୍ - ନ୍ୟାରୋ - ଞ୍ଜିମା - ଓସିଟାନ୍ - ଓଜିୱା - ଓରୋମୋ - ଓଡ଼ିଆ - ଓସେଟିକ୍ - ୱୌସେଜ୍ - ଓଟ୍ଟୋମନ୍ ତୁର୍କିସ୍ - ଓଟ୍ଟୋମିଆନ୍ ଭାଷା - ପଞ୍ଜାବୀ - ପାପୁଆନ୍ ଭାଷା - ପାଙ୍ଗାସିନିଆନ୍ - ପାହ୍ଲାଭି - ପାମ୍ପାଙ୍ଗା - ପାପିୟାମିଣ୍ଟୋ - ପାଲାଉଆନ୍ - ପୁରୁଣା ପର୍ସିଆନ୍ - ଫିଲିପାଇନ୍ ଭାଷା - ଫୋନେସିଆନ୍ - ପାଲି - ପୋଲିଶ୍ - ପୋହପିଏନ୍ - ପ୍ରାକୃତ ଭାଷା - ପୁରୁଣା ପ୍ରେଭେନେସିଆଲ୍ - ପାସ୍ତୋ - ପର୍ତ୍ତୁଗ୍ରୀଜ୍ - ବ୍ରାଜିଲିଆନ୍ ପର୍ତ୍ତୁଗୀଜ୍ - ଲେବେରିଆନ୍ ପର୍ତ୍ତୁଗୀଜ୍ - କ୍ୱେଚୁଆ - ରାଜସ୍ଥାନୀ - ରାପାନୁଇ - ରାରୋତୋଙ୍ଗନ୍ - ରେହେଟୋ-ରୋମାନ୍ସ - ରୁଣ୍ଡି - ରୋମାନିଆନ୍ - ରୋମାନ୍ସ ଭାଷା - ରୋମାନି - ମୂଳ - ରଷିଆନ୍ - ଆରୋମାନିଆନ୍ - କିନ୍ୟାରୱାଣ୍ଡା - ସଂସ୍କୃତ - ସଣ୍ଡାୱେ - ୟାକୁଟ୍ - ଦକ୍ଷିଣ ଆମେରିକା ଇଣ୍ଡିଆନ୍ ଭାଷା - ଶଲୀସନ୍ ଭାଷା - ସାମୌରିଟନ୍ ଆରମାଇକ୍ - ସାସାକ୍ - ସାନ୍ତାଳି - ସର୍ଦିନିଆନ୍ - ସିଶିଲିଆନ୍ - ସ୍କଟସ୍ - ସିନ୍ଧୀ - ଉତ୍ତର ସାମି - ସେଲ୍କପ୍ - ସେମିଟିକ୍ ଭାଷା - ସାଙ୍ଗୋ - ପୁରୁଣା ଇରିଶ୍ - ସାଙ୍କେତିକ ଭାଷା - ସର୍ବୋ-କ୍ରୋଆଟିଆନ୍ - ଶାନ୍ - ସିଂହଳ - ସିଦାମୋ - ସିଓନ୍ ଭାଷା - ସିନୋ-ତିବ୍ବେତାନ୍ ଭାଷା - ସ୍ଲୋଭାକ୍ - ସ୍ଲୋଭେନିଆନ୍ - ସାଲ୍ଭିକ୍ ଭାଷା - ସାମୋଆନ୍ - ଦକ୍ଷିଣ ସାମି - ସାମି ଭାଷା - ଲୁଲେ ସାମି - ଇନାରୀ ସାମି - ସ୍କୋଲ୍ଟ ସାମୀ - ଶୋନା - ସୋନିଙ୍କେ - ସୋମାଲିଆ - ସୋଗଡିଏନ୍ - ସୋଙ୍ଘାଇ - ଆଲବାନିଆନ୍ - ସର୍ବିଆନ୍ - ଶାରାନା ଟୋଙ୍ଗୋ - ଶେରେର୍ - ସ୍ବାତୀ - ନୀଲ୍ ସାହାରି ଭାଷା - ସେସୋଥୋ - ସୁଦାନୀଜ୍ - ସୁକୁମା - ଶୁଶୁ - ସୁମେରିଆନ୍ - ସ୍ୱେଡିସ୍ - ସ୍ୱାହିଲ୍ - କ୍ଲାସିକାଲ୍ ସିରିକ୍ - ସିରିକ୍ - ତାମିଲ୍ - ତାଇ ଭାଷା - ତେଲୁଗୁ - ତିମନେ - ତେରେନୋ - ତେତୁମ୍ - ତାଜିକ୍ - ଥାଇ - ଟ୍ରିଗିନିଆ - ଟାଇଗ୍ରେ - ତୀଭ୍ - ତୁର୍କମେନ୍ - ଟୋକେଲାଉ - ଟାଗାଲଗ୍ - କ୍ଲିଙ୍ଗନ୍ - ତ୍ଲିଙ୍ଗିଟ୍ - ତାମାଶେକ୍ - ସେସ୍ବାନା - ଟୋଙ୍ଗା - ନ୍ୟାସା ଟୋଙ୍ଗୋ - ଟୋକ୍ ପିସିନ୍ - ତୁର୍କିସ୍ - ସୋଂଗା - ତିସିମିସିଆନ୍ - ତାତାର୍ - ଟୁମ୍ବୁକା - ଟୁପି ଭାଷା - ଆଲ୍ଟିକ୍ ଭାଷା - ତୁଭାଲୁ - ତ୍ୱି - ତାହିତିଆନ୍ - ତୁଭିନିଆନ୍ - ଉଦମୂର୍ତ୍ତ - ୟୁଘୁର୍ - ୟୁଗୋରଟିକ୍ - ୟୁକ୍ରାନିଆନ୍ - ଉମ୍ବୁଣ୍ଡୁ - ଅଜଣା ଏବଂ ଅବୈଧ ଭାଷା - ଉର୍ଦ୍ଦୁ - ଉଜବେକ୍ - ଭାଇ - ଭେଣ୍ଡା - ଭିଏତନାମିଜ୍ - ବୋଲାପୁକ - ଭୋଟିକ୍ - ୱାଲୁନ୍ - ୱାକଶନ୍ ଭାଷା - ୱାଲମୋ - ୱାରୈ - ୱାସୋ - ସର୍ବିଆନ୍ ଭାଷା - ୱୋଲଫ୍ - କାଲ୍ମୀକ୍ - ଖୋସା - ୟାଓ - ୟାପୀସ୍ - ୟିଡିସ୍ - ୟୋରୁବା - ୟୁପିକ୍ ଭାଷା - ଜୁଆଙ୍ଗ - ଜାପୋଟେକ୍ - ବ୍ଲିସିମ୍ବଲସ୍ - ଜେନାଗା - ଚାଇନୀଜ୍ - ସରଳିକରଣ ଚାଇନୀଜ୍ - ପାରମ୍ପରିକ ଚାଇନୀଜ୍ - ଜାଣ୍ଡେ - ଜୁଲୁ - ଜୁନୀ - କୌଣସି ଲିଙ୍ଗୁଇଷ୍ଟ ସାମଗ୍ରୀ ନାହିଁ - ଜାଜା - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ବିଶ୍ବ - ଆଫ୍ରିକା - ଉତ୍ତର ଆମେରିକା - ଦକ୍ଷିଣ ଆମେରିକା - ଓସୋନିଆନ୍ - ପଶ୍ଚିମ ଆଫ୍ରିକା - ମଧ୍ୟ ଆମେରିକା - ପୂର୍ବ ଆଫ୍ରିକା - ଉତ୍ତର ଆଫ୍ରିକା - ମଧ୍ୟ ଆଫ୍ରିକା - ଦକ୍ଷିଣସ୍ଥ ଆଫ୍ରିକା - ଆମେରିକାସ୍ - ଉତ୍ତରସ୍ଥ ଆମେରିକା - କାରିବିଆନ୍ - ପୂର୍ବ ଏସିଆ - ଦକ୍ଷିଣ ଏସିଆ - ଦକ୍ଷିଣ-ପୂର୍ବ ଏସିଆ - ଦକ୍ଷିଣ ୟୁରୋପ୍ - ଅଷ୍ଟ୍ରେଲିଆ ଏବଂ ନ୍ୟୁଜିଲ୍ୟାଣ୍ଡ - ମେଲାନେସିଆ - ମାଇକ୍ରୋନେସିଆନ୍ ଅଞ୍ଚଳ - ପଲିନେସିଆ - ଦକ୍ଷିଣ-ମଧ୍ୟ ଏସିଆ - ଏସିଆ - ମଧ୍ୟ ଏସିଆ - ପଶ୍ଚିମ ଏସିଆ - ୟୁରୋପ୍ - ପୂର୍ବ ୟୁରୋପ୍ - ଉତ୍ତର ୟୁରୋପ୍ - ପଶ୍ଚିମ ୟୁରୋପ୍ - କମନୱେଲ୍ଥ ଅଫ୍ ଇଣ୍ଡିପେଣ୍ଡେଣ୍ଟ ଷ୍ଟେଟସ୍ - ଚେକୋସ୍ଲୋଭିଆ - ଲାଟିନ୍ ଆମେରିକା ଏବଂ କାରିବିଆନ୍ - ଚାନେଲ୍ ଆଇଲ୍ୟାଣ୍ଡ - ଆଣ୍ଡୋରା - ସଂଯୁକ୍ତ ଆରବ ଏମିରେଟସ୍ - ଆଫାଗାନିସ୍ତାନ୍ - ଆଣ୍ଟିଗୁଆ ଏବଂ ବାରବୁଦା - ଆଙ୍ଗୁଇଲ୍ଲା - ଆଲବାନିଆ - ଆର୍ମେନିଆ - ନେଦରଲ୍ୟାଣ୍ଡସ୍ ଆଣ୍ଟିଲିଜ୍ - ଆଙ୍ଗୋଲା - ଆର୍ଣ୍ଟକଟିକା - ଆର୍ଜେଣ୍ଟିନା - ଆମେରିକାନ୍ ସାମୋଆ - ଅଷ୍ଟ୍ରିଆ - ଅଷ୍ଟ୍ରେଲିଆ - ଆରୁବା - ଆଲାଣ୍ଡ ଆଇସଲ୍ୟାଣ୍ଡ - ଆଜେରବାଇଜାନ୍ - ବୋସନିଆ ଏବଂ ହର୍ଜଗୋଭିନା - ବାରବାଡୋସ୍ - ବାଙ୍ଗଲାଦେଶ୍ - ବେଲଜିୟମ୍ - ବୁର୍କିନୋ ଫାସୋ - ବୁଲଗେରିଆ - ବାହାରିନ୍ - ବୁରୁନ୍ଦି - ବେନିନ୍ - ସେଣ୍ଟ ବାର୍ଥେଲେମି - ବରମୁଡା - ବ୍ରୁନେଇ - ବୋଲଭିଆ - ବ୍ରାଜିଲ୍ - ବାହାମାସ୍ - ଭୁଟାନ୍ - ବୌଭେଟ୍ ଆଇସଲ୍ୟାଣ୍ଡ - ବୋଟସ୍ବାନ୍ - ବେଲାରୁଷ୍ - ବେଲିଜ୍ - କାନାଡା - କୋକୋସ୍ ଆଇସଲ୍ୟାଣ୍ଡ - କଙ୍ଗୋ-କିନସାସା - ମଧ୍ୟ ଆଫ୍ରିକୀୟ ଗଣତନ୍ତ୍ର - କଙ୍ଗୋ-ବ୍ରାଜିଭିଲ୍ଲେ - ସ୍ବିଜରଲ୍ୟାଣ୍ଡ - ଆଇବରୀ କୋଷ୍ଟ - କୁକ୍ ଆଇସଲ୍ୟାଣ୍ଡ - ଚିଲ୍ଲୀ - କାମେରୁନ୍ - ଚିନ୍ - କୋଲମ୍ବିଆ - କୋଷ୍ଟା ରିକା - ସର୍ବିଆ ଏବଂ ମଣ୍ଟେନଗ୍ରୋ - କ୍ୱିବା - କେପ୍ ଭର୍ଦେ - ଖ୍ରୀଷ୍ଟମାସ ଆଇଲ୍ୟାଣ୍ଡ - ସାଇପ୍ରସ୍ - ଚେକ୍ ସାଧାରଣତନ୍ତ୍ର - ଜର୍ମାନୀ - ଡିବୌଟି - ଡେନମାର୍କ - ଡୋମିନାକା - ଡୋମିନକାନ୍ ପ୍ରଜାତନ୍ତ୍ର - ଆଲଜେରିଆ - ଇକ୍ୱାଡୋର୍ - ଏସ୍ତୋନିଆ - ଇଜିପ୍ଟ - ପଶ୍ଚିମ ସାହାରା - ଇରିଟ୍ରିୟା - ସ୍ପେନ୍ - ଇଥିଓପିଆ - ଫିନଲ୍ୟାଣ୍ଡ - ଫିଜି - ଫଲ୍କଲ୍ୟାଣ୍ଡ ଦ୍ବୀପପୁଞ୍ଜ - ମାଇକ୍ରୋନେସିଆ - ଫାରୋଇ ଦ୍ବୀପପୁଞ୍ଜ - ଫ୍ରାନ୍ସ - ଗାବୋନ୍ - ବ୍ରିଟେନ୍ - ଗ୍ରେନାଡା - ଜର୍ଜିଆ - ଫ୍ରେଞ୍ଚ ଗୁଇନା - ଗୁଏରନେସି - ଘାନା - ଜିବ୍ରାଲ୍ଟର୍ - ଗ୍ରୀନଲ୍ୟାଣ୍ଡ - ଗାମ୍ବିଆ - ଗୁଏନେଆ - ଗୌଡେଲୌପେ - ଇକ୍ବାଟେରିଆଲ୍ ଗୁଇନିଆ - ଗ୍ରୀସ୍ - ଦକ୍ଷିଣ ଜର୍ଜିଆ ଏବଂ ଦକ୍ଷିଣ ସାଣ୍ଡୱିଚ୍ ଦ୍ବୀପପୁଞ୍ଜ - ଗୁଏତମାଲା - ଗୁଆମ୍ - ଗୁଇନିଆ-ବିସାଉ - ଗୁଇନା - ହଂକଂ ବିଶେଷ ପ୍ରଶାସନିକ କ୍ଷେତ୍ର ଚୀନ୍ - ହାର୍ଡ ଦ୍ବୀପପୁଞ୍ଜ ଏବଂ ମ୍ୟାକଡୋନାଲ୍ ଦ୍ବୀପପୁଞ୍ଜ - ହୋଣ୍ଡାରୁସ୍ - କ୍ରୋଆଟିଆ - ହାଇତି - ହଙ୍ଗେରୀ - ଇଣ୍ଡୋନେସିଆ - ଆୟରଲ୍ୟାଣ୍ଡ - ଇସ୍ରାଏଲ୍ - ଆଇଲ୍ ଅଫ୍ ମୈନ୍ - ଭାରତ - ବ୍ରିଟିଶ୍ ଭାରତୀୟ ସାମୁଦ୍ରିକ କ୍ଷେତ୍ର - ଇରାକ୍ - ଇରାନ୍ - ଆଇସଲ୍ୟାଣ୍ଡ - ଇଟାଲୀ - ଜର୍ସି - ଜାମାଇକା - ଜୋର୍ଡାନ୍ - ଜାପାନ୍ - କେନିୟା - କିର୍ଗିଜିସ୍ଥାନ - କାମ୍ବୋଡିଆ - କିରିବାଟୀ - କାମୋରସ୍ - ସେଣ୍ଟ କିଟସ୍ ଏଣ୍ଡ ନେଭିସ୍ - ଉତ୍ତର କୋରିଆ - ଦକ୍ଷିଣ କୋରିଆ - କୁଏତ୍ - କେମ୍ୟାନ୍ ଦ୍ବୀପପୁଞ୍ଜ - କାଜାକାସ୍ଥାନ୍ - ଲାଓସ୍ - ଲେବାନନ୍ - ସେଣ୍ଟ ଲୁସିଆ - ଲିଚେସ୍ତିଆନାନ୍ - ଶ୍ରୀଲଙ୍କା - ଲିବେରିଆ - ଲେସୋଥୋ - ଲିଥାଆନିଆ - ଲକ୍ସେମବର୍ଗ - ଲାଟଭିଆ - ଲିବିଆ - ମୋରୋକ୍କୋ - ମୋନାକୋ - ମାଲଡୋଭା - ମଣ୍ଟେଗ୍ରୋ - ସେଣ୍ଟ ମାର୍ଟିନ୍ - ମାଡାଗାସ୍କର୍ - ମାର୍ଶଲ୍ ଦ୍ବୀପପୁଞ୍ଜ - ମାସେଡୋନିଆ - ମାଳୀ - ମିୟାମାର୍ - ମଙ୍ଗୋଲିଆ - ମାକାଉ SAR ଚିନ୍ - ଉତ୍ତର ମାରିଆନା ଦ୍ବୀପପୁଞ୍ଜ - ମାର୍ଟିନିକ୍ୟୁ - ମାଉରିଟାନିଆ - ମଣ୍ଟେସେରାଟ୍ - ମାଲ୍ଟା - ମୌରିସସ୍ - ମାଳଦ୍ବୀପ - ମାଲୱି - ମେକ୍ସିକୋ - ମାଲେସିଆ - ମୋଜାମ୍ବିକ୍ୟୁ - ନାମ୍ବିଆ - ନୂତନ କାଲେଡୋନିଆ - ନାଇଜର୍ - ନରଫ୍ଲକ୍ ଦ୍ବୀପ - ନାଇଜେରିଆ - ନିକାରାଗୁଆ - ନେଦରଲ୍ୟାଣ୍ଡ - ନରୱେ - ନେପାଳ - ନାଉରୁ - ନିଉ - ନ୍ୟୁଜିଲାଣ୍ଡ - ଓମାନ୍ - ପାନାମା - ପେରୁ - ଫ୍ରେଞ୍ଚ ପଲିନେସିଆ - ପପୁଆ ନ୍ୟୁ ଗୁଏନିଆ - ଫିଲିପାଇନସ୍ - ପାକିସ୍ତାନ - ପୋଲାଣ୍ଡ - ସେଣ୍ଟ ପିଏରେ ଏବଂ ମିକ୍ବାଲୋନ୍ - ପିଟକାଇରିନ୍ - ପୁଏର୍ତ୍ତୋ ରିକୋ - ପାଲେସ୍ତେନିଆ - ପର୍ତ୍ତୁଗାଲ୍ - ପାଲାଉ - ପାରାଗୁଏ - କତାର୍ - ଆଉଟଲେଇଂ ଓସେନିଆ - ୟୁରୋପିଆନ୍ ୟୁନିଅନ୍ - ରିୟୁନିଅନ୍ - ରୋମାନିଆ - ସର୍ବିଆ - ରୁଷିଆ - ରାୱାଣ୍ଡା - ସାଉଦି ଆରବିଆ - ସୋଲୋମନ୍ ଦ୍ବୀପପୁଞ୍ଜ - ସେଚେଲସ୍ - ସୁଦାନ୍ - ସ୍ୱେଡେନ୍ - ସିଙ୍ଗାପୁର୍ - ସେଣ୍ଟ ହେଲେନା - ସ୍ଲୋଭେନିଆ - ସାଲ୍ଭାର୍ଡ ଏବଂ ଜାନ୍ ମାୟୋନ୍ - ସ୍ଲୋଭାକିଆ - ସିଓରା ଲିଓନ୍ - ସାନ୍ ମାରିନୋ - ସେନେଗାଲ୍ - ସୋମାଲିଆ - ସୁରିନାମ - ସାଓ ଟୋମେ ଏବଂ ପ୍ରିନସିପି - ଏଲ୍ ସାଲଭାଡୋର୍ - ସିରିଆ - ସ୍ବାଜିଲାଣ୍ଡ - ତୁର୍କସ୍ ଏବଂ ସାଇକସ୍ ଦ୍ବୀପପୁଞ୍ଜ - ଚାଦ୍ - ଫରାସୀ ଦକ୍ଷିଣ କ୍ଷେତ୍ର - ଟୋଗୋ - ଥାଇଲାଣ୍ଡ - ତାଜିକିସ୍ଥାନ୍ - ଟୋକେଲାଉ - ପୁର୍ବ ତିମୋର୍ - ତୁର୍କମେନିସ୍ତାନ୍ - ତୁନିସିଆ - ଟୋଙ୍ଗା - ତୁର୍କୀ - ତ୍ରିନିଦାଦ୍ ଏବଂ ଟୋବାଗୋ - ଟୁଭାଲୁ - ତାଇୱାନ୍ - ତାଞ୍ଜାନିଆ - ୟୁକ୍ରାଇନ୍ - ଉଗାଣ୍ଡା - ୟୁନାଇଟେଡ୍ ଷ୍ଟେଟସ୍ ମାଇନର୍ ଆଉଟଲେଇଂ ଦ୍ବୀପପୁଞ୍ଜ - ଯୁକ୍ତ ରାଷ୍ଟ୍ର ଆମେରିକା - ଉରୁଗୁଏ - ଉଜବେକିସ୍ଥାନ୍ - ଭାଟିକାନ୍ - ସେଣ୍ଟ ଭିନସେଣ୍ଟ ଏବଂ ଦି ଗ୍ରେନାଡିସ୍ - ଭେନଜୁଏଲା - ବ୍ରିଟିଶ୍ ଭର୍ଜିନ୍ ଦ୍ବୀପପୁଞ୍ଜ - ୟୁଏସ୍ ଭର୍ଜିନ୍ ଦ୍ବୀପପୁଞ୍ଜ - ଭିଏତନାମ୍ - ଭାନୁଆତୁ - ୱାଲିସ୍ ଏବଂ ଫୁତୁନା - ସାମୋଆ - ୟେମେନ୍ - ମାୟୋଟେ - ଦକ୍ଷିଣ ଆଫ୍ରିକା - ଜାମ୍ବିଆ - ଜିମ୍ବାୱେ - ଅଜଣା କିମ୍ବା ଅବୈଧ ପ୍ରଦେଶ - - - - [୦-୯ ଅ-ଋ ଏ ଐ ଓ-ନ ପ-ର ଲ ଳ ଶ-ହ {ଡ\u0B3C}ଡ଼ {ଢ\u0B3C}ଢ଼ ୟ ୱ ଵ ଂ ଃ ଁ ୍ ଼ ା-ୃ େ ୈ ୋ ୌ] - [\u200C \u200D] - - - - - - - - ଜାନୁଆରୀ - ଫେବ୍ରୁୟାରୀ - ମାର୍ଚ୍ଚ - ଅପ୍ରେଲ - ମେ - ଜୁନ - ଜୁଲାଇ - ଅଗଷ୍ଟ - ସେପ୍ଟେମ୍ବର - ଅକ୍ଟୋବର - ନଭେମ୍ବର - ଡିସେମ୍ବର - - - - - ଜା - ଫେ - ମା - ଅ - ମେ - ଜୁ - ଜୁ - ଅ - ସେ - ଅ - ନ - ଡି - - - - - - - ରବି - ସୋମ - ମଙ୍ଗଳ - ବୁଧ - ଗୁରୁ - ଶୁକ୍ର - ଶନି - - - ରବିବାର - ସୋମବାର - ମଙ୍ଗଳବାର - ବୁଧବାର - ଗୁରୁବାର - ଶୁକ୍ରବାର - ଶନିବାର - - - - - ର - ସୋ - ମ - ବୁ - ଗୁ - ଶୁ - ଶ - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - am - pm - - - BCE - CE - - - - - - EEEE, d MMMM y - - - - - d MMMM y - - - - - d MMM y - - - - - d-M-yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - MMMM d - dd-MM - Q yy - MM-yyyy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - ଖ୍ରୀଷ୍ଟମାସ ଆଇଲ୍ୟାଣ୍ଡ ସମୟ - - - - - - orya - - . - , - ୦ - - - - - #,##,##0.### - - - - - - - #,##,##0% - - - - - - - ¤ #,##,##0.00 - - - - - - ଟଙକା - - - - - - ହଁ - ନା - - - - diff --git a/lib/zend/Zend/Locale/Data/or_IN.xml b/lib/zend/Zend/Locale/Data/or_IN.xml deleted file mode 100644 index 01b626e5ea..0000000000 --- a/lib/zend/Zend/Locale/Data/or_IN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/pa.xml b/lib/zend/Zend/Locale/Data/pa.xml deleted file mode 100644 index 5a215e51cd..0000000000 --- a/lib/zend/Zend/Locale/Data/pa.xml +++ /dev/null @@ -1,310 +0,0 @@ - - - - - - - - - - - ਅਬਖਾਜ਼ੀਅਨ - ਅਚੀਨੀ - ਅਕੋਲੀ - ਅਫ਼ਰੀਕੀ - ਅਪਾਚੇ ਭਾਸ਼ਾ - ਅਰਬੀ - ਅਸਾਮੀ - ਆਸਟਰੇਲੀਅਨ ਭਾਸ਼ਾ - ਅਜ਼ੇਰਬੈਜਨਿ - ਬੈਲਟਿਕ ਭਾਸ਼ਾ - ਬੇਲਾਰੂਸੀਅਨ - ਬੰਗਾਲੀ - ਡੈਨਿਸ਼ - ਜਰਮਨ - ਅੰਗਰੇਜ਼ੀ - ਏਸਪਰੇਂਟੋ - ਸਪੇਨਿਸ਼ - ਫਿਨਿਸ਼ - ਫਰੈਂਚ - ਗੁਜਰਾਤੀ - ਹਿੰਦੀ - ਇੰਡੋਨੇਸ਼ੀਆਈ - ਇਤਾਲਵੀ - ਜਾਪਾਨੀ - ਮੈਕੇਡੋਨੀਅਨ - ਡੱਚ - ਨਾਰਵੇਜੀਅਨ - ਪੰਜਾਬੀ - ਪੋਰਤੂਗੂਈਸ - ਸਵੈਡਿਸ਼ - ਤਾਮਿਲ - ਤੇਲਗੂ - ਥਾਈ - ਤ੍ਵਿ - ਉਇਘੁਰ - und - - - - - - - - - ਭਾਰਤ - TO - ਅਣਜਾਣ - - - - [਼ ੰ ੱ ੦-੯ ੴ ੳ ਉ ਊ ਓ ਅ ਆ ਐ ਔ ੲ ਇ ਈ ਏ ਸ {ਸ\u0A3C} ਹ ਕ ਖ {ਖ\u0A3C} ਗ {ਗ\u0A3C} ਘ-ਜ {ਜ\u0A3C} ਝ-ਨ ਪ ਫ {ਫ\u0A3C} ਬ-ਰ ਲ ਵ ੜ ਾ-ੂ ੇ ੈ ੋ-੍] - [\u200C \u200D \u0A01-\u0A03 {ਲ\u0A3C}] - - - ' - ' - " - " - - - - - - - - ਜਨਵਰੀ - ਫ਼ਰਵਰੀ - ਮਾਰਚ - ਅਪ੍ਰੈਲ - ਮਈ - ਜੂਨ - ਜੁਲਾਈ - ਅਗਸਤ - ਸਤੰਬਰ - ਅਕਤੂਬਰ - ਨਵੰਬਰ - ਦਸੰਬਰ - - - - - ਜ - ਫ - ਮਾ - ਅ - ਮ - ਜੂ - ਜੁ - ਅ - ਸ - ਅ - ਨ - ਦ - - - - - - - ਐਤ. - ਸੋਮ. - ਮੰਗਲ. - ਬੁਧ. - ਵੀਰ. - ਸ਼ੁਕਰ. - ਸ਼ਨੀ. - - - ਐਤਵਾਰ - ਸੋਮਵਾਰ - ਮੰਗਲਵਾਰ - ਬੁਧਵਾਰ - ਵੀਰਵਾਰ - ਸ਼ੁੱਕਰਵਾਰ - ਸ਼ਨੀਚਰਵਾਰ - - - - - ਐ - ਸੋ - ਮੰ - ਬੁੱ - ਵੀ - ਸ਼ੁੱ - ਸ਼ - - - - - - - Q1 - Q2 - Q3 - Q4 - - - ਪਹਿਲਾਂ ਚੌਥਾਈ - ਦੂਜਾ ਚੌਥਾਈ - ਤੀਜਾ ਚੌਥਾਈ - ਚੌਥਾ ਚੌਥਾਈ - - - - ਸਵੇਰੇ - ਸ਼ਾਮ - - - ਈਸਾਪੂਰਵ - ਸੰਨ - - - BCE - CE - - - - - - EEEE, dd MMMM y - - - - - d MMMM y - - - - - d MMM y - - - - - dd/MM/yyyy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - HH:mm:ss - d/M - mm:ss - MMM yy - Q yy - - - - - ਸਾਲ - - - ਮਹੀਨਾ - - - ਹਫ਼ਤਾ - - - ਦਿਨ - ਤਿੰਨ ਦਿਨ ਪਹਿਲਾਂ - ਪਰਸੋਂ - ਅੱਜ - ਭਲਕ - ਭਲਕ - ਤਿੰਨ ਦਿਨ ਬਾਅਦ - - - ਹਫ਼ਤੇ ਦਾ ਦਿਨ - - - ਘੰਟਾ - - - ਮਿੰਟ - - - ਖੇਤਰ - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - guru - - ੦ - - - - - #,##,##0.### - - - - - - - #,##,##0% - - - - - - - ¤ #,##,##0.00 - - - - - - ਅਫ਼ਗਾਨੀ - - - ਯੂਰੋ - - - ਰੁਪਿਯ - ਰੁ. - - - ਅਣਜਾਣ - - - - - - ਹਾਂ - ਨਹੀਂ - - - - diff --git a/lib/zend/Zend/Locale/Data/pa_Arab.xml b/lib/zend/Zend/Locale/Data/pa_Arab.xml deleted file mode 100644 index 9baae57387..0000000000 --- a/lib/zend/Zend/Locale/Data/pa_Arab.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - - - پکستان - - - - - - - [\u064F ء آ ؤ ئ-ب پ ت ث ٹ ج چ ح-ذ ڈ ر ز ڑ ژ س-غ ف ق ک گ ل-ن ں ه ھ ہ و ی ے] - [أ ٻ ة ٺ ټ ٽ] - - - - - - - - جنوری - فروری - مارچ - اپریل - مئ - جون - جولائی - اگست - ستمبر - اکتوبر - نومبر - دسمبر - - - - - - - اتوار - پیر - منگل - بُدھ - جمعرات - جمعہ - ہفتہ - - - - - - - چوتھاي پہلاں - چوتھاي دوجا - چوتھاي تيجا - چوتھاي چوتھا - - - - - - ايساپورو - سں - - - - - ورھا - - - مہينا - - - ہفتہ - - - دئن - - - ہفتے دا دن - - - گھنٹا - - - منٹ - - - ٹپہ - - - - - - - arab - - ٠ - - - - يورو - - - روپئیہ [INR] - ر [INR] - - - روپئیہ - ر - - - - - - ہاں - نہيں - - - - diff --git a/lib/zend/Zend/Locale/Data/pa_Arab_PK.xml b/lib/zend/Zend/Locale/Data/pa_Arab_PK.xml deleted file mode 100644 index f8e78beba6..0000000000 --- a/lib/zend/Zend/Locale/Data/pa_Arab_PK.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Świat - Afryka - Ameryka Północna - Ameryka Południowa - Oceania - Afryka Zachodnia - Ameryka Środkowa - Afryka Wschodnia - Afryka Północna - Afryka Środkowa - Afryka Południowa - Ameryka - Ameryka Północna - Kanada, USA - Karaiby - Azja Wschodnia - Azja Południowa - Azja Południowo-Wschodnia - Europa Południowa - Australia i Nowa Zelandia - Melanezja - Mikronezja - Polinezja - Azja Południowo-Środkowa - Azja - Azja Środkowa - Azja Zachodnia - Europa - Europa Wschodnia - Europa Północna - Europa Zachodnia - Wspólnota Niezależnych Państw - Ameryka Łacińska i Karaiby - Wyspy Normandzkie - Andora - Zjednoczone Emiraty Arabskie - Afganistan - Antigua i Barbuda - Anguilla - Albania - Armenia - Antyle Holenderskie - Angola - Antarktyka - Argentyna - Samoa Amerykańskie - Austria - Australia - Aruba - Wyspy Alandzkie - Azerbejdżan - Bośnia i Hercegowina - Barbados - Bangladesz - Belgia - Burkina Faso - Bułgaria - Bahrajn - Burundi - Benin - Saint Barthélemy - Bermudy - Brunei Darussalam - Boliwia - Brazylia - Bahamy - Bhutan - Wyspa Bouveta - Botswana - Białoruś - Belize - Kanada - Wyspy Kokosowe - Demokratyczna Republika Konga - Republika Środkowoafrykańska - Kongo - Szwajcaria - Wybrzeże Kości Słoniowej - Wyspy Cooka - Chile - Kamerun - Chiny - Kolumbia - Kostaryka - Serbia i Czarnogóra - Kuba - Republika Zielonego Przylądka - Wyspa Bożego Narodzenia - Cypr - Czechy - Niemcy - Dżibuti - Dania - Dominika - Republika Dominikańska - Algieria - Ekwador - Estonia - Egipt - Sahara Zachodnia - Erytrea - Hiszpania - Etiopia - Finlandia - Fidżi - Falklandy - Federalne Stany Mikronezji - Wyspy Owcze - Francja - Gabon - Wielka Brytania - Grenada - Gruzja - Gujana Francuska - Wyspa Guernsey - Ghana - Gibraltar - Grenlandia - Gambia - Gwinea - Gwadelupa - Gwinea Równikowa - Grecja - Georgia Południowa i Sandwich Południowy - Gwatemala - Guam - Gwinea Bissau - Gujana - Hongkong, Specjalny Region Administracyjny Chin - Wyspy Heard i McDonalda - Honduras - Chorwacja - Haiti - Węgry - Indonezja - Irlandia - Izrael - Wyspa Man - Indie - Terytorium Brytyjskie Oceanu Indyjskiego - Irak - Iran - Islandia - Włochy - Wyspa Jersey - Jamajka - Jordania - Japonia - Kenia - Kirgistan - Kambodża - Kiribati - Komory - Saint Kitts i Nevis - Korea Północna - Korea Południowa - Kuwejt - Kajmany - Kazachstan - Laos - Liban - Saint Lucia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Litwa - Luksemburg - Łotwa - Libia - Maroko - Monako - Mołdawia - Czarnogóra - Sint Maarten - Madagaskar - Wyspy Marshalla - Macedonia - Mali - Birma - Mongolia - Makau, Specjalny Region Administracyjny Chin - Mariany Północne - Martynika - Mauretania - Montserrat - Malta - Mauritius - Malediwy - Malawi - Meksyk - Malezja - Mozambik - Namibia - Nowa Kaledonia - Niger - Norfolk - Nigeria - Nikaragua - Holandia - Norwegia - Nepal - Nauru - Niue - Nowa Zelandia - Oman - Panama - Peru - Polinezja Francuska - Papua Nowa Gwinea - Filipiny - Pakistan - Polska - Saint-Pierre i Miquelon - Pitcairn - Portoryko - Terytoria Palestyńskie - Portugalia - Palau - Paragwaj - Katar - Oceania inne - Unia Europejska - Reunion - Rumunia - Serbia - Rosja - Rwanda - Arabia Saudyjska - Wyspy Salomona - Seszele - Sudan - Szwecja - Singapur - Wyspa Świętej Heleny - Słowenia - Svalbard i Jan Mayen - Słowacja - Sierra Leone - San Marino - Senegal - Somalia - Surinam - Wyspy Świętego Tomasza i Książęca - Salwador - Syria - Suazi - Turks i Caicos - Czad - Francuskie Terytoria Południowe - Togo - Tajlandia - Tadżykistan - Tokelau - Timor Wschodni - Turkmenistan - Tunezja - Tonga - Turcja - Trynidad i Tobago - Tuvalu - Tajwan - Tanzania - Ukraina - Uganda - Dalekie Wyspy Mniejsze Stanów Zjednoczonych - Stany Zjednoczone - Urugwaj - Uzbekistan - Watykan - Saint Vincent i Grenadyny - Wenezuela - Brytyjskie Wyspy Dziewicze - Wyspy Dziewicze Stanów Zjednoczonych - Wietnam - Vanuatu - Wallis i Futuna - Samoa - Jemen - Majotta - Republika Południowej Afryki - Zambia - Zimbabwe - Nieznany lub nieprawidłowy region - - - tradycyjna ortografia niemiecka - standardowa ortografia regionu Resia - ortografia niemiecka z 1996 r. - szesnastowieczny francuski - siedemnastowieczny francuski - ormiański wchodni - ormiański zachodni - turecki zunifikowany alfabet łaciński - dialekt San Giorgio/Bila - dialekt Boontling - fonetyczny międzynarodowy - fonetyczny - dialekt Lipovaz w regionie Resia - monotoniczny - dialekt Natisone - dialekt Gniva/Njiva - dialekt Oseacco/Osojane - politoniczny - komputerowy - ortografia zreformowana - dialekt regionu Resia - dialekt Saho - standardowy szkocki angielski - dialekt Scouse - dialekt Stolvizza/Solbica - ortografia taraszkiewicka - walencki - - - kalendarz - sortowanie - waluta - - - chiński tradycyjny porządek sortowania - Big5 - kalendarz buddyjski - kalendarz chiński - bezpośredni porządek sortowania - chiński uproszczony porządek sortowania - GB2312 - kalendarz gregoriański - kalendarz hebrajski - narodowy kalendarz hinduski - kalendarz islamski (metoda wzrokowa) - kalendarz islamski (metoda obliczeniowa) - kalendarz japoński - porządek sortowania książki telefonicznej - porządek sortowania pinyin - kalendarz Republiki Chińskiej - porządek akcentów - tradycyjny porządek sortowania - - - anglosaski - metryczny - - - Język: {0} - Pismo: {0} - Region: {0} - - - - [a ą b c ć d e ę f-l ł m n ń o ó p r s ś t u w y z ź ż] - [q v x] - [a-z] - - - ‘ - ’ - „ - ” - - - - - - - - EEEE, d MMMM, y G - - - - - d MMMM, y G - - - - - d MMM, y G - - - - - - E d MMMM - d MMM - - - - - - - - sty - lut - mar - kwi - maj - cze - lip - sie - wrz - paź - lis - gru - - - stycznia - lutego - marca - kwietnia - maja - czerwca - lipca - sierpnia - września - października - listopada - grudnia - - - - - s - l - m - k - m - c - l - s - w - p - l - g - - - styczeń - luty - marzec - kwiecień - maj - czerwiec - lipiec - sierpień - wrzesień - październik - listopad - grudzień - - - - - - - niedz. - pon. - wt. - śr. - czw. - pt. - sob. - - - niedziela - poniedziałek - wtorek - środa - czwartek - piątek - sobota - - - - - N - P - W - Ś - C - P - S - - - - - - - K1 - K2 - K3 - K4 - - - I kwartał - II kwartał - III kwartał - IV kwartał - - - - - 1 kw. - 2 kw. - 3 kw. - 4 kw. - - - 1 - 2 - 3 - 4 - - - - AM - PM - - - p.n.e. - n.e. - - - p.n.e. - n.e. - - - - - - EEEE, d MMMM y - - - - - d MMMM y - - - - - dd-MM-yyyy - - - - - dd-MM-yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - HH:mm - HH:mm:ss - H:mm - L - E, M-d - LLL - d MMM E - d MMMM E - d MMMM - MMM d - MM-dd - d.M - d - hh:mm a - hh:mm:ss a - mm:ss - mm:ss - y - yyyy-M - EEE, d.M.yyyy - y MMM - EEE, d MMM y - LLLL y - yyyy Q - y QQQ - MM/yy - MMM yy - Q yy - yyyy-MM - LLLL y - - - {0} - {1} - - M-M - - - E, dd.MM - E, dd.MM - E, dd.MM - E, dd.MM - - - LLL-LLL - - - E, d MMM - E, d MMM - E, MM-d – E, MM-d - - - LLLL-LLLL - - - d MMM - d MMM - d-d MMM - - - dd.MM-dd.MM - dd.MM-dd.MM - - - d-d - - - HH-HH - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - HH-HH v - - - y-y - - - MM.yy-MM.yy - MM.yy-MM.yy - - - E, dd.MM.yyyy - E, dd.MM.yyyy - E, dd.MM.yyyy - E, dd.MM.yyyy - E, dd-MM-yyyy-E, dd-MM-yyyy - - - LLL-LLL y - LLL y - LLL y - - - E, d MMM - E, d MMM y - E, d - E, d MMM y - E, d MMM y - E, d MMM y - - - MM.yyyy - MM.yyyy - MM.yyyy - MM.yyyy - - - d MMM - d MMM y - d-d MMM y - d MMM y - d MMM y - - - dd.MM-dd.MM.yyyy - dd-dd.MM.yy - dd.MM.yyyy-dd.MM.yyyy - - - - - - Era - - - Rok - - - Miesiąc - - - Tydzień - - - Dzień - Trzy dni temu - Przedwczoraj - Wczoraj - Dzisiaj - Jutro - Pojutrze - Za trzy dni - - - Dzień tygodnia - - - Dayperiod - - - Godzina - - - Minuta - - - Sekunda - - - Strefa - - - - - - +HH:mm;-HH:mm - GMT{0} - Czas: {0} - {1} ({0}) - - Nieznane - - - GMT-01:0 - - - GMT-02:00 - - - Andora - - - Dubaj - - - Afganistan - - - Antigua i Barbuda - - - Tirana - - - Erewan - - - Curaçao - - - Stacja Naukowa Rothera - - - Archipelag Palmera - - - Biegun południowy - - - Stacja Syowa - - - Wybrzeże Mawsona - - - Stacja Davis - - - Stacja Vostok - - - Stacja Casey - - - Mc Murdo - - - Samoa Amerykańskie - - - Wiedeń - - - Adelajda - - - Wyspa Lord Howe - - - Maarianhamina - - - Azerbejdżan - - - Sarajewo - - - Dakka - - - Bruksela - - - Wagadugu - - - Bułgaria - - - Bahrajn - - - Bużumbura - - - Porto Novo - - - Bermudy - - - Boliwia - - - Pôrto Velho - - - Cuiabá - - - Belém - - - Săo Paulo - - - Salvador - - - Maceió - - - Bahamy - - - Bhutan - - - Mińsk - - - Wyspy Kokosowe - - - Kinszasa - - - Bangi - - - Kongo Brazzaville - - - Zurych - - - Abidżan - - - Wyspy Cooka - - - Wyspa Wielkanocna - - - Duala - - - Kaszgar - - - Urumczi - - - Czunking - - - Szanghaj - - - Kolumbia - - - Kostaryka - - - Hawana - - - Zielony Przylądek - - - Wyspa Bożego Narodzenia - - - Nikozja - - - Praga - - - Niemcy - - - Dżibuti - - - Kopenhaga - - - Dominika - - - Republika Dominikańska - - - Algier - - - Ekwador - - - Tallin - - - Kair - - - Ujun - - - Asmara - - - Wyspy Kanaryjskie - - - Madryt - - - Addis Abeba - - - Finlandia - - - Fidżi - - - Falklandy (Malwiny) - - - Wyspy Owcze - - - Paryż - - - Londyn - - - Gruzja - - - Kajenna - - - Akra - - - Grenlandia - - - Bandżul - - - Konakri - - - Gwadelupa - - - Ateny - - - Georgia Południowa - - - Gwatemala - - - Gujana - - - Hongkong - - - Honduras - - - Zagrzeb - - - Haiti - - - Budapeszt - - - Dżakarta - - - Irlandia - - - Jerozolima - - - Wyspa Man - - - Kalkuta - - - Czagos - - - Bagdad - - - Teheran - - - Rejkiawik - - - Rzym - - - Jamajka - - - Jordania - - - Tokio - - - Biszkek - - - Kambodża - - - Komory - - - Saint Kitts - - - Korea Północna - - - Seul - - - Kuwejt - - - Kajmany - - - Aktau - - - Uralsk - - - Aktiubińsk - - - Kyzył Orda - - - Ałma Ata - - - Wientian - - - Bejrut - - - Saint Lucia - - - Liechtenstein - - - Kolombo - - - Wilno - - - Luksemburg - - - Ryga - - - Trypolis - - - Monako - - - Kiszyniów - - - Czarnogóra - - - Antananarywa - - - Macedonia - - - Rangun - - - Howd - - - Ułan Bator - - - Czojbalsan - - - Makau - - - Mariany Północne - - - Martynika - - - Nawakszut - - - Malediwy - - - Meksyk - - - Kuczing - - - Windhuk - - - Numea - - - Niamej - - - Wyspa Norfolk - - - Nikaragua - - - Holandia - - - Norwegia - - - Nepal - - - Maskat - - - Peru - - - Markizy - - - Papua Nowa Gwinea - - - Filipiny - - - Karaczi - - - Warszawa - - - Saint Pierre i Miquelon - - - Wyspy Pitcairn - - - Portoryko - - - Terytoria Palestyńskie - - - Azory - - - Madera - - - Lizbona - - - Asunción - - - Katar - - - Bukareszt - - - Belgrad - - - Moskwa - - - Wołgograd - - - Jekaterynburg - - - Nowosybirsk - - - Krasnojarsk - - - Irkuck - - - Jakuck - - - Władywostok - - - Sachalin - - - Kamczatka - - - Rijad - - - Wyspy Salomona - - - Mahé - - - Chartum - - - Sztokholm - - - Singapur - - - Święta Helena - - - Lublana - - - Bratysława - - - Mogadiszu - - - Surinam - - - Săo Tomé - - - Salwador - - - Damaszek - - - Turks i Caicos - - - Ndżamena - - - Wyspy Kerguelena - - - Lomé - - - Tajlandia - - - Duszanbe - - - Tokelau - - - Timor Wschodni - - - Aszchabad - - - Tonga - - - Stambuł - - - Port-of-Spain - - - Tuvalu - - - Tajpej - - - Dar es-Salaam - - - Użgorod - - - Kijów - - - Symferopol - - - Zaporoże - - - New Salem - - - Center - - - Vincennes - - - Petersburg - - - Knox - - - Winamac - - - Marengo - - - Vevay - - - Monticello - - - Nowy Jork - - - Urugwaj - - - Samarkanda - - - Taszkient - - - Watykan - - - Saint Vincent - - - Wenezuela - - - Brytyjskie Wyspy Dziewicze - - - Saint Thomas - - - Sajgon - - - Vanuatu - - - Wallis i Futuna - - - Samoa - - - Jemen - - - Majotta - - - - Czas środkowoeuropejski - Czas środkowoeuropejski letni - - true - - - - Czas wschodnioeuropejski - Czas wschodnioeuropejski letni - - - - - Czas zachodnioeuropejski - Czas zachodnioeuropejski letni - - - - - - - , -   - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - #,##0.00 ¤ - - - {0} {1} - - - - peseta andorska - pesety andorskie - peset andorskich - - - dirham arabski - dirhamy arabskie - dirhamów arabskich - - - afgani (1927-2002) - afgani (1927-2002) - afgani (1927-2002) - - - afgani - afgani - afgani - - - lek albański - leki albańskie - leków albańskich - - - dram armeński - dramy armeńskie - dramów armeńskich - - - gulden Antyle Holenderskie - guldeny Antyle Holenderskie - guldenów (Antyle Holenderskie) - - - kwanza angolańska - kwanzy angolańskie - kwanz angolańskich - - - kwanza angolańska (1977-1990) - kwanzy angolańskie (1977-1990) - kwanz angolańskich (1977-1990) - - - nowa kwanza angolańska (1990-2000) - nowe kwanzy angolańskie (1990-2000) - nowych kwanz angolańskich (1990-2000) - - - kwanza angolańska Reajustado (1995-1999) - kwanzy angolańskie Reajustado (1995-1999) - kwanz angolańskich Reajustado (1995-1999) - - - austral argentyński - - - peso argentyńskie (1983-1985) - - - peso argentyńskie - - - szyling austriacki  - - - dolar australijski - dolary australijskie - dolar australijski - dolarów australijskich - - - gulden arubski - - - manat azerbejdżański - - - manat azerski - manaty azerskie - manat azerski - manatów azerskich - - - dinar Bośni i Hercegowiny - - - marka konwertybilna Bośni i Hercegowiny - marki wymienne Bośni i Hercegowiny - marka wymienna Bośni i Hercegowiny - marek wymiennych Bośni i Hercegowiny - - - dolar Barbadosu - - - taka bengalska - - - frank belgijski (zamienny) - - - frank belgijski - - - frank belgijski (finansowy) - - - lew bułgarski - - - nowy lew bułgarski - - - dinar bahrański - - - frank burundyjski - - - dolar bermudzki - - - dolar brunejski - - - boliviano - - - peso boliwijskie - - - mvdol boliwijski - - - cruzeiro novo brazylijskie (1967-1986) - - - cruzado brazylijskie - - - cruzeiro brazylijskie (1990-1993) - - - real brazylijski - - - nowe cruzado brazylijskie - - - cruzeiro brazylijskie - - - dolar bahamski - - - ngultrum Bhutanu - - - kyat birmański - - - pula - - - rubel białoruski (1994-1999) - - - rubel białoruski - ruble białoruskie - rubel białoruski - rubli białoruskich - - - dolar belizeński - - - dolar kanadyjski - dolary kanadyjskie - dolar kanadyjski - dolarów kanadyjskich - - - frank kongijski - - - frank szwajcarski - franki szwajcarskie - frank szwajcarski - franków szwajcarskich - - - peso chilijskie - - - juan renminbi - - - peso kolumbijskie - - - colon kostarykański - - - stary dinar serbski - - - korona czechosłowacka - korony czechosłowackie - korona czechosłowacka - koron czechosłowackich - - - peso kubańskie - - - escudo Zielonego Przylądka - - - funt cypryjski - - - korona czeska - korony czeskie - korona czeska - koron czeskich - - - wschodnia marka wschodnioniemiecka - - - marka niemiecka - marki niemieckie - marka niemiecka - marek niemieckich - - - frank Dżibuti - - - korona duńska - korony duńskie - korona duńska - koron duńskich - - - peso dominikańskie - - - dinar algierski - - - sucre ekwadorski - - - korona estońska - korony estońskie - korona estońska - koron estońskich - - - funt egipski - - - nakfa erytrejska - - - peseta hiszpańska (Konto A) - - - peseta hiszpańska (konto wymienne) - - - peseta hiszpańska - - - birr etiopski - - - euro - euro - euro - euro - - - marka fińska - - - dolar fidżi - - - funt Wysp Falklandzkich - - - frank francuski  - franki francuskie - frank francuski - franków francuskich - - - funt szterling - - - kupon gruziński larit - - - lari gruzińskie - - - cedi ghańskie - - - cedi Ghany - - - funt gibraltarski - - - dalasi gambijskie - - - frank gwinejski - - - syli gwinejskie - - - ekwele gwinejskie Gwinei Równikowej - - - drachma grecka - - - quetzal gwatemalski - - - escudo Gwinea Portugalska - - - peso Guinea-Bissau - - - dolar gujański - - - dolar hongkoński - - - lempira Hondurasu - - - dinar chorwacki - - - kuna chorwacka - - - gourde haitańskie - - - forint węgierski  - forinty węgierskie - forint węgierski - forintów węgierskich - - - rupia indonezyjska - - - funt irlandzki - - - funt izraelski - - - nowy szekel izraelski - - - rupia indyjska - - - dinar iracki - - - rial irański - - - korona islandzka - - - lir włoski - - - dolar jamajski - - - dinar jordański - - - jen japoński - jeny japońskie - jen japoński - jenów japońskich - - - szyling kenijski - - - som kirgiski - - - riel kambodżański - - - frank komoryjski - - - won północnokoreański - - - won południowokoreański - - - dinar kuwejcki - - - dolar kajmański - - - tenge kazachskie - - - kip laotański - - - funt libański - - - rupia lankijska - - - dolar liberyjski - - - loti Lesoto - - - lit litewski - - - talon litewski - - - frank luksemburski - - - łat łotewski - - - rubel łotewski - - - dinar libijski - - - dirham marokański - - - frank marokański - franki marokańskie - frank marokański - franków marokańskich - - - lej mołdawski - - - ariar malgaski - - - frank malgaski - - - denar macedoński - - - frank malijski - - - kyat Myanmar - - - tugrik mongolski - - - pataka Macao - - - ouguiya mauterańska - - - lira maltańska - - - funt maltański - - - rupia Mauritius - - - rufiyaa malediwska - - - kwacha malawska - - - peso meksykańskie - - - peso srebrne meksykańskie (1861-1992) - - - ringgit malezyjski - - - escudo mozambickie - - - metical Mozambik - - - metical Mozambiku - - - dolar namibijski - - - naira nigeryjska - - - cordoba nikaraguańska - - - cordoba oro nikaraguańska - - - gulden holenderski  - - - korona norweska - korony norweskie - korona norweska - koron norweskich - - - rupia nepalska - - - dolar nowozelandzki - dolary nowozelandzkie - dolar nowozelandzki - dolarów nowozelandzkich - - - rial Omanu - - - balboa panamski - - - inti peruwiański - - - nowy sol peruwiański - - - sol peruwiański - - - kina Papua Nowa Gwinea - - - peso filipińskie - - - rupia pakistańska - - - złoty polski - złote polskie - złoty polski - złotych polskich - - - złoty polski (1950-1995) - - - escudo portugalskie - - - guarani paragwajskie - - - rial katarski - - - dolar rodezyjski - - - lej rumuński - - - nowa leja rumuńska - - - dinar serbski - - - rubel rosyjski - ruble rosyjskie - rubel rosyjski - rubli rosyjskich - - - rubel rosyjski (1991-1998) - - - frank ruandyjski - - - rial saudyjski - - - dolar Wysp Salomona - - - rupia seszelska - - - dinar sudański - - - funt sudański - - - stary funt sudański - - - korona szwedzka - korony szwedzkie - korona szwedzka - koron szwedzkich - - - dolar singapurski - - - funt Wyspy Świętej Heleny - - - tolar słoweński - tolary słoweńskie - tolar słoweński - tolarów słoweńskich - - - korona słowacka - korony słowackie - korona słowacka - koron słowackich - - - leone Sierra Leone - - - szyling somalijski - - - dolar surinamski - dolary surinamskie - dolar surinamski - dolarów surinamskich - - - gulden surinamski - - - dobra Wysp Świętego Tomasza i Książęcej - - - rubel radziecki - ruble radzieckie - rubel radziecki - rubli radzieckich - - - colon salwadorski - - - funt syryjski - - - lilangeni Suazi - - - baht tajski - - - rubel tadżycki - - - somoni tadżyckie - - - manat turkmeński - - - dinar tunezyjski - - - paʻanga Tonga - - - escudo timorskie - - - lir turecki - liry tureckie - lira turecka - lir tureckich - - - nowa lira turecka - nowe liry tureckie - nowa lira turecka - nowych lir tureckich - - - dolar Trynidadu i Tobago - - - nowy dolar tajwański - - - szyling tanzański - - - hrywna ukraińska - hrywny ukraińskie - hrywna ukraińska - hrywien ukraińskich - - - karbowaniec ukraiński - karbowańce ukraińskie - karbowaniec ukraiński - karbowańców ukraińskich - - - szyling ugandyjski (1966-1987) - - - szyling ugandyjski - - - dolar amerykański  - dolary amerykańskie - dolar amerykański - dolarów amerykańskich - - - peso urugwajskie (1975-1993) - - - peso urugwajskie - - - som uzbecki - - - boliwar wenezuelski - - - boliwar fuerte - - - dong wietnamski - - - vatu Vanuatu - - - tala samoańska - - - frank CFA BEAC - - - srebro - - - złoto - - - dolar wschodniokaraibski - - - specjalne prawa ciągnienia - - - ECU - - - frank złoty francuski - - - UIC-frank francuski - - - frank CFA - - - pallad - - - frank CFP - - - platyna - - - nieznana/nieprawidłowa waluta - XXX - nieznana/nieprawidłowa waluta - XXX - - - dinar jemeński - - - rial jemeński - - - nowy dinar jugosławiański - - - dinar jugosławiański wymienny - - - rand południowoafrykański (finansowy) - - - rand południowoafrykański - - - kwacha zambijska - - - nowy zair zairski - - - zair zairski - - - dolar Zimbabwe - - - - - - {0} dni - {0} dzień - {0} dni - - - {0} godziny - {0} godzina - {0} godzin - - - {0} minuty - {0} minuta - {0} minut - - - {0} miesiące - {0} miesiąc - {0} miesięcy - - - {0} sekundy - {0} sekunda - {0} sekund - - - {0} tygodnie - {0} tydzień - {0} tygodni - - - {0} lata - {0} rok - {0} lat - - - - - tak:t - nie:n - - - - diff --git a/lib/zend/Zend/Locale/Data/pl_PL.xml b/lib/zend/Zend/Locale/Data/pl_PL.xml deleted file mode 100644 index c870c5d64a..0000000000 --- a/lib/zend/Zend/Locale/Data/pl_PL.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/postalCodeData.xml b/lib/zend/Zend/Locale/Data/postalCodeData.xml deleted file mode 100644 index 398433d0d5..0000000000 --- a/lib/zend/Zend/Locale/Data/postalCodeData.xml +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - GIR[ ]?0AA|((AB|AL|B|BA|BB|BD|BH|BL|BN|BR|BS|BT|CA|CB|CF|CH|CM|CO|CR|CT|CV|CW|DA|DD|DE|DG|DH|DL|DN|DT|DY|E|EC|EH|EN|EX|FK|FY|G|GL|GY|GU|HA|HD|HG|HP|HR|HS|HU|HX|IG|IM|IP|IV|JE|KA|KT|KW|KY|L|LA|LD|LE|LL|LN|LS|LU|M|ME|MK|ML|N|NE|NG|NN|NP|NR|NW|OL|OX|PA|PE|PH|PL|PO|PR|RG|RH|RM|S|SA|SE|SG|SK|SL|SM|SN|SO|SP|SR|SS|ST|SW|SY|TA|TD|TF|TN|TQ|TR|TS|TW|UB|W|WA|WC|WD|WF|WN|WR|WS|WV|YO|ZE)(\d[\dA-Z]?[]?\d[ABD-HJLN-UW-Z]{2}))|BFPO[ ]?\d{1,4} - JE\d[\dA-Z]?[ ]?\d[ABD-HJLN-UW-Z]{2} - GY\d[\dA-Z]?[ ]?\d[ABD-HJLN-UW-Z]{2} - IM\d[\dA-Z]?[ ]?\d[ABD-HJLN-UW-Z]{2} - \d{5}([ \-]\d{4})? - [ABCEGHJKLMNPRSTVXY]\d[A-Z][ ]?\d[A-Z]\d - \d{5} - \d{3}-\d{4} - \d{2}[ ]?\d{3} - \d{4} - \d{5} - \d{4} - \d{4} - \d{5} - \d{4}[ ]?[A-Z]{2} - \d{4} - \d{4} - \d{3}[ ]?\d{2} - \d{4} - \d{5}[\-]?\d{3} - \d{4}([\-]\d{3})? - \d{5} - 22\d{3} - \d{3}[\-]\d{3} - \d{6} - \d{3}(\d{2})? - \d{6} - \d{5} - AD\d{3} - ([A-HJ-NP-Z])?\d{4}([A-Z]{3})? - (37)?\d{4} - \d{4} - ((1[0-2]|[2-9])\d{2})? - \d{4} - (BB\d{5})? - \d{6} - [A-Z]{2}[ ]?[A-Z0-9]{2} - \d{5} - BBND 1ZZ - [A-Z]{2}[ ]?\d{4} - \d{4} - \d{5} - \d{4} - \d{7} - \d{4,5}|\d{3}-\d{4} - \d{5} - \d{4} - \d{3}[ ]?\d{2} - \d{5} - ([A-Z]\d{4}[A-Z]|(?:[A-Z]{2})?\d{6})? - \d{5} - \d{5} - \d{3} - \d{4} - \d{3}[ ]?\d{2} - 39\d{2} - \d{5} - \d{4} - (?:\d{5})? - \d{4} - \d{3} - \d{6} - \d{5} - ((D|DUBLIN)?([1-9]|6[wW]|1[0-8]|2[024]))? - \d{5} - \d{5} - \d{6} - \d{5} - \d{5} - \d{5} - \d{4} - (\d{4}([ ]?\d{4})?)? - (948[5-9])|(949[0-7]) - \d{5} - \d{4} - \d{4} - \d{5} - \d{5} - [A-Z]{3}[ ]?\d{2,4} - (\d{3}[A-Z]{2}\d{3})? - \d{5} - \d{4} - 980\d{2} - \d{5} - \d{5} - \d{4} - ((\d{4}-)?\d{3}-\d{3}(-\d{1})?)? - (\d{6})? - (PC )?\d{3} - \d{5} - \d{4} - \d{4} - \d{2}-\d{3} - 00[679]\d{2}([ \-]\d{4})? - \d{6} - \d{6} - 4789\d - \d{5} - \d{5} - \d{3}[ ]?\d{2} - \d{4} - \d{4} - \d{5} - \d{6} - \d{5} - \d{4} - \d{5} - \d{6} - \d{5} - \d{5} - \d{6} - 00120 - \d{4} - \d{5} - 96799 - 6799 - \d{4} - \d{6} - 8\d{4} - \d{5} - \d{5} - 6798 - \d{4} - FIQQ 1ZZ - 2899 - (9694[1-4])([ \-]\d{4})? - 9[78]3\d{2} - \d{3} - 9[78][01]\d{2} - SIQQ 1ZZ - 969[123]\d([ \-]\d{4})? - \d{4} - \d{4} - \d{5} - \d{6} - \d{4} - \d{3} - \d{3} - 969[67]\d([ \-]\d{4})? - \d{6} - 9695[012]([ \-]\d{4})? - 9[78]2\d{2} - 988\d{2} - \d{4} - 008(([0-4]\d)|(5[01]))([ \-]\d{4})? - 987\d{2} - \d{3} - 9[78]5\d{2} - PCRN 1ZZ - 96940 - 9[78]4\d{2} - STHL 1ZZ - \d{4} - \d{5} - [HLMS]\d{3} - TKCA 1ZZ - 986\d{2} - 976\d{2} - - diff --git a/lib/zend/Zend/Locale/Data/ps.xml b/lib/zend/Zend/Locale/Data/ps.xml deleted file mode 100644 index 0134dc9a76..0000000000 --- a/lib/zend/Zend/Locale/Data/ps.xml +++ /dev/null @@ -1,417 +0,0 @@ - - - - - - - - - fa_AF - - - افريکاني - امهاري - عربي - اسمائى ژبه - أذربائجاني - بلوڅي - بېلاروسي - بلغاري - بيهاري - بنګالي - برېتون - بوسني - کټلاني - چېک - ويلشي - ډېنش - الماني - یوناني - انګلیسي - اسپرانتو - هسپانوي - حبشي - باسکي - فارسي - فینلنډي - تګالوګ - فاروئې - فرانسوي - فريزي - ائيرلېنډي - سکاټلېنډي ګېلک - ګلېشيايي - ګوراني - ګجراتي - عبري - هندي - کروواتي - هنګري - ارمني - انټرلنګوا - انډونېشيايي - آسا نا جبة - هند و اروپایي - أيسلېنډي - ایټالوي - جاپانی - جاوايې - جورجيائي - کمبوډيايې يا د کمبوډيا - کنأډه - کوريائي - کردي - کرګيز - لاتیني - لويتين - ليتواني - لېټواني - ملغاسي - مقدوني - مالايالم - مغولي - مراټهي - ملایا - مالټايي - نېپالي - هالېنډي - ناروېئي (نائنورسک) - ناروېئې - اوکسيټاني - اوريا - پنجابي - پولنډي - پښتو - پورتګالي - پرتگال (برازيل) - پرتګالي (پرتګال) - روماني - روسي - سنسکریټ - سندهي - سرب-کروشيايي - سينهالي - سلوواکي - سلوواني - سومالي - الباني - سربيائي - سيسوتو - سوډاني - سویډنی - سواهېلي - تامل - تېليګو - تاجک - تايلېنډي - تيګريني - ترکمني - کلينګاني - ترکي - تاتار - توی - اويگور - اوکرانايي - اردو - ازبکي - وېتنامي - خوسا - يديش - چیني - زولو - - - - - - افغانستان - البانیه - انګولا - انتارکتیکا - اتریش - بنګله‌دیش - بلغاریه - کاناډا - سویس - چین - کولمبیا - کیوبا - المان - ډنمارک - الجزایر - مصر - هسپانیه - حبشه - فنلینډ - فرانسه - برتانیه - ګانا - ګیانا - یونان - ګواتیمالا - هانډوراس - مجارستان - اندونیزیا - هند - عراق - آیسلینډ - ایټالیه - جمیکا - جاپان - کمبودیا - کویټ - لاوس - لبنان - لایبریا - لیبیا - مراکش - مغولستان - مالیزیا - نایجیریا - نکاراګوا - هالېنډ - ناروې - نیپال - نیوزیلنډ - پاکستان - پولنډ - فلسطین - پورتګال - روسیه - روندا - سعودی عربستان - سویډن - سالوېډور - سوریه - تاجکستان - تنزانیا - یوروګوای - یمن - - - - - - - [\u064E \u0650 \u064F \u064B \u064D \u064C \u0651 \u0652 \u0654 \u0670 آ ا أ ء ب پ ت ټ ث ج ځ چ څ ح-د ډ ذ ر ړ ز ژ ږ س ش ښ ص-غ ف ق ک ګ ل-ن ڼ ه ة و ؤ ی ي ې ۍ ئ] - [\u200C \u200D] - - - - - - - - 1 - 2 - 3 - 4 - مـی - جون - 7 - 8 - 9 - 10 - 11 - 12 - - - جنوري - فبروري - مارچ - اپریل - می - جون - جولای - اګست - سپتمبر - اکتوبر - نومبر - دسمبر - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - یکشنبه - دوشنبه - سه‌شنبه - چهارشنبه - پنجشنبه - جمعه - شنبه - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - غ.م. - غ.و. - - - ق.م. - م. - - - - - - EEEE د y د MMMM d - - - - - د y د MMMM d - - - - - d MMM y - - - - - yyyy/M/d - - - - - - - H:mm:ss (zzzz) - - - - - H:mm:ss (z) - - - - - H:mm:ss - - - - - H:mm - - - - - - d MMMM - M/d - mm:ss - Q yy - yyyy/M - د y د MMMM - - - - - - - - وری - غویی - غبرګولی - چنګاښ - زمری - وږی - تله - لړم - لیندۍ - مرغومی - سلواغه - کب - - - - - - - +HH:mm;-HH:mm - GMT{0} - د {0} په وخت - - کابل - - - - - arabext - - ٫ - ٬ - ٪ - ۰ - − - ×۱۰^ - - - - - #,##0.00 ¤ - - - - - - افغانۍ - ؋ - - - - - diff --git a/lib/zend/Zend/Locale/Data/ps_AF.xml b/lib/zend/Zend/Locale/Data/ps_AF.xml deleted file mode 100644 index 058ec30b7c..0000000000 --- a/lib/zend/Zend/Locale/Data/ps_AF.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/pt.xml b/lib/zend/Zend/Locale/Data/pt.xml deleted file mode 100644 index b127cec4b1..0000000000 --- a/lib/zend/Zend/Locale/Data/pt.xml +++ /dev/null @@ -1,4338 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - afar - abcázio - achém - acoli - adangme - adigue - avéstico - africâner - idioma afro-asiático - afrihili - ainu - akan - acadiano - aleúte - idioma algonquiano - altai do sul - amárico - aragonês - inglês arcaico - angika - idioma apache - árabe - aramaico - araucano - arapaho - idioma artificial - arauaqui - assamês - asturiano - idioma atabascano - idioma australiano - avaric - awadhi - aimara - azerbaijano - bashkir - banda - idioma bamileke - balúchi - balinês - basa - idioma báltico - bielo-russo - beja - bemba - berbere - búlgaro - biari - bhojpuri - bislamá - bikol - bini - siksika - bambara - bengali - banto - tibetano - bretão - braj - bósnio - bataque - buriat - buguinês - blin - catalão - caddo - idioma indígena centro-americano - caribe - idioma caucásico - atsam - checheno - cebuano - idioma celta - chamorro - chibcha - chagatai - chuukese - mari - chinook jargon - choctaw - chipewyan - cherokee - cheiene - idioma chamic - córsico - copta - crioulo ou pidgin baseado no inglês - crioulo ou pidgin baseado no francês - crioulo ou pidgin baseado no português - cree - turco da Crimeia - crioulo ou pidgin - tcheco - kashubian - eslavo eclesiástico - idioma cuchítico - chuvash - galês - dinamarquês - dacota - dargwa - dayak - alemão - alemão austríaco - alto alemão suíço - delaware - slave - dogrib - dinka - dogri - idioma dravidiano - sérvio baixo - duala - holandês médio - divehi - diúla - dzonga - eve - efique - egípcio arcaico - ekajuk - grego - elamite - inglês - inglês australiano - inglês canadense - inglês britânico - inglês americano - inglês médio - esperanto - espanhol - espanhol latino-americano - espanhol ibérico - estoniano - basco - ewondo - persa - fangue - fanti - fula - finlandês - filipino - idioma fino-úgrico - fijiano - feroês - fom - francês - francês canadense - francês suíço - francês médio - francês arcaico - frísio setentrional - frisão oriental - friulano - frísio ocidental - irlandês - ga - gayo - gbaia - gaélico escocês - idioma germânico - geez - gilbertês - galego - alemão médio-alto - guarani - alemão arcaico alto - gondi - gorontalo - gótico - grebo - grego arcaico - alemão suíço - guzerate - manx - gwichʼin - hauçá - haida - havaiano - hebraico - híndi - hiligaynon - himachali - hitita - hmong - hiri motu - croata - sorábio superior - haitiano - húngaro - hupa - armênio - herero - interlíngua - iban - indonésio - interlingue - ibo - sichuan yi - ijo - inupiaque - ilocano - idioma índico - idioma indo-europeu - inguche - ido - iraniano - idioma iroquês - islandês - italiano - inuktitut - japonês - lojban - judaico-persa - judaico-arábico - javanês - georgiano - kara-kalpak - kabyle - kachin - jju - kamba - karen - kawi - kabardiano - tyap - koro - congolês - khasi - idioma coisã - khotanês - quicuio - kuanyama - cazaque - groenlandês - cmer - quimbundo - canarês - coreano - concani - kosraean - kpelle - canúri - karachay-balkar - idioma carélio - kru - kurukh - caxemira - curdo - kumyk - kutenai - komi - córnico - quirguiz - latim - ladino - lahnda - lamba - luxemburguês - lezghian - luganda - limburguês - lingala - laosiano - mongo - lozi - lituano - luba-catanga - luba-lulua - luiseno - lunda - luo - lushai - letão - madurês - magahi - maithili - makasar - mandinga - austronésio - massai - mocsa - mandar - mende - malgaxe - irlandês médio - marshalês - maori - miquemaque - minangkabau - idiomas diversos - macedônio - idioma mon-khmer - malaiala - mongol - manchu - manipuri - idioma manobo - moldávio - mohawk - mossi - marata - malaio - maltês - idiomas múltiplos - idiomas munda - creek - mirandês - marwari - birmanês - maia - erzya - nauruano - náuatle - idioma indígena norte-americano - napolitano - bokmål norueguês - ndebele do norte - baixo-alemão - nepali - newari - dongo - nias - idioma cordofano-nigeriano - niueano - holandês - flamengo - nynorsk norueguês - norueguês - nogai - nórdico arcaico - n'ko - ndebele do sul - soto setentrional - idioma núbio - navajo - newari clássico - nianja - nyamwezi - nyankole - nyoro - nzima - occitânico - ojibwa - oromo - oriya - ossetic - osage - turco otomano - idioma otomano - panjabi - idioma papuano - pangasinã - pálavi - pampanga - papiamento - palauano - persa arcaico - idioma filipino - fenício - páli - polonês - pohnpeian - idioma prácrito - provençal arcaico - pashto - português - português do Brasil - português ibérico - quíchua - rajastani - rapanui - rarotongano - reto-romano - rundi - romeno - idioma românico - romani - root - russo - aromeno - kinyarwanda - sânscrito - sandawe - iacuto - idioma indígena sul-americano - idioma salisano - aramaico samaritano - sasak - santali - sardo - siciliano - escocês - sindi - sami do norte - selkup - idioma semítico - sango - irlandês arcaico - linguagem de sinais - servo-croata - shan - cingalês - sidamo - idioma sioux - idioma sino-tibetano - eslovaco - esloveno - idioma eslavo - samoano - sami do sul - idioma sami - lule sami - inari sami - skolt sami - shona - soninquê - somali - sogdiano - songai - albanês - sérvio - idioma surinamês - serere - swati - idioma nilo-saariano - soto do sul - sundanês - sukuma - sosso - sumério - sueco - suaili - siríaco clássico - siríaco - tâmil - idioma tailandês - telugu - timne - tereno - tétum - tadjique - tailandês - tigrínia - tigré - tiv - turcomano - toquelauano - tagalo - klingon - tlinguite - tamaxeque - tswana - tonganês - tonganês de Nyasa - tok pisin - turco - tsonga - tsimshian - tatar - tumbuka - idioma tupi - idioma altaico - tuvaluano - twi - taitiano - tuvinian - udmurt - uighur - ugarítico - ucraniano - umbundu - idioma inválido ou desconhecido - urdu - usbeque - vai - venda - vietnamita - volapuque - votic - valão - idioma wakashan - walamo - waray - washo - idioma sorábio - uólofe - kalmyk - xosa - yao - yapese - iídiche - ioruba - idioma iúpique - zhuang - zapoteca - símbolos blis - zenaga - chinês - chinês simplificado - chinês tradicional - zande - zulu - zunhi - sem conteúdo linguístico - zaza - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Mundo - África - América do Norte - América do Sul - Oceania - África Ocidental - América Central - África Oriental - África do Norte - África Central - África Austral - Américas - América Setentrional - Caribe - Ásia Oriental - Ásia do Sul - Ásia Centro-Oriental - Europa do Sul - Austrália e Nova Zelândia - Melanésia - Região da Micronésia - Polinésia - Ásia Centro-Meridional - Ásia - Ásia Central - Ásia Ocidental - Europa - Europa Oriental - Europa Setentrional - Europa Ocidental - Comunidade dos Estados Independentes - América Latina e Caribe - Andorra - Emirados Árabes Unidos - Afeganistão - Antígua e Barbuda - Anguilla - Albânia - Armênia - Antilhas Holandesas - Angola - Antártida - Argentina - Samoa Americana - Áustria - Austrália - Aruba - Ilhas Aland - Azerbaijão - Bósnia-Herzegovina - Barbados - Bangladesh - Bélgica - Burquina Faso - Bulgária - Bahrain - Burundi - Benin - São Bartolomeu - Bermudas - Brunei - Bolívia - Brasil - Bahamas - Butão - Ilha Bouvet - Botsuana - Belarus - Belize - Canadá - Ilhas Coco - Congo-Kinshasa - República Centro-Africana - Congo - Suíça - Costa do Marfim - Ilhas Cook - Chile - República dos Camarões - China - Colômbia - Costa Rica - Sérvia e Montenegro - Cuba - Cabo Verde - Ilhas Natal - Chipre - República Tcheca - Alemanha - Djibuti - Dinamarca - Dominica - República Dominicana - Argélia - Equador - Estônia - Egito - Saara Ocidental - Eritreia - Espanha - Etiópia - Finlândia - Fiji - Ilhas Malvinas - Micronésia - Ilhas Faroe - França - Gabão - Reino Unido - Granada - Geórgia - Guiana Francesa - Guernsey - Gana - Gibraltar - Groênlandia - Gâmbia - Guiné - Guadalupe - Guiné Equatorial - Grécia - Geórgia do Sul e Ilhas Sandwich do Sul - Guatemala - Guam - Guiné Bissau - Guiana - Hong Kong, Região Admin. Especial da China - Ilha Heard e Ilhas McDonald - Honduras - Croácia - Haiti - Hungria - Indonésia - Irlanda - Israel - Ilha de Man - Índia - Território Britânico do Oceano Índico - Iraque - Irã - Islândia - Itália - Jersey - Jamaica - Jordânia - Japão - Quênia - Quirguistão - Camboja - Quiribati - Comores - São Cristovão e Nevis - Coreia do Norte - Coreia do Sul - Kuwait - Ilhas Caiman - Casaquistão - República Popular Democrática do Laos - Líbano - Santa Lúcia - Liechtenstein - Sri Lanka - Libéria - Lesoto - Lituânia - Luxemburgo - Letônia - Líbia - Marrocos - Mônaco - Moldávia - Montenegro - São Martinho - Madagascar - Ilhas Marshall - Macedônia - Mali - Mianmar - Mongólia - Macau, Região Admin. Especial da China - Ilhas Marianas do Norte - Martinica - Mauritânia - Montserrat - Malta - Maurício - Maldivas - Malawi - México - Malásia - Moçambique - Namíbia - Nova Caledônia - Níger - Ilha Norfolk - Nigéria - Nicarágua - Holanda - Noruega - Nepal - Nauru - Niue - Nova Zelândia - Omã - Panamá - Peru - Polinésia Francesa - Papua-Nova Guiné - Filipinas - Paquistão - Polônia - Saint Pierre e Miquelon - Pitcairn - Porto Rico - Território da Palestina - Portugal - Palau - Paraguai - Catar - Oceania Remota - União Europeia - Reunião - Romênia - Sérvia - Rússia - Ruanda - Arábia Saudita - Ilhas Salomão - Seychelles - Sudão - Suécia - Cingapura - Santa Helena - Eslovênia - Svalbard e Jan Mayen - Eslováquia - Serra Leoa - San Marino - Senegal - Somália - Suriname - São Tomé e Príncipe - El Salvador - Síria - Suazilândia - Ilhas Turks e Caicos - Chade - Territórios Franceses do Sul - Togo - Tailândia - Tadjiquistão - Tokelau - Timor Leste - Turcomenistão - Tunísia - Tonga - Turquia - Trinidad e Tobago - Tuvalu - Taiwan - Tanzânia - Ucrânia - Uganda - Ilhas Menores Distantes dos Estados Unidos - Estados Unidos - Uruguai - Uzbequistão - Vaticano - São Vicente e Granadinas - Venezuela - Ilhas Virgens Britânicas - Ilhas Virgens dos EUA - Vietnã - Vanuatu - Wallis e Futuna - Samoa - Iêmen - Mayotte - África do Sul - Zâmbia - Zimbábue - Região desconhecida ou inválida - - - ortografia alemã tradicional - ortografia resiana padronizada - ortografia alemã de 1996 - francês antigo de 1606 - francês da idade moderna - armênio oriental - armênio ocidental - alfabeto latino turco unificado - dialeto san giorgio/bila - boontling - fonética do Alfabeto Fonético Internacional - fonética do Alfabeto Fonético Urálico - dialeto lipovaz de Resian - monotônico - dialeto natisone - dialeto gniva/njiva - dialeto oseacco/osojane - politônico - computador - Ortografia Revisada - resiano - saho - inglês padrão escocês - scouse - dialeto stolvizza/solbica - ortografia taraskievica - valenciano - - - Calendário - Ordenação - Moeda - - - Ordem do Chinês Tradicional - Big5 - Calendário Budista - Calendário Chinês - Ordem Direta - Ordem do Chinês Simplificado - GB2312 - Calendário Gregoriano - Calendário Hebraico - Calendário Nacional Indiano - Calendário Islâmico - Calendário Civil Islâmico - Calendário Japonês - Ordem de Lista Telefônica - Ordem Pin-yin - Calendário da República da China - Ordem dos Traços - Ordem Tradicional - - - americano - métrico - - - Idioma: {0} - Roteiro: {0} - Região: {0} - - - - [a á à â ã b c ç d e é ê f-i í j-o ó ò ô õ p-u ú v-z] - [ă å ä ā æ-è ĕ ë ē ì ĭ î ï ī ñ ŏ ö ø ō œ ß ù ŭ û ü ū ÿ] - [a-c č d-l ł m-z] - - - “ - ” - ‘ - ’ - - - - - - - - EEEE, d 'de' MMMM 'de' y G - - - - - d 'de' MMMM 'de' y G - - - - - d 'de' MMMM 'de' y G - - - - - d/M/yyyy - - - - - - MM-yy - - - - - - - - jan - fev - mar - abr - mai - jun - jul - ago - set - out - nov - dez - - - janeiro - fevereiro - março - abril - maio - junho - julho - agosto - setembro - outubro - novembro - dezembro - - - - - J - F - M - A - M - J - J - A - S - O - N - D - - - - - - - dom - seg - ter - qua - qui - sex - sáb - - - domingo - segunda-feira - terça-feira - quarta-feira - quinta-feira - sexta-feira - sábado - - - - - D - S - T - Q - Q - S - S - - - - - - - T1 - T2 - T3 - T4 - - - 1º trimestre - 2º trimestre - 3º trimestre - 4º trimestre - - - - - 1 - 2 - 3 - 4 - - - - AM - PM - - - Antes de Cristo - Ano do Senhor - - - a.C. - d.C. - - - - - - EEEE, d 'de' MMMM 'de' y - - - - - d 'de' MMMM 'de' y - - - - - dd/MM/yyyy - - - - - dd/MM/yy - - - - - - - HH'h'mm'min'ss's' zzzz - - - - - HH'h'mm'min'ss's' z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - - {1} {0} - - - - EEE, d - HH'h'mm - H'h'mm'min'ss's' - H'h'mm - L - EEE, dd/MM - LLL - EEE, d 'de' MMM - EEE, d 'de' MMMM - d 'de' MMMM - d 'de' MMM - dd/MM - d/M - d - mm'min'ss's' - mm'min'ss's' - y - MM/yyyy - EEE, dd/MM/yyyy - MMM 'de' y - EEE, d 'de' MMM 'de' y - MMMM 'de' y - yyyy Q - y QQQ - MM/yy - MMM 'de' yy - EEE, d 'de' MMM 'de' yy - d 'de' MMM 'de' yy - Q yy - MM/yyyy - MMM 'de' y - - - {0} - {1} - - M-M - - - E, dd/MM - E, dd/MM - E, dd/MM - E, dd/MM - - - MMM - MMM - - - E, d 'de' MMM - E, d 'de' MMM - E, d - E, d 'de' MMM - - - LLLL - LLLL - - - d 'de' MMM - d 'de' MMM - d-d 'de' MMM - - - dd/MM - dd/MM - dd/MM - dd/MM - - - d-d - - - H'h' - H'h' - H'h' - H'h' - - - H'h'mm - H'h'mm - H'h'mm - H'h'mm - H'h'mm - H'h'mm - - - H'h'mm - H'h'mm v - H'h'mm - H'h'mm v - H'h'mm - H'h'mm v - - - H'h'mm - H'h'mm v - H'h'mm - H'h'mm v - - - y - y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E, dd/MM/yy - E, dd/MM/yy - E, dd/MM/yy - E, dd/MM/yy - E, dd/MM/yy - E, dd/MM/yy - - - MMM-MMM 'de' y - MMM 'de' y - MMM 'de' y - - - E, d 'de' MMM - E, d 'de' MMM 'de' y - E, d - E, d 'de' MMM 'de' y - E, d 'de' MMM 'de' y - E, d 'de' MMM 'de' y - - - MM – MM-yyyy - MM-yyyy – MM-yyyy - - - d 'de' MMM - d 'de' MMM 'de' y - d-d 'de' MMM 'de' y - d 'de' MMM 'de' y - d 'de' MMM 'de' y - - - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - - - - - - Era - - - Ano - - - Mês - - - Semana - - - Dia - Há três dias - Anteontem - Ontem - Hoje - Amanhã - Depois de amanhã - Daqui a três dias - - - Dia da semana - - - Período do dia - - - Hora - - - Minuto - - - Segundo - - - Fuso - - - - - - - - EEEE, d MMMM y G - - - - - d 'de' MMMM 'de' y G - - - - - d MMM y G - - - - - d/M/yy - - - - - - - - Antes de R.O.C. - - - Antes de R.O.C. - - - - - - +HH:mm;-HH:mm - GMT{0} - Horário {0} - {1} ({0}) - - Desconhecido - - - Cabul - - - Antígua - - - Anguila - - - Tirana - - - Ierevan - - - Curaçao - - - Pólo Sul - - - Tucumã - - - Córdoba - - - Viena - - - Dacca - - - Bruxelas - - - Sófia - - - Barein - - - Porto Novo - - - Bermudas - - - Eirunepé - - - Cuiabá - - - Santarém - - - Belém - - - Araguaína - - - São Paulo - - - Maceió - - - Fernando de Noronha - - - St. Johns - - - Zurique - - - Abidjã - - - Ilha de Páscoa - - - Xangai - - - Bogotá - - - Cabo Verde - - - Nicósia - - - Berlim - - - Djibuti - - - Copenhague - - - Argel - - - Galápagos - - - Guaiaquil - - - Canárias - - - Madri - - - Helsinque - - - Ilhas Faroe - - - Londres - - - Granada - - - Caiena - - - Guadalupe - - - Atenas - - - Geórgia do Sul - - - Guiana - - - Porto Príncipe - - - Budapeste - - - Jacarta - - - Jerusalém - - - Bagdá - - - Teerã - - - Roma - - - Amã - - - Tóquio - - - Nairóbi - - - São Cristóvão - - - Seul - - - Caimã - - - Vienciana - - - Beirute - - - Santa Lúcia - - - Monróvia - - - Luxemburgo - - - Trípoli - - - Mônaco - - - Martinica - - - Ilhas Maurício - - - Maldivas - - - Cidade do México - - - Mérida - - - Cancún - - - Manágua - - - Amsterdã - - - Catmandu - - - Panamá - - - Taiti - - - Varsóvia - - - Porto Rico - - - Açores - - - Lisboa - - - Asunción - - - Catar - - - Ilha Reunião - - - Bucareste - - - Moscou - - - Volgogrado - - - Ecaterimburgo - - - Riad - - - Estocolmo - - - Cingapura - - - Santa Helena - - - Dacar - - - São Tomé - - - Salvador - - - Damasco - - - Lomé - - - Tunísia - - - Istambul - - - Porto Espanha - - - New Salen, Dakota do Norte - - - Central, Dakota do Norte - - - Indianápolis - - - Nova York - - - Montevidéu - - - São Vicente - - - St. Thomas - - - Ilha Mayotte - - - Johannesburgo - - - - Horário do Acre - Horário de Verão do Acre - - - ACT - ACST - - true - - - - Horário do Afeganistão - - - - - Horário da África Central - - - - - Horário da África Oriental - - - - - Horário da África do Sul - Horário Padrão da África do Sul - - - - - Horário da África Ocidental - Horário de Verão da África Ocidental - - - - - Horário do Aktyubinsk - Horário de Verão do Aktyubinsk - - - - - Horário do Alaska - Horário Padrão do Alasca - Horário de Verão do Alasca - - - AKT - - true - - - - Horário do Alasca-Havaí - Horário Padrão do Alaska-Havaí - Horário de Verão do Alaska-Havaí - - - AHT - - - - - Horário do Almaty - Horário de Verão do Almaty - - - - - Horário do Amazonas - Horário de Verão do Amazonas - - true - - - - Horário Central - Horário Padrão Central - Horário de Verão Central - - - CT - CST - CDT - - - - - Horário Oriental - Horário Padrão Oriental - Horário de Verão Oriental - - - ET - EST - EDT - - - - - Horário da Montanha - Horário Padrão da Montanha - Horário de Verão da Montanha - - - MT - MST - MDT - - - - - Horário do Pacífico - Horário Padrão do Pacífico - Horário de Verão do Pacífico - - - PT - PST - PDT - - - - - Horário do Anadyr - Horário de Verão do Anadyr - - - - - Horário do Aqtau - Horário de Verão do Aqtau - - - - - Horário do Aqtobe - Horário de Verão do Aqtobe - - - - - Horário da Arábia - Horário Padrão da Arábia - Horário de Verão da Arábia - - - AT (Arábia) - AST (Arábia) - ADT (Arábia) - - - - - Horário da Argentina - Horário de Verão da Argentina - - - - - Horário da Argentina Ocidental - - - - - Horário da Armênia - Horário de Verão da Armênia - - - AMT (Armênia) - AMST (Armênia) - - - - - Horário de Ashkhabad - Horário de Verão de Ashkhabad - - - - - Horário do Atlântico - Horário Padrão do Atlântico - Horário de Verão do Atlântico - - - AT - AST - ADT - - - - - Horário da Austrália Central - Horário Padrão da Austrália Central - Horário de Verão da Austrália Central - - - ACT (Austrália) - ACST (Austrália) - - - - - Horário da Austrália Centro-Ocidental - Horário Padrão da Austrália Centro-Ocidental - Horário de Verão da Austrália Centro-Ocidental - - - ACWT - - - - - Horário da Austrália Oriental - Horário Padrão da Austrália Oriental - Horário de Verão da Austrália Oriental - - - AET - - - - - Horário da Austrália Ocidental - Horário Padrão da Austrália Ocidental - Horário de Verão da Austrália Ocidental - - - AWT - - - - - Horário do Arzeibaijão - Horário de Verão do Arzeibaijão - - - - - Horário dos Açores - Horário de Verão dos Açores - - - - - Horário de Baku - Horário de Verão de Baku - - - - - Horário de Bangladesh - - - - - Horário de Bering - Horário Padrão de Bering - Horário de Verão de Bering - - - BT (Bering) - - - - - Horário do Butão - - - - - Horário da Bolívia - - - - - Horário de Bornéu - Horário de Verão de Bornéu - - - - - Horário de Brasília - Horário de Verão de Brasília - - true - - - - Horário de Brunei Darussalam - - - - - Horário do Cabo Verde - Horário de Verão do Cabo Verde - - - - - Horário de Chamorro - Horário Padrão de Chamorro - - - ChT - - - - - Horário de Changbai - - - - - Horário de Padrão de Chatham - Horário de Verão de Chatham - - - - - Horário do Chile - Horário de Verão do Chile - - - - - Horário da China - Horário Padrão da China - Horário de Verão da China - - - CT (China) - CST (China) - CDT (China) - - - - - Horário de Choibalsan - Horário de Verão de Choibalsan - - - - - Horário das Ilhas Christmas - - - - - Horário das Ilhas Coco - - - - - Horário da Colômbia - Horário de Verão da Colômbia - - - - - Horário das Ilhas Cook - Meio Horário de Verão das Ilhas Cook - - - - - Horário de Cuba - Horário Padrão de Cuba - Horário de Verão de Cuba - - - CST (Cuba) - CDT (Cuba) - - - - - Horário de Dacca - - - - - Horário de Davis - - - - - Horário de Dumont-d'Urville - - - - - Horário de Dushanbe - Horário de Verão de Dushanbe - - - - - Horário da Guiana Holandesa - - - - - Horário do Timor-Leste - - - - - Horário da Ilha de Páscoa - Horário de Verão da Ilha de Páscoa - - - - - Horário do Equador - - - - - Horário da Europa Central - Horário de Verão da Europa Central - - - CET - CEST - - - - - Horário Padrão da Europa Oriental - Horário de Verão da Europa Oriental - - - EET - EEST - - - - - Horário da Europa Ocidental - Horário de Verão da Europa Ocidental - - - WET - WEST - - - - - Horário das Ilhas Falkland - Horário de Verão das Ilhas Falkland - - - - - Horário de Fiji - Horário de Verão de Fiji - - - - - Horário da Guiana Francesa - - - - - Horário da Antártida e do Sul da França - - - - - Horário de Frunze - Horário de Verão de Frunze - - - - - Horário do Meridiano de Greenwich - - - GMT - - true - - - - Horário de Galápagos - - - - - Horário de Gambier - - - - - Horário da Geórgia - Horário de Verão da Geórgia - - - - - Horário das Ilhas Gilberto - - - - - Horário da Groelândia Central - Horário de Verão da Groenlândia Central - - - - - Horário da Groelândia Oriental - Horário de Verão da Groelândia Oriental - - - - - Horário da Groenlândia Ocidental - Horário de Verão da Groenlândia Ocidental - - - - - Horário Padrão de Guam - - - GST (Guam) - - - - - Horário do Golfo - Horário Padrão do Golfo - - - GT - - - - - Horário da Guiana - - - - - Horário Padrão do Havaí-Aleuta - - true - - - - Horário de Hong Kong - Horário de Verão de Hong Kong - - - - - Horário de Hovd - Horário de Verão de Hovd - - - - - Horário Padrão da Índia - - - - - Horário do Oceano Índico - - - - - Horário da Indochina - - - - - Horário da Indonésia Central - - - - - Horário da Indonésia Oriental - - - - - Horário da Indonésia Ocidental - - - - - Horário Padrão do Irã - Horário de Verão do Irã - - - - - Horário de Irkutsk - Horário de Verão de Irkutsk - - - - - Horário de Israel - Horário Padrão de Israel - Horário de Verão de Israel - - - IST (Israel) - - - - - Horário do Japão - Horário Padrão do Japão - Horário de Verão do Japão - - - JT - - - - - Horário de Petropavlovsk-Kamchatski - Horário de Verão de Petropavlovsk-Kamchatski - - - - - Horário de Karachi - - - - - Horário de Kashgar - - - - - Horário do Casaquistão Oriental - Horário Padrão do Cazaquistão Oriental - - - - - Horário do Casaquistão Ocidental - Horário Padrão do Casaquistão Ocidental - - - - - Horário de Kizilorda - Horário de Verão de Kizilorda - - - - - Horário da Coréia - Horário Padrão da Coréia - Horário de Verão da Coréia - - - - - Horário de Kosrae - - - - - Horário de Krasnoyarsk - Horário de Verão de Krasnoyarsk - - - - - Horário de Kuybyshev - Horário de Verão de Kuybyshev - - - - - Horário de Kwajalein - - - - - Horário do Quirguistão - - - - - Horário de Lanka - - - - - Horário das Ilhas Line - - - - - Horário de Long-Shu - - - - - Horário de Lord Howe - Horário Padrão de Lord Howe - Horário de Verão de Lord Howe - - - LHT - - - - - Horário de Macau - Horário de Verão de Macau - - - - - Horário de Magadan - Horário de Verão de Magadan - - - - - Horário de Malaia - - - - - Horário da Malásia - - - - - Horário das Ilhas Maldivas - - - - - Horário das Marquesas - - - - - Horário das Ilhas Marshall - - - - - Horário das Ilhas Maurício - Horário de Verão das Ilhas Maurício - - - - - Horário de Mawson - - - - - Horário de Ulan Bator - Horário de Verão de Ulan Bator - - - - - Horário de Moscou - Horário Padrão de Moscou - Horário de Verão de Moscou - - - - - Horário de Mianmar - - - - - Horário de Nauru - - - - - Horário do Nepal - - - - - Horário da Nova Caledônia - Horário de Verão da Nova Caledônia - - - - - Horário da Nova Zelândia - Horário Padrão da Nova Zelândia - Horário de Verão da Nova Zelândia - - - NZT - - - - - Horário de Terra Nova - Horário Padrão de Terra Nova - Horário de Verão de Terra Nova - - - NT - - - - - Horário de Niue - - - - - Horário das Ilhas Norfolk - - - - - Horário de Fernando de Noronha - Horário de Verão de Fernando de Noronha - - - - - Horário das Ilhas Mariana do Norte - - - - - Horário de Novosibirsk - Horário de Verão de Novosibirsk - - - - - Horário de Omsk - Horário de Verão de Omsk - - - - - Horário do Paquistão - Horário de Verão do Paquistão - - - - - Horário de Palau - - - - - Horário de Papua Nova Guiné - - - - - Horário do Paraguai - Horário de Verão do Paraguai - - - - - Horário do Peru - Horário de Verão do Peru - - - - - Horário das Filipinas - Horário de Verão das Filipinas - - - - - Horário das Ilhas Fênix - - - - - Horário de Pierre e Miquelon - Horário Padrão de Pierre e Miquelon - Horário de Verão de Pierre e Miquelon - - - PMT - - - - - Horário de Pitcairn - - - - - Horário de Ponape - - - - - Horário de Qyzylorda - Horário de Verão de Qyzylorda - - - - - Horário das Ilhas Reunião - - - - - Horário de Rothera - - - - - Horário de Sakhalin - Horário de Verão de Sakhalin - - - - - Horário de Samara - Horário de Verão de Samara - - - - - Horário de Samarkand - Horário de Verão de Samarkand - - - - - Horário Padrão de Samoa - - - - - Horário das Ilhas Seychelles - - - - - Horário de Shevchenko - Horário de Verão de Shevchenko - - - - - Horário Padrão de Cingapura - - - - - Horário das Ilhas Salomão - - - - - Horário da Geórgia do Sul - - - GST (Geórgia do Sul) - - - - - Horário do Suriname - - - - - Horário de Sverdlovsk - Horário de Verão de Sverdlovsk - - - - - Horário de Syowa - - - - - Horário do Taiti - - - - - Horário do Tajiquistão - - - - - Horário de Tashkent - Horário de Verão de Tashkent - - - - - Horário de Tbilisi - Horário de Verão de Tbilisi - - - - - Horário de Tokelau - - - - - Horário de Tonga - Horário de Verão de Tonga - - - - - Horário de Truk - - - - - Horário da Turquia - Horário de Verão da Turquia - - - - - Horário do Turcomenistão - Horário de Verão do Turcomenistão - - - - - Horário de Tuvalu - - - - - Horário de Ural'sk - Horário de Verão de Ural'sk - - - - - Horário do Uruguai - Horário de Verão do Uruguai - - - - - Horário de Urumqi - - - - - Horário do Uzbequistão - Horário de Verão do Uzbequistão - - - - - Horário de Vanuatu - Horário de Verão de Vanuatu - - - - - Horário da Venezuela - - - - - Horário de Vladivostok - Horário de Verão de Vladivostok - - - - - Horário de Volvogrado - Horário de Verão de Volvogrado - - - - - Horário de Vostok - - - - - Horário das Ilhas Wake - - - - - Horário de Wallis e Futuna - - - - - Horário de Yakutsk - Horário de Verão de Yakutsk - - - - - Horário de Yekaterinburg - Horário de Verão de Yekaterinburg - - - - - Horário de Yerevan - Horário de Verão de Yerevan - - - - - Horário de Yukon - Horário Padrão de Yukon - Horário de Verão de Yukon - - - YT - - - - - - - , - . - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤#,##0.00;(¤#,##0.00) - - - {0} {1} - {0} {1} - - - - Peseta de Andorra - Peseta de Andorra - Pesetas de Andorra - - - Dirém dos Emirados Árabes Unidos - Dirrã dos Emirados Árabes Unidos - Dirrãs dos Emirados Árabes Unidos - - - Afegane (1927-2002) - Afegane do Afeganistão (AFA) - Afeganes do Afeganistão (AFA) - - - Afegane - Afegane do Afeganistão - Afeganes do Afeganistão - - - Lek Albanês - Lek albanês - Leks albaneses - - - Dram armênio - Dram armênio - Drams armênios - - - Guilder das Antilhas Holandesas - Florim das Antilhas Holandesas - Florins das Antilhas Holandesas - - - Cuanza angolano - Kwanza angolano - Kwanzas angolanos - - - Cuanza angolano (1977-1990) - Kwanza angolano (AOK) - Kwanzas angolanos (AOK) - - - Novo cuanza angolano (1990-2000) - Novo kwanza angolano (AON) - Novos kwanzas angolanos (AON) - - - Cuanza angolano reajustado (1995-1999) - Kwanza angolano reajustado (AOR) - Kwanzas angolanos reajustados (AOR) - - - Austral argentino - Austral argentino - Austrais argentinos - - - Peso argentino (1983-1985) - Peso argentino (ARP) - Pesos argentinos (ARP) - - - Peso argentino - Peso argentino - Pesos argentinos - - - Xelim austríaco - Schilling australiano - Schillings australianos - - - Dólar australiano - Dólar australiano - Dólares australianos - - - Guilder de Aruba - Florim de Aruba - Florins de Aruba - - - Manat azerbaijano - Manat do Azeibaijão (AZM) - Manats do Azeibaijão (AZM) - - - Manat do Azerbaijão - Manat do Azeibaijão - Manats do Azeibaijão - - - Dinar da Bósnia-Herzegovina - Dinar da Bósnia Herzegovina - Dinares da Bósnia Herzegovina - - - Marco bósnio-herzegovino conversível - Marca conversível da Bósnia Herzegovina - Marcas conversíveis da Bósnia Herzegovina - - - Dólar de Barbados - Dólar de Barbados - Dólares de Barbados - - - Taka de Bangladesh - Taka de Bangladesh - Takas de Bangladesh - - - Franco belga (conversível) - Franco belga (conversível) - Francos belgas (conversíveis) - - - Franco belga - Franco belga - Francos belgas - - - Franco belga (financeiro) - Franco belga (financeiro) - Francos belgas (financeiros) - - - Lev forte búlgaro - Lev forte búlgaro - Levs fortes búlgaros - - - Lev novo búlgaro - Lev búlgaro - Levs búlgaros - - - Dinar bareinita - Dinar bareinita - Dinares bareinitas - - - Franco do Burundi - Franco burundiano - Francos burundianos - - - Dólar das Bermudas - Dólar bermudense - Dólares bermudenses - - - Dólar do Brunei - Dólar bruneano - Dólares bruneanos - - - Boliviano - Boliviano - Bolivianos - - - Peso boliviano - Peso boliviano - Pesos bolivianos - - - Mvdol boliviano - Mvdol boliviano - Mvdols bolivianos - - - Cruzeiro novo brasileiro (1967-1986) - Cruzeiro novo brasileiro (BRB) - Cruzeiros novos brasileiros (BRB) - - - Cruzado brasileiro - Cruzado brasileiro - Cruzados brasileiros - - - Cruzeiro brasileiro (1990-1993) - Cruzeiro brasileiro (BRE) - Cruzeiros brasileiros (BRE) - - - Real brasileiro - Real brasileiro - Reais brasileiros - - - Cruzado novo brasileiro - Cruzado novo brasileiro - Cruzados novos brasileiros - - - Cruzeiro brasileiro - Cruzeiro brasileiro - Cruzeiros brasileiros - - - Dólar das Bahamas - Dólar de Bahamian - Dólares de Bahamian - - - Ngultrum do Butão - Ngultrum butanês - Ngultruns butaneses - - - Kyat birmanês - Kyat burmês - Kyats burmeses - - - Pula botsuanesa - Pula de Botsuana - Pulas de Botsuana - - - Rublo novo bielo-russo (1994-1999) - Novo rublo bielorusso (BYB) - Novos rublos bielorussos (BYB) - - - Rublo bielo-russo - Rublo bielorusso - Rublos bielorussos - - - Dólar do Belize - Dólar belizenho - Dólares belizenhos - - - Dólar canadense - Dólar canadense - Dólares canadenses - - - Franco congolês - Franco congolês - Francos congoleses - - - Euro WIR - Euro WIR - Euros WIR - - - Franco suíço - Franco suíço - Francos suíços - - - Franco WIR - Franco WIR - Francos WIR - - - Unidades de Fomento chilenas - Unidade de fomento chilena - Unidades de fomento chilenas - - - Peso chileno - Peso chileno - Pesos chilenos - - - Yuan Renminbi chinês - Yuan chinês - Yuans chineses - - - Peso colombiano - Peso colombiano - Pesos colombianos - - - Unidade de Valor Real - Unidade de valor real - Unidades de valor real - - - Colon da Costa Rica - Colon costa-riquenho - Colons costa-riquenhos - - - Dinar sérvio antigo - Dinar antigo da Sérvia - Dinares antigos da Sérvia - - - Coroa Forte checoslovaca - Coroa forte tchecoslovaca - Coroas fortes tchecoslovacas - - - Peso cubano - Peso cubano - Pesos cubanos - - - Escudo cabo-verdiano - Escudo cabo-verdiano - Escudos cabo-verdianos - - - Libra cipriota - Libra cipriota - Libras cipriotas - - - Coroa checa - Coroa da República Tcheca - Coroas da República Tcheca - - - Ostmark da Alemanha Oriental - Marco da Alemanha Oriental - Marcos da Alemanha Oriental - - - Marco alemão - Marco alemão - Marcos alemães - - - Franco do Djibuti - Franco djibutiense - Francos djibutienses - - - Coroa dinamarquesa - Coroa dinamarquesa - Coroas dinamarquesas - - - Peso dominicano - Peso dominicano - Pesos dominicanos - - - Dinar argelino - Dinar argelino - Dinares argelinos - - - Sucre equatoriano - Sucre equatoriano - Sucres equatorianos - - - Unidade de Valor Constante (UVC) do Equador - Unidade de valor constante equatoriana (UVC) - Unidades de valor constante equatorianas (UVC) - - - Coroa estoniana - Coroa estoniana - Coroas estonianas - - - Libra egípcia - Libra egípcia - Libras egípcias - - - Nakfa da Eritreia - Nakfa da Eritreia - Nakfas da Eritreia - - - Peseta espanhola (conta A) - Peseta espanhola (conta A) - Pesetas espanholas (conta A) - - - Peseta espanhola (conta conversível) - Peseta espanhola (conta conversível) - Pesetas espanholas (conta conversível) - - - Peseta espanhola - Peseta espanhola - Pesetas espanholas - - - Birr etíope - Birr etíope - Birrs etíopes - - - Euro - euro - euros - - - Marca finlandesa - Marco finlandês - Marcos finlandeses - - - Dólar de Fiji - Dólar de Fiji - Dólares de Fiji - - - Libra das Malvinas - Libra das Ilhas Falkland - Libras das Ilhas Falkland - - - Franco francês - Franco francês - Francos franceses - - - Libra esterlina britânica - Libra esterlina britânica - Libras esterlinas britânicas - - - Cupom Lari georgiano - Kupon larit da Geórgia - Kupon larits da Geórgia - - - Lari georgiano - Lari da Geórgia - Laris da Geórgia - - - Cedi de Gana (1979-2007) - Cedi de Gana (GHC) - Cedis de Gana (GHC) - - - Cedi ganês - Cedi de Gana - Cedis de Gana - - - Libra de Gibraltar - Libra de Gibraltar - Libras de Gibraltar - - - Dalasi de Gâmbia - Dalasi da Gâmbia - Dalasis da Gâmbia - - - Franco de Guiné - Franco guineano - Francos guineanos - - - Syli da Guiné - Syli guineano - Sylis guineanos - - - Ekwele da Guiné Equatorial - Ekwele da Guiné Equatorial - Ekweles da Guiné Equatorial - - - Dracma grego - Dracma grego - Dracmas gregos - - - Quetçal da Guatemala - Quetzal da Guatemala - Quetzales da Guatemala - - - Escudo da Guiné Portuguesa - Escudo da Guiné Portuguesa - Escudos da Guinéa Portuguesa - - - Peso da Guiné-Bissau - Peso de Guiné-Bissau - Pesos de Guiné-Bissau - - - Dólar da Guiana - Dólar da Guiana - Dólares da Guiana - - - Dólar de Hong Kong - Dólar de Hong Kong - Dólares de Hong Kong - - - Lempira de Honduras - Lempira de Honduras - Lempiras de Honduras - - - Dinar croata - Dinar croata - Dinares croatas - - - Kuna croata - Kuna croata - Kunas croatas - - - Gurde do Haiti - Gourde haitiano - Gourdes haitianos - - - Forinte húngaro - Forint húngaro - Forints húngaros - - - Rupia indonésia - Rúpia da Indonésia - Rúpias da Indonésia - - - Libra irlandesa - Libra irlandesa - Libras irlandesas - - - Libra israelita - Libra israelita - Libras israelitas - - - Sheqel antigo israelita - Sheqel antigo israelita - Sheqels antigos israelitas - - - Sheqel Novo israelita - Sheqel novo israelita - Sheqels novo israelitas - - - Rúpia indiana - Rúpia indiana - Rúpias indianas - - - Dinar iraquiano - Dinar iraquiano - Dinares iraquianos - - - Rial iraniano - Rial iraniano - Riales iranianos - - - Coroa antiga islandesa - Coroa antiga islandesa - Coroas antigas islandesas - - - Coroa islandesa - Coroa islandesa - Coroas islandesas - - - Lira italiana - Lira italiana - Liras italianas - - - Dólar jamaicano - Dólar jamaicano - Dólares jamaicanos - - - Dinar jordaniano - Dinar jordaniano - Dinares jordanianos - - - Iene japonês - Iene japonês - Ienes japoneses - - - Xelim queniano - Shilling queniano - Shillings quenianos - - - Som quirguiz - Som do Quirguistão - Soms do Quirguistão - - - Riel cambojano - Riel cambojano - Rieles cambojanos - - - Franco de Comores - Franco de Comoro - Francos de Comoro - - - Won norte-coreano - Won norte-coreano - Wons norte-coreanos - - - Won sul-coreano - Won sul-coreano - Wons sul-coreanos - - - Dinar coveitiano - Dinar kuwaitiano - Dinares kuwaitianos - - - Dólar das Ilhas Caiman - Dólar das Ilhas Cayman - Dólares das Ilhas Caiman - - - Tenge do Cazaquistão - Tenge do Cazaquistão - Tenges do Cazaquistão - - - Kip de Laos - Kip do Laos - Kips do Laos - - - Libra libanesa - Libra libanesa - Libras libanesas - - - Rupia do Sri Lanka - Rúpia do Sri Lanka - Rúpias do Sri Lanka - - - Dólar liberiano - Dólar da Libéria - Dólares da Libéria - - - Loti do Lesoto - Loti do Lesoto - Lotis do Lesoto - - - Lita lituano - Litas lituana - Litai lituanas - - - Talonas lituano - Talonas lituanas - Talonases lituanas - - - Franco conversível de Luxemburgo - Franco conversível de Luxemburgo - Francos conversíveis de Luxemburgo - - - Franco luxemburguês - Franco de Luxemburgo - Francos de Luxemburgo - - - Franco financeiro de Luxemburgo - Franco financeiro de Luxemburgo - Francos financeiros de Luxemburgo - - - Lats letão - Lats da Letônia - Latses da Letônia - - - Rublo letão - Rublo da Letônia - Rublos da Letônia - - - Dinar líbio - Dinar líbio - Dinares líbios - - - Dirém marroquino - Dirrã marroquino - Dirrãs marroquinos - - - Franco marroquino - Franco marroquino - Francos marroquinos - - - Leu moldávio - Leu da Moldávia - Leus da Moldávia - - - Ariary de Madagascar - Ariari de Madagascar - Ariaries de Madagascar - - - Franco de Madagascar - Franco de Madagascar - Francos de Madagascar - - - Dinar macedônio - Dinar da Macedônia - Dinares da Macedônia - - - Franco de Mali - Franco de Mali - Francos de Mali - - - Kyat de Mianmar - Kyat de Mianmar - Kyats de Mianmar - - - Tugrik mongol - Tugrik da Mongólia - Tugriks da Mongólia - - - Pataca macaense - Pataca de Macau - Patacas de Macau - - - Ouguiya da Mauritânia - Ouguiya da Mauritânia - Ouguiyas da Mauritânia - - - Lira maltesa - Lira Maltesa - Liras maltesas - - - Libra maltesa - Libra maltesa - Libras maltesas - - - Rupia de Maurício - Rúpia mauriciana - Rúpias mauricianas - - - Rupias das Ilhas Maldivas - Rufiyaa das Ilhas Maldivas - Rufiyaas das Ilhas Maldivas - - - Cuacha do Maláui - Kwacha do Malawi - Kwachas do Malawi - - - Peso mexicano - Peso mexicano - Pesos mexicanos - - - Peso Prata mexicano (1861-1992) - Peso de prata mexicano (MXP) - Pesos de prata mexicanos (MXP) - - - Unidade Mexicana de Investimento (UDI) - Unidade de investimento mexicana (UDI) - Unidades de investimento mexicanas (UDI) - - - Ringgit malaio - Ringgit malaio - Ringgits malaios - - - Escudo de Moçambique - Escudo de Moçambique - Escudos de Moçambique - - - Metical antigo de Moçambique - Metical antigo de Moçambique - Meticales antigos de Moçambique - - - Metical do Moçambique - Metical de Moçambique - Meticales de Moçambique - - - Dólar da Namíbia - Dólar da Namíbia - Dólares da Namíbia - - - Naira nigeriana - Naira da Nigéria - Nairas da Nigéria - - - Córdoba nicaraguense - Córdoba nicaraguense - Córdobas da Nicarágua - - - Córdoba Ouro nicaraguense - Córdoba de ouro da Nicarágua - Córdobas de ouro da Nicarágua - - - Florim holandês - Florim holandês - Florins holandeses - - - Coroa norueguesa - Coroa norueguesa - Coroas norueguesas - - - Rupia nepalesa - Rúpia nepalesa - Rúpias nepalesas - - - Dólar da Nova Zelândia - Dólar da Nova Zelândia - Dólares da Nova Zelândia - - - Rial de Omã - Rial de Omã - Riales de Omã - - - Balboa panamenho - Balboa do Panamá - Balboas do Panamá - - - Inti peruano - Inti peruano - Intis peruanos - - - Sol Novo peruano - Novo sol peruano - Novos soles peruanos - - - Sol peruano - Sol peruano - Soles peruanos - - - Kina da Papua-Nova Guiné - Kina de Papua Nova Guiné - Kinas de Papua Nova Guiné - - - Peso filipino - Peso filipino - Pesos filipinos - - - Rupia paquistanesa - Rúpia paquistanesa - Rúpias paquistanesas - - - Zloti polonês - Zloti polonês - Zlotis poloneses - - - Zloti polonês (1950-1995) - Zloti polonês (PLZ) - Zlotis poloneses (PLZ) - - - Escudo português - Escudo português - Escudos portugueses - Esc. - - - Guarani paraguaio - Guarani paraguaio - Guaranis paraguaios - - - Rial catariano - Rial do Qatar - Riales do Qatar - - - Dólar rodesiano - Dólar da Rodésia - Dólares da Rodésia - - - Leu romeno antigo - Leu antigo da Romênia - Leus antigos da Romênia - - - Leu romeno - Leu da Romênia - Lei da Romênia - - - Dinar sérvio - Dinar sérvio - Dinares sérvios - - - Rublo russo - Rublo russo - Rublos russos - - - Rublo russo (1991-1998) - Rublo russo (RUR) - Rublos russos (RUR) - - - Franco ruandês - Franco de Ruanda - Francos de Ruanda - - - Rial saudita - Riyal saudita - Riyales sauditas - - - Dólar das Ilhas Salomão - Dólar das Ilhas Salomão - Dólares das Ilhas Salomão - - - Rupia das Seychelles - Rúpia das Ilhas Seychelles - Rúpias das Ilhas Seychelles - - - Dinar sudanês - Dinar antigo do Sudão - Dinares antigos do Sudão - - - Libra sudanesa - Libra sudanesa - Libras sudanesas - - - Libra sudanesa antiga - Libra antiga sudanesa - Libras antigas sudanesas - - - Coroa sueca - Coroa sueca - Coroas suecas - - - Dólar de Cingapura - Dólar de Singapura - Dólares de Singapura - - - Libra de Santa Helena - Libra de Santa Helena - Libras de Santa Helena - - - Tolar Bons esloveno - Tolar da Eslovênia - Tolares da Eslovênia - - - Coroa eslovaca - Coroa eslovaca - Coroas eslovacas - - - Leone de Serra Leoa - Leone de Serra Leoa - Leones de Serra Leoa - - - Xelim somali - Shilling da Somália - Shillings da Somália - - - Dólar do Suriname - Dólar do Suriname - Dólares do Suriname - - - Florim do Suriname - Florim do Suriname - Florins do Suriname - - - Dobra de São Tomé e Príncipe - Dobra de São Tomé e Príncipe - Dobras de São Tomé e Príncipe - - - Rublo soviético - Rublo soviético - Rublos soviéticos - - - Colom salvadorenho - Colon de El Salvador - Colons de El Salvador - - - Libra síria - Libra síria - Libras sírias - - - Lilangeni da Suazilândia - Lilangeni da Suazilândia - Lilangenis da Suazilândia - - - Baht tailandês - Baht da Tailândia - Bahts da Tailândia - - - Rublo do Tadjiquistão - Rublo do Tajaquistão - Rublos do Tajaquistão - - - Somoni tadjique - Somoni do Tajaquistão - Somonis do Tajaquistão - - - Manat do Turcomenistão - Manat do Turcomenistão - Manats do Turcomenistão - - - Dinar tunisiano - Dinar da Tunísia - Dinares da Tunísia - - - Paʻanga de Tonga - Paʻanga de Tonga - Paʻangas de Tonga - - - Escudo timorense - Escudo do Timor - Escudos do Timor - - - Lira turca antiga - Lira turca antiga - Liras turcas antigas - - - Lira turca - Lira turca - Liras turcas - - - Dólar de Trinidad e Tobago - Dólar de Trinidad e Tobago - Dólares de Trinidad e Tobago - - - Dólar Novo de Taiwan - Dólar de Taiwan - Dólares de Taiwan - - - Xelim da Tanzânia - Shilling da Tanzânia - Shillings da Tanzânia - - - Hryvnia ucraniano - Hryvnia da Ucrânia - Hryvnias da Ucrânia - - - Karbovanetz ucraniano - Karbovanetz da Ucrânia - Karbovanetzs da Ucrânia - - - Xelim ugandense (1966-1987) - Shilling de Uganda (UGS) - Shillings de Uganda (UGS) - - - Xelim ugandense - Shilling de Uganda - Shillings de Uganda - - - Dólar norte-americano - Dólar americano - Dólares americanos - - - Dólar norte-americano (Dia seguinte) - Dólar americano (dia seguinte) - Dólares americanos (dia seguinte) - - - Dólar norte-americano (Mesmo dia) - Dólar americano (mesmo dia) - Dólares americanos (mesmo dia) - - - Peso uruguaio en unidades indexadas - Peso uruguaio em unidades indexadas - Pesos uruguaios em unidades indexadas - - - Peso uruguaio (1975-1993) - Peso uruguaio (UYP) - Pesos uruguaios (UYP) - - - Peso uruguaio - Peso uruguaio - Pesos uruguaios - - - Sum do Usbequistão - Som do Uzbequistão - Somes do Uzbequistão - - - Bolívar venezuelano - Bolívar venezuelano - Bolívares venezuelanos - - - Bolívar v enezuelano forte - Bolívar forte da Venezuela - Bolívares fortes da Venezuela - - - Dong vietnamita - Dong vietnamês - Dongs vietnameses - - - Vatu de Vanuatu - Vatu de Vanuatu - Vatus de Vanuatu - - - Tala samoano - Tala samoano - Talas samoanos - - - Franco CFA BEAC - Franco CFA de BEAC - Francos CFA de BEAC - - - Prata - Prata - Pratas - - - Ouro - Ouro - Ouros - - - Unidade Composta Europeia - Unidade de composição europeia - Unidades de composição europeias - - - Unidade Monetária Europeia - Unidade monetária europeia - Unidades monetárias europeias - - - Unidade de Conta Europeia (XBC) - Unidade europeia de conta (XBC) - Unidades europeias de conta (XBC) - - - Unidade de Conta Europeia (XBD) - Unidade europeia de conta (XBD) - Unidades europeias de conta (XBD) - - - Dólar do Caribe Oriental - Dólar do Caribe Oriental - Dólares do Caribe Oriental - - - Direitos Especiais de Giro - direitos de desenho especiais - direitos de desenho especiais - - - Unidade de Moeda Europeia - Unidade de moeda europeia - Unidades de moedas europeias - - - Franco-ouro francês - Franco de ouro francês - Francos de ouro franceses - - - Franco UIC francês - Franco UIC francês - Francos UIC franceses - - - Franco CFA BCEAO - Franco CFA de BCEAO - Francos CFA de BCEAO - - - Paládio - Paládio - Paládios - - - Franco CFP - Franco CFP - Francos CFP - - - Platina - Platina - Platinas - - - Fundos RINET - Fundos RINET - Fundos RINET - - - Código de Moeda de Teste - Código de moeda de teste - Códigos de moeda de teste - - - Moeda Desconhecida ou Inválida - moeda desconhecida ou inválida - Moedas inválidas ou desconhecidas - - - Dinar iemenita - Dinar do Iêmen - Dinares do Iêmen - - - Rial iemenita - Rial do Iêmen - Riales do Iêmen - - - Dinar forte iugoslavo - Dinar forte iugoslavo - Dinares fortes iugoslavos - - - Dinar noviy iugoslavo - Dinar noviy da Iugoslávia - Dinares noviy da Iugoslávia - - - Dinar conversível iugoslavo - Dinar conversível da Iugoslávia - Dinares conversíveis da Iugoslávia - - - Rand sul-africano (financeiro) - Rand da África do Sul (financeiro) - Rands da África do Sul (financeiro) - - - Rand sul-africano - Rand da África do Sul - Rands da África do Sul - - - Cuacha zambiano - Kwacha da Zâmbia - Kwachas da Zâmbia - - - Zaire Novo zairense - Novo zaire do Zaire - Novos zaires do Zaire - - - Zaire zairense - Zaire do Zaire - Zaires do Zaire - - - Dólar do Zimbábue - Dólar do Zimbábue - Dólares do Zimbábue - - - - - - {0} dia - {0} dias - - - {0} hora - {0} horas - - - {0} minuto - {0} minutos - - - {0} mês - {0} meses - - - {0} segundo - {0} segundos - - - {0} semana - {0} semanas - - - {0} ano - {0} anos - - - - - sim:s - não:n - - - - diff --git a/lib/zend/Zend/Locale/Data/pt_BR.xml b/lib/zend/Zend/Locale/Data/pt_BR.xml deleted file mode 100644 index a484e3f8d3..0000000000 --- a/lib/zend/Zend/Locale/Data/pt_BR.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/pt_PT.xml b/lib/zend/Zend/Locale/Data/pt_PT.xml deleted file mode 100644 index f1c31878e3..0000000000 --- a/lib/zend/Zend/Locale/Data/pt_PT.xml +++ /dev/null @@ -1,1867 +0,0 @@ - - - - - - - - - - - - afrikaans - idioma artifical - Awadhi - bamileke Languages - Buginese - chechene - idioma céltico - jargão chinook - crioulo ou pidgin do inglês - crioulo ou pidgin do francês - crioulo ou pidgin do português - checo - idioma cuchita - alemão alto (Suíça) - idioma dravítico - diula - egípcio clássico - Inglês - inglês medieval - estónio - idioma ugro-finês - francês medieval - frísio oriental - alemão medieval alto - grego clássico - alemão da Suíça - sorbiano superior - arménio - Iban - igbo - Inupiaq - jv - khoisan - lezghiano - irlandês, medieval (900-1200) - macedónio - Nauatle - baixo alemão - nigeriano - cordofano - flamengo (Bélgica) - norse, old - provençal - ossético - persa arcaico (aprox. 600-400 a.C.) - polaco - idioma prácito - provençal, arcaico (até 1500) - português europeu - reto-romance - romanês - idioma indígeno sul-americano - salishan languages - linguages de sinais - idioma nilo-sariano - tamil - idioma tailândes - tetum - tajique - tagalogue - tonga - toganês - tuviniano - idioma sórbio - zazaki - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Oceânia - Norte de África - África Interior - África Meridional - Sudeste Asiático - Micronésia - Ásia Sul-Central - Europa de Leste - Europa do Norte - 172 - Emiratos Árabes Unidos - Anguilha - Arménia - Antárctica - Ilhas Alanda - Azerbeijão - Bangladeche - Burkina-Faso - Bahrein - Benim - Baamas - Botswana - Bielorrússia - Ilhas Cocos - República Democrática do Congo - Congo-Brazzaville - Ilha do Natal - República Checa - Estónia - Egipto - Sara Ocidental - Ilhas Falkland ou Malvinas - Estados Federados da Micronésia - Ilhas Faroé - Gronelândia - Guiné-Bissau - Hong Kong - Região Administrativa Especial da China - Irão - Quénia - Quirguizistão - Saint Kitts e Nevis - Cuaite - Ilhas Caimão - Cazaquistão - Laos, República Popular Democrática do - Letónia - Mónaco - Moldávia, República da - Madagáscar - Macedónia, República da - Macau - Região Administrativa Especial da China - Ilhas Mariana do Norte - Monserrate - Maurícias - Malaui - Nova Caledónia - Ilha Norfolque - Países Baixos - Papua Nova Guiné - Polónia - Território Palestiniano - Qatar - Oceânia Insular - Roménia - Seicheles - Singapura - Eslovénia - Esvalbarda e Jan Mayen - São Marino - Ilhas Turcas e Caicos - Tajiquistão - Toquelau - Turquemenistão - Trindade e Tobago - Ilhas Minor Outlying (E.U.A) - Usbequistão - The main pump fixing screws with the correct strength class - Ilhas Virgin E.U.A. - Vietname - Iémen - Zimbabwe - - - Alemão Tradicional - Alemão Moderno - arménio oriental - arménio ocidental - dialecto san giorgio/bila - buntlingue - Alfabeto Fonético Internacional - Alfabeto Fonético Urálico - dialecto lipovaz de Resian - monotónico - dialecto natisone - dialecto gniva/njiva - dialecto oseacco/osojane - politónico - Computador - Revisão Ortográfica - Saho - Scouse - dialecto stolvizza/solbica - - - Ordem - - - Ordem de Chinês Tradicional - Big5 - Ordem Directa - Ordem de Chinês Simplificado - GB2312 - Ordem da Lista Telefónica - - - Métrico - - - - [ª á à ă â å ä ā æ ç é è ĕ ê ë ē í ì ĭ î ï ī ñ º ó ò ŏ ô ö ø ō œ ß ú ù ŭ û ü ū ÿ] - - - - - - - - EEEE, MMMM d, y G - - - - - MMMM d, y G - - - - - MMM d, y G - - - - - M/d/yyyy - - - - - - d de MMMM - d-M - - - - - - - - Jan - Fev - Mar - Abr - Mai - Jun - Jul - Ago - Set - Out - Nov - Dez - - - Janeiro - Fevereiro - Março - Abril - Maio - Junho - Julho - Agosto - Setembro - Outubro - Novembro - Dezembro - - - - - - - 1.º trimestre - 2.º trimestre - 3.º trimestre - 4.º trimestre - - - - Antes do meio-dia - Depois do meio-dia - - - - d 'de' MMM 'de' yyyy - - - - - - QQQ 'de' yyyy - QQQ 'de' y - QQQ 'de' yy - - - - MMM-MMM - - - H'h' - H'h' - - - y-y - - - MM-MM 'de' yyyy - - - - - - - - - EEEE, MMMM d, y G - - - - - MMMM d, y G - - - - - MMM d, y G - - - - - M/d/yy - - - - - - - - Tucumán - - - Cuibá - - - Araguaina - - - Baía - - - St.John's - - - Páscoa - - - Madrid - - - Marrocos - - - Ulan Bator - - - Cancun - - - Kaliningrado - - - Moscovo - - - Sacalina - - - Center - - - Petersburgo - - - - Hora do Acre - Hora de Verão do Acre - - false - - - - Hora do Afeganistão - - true - - - - Hora da África Central - - true - - - - Hora da África Oriental - - true - - - - Hora do Sara Ocidental - - - Hora do Sara Ocidental - - true - - - - Hora da África do Sul - Hora Padrão da África do Sul - - true - - - - Hora da Nigéria - Hora da África Ocidental - Hora de Verão da África Ocidental - - - Hora da Nigéria - - true - - - - Hora de Aktyubinsk - Hora de Verão de Aktyubinsk - - true - - - - Hora do Alaska - Hora Padrão do Alaska - Hora de Verão do Alaska - - - - - Hora do Alaska- Havai - Hora Padrão do Alaska-Havai - Hora de Verão do Alaska-Havai - - true - - - - Hora de Almaty - Hora de Verão de Almaty - - true - - - - Hora do Amazonas - Hora de Verão do Amazonas - - false - - - - Hora Central - Hora Padrão Central - Hora de Verão Central - - - - - Hora Oriental - Hora Padrão Oriental - Hora de Verão Oriental - - true - - - - Hora da Montanha - Hora Padrão da Montanha - Hora de Verão da Montanha - - true - - - - Hora do Pacífico - Hora Padrão do Pacífico - Hora de Verão do Pacífico - - true - - - - Hora de Anadyr - Hora de Verão de Anadyr - - true - - - - Hora de Aqtau - Hora de Verão de Aqtau - - true - - - - Hora de Aqtobe - Hora de Verão de Aqtobe - - true - - - - Hora da Arábia - Hora Padrão da Arábia - Hora de Verão da Arábia - - - - - Hora da Argentina - Hora de Verão da Argentina - - true - - - - Hora da Argentina Ocidental - - true - - - - Hora da Arménia - Hora da Arménia - Hora de Verão da Arménia - - - Hora da Arménia - AMT (Arménia) - AMST (Arménia) - - true - - - - Hora do Turquemenistão - Hora de Ashkhabad - Hora de Verão de Ashkhabad - - - Hora do Turquemenistão - - true - - - - Hora do Atlântico - Hora Padrão do Atlântico - Hora de Verão do Atlântico - - true - - - - Hora da Austrália Central - Hora Padrão da Austrália Central - Hora de Verão da Austrália Central - - true - - - - Hora da Austrália Central Ocidental - Hora Padrão da Austrália Central Ocidental - Hora de Verão da Austrália Central Ocidental - - true - - - - Hora da Austrália Oriental - Hora Padrão da Austrália Oriental - Hora de Verão da Austrália Oriental - - true - - - - Hora da Austrália Ocidental - Hora Padrão da Austrália Ocidental - Hora de Verão da Austrália Ocidental - - - - - Hora do Azerbeijão - Hora do Azerbeijão - Hora de Verão do Azerbeijão - - - Hora do Azerbeijão - - true - - - - Hora dos Açores - Hora de Verão dos Açores - - true - - - - Hora do Azerbeijão - Hora de Baku - Hora de Verão de Baku - - - Hora do Azerbeijão - - true - - - - Hora do Bangladesh - Hora do Bangladesh - - - Hora do Bangladesh - - true - - - - Hora de Bering - Hora Padrão de Bering - Hora de Verão de Bring - - true - - - - Hora do Botão - Hora do Botão - - - Hora do Botão - - true - - - - Hora da Bolívia - - true - - - - Hora do Bornéu - Hora de Verão do Bornéu - - true - - - - Hora de Brasília - Hora de Verão de Brasília - - false - - - true - - - - Hora do Brunei - Hora do Brunei Darussalam - - - Hora do Brunei - - true - - - - Hora de Cabo Verde - Hora de Verão de Cabo Verde - - true - - - - Hora de Chamarro - Hora Padrão de Chamarro - - true - - - - Hora de Changbai - - true - - - - Hora Padrão de Chatham - Hora de Verão de Chatham - - true - - - - Hora do Chile - Hora de Verão do Chile - - true - - - - Hora da China - Hora Padrão da China - Hora de Verão da China - - true - - - - Hora de Choibalsan - Hora de Verão de Choibalsan - - true - - - - Hora da Ilha de Natal - - true - - - - Hora das Ilhas Cocos - - true - - - - Hora da Colômbia - Hora de Verão da Colômbia - - true - - - - Hora das Ilhas Cook - Hora das Ilhas Cook - Hora Intermédia de Verão das Ilhas Cook - - - Hora das Ilhas Cook - - true - - - - Hora de Cuba - Hora Padrão de Cuba - Hora de Verão de Cuba - - true - - - - Hora do Bangladesh - Hora de Dacca - - - Hora do Bangladesh - - true - - - - Hora de Davis - - - - true - - - - Hora de Dumont-d'Urville - - - - - Hora do Tajiquistão - Hora de Dushanbe - Hora de Verão de Dushanbe - - - Hora do Tajiquistão - - true - - - - Hora da Guiana Holandesa - - true - - - - Hora de Timor Leste - Hora de Timor Leste - - - Hora de Timor Leste - - true - - - - Hora da Ilha de Páscoa - Hora de Verão da Ilha de Páscoa - - true - - - - Hora do Equador - - true - - - - Horário Padrão da Europa Central - Hora de Verão da Europa Central - - true - - - - Hora da Europa Oriental - Hora de Verão da Europa Oriental - - true - - - - Hora da Europa Ocidental - Hora de Verão da Europa Ocidental - - true - - - - Hora das Ilhas Malvinas - Hora de Verão das Ilhas Malvinas - - true - - - - Hora das Ilhas Fiji - Hora das Ilhas Fiji - Hora de Verão das Ilhas Fiji - - - Hora das Ilhas Fiji - - true - - - - Hora da Guiana Francesa - - true - - - - Hora da Antártida e dos Territórios Franceses do Sul - - true - - - - Hora do Quirguizistão - Hora de Frunze - Hora de Verão de Frunze - - - Hora do Quirguizistão - - true - - - - Hora do Meridiano de Greenwich - - - - - Hora de Galápagos - - - - - Hora de Gambier - - - - - Hora da Geórgia - Hora da Georgia - Hora de Verão da Georgia - - - Hora da Geórgia - - true - - - - Hora das Ilhas Gilbert - - - - true - - - - Hora da Gronelândia Central - Hora de Verão da Gronelândia Central - - true - - - - Hora Padrão de Guam - - - - - Hora Padrão do Golfo - - true - - - - Hora Padrão do Havai - - - - - Hora de Hong Kong - Região Administrativa Especial da China - Hora de Hong Kong - Hora de Verão de Hong Kong - - - Hora de Hong Kong - Região Administrativa Especial da China - - true - - - - Hora de Hovd - Hora de Verão de Hovd - - true - - - - Hora da Índia - Hora Padrão da Índia - - - Hora da Índia - - true - - - - Hora do Oceano Índico - - - - - Hora do Vietname - - - Hora do Vietname - - true - - - - Hora da Indonésia Central - - true - - - - Hora da Indonésia Oriental - - true - - - - Hora da Indonésia Ocidental - - true - - - - Hora do Irão - Hora Padrão do Irão - Hora de Verão do Irão - - - Hora do Irão - - true - - - true - - - - Hora de Irkutsk - Hora de Verão de Irkutsk - - true - - - - Hora de Israel - Hora Padrão de Israel - Hora de Verão de Israel - - - Hora de Israel - - true - - - - Hora do Japão - Hora Padrão do Japão - Hora de Verão do Japão - - true - - - - Hora de Petropavlovsk-Kamchatski - Hora de Verão de Petropavlovsk-Kamchatski - - true - - - - Hora do Paquistão - Hora de Carachi - - - Hora do Paquistão - - true - - - - Hora de Kashgar - - true - - - - Hora do Casaquistão do Leste - Hora Padrão do Cazaquistão do Leste - - true - - - - Hora do Casaquistão do Oeste - Hora Padrão do Casaquistão do Oeste - - true - - - - Hora de Kizilorda - Hora de Verão de Kizilorda - - true - - - - Hora da Coreia - Hora Padrão da Coreia - Hora de Verão da Coreia - - true - - - - Hora de Kosrae - - - - - Hora de Krasnoyarsk - Hora de Verão de Krasnoyarsk - - true - - - - Hora de Kuybyshev - Hora de Verão de Kuybyshev - - true - - - - Hora de Kwajalein - - - - - Hora do Quirguizistão - Hora do Quirguizistão - - - Hora do Quirguizistão - - true - - - - Hora do Sri Lanka - Hora do Sri Lanka - - - Hora do Sri Lanka - - true - - - - Hora da Libéria - - - Hora da Libéria - - true - - - - Hora das Ilhas Line - - true - - - - Hora de Long-Shu - - true - - - - Hora de Lord Howe - Hora Padrão de Lord Howe - Hora de Verão de Lord Howe - - - - - Hora de Macau - Região Administrativa Especial da China - Hora de Macau - Hora de Verão de Macau - - - Hora de Macau - Região Administrativa Especial da China - - true - - - - Hora de Magadan - Hora de Verão de Magadan - - true - - - - Hora da Malásia - Hora de Malaia - - - Hora da Malásia - - true - - - - Hora da Malásia - - true - - - - Hora das Ilhas Maldivas - - - - - Hora das Marquesas - - true - - - - Hora das Ilhas Marshall - - true - - - - Hora das Ilhas Maurícias - - - - - Hora de Mawson - - - - - Hora de Ulan Bator - Hora de Verão de Ulan Bator - - true - - - - Hora de Moscovo - Hora Padrão de Moscovo - Hora de Verão de Moscovo - - true - - - - Hora de Mianmar - - - Hora de Mianmar - - true - - - - Hora de Nauru - - true - - - - Hora do Nepal - Hora do Nepal - - - Hora do Nepal - - true - - - - Hora da Nova Caledónia - Hora da Nova Caledónia - Hora de Verão da Nova Caledónia - - - Hora da Nova Caledónia - - true - - - - Hora da Nova Zelândia - Hora Padrão da Nova Zelândia - Hora de Verão da Nova Zelândia - - true - - - - Horário Padrão da Terra Nova - Horário de Verão da Terra Nova - - - - - Hora de Niue - Hora de Niue - - - Hora de Niue - - true - - - - Hora da Ilha Norfolque - - - Hora da Ilha Norfolque - - true - - - - Hora das Ilhas Mariana do Norte - Hora das Ilhas Mariana do Norte - - - Hora das Ilhas Mariana do Norte - - true - - - - Hora de Novosibirsk - Hora de Verão de Novosibirsk - - true - - - - Hora de Omsk - Hora de Verão de Omsk - - true - - - true - - - - Hora do Paquistão - Hora de Verão do Paquistão - - - Hora do Paquistão - - true - - - - Hora de Palau - Hora de Palau - - - Hora de Palau - - true - - - - Hora da Papua Nova Guiné - Hora da Papua Nova Guiné - - - Hora da Papua Nova Guiné - - true - - - - Hora das Filipinas - Hora das Filipinas - Hora de Verão das Filipinas - - - Hora das Filipinas - - true - - - - Hora das Ilhas Fénix - - true - - - - Hora de Pitcairn - Hora de Pitcairn - - - Hora de Pitcairn - - true - - - - Hora de Ponape - - true - - - - Hora de Qyzylorda - Hora de Verão de Qyzylorda - - true - - - - Hora das Ilhas de Reunião - - - - - Hora de Rothera - - - - - Hora de Sakhalin - Hora de Verão de Sakhalin - - true - - - - Hora de Samara - Hora de Verão de Samara - - true - - - - Hora de Samarkand - Hora de Verão de Samarkand - - true - - - - Hora da Samoa - Hora Padrão da Samoa - - - Hora da Samoa - - true - - - - Hora das Ilhas Seicheles - - - - - Hora de Shevchenko - Hora de Verão de Shevchenko - - true - - - - Hora de Singapura - Hora Padrão de Singapura - - - Hora de Singapura - - true - - - - Hora das Ilhas Salomão - - - Hora das Ilhas Salomão - - true - - - - Hora da Georgia do Sul - - true - - - - Hora de Sverdlovsk - Hora de Verão de Sverdlovsk - - true - - - - Hora de Syowa - - - - - Hora da Polinésia Francesa - Hora do Tahiti - - - Hora da Polinésia Francesa - - true - - - - Hora do Tajiquistão - Hora do Tajiquistão - - - Hora do Tajiquistão - - true - - - - Hora de Tashkent - Hora de Tashkent - Hora de Verão de Tashkent - - - Hora do Uzbequistão - - true - - - - Hora da Geórgia - Hora de Tbilisi - Hora de Verão de Tbilisi - - - Hora de Geórgia - - true - - - - Hora de Toquelau - Hora de Toquelau - - - Hora de Toquelau - - true - - - - Hora de Tonga - Hora de Verão de Tonga - - - Hora de Tonga - - true - - - - Hora de Truk - - true - - - - Hora da Turquia - Hora de Verão da Turquia - - true - - - - Hora do Turquemenistão - Hora do Turquemenistão - Hora de Verão do Turquemenistão - - - Hora do Turquemenistão - - true - - - - Hora de Tuvalu - - - Hora de Tuvalu - - true - - - - Hora de Ural'sk - Hora de Verão de Ural'sk - - true - - - - Hora de Urumqi - - true - - - - Hora do Uzbequistão - Hora do Uzbequistão - Hora de Verão do Uzbequistão - - - Hora do Uzbequistão - - true - - - - Hora de Vanuatu - Hora de Vanuatu - - - Hora de Vanuatu - - true - - - - Hora de Vladivostok - Hora de Verão de Vladivostok - - true - - - - Hora de Volvograd - Hora de Verão de Volgograd - - true - - - - Hora de Vostok - - - - - Hora das Ilhas Wake - - - - - Hora de Wallis e Futuna - Hora de Wallis e Futuna - - - Hora de Wallis e Futuna - - true - - - - Hora de Yakutsk - Hora de Verão de Yakutsk - - true - - - - Hora de Yekaterinburg - Hora de Verão de Yekaterinburg - - true - - - - Hora da Arménia - Hora de Yerevan - Hora de Verão de Yerevan - - - Hora da Arménia - - true - - - - - -   - - - - - #,##0.00 ¤ - - - - - - Dirham dos Emirados Árabes Unidos - - - Afeghani (1927-2002) - - - Afeghani - - - Florim das Antilhas Holandesa - - - Florim de Aruba - - - Dinar da Bósnia-Herzegóvina - - - Marco bósnio-herzegóvino conversível - - - Franco belga (convertível) - - - Rublo novo bielorusso (1994-1999) - - - Libra de Chipre - - - Coroa da República Checa - - - Unidad de Valor Constante (UVC) do Equador - - - Dólar das Fiji - - - Cedi do Gana - - - Dalasi da Gâmbia - - - Franco da Guiné - - - Quetzal da Guatemala - - - Lempira das Honduras - - - Dinar koweitiano - - - Dólar das Ilhas Caimão - - - Dinar macedónio - - - Franco do Mali - - - Cuacha do Malawi - - - Peso Plata mexicano (1861-1992) - - - Unidad de Inversion (UDI) mexicana - - - Córdoba nicaraguano - - - Córdoba Ouro nicaraguano - - - Zloti polaco - - - Zloti polaco (1950-1995) - - - #,##0.00 ¤;-#,##0.00 ¤ - $ - , - - - Rial do Qatar - - - Dólar de Singapura - - - Xelim de Tanzânia - - - Tala de Samoa Ocidental - - - Unidade da Moeda Europeia - - - Moeda inválida ou desconhecida - - - Dinar forte jugoslavo - - - Super Dinar jugoslavo - - - Dinar conversível jugoslavo - - - Dólar do Zimbabwe - - - - - diff --git a/lib/zend/Zend/Locale/Data/ro.xml b/lib/zend/Zend/Locale/Data/ro.xml deleted file mode 100644 index af501bced1..0000000000 --- a/lib/zend/Zend/Locale/Data/ro.xml +++ /dev/null @@ -1,2479 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - abhază - afrikaans - limbă afro-asiatică - ainu - akkadiană - aleută - altaică meridională - amharică - aragoneză - engleză veche - limbă apașă - arabă - aramaică - limbă artificială - asameză - asturiană - limbă australiană - avară - aymara - azeră - bașkiră - limbă baltică - bielorusă - berberă - bulgară - bihari - bengaleză - bantu - tibetană - bretonă - bosniacă - catalană - limbă central-amerindiană - limbă caucaziană - cecenă - limbă celtică - corsicană - coptă - cehă - slavonă - ciuvașă - velșă - daneză - germană - germană austriacă - germană standard elvețiană - limbă dravidiană - egipteană veche - greacă - elamită - engleză - engleză australiană - engleză canadiană - engleză britanică - engleză americană - esperanto - spaniolă - spaniolă latino-americană - spaniolă iberică - estoniană - bască - persană - finlandeză - filipineză - limbă fino-ugrică - fijiană - faroeză - franceză - franceză canadiană - franceză elvețiană - franceză veche - frizonă orientală - frizonă occidentală - irlandeză - gaelică scoțiană - limbă germanică - galiciană - guarani - gotică - greacă veche - germană elvețiană - gujarati - hawaiană - ebraică - hindi - hitită - croată - haitiană - maghiară - armeană - interlingua - indoneziană - interlingue - inupiak - limbă indiană - limbă indo-europeană - limbă iraniană - islandeză - italiană - japoneză - iudeo-persană - iudeo-arabă - javaneză - georgiană - congoleză - kazahă - kalaallisut - khmeră - kannada - coreeană - cașmireză - kurdă - kîrgîză - latină - luxemburgheză - lingala - laoțiană - lituaniană - letonă - austroneziană - malgașă - maori - limbi diverse - macedoneană - malayalam - mongolă - manciuriană - moldovenească - marathi - malay - malteză - limbi multiple - limbă munda - mirandeză - birmaneză - limbă mayașă - limbă nord-amerindiană - napolitană - nepaleză - olandeză - flamandă - norvegiană nynorsk - norvegiană - limbă nubiană - navajo - occitană - oromo - oriya - turcă otomană - limbă otomi - punjabi - limbă papuașă - persană veche - limbă filipineză - feniciană - pali - poloneză - provensală veche - pașto - portugheză - portugheză braziliană - portugheză iberică - quechua - retoromană - română - limbă romanică - rusă - aromână - sanscrită - limbă sud-amerindiană - aramaică samariteană - sardiniană - siciliană - scots - sindhi - limbă semitică - irlandeză veche - limbaj mimico-gestual - sârbo-croată - singaleză - limbă sino-tibetană - slovacă - slovenă - limbă slavă - samoană - somaleză - albaneză - sârbă - sesotho - sundaneză - sumeriană - suedeză - swahili - siriacă - tamilă - limbă thai - telugu - tadjică - thailandeză - tigrinya - turkmenă - tagalog - klingoniană - setswana - turcă - tătară - limbă altaică - twi - tahitiană - uigură - ucraineană - limbă necunoscută sau nevalidă - urdu - uzbecă - vietnameză - volapuk - valonă - wolof - calmucă - xhosa - idiș - yoruba - zapotecă - chineză - chineză simplificată - chineză tradițională - zulu - fară conținut lingvistic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Lume - Africa - America de Nord - America de Sud - Oceania - Africa Occidentală - America Centrală - Africa Orientală - Africa Septentrională - Africa Centrală - Africa Meridională - Americi - America Septentrională - Caraibe - Asia Orientală - Asia Meridională - Asia de Sud-Est - Europa Meridională - Australia și Noua Zeelandă - Melanezia - Regiunea Micronezia - Polinezia - Asia Centrală de Sud - Asia - Asia Centrală - Asia Occidentală - Europa - Europa Orientală - Europa Septentrională - Europa Occidentală - Comunitatea Statelor Independente - America Latină și Caraibe - Insulele Anglo-Normande - Andorra - Emiratele Arabe Unite - Afganistan - Antigua și Barbuda - Anguilla - Albania - Armenia - Antilele Olandeze - Angola - Antarctica - Argentina - Samoa Americană - Austria - Australia - Aruba - Insulele Aland - Azerbaidjan - Bosnia și Herțegovina - Barbados - Bangladesh - Belgia - Burkina Faso - Bulgaria - Bahrain - Burundi - Benin - Sfântul Bartolomeu - Bermuda - Brunei - Bolivia - Brazilia - Bahamas - Bhutan - Insula Bouvet - Botswana - Bielorusia - Belize - Canada - Insulele Cocos - Republica Democrată Congo - Republica Centrafricană - Congo - Eleveția - Coasta de Fildeș - Insulele Cook - Chile - Camerun - China - Columbia - Costa Rica - Serbia și Muntenegru - Cuba - Capul Verde - Insula Christmas - Cipru - Republica Cehă - Germania - Djibouti - Danemarca - Dominica - Republica Dominicană - Algeria - Ecuador - Estonia - Egipt - Sahara Occidentală - Eritreea - Spania - Etiopia - Finlanda - Fiji - Insulele Falkland - Micronezia - Insulele Feroe - Franța - Gabon - Marea Britanie - Grenada - Georgia - Guyana Franceză - Guernsey - Ghana - Gibraltar - Groenlanda - Gambia - Guineea - Guadelupa - Guineea Ecuatorială - Grecia - Insulele Georgia de Sud și Sandwich de Sud - Guatemala - Guam - Guineea-Bissau - Guyana - R.A.S. Hong Kong a Chinei - Insula Heard și Insulele McDonald - Honduras - Croația - Haiti - Ungaria - Indonezia - Irlanda - Israel - Insula Man - India - Teritoriul Britanic din Oceanul Indian - Irak - Iran - Islanda - Italia - Jersey - Jamaica - Iordania - Japonia - Kenya - Kârgâzstan - Cambodgia - Kiribati - Comore - Sfântul Kitts și Nevis - Coreea de Nord - Coreea de Sud - Kuweit - Insulele Cayman - Kazahstan - Laos - Liban - Sfânta Lucia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Lituania - Luxemburg - Letonia - Libia - Maroc - Monaco - Republica Moldova - Muntenegru - Sfântul Martin - Madagascar - Insulele Marshall - Macedonia - Mali - Myanmar - Mongolia - R.A.S. Macao a Chinei - Insulele Mariane de Nord - Martinica - Mauritania - Montserrat - Malta - Mauritius - Maldive - Malawi - Mexic - Malaezia - Mozambic - Namibia - Noua Caledonie - Niger - Insulele Norfolk - Nigeria - Nicaragua - Olanda - Norvegia - Nepal - Nauru - Niue - Noua Zeelandă - Oman - Panama - Peru - Polinezia Franceză - Papua Noua Guinee - Filipine - Pakistan - Polonia - Sfântul Pierre și Miquelon - Pitcairn - Porto Rico - Teritoriul Palestinian - Portugalia - Palau - Paraguay - Qatar - Oceania Periferică - Uniunea Europeană - Reunion - România - Serbia - Rusia - Rwanda - Arabia Saudită - Insulele Solomon - Seychelles - Sudan - Suedia - Singapore - Sfânta Elena - Slovenia - Svalbard și Jan Mayen - Slovacia - Sierra Leone - San Marino - Senegal - Somalia - Surinam - Sao Tome și Principe - El Salvador - Siria - Swaziland - Insulele Turks și Caicos - Ciad - Teritoriile Australe și Antarctice Franceze - Togo - Thailanda - Tadjikistan - Tokelau - Timorul de Est - Turkmenistan - Tunisia - Tonga - Turcia - Trinidad-Tobago - Tuvalu - Taiwan - Tanzania - Ucraina - Uganda - Insulele mici îndepărtate ale Statelor Unite ale Americii - Statele Unite ale Americii - Uruguay - Uzbekistan - Vatican - Sfântul Vincent și Grenadine - Venezuela - Insulele Virgine Britanice - Insulele Virgine S.U.A. - Vietnam - Vanuatu - Wallis și Futuna - Samoa - Yemen - Mayotte - Africa de Sud - Zambia - Zimbabwe - Regiune necunoscută sau nevalidă - - - ordine de sortare - monedă - - - sortare pentru chineza tradițională - Big5 - calendar budist - calendar chinezesc - sortare directă - sortare pentru chineza simplificată - GB2312 - calendar gregorian - calendar ebraic - calendar național indian - calendar islamic - calendar islamic civil - calendar japonez - sortare după cartea de telefon - sortare pinyin - calendar al Republicii Chineze - ordine de sortare după trasare - sortare tradițională - - - american - metric - - - Limbă: {0} - Scriere: {0} - Regiune: {0} - - - - titlecase-firstword - lowercase-words - lowercase-words - lowercase-words - titlecase-firstword - - - [a ă â b-i î j-p r s ș t ț u v x z] - [á à å ä ç é è ê ë ñ ö q ş ţ ü w y] - [a ă â b-i î j-s ș t ț u-z] - - - „ - ” - « - » - - - {0} – {1} - - - - - era budistă - - - e.b. - - - - - - EEEE, d MMMM, y G - - - - - d MMMM y G - - - - - d MMM y G - - - - - d/M/yyyy - - - - - - E d MMM - E d MMMM - d MMMM - d MMM - EEE, d/M/y - EEE, d MMM Y - 'T'Q y - QQQ y - - - - - - - - ian. - feb. - mar. - apr. - mai - iun. - iul. - aug. - sept. - oct. - nov. - dec. - - - ianuarie - februarie - martie - aprilie - mai - iunie - iulie - august - septembrie - octombrie - noiembrie - decembrie - - - - - I - F - M - A - M - I - I - A - S - O - N - D - - - - - - - Du - Lu - Ma - Mi - Jo - Vi - Sâ - - - duminică - luni - marți - miercuri - joi - vineri - sâmbătă - - - - - Du - Lu - - - D - L - M - M - J - V - S - - - sâmbătă - - - - - - - trim. I - trim. II - trim. III - trim. IV - - - T1 - T2 - T3 - T4 - - - trimestrul I - trimestrul al II-lea - trimestrul al III-lea - trimestrul al IV-lea - - - - - T1 - T2 - T3 - T4 - - - trimestrul I - trimestrul al II-lea - trimestrul al III-lea - trimestrul al IV-lea - - - - AM - PM - - - înainte de Hristos - după Hristos - - - î.Hr. - d.Hr. - - - - - - EEEE, d MMMM y - - - - - d MMMM y - - - - - dd.MM.yyyy - - - - - dd.MM.yyyy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - - {1}, {0} - - - - - {1}, {0} - - - - - {1}, {0} - - - - - {1}, {0} - - - - EEE d - H:mm - L - E, d MMM - LLL - EEE, d MMM - E, d MMM - E, d MMMM - d MMMM - d MMM - dd.MM - d.M - d - mm:ss - y - M.yyyy - EEE, d/M/yyyy - MMM y - EEE, d MMM y - MMMM y - 'trimestrul' Q y - QQQ y - MM.yy - MMM yy - Q yy - MM.yyyy - MMMM y - - - {0} - {1} - - M-M - - - E, dd.MM - E, dd.MM - E, dd.MM - E, dd.MM - - - MMM-MMM - - - E, d MMM - E, d MMM - E, d MMM - E, d MMM - - - LLLL-LLLL - - - d MMM - d MMM - d-d MMM - - - dd.MM - dd.MM - dd.MM - dd.MM - - - d-d - - - HH-HH - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - HH-HH v - - - y-y - - - MM.yyyy - MM.yyyy - MM.yyyy - MM.yyyy - - - E, dd.MM.yyyy - E, dd.MM.yyyy - E, dd.MM.yyyy - E, dd.MM.yyyy - E, dd.MM.yyyy - E, dd.MM.yyyy - - - MMM-MMM y - MMM y - MMM y - - - E, d MMM - E, d MMM y - E, d MMM - E, d MMM y - E, d MMM y - E, d MMM y - - - MMMM-MMMM y - MMMM y – MMMM y - - - d MMM - d MMM y - d-d MMM y - d MMM y - d MMM y - - - dd.MM.yyyy - dd.MM.yyyy - dd.MM.yyyy - dd.MM.yyyy - dd.MM.yyyy - dd.MM.yyyy - - - - - - eră - - - an - - - lună - - - săptămână - - - zi - răsalaltăieri - alaltăieri - ieri - azi - mâine - poimâine - răspoimâine - - - zi a săptămânii - - - perioada zilei - - - oră - - - minut - - - secundă - - - zonă - - - - - - +HH:mm;−HH:mm - GMT{0} - {0} - {1} ({0}) - - Necunoscut - - - Tirana - - - Erevan - - - Polul Sud - - - Dumont D'Urville - - - Viena - - - Bruxelles - - - Insula Paștelui - - - Capul Verde - - - Copenhaga - - - Alger - - - Insulele Canare - - - Addis Abeba - - - Londra - - - Guadalupe - - - Atena - - - Georgia de Sud - - - Budapesta - - - Ierusalim - - - Bagdad - - - Teheran - - - Roma - - - St. Kitts - - - Seul - - - Kuweit - - - Kyzylorda - - - St. Lucia - - - Luxemburg - - - Chișinău - - - Ulan Bator - - - Martinica - - - Maldive - - - Marchize - - - Varșovia - - - Azore - - - Lisabona - - - Quatar - - - București - - - Moscova - - - Ekaterinburg - - - Krasnoiarsk - - - Irkuțk - - - Yakuțk - - - Sahalin - - - Kamciatka - - - Riyad - - - Sf. Elena - - - Salvador - - - Damasc - - - Zaporoje - - - New Salem, Dakota de Nord - - - Centru, Dakota de Nord - - - Saint Vincent și Grenadines - - - St. Thomas - - - - Ora Acre - Ora de vară Acre - - - - - Ora Africii Centrale - - - - - Ora Africii Orientale - - - - - Ora Africii Meridionale - Ora Standard a Africii Meridionale - - - - - Ora Africii Occidentale - Ora de vară a Africii Occidentale - - - - - Ora zonei Alaska - Ora standard în zona Alaska - Ora de vară în zona Alaska - - - - - Ora zonei Alaska-Hawaii - Ora standard în zona Alaska-Hawaii - Ora de vară în zona Alaska-Hawaii - - - - - Ora Amazon - Ora de vară Amazon - - - - - Ora Centrală - Ora standard centrală - Ora de vară centrală - - - - - Ora orientală - Ora standard orientală - Ora de vară orientală - - - - - Ora zonei montane - Ora standard în zona montană - Ora de vară în zona montană - - - - - Ora zonei Pacific - Ora standard în zona Pacific - Ora de vară în zona Pacific - - - - - Ora Argentinei - Ora de vară a Argentinei - - - - - Ora Argentinei Occidentale - - - - - Ora zonei Atlantic - Ora standard în zona Atlantic - Ora de vară în zona Atlantic - - - - - Ora Australiei Centrale - Ora de vară a Australiei Centrale - - - - - Ora Australiei Central Occidentale - Ora standard a Australiei Central Occidentale - Ora de vară a Australiei Central Occidentale - - - - - Ora Australiei Orientale - Ora standard a Australiei Orientale - Ora de vară a Australiei Orientale - - - - - Ora Australiei Occidentale - Ora de vară a Australiei Occidentale - - - - - Ora Bering - Ora standard Bering - Ora de vară Bering - - - - - Ora Boliviei - - - - - Ora Davis - - - - - Ora Dumont-d'Urville - - - - - Ora Europei Centrale - Ora de vară a Europei Centrale - - - - - Ora Europei de Est - Ora de vară a Europei de Est - - - - - Ora Europei Occidentale - Ora de vară a Europei Occidentale - - - WET - WEST - - - - - Greenwich Mean Time - - - GMT - - true - - - - Ora Lord Howe - Ora standard Lord Howe - Ora de vară Lord Howe - - - - - Ora Mawson - - - - - Ora Rothera - - - - - Ora Syowa - - - - - Ora Vostok - - - - - - - , - . - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - {0} {1} - - - - pesetă andorrană - pesete andorrane - pesete andorrane - - - dirham Emiratele Arabe Unite - dirhami Emiratele Arabe Unite - dirhami Emiratele Arabe Unite - - - leka albanez - leka albanezi - leka albanez - leka albanezi - - - dram armenesc - drami armenești - dram armenesc - drami armenești - - - gulden Antilele Olandeze - guldeni Antilele Olandeze - guldeni Antilele Olandeze - - - peso argentinian (1983–1985) - pesos argentinieni (ARP) - peso argentinian (ARP) - pesos argentinieni (ARP) - - - peso argentinian - pesos argentinieni - pesos argentinieni - - - șiling austriac - șilingi austrieci - șilingi austrieci - - - dolar australian - dolari australieni - dolari australieni - - - manat Azerbaidjan - manați Azerbaidjan - manați Azerbaidjan - - - dinar Bosnia-Herțegovina - dinari Bosnia-Herțegovina - dinari Bosnia-Herțegovina - - - marcă convertibilă bosniacă - mărci convertibile bosniace - mărci convertibile bosniace - - - dolar Barbados - dolari Barbados - dolari Barbados - - - taka Bangladeș - - - franc belgian (convertibil) - franci belgieni (convertibili) - franci belgieni (convertibili) - - - franc belgian - franci belgieni - franci belgieni - - - franc belgian (financiar) - franci belgieni (financiari) - franci belgieni (financiari) - - - leva bulgărească nouă - leva bulgărești noi - leva bulgărești noi - - - franc Burundi - franci Burundi - franci Burundi - - - dolar Bermude - dolari Bermude - dolari Bermude - - - dolar Brunei - dolari Brunei - dolari Brunei - - - bolivian bolivian - bolivieni bolivieni - bolivieni bolivieni - - - peso bolivian - pesos bolivieni - pesos bolivieni - - - mvdol bolivian - - - cruzeiro brazilian (1990–1993) - - - real brazilian - reali brazilieni - reali brazilieni - - - cruzeiro brazilian - - - dolar Bahamas - dolari Bahamas - dolari Bahamas - - - ngultrum Bhutan - - - kyat birman - - - rublă bielorusă - ruble bieloruse - ruble bieloruse - - - dolar Belize - dolari Belize - dolari Belize - - - dolar canadian - dolari canadieni - dolari canadieni - - - franc congolez - franci congolezi - franci congolezi - - - franc elvețian - franci elvețieni - franci elvețieni - - - peso chilian - pesos chilieni - pesos chilieni - - - yuan renminbi chinezesc - yuani renminbi chinezești - yuani renminbi chinezești - - - peso columbian - pesos columbieni - pesos columbieni - - - colon costarican - coloni costaricani - coloni costaricani - - - dinar vechi Serbia și Muntenegru - dinari vechi Serbia și Muntenegru - dinari vechi Serbia și Muntenegru - - - peso cubanez - pesos cubanezi - pesos cubanezi - - - escudo Capul Verde - escudo Capul Verde - escudo Capul Verde - escudo Capul Verde - - - liră cipriotă - lire cipriote - lire cipriote - - - coroană cehă - coroane cehe - coroane cehe - - - marcă est-germană - mărci est-germane - mărci est-germane - - - marcă germană - mărci germane - mărci germane - - - franc Djibouti - franci Djibouti - franci Djibouti - - - coroană daneză - coroane daneze - coroane daneze - - - peso dominican - pesos dominicani - pesos dominicani - - - dinar algerian - dinari algerieni - dinari algerieni - - - sucre Ecuador - - - coroană estoniană - coroane estoniene - coroane estoniene - - - liră egipteană - lire egiptene - lire egiptene - - - peseta spaniolă (cont A) - - - peseta spaniolă (cont convertibil) - - - pesetă spaniolă - pesete spaniole - pesete spaniole - - - birr Etiopia - birr Etiopia - birr Etiopia - birr Etiopia - - - euro - - - marcă finlandeză - mărci finlandeze - mărci finlandeze - mărci finlandeze - - - dolar Fiji - dolari Fiji - dolari Fiji - - - liră Insulele Falkland - lire Insulele Falkland - lire Insulele Falkland - - - franc francez - franci francezi - franci francezi - - - liră sterlină - lire sterline - lire sterline - - - lari Georgia - lari Georgia - lari Georgia - lari Georgia - - - cedi Ghana - - - liră Gibraltar - lire Gibraltar - lire Gibraltar - - - dalasi Gambia - - - franc Guineea - franci Guineea - franci Guineea - - - drahmă grecească - drahme grecești - drahme grecești - - - quetzal Guatemala - - - peso Guineea-Bissau - pesos Guineea-Bissau - pesos Guineea-Bissau - - - dolar Guyana - dolari Guyana - dolari Guyana - - - dolar Hong Kong - dolari Hong Kong - dolari Hong Kong - - - lempira Honduras - - - dinar croat - dinari croați - dinari croați - - - kuna croată - kune croate - kune croate - - - gourde Haiti - - - forint maghiar - forinți maghiari - forinți maghiari - - - rupie indoneziană - rupii indoneziene - rupii indoneziene - - - liră irlandeză - lire irlandeze - lire irlandeze - - - liră israeliană - lire israeliene - lire israeliene - - - șechel israelian nou - șecheli israelieni noi - șecheli israelieni noi - - - rupie indiană - rupii indiene - rupii indiene - - - dinar irakian - dinari irakieni - dinari irakieni - - - rial iranian - riali iranieni - riali iranieni - - - coroană islandeză - coroane islandeze - coroane islandeze - - - liră italiană - lire italiene - lire italiene - - - dolar jamaican - dolari jamaicani - dolari jamaicani - - - dinar iordanian - dinari iordanieni - dinari iordanieni - - - yen japonez - yeni japonezi - yeni japonezi - - - șiling kenyan - șilingi kenyeni - șilingi kenyeni - - - som Kirghizstan - - - riel cambodgian - rieli cambodgieni - rieli cambodgieni - - - franc comorian - franci comorieni - franci comorieni - - - won nord-coreean - woni nord-coreeni - woni nord-coreeni - - - won sud-coreean - woni sud-coreeni - woni sud-coreeni - - - dinar kuweitian - dinari kuweitieni - dinari kuweitieni - - - dolar Insulele Cayman - dolari Insulele Cayman - dolari Insulele Cayman - - - kip Laos - - - liră libaneză - lire libaneze - lire libaneze - - - rupie Sri Lanka - rupii Sri Lanka - rupii Sri Lanka - - - dolar liberian - dolari liberieni - dolari liberieni - - - litu lituanian - lite lituaniene - lite lituaniene - - - franc convertibil luxemburghez - franci convertibili luxemburghezi - franci convertibili luxemburghezi - - - franc luxemburghez - franci luxemburghezi - franci luxemburghezi - - - franc financiar luxemburghez - franci financiari luxemburghezi - franci financiari luxemburghezi - - - lats Letonia - - - rublă Letonia - ruble Letonia - ruble Letonia - - - dinar libian - dinari libieni - dinari libieni - - - dirham marocan - dirhami marocani - dirhami marocani - - - franc marocan - franci marocani - franci marocani - - - leu moldovenesc - lei moldovenești - lei moldovenești - - - franc Madagascar - franci Madagascar - franci Madagascar - - - dinar macedonean - dinari macedoneni - dinari macedoneni - - - franc Mali - franci Mali - franci Mali - - - kyat Myanmar - - - tugrik mongol - - - liră malteză - lire malteze - lire malteze - - - peso mexican - pesos mexicani - pesos mexicani - - - peso mexican de argint (1861–1992) - pesos mexicani de argint (1861–1992 - pesos mexicani de argint (1861–1992 - - - ringgit malaiezian - - - escudo Mozambic - - - metical Mozambic vechi - - - metical Mozambic - - - dolar namibian - dolari namibieni - dolari namibieni - - - cordoba Nicaragua - - - gulden olandez - guldeni olandezi - guldeni olandezi - - - coroană norvegiană - coroane norvegiene - coroane norvegiene - - - rupie nepaleză - rupii nepaleze - rupii nepaleze - - - dolar neozeelandez - dolari neozeelandezi - dolari neozeelandezi - - - riyal Oman - riyali Oman - riyali Oman - - - balboa panameză - balboa panameze - balboa panameze - - - inti peruvian - - - sol nou peruvian - soli noi Peru - soli noi Peru - - - sol peruvian - soli Peru - soli Peru - - - kina Papua-Noua Guinee - - - peso filipinez - pesos filipinezi - pesos filipinezi - - - rupie pakistaneză - rupii pakistaneze - rupii pakistaneze - - - zlot nou polonez - zloți noi polonezi - zloți noi polonezi - - - zlot polonez (1950–1995) - zloți polonezi (1950–1995) - zloți polonezi (1950–1995) - - - guarani Paraguay - - - riyal Qatar - riyali Qatar - riyali Qatar - - - dolar rhodesian - dolari rhodesieni - dolari rhodesieni - - - leu vechi - lei vechi - lei vechi - - - leu - lei - lei - - - dinar sârbesc - dinari sârbești - dinari sârbești - - - rublă rusească - ruble rusești - ruble rusești - - - franc Rwanda - franci Rwanda - franci Rwanda - - - riyal Arabia Saudită - riyali Arabia Saudită - riyali Arabia Saudită - - - dolar Insulele Solomon - dolari Insulele Solomon - dolari Insulele Solomon - - - rupie Seychelles - rupii Seychelles - rupii Seychelles - - - dinar sudanez - dinari sudanezi - dinari sudanezi - - - liră sudaneză - lire sudaneze - lire sudaneze - - - coroană suedeză - coroane suedeze - coroane suedeze - - - dolar Singapore - dolari Singapore - dolari Singapore - - - liră Insula Sf. Elena - lire Insula Sf. Elena - lire Insula Sf. Elena - - - tolar sloven - tolari sloveni - tolari sloveni - - - coroană slovacă - coroane slovace - coroane slovace - - - leu Sierra Leone - lei Sierra Leone - lei Sierra Leone - - - șiling somalez - șilingi somalezi - șilingi somalezi - - - dolar Surinam - dolari Surinam - dolari Surinam - - - gulden Surinam - guldeni Surinam - guldeni Surinam - - - dobra Sao Tome și Principe - - - rublă sovietică - ruble sovietice - ruble sovietice - - - colon El Salvador - coloni El Salvador - coloni El Salvador - - - liră siriană - lire siriene - lire siriene - - - baht thailandez - - - rublă Tadjikistan - ruble Tadjikistan - ruble Tadjikistan - - - dinar tunisian - dinari tunisieni - dinari tunisieni - - - liră turcească - lire turcești - - - liră turcească nouă - lire turcești noi - - - dolar Trinidad-Tobago - dolari Trinidad-Tobago - dolari Trinidad-Tobago - - - dolar nou Taiwan - dolari noi Taiwan - dolari noi Taiwan - - - șiling tanzanian - șilingi tanzanieni - șilingi tanzanieni - - - hryvna ucraineană - hryvna ucrainiene - hryvna ucrainiene - - - carboavă ucraineană - carboave ucrainiene - carboave ucrainiene - - - șiling ugandez (1966–1987) - șilingi ugandezi (1966–1987) - șilingi ugandezi (1966–1987) - - - șiling ugandez - șilingi ugandezi - șilingi ugandezi - - - dolar american - dolari americani - dolari americani - - - dolar american (ziua următoare) - dolari americani (ziua următoare) - dolari americani (ziua următoare) - - - dolar american (aceeași zi) - dolari americani (aceeași zi) - dolari americani (aceeași zi) - - - peso Uruguay (1975–1993) - pesos Uruguay (1975–1993) - pesos Uruguay (1975–1993) - - - peso nou Uruguay - pesos noi Uruguay - pesos noi Uruguay - - - sum Uzbekistan - - - bolivar Venezuela - bolivari Venezuela - bolivari Venezuela - - - dong vietnamez - - - franc Comunitatea Financiară - franci Comunitatea Financiară - franci Comunitatea Financiară - - - argint - - - aur - - - unitate compusă europeană - - - unitate monetară europeană - - - unitate de cont europeană (XBC) - - - unitate de cont europeană (XBD) - - - dolar Caraibele de Est - dolari Caraibele de Est - dolari Caraibele de Est - - - drepturi speciale de tragere - - - unitate de monedă europeană - - - franc francez de aur - franci francezi de aur - franci francezi de aur - - - franc UIC francez - - - paladiu - - - platină - - - cod monetar de test - - - monedă necunoscută sau nevalidă - monede necunoscute sau nevalide - monede necunoscute sau nevalide - - - dinar Yemen - dinari Yemen - dinari Yemen - - - riyal Yemen - riyali Yemen - riyali Yemen - - - dinar iugoslav greu - dinari iugoslavi grei - dinari iugoslavi grei - - - dinar iugoslav nou - dinari iugoslavi noi - dinari iugoslavi noi - - - dinar iugoslav convertibil - dinari iugoslavi convertibili - dinari iugoslavi convertibili - - - rand sud-african (financiar) - - - rand sud-african - - - zair nou - zairi noi - zairi noi - - - dolar Zimbabwe - dolari Zimbabwe - dolari Zimbabwe - - - - - - {0} zile - {0} zi - {0} de zile - - - {0} ore - {0} oră - {0} de ore - - - {0} minute - {0} minut - {0} de minute - - - {0} luni - {0} lună - {0} de luni - - - {0} secunde - {0} secundă - {0} de secunde - - - {0} săptămâni - {0} săptămână - {0} de săptămâni - - - {0} ani - {0} an - {0} de ani - - - - - da:d - nu:n - - - - diff --git a/lib/zend/Zend/Locale/Data/ro_MD.xml b/lib/zend/Zend/Locale/Data/ro_MD.xml deleted file mode 100644 index 01c89c7871..0000000000 --- a/lib/zend/Zend/Locale/Data/ro_MD.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ro_RO.xml b/lib/zend/Zend/Locale/Data/ro_RO.xml deleted file mode 100644 index 0a00c221fa..0000000000 --- a/lib/zend/Zend/Locale/Data/ro_RO.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/root.xml b/lib/zend/Zend/Locale/Data/root.xml deleted file mode 100644 index 2e24a413ad..0000000000 --- a/lib/zend/Zend/Locale/Data/root.xml +++ /dev/null @@ -1,3208 +0,0 @@ - - - - - - - - - - - - {0} ({1}) - , - - - US - Metric - - - {0} - {0} - {0} - - - - - mixed - mixed - mixed - mixed - mixed - mixed - mixed - mixed - mixed - mixed - mixed - mixed - mixed - mixed - - - [] - [] - [a-c č d-l ł m-o º p-z] - - - “ - ” - ‘ - ’ - - - {0} - {1} - - - - - - - - - - - - - AM - PM - - - - - - BE - - - - - - - - - - EEEE, MMMM d, y G - - - - - MMMM d, y G - - - - - MMM d, y G - - - - - M/d/yyyy - - - - - - - - - - - - EEE d - H:mm - H:mm:ss - L - E, M-d - LLL - E MMM d - E MMMM d - MMMM d - MMM d - M-d - d - h:mm a - h:mm:ss a - mm:ss - y - M/y - EEE, M/d/y - MMM, y - EEE, MMM d, y - MMMM, y - y Q - y QQQ - - - {0} ({2}: {1}) - {0} {1} - {0} {1} - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} {1} - {0} ({2}: {1}) - {0} {1} - - - - - - - - - - - - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - - - - - - - AM - PM - - - - - EEEE y'x'G-Ml-d - - - - - y'x'G-Ml-d - - - - - y'x'G-Ml-d - - - - - y'x'G-Ml-d - - - - - - - - - - - - - - - - - - - - - - - Tout - Baba - Hator - Kiahk - Toba - Amshir - Baramhat - Baramouda - Bashans - Paona - Epep - Mesra - Nasie - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - - - - - - - - - - - - - AM - PM - - - - - - ERA0 - ERA1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - Meskerem - Tekemt - Hedar - Tahsas - Ter - Yekatit - Megabit - Miazia - Genbot - Sene - Hamle - Nehasse - Pagumen - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - - - - - - - - - - - - - AM - PM - - - - - - ERA0 - ERA1 - - - - - - - - - - - - - - - - - - - - - - - - - - AM - PM - - - - - - ERA0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - - - - - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - - - - - - - - - - Q1 - Q2 - Q3 - Q4 - - - - - - - - 1 - 2 - 3 - 4 - - - - - - - AM - PM - - - - - - BCE - CE - - - - - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yyyy-MM-dd - - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - - - {1} {0} - - - - - {1} {0} - - - - - {1} {0} - - - - - {1} {0} - - - - d EEE - H:mm - H:mm:ss - L - E, M-d - LLL - E MMM d - E MMMM d - MMMM d - MMM d - M-d - d - h:mm a - h:mm:ss a - mm:ss - y - y-M - EEE, y-M-d - y MMM - EEE, y MMM d - y MMMM - y Q - y QQQ - - - {0} ({2}: {1}) - {0} {1} - {0} {1} - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} {1} - {0} ({2}: {1}) - {0} {1} - - - {0} – {1} - - M-M - - - E, MM-dd – E, MM-dd - E, MM-dd – E, MM-dd - - - LLL-LLL - - - E, MM-d – E, MM-d - E, MM-d – E, MM-d - - - LLLL-LLLL - - - MM-d – MM-d - MM-d – d - - - MM-dd – MM-dd - MM-dd – dd - - - d-d - - - HH-HH - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - HH-HH v - - - y-y - - - yyyy-MM – MM - yyyy-MM – yyyy-MM - - - E, yyyy-MM-dd – E, yyyy-MM-dd - E, yyyy-MM-dd – E, yyyy-MM-dd - E, yyyy-MM-dd – E, yyyy-MM-dd - - - yyyy-MM – MM - yyyy-MM – yyyy-MM - - - E, yyyy-MM-dd – E, yyyy-MM-dd - E, yyyy-MM-dd – E, yyyy-MM-dd - E, yyyy-MM-dd – E, yyyy-MM-dd - - - yyyy-MM – MM - yyyy-MM – yyyy-MM - - - yyyy-MM-dd – MM-d - yyyy-MM-d – d - yyyy-MM-dd – yyyy-MM-dd - - - yyyy-MM-dd – MM-dd - yyyy-MM-dd – dd - yyyy-MM-dd – yyyy-MM-dd - - - - - - Era - - - Year - - - Month - - - Week - - - Day - Yesterday - Today - Tomorrow - - - Day of the Week - - - Dayperiod - - - Hour - - - Minute - - - Second - - - Zone - - - - - - - - - - - - - - - - Tishri - Heshvan - Kislev - Tevet - Shevat - Adar I - Adar - Nisan - Iyar - Sivan - Tamuz - Av - Elul - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - - - - - - - - - - - - - AM - PM - - - - - - AM - - - - - - - - - - - - - - - - - - - - - - - - - - - - Chaitra - Vaisakha - Jyaistha - Asadha - Sravana - Bhadra - Asvina - Kartika - Agrahayana - Pausa - Magha - Phalguna - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - - - - - - - AM - PM - - - - - - SAKA - - - - - - - - - - - - - - - - - - - - - - - - - - - - Muharram - Safar - Rabiʻ I - Rabiʻ II - Jumada I - Jumada II - Rajab - Shaʻban - Ramadan - Shawwal - Dhuʻl-Qiʻdah - Dhuʻl-Hijjah - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - - - - - - - AM - PM - - - - - - AH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AM - PM - - - - - - Taika - Hakuchi - Hakuhō - Shuchō - Taihō - Keiun - Wadō - Reiki - Yōrō - Jinki - Tempyō - Tempyō-kampō - Tempyō-shōhō - Tempyō-hōji - Temphō-jingo - Jingo-keiun - Hōki - Ten-ō - Enryaku - Daidō - Kōnin - Tenchō - Shōwa - Kajō - Ninju - Saiko - Tennan - Jōgan - Genkei - Ninna - Kampyō - Shōtai - Engi - Enchō - Shōhei - Tengyō - Tenryaku - Tentoku - Ōwa - Kōhō - Anna - Tenroku - Ten-en - Jōgen - Tengen - Eikan - Kanna - Ei-en - Eiso - Shōryaku - Chōtoku - Chōhō - Kankō - Chōwa - Kannin - Jian - Manju - Chōgen - Chōryaku - Chōkyū - Kantoku - Eishō - Tengi - Kōhei - Jiryaku - Enkyū - Shōho - Shōryaku - Eiho - Ōtoku - Kanji - Kaho - Eichō - Shōtoku - Kōwa - Chōji - Kashō - Tennin - Ten-ei - Eikyū - Gen-ei - Hoan - Tenji - Daiji - Tenshō - Chōshō - Hoen - Eiji - Kōji - Tenyō - Kyūan - Ninpei - Kyūju - Hogen - Heiji - Eiryaku - Ōho - Chōkan - Eiman - Nin-an - Kaō - Shōan - Angen - Jishō - Yōwa - Juei - Genryuku - Bunji - Kenkyū - Shōji - Kennin - Genkyū - Ken-ei - Shōgen - Kenryaku - Kenpō - Shōkyū - Jōō - Gennin - Karoku - Antei - Kanki - Jōei - Tempuku - Bunryaku - Katei - Ryakunin - En-ō - Ninji - Kangen - Hōji - Kenchō - Kōgen - Shōka - Shōgen - Bun-ō - Kōchō - Bun-ei - Kenji - Kōan - Shōō - Einin - Shōan - Kengen - Kagen - Tokuji - Enkei - Ōchō - Shōwa - Bunpō - Genō - Genkyō - Shōchū - Kareki - Gentoku - Genkō - Kemmu - Engen - Kōkoku - Shōhei - Kentoku - Bunchũ - Tenju - Kōryaku - Kōwa - Genchũ - Meitoku - Kakei - Kōō - Meitoku - Ōei - Shōchō - Eikyō - Kakitsu - Bun-an - Hōtoku - Kyōtoku - Kōshō - Chōroku - Kanshō - Bunshō - Ōnin - Bunmei - Chōkyō - Entoku - Meiō - Bunki - Eishō - Taiei - Kyōroku - Tenmon - Kōji - Eiroku - Genki - Tenshō - Bunroku - Keichō - Genwa - Kan-ei - Shōho - Keian - Shōō - Meiryaku - Manji - Kanbun - Enpō - Tenwa - Jōkyō - Genroku - Hōei - Shōtoku - Kyōhō - Genbun - Kanpō - Enkyō - Kan-en - Hōryaku - Meiwa - An-ei - Tenmei - Kansei - Kyōwa - Bunka - Bunsei - Tenpō - Kōka - Kaei - Ansei - Man-en - Bunkyū - Genji - Keiō - Meiji - Taishō - Shōwa - Heisei - - - M - T - S - H - - - - - - - EEEE, G y MMMM dd - - - - - G y MMMM d - - - - - G y MMM d - - - - - G yy-MM-dd - - - - - - - - - - - {1} {0} - - - - - {1} {0} - - - - - {1} {0} - - - - - {1} {0} - - - - E d - H - HH:mm - HH:mm:ss - E MMM d - MMMM d - M-d - hh:mm a - hh:mm:ss a - mm:ss - yy GGG - GGGGG yy-MM - GGGGG yy MMM - GGGGG yy MMM d - GGGGG yy-MM-dd - GGGGG yy Q - - - {0} ({2}: {1}) - {0} {1} - {0} {1} - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} {1} - {0} ({2}: {1}) - {0} {1} - - - - - - - - - - - - - - - - Farvardin - Ordibehesht - Khordad - Tir - Mordad - Shahrivar - Mehr - Aban - Azar - Dey - Bahman - Esfand - - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - - - - - - - AM - PM - - - - - - AP - - - - - - - - - - - - - - - - - - - - - - - - - - AM - PM - - - - - - Before R.O.C. - R.O.C. - - - - - - - - - - EEEE, MMMM d, G y - - - - - MMMM d, G y - - - - - MMM d, G y - - - - - G y/M/d - - - - - - - - - - - - H:mm - H:mm:ss - E, M/d - E, MMM d - MMM d - M/d - h:mm a - h:mm:ss a - mm:ss - G y - G y/M - EEE, G y/M/d - MMM, G y - EEE, MMM d, G y - Q G y - QQQ G y - - - {0} ({2}: {1}) - {0} {1} - {0} {1} - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} {1} - {0} ({2}: {1}) - {0} {1} - - - - - - - - - +HH:mm;-HH:mm - {0}/{1} - GMT{0} - GMT - {0} - {1} ({0}) - - - - - Unknown - - - Dumont d'Urville - - - St. John's - - - New Salem, North Dakota - - - Center, North Dakota - - - Vincennes, Indiana - - - Petersburg, Indiana - - - Tell City, Indiana - - - Knox, Indiana - - - Winamac, Indiana - - - Marengo, Indiana - - - Vevay, Indiana - - - Monticello, Kentucky - - - - ACT (Acre) - ACST (Acre) - - - - - AFT - - - - - CAT - - - - - EAT - - - - - SAST - - - - - WAT - WAST - - - - - AKTT - AKTST - - - - - AKST - AKDT - - - - - AHST - AHDT - - - - - ALMT - ALMST - - - - - AMT - AMST - - - - - CST - CDT - - - - - EST - EDT - - - - - MST - MDT - - - - - PST - PDT - - - - - ANAT - ANAST - - - - - AQTT (Aqtau) - AQTST (Aqtau) - - - - - AQTT (Aqtobe) - AQTST (Aqtobe) - - - - - AST (SA) - ADT (SA) - - - - - ART - ARST - - - - - WART - - - - - AMT (AM) - AMST (AM) - - - - - ASHT - ASHST - - - - - AST - ADT - - - - - ACST - ACDT - - - - - ACWST - ACWDT - - - - - AEST - AEDT - - - - - AWST - AWDT - - - - - AZT - AZST - - - - - AZOT - AZOST - - - - - BAKT - BAKST - - - - - BDT - - - - - BST (Bering) - BDT (Bering) - - - - - BTT - - - - - BOT - - - - - BORT - BORST - - - - - BRT - BRST - - - - - BNT - - - - - CVT - CVST - - - - - ChST - - - - - CHAT - - - - - CHAST - CHADT - - - - - CLT - CLST - - - - - CST (CN) - CDT (CN) - - - - - CHOT - CHOST - - - - - CXT - - - - - CCT - - - - - COT - COST - - - - - CKT - CKHST - - - - - CST (CU) - CDT (CU) - - - - - DACT - - - - - DAVT - - - - - DDUT - - - - - DUST - DUSST - - - - - NEGT - - - - - TLT - - - - - EAST - EASST - - - - - ECT - - - - - CET - CEST - - - - - EET - EEST - - - - - WET - WEST - - - - - FKT - FKST - - - - - FJT - FJST - - - - - GFT - - - - - TFT - - - - - FRUT - FRUST - - - - - GMT - - - - - GALT - - - - - GAMT - - - - - GET - GEST - - - - - GILT - - - - - CGT - CGST - - - - - EGT - EGST - - - - - WGT - WGST - - - - - GST (GU) - - - - - GST - - - - - GYT - - - - - HST - - - - - HKT - HKST - - - - - HOVT - HOVST - - - - - IST - - - - - IOT - - - - - ICT - - - - - CIT - - - - - EIT - - - - - WIT - - - - - IRST - IRDT - - - - - IRKT - IRKST - - - - - IST (IL) - IDT - - - - - JST - JDT - - - - - PETT - PETST - - - - - KART - - - - - KAST - - - - - EKST - - - - - WKST - - - - - KIZT - KIZST - - - - - KST - KDT - - - - - KOST - - - - - KRAT - KRAST - - - - - KUYT - KUYST - - - - - KWAT - - - - - KGT - - - - - LKT - - - - - LINT - - - - - LONT - - - - - LHST - LHDT - - - - - MOT - MOST - - - - - MAGT - MAGST - - - - - MALT - - - - - MYT - - - - - MVT - - - - - MART - - - - - MHT - - - - - MUT - MUST - - - - - MAWT - - - - - ULAT - ULAST - - - - - MSK - MSKS - - - - - MMT - - - - - NRT - - - - - NPT - - - - - NCT - NCST - - - - - NZST - NZDT - - - - - NST - NDT - - - - - NUT - - - - - NFT - - - - - FNT - FNST - - - - - MPT - - - - - NOVT - NOVST - - - - - OMST - OMSST - - - - - PKT - PKST - - - - - PWT - - - - - PGT - - - - - PYT - PYST - - - - - PET - PEST - - - - - PHT - PHST - - - - - PHOT - - - - - PMST - PMDT - - - - - PNT - - - - - PONT - - - - - QYZT - QYZST - - - - - RET - - - - - ROTT - - - - - SAKT - SAKST - - - - - SAMT - SAMST - - - - - SAMT (Samarkand) - SAMST (Samarkand) - - - - - SST - - - - - SCT - - - - - SHET - SHEST - - - - - SGT - - - - - SBT - - - - - GST (GS) - - - - - SRT - - - - - SVET - SVEST - - - - - SYOT - - - - - TAHT - - - - - TJT - - - - - TAST - TASST - - - - - TBIT - TBIST - - - - - TKT - - - - - TOT - TOST - - - - - TRUT - - - - - TRT - TRST - - - - - TMT - TMST - - - - - TVT - - - - - URAT - URAST - - - - - UYT - UYST - - - - - URUT - - - - - UZT - UZST - - - - - VUT - VUST - - - - - VET - - - - - VLAT - VLAST - - - - - VOLT - VOLST - - - - - VOST - - - - - WAKT - - - - - WFT - - - - - YAKT - YAKST - - - - - YEKT - YEKST - - - - - YERT - YERST - - - - - YST - YDT - - - - - - latn - - . - , - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - [:letter:] - [:digit:] -   - - - [:letter:] - [:digit:] -   - - - - - ¤ #,##0.00 - - - {0} {1} - - - - Af - - - ALL - - - NAf. - - - Kz - - - ₳ - - - $L - - - m$n - - - AR$ - - - AU$ - - - Afl. - - - man. - - - KM - - - Bds$ - - - Tk - - - BF - - - BD - - - FBu - - - BD$ - - - BN$ - - - Bs - - - $b. - - - NCr - - - Cz$ - - - Cr$ - - - R$ - - - NCz$ - - - CR$ - - - ₢ - - - BS$ - - - Nu. - - - BWP - - - BZ$ - - - CA$ - - - CDF - - - Fr. - - - Eº - - - CL$ - - - CN¥ - - - CO$ - - - ₡ - - - CUC$ - - - CU$ - - - CV$ - - - CY£ - - - Kč - - - DM - - - Fdj - - - Dkr - - - RD$ - - - DA - - - Ekr - - - EG£ - - - Nfk - - - Pts - - - Br - - - € - - - mk - - - FJ$ - - - FK£ - - - ₣ - - - £ - - - ₵ - - - GH₵ - - - GI£ - - - GMD - - - FG - - - ₯ - - - GTQ - - - GY$ - - - HK$ - - - HNL - - - kn - - - HTG - - - Ft - - - Rp - - - IR£ - - - I£ - - - ₪ - - - ₨ - - - Ikr - - - IT₤ - - - J$ - - - JD - - - JP¥ - - - Ksh - - - CF - - - KP₩ - - - ₩ - - - KD - - - KY$ - - - ₭ - - - LB£ - - - SLRs - - - L$ - - - LSL - - - Lt - - - Ls - - - LD - - - MMK - - - ₮ - - - MOP$ - - - UM - - - Lm - - - MT£ - - - MURs - - - Rf - - - MK - - - MX$ - - - RM - - - Mt - - - MTn - - - N$ - - - ₦ - - - C$ - - - fl - - - Nkr - - - NPRs - - - NZ$ - - - B/. - - - I/. - - - S/. - - - PGK - - - ₱ - - - PKRs - - - zł - - - Esc - - - ₲ - - - QR - - - RH$ - - - RON - - - din. - - - RF - - - SR - - - SI$ - - - SRe - - - LSd - - - Skr - - - S$ - - - SH£ - - - Sk - - - Le - - - Ssh - - - SR$ - - - Sf - - - Db - - - SV₡ - - - SY£ - - - SZL - - - ฿ - - - TMM - - - DT - - - T$ - - - TRL - - - TL - - - TT$ - - - NT$ - - - TSh - - - ₴ - - - USh - - - US$ - - - $U - - - Bs. - - - Bs.F. - - - ₫ - - - VT - - - WS$ - - - FCFA - - - EC$ - - - CFA - - - CFPF - - - YR - - - R - - - ZK - - - NZ - - - ZRZ - - - Z$ - - - - - - {0} d - - - {0} h - - - {0} min - - - {0} m - - - {0} s - - - {0} w - - - {0} y - - - - - yes:y - no:n - - - - diff --git a/lib/zend/Zend/Locale/Data/ru.xml b/lib/zend/Zend/Locale/Data/ru.xml deleted file mode 100644 index 4db21e8061..0000000000 --- a/lib/zend/Zend/Locale/Data/ru.xml +++ /dev/null @@ -1,3950 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - афар - абхазский - ачехский - ачоли - адангме - адыгейский - авестийский - африкаанс - афразийский язык - африхили - айну - акан - аккадский - алеутский - алгонкинские языки - южноалтайский - амхарский - арагонский - староанглийский - ангика - апачские языки - арабский - арамейский - арауканский - арапахо - искусственный язык - аравакский - ассамский - астурийский - атапачские языки - австралийский язык - аварский - авадхи - аймара - азербайджанский - башкирский - банда - бамилеке языки - белуджский - балийский - баса - балтийский язык - белорусский - беджа - бемба - берберский - болгарский - бихари - бходжпури - бислама - бикольский - бини - сиксика - бамбарийский - бенгальский - банту - тибетский - бретонский - брауи - боснийский - батакский - бурятский - бугийский - билин (блин) - каталанский - каддо - язык индейцев Центральной Америки - кариб - кавказский язык - атсам - чеченский - кебуано - кельтские другие - чаморро - чибча - чагатайский - чукотский - марийский (черемисский) - чинук жаргон - чоктав - чипевайян - чероки - чейенн - чамский язык - корсиканский - коптский - англо-креольские и пиджин - франко-креольские и пиджины - португало-креольские и пиджины - криийский - крымско-татарский - креольские и пиджины - чешский - кашубианский - церковнославянский - кушитский язык - чувашский - валлийский - датский - дакота - даргва - даяк - немецкий - австрийский немецкий - Швейцарский верхненемецкий - делаварский - славянский - догриб - динка - догри - дравидийский язык - нижнелужицкий - дуала - средненидерландский - мальдивский - диула (дьюла) - дзонг-кэ - эве - эфик - древнеегипетский - экаджук - греческий - эламский - английский - австралийский английский - Канадский английский - британский английский - американский английский - среднеанглийский - эсперанто - испанский - Латино-американский испанский - Испанский иберийский - эстонский - баскский - эвондо - персидский - фанг - фанти - фулах - финский - филиппинский - финно-угорский язык - фиджи - фарерский - фон - французский - Канадский французский - Швейцарский французский - среднефранцузский - старофранцузский - фризский северный - восточный фризский - фриульский - фризский - ирландский - га - гайо - гбая - гэльский - германский язык - геэз - гильбертский - галисийский - средневерхненемецкий - гуарани - древневерхненемецкий - гонди - горонтало - готский - гребо - древнегреческий - Швейцарский немецкий - гуджарати - мэнский - гвичин - хауса - хайда - гавайский - иврит - хинди - хилигайнон - химачали - хеттский - хмонг - хиримоту - хорватский - верхнелужицкий - гаитянский - венгерский - хупа - армянский - гереро - интерлингва - ибанский - индонезийский - интерлингве - игбо - сычуань - иджо - инупиак - илоко - индийский язык - индоевропейский язык - ингушский - идо - иранский язык - ирокезские языки - исландский - итальянский - инуктитут - японский - ложбан - еврейско-персидский - еврейско-арабский - яванский - грузинский - каракалпакский - кабильский - качинский - каджи - камба - каренский - кави - кабардинский - тьяп - коро - конго - кхаси - койсанский язык - хотанский - кикуйю - кунама - казахский - эскимосский (гренландский) - кхмерский - кимбундийский - каннада - корейский - конкани - косраенский - кпелле - канури - карачаево-балкарский - карельский - кру - курух - кашмири - курдский - кумыкский - кутенаи - коми - корнийский - киргизский - латинский - ладино - лахнда - ламба - люксембургский - лезгинский - ганда - лимбургский - лингала - лаосский - монго - лози - литовский - луба-катанга - луба-лулуа - луисеньо - лунда - луо (Кения и Танзания) - лушай - латышский - мадурский - магахи - майтхили - макассарский - мандинго - австронезийский - масаи - мокшанский - мандарский - менде - малагасийский - среднеирландский - маршалльский - маори - микмак - минангкабау - смешанные языки - македонский - монкхмерский язык - малаялам - монгольский - маньчжурский - манипурский - манобо языки - молдавский - мохаук - моси - маратхи - малайский - мальтийский - несколько языков - мунда языки - крик - мирандийский - марвари - бирманский - майя языки - эрзя - науру - ацтекский - язык индейцев Северной Америки - неаполитанский - норвежский букмол - ндебели (северный) - нижнегерманский - непальский - неварский - ндонга - ниас - нигер-кордофанский язык - ниуэ - голландский - Бельгийский фламандский - норвежский нюнорск - норвежский - ногайский - старонорвежский - нко - ндебели южный - сото северный - нубийские языки - навахо - невари (классический) - ньянджа - ньямвези - ньянколе - ньоро - нзима - окситанский - оджибва - оромо - ория - осетинский - оседжи - старотурецкий - отомангские языки - панджаби (пенджаби) - папуасский язык - пангасинан - пехлевийский - пампанга - папьяменто - палау - староперсидский - филиппинский язык - финикийский - пали - польский - понапе - пракриты языки - старопровансальский - пашто (пушту) - португальский - бразильский португальский - Португальский иберийский - кечуа - раджастхани - рапануи - раротонганский - ретороманский - рунди - румынский - романский язык - цыганский - корневой язык - русский - арумынский - киньяруанда - санскрит - сандаве - якутский - язык индейцев Южной Америки - салишские языки - самаритянский арамейский - сасаки - сантали - сардинский - сицилийский - шотландский - синдхи - саамский (северный) - селькупский - семитский язык - санго - староирландский - язык глухонемых - сербскохорватский - шанский - сингальский - сидама - сиу языки - синотибетский язык - словацкий - словенский - славянский язык - самоанский - саамский (южный) - саамские языки - луле-саамский - инари-саамский - скольт-саамский - шона - сонинке - сомали - согдийский - cонгаи - албанский - сербский - сранан тонго - серер - свази - нило-сахарский язык - сото южный - сунданский - сукума - сусу - шумерский - шведский - суахили - классический сирийский - сирийский - тамильский - тайский язык - телугу - темне - терено - тетум - таджикский - тайский - тигринья - тигре - тиви - туркменский - токелайский - тагалог - клингонский - тлингит - тамашек - тсвана - тонга - ньяса (тонга) - ток-писин - турецкий - тсонга - цимшиан - татарский - тумбука - тупи - алтайский язык - тувалу - тви - таитянский - тувинский - удмуртский - уйгурский - угаритский - украинский - умбунду - неизвестный или недействительный язык - урду - узбекский - ваи - венда - вьетнамский - волапюк - водский - валлонский - вакашские языки - воламо - варай - вашо - лужицкие языки - волоф - калмыцкий - ксоза - яо - яп - идиш - йоруба - юпикский язык - чжуань - сапотекский - блиссимволика - зенагский - китайский - упрощенный китайский - Традиционный китайский - занде - зулу - зуньи - без языкового содержания - заза - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Мир - Африка - Северная Америка - Южная Америка - Океания - Западная Африка - Центральная Америка - Восточная Африка - Северная Африка - Центральная Африка - Южная Африка [018] - Центральная и Южная Америка - Северная Америка (021) - Карибы - Восточная Азия - Южная Азия - Юго-Восточная Азия - Южная Европа - Австралия и Новая Зеландия - Меланезия - Микронезия - Полинезия - Юг Средней Азии - Азия - Средняя Азия - Ближний и Средний Восток - Европа - Восточная Европа - Северная Европа - Западная Европа - СНГ - Латинская Америка и Карибские о-ва - Нормандские острова - Андорра - Объединенные Арабские Эмираты - Афганистан - Антигуа и Барбуда - Ангуилла - Албания - Армения - Нидерландские Антильские острова - Ангола - Антарктика - Аргентина - Американское Самоа - Австрия - Австралия - Аруба - Аландские острова - Азербайджан - Босния и Герцеговина - Барбадос - Бангладеш - Бельгия - Буркина Фасо - Болгария - Бахрейн - Бурунди - Бенин - Остров Святого Бартоломея - Бермудские Острова - Бруней Даруссалам - Боливия - Бразилия - Багамские острова - Бутан - Остров Буве - Ботсвана - Беларусь - Белиз - Канада - Кокосовые острова - Демократическая Республика Конго - Центрально-Африканская Республика - Конго - Швейцария - Кот д’Ивуар - Острова Кука - Чили - Камерун - Китай - Колумбия - Коста-Рика - Сербия и Черногория - Куба - Острова Зеленого Мыса - Остров Рождества - Кипр - Чешская республика - Германия - Джибути - Дания - Остров Доминика - Доминиканская Республика - Алжир - Эквадор - Эстония - Египет - Западная Сахара - Эритрея - Испания - Эфиопия - Финляндия - Фиджи - Фолклендские острова - Федеративные Штаты Микронезии - Фарерские острова - Франция - Габон - Великобритания - Гренада - Грузия - Французская Гвиана - Гернси - Гана - Гибралтар - Гренландия - Гамбия - Гвинея - Гваделупа - Экваториальная Гвинея - Греция - Южная Джорджия и Южные Сандвичевы Острова - Гватемала - Гуам - Гвинея-Биссау - Гайана - Гонконг, Особый Административный Район Китая - Острова Херд и Макдональд - Гондурас - Хорватия - Гаити - Венгрия - Индонезия - Ирландия - Израиль - Остров Мэн - Индия - Британская территория в Индийском океане - Ирак - Иран - Исландия - Италия - Джерси - Ямайка - Иордания - Япония - Кения - Кыргызстан - Камбоджа - Кирибати - Коморские Острова - Сент-Киттс и Невис - Корейская Народно-Демократическая Республика - Республика Корея - Кувейт - Каймановы острова - Казахстан - Лаос - Ливан - Сент-Люсия - Лихтенштейн - Шри-Ланка - Либерия - Лесото - Литва - Люксембург - Латвия - Ливия - Марокко - Монако - Молдова - Черногория - Остров Святого Мартина - Мадагаскар - Маршалловы Острова - Македония - Мали - Мьянма - Монголия - Макао (особый административный район КНР) - Северные Марианские Острова - Мартиник - Мавритания - Монсеррат - Мальта - Маврикий - Мальдивы - Малави - Мексика - Малайзия - Мозамбик - Намибия - Новая Каледония - Нигер - Остров Норфолк - Нигерия - Никарагуа - Нидерланды - Норвегия - Непал - Науру - Ниуе - Новая Зеландия - Оман - Панама - Перу - Французская Полинезия - Папуа-Новая Гвинея - Филиппины - Пакистан - Польша - Сен-Пьер и Микелон - Питкерн - Пуэрто-Рико - Палестинская автономия - Португалия - Палау - Парагвай - Катар - Внешняя Океания - Европейский союз - Реюньон - Румыния - Сербия - Россия - Руанда - Саудовская Аравия - Соломоновы Острова - Сейшельские Острова - Судан - Швеция - Сингапур - Остров Святой Елены - Словения - Свальбард и Ян-Майен - Словакия - Сьерра-Леоне - Сан-Марино - Сенегал - Сомали - Суринам - Сан-Томе и Принсипи - Сальвадор - Сирийская Арабская Республика - Свазиленд - Острова Тёркс и Кайкос - Чад - Французские Южные Территории - Того - Таиланд - Таджикистан - Токелау - Восточный Тимор - Туркменистан - Тунис - Тонга - Турция - Тринидад и Тобаго - Тувалу - Тайвань - Танзания - Украина - Уганда - Внешние малые острова (США) - США - Уругвай - Узбекистан - Ватикан - Сент-Винсент и Гренадины - Венесуэла - Британские Виргинские Острова - Американские Виргинские острова - Вьетнам - Вануату - Уоллис и Футуна - Самоа - Йемен - Майотта - Южная Африка - Замбия - Зимбабве - Неизвестный или недействительный регион - - - Традиционная немецкая орфография - Стандартизированная резьянская орфография - Правила немецкой орфографии установленные с 1996 года - Поздне-средневековый французский до 1606 г. - Восточно-армянский - Западно-армянский - Унифицированный тюрско-латинский алфавит - Международный фонетический алфавит - Монотонный - Многотональный - Компьютерный - Резьянский - Сахо - Англо-шотландский - Тарашкевица - Валенсийский - - - Календарь - Сопоставление - Валюта - - - традиционный китайский - Big5 - Буддийский календарь - Китайский календарь - прямой порядок - упрощенный китайский - GB2312 - Григорианский календарь - Еврейский календарь - Национальный календарь Индии - Исламский календарь - Исламский гражданский календарь - Японский календарь - порядок телефонной книги - пиньинь - Китайский календарь - по чертам - традиционный порядок - - - Англо-американская - Метрическая - - - Язык: {0} - Написание: {0} - Регион: {0} - - - - titlecase-firstword - - - [а-е ё ж-я] - [a-e g i m n p r t-x] - [a-z] - - - « - » - „ - “ - - - - - - - - янв. - февр. - марта - апр. - мая - июня - июля - авг. - сент. - окт. - нояб. - дек. - - - января - февраля - марта - апреля - мая - июня - июля - августа - сентября - октября - ноября - декабря - - - - - янв. - февр. - март - апр. - май - июнь - июль - авг. - сент. - окт. - нояб. - дек. - - - Я - Ф - М - А - М - И - И - А - С - О - Н - Д - - - Январь - Февраль - Март - Апрель - Май - Июнь - Июль - Август - Сентябрь - Октябрь - Ноябрь - Декабрь - - - - - - - Вс - Пн - Вт - Ср - Чт - Пт - Сб - - - воскресенье - понедельник - вторник - среда - четверг - пятница - суббота - - - - - В - П - В - С - Ч - П - С - - - Воскресенье - Понедельник - Вторник - Среда - Четверг - Пятница - Суббота - - - - - - - 1-й кв. - 2-й кв. - 3-й кв. - 4-й кв. - - - 1-й квартал - 2-й квартал - 3-й квартал - 4-й квартал - - - - - 1 - 2 - 3 - 4 - - - - AM - PM - - - до н.э. - н.э. - - - до н.э. - н.э. - - - - - - EEEE, d MMMM y 'г'. - - - - - d MMMM y 'г'. - - - - - dd.MM.yyyy - - - - - dd.MM.yy - - - - - - - H:mm:ss zzzz - - - - - H:mm:ss z - - - - - H:mm:ss - - - - - H:mm - - - - - - E d - H - HH:mm - HH:mm:ss - H:mm - L - E, M-d - LLL - E MMM d - E MMMM d - d MMMM - d MMM - dd.MM - d.M - d - mm:ss - mm:ss - y - yyyy-M - EEE, yyyy-M-d - MMM y - E, d MMM y - MMMM y - Q y - y QQQ - MM.yy - MMM yy - EEE, d MMM yy - Q yy - y - LLLL y - MM.yyyy - MMMM y - QQQQ y 'г'. - - - {0} - {1} - - M-M - - - E, MM-dd – E, MM-dd - E, MM-dd – E, MM-dd - - - MMM-MMM - - - d MMM - d MMM - d-d MMM - - - LLLL-LLLL - - - d MMM - d MMM - d-d MMM - - - dd.MM - dd.MM - dd.MM - dd.MM - - - d-d - - - HH-HH - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - HH-HH v - - - y-y - - - MM.yy - MM.yy - MM.yy - MM.yy - - - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - - - MMM-MMM y 'г'. - MMM y - MMM y 'г'. - - - d MMM - d MMM y 'г'. - d-d MMM y 'г'. - d MMM y - d MMM y 'г'. - - - LLLL-LLLL y 'г'. - LLLL y - LLLL y 'г'. - - - d MMM - d MMM y 'г'. - d-d MMM y 'г'. - d MMM y - d MMM y 'г'. - - - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - dd.MM.yy - - - - - - Эра - - - Год - - - Месяц - - - Неделя - - - День - Позавчера - Вчера - Сегодня - Завтра - Послезавтра - - - День недели - - - AM/PM - - - Час - - - Минута - - - Секунда - - - Часовой пояс - - - - - - - - Тишрей - Хешван - Кислев - Тевет - Шеват - Адар - Нисан - Ияр - Сиван - Таммуз - Ав - Элул - - - - - - - - - Мухаррам - Сафар - Раби-уль-авваль - Раби-уль-ахир - Джумад-уль-авваль - Джумад-уль-ахир - Раджаб - Шаабан - Рамадан - Шавваль - Зуль-Каада - Зуль-Хиджжа - - - - - - - - - Фарвардин - Ордибехешт - Хордад - Тир - Мордад - Шахривер - Мехр - Абан - Азер - Дей - Бахман - Эсфанд - - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - {1} ({0}) - - Неизвестный - - - Андорра - - - Дубай - - - Кабул - - - Антигуа - - - Ангилья - - - Тирана - - - Ереван - - - Кюрасао - - - Луанда - - - Ротера - - - Палмер - - - Южный полюс - - - Сева - - - Моусон - - - Дейвис - - - Восток - - - Кейси - - - Дюмон-д'Юрвиль - - - Мак-Мердо - - - Рио-Гальегос - - - Мендоса - - - Сан-Хуан - - - Ушуая - - - Ла-Риоха - - - Сан-Луис - - - Катамарка - - - Жужуй - - - Тукуман - - - Кордова - - - Буэнос-Айрес - - - Паго-Паго - - - Вена - - - Перт - - - Юкла - - - Дарвин - - - Аделаида - - - Брокен-Хилл - - - Керри - - - Мельбурн - - - Хобарт - - - Линдеман - - - Сидней - - - Брисбен - - - Лорд-Хау, о-в - - - Аруба - - - Мариехамн - - - Баку - - - Сараево - - - Барбадос - - - Дакка - - - Брюссель - - - Уагадугу - - - София - - - Бахрейн - - - Бужумбура - - - Порто-Ново - - - Бермуды - - - Бруней - - - Ла-Пас - - - Эйрунепе - - - Риу-Бранку - - - Порту-Велью - - - Боа-Виста - - - Манаус - - - Куяба - - - Кампу-Гранди - - - Белен - - - Арагуаина - - - Сан-Паулу - - - Баия - - - Форталеза - - - Масейо - - - Ресифи - - - Норонха - - - Нассау - - - Тимпу - - - Габороне - - - Минск - - - Белиз - - - Доусон - - - Уайтхорс - - - Инувик - - - Ванкувер - - - Досон-Крик - - - Йеллоунайф - - - Эдмонтон - - - Свифт-Карент - - - Кеймбридж-Бей - - - Реджайна - - - Виннипег - - - Резолют - - - Рейни-Ривер - - - Ранкин-Инлет - - - Корал-Харбор - - - Тандер-Бей - - - Нипигон - - - Торонто - - - Монреаль - - - Икалуит - - - Пангниртанг - - - Монктон - - - Галифакс - - - Гус-Бей - - - Глейс-Бей - - - Бланк-Саблон - - - Сент-Джонс - - - Кокосовые острова - - - Киншаса - - - Лубумбаши - - - Банги - - - Браззавиль - - - Цюрих - - - Абиджан - - - Раротонга - - - Пасхи, о-в - - - Сантьяго - - - Дуала - - - Кашгар - - - Урумчи - - - Чунцин - - - Шанхай - - - Харбин - - - Богота - - - Коста-Рика - - - Гавана - - - Острова Зеленого Мыса - - - Рождества, о-в - - - Никосия - - - Прага - - - Берлин - - - Джибути - - - Копенгаген - - - Доминика - - - Санто-Доминго - - - Алжир - - - Галапагос, о-ва - - - Гуаякиль - - - Таллин - - - Каир - - - Эль-Аюн - - - Асмера - - - Канарские о-ва - - - Сеута - - - Мадрид - - - Аддис-Абеба - - - Хельсинки - - - Фиджи - - - Стэнли - - - Трук, о-ва - - - Понапе, о-в - - - Косрае - - - Фарерские острова - - - Париж - - - Либревиль - - - Лондон - - - Гренада - - - Тбилиси - - - Кайенна - - - Гернси - - - Аккра - - - Гибралтар - - - Туле - - - Готхоб - - - Скорсбисунн - - - Денмарксхавн - - - Банжул - - - Конакри - - - Гваделупа - - - Малабо - - - Афины - - - Ю.Джорджия и Ю.Сэндвинчевы о-ва - - - Гватемала - - - Гуам - - - Бисау - - - Гайана - - - Гонконг - - - Тегусигальпа - - - Загреб - - - Порт-о-Пренс - - - Будапешт - - - Джакарта - - - Понтианак - - - Макасар - - - Джайпур - - - Дублин - - - Иерусалим - - - Мэн, о-в - - - Калькутта - - - Чагос - - - Багдад - - - Тегеран - - - Рейкьявик - - - Рим - - - Джерси - - - Ямайка - - - Амман - - - Токио - - - Найроби - - - Бишкек - - - Пномпень - - - Эндербери, о-в - - - Киритимати - - - Тарава - - - Коморские острова - - - Сент-Китс - - - Пхеньян - - - Сеул - - - Кувейт - - - Каймановы острова - - - Актау - - - Орал (Уральск) - - - Актобе (Актюбинск) - - - Кызылорда - - - Алматы - - - Вьентьян - - - Бейрут - - - Сент-Люсия - - - Вадуц - - - Коломбо - - - Монровия - - - Масеру - - - Вильнюс - - - Люксембург - - - Рига - - - Триполи - - - Касабланка - - - Монако - - - Кишинев - - - Подгорица - - - Антананариву - - - Кваджалейн - - - Маджуро - - - Скопье - - - Бамако - - - Рангун - - - Ховд - - - Улан-Батор - - - Чойбалсан - - - Макао - - - Сайпан - - - Мартиника - - - Нуакшот - - - Монсеррат - - - Мальта - - - Маврикий - - - Мальдивы - - - Блантайр - - - Тихуана - - - Эрмосильо - - - Масатлан - - - Чиуауа - - - Монтеррей - - - Мехико - - - Мерида - - - Канкун - - - Куала-Лумпур - - - Кучинг - - - Мапуту - - - Виндхук - - - Нумеа - - - Ниамей - - - Норфолк - - - Лагос - - - Манагуа - - - Амстердам - - - Осло - - - Катманду - - - Науру - - - Ниуэ - - - Чатем, о-в - - - Окленд - - - Маскат - - - Панама - - - Лима - - - Таити, о-в - - - Маркизские о-ва - - - Гамбье, о-ва - - - Порт-Морсби - - - Манила - - - Карачи - - - Варшава - - - Микелон - - - Питкерн - - - Пуэрто-Рико - - - Газа - - - Азорские о-ва - - - Мадейра, о-в - - - Лиссабон - - - Палау - - - Асунсьон - - - Катар - - - Реюньон - - - Бухарест - - - Белград - - - Калининград - - - Москва - - - Волгоград - - - Самара - - - Екатеринбург - - - Омск - - - Новосибирск - - - Красноярск - - - Иркутск - - - Якутск - - - Владивосток - - - Сахалин, о-в - - - Магадан - - - Петропавловск-Камчатский - - - Анадырь - - - Кигали - - - Эр-Рияд - - - Гвадалканал - - - Маэ - - - Хартум - - - Стокгольм - - - Сингапур - - - Св. Елены, о-в - - - Любляна - - - Лонгйир - - - Братислава - - - Фритаун - - - Сан-Марино - - - Дакар - - - Могадишо - - - Парамарибо - - - Сан-Томе - - - Сальвадор - - - Дамаск - - - Мбабане - - - Гранд Турк - - - Нджамена - - - Кергелен - - - Ломе - - - Бангкок - - - Душанбе - - - Факаофо - - - Дили - - - Ашгабат - - - Тунис - - - Тонгатапу - - - Стамбул - - - Порт-оф-Спейн - - - Фунафути - - - Тайбэй - - - Дар-эс-Салам - - - Ужгород - - - Киев - - - Симферополь - - - Запорожье - - - Кампала - - - Мидуэй, о-ва - - - Джонстон, ат. - - - Уэйк, о-в - - - Адак, о-в - - - Ном - - - Гонолулу - - - Анкоридж - - - Якутат - - - Джуно - - - Лос-Анджелес - - - Бойсе - - - Финикс - - - Шипрок - - - Денвер - - - Нью-Салем - - - Северная Дакота - Центр - - - Чикаго - - - Меномини - - - Винсенс - - - Петерсбург - - - Телл-Сити - - - Нокс - - - Винамак - - - Маренго - - - Индианаполис - - - Луисвилл - - - Вивэй - - - Монтиселло - - - Детройт - - - Нью-Йорк - - - Монтевидео - - - Самарканд - - - Ташкент - - - Ватикан - - - Сент-Винсент - - - Каракас - - - Тортола - - - Сент-Томас - - - Сайгон - - - Эфате - - - Уоллис - - - Апия - - - Аден - - - Майорка - - - Йоханнесбург - - - Лусака - - - Хараре - - - - Акри время - Акри стандартное время - Акри летнее время - - - Акри время - Акри стандартное время - Акри летнее время - - - - - Афганистан время - - - Афганистан время - - true - - - - Центральноафриканское время - - - - - Восточноафриканское время - - - - - Южноафриканское время - - - - - Западноафриканское время - Западноафриканское летнее время - - - - - Актюбинск стандартное время - Актюбинск летнее время - - - Актюбинск стандартное время - Актюбинск летнее время - - true - - - - Аляска время - Аляска стандартное время - Аляска летнее время - - - Аляска время - Аляска стандартное время - Аляска летнее время - - true - - - true - - - - Алма-Ата стандартное время - Алма-Ата летнее время - - - Алма-Ата стандартное время - Алма-Ата летнее время - - true - - - - Средне-американское время - Средне-американское стандартное время - Средне-американское летнее время - - - Средне-американское время - Средне-американское стандартное время - Средне-американское летнее время - - true - - - - Восточно-американское время - Восточно-американское стандартное время - Восточно-американское летнее время - - - Восточно-американское время - Восточно-американское стандартное время - Восточно-американское летнее время - - true - - - - Горное время (США) - Горное стандартное время (США) - Горное летнее время (США) - - - Горное время (США) - Горное стандартное время (США) - Горное летнее время (США) - - true - - - - Тихоокеанское время - Тихоокеанское стандартное время - Тихоокеанское летнее время - - - Тихоокеанское время - Тихоокеанское стандартное время - Тихоокеанское летнее время - - true - - - - Анадырь стандартное время - Анадырь летнее время - - - Анадырь стандартное время - Анадырь летнее время - - true - - - - Актау стандартное время - Актау летнее время - - - Актау стандартное время - Актау летнее время - - true - - - - Актобе стандартное время - Актобе летнее время - - - Актобе стандартное время - Актобе летнее время - - true - - - - Саудовская Аравия время - Саудовская Аравия стандартное время - Саудовская Аравия летнее время - - - Саудовская Аравия время - Саудовская Аравия стандартное время - Саудовская Аравия летнее время - - true - - - - Аргентина стандартное время - Аргентина летнее время - - - Аргентина стандартное время - Аргентина летнее время - - true - - - - Аргентина (запад) стандартное время - - - Аргентина (запад) стандартное время - - true - - - - Армения время - Армения стандартное время - Армения летнее время - - - Армения время - Армения стандартное время - Армения летнее время - - true - - - - Атлантическое время - Атлантическое стандартное время - Атлантическое летнее время - - - Атлантическое время - Атлантическое стандартное время - Атлантическое летнее время - - - - - Бразилия стандартное время - Бразилия дневное время - - - Бразилия стандартное время - Бразилия дневное время - - - - - Китайское стандартное время - - - Китайское стандартное время - - - - - Центральноевропейское время - Центральноевропейское летнее время - - - Центральноевропейское время - Центральноевропейское летнее время - - true - - - - Восточноевропейское время - Восточноевропейское летнее время - - - Восточноевропейское время - Восточноевропейское летнее время - - true - - - - Гонконгское стандартное время - Гонконгское летнее время - - - Гонконгское стандартное время - Гонконгское летнее время - - - - - Индийское стандартное время - - - Индийское стандартное время - - - - - Индокитайское стандартное время - - - Индокитайское стандартное время - - - - - Центральная Индонезия стандартное время - - - Центральная Индонезия стандартное время - - - - - Восточная Индонезия стандартное время - - - Восточная Индонезия стандартное время - - - - - Западная Индонезия стандартное время - - - Западная Индонезия стандартное время - - - - - Израиль стандартное время - Израиль летнее время - - - Израиль стандартное время - Израиль летнее время - - - - - Японское стандартное время - - - Японское стандартное время - - - - - Корейское стандартное время - - - Корейское стандартное время - - - - - Куйбышевское время - Куйбышевское летнее время - - - Куйбышевское время - Куйбышевское летнее время - - true - - - - Московское время - Московское стандартное время - Московское летнее время - - - Московское время - Московское стандартное время - Московское летнее время - - true - - - - Самарское стандартное время - Самарское летнее время - - - Самарское стандартное время - Самарское летнее время - - true - - - - Турецкое время - Турецкое стандартное время - Турецкое летнее время - - - Турецкое вреµµмя - Турецкое стандартное время - Турецкое летнее время - - true - - - - Волгоградское время - Волгоградское летнее время - - - Волгоградское время - Волгоградское летнее время - - true - - - - - - , -   - ; - % - 0 - # - + - - - E - ‰ - ∞ - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0 % - - - - - - - #,##0.00 ¤ - - - - - - Андоррская песета - андоррские песеты - андоррских песет - - - Дирхам (ОАЭ) - - - Афгани (1927-2002) - - - Афгани - - - Албанский лек - албанских лека - албанских леков - - - Армянский драм - армянских драма - армянских драмов - - - Нидерландский антильский гульден - - - Ангольская кванза - - - Ангольская кванза (1977-1990) - ангольские кванзы - ангольских кванз - - - Ангольская новая кванза (1990-2000) - - - Ангольская кванза реюстадо (1995-1999) - ангольские кванзы реюстадо (1995-1999) - ангольских кванз реюстадо (1995-1999) - - - Аргентинский аустрал - - - Аргентинское песо (1983-1985) - - - Аргентинское песо - - - Австрийский шиллинг - - - Австралийский доллар - - - Арубанский гульден - - - Старый азербайджанский манат - - - Азербайджанский манат - - - Динар Боснии и Герцеговины - - - Конвертируемая марка Боснии и Герцеговины - - - Барбадосский доллар - - - Бангладешская така - - - Бельгийский франк (конвертируемый) - - - Бельгийский франк - - - Бельгийский франк (финансовый) - - - Лев - - - Болгарский лев - - - Бахрейнский динар - - - Бурундийский франк - - - Бермудский доллар - - - Брунейский доллар - - - Боливиано - - - Боливийское песо - - - Боливийский мвдол - - - Бразильский новый крузейро (1967-1986) - - - Бразильское крузадо - - - Бразильский крузейро (1990-1993) - - - Бразильский реал - - - Бразильское новое крузадо - - - Бразильский крузейро - - - Багамский доллар - - - Нгултрум - - - Джа - - - Ботсванская пула - - - Белорусский рубль (1994-1999) - - - Белорусский рубль - - - Белизский доллар - - - Канадский доллар - - - Конголезский франк - - - WIR евро - - - Швейцарский франк - - - WIR франк - - - Условная расчетная единица Чили - - - Чилийское песо - - - Юань Ренминби - - - Колумбийское песо - - - Единица реальной стоимости Колумбии - - - Костариканский колон - - - Старый Сербский динар - - - Чехословацкая твердая крона - - - Кубинское песо - - - Эскудо Кабо-Верде - - - Кипрский фунт - - - Чешская крона - - - Восточногерманская марка - - - Немецкая марка - - - Франк Джибути - - - Датская крона - - - Доминиканское песо - - - Алжирский динар - - - Эквадорский сукре - - - Постоянная единица стоимости Эквадора - - - Эстонская крона - - - Египетский фунт - - - Накфа - - - Испанская песета (А) - - - Испанская песета (конвертируемая) - - - Испанская песета - - - Эфиопский быр - - - Евро - - - Финская марка - - - Доллар Фиджи - - - Фунт Фолклендских островов - - - Французский франк - - - Английский фунт стерлингов - - - Грузинский купон - - - Грузинский лари - - - Ганский седи - - - Седи Ганы - - - Гибралтарский фунт - - - Гамбийский даласи - - - Гвинейский франк - - - Гвинейская сили - - - Эквеле экваториальной Гвинеи - - - Греческая драхма - - - Гватемальский кетсаль - - - Эскудо Португальской Гвинеи - - - Песо Гвинеи-Бисау - - - Гайанский доллар - - - Гонконгский доллар - - - Гондурасская лемпира - - - Хорватский динар - - - Хорватская куна - - - Гаитянский гурд - - - Венгерский форинт - - - Индонезийская рупия - - - Ирландский фунт - - - Израильский фунт - - - Новый израильский шекель - - - Индийская рупия - - - Иракский динар - - - Иранский риал - - - Исландская крона - - - Итальянская лира - - - Ямайский доллар - - - Иорданский динар - - - Японская иена - - - Кенийский шиллинг - - - Киргизский сом - - - Камбоджийский риель - - - Франк Коморских островов - - - Северо-корейская вона - - - Вона Республики Кореи - - - Кувейтский динар - - - Доллар Каймановых островов - - - Казахский тенге - - - Кип ЛНДР - - - Ливанский фунт - - - Шри-Ланкийская рупия - - - Либерийский доллар - - - Лоти - - - Литовский лит - - - Литовский талон - - - Конвертируемый франк Люксембурга - - - Люксембургский франк - - - Финансовый франк Люксембурга - - - Латвийский лат - - - Латвийский рубль - - - Ливийский динар - - - Марокканский дирхам - - - Марокканский франк - - - Молдавский лей - - - Ариари - - - Малагасийский франк - - - Македонский динар - - - Малийский франк - - - Кьят - - - Монгольский тугрик - - - Патака - - - Мавританская угия - - - Мальтийская лира - - - Мальтийский фунт - - - Маврикийская рупия - - - Мальдивская руфия - - - Малавийская квача - - - Мексиканское новое песо - - - Мексиканское серебряное песо (1861-1992) - - - Мексиканская пересчетная единица (UDI) - - - Малайзийский ринггит - - - Мозамбикское эскудо - - - Старый мозамбикский метикал - - - Метикал - - - Доллар Намибии - - - Нигерийская найра - - - Никарагуанская кордоба - - - Золотая кордоба - - - Нидерландский гульден - - - Норвежская крона - - - Непальская рупия - - - Новозеландский доллар - - - Оманский риал - - - Панамское бальбоа - - - Перуанское инти - - - Перуанский новый соль - - - Перуанский соль - - - Кина - - - Филиппинское песо - - - Пакистанская рупия - - - Польский злотый - - - Злотый - - - Португальское эскудо - - - Парагвайский гуарани - - - Катарский риал - - - Родезийский доллар - - - Старый Румынский лей - - - Румынский лей - - - Сербский динар - - - Российский рубль - Российских рубля - Российских рублей - Российский рубль - Российского рубля - руб. - - - Российский рубль (1991-1998) - р. - - - Франк Руанды - - - Саудовский риал - - - Доллар Соломоновых островов - - - Сейшельская рупия - - - Суданский динар - - - Суданский фунт - - - Старый суданский фунт - - - Шведская крона - - - Сингапурский доллар - - - Фунт острова Святой Елены - - - Словенский толар - - - Словацкая крона - - - Леоне - - - Сомалийский шиллинг - - - Суринамский доллар - - - Суринамский гульден - - - Добра - - - Рубль СССР - - - Сальвадорский колон - - - Сирийский фунт - - - Свазилендский лилангени - - - Таиландский бат - - - Таджикский рубль - - - Таджикский сомони - - - Туркменский манат - - - Тунисский динар - - - Паанга - - - Тиморское эскудо - - - Турецкая лира - турецкие лиры - турецких лир - туркцкая лира - турецких лир - - - Новая турецкая лира - новые турецкие лиры - Новых турецких лир - Новая турецкая лира - новых турецких лир - - - Доллар Тринидада и Тобаго - - - Новый тайваньский доллар - - - Танзанийский шиллинг - - - Украинская гривна - - - Карбованец (украинский) - - - Старый угандийский шиллинг - - - Угандийский шиллинг - - - Доллар США - $ - - - Доллар США следующего дня - - - Доллар США текущего дня - - - Уругвайский песо (индекс инфляции) - - - Уругвайское старое песо (1975-1993) - - - Уругвайское песо - - - Узбекский сум - - - Венесуэльский боливар - - - Венесуэльский боливар фуэрте - - - Вьетнамский донг - - - Вату - - - Тала - - - Франк КФА ВЕАС - - - Серебро - - - Золото - - - Европейская составная единица - - - Европейская денежная единица - - - расчетная единица европейского валютного соглашения (XBC) - - - расчетная единица европейского валютного соглашения (XBD) - - - Восточно-карибский доллар - - - СДР (специальные права заимствования) - - - ЭКЮ (единица европейской валюты) - - - Французский золотой франк - - - Французский UIC-франк - - - Франк КФА ВСЕАО - - - Палладий - - - Франк КФП - - - Платина - - - единица RINET-фондов - - - тестовый валютный код - - - Неизвестная или недействительная валюта - - - Йеменский динар - - - Йеменский риал - - - Югославский твердый динар - - - Югославский новый динар - - - Югославский динар - - - Южноафриканский рэнд (финансовый) - - - Южноафриканский рэнд - - - Квача (замбийская) - - - Новый заир - - - Заир - - - Доллар Зимбабве - - - - - - {0} дня - {0} дней - {0} день - {0} дня - - - {0} часа - {0} часов - {0} час - {0} часа - - - {0} минуты - {0} минут - {0} минута - {0} минуты - - - {0} месяца - {0} месяцев - {0} месяц - {0} месяца - - - {0} секунды - {0} секунд - {0} секунда - {0} секунды - - - {0} недели - {0} недель - {0} неделя - {0} недели - - - {0} года - {0} лет - {0} год - {0} года - - - - - да:д - нет:н - - - - diff --git a/lib/zend/Zend/Locale/Data/ru_RU.xml b/lib/zend/Zend/Locale/Data/ru_RU.xml deleted file mode 100644 index db79799d25..0000000000 --- a/lib/zend/Zend/Locale/Data/ru_RU.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ru_UA.xml b/lib/zend/Zend/Locale/Data/ru_UA.xml deleted file mode 100644 index 0d6c0f6ccd..0000000000 --- a/lib/zend/Zend/Locale/Data/ru_UA.xml +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - - - - - апачский - слэйви - маршальский - клингон - - - US - Metric - - - - - - - - - d MMMM y - - - - - d MMM y - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - - E, dd.MM - E, dd.MM - E, dd.MM - E, dd.MM - - - E, d MMM - E, d MMM - E, d - E, d MMM - - - HH-HH 'ч.' - - - HH-HH 'ч.', v - - - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - E, dd.MM.yy - - - MMM-MMM y - MMM y - MMM y - - - E, d MMM - E, d MMM y 'г'. - E, d - E, d MMM y 'г'. - E, d MMM y - E, d MMM y 'г'. - - - LLLL-LLLL y - LLLL y - LLLL y - - - d MMM - d MMM y - d-d MMM y - d MMM y - d MMM y - - - - - - - - - - ESB - - - RHD - - - YUM - - - - diff --git a/lib/zend/Zend/Locale/Data/rw.xml b/lib/zend/Zend/Locale/Data/rw.xml deleted file mode 100644 index 3bd5501378..0000000000 --- a/lib/zend/Zend/Locale/Data/rw.xml +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - - - - - Ikinyafurikaneri - Inyamuhariki - Icyarabu - Icyasamizi - Inyazeribayijani - Ikibelarusiya - Urunyabuligariya - Inyebihari - Ikibengali - Inyebiritoni - Inyebosiniya - Igikatalani - Igiceke - Ikigaluwa - Ikidaninwa - Ikidage - Ikigereki - Icyongereza - Icyesiperanto - Icyesipanyolo - Icyesitoniya - Ikibasiki - Inyeperisi - Igifinilande - Ikinyafilipine - Inyefaroyizi - Igifaransa - Igifiriziyani - Ikirilandi - Ikigaluwa cy'Igisweduwa - Ikigalisiya - Inyaguwarani - Inyegujarati - Igiheburayo - Igihindi - Igikorowasiya - Igihongiriya - Ikinyarumeniya - Ururimi Gahuzamiryango - Ikinyendoziya - Uruhuzandimi - Igisilande - Igitaliyani - Ikiyapani - Inyejava - Inyejeworujiya - Igikambodiya - Igikanada - Igikoreya - Inyekuridishi - Inkerigizi - Ikilatini - Ilingala - Ikilawotiyani - Ikilituwaniya - Ikinyaletoviyani - Ikimasedoniyani - Ikimalayalami - Ikimongoli - Ikimarati - Ikimalayi - Ikimaliteze - Ikinepali - Ikinerilande - Inyenoruveji (Nyonorusiki) - Ikinoruveji - Inyogusitani - Inyoriya - Igipunjabi - Igipolone - Impashito - Igiporutugali - Inyeporutigali (Brezili) - Inyeporutigali (Igiporutigali) - Ikinyarumaniya - Ikirusiya - Igisansikiri - Igisindi - Inyeseribiya na Korowasiya - Inyesimpaleze - Igisilovaki - Ikinyasiloveniya - Igisomali - Icyalubaniya - Igiseribe - Inyesesoto - Inyesudani - Igisuweduwa - Igiswahili - Igitamili - Igitelugu - Igitayi - Inyatigirinya - Inyeturukimeni - Inyekilingoni - Igiturukiya - Inyetuwi - Ikiwiguri - Ikinyayukereni - Inyeyurudu - Inyeyuzubeki - Ikinyaviyetinamu - Inyehawusa - Inyeyidishi - Inyezulu - - - Igitonga - - - - [a-z] - - - ‘ - ’ - « - » - - - - - - - - mut. - gas. - wer. - mat. - gic. - kam. - nya. - kan. - nze. - ukw. - ugu. - uku. - - - Mutarama - Gashyantare - Werurwe - Mata - Gicuransi - Kamena - Nyakanga - Kanama - Nzeli - Ukwakira - Ugushyingo - Ukuboza - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - cyu. - mbe. - kab. - gtu. - kan. - gnu. - gnd. - - - Ku cyumweru - Kuwa mbere - Kuwa kabiri - Kuwa gatatu - Kuwa kane - Kuwa gatanu - Kuwa gatandatu - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - I1 - I2 - I3 - I4 - - - igihembwe cya mbere - igihembwe cya kabiri - igihembwe cya gatatu - igihembwe cya kane - - - - AM - PM - - - BCE - CE - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - , - . - - - - F - - - - diff --git a/lib/zend/Zend/Locale/Data/rw_RW.xml b/lib/zend/Zend/Locale/Data/rw_RW.xml deleted file mode 100644 index eac7c4cc6c..0000000000 --- a/lib/zend/Zend/Locale/Data/rw_RW.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/sa.xml b/lib/zend/Zend/Locale/Data/sa.xml deleted file mode 100644 index 8e145d826f..0000000000 --- a/lib/zend/Zend/Locale/Data/sa.xml +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - - - अफर - अब्खासियन् - अचिनीस् - अचोलि - अडङ्गमे - अफ्रिक्कान्स् - आफ्रो एष्यन् भाषा - अफ्रिहिलि - अयिनु - अकन् - अक्काटियान् - अलियुट् - अल्गोण्क्यन् भाषा - अंहाऱिक् - अङ्गिक - अपाचे भाषा - अऱबिक् - प्राचीन ईजिप्त्यन् - पुरातन यवन भाषा - नोर्वीजियन् बॊकामल् - संस्कृत भाषा - अल्बेनियन् - आळटिक् भाषा - अज्ञात भाषा - - - - - - - - - - - - भारतम् - - - - [़ ँ-ः ॑-॔ ॐ अ-ऋ ॠ ऌ ॡ ए ऐ ओ-न र ल ळ व-ह ऽ-ॄ ॢ ॣ े ै ो-्] - [\u200C \u200D ०-९ ऍ ऑ ॅ ॉ] - [a-z] - - - - - - - - EEEE d MMMM y - - - - - d MMMM y - - - - - dd-MM-yyyy - - - - - d-MM-yy - - - - - - - hh:mm:ss a zzzz - - - - - hh:mm:ss a z - - - - - hh:mm:ss a - - - - - hh:mm a - - - - - - d MMMM - dd-MM - Q yy - MM-yyyy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - deva - - ० - - - - - #,##,##0.### - - - - - - - #,##,##0% - - - - - - - ¤#,##,##0.00 - - - - - - रु - - - - diff --git a/lib/zend/Zend/Locale/Data/sa_IN.xml b/lib/zend/Zend/Locale/Data/sa_IN.xml deleted file mode 100644 index 53aa5b2898..0000000000 --- a/lib/zend/Zend/Locale/Data/sa_IN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/se.xml b/lib/zend/Zend/Locale/Data/se.xml deleted file mode 100644 index 39878f7b57..0000000000 --- a/lib/zend/Zend/Locale/Data/se.xml +++ /dev/null @@ -1,741 +0,0 @@ - - - - - - - - - nb sv en - - - acehgiella - afrikánsagiella - aragoniagiella - boares eaŋgalasgiella - apacheš giella - arábagiella - asturiagiella - vilges-ruoššagiella - bulgáriagiella - bengalgiella - bretonagiella - bosniagiella - katalánagiella - kelttalaš gielat - marigiella - corsicagiella - čeahkagiella - dánskkagiella - duiskkagiella - greikkagiella - eaŋgalsgiella - spánskkagiella - esttegiella - persijagiella - suomagiella - fenno-ugrálaš giella - fearagiella - fránskkagiella - oarjifriisagiella - iirragiella - germánalaš gielat - gujaratagiella - manksgiella - hindigiella - kroátiagiella - armeenagiella - islánddagiella - itáliagiella - japánagiella - gárjilgiella - komigiella - kornagiella - láhtengiella - luxemburggagiella - liettuvagiella - látviagiella - mokšagiella - makedoniagiella - ersagiella - girjedárogiella - hollánddagiella - ođđadárogiella - dárogiella - oksitánagiella - polskkagiella - portugálagiella - retorománagiella - romániagiella - románalaš gielat - ruoššagiella - sardigiella - sisiliagiella - davvisámegiella - selkupagiella - slovákiagiella - slovenagiella - lullisámegiella - sámegielat - julevsámegiella - anárašgiella - nuortalašgiella - albánagiella - serbiagiella - ruoŧagiella - udmurtagiella - ukrainagiella - vallonagiella - sorbigiella - kiinnágiella - - - - - - - - - máilbmi - Afrihkká - dávvi-Amerihkká ja gaska-Amerihkká - mátta-Amerihkká - Oseania - oarji-Afrihkká - gaska-Amerihkká - nuorta-Afrihkká - davvi-Afrihkká - gaska-Afrihkká - mátta-Afrihkká - Amerihkká - dávvi-Amerihkká - Karibia - nuorta-Ásia - mátta-Ásia - mátta-nuorta-Ásia - mátta-Eurohpá - Austrália ja Ođđa-Selánda - Melanesia - Polynesia - mátta-gaska-Ásia - Ásia - gaska-Ásia - oarji-Ásia - Eurohpá - nuorta-Eurohpá - davvi-Eurohpá - oarji-Eurohpá - Lulli-Amerihkká ja Karibia - Andorra - Ovttastuvvan Arábaemiráhtat - Afghanistan - Antigua ja Barbuda - Anguilla - Albánia - Armenia - Angola - Antárktis - Argentina - Amerihká Samoa - Nuortariika - Austrália - Aruba - Ålánda - Aserbaižan - Bosnia-Hercegovina - Barbados - Bangladesh - Belgia - Burkina Faso - Bulgária - Bahrain - Burundi - Benin - Saint Barthélemy - Bermuda - Brunei - Bolivia - Brasil - Bahamas - Bhutan - Bouvet-sullot - Botswana - Vilges-Ruošša - Belize - Kanáda - Cocos-sullot - Kongo-Kinshasa - Kongo-Brazzaville - Šveica - Cook-sullot - Čiile - Kamerun - Kiinná - Kolombia - Costa Rica - Kuba - Kap Verde - Kypros - Čeahkka - Duiska - Djibouti - Dánmárku - Dominica - Algeria - Ecuador - Estlánda - Egypta - Oarje-Sahára - Eritrea - Spánia - Etiopia - Suopma - Fijisullot - Falklandsullot - Mikronesia - Fearsullot - Frankriika - Gabon - Stuorra-Británnia - Grenada - Georgia - Frankriikka Guayana - Guernsey - Ghana - Gibraltar - Kalaallit Nunaat - Gámbia - Guinea - Guadeloupe - Ekvatoriála Guinea - Greika - Lulli Georgia ja Lulli Sandwich-sullot - Guatemala - Guam - Guinea-Bissau - Guyana - Hongkong - Honduras - Kroátia - Haiti - Ungár - Indonesia - Irlánda - Israel - Mann - India - Irak - Iran - Islánda - Itália - Jersey - Jamaica - Jordánia - Japána - Kenia - Kirgisistan - Kambodža - Kiribati - Komorosullot - Saint Kitts ja Nevis - Davvi-Korea - Mátta-Korea - Kuwait - Cayman-sullot - Kasakstan - Laos - Libanon - Saint Lucia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Lietuva - Luxembourg - Látvia - Libya - Marokko - Monaco - Moldávia - Montenegro - Saint Martin - Madagaskar - Marshallsullot - Makedonia - Mali - Burma - Mongolia - Makáo - Davvi-Mariánat - Martinique - Mauretánia - Montserrat - Málta - Mauritius - Malediivvat - Malawi - Meksiko - Malesia - Mosambik - Namibia - Ođđa-Kaledonia - Niger - Norfolksullot - Nigeria - Nicaragua - Vuolleeatnamat - Norga - Nepal - Nauru - Niue - Ođđa-Selánda - Oman - Panama - Peru - Papua-Ođđa-Guinea - Filippiinnat - Pakistan - Polen - Saint Pierre ja Miquelon - Pitcairn - Puerto Rico - Palestina - Portugála - Palau - Paraguay - Qatar - Eurohpa Uniovdna - Reunion - Románia - Serbia - Ruošša - Rwanda - Saudi-Arábia - Salomon-sullot - Seychellsullot - Sudan - Ruoŧŧa - Singapore - Saint Helena - Slovenia - Svalbárda ja Jan Mayen - Slovákia - Sierra Leone - San Marino - Senegal - Somália - Surinam - São Tomé ja Príncipe - El Salvador - Syria - Svazieana - Turks ja Caicos-sullot - Tčad - Togo - Thaieana - Tažikistan - Tokelau - Nuorta-Timor - Turkmenistan - Tunisia - Tonga - Durka - Trinidad ja Tobago - Tuvalu - Taiwan - Tanzánia - Ukraina - Uganda - Amerihká ovttastuvvan stáhtat - Uruguay - Usbekistan - Vatikána - Saint Vincent ja Grenadine - Venezuela - Vietnam - Vanuatu - Wallis ja Futuna - Samoa - Jemen - Mayotte - Mátta-Afrihká - Zambia - Zimbabwe - - - kaleandar - valuhtta - - - US - SI - - - giella: {0} - - - - [a á b c č d đ e-n ŋ o p r s š t ŧ u v z ž] - [à å ä ã æ ç é è í ń ñ ó ò ö ø q ú ü w-y] - [a á à å ä æ b c č d đ e é è f-n ń ŋ o ó ò ö ø p-s š t ŧ u ú v x-z ž] - - - ” - ” - ’ - ’ - - - {0}–{1} - - - - - - ođđj - guov - njuk - cuo - mies - geas - suoi - borg - čakč - golg - skáb - juov - - - ođđajagemánnu - guovvamánnu - njukčamánnu - cuoŋománnu - miessemánnu - geassemánnu - suoidnemánnu - borgemánnu - čakčamánnu - golggotmánnu - skábmamánnu - juovlamánnu - - - - - O - G - N - C - M - G - S - B - Č - G - S - J - - - - - - - sotn - vuos - maŋ - gask - duor - bear - láv - - - sotnabeaivi - vuossárga - maŋŋebárga - gaskavahkku - duorasdat - bearjadat - lávvardat - - - - - s - v - m - g - d - b - L - - - - - - - Q1 - K2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - AM - PM - - - ovdal Kristtusa - maŋŋel Kristtusa - - - o.Kr. - m.Kr. - - - o.Kr. - m.Kr. - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - éra - - - jáhki - - - mánnu - - - váhkku - - - beaivi - ikte - odne - ihttin - - - váhkkubeaivi - - - diibmu - - - minuhtta - - - sekunda - - - áigeavádat - - - - - - +HH:mm;−HH:mm - UTC{0} - UTC - {0} - {0} ({1}) - - São Paulo - - - Mérida - - - - CET - CEST - - - - - EET - EEST - - - - - WET - WEST - - - - - GMT - - - - - - - , -   - ; - % - 0 - # - + - − - ×10^ - ‰ - ∞ - ¤¤¤ - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0 % - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - {0} {1} - - - - euro - euro - euro - euro - - - suoma márkki - - - norgga kruvdno - - - ruoŧŧa kruvdno - - - uns silba - - - golli - - - - - - {0} beaivi - {0} beaivi - {0} beaivi - - - {0} tiibmu - {0} tiibmu - - - {0} minuhtta - {0} minuhtta - {0} minuhtta - - - {0} mánnu - {0} mánnu - {0} mánnu - - - {0} sekunda - {0} sekunda - {0} sekunda - - - {0} váhkku - {0} váhkku - {0} váhkku - - - {0} jáhki - {0} jáhki - {0} jáhki - - - - - jo - ii - - - - diff --git a/lib/zend/Zend/Locale/Data/se_FI.xml b/lib/zend/Zend/Locale/Data/se_FI.xml deleted file mode 100644 index 6d0adbe47d..0000000000 --- a/lib/zend/Zend/Locale/Data/se_FI.xml +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - - - - - fi_FI - - - ang - apa - be - cs - da - de - el - en - es - et - fi - fiu - fo - fr - gem - is - nb - nn - no - ru - se - sma - smi - smj - smn - sms - sv - - - Afrihká - Mátta-Amerihká - Oarji-Afrihká - 014 - Davvi-Afrihká - Gaska-Afrihká - Davvi-Amerihká - Nuorta-Ásia - Mátta-Ásia - Mátta-Eurohpa - Gaska-Ásia - Oarji-Ásia - Eurohpa - Nuorta-Eurohpá - Davvi-Eurohpa - Oarji-Eurohpa - AT - AU - AX - BE - BG - BR - BY - CH - CM - CN - CZ - DE - DK - EE - ES - FI - FO - FR - GL - GR - HR - HU - IE - IQ - IR - IS - IT - JP - KP - KR - LB - LT - LV - MA - MG - MH - MK - MP - MR - MV - MY - NL - NO - NZ - PH - PL - PS - RU - SE - SI - SJ - SK - SR - TD - TL - TR - US - ZA - - - calendar - currency - - - Metric - - - - - - - - - ođđajage - guovva - njukča - cuoŋo - miesse - geasse - suoidne - borge - čakča - golggot - skábma - juovla - - - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - aejlege - måanta - däjsta - gaskevahkoe - dåarsta - bearjadahke - laavadahke - - - - - S - M - D - G - D - B - - - - - - BCE - - - BCE - - - - - Year - - - Month - - - Week - - - Day - - - Day of the Week - - - Hour - - - Minute - - - Second - - - Zone - - - - - - GMT - - - - - - FIM - - - NOK - - - SEK - - - XAG - - - XAU - - - - - - yes:y - no:n - - - - diff --git a/lib/zend/Zend/Locale/Data/se_NO.xml b/lib/zend/Zend/Locale/Data/se_NO.xml deleted file mode 100644 index 2095fade00..0000000000 --- a/lib/zend/Zend/Locale/Data/se_NO.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/sh.xml b/lib/zend/Zend/Locale/Data/sh.xml deleted file mode 100644 index 4443044515..0000000000 --- a/lib/zend/Zend/Locale/Data/sh.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/sh_BA.xml b/lib/zend/Zend/Locale/Data/sh_BA.xml deleted file mode 100644 index 7608d1faef..0000000000 --- a/lib/zend/Zend/Locale/Data/sh_BA.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/sh_CS.xml b/lib/zend/Zend/Locale/Data/sh_CS.xml deleted file mode 100644 index b318d3a04f..0000000000 --- a/lib/zend/Zend/Locale/Data/sh_CS.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/sh_YU.xml b/lib/zend/Zend/Locale/Data/sh_YU.xml deleted file mode 100644 index 99fac98769..0000000000 --- a/lib/zend/Zend/Locale/Data/sh_YU.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/si.xml b/lib/zend/Zend/Locale/Data/si.xml deleted file mode 100644 index 4612bbd749..0000000000 --- a/lib/zend/Zend/Locale/Data/si.xml +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - - - - - - සිංහල - - - - - - ශ්‍රී ලංකාව - - - දිනදසුන - මුදල් - - - බුද්‍ධ දිනදසුන - දිනදසුන - - - - [අ-ඍ එ-ඖ ං ඃ ක-ඣ ඥ ඤ ට-න ඳ-ර ල ව-ෆ ා-\u0DD4 \u0DD6 ෘ ෲ ෟ ෙ-ෞ \u0DCA] - [\u200B-\u200D ඎ-ඐ ඦ ෳ] - [a-z] - - - - - - - - ජන - පෙබ - මාර්ත - අප්‍රේල - මැය - ජූන - ජූල - අගෝ - සැප - ඔක - නොවැ - දෙසැ - - - ජනවාර - පෙබරවාර - මාර්ත - අප්‍රේල් - මැයි - ජූන - ජූලි - අගෝස්තු - සැප්තැම්බර් - ඔක්තෝබර් - නොවැම්බර් - දෙසැම්බර් - - - - - ජ - පෙ - මා - අ - මැ - ජූ - ජූ - අ - සැ - ඔ - නො - දෙ - - - - - - - ඉරි - සඳු - අඟ - බදා - බ්‍රහ - සිකු - සෙන - - - ඉරිදා - සඳුදා - අඟහරුවාදා - බදාදා - බ්‍රහස්පතින්දා - සිකුරාදා - සෙනසුරාදා - - - - - ඉ - ස - අ - බ - බ්‍ර - සි - සෙ - - - - - - - කාර්:1 - කාර්:2 - කාර්:3 - කාර්:4 - - - 1 වන කාර්තුව - 2 වන කාර්තුව - 3 වන කාර්තුව - 4 වන කාර්තුව - - - - පෙ.ව. - ප.ව. - - - ක්‍රිස්තු පූර්‍ව - ක්‍රිස්තු වර්‍ෂ - - - ක්‍රි.පූ. - ක්‍රි.ව. - - - - - - EEEE, y MMMM d - - - - - y MMMM d - - - - - y MMM d - - - - - yyyy/MM/dd - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - ඊයෙ - අද - හෙට - - - - - - - - ශ්‍රී ලංකා වේලාව - - - - - - - - - #,##,##0.### - - - - - - - #,##,##0% - - - - - - - ¤#,##,##0.00;(¤#,##,##0.00) - - - - - - ලංකා රුපියල් - SL Re - - - - - - ඔව්:ඔ - නැත:නැ - - - - diff --git a/lib/zend/Zend/Locale/Data/si_LK.xml b/lib/zend/Zend/Locale/Data/si_LK.xml deleted file mode 100644 index 0e1e51b8e0..0000000000 --- a/lib/zend/Zend/Locale/Data/si_LK.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/sid.xml b/lib/zend/Zend/Locale/Data/sid.xml deleted file mode 100644 index 111fcac9eb..0000000000 --- a/lib/zend/Zend/Locale/Data/sid.xml +++ /dev/null @@ -1,248 +0,0 @@ - - - - - - - - - - - Arabic - German - English - Spanish - French - Hindi - Italian - Japanese - Portuguese - Russian - Sidaamu Afo - Chinese - - - - - - Brazil - China - Germany - Itiyoophiya - France - United Kingdom - India - Italy - Japan - Russia - United States - - - - [a-z] - - - - - - - - Jan - Feb - Mar - Apr - May - Jun - Jul - Aug - Sep - Oct - Nov - Dec - - - January - February - March - April - May - June - July - August - September - October - November - December - - - - - J - F - M - A - M - J - J - A - S - O - N - D - - - - - - - Sam - San - Mak - Row - Ham - Arb - Qid - - - Sambata - Sanyo - Maakisanyo - Roowe - Hamuse - Arbe - Qidaame - - - - - S - S - M - R - H - A - Q - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - soodo - hawwaro - - - YIA - YIG - - - - - - EEEE, MMMM dd, y - - - - - dd MMMM y - - - - - dd-MMM-y - - - - - dd/MM/yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - dd MMMM - dd/MM - MM/yy - Q yy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - - ¤#,##0.00 - - - - - - Brazilian Real - - - Chinese Yuan Renminbi - - - Euro - - - British Pound Sterling - - - Indian Rupee - - - Japanese Yen - - - Russian Ruble - - - US Dollar - - - - diff --git a/lib/zend/Zend/Locale/Data/sid_ET.xml b/lib/zend/Zend/Locale/Data/sid_ET.xml deleted file mode 100644 index b7126c121d..0000000000 --- a/lib/zend/Zend/Locale/Data/sid_ET.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/sk.xml b/lib/zend/Zend/Locale/Data/sk.xml deleted file mode 100644 index 23b9fa8cfe..0000000000 --- a/lib/zend/Zend/Locale/Data/sk.xml +++ /dev/null @@ -1,1901 +0,0 @@ - - - - - - - - - - - afarčina - abcházština - ačoli - adangme - adygčina - avestčina - afrikánčina - afroázijské jazyky - afrihili - ainčina - akančina - akkadčina - aleutčina - algonkinské jazyky - amharčina - aragónčina - angika - apačské jazyky - arabčina - araukánčina - arapaho - umelý jazyk - arawačtina - ásámčina - astúrčina - athabaské jazyky - austrálske jazyky - avarčina - avadhčina - aymarčina - azerbajdžančina - baskirčina - bamileke - balúčtina - balijčina - basa - baltské jazyky - bieloruština - bedža - bemba - berberské jazyky - bulharčina - bihárske jazyky - bhódžpurčina - bislama - bikol - bini - bambarčina - bengálčina - bantuské jazyky - tibetčina - bretónčina - bradžčina - bosniačtina - batacké jazyky - buriatčina - bugiština - blin - katalánčina - jazyk stredoamerických indiánov - karibský - kaukazské jazyky - čečenčina - cebuánčina - keltské jazyky - čamorčina - čibča - čagatajčina - činucký žargón - čoktavčina - čipevajčina - čerokí - čejenčina - čamaské jazyky - korzičtina - krí - čeština - cirkevná slovančina - čuvaština - waleština - dánčina - dakotčina - darginčina - nemčina - delawarčina - slovančina - dogribčina - dinka - dógrí - drávidské jazyky - duala - divehi - ďula - dzongkä - eweština - efik - staroegyptský - ekadžuk - gréčtina - elamčina - angličtina - austrálska angličtina - britská angličtina - americká angličtina - esperanto - španielčina - estónčina - baskičtina - ewondo - perzština - fangčina - fanti - fulbčina - fínčina - filipínčina - ugrofínske jazyky - fidžijčina - faerčina - fončina - francúzština - východná frízština - friulčina - západná frízština - írčina - ga - gayo - gbaja - škótčina - germánske jazyky - galícijčina - guaraní - gótčina - starogréčtina - švajčiarska nemčina - gudžarátčina - mančina - hauština - havajčina - hebrejčina - hindčina - hiri motu - chorvátčina - haitský - maďarčina - arménčina - herero - interlingua - indonézština - interlingue - igboština - indoeurópske jazyky - iránske jazyky - islandčina - taliančina - japončina - jávčina - gruzínčina - konžština - kuaňama - kazaština - grónska eskimáčtina - kambodžská khmérčina - kannadčina - kórejčina - kanurijčina - kašmírčina - kurdčina - komijčina - kornčina - kirgizština - latinčina - luxemburčina - gandčina - lingalčina - laoština - mongo - litovčina - luba-katanga - lotyština - austronézske jazyky - malgaština - kajin-majol - maorijčina - macedónčina - malajálamčina - mongolčina - moldavčina - maráthčina - malajčina - maltčina - barmčina - mayské jazyky - erzjančina - nauru - jazyk severoamerických indiánov - bokmål - nepálčina - ndonga - holandčina - nórsky nynorsk - nórčina - navajo - čewa - okcitánčina - odžibva - oromčina - uríjčina - osetčina - pandžábčina - papuánsky - pálí - poľština - paštúnčina - portugalčina - brazílska portugalčina - kečuánčina - rétorománčina - rundčina - rumunčina - ruština - rwandčina - sanskrit - jazyk juhoamerických indiánov - sardínčina - sicílčina - sindhčina - sango - znaková reč - srbochorvátčina - sinhalčina - slovenčina - slovinčina - slovenský jazyk - samojčina - šončina - somálčina - albánčina - srbčina - svazijčina - južná sothčina - sundčina - sumerčina - švédčina - swahilčina - sýrčina - tamilčina - telugčina - tadžičtina - thajčina - tigrejčina - turkménčina - tagalčina - klingónčina - tswančina - tonžtina - turečtina - tsonga - tatárčina - altajské jazyky - twi - tahitčina - ujgurčina - ukrajinčina - neznámy alebo neplatný jazyk - urdčina - uzbečtina - vendčina - vietnamčina - volapük - valónčina - wolof - xhosa - jidiš - jorubčina - čuangčina - čínština - zjednodušená čínština - tradičná čínština - zuluština - bez jazykového obsahu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Svet - Afrika - Severná Amerika (003) - Južná Amerika - Oceánia - Západná Afrika - Stredná Amerika - Východná Afrika - Severná Afrika - Stredná Afrika - Južná Afrika [018] - Americký kontinent - Severná Amerika - Karibik - Východná Ázia - Južná Ázia - Juhovýchodná Ázia - Južná Európa - Austrália a Nový Zéland - Melanézia - Mikronésia - Polynézia - Stredná a južná Ázia - Ázia - Stredná Ázia - Západná Ázia - Európa - Východná Európa - Severná Európa - Západná Európa - Spoločenstvo nezávislých štátov - Československo - Latinská Amerika a Karibik - Kanál La Manche - Andorra - Spojené arabské emiráty - Afganistan - Antigua a Barbados - Anguilla - Albánsko - Arménsko - Holandské Antily - Angola - Antarctica - Argentína - Americká Samoa - Rakúsko - Austrália - Aruba - Alandské ostrovy - Azerbajdžan - Bosna a Hercegovina - Barbados - Bangladéš - Belgicko - Burkina Faso - Bulharsko - Bahrajn - Burundi - Benin - Svätý Bartolomej - Bermudy - Brunej - Bolívia - Brazília - Bahamy - Bután - Bouvetov ostrov - Botswana - Bielorusko - Belize - Kanada - Kokosové ostrovy - Konžská demokratická republika - Stredoafrická republika - Kongo - Švajčiarsko - Pobrežie Slonoviny - Cookove ostrovy - Čile - Kamerun - Čína - Kolumbia - Kostarika - Srbsko a Čierna Hora - Kuba - Kapverdy - Vianočný ostrov - Cyprus - Česká republika - Nemecko - Džibuti - Dánsko - Dominika - Dominikánska republika - Alžírsko - Ekvádor - Estónsko - Egypt - Západná Sahara - Eritrea - Španielsko - Etiópia - Fínsko - Fidži - Falklandské ostrovy - Mikronézia - Faerské ostrovy - Francúzsko - Gabon - Spojené kráľovstvo - Grenada - Gruzínsko - Francúzska Guayana - Guernsey - Ghana - Gibraltár - Grónsko - Gambia - Guinea - Guadeloupe - Rovníková Guinea - Grécko - Južná Georgia a Južné Sandwichove ostrovy - Guatemala - Guam - Guinea-Bissau - Guayana - Hong Kong S.A.R. Číny - Heardove ostrovy a McDonaldove ostrovy - Honduras - Chorvátsko - Haiti - Maďarsko - Indonézia - Írsko - Izrael - Ostrov Man - India - Britské územie v Indickom oceáne - Irak - Irán - Island - Taliansko - Jersey - Jamajka - Jordánsko - Japonsko - Keňa - Kirgizsko - Kambodža - Kiribati - Komory - Saint Kitts a Nevis - Kórejská ľudovodemokratická republika - Kórejská republika - Kuvajt - Kajmanské ostrovy - Kazachstan - Laoská ľudovodemokratická republika - Libanon - Svätá Lucia - Lichtenštajnsko - Srí Lanka - Libéria - Lesotho - Litva - Luxembursko - Lotyšsko - Lýbijská arabská džamahírija - Maroko - Monako - Moldavsko - Čierna Hora - Svätý Martin - Madagaskar - Marshallove ostrovy - Macedónsko - Mali - Mjanmarsko - Mongolsko - Makao S.A.R. Číny - Severné Mariány - Martinik - Mauritánia - Montserrat - Malta - Maurícius - Maldivy - Malawi - Mexiko - Malajzia - Mozambik - Namíbia - Nová Kaledónia - Niger - Norfolkov ostrov - Nigéria - Nikaragua - Holandsko - Nórsko - Nepál - Nauru - Niue - Nový Zéland - Omán - Panama - Peru - Francúzska Polynézia - Papua Nová Guinea - Filipíny - Pakistan - Poľsko - Saint Pierre a Miquelon - Pitcairnove ostrovy - Portoriko - Palestínske územie - Portugalsko - Palau - Paraguaj - Katar - Tichomorie - ostatné - Európska únia - Reunion - Rumunsko - Srbsko - Ruská federácia - Rwanda - Saudská Arábia - Šalamúnove ostrovy - Seychelské ostrovy - Sudán - Švédsko - Singapur - Svätá Helena - Slovinsko - Špicbergy a Jan Mayen - Slovenská republika - Sierra Leone - San Maríno - Senegal - Somálsko - Surinam - Svätý Tomáš a Princove ostrovy - Salvador - Sýrska arabská republika - Svazijsko - Turks a Caicos - Čad - Francúzske južné územia - Togo - Thajsko - Tadžikistan - Tokelau - Východný Timor - Turkménsko - Tunisko - Tonga - Turecko - Trinidad a Tobago - Tuvalu - Tajwan - Tanzánia - Ukrajina - Uganda - Menšie odľahlé ostrovy USA - Spojené štáty - Uruguaj - Uzbekistan - Vatikán - Svätý Vincent a Grenadíny - Venezuela - Britské panenské ostrovy - Panenské ostrovy - USA - Vietnam - Vanuatu - Wallis a Futuna - Samoa - Jemen - Mayotte - Južná Afrika - Zambia - Zimbabwe - Neznámy alebo neplatný región - - - Kalendár - Triedenie - Mena - - - Tradičný čínsky Big5 - Buddhistický kalendár - Čínsky kalendár - Priame triedenie - Zjednodušený čínsky GB2312 - Gregoriánsky kalendár - Židovský kalendár - Indický národný kalendár - Islamský kalendár - Islamský občiansky kalendár - Japonský kalendár - Lexikografické triedenie - Triedenie pinyin - Kalendár Čínskej republiky - Tiedenie podľa ťahov - Tradičné - - - Americký - Metrický - - - Jazyk: {0} - Skript: {0} - Región: {0} - - - - titlecase-firstword - - - [a á ä b c č d ď e é f-h {ch} i í j-l ĺ ľ m n ň o ó ô p-r ŕ s š t ť u ú v-y ý z ž] - [á à ă â å ā æ ä ç é è ĕ ê ë ē í ì ĭ î ï ī ñ ó ò ŏ ö ø ō œ ô ß ú ù ŭ û ü ū ÿ] - - - ‚ - ‘ - „ - “ - - - - - - - - jan - feb - mar - apr - máj - jún - júl - aug - sep - okt - nov - dec - - - januára - februára - marca - apríla - mája - júna - júla - augusta - septembra - októbra - novembra - decembra - - - - - j - f - m - a - m - j - j - a - s - o - n - d - - - január - február - marec - apríl - máj - jún - júl - august - september - október - november - december - - - - - - - ne - po - ut - st - št - pi - so - - - nedeľa - pondelok - utorok - streda - štvrtok - piatok - sobota - - - - - N - P - U - S - Š - P - S - - - - - - - Q1 - Q2 - Q3 - Q4 - - - 1. štvrťrok - 2. štvrťrok - 3. štvrťrok - 4. štvrťrok - - - - dopoludnia - popoludní - - - pred n.l. - n.l. - - - - - - EEEE, d. MMMM y - - - - - d. MMMM y - - - - - d.M.yyyy - - - - - d.M.yyyy - - - - - - - H:mm:ss zzzz - - - - - H:mm:ss z - - - - - H:mm:ss - - - - - H:mm - - - - - - EEE, d. - HH:mm - E, d.M. - E, d. MMM - E, d. MMMM - d. MMMM - d. MMM - d.M. - d. - mm:ss - mm:ss - EEE, d.M.yyyy - MMM y - EEE, d. MMM y - MMMM y - Q yyyy - QQQ y - Q yy - QQQQ yy - M.yyyy - MMMM y - - - {0} - {1} - - M.-M. - - - E, d.M. - E, d.M. - E, d.M. - E, d.M. - - - MMM-MMM - - - E, d. MMM - E, d. MMM - E, d. - E, d. MMM - - - LLLL-LLLL - - - d. MMM - d. MMM - d. - d. MMM - - - d.M. - d.M. - d.M. - d.M. - - - d. - d. - - - HH-HH - H-H - - - HH:mm - HH:mm - HH:mm - HH:mm - HH:mm - HH:mm - - - HH:mm - HH:mm v - HH:mm - HH:mm v - HH:mm - HH:mm v - - - HH-HH v - H-H v - - - y - y - - - M.yyyy - M.yyyy - M.yyyy - M.yyyy - - - E, d.M.yy - E, d.M.yy - E, d.M.yy - E, d.M.yy - E, d.M.yy - E, d.M.yy - - - MMM - MMM y - MMM y - MMM y - - - E, d. MMM - E, d. MMM y - E, d. - E, d. MMM y - E, d. MMM y - E, d. MMM y - - - MM-yyyy – MM-yyyy - - - d. MMM - d. MMM y - d. - d. MMM y - d. MMM y - d. MMM y - - - d.M.yy - d.M.yy - d.M.yy - d.M.yy - d.M.yy - d.M.yy - - - - - - Éra - - - Rok - - - Mesiac - - - Týždeň - - - Deň - Pred tromi dňami - Predvčerom - Včera - Dnes - Zajtra - Pozajtra - O tri dni - - - Deň v týždni - - - Časť dňa - - - Hodina - - - Minúta - - - Sekunda - - - Pásmo - - - - - - +HHmm;-HHmm - GMT{0} - {0} - - Neznáme časové pásmo - - - Južný pól - - - Dumont D'Urville - - - Bermudy - - - Veľkonočné ostrovy - - - Šanghaj - - - Kostarika - - - Kapverdy - - - Džibutsko - - - Dominika - - - Galapágy - - - Kanárske ostrovy - - - Fidži - - - Londýn - - - Gibraltár - - - Hongkong - - - Jamajka - - - St. Kitts - - - Kuvajt - - - St. Lucia - - - Luxembursko - - - Monako - - - Ulanbátar - - - Macao - - - Martinik - - - Maurícius - - - Maledivy - - - Pitcairnove ostrovy - - - Portoriko - - - Azorské ostrovy - - - Lisabon - - - Katar - - - Moskva - - - Jekaterinburg - - - Krasnojarsko - - - Irkutsko - - - Jakutsko - - - Sachalin - - - Kamčatka - - - Singapur - - - Salvádor - - - Užhorod - - - Kyjev - - - Záporožie - - - Aljaška - - - New Salem, Severná Dakota - - - Taškent - - - St. Vincent - - - St. Thomas - - - - - - , -   - - - - - #,##0.00 ¤ - - - - - - Andorská peseta - - - UAE dirham - - - Albánsky lek - - - Armenský dram - - - Nizozemský Antilský guilder - - - Angolská kwanza - - - Angolská kwanza (1977-1990) - - - Angolská nová kwanza (1990-2000) - - - Angolská kwanza Reajustado (1995-1999) - - - Argentinský austral - - - Argentinské peso (1983-1985) - - - Argentinské peso - - - Rakúsky šiling - - - Austrálsky dolár - - - Arubský guilder - - - Azerbaidžanský manat - - - Bosnianský dinár - - - Bosnianský konvertibilná marka - - - Barbadoský dolár - - - Bangladéšska taka - - - Belgický frank (konvertibilný) - - - Belgický frank - - - Belgický frank (finančný) - - - Bulharský leva - - - Bulharský leva nový - - - Bahraiský dinár - - - Burundský frank - - - Bermudský dolár - - - Bruneiský dolár - - - Bolívijské Boliviano - - - Bolivíjske peso - - - Bolivíjske mvdol - - - Bolivíjske Cruzeiro Novo (1967-1986) - - - Bolivíjske cruzado - - - Bolivíjske cruzeiro (1990-1993) - - - Bolivíjsky real - - - Brazílske Cruzado Novo - - - Brazílske cruzeiro - - - Bahamský dolár - - - Bhutansky ngultrum - - - Burmese Kyat - - - Botswanan Pula - - - Belarussian nový rubeľ (1994-1999) - - - Belarussian rubeľ - - - Belize dolár - - - Kanadský dolár - - - Konžský frank Congolais - - - Švajčiarský frank - - - Čílske Unidades de Fomento - - - Čílske peso - - - Čínsky Yuan Renminbi - - - Colombijské peso - - - Kostarikský colon - - - Československá koruna - - - Kubánske peso - - - Cape Verde eskudo - - - Cypruská libra - - - Česká koruna - - - Východonemecká marka - - - Nemecká marka - - - Džibutský frank - - - Dánska krone - - - Dominikánske peso - - - Alžírsky dinár - - - Ekuadorský sucre - - - Ekuadorský Unidad de Valor Constante (UVC) - - - Estónska kroon - - - Egyptská libra - - - Eritrejská nakfa - - - Španielská peseta - - - Ethiopský birr - - - Euro - - - Finská marka - - - Fiji dolár - - - Falklandská libra - - - Francúzsky frank - - - Britská libra - - - Gruzínsky Kupon Larit - - - Gruzínsky lari - - - Ghanský cedi - - - Gibraltarská libra - - - Gambský dalasi - - - Guinejský frank - - - Guinejský syli - - - Rovníková Guinea Ekwele Guineana - - - Grécka drachma - - - Guatemalský quetzal - - - Portugalská Guinea eskudo - - - Guinea-Bissau peso - - - Guyanský dolár - - - Hong Kongský dolár - - - Hoduraská lempira - - - Chorvátsky dinár - - - Chorvátska kuna - - - Haitské gourde - - - Maďarský forint - - - Indonézska rupia - - - Írska libra - - - Izraelská libra - - - Izraelský šekel - - - Indijská rupia - - - Iracký dinár - - - Iránsky rial - - - Islandská krona - - - Talianská lira - - - Jamajský dolár - - - Jordánsky dinár - - - Japonský yen - - - Keňský šiling - - - Kyrgyský som - - - Kambodžský riel - - - Comoro frank - - - Severokórejský won - - - Juhokórejský won - - - Kuvaitský dinár - - - Kajmanský dolár - - - Kazažský tenge - - - Laoský kip - - - Libanonská libra - - - Šrilanská rupia - - - Libérský dolár - - - Lesothský loti - - - Litevská lita - - - Litevský talonas - - - Luxemburský frank - - - Lotyšský lats - - - Lotyšský rubeľ - - - Libyjský dinár - - - Marocký dirham - - - Marocký frank - - - Moldavský leu - - - Madagaskarský ariary - - - Madagaskarský frank - - - Macedónsky denár - - - Malský frank - - - Myanmarský kyat - - - Mongolský tugrik - - - Macao Pataca - - - Mauritania Ouguiya - - - Maltská lira - - - Maltská libra - - - Mauritská rupia - - - Maldivská rufiyaa - - - Malavská kwacha - - - Mexické peso - - - Mexické striborné peso (1861-1992) - - - Mexické Unidad de Inversion (UDI) - - - Malajský ringgit - - - Mozambijské eskudo - - - Mozambijské metical - - - Namibský dolár - - - Nigerská naira - - - Nikaragujská cordoba - - - Nikaragujská Cordoba Oro - - - Nizozemský guilder - - - Nórksy krone - - - Nepálska rupia - - - Novozélandský dolár - - - Ománský rial - - - Panamská balboa - - - Peruvský inti - - - Peruvský sol Nuevo - - - Peruvský sol - - - Papua Nová Guinea kina - - - Filipínske peso - - - Pakistanská rupia - - - Polský zloty - - - Polský zloty (1950-1995) - - - Portugalské eskudo - - - Paraguayské guarani - - - Qatarský rial - - - Rumunský leu - - - Rumunský Lei - - - Srbský dinár - - - Ruský rubeľ - - - Ruský rubeľ (1991-1998) - - - Rwandský frank - - - Saudský riyal - - - Solomon Islands dolár - - - Sejšelská rupia - - - Sudánsky dinár - - - Sudánska libra - - - Švédska krona - - - Singapúrsky dolár - - - Libra - - - Slovinský Tolar - - - Slovenská koruna - - - Sierra Leone Leone - - - Somálsky šiling - - - Surinamský guilder - - - Sao Tome a Principe dobra - - - Sovietský rubeľ - - - El Salvadorský colon - - - Syrská libra - - - Swaziland lilangeni - - - Thajský bát - - - Tadžikistanský rubeľ - - - Tadžikistanský somoni - - - Turkménsky manat - - - Tuniský dinár - - - Tonga Paʻanga - - - Timorské eskudo - - - Turecká lira - - - Nová turecká líra - - - Trinidad a Tobago dolár - - - Taiwanský nový dolár - - - Tanzanský šiling - - - Ukrainská hrivna - - - Ukrainský karbovanetz - - - Ugandan šiling (1966-1987) - - - Ugandský šiling - - - US dolár - - - US dolár (Next day) - - - US dolár (Same day) - - - Uruguajské peso (1975-1993) - - - Uruguajské peso Uruguayo - - - Uzbekistanský sum - - - Venezuelský bolivar - - - Vietnamský dong - - - Vanuatu vatu - - - Západná Samoa tala - - - CFA frank BEAC - - - Zlato - - - East Caribbean dolár - - - Špeciálne práva čerpania - - - Francúzsky zlatý frank - - - Francúzsky UIC-frank - - - CFA frank BCEAO - - - CFP frank - - - Jemenský dinár - - - Jemenský rial - - - Juhoslávsky dinár [YUD] - - - Juhoslávsky Noviy dinár - - - Juhoslávsky dinár - - - Juhoafrický rand (financial) - - - Juhoafrický rand - - - Zambská kwacha - - - Zairský nový zaire - - - Zairský Zaire - - - Zimbabský dolár - - - - - - {0} dni - {0} deň - {0} dní - - - {0} hodiny - {0} hodina - {0} hodín - - - {0} minúty - {0} minúta - {0} minút - - - {0} mesiace - {0} mesiac - {0} mesiacov - - - {0} sekundy - {0} sekunda - {0} sekúnd - - - {0} týždne - {0} týždeň - {0} týždňov - - - {0} roky - {0} rok - {0} rokov - - - - - ano:a - nie:n - - - - diff --git a/lib/zend/Zend/Locale/Data/sk_SK.xml b/lib/zend/Zend/Locale/Data/sk_SK.xml deleted file mode 100644 index 3db91a2a6c..0000000000 --- a/lib/zend/Zend/Locale/Data/sk_SK.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/sl.xml b/lib/zend/Zend/Locale/Data/sl.xml deleted file mode 100644 index 782fe3bd76..0000000000 --- a/lib/zend/Zend/Locale/Data/sl.xml +++ /dev/null @@ -1,2544 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - afarščina - abhaščina - ačejščina - ačolijščina - adangmejščina - adigejščina - avestijščina - afrikanščina - afroazijski jezik - afrihili - ainujščina - akanščina - akadščina - aleutščina - algonkinski jezik - južna altajščina - amharščina - aragonščina - stara angleščina - angikaščina - apaški jezik - arabščina - aramejščina - aravkanščina - arapaščina - umetni jezik - aravaščina - asamščina - asturijščina - atabaški jezik - avstralski jezik - avarščina - avadščina - ajmarščina - azerbajdžanščina - baškirščina - bandaški jezik - bamilekejski jezik - beludžijščina - balijščina - basa - baltski jezik - beloruščina - bedža - bemba - berberščina - bolgarščina - biharščina - bodžpuri - bislamščina - bikolski jezik - edo - siksika - bambarščina - bengalščina - bantujščina - tibetanščina - bretonščina - bradžbakanščina - bosanščina - bataški jezik - burjatščina - buginščina - blinščina - katalonščina - kadoščina - srednjeameriški indijanski jezik - karibski jezik - kavkaški jezik - čečenščina - sebuanščina - keltski jezik - čamorščina - čibčevščina - čagatajščina - trukeščina - marijščina - činuški žargon - čoktavščina - čipevščina - čerokeščina - čejenščina - camski jezik - korziščina - koptščina - angleška kreolščina ali pidžinščina - francoska kreolščina ali pidžinščina - portugalska kreolščina ali pidžinščina - krijščina - krimska tatarščina - kreolščina ali pidžinščina - češčina - kašubščina - stara cerkvena slovanščina - kušitščina - čuvaščina - valižanščina - danščina - dakotščina - darginščina - dajaščina - nemščina - visoka nemščina (Švica) - delavarščina - slavejščina - dogrib - dinka - dogri - dravidski jezik - dolnja lužiška srbščina - duala - srednja nizozemščina - diveščina - diula - dzonka - evenščina - efiščina - stara egipčanščina - ekajuk - grščina - elamščina - angleščina - angleščina (VB) - angleščina (ZDA) - srednja angleščina - esperanto - španščina - latinskoameriška španščina - iberska španščina - estonščina - baskovščina - evondovščina - perzijščina - fangijščina - fantijščina - fulščina - finščina - filipinščina - ugrofinski jezik - fidžijščina - ferščina - fonščina - francoščina - srednja francoščina - stara francoščina - severna frizijščina - vzhodna frizijščina - furlanščina - frizijščina - irščina - ga - gajščina - gbajščina - škotska gelščina - germanski jezik - etiopščina - kiribatščina - galicijščina - srednja visoka nemščina - gvaranijščina - stara visoka nemščina - gondi - gorontalščina - gotščina - grebščina - stara grščina - nemščina (Švica) - gudžaratščina - manščina - gwi - havščina - haidščina - havajščina - hebrejščina - hindujščina - hiligajnonščina - himačalščina - hetitščina - hmonščina - hiri motu - hrvaščina - gornja lužiška srbščina - haitijska kreolščina - madžarščina - hupa - armenščina - herero - interlingva - ibanščina - indonezijščina - interlingve - igboščina - ii - ijo - inupiaščina - ilokanščina - indijski jezik - indoevropski jezik - inguščina - ido - iranski jezik - irokeški jezik - islandščina - italijanščina - inuktitutščina - japonščina - lojban - judovska perzijščina - judovska arabščina - javanščina - gruzinščina - karakalpaščina - kabilščina - kačinščina - kaj - kamba - karenščina - kavi - kabardinščina - tjapska nigerijščina - kfo - kongovščina - kasi - koisanski jezik - kotanščina - kikujščina - kvanjama - kazaščina - grenlandščina - kmerščina - kimbundu - kanada - korejščina - konkanščina - kosrajščina - kpelejščina - kanurščina - karačaj-balkarščina - karelščina - jezik kru - kuruk - kašmirščina - kurdščina - kumiščina - kutenajščina - komijščina - kornijščina - kirgiščina - latinščina - ladinščina - landa - lamba - luksemburščina - lezginščina - ganda - limburščina - lingala - laoščina - mongo - lozi - litovščina - luba-katanga - luba-lulua - luisenščina - lunda - luo - lushai - latvijščina - madurščina - magadščina - maitili - makasarščina - mandingo - avstronezijski jezik - masajščina - mokšavščina - mandarščina - mende - malagaščina - srednja irščina - marshallovščina - maorščina - mikmaščina - minangkabau - drugi jeziki - makedonščina - monsko-kmerski jezik - malajalamščina - mongolščina - mandžurščina - manipurščina - kotabatski manobo - moldavščina - mohoščina - mosijščina - maratščina - malajščina - malteščina - več jezikov - mundski jezik - mus - mirandeščina - marvarščina - burmanščina - majevski jezik - erzjanščina - naurujščina - nahuatl - severnoameriški indijanski jezik - napolitanščina - knjižna norveščina - severna ndebelščina - nizka nemščina - nepalščina - nevarščina - ng - niaščina - nigrsko-kordofanski jezik - niuejščina - nizozemščina - flamščina - novonorveščina - norveščina - nogajščina - stara nordijščina - nqo - južna ndebelščina - severna sotščina - nubijski jezik - navajščina - klasična nevarščina - njanščina - njamveščina - njankole - njoro - nzima - okcitanščina - anašinabščina - oromo - orijščina - osetinščina - osage - otomanska turščina - otomijski jezik - pandžabščina - papuanski jezik - pangasinanščina - pal - pampanščina - papiamentu - palavanščina - stara perzijščina - filipinski jezik - feničanščina - palijščina - poljščina - ponpejščina - prakritski jezik - stara provansalščina - paštu - portugalščina - brazilska portugalščina - iberska portugalščina - kečuanščina - radžastanščina - rapanujščina - rarotongščina - retoromanščina - rundščina - romunščina - romanski jezik - romščina - root - ruščina - aromunščina - ruandščina - sanskrt - sad - jakutščina - sai - sal - samaritanska aramejščina - sasaščina - santalščina - sardinščina - sicilijanščina - škotščina - sindščina - severna samijščina - selkupščina - semitski jezik - sango - stara irščina - znakovni jezik - srbohrvaščina - šanščina - singalščina - sidamščina - sijuščina - kitajsko-tibetanski jezik - slovaščina - slovenščina - slovanski jezik - samoanščina - južna samijščina - samijski jezik - luleška samijščina - inarska samijščina - samijščina Skolt - šonščina - snk - somalščina - sog - songajščina - albanščina - srbščina - surinamska kreolščina - sererščina - svazijščina - nilsko-saharski jezik - sesoto - sundanščina - sukuma - susujščina - sumerščina - švedščina - svahili - klasična sirščina - sirščina - tamilščina - tajski jezik - telugijščina - temnejščina - ter - tetumščina - tadžiščina - tajščina - tigrajščina - tigrejščina - tivščina - turkmenščina - tokelavščina - tagalogščina - klingonščina - tlingitščina - tamajaščina - cvanščina - tongščina - malavijska tongščina - tok pisin - turščina - tsonga - tsimščina - tatarščina - tumbukščina - tupijski jezik - altajski jezik - tuvalujščina - tvi - tahitščina - tuvinščina - udmurtščina - ujgurščina - ugaritski jezik - ukrajinščina - umbundščina - neznan ali neveljaven jezik - urdujščina - uzbeščina - vajščina - venda - vietnamščina - volapuk - votjaščina - valonščina - vakaški jezik - valamščina - varajščina - vašajščina - lužiško srbski jezik - volofščina - kalmiščina - xhosa - jaojščina - japščina - jidiš - jorubščina - jupiški jezik - za - zapoteščina - znakovni jezik Bliss - zenaščina - kitajščina - poenostavljena kitajščina - tradicionalna kitajščina - zandejščina - zulujščina - zunijščina - brez jezikoslovne vsebine - zazajščina - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Svet - Afrika - Severna Amerika - Južna Amerika - Oceanija - Zahodna Afrika - Srednja Amerika - Vzhodna Afrika - Severna Afrika - Srednja Afrika - Južna Afrika - Amerike - severnoameriška celina - Karibi - Vzhodna Azija - Južna Azija - Jugovzhodna Azija - Južna Evropa - Avstralija in Nova Zelandija - Melanezija - mikronezijska regija - Polinezija - Južna osrednja Azija - Azija - Osrednja Azija - Zahodna Azija - Evropa - Vzhodna Evropa - Severna Evropa - Zahodna Evropa - Skupnost neodvisnih držav - Latinska Amerika in Karibi - Kanalski otoki - Andora - Združeni arabski emirati - Afganistan - Antigva in Barbuda - Angvila - Albanija - Armenija - Nizozemski Antili - Angola - Antarktika - Argentina - Ameriška Samoa - Avstrija - Avstralija - Aruba - Alandsko otočje - Azerbajdžan - Bosna in Hercegovina - Barbados - Bangladeš - Belgija - Burkina Faso - Bolgarija - Bahrajn - Burundi - Benin - Saint Barthelemy - Bermudi - Brunej - Bolivija - Brazilija - Bahami - Butan - Bouvetov otok - Bocvana - Belorusija - Belize - Kanada - Kokosovi otoki - Demokratična republika Kongo - Centralnoafriška republika - Kongo - Švica - Slonokoščena obala - Cookovo otočje - Čile - Kamerun - Kitajska - Kolumbija - Kostarika - Srbija in Črna gora - Kuba - Zelenortski otoki - Božični otok - Ciper - Češka - Nemčija - Džibuti - Danska - Dominika - Dominikanska republika - Alžirija - Ekvador - Estonija - Egipt - Zahodna Sahara - Eritreja - Španija - Etiopija - Finska - Fidži - Falklandski otoki - Mikronezija - Ferski otoki - Francija - Gabon - Velika Britanija - Grenada - Gruzija - Francoska Gvajana - Guernsey - Gana - Gibraltar - Grenlandija - Gambija - Gvineja - Gvadalupe - Ekvatorialna Gvineja - Grčija - Južna Georgia in Južni Sandwichevi otoki - Gvatemala - Guam - Gvineja Bissau - Gvajana - Posebno administrativno območje LR Kitajske Hong Kong - Otok Heard in otočje McDonald - Honduras - Hrvaška - Haiti - Madžarska - Indonezija - Irska - Izrael - Otok Man - Indija - Britansko ozemlje v Indijskem oceanu - Irak - Iran - Islandija - Italija - Jersey - Jamajka - Jordanija - Japonska - Kenija - Kirgizistan - Kambodža - Kiribati - Komori - Saint Kitts in Nevis - Severna Koreja - Južna Koreja - Kuvajt - Kajmanski otoki - Kazahstan - Laos - Libanon - Saint Lucia - Lihtenštajn - Šrilanka - Liberija - Lesoto - Litva - Luksemburg - Latvija - Libija - Maroko - Monako - Moldavija - Črna gora - Saint Martin - Madagaskar - Marshallovi otoki - Makedonija - Mali - Mjanmar - Mongolija - Posebno administrativno območje LR Kitajske Macao - Severni Marianski otoki - Martinik - Mavretanija - Montserrat - Malta - Mauritius - Maldivi - Malavi - Mehika - Malezija - Mozambik - Namibija - Nova Kaledonija - Niger - Norfolški otok - Nigerija - Nikaragva - Nizozemska - Norveška - Nepal - Nauru - Niue - Nova Zelandija - Oman - Panama - Peru - Francoska Polinezija - Papua Nova Gvineja - Filipini - Pakistan - Poljska - Saint Pierre in Miquelon - Pitcairn - Portoriko - Palestinsko ozemlje - Portugalska - Palau - Paragvaj - Katar - Ostala oceanija - Evropska unija - Reunion - Romunija - Srbija - Rusija - Ruanda - Saudova Arabija - Salomonovi otoki - Sejšeli - Sudan - Švedska - Singapur - Sveta Helena - Slovenija - Svalbard in Jan Mayen - Slovaška - Sierra Leone - San Marino - Senegal - Somalija - Surinam - Sao Tome in Principe - Salvador - Sirija - Svazi - Otočji Turks in Caicos - Čad - Francosko južno ozemlje - Togo - Tajska - Tadžikistan - Tokelau - Vzhodni Timor - Turkmenistan - Tunizija - Tonga - Turčija - Trinidad in Tobago - Tuvalu - Tajvan - Tanzanija - Ukrajina - Uganda - Druga ameriška ozemlja v Tihem oceanu - Združene države Amerike - Urugvaj - Uzbekistan - Vatikan - Saint Vincent in Grenadine - Venezuela - Britanski Deviški otoki - Ameriški Deviški otoki - Vietnam - Vanuatu - Wallis in Futuna - Samoa - Jemen - Mayotte - Južnoafriška republika - Zambija - Zimbabve - Neznano ali neveljavno območje - - - tradicionalni nemški pravopis - standardizirani rezijanski pravopis (1994) - novi nemški pravopis (1996) - pozna srednja francoščina (do 1606) - zgodnja sodobna francoščina - vzhodna armenščina - zahodna armenščina - modernizirana turška latinica - rezijansko narečje Bila (San Giorgio) - boonvilski jezik - mednarodna fonetična pisava IPA - uralska fonetska pisava UPA - rezijansko narečje iz Lipovca (Lipovaz) - monotonalni pravopis - nadiško narečje - rezijansko narečje Njiva (Gniva) - rezijansko narečje iz Osojan (Oseacco) - politonalni pravopis - standard prenosljivosti programske opreme - revidiran pravopis - rezijanščina - standardna škotska angleščina - liverpoolsko angleško narečje scouse - rezijansko narečje iz Solbice (Stolvizza) - Taraškievičeva beloruska slovnica - valencijski pravopis - - - koledar - razvrščanje - valuta - - - razvrščanje po sistemu tradicionalne kitajščine - Big5 - budistični koledar - kitajski koledar - neposredno razvrščanje - razvrščanje po sistemu poenostavljene kitajščine - GB2312 - gregorijanski koledar - hebrejski koledar - indijanski koledar - islamski koledar - islamski civilni koledar - japonski koledar - razvrščanje po abecedi - razvrščanje po sistemu pinjin - kitajski državni koledar - razvrščanje po zaporedju pisanja pismenk - razvrščanje po tradicionalnem sistemu - - - imperialni - metrični - - - Jezik: {0} - Regija: {0} - - - - titlecase-firstword - titlecase-firstword - - - [a-c č d-p r s š t-v z ž] - [á à ă â å ä ā æ ç é è ĕ ê ë ē í ì ĭ î ï ī ñ ó ò ŏ ô ö ø ō œ q ß ú ù ŭ û ü ū w-y ÿ] - [a-z] - - - » - « - „ - “ - - - {0} – {1} - - - - - - jan - feb - mar - apr - maj - jun - jul - avg - sep - okt - nov - dec - - - januar - februar - marec - april - maj - junij - julij - avgust - september - oktober - november - december - - - - - j - f - m - a - m - j - j - a - s - o - n - d - - - - - - - ned - pon - tor - sre - čet - pet - sob - - - nedelja - ponedeljek - torek - sreda - četrtek - petek - sobota - - - - - n - p - t - s - č - p - s - - - - - - - Q1 - Q2 - Q3 - Q4 - - - 1. četrtletje - 2. četrtletje - 3. četrtletje - 4. četrtletje - - - - - 1 - 2 - 3 - 4 - - - - dop. - pop. - - - pred našim štetjem - naše štetje - - - pr. n. št. - po Kr. - - - - - - EEEE, dd. MMMM y - - - - - dd. MMMM y - - - - - d. MMM. yyyy - - - - - d. MM. yy - - - - - - - H:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - HH:mm - HH:mm:ss - d. MMMM - dd. MMMM - d. M. - mm:ss - mm:ss - y - Q/yy - M/yyyy - MMMM y - - - {0} – {1} - - M.–M. - - - E., d. M. – E., d. M. - E., d. – E., d. M. - - - MMM–MMM - - - E., d. MMM. – E., d. MMM. - E., d. – E., d. MMM. - - - LLLL–LLLL - - - d. MMM. – d. MMM. - d.–d. MMM. - - - d. M. – d. M. - d. – d. M. - - - d.–d. - - - HH–HH - HH–HH - - - HH:mm–HH:mm - HH:mm–HH:mm - HH:mm–HH:mm - - - HH:mm–HH:mm v - HH:mm–HH:mm v - HH:mm–HH:mm v - - - HH–HH v - HH–HH v - - - y–y - - - M – M/yy - M/yy – M/yy - - - E., d. M. – E., d. M. yy - E., d. – E., d. M. yy - E., d. M. yy – E., d. M. yy - - - MMM. – MMM. y - MMM. y – MMM. y - - - E., d. MMM. – E., d. MMM. y - E., d. MMM. – E., d. MMM. y - E., d. MMM. y – E., d. MMM. y - - - MM–MM yyyy - MM/yyyy – MM/yyyy - - - d. MMM. – d. MMM. y - d.–d. MMM. y - d. MMM. y – d. MMM. y - - - d. M. – d. M. yy - d. M. yy – d. M. yy - d. M. yy – d. M. yy - - - - - - Doba - - - Leto - - - Mesec - - - Teden - - - Dan - Pred tremi dnevi - Predvčerajšnjim - Včeraj - Danes - Jutri - Pojutrišnjem - Čez tri dni - - - Dan v tednu - - - Čas dneva - - - Ura - - - Minuta - - - Sekunda - - - Območje - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - {1} ({0}) - - neznano - - - Andora - - - Dubaj - - - Tirana - - - Erevan - - - Južni tečaj - - - Kordova - - - Dunaj - - - Daka - - - Bruselj - - - Sofija - - - Bahrajn - - - Bermudi - - - Brunej - - - Kokosovi - - - Kinšasa - - - Lubumbaši - - - Abidžan - - - Velikonočni otok - - - Kašgar - - - Šangaj - - - Kostarika - - - Zelenortski otoki - - - Božični - - - Nikozija - - - Džibuti - - - Kopenhagen - - - Dominika - - - Alžir - - - Talin - - - Kairo - - - Kanarski otoki - - - Adis Abeba - - - Fidži - - - Ferski otoki - - - Pariz - - - Akra - - - Gvadelupe - - - Atene - - - Gvatemala - - - Bisau - - - Gvajana - - - Hongkong - - - Budimpešta - - - Džakarta - - - Makasar - - - Bagdad - - - Teheran - - - Rim - - - Jamajka - - - Aman - - - Tokio - - - Biškek - - - St. Kitts - - - Pjongjang - - - Seul - - - Kuvajt - - - Kajman - - - Aktau - - - Uralsk - - - Aktobe - - - Almati - - - Bejrut - - - St. Lucia - - - Vilna - - - Luksemburg - - - Monako - - - Ulan Bator - - - Macao - - - Martinik - - - Maldivi - - - Karači - - - Varšava - - - Portoriko - - - Azori - - - Lizbona - - - Katar - - - Bukarešta - - - Moskva - - - Jekaterinburg - - - Krasnojarsk - - - Jakutsk - - - Sahalin - - - Kamčatka - - - Anadir - - - Rijad - - - Kartum - - - Singapur - - - St. Helena - - - Mogadiš - - - Salvador - - - Damask - - - Ašgabat - - - Darussalam - - - Užgorod - - - Kijev - - - Zaporožje - - - New Salem, Severna Dakota - - - Center, Severna Dakota - - - Taškent - - - St. Vincent - - - St. Thomas - - - Sajgon - - - - Srednjeevropski čas - Srednjeevropski poletni čas - - - - - Vzhodnoevropski čas - Vzhodnoevropski poletni čas - - - - - - - , - . - ; - % - 0 - # - + - – - e - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - #,##0.00 ¤ - - - - - - andorska peseta - - - dirham Združenih arabskih emiratov - - - stari afganistanski afgani (1927–2002) - - - afgani - - - albanski lek - - - armenski dram - - - nizozemsko-antilski gulden - - - angolska kvanza - - - stara angolska kvanza (1977–1990) - - - angolska nova kvanza (1990–2000) - - - konvertibilna angolska kvanza (1995–1999) - - - argentinski avstral - - - argentinski peso (1983–1985) - - - argentinski peso - - - avstrijski šiling - - - avstralski dolar - - - arubski florin - - - stari azerbajdžanski manat (1993–2006) - - - azerbajdžanski manat - - - bosansko-hercegovski dinar - - - bosansko-hercegovska konvertibilna marka - - - barbadoški dolar - - - bangladeška taka - - - belgijski konvertibilni frank - - - belgijski frank - - - belgijski finančni frank - - - stari bolgarski lev - - - bolgarski lev - - - bahranski dinar - - - burundski frank - - - bermudski dolar - - - brunejski dolar - - - bolivijski boliviano - - - bolivijski peso - - - bolivijski mvdol - - - brazilski novi kruzeiro (1967–1986) - - - brazilski kruzado - - - stari brazilski kruzeiro (1990–1993) - - - brazilski real - - - novi brazilski kruzado - - - brazilski kruzeiro - - - bahamski dolar - - - butanski ngultrum - - - burmanski kjat - - - bocvanska pula - - - beloruski novi rubelj (1994–1999) - - - beloruski rubelj - - - belizejski dolar - - - kanadski dolar - - - kongoški frank - - - evro WIR - - - švicarski frank - - - frank WIR - - - čilski unidades de fomento - - - čilski peso - - - kitajski juan renminbi - - - kolumbijski peso - - - kolumbijska enota realne vrednosti - - - kostariški kolon - - - stari srbski dinar - - - češkoslovaška krona - - - kubanski peso - - - zelenortski eskudo - - - ciprski funt - - - češka krona - - - vzhodnonemška marka - - - nemška marka - - - džibutski frank - - - danska krona - - - dominikanski peso - - - alžirski dinar - - - ekvadorski sukre - - - ekvadorska enota realne vrednosti (UVC) - - - estonska krona - - - egiptovski funt - - - eritrejska nakfa - - - španska pezeta (račun A) - - - španska pezeta (račun B) - - - španska pezeta - - - etiopski bir - - - evro - - - finska marka - - - fidžijski dolar - - - falklandski funt - - - francoski frank - - - britanski funt - - - gruzijski bon lari - - - gruzijski lari - - - stari ganski cedi (1979–2007) - - - ganski cedi - - - gibraltarski funt - - - gambijski dalasi - - - gvinejski sili - - - ekwele Ekvatorialne Gvineje - - - grška drahma - - - gvatemalski kecal - - - eskudo Portugalske Gvineje - - - peso Gvineje Bissau - - - gvajanski dolar - - - hongkonški dolar - - - honduraška lempira - - - hrvaški dinar - - - hrvaška kuna - - - haitski gurd - - - madžarski forint - - - indonezijska rupija - - - irski funt - - - izraelski funt - - - izraelski šekel - - - indijska rupija - - - iraški dinar - - - iranski rial - - - islandska krona - - - italijanska lira - - - jamajški dolar - - - jordanski dinar - - - japonski jen - ¥ - - - kenijski šiling - - - kirgiški som - - - kamboški riel - - - komorski frank - - - severnokorejski von - - - južnokorejski von - - - kuvajtski dinar - - - kajmanski dolar - - - kazahstanski tenge - - - laoški kip - - - libanonski funt - - - šrilanška rupija - - - liberijski dolar - - - lesoški loti - - - litovski litas - - - litvanski litas - - - luksemburški konvertibilni frank - - - luksemburški frank - - - luksemburški finančni frank - - - latvijski lats - - - latvijski rubelj - - - libijski dinar - - - maroški dirham - - - maroški frank - - - moldavijski leu - - - malgaški ariarij - - - malgaški frank - - - makedonski denar - - - malijski frank - - - mjanmarski kjat - - - mongolski tugrik - - - makavska pataka - - - mavretanska uguija - - - malteška lira - - - malteški funt - - - mavricijska rupija - - - maldivska rufija - - - malavijska kvača - - - mehiški peso - - - mehiški srebrni peso (1861-1992) - - - mehiška inverzna enota (UDI) - - - malezijski ringit - - - mozambiški eskudo - - - stari mozambiški metikal - - - mozambiški metikal - - - namibijski dolar - - - nigerijska naira - - - nikaraška kordova - - - nikaraška zlata kordova - - - nizozemski gulden - - - norveška krona - - - nepalska rupija - - - novozelandski dolar - - - omanski rial - - - panamska balboa - - - perujski inti - - - perujski novi sol - - - perujski sol - - - kina Papue Nove Gvineje - - - filipinski peso - - - pakistanska rupija - - - poljski novi zlot - - - stari poljski zlot (1950–1995) - - - portugalski eskudo - - - paragvajski gvarani - - - katarski rial - - - rodezijski dolar - - - stari romunski leu - - - romunski leu - - - srbski dinar - - - ruski rubelj - - - ruski rubelj (1991–1998) - - - ruandski frank - - - saudski rial - - - solomonski dolar - - - sejšelska rupija - - - stari sudanski dinar - - - sudanski funt - - - stari sudanski funt - - - švedska krona - - - singapurski dolar - - - funt Sv. Helene - - - slovenski tolar - - - slovaška krona - - - sieraleonski leone - - - somalski šiling - - - surinamski dolar - - - surinamski gulden - - - saotomejska dobra - - - sovjetski rubelj - - - salvadorski kolon - - - sirijski funt - - - svazijski lilangeni - - - tajski baht - - - tadžikistanski rubelj - - - tadžikistanski somoni - - - turkmenski manat - - - tunizijski dinar - - - tongovska paanga - - - timorski eskudo - - - stara turška lira - - - nova turška lira - - - dolar Trinidada in Tobaga - - - novi tajvanski dolar - - - tanzanijski šiling - - - ukrajinska grivna - - - ukrajinski karbovanci - - - stari ugandski šiling (1966–1987) - - - ugandski šiling - - - ameriški dolar - $ - - - ameriški dolar, naslednji dan - - - ameriški dolar, isti dan - - - stari urugvajski peso (1975–1993) - - - urugvajski peso - - - uzbeški sum - - - venezuelski bolivar - - - venezuelski bolivar fuerte - - - vientnamski dong - - - vanuatujski vatu - - - samoanska tala - - - CFA frank BEAC - - - srebro - - - zlato - - - evropska sestavljena enota - - - evropska monetarna enota - - - evropska obračunska enota (XBC) - - - evropska obračunska enota (XBD) - - - vzhodnokaribski dolar - - - posebne pravice črpanja - - - evropska denarna enota - - - zlati frank - - - frank UIC - - - CFA frank BCEAO - - - paladij - - - CFP frank - - - platina - - - XRE - - - koda za potrebe testiranja - - - neznana ali neveljavna valuta - - - jemenski dinar - - - jemenski rial - - - stari jugoslovanski dinar - - - novi jugoslovanski dinar - - - jugoslovanski konvertibilni dinar - - - južnoafriški finančni rand - - - južnoafriški rand - - - zambijska kvača - - - zairski novi zaire - - - zairski zaire - - - zimbabvejski dolar - - - - - - {0} dnevi - {0} dan - {0} dni - {0} dni - - - {0} ure - {0} ura - {0} ur - {0} uri - - - {0} minute - {0} minuta - {0} minut - {0} minuti - - - {0} meseci - {0} mesec - {0} mesecev - {0} meseca - - - {0} sekunde - {0} sekunda - {0} sekund - {0} sekundi - - - {0} tedni - {0} teden - {0} tednov - {0} tedna - - - {0} leta - {0} leto - {0} let - {0} leti - - - - - da:d - ne:n - - - - diff --git a/lib/zend/Zend/Locale/Data/sl_SI.xml b/lib/zend/Zend/Locale/Data/sl_SI.xml deleted file mode 100644 index 27355a989b..0000000000 --- a/lib/zend/Zend/Locale/Data/sl_SI.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/so.xml b/lib/zend/Zend/Locale/Data/so.xml deleted file mode 100644 index c28dcf76cd..0000000000 --- a/lib/zend/Zend/Locale/Data/so.xml +++ /dev/null @@ -1,560 +0,0 @@ - - - - - - - - - - - Afrikaanays - Amhari - Carabi - Asaamiis - Azerbaijan - Beleruusiyaan - Bulgeeriyaan - Bixaari - Bangaali - Bereton - Boosniya - Katalaan - Jeeg - Welsh - Danmarkays - Jarmal - Jarmal (Iswiiserlaand) - Giriik - Ingiriisi - Ingiriisi (Boqortooyada Midowday) - Ingiriisi (Maraykan) - Isberento - Isbaanish - Isbaanishka Laatiin Ameerika - Isbaanish (Isbayn) - Istooniyaan - Basquu - Faarisi - Fiinlaandees - Tagalog - Farowsi - Faransiis - Faransiis (Iswiiserlaand) - Firiisiyan Galbeed - Ayrish - Iskot Giilik - Galiisiyaan - Guraani - Gujaraati - Cibri - Hindi - Koro'eeshiyaan - Hangariyaan - Armeeniyaan - Interlinguwa - Indunuusiyaan - Interlingue - Ayslandays - Talyaani - Jabbaaniis - Jafaaniis - Joorijiyaan - Kamboodhian - Kannadays - Kuuriyaan - Kurdishka - Kirgiis - Laatiin - Lingala - Laothian - Lituwaanays - Laatfiyaan - Masadooniyaan - Malayalam - Mangooli - Maarati - Malaay - Maltiis - Nebaali - Holandays - Nowrwejiyan (naynoroski) - Af Noorwiijiyaan - Okitaan - Oriya - Bunjaabi - Boolish - Bashtuu - Boortaqiis - Boortaqiiska Baraasiil - Boortaqiis (Boortuqaal) - Romanka - Ruush - Sanskrit - SINDHI - Serbiyaan - Sinhaleys - Isloofaak - Islofeeniyaan - Soomaali - Albaaniyaan - Seerbiyaan - Sesooto - Suudaaniis - Swiidhis - Sawaaxili - Tamiil - Teluugu - Taaylandays - Tigrinya - Turkumaanish - Kiligoon - Turkish - Tiwiyan - UIGHUR - Yukreeniyaan - Af aan la aqoon ama aan sax ahayn - Urduu - Usbakis - Fiitnaamays - Hoosta - Yadhish - Jayniis - Zuulu - - - - - - - - Afrikada Bari - Aasiyada Bari - Yurubta Bari - Imaaraadka Carabta ee Midoobay - Afgaanistaan - Armeeniya - Angoola - Osteeriya - Awstraaliya - Boosniya Heersigoviina - Baarbadoos - Bangaala-Deesh - Beljiyam - Baxrayn - Beniin - Braasiil - Kanada - Swiiserlaand - Jili - Kameruun - Shiinaha - Kuuba - Jekoslafaakiya - Jarmal - Jabuuti - Danmaark - Ikwadoor - Masar - Isbeyn - Itoobiya - Fiinlaand - Faransiis - United Kingdom - Giriinaada - Gini - Giriigga - Korweeshiya - Hangeri - Indoneesiya - Ayrlaanda - Israaʼiil - Hindiya - Ciraaq - Iiraan - Iislaand - Talyaani - Jameyka - Urdun - Jabbaan - Kiiniya - Kamboodiya - Kuuriyada Waqooyi - Kuuriyada Koonfureed - Kuwayt - Kasaakhistaan - Lubnaan - Siirilaanka - Laybeeriya - Losooto - Luksemboorg - Laatfiya - Liibiya - Marooko - Moonako - Makadooniya - Maali - Muritaaniya - Maalda - Maaldiqeen - Malaawi - Meksiko - Musambiig - Namiibiya - Nayjeeriya - Nikaraaguwa - Noorweey - Neyuusilaand - Cumaan - Filibiin - Bakistaan - Booland - Bortuqaal - Qadar - Rumaaniya - Ruush - Sacuudi Carabiya - Sudaan - Iswidhan - Siraaliyoon - Soomaaliya - Suuriya - Jaad - Toogo - Taylaand - Tuniisiya - Tonga - Turki - Tansaaniya - Ugaanda - Qaramada Midoobey ee Maraykanka - Faatikaan - Fenisuweela - Fiyetnaam - Yaman - Koonfur Afrika - Saambiya - Simbaabwe - Far aan la aqoon amase aan saxnayn - - - Habeentiris - Lacag - - - Habeentiriska yuhuudda - Habeentiriska islaamka - Habeentiriska jabbaanka - - - - [a-z] - - - - - - - - Kob - Lab - Sad - Afr - Sha - Lix - Tod - Sid - Sag - Tob - KIT - LIT - - - Bisha Koobaad - Bisha Labaad - Bisha Saddexaad - Bisha Afraad - Bisha Shanaad - Bisha Lixaad - Bisha Todobaad - Bisha Sideedaad - Bisha Sagaalaad - Bisha Tobnaad - Bisha Kow iyo Tobnaad - Bisha Laba iyo Tobnaad - - - - - K - L - S - A - S - L - T - S - S - T - K - L - - - - - - - Axa - Isn - Sal - Arb - Kha - Jim - Sab - - - Axad - Isniin - Salaaso - Arbaco - Khamiis - Jimco - Sabti - - - - - A - I - S - A - K - J - S - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - sn - gn - - - Ciise ka hor - Ciise ka dib - - - - - - EEEE, MMMM dd, y - - - - - dd MMMM y - - - - - dd-MMM-y - - - - - dd/MM/yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - dd MMMM - dd/MM - MM/yy - Q yy - MMMM y - - - {0} - {1} - - M-M - - - E, dd/MM - E, dd/MM - E, dd/MM - E, dd/MM - - - MMM-MMM - - - E, dd MMM - E, dd MMM - E, dd - E, dd MMM - - - dd MMM - dd MMM - dd-dd MMM - - - dd/MM - dd/MM - dd/MM - dd/MM - - - d-d - - - h a - h a - h-h a - - - h:mm a - h:mm a - h:mm-h:mm a - h:mm-h:mm a - - - h:mm a - h:mm a v - h:mm-h:mm a v - h:mm-h:mm a v - - - h a - h a v - h-h a v - - - y-y - - - MM/yy - MM/yy - MM/yy - MM/yy - - - E, dd/MM/yy - E, dd/MM/yy - E, dd/MM/yy - E, dd/MM/yy - E, dd/MM/yy - E, dd/MM/yy - - - MMM-MMM y - MMM y - MMM y - - - E, MMM dd - E, MMM dd, y - E, MMM dd - E, MMM dd, y - E, MMM dd, y - E, MMM dd, y - - - dd MMM - dd MMM y - dd-dd MMM y - dd MMM y - dd MMM y - - - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - dd/MM/yy - - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - Far aan la aqoon amase aan saxnayn - - - - - - . - , - - - - - ¤#,##0.00 - - - - - - Brazilian Real - - - Chinese Yuan Renminbi - - - Faran Jabbuuti - - - Birta Itoobbiya - - - Yuuroo - - - British Pound Sterling - - - Indian Rupee - - - Japanese Yen - - - Russian Ruble - - - Shilin soomaali - - - Doollar maraykan - - - Lacag aan la qoon ama aan saxnayn - - - - - - haa:h - maya:m - - - - diff --git a/lib/zend/Zend/Locale/Data/so_DJ.xml b/lib/zend/Zend/Locale/Data/so_DJ.xml deleted file mode 100644 index 86e77a7375..0000000000 --- a/lib/zend/Zend/Locale/Data/so_DJ.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/so_ET.xml b/lib/zend/Zend/Locale/Data/so_ET.xml deleted file mode 100644 index 1cfa6ef462..0000000000 --- a/lib/zend/Zend/Locale/Data/so_ET.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/so_KE.xml b/lib/zend/Zend/Locale/Data/so_KE.xml deleted file mode 100644 index ab2b6af4b4..0000000000 --- a/lib/zend/Zend/Locale/Data/so_KE.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/so_SO.xml b/lib/zend/Zend/Locale/Data/so_SO.xml deleted file mode 100644 index 202d906609..0000000000 --- a/lib/zend/Zend/Locale/Data/so_SO.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/sq.xml b/lib/zend/Zend/Locale/Data/sq.xml deleted file mode 100644 index 89ae633139..0000000000 --- a/lib/zend/Zend/Locale/Data/sq.xml +++ /dev/null @@ -1,656 +0,0 @@ - - - - - - - - - - - Afrikanisht - Amharike - Arabisht - Asamezisht - Azerbajxhanisht - Bjellorusisht - Bullgarisht - Bihari - Bengalisht - Breton - Boshnjakisht - Katalonisht - Çekisht - Uellsisht - Danisht - Gjermanisht - Greqisht - Anglisht - Esperanto - Spanjisht - Estonisht - Baskisht - Persisht - Finlandisht - Tagalogisht - Faroisht - Frengjisht - Frizianisht - Irlandisht - Galisht - Galicianisht - Guarani - Guxharati - Hebraisht - Hindi - Kroatisht - Hungarisht - Armen - Interlingua - Indonezisht - Gjuha nderkombtare - Islandisht - Italisht - Japanisht - Javanisht - Gjeorgjisht - Kamboxhiane - Kanada - Koreançe - Kurd - Kyrgyz - Latinisht - Lingala - Laosisht - Lituanisht - Letonisht - Maqedonisht - Malajalam - Mongolisht - Marati - Malajzisht - Maltisht - Nepalisht - Holandisht - Norvegjisht (Nynorsk) - Norvegjisht - Oksitanisht - Orija - Punxhabi - Polonisht - Pashto - Portugeze - Portugalisht (Brazil) - Portugalisht (Portugali) - Rumanisht - Rusisht - Sanskritisht - Si'ndi - Serbo-Kroatisht - Sinhalezisht - Sllovakisht - Sllovenisht - Somalisht - shqipe - Serbisht - Sesotho - Sundanisht - Suedisht - Suahilisht - Tamil - Telugu - Tajlandisht - Tigrinja - Turk - Klingon - Turqisht - Twi - Ujgur - Ukrainisht - Unknown or Invalid Language - Urdu - Uzbekistanisht - Vietnamisht - Xhosa - Jiden - Kineze - Zulu - - - - - - - - Andorrë - Emiratet Arabe te Bashkuara - Afganistan - Antigua e Barbuda - Shqipëria - Armeni - Angolë - Argjentinë - Austri - Australi - Ishujt Aland - Azerbajxhan - Bosnja dhe Hercegovina - Belgjikë - Bullgari - Bahrein - Brunej - Bolivi - Brazili - Butan - Botsvana - Bjellorusi - Kanada - Republika Qendrore e Afrikës - Kongo - Zvicër - Bregu i Fildishtë - Kili - Kamerun - Kinë - Kolumbi - Kosta Rika - Serbië en Montenegro - Kubë - Kap Verde - Qipro - Republika e Çekisë - Gjermani - Xhibuti - Danimarkë - Dominikë - Republika Dominikanë - Algjeri - Ekuator - Estoni - Egjipt - Saharaja Perëndimore - Eritre - Spanjë - Etiopi - Finlandë - Fixhi - Mikronezi - Francë - Gjabon - Mbretëria e Bashkuar - Gjeorgji - Ganë - Gambi - Guine - Guineja Ekuatoriale - Greqi - Guatemalë - Guine Bisau - Guajana - Kroaci - Hungari - Indonezi - Irlandë - Izrael - Indi - Irak - Islandë - Itali - Xhamajkë - Jordani - Japoni - Kenia - Kirgistan - Kamboxhi - Qiribati - Komore - Saint Kitts e Nevis - Koreja e Veriut - Koreja e Jugut - Kuvajt - Kazakistan - Liban - Lihtënshtajn - Liberi - Lesoto - Lituani - Luksemburg - Letoni - Libi - Maroko - Monako - Moldavi - Madagaskar - Ishujt Marshall - Maqedoni - Mongoli - Mauritani - Maltë - Maldivit - Malavi - Meksikë - Malajzi - Mozambik - Namibi - Nigeri - Nikaragua - Vendet e Ulëta - Norvegji - Zelanda e Re - Papua Guineja e Re - Filipine - Poloni - Portugali - Paraguaj - Katar - Rumani - Rusi - Ruanda - Arabia Saudite - Ishujt Solomon - Sishel - Suedi - Singapor - Slloveni - Sllovaki - Siera Leone - Somali - Sao Tome e Prinsipe - Siri - Svazilandë - Çad - Togo - Tajlandë - Taxhikistan - Tunisi - Tonga - Turqi - Trinidad e Tobago - Tajvan - Tanzani - Ukrainë - Shtetet e Bashkuara të Amerikës - Uruguaj - Vatikan - Saint Vincent e Grenadinet - Venezuelë - Jemen - Afrika e Jugut - Zambi - Zimbabve - Rajon i panjohur ose i pavlefshëm - - - - [a-c ç d {dh} e ë f g {gj} h-l {ll} m n {nj} o-r {rr} s {sh} t {th} u v x {xh} y z {zh}] - [w] - - - - - - - - Jan - Shk - Mar - Pri - Maj - Qer - Kor - Gsh - Sht - Tet - Nën - Dhj - - - janar - shkurt - mars - prill - maj - qershor - korrik - gusht - shtator - tetor - nëntor - dhjetor - - - - - J - S - M - P - M - Q - K - G - S - T - N - D - - - - - - - Die - Hën - Mar - Mër - Enj - Pre - Sht - - - e diel - e hënë - e martë - e mërkurë - e enjte - e premte - e shtunë - - - - - D - H - M - M - E - P - S - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - - 1 - 2 - 3 - 4 - - - - PD - MD - - - p.e.r. - n.e.r. - - - - - - EEEE, dd MMMM y - - - - - dd MMMM y - - - - - yyyy-MM-dd - - - - - yy-MM-dd - - - - - - - h.mm.ss.a zzzz - - - - - h.mm.ss.a z - - - - - h.mm.ss.a - - - - - h.mm.a - - - - - - H.mm - H.mm.ss - L - E, d.M - LLL - E d MMM - E d MMMM - d MMMM - dd MMMM - d MMM - MM-dd - M-d - d - mm:ss - y - M.yyyy - EEE, d.M.yyyy - MMM y - d MMM y - MMMM y - Q yy - yyyy-MM - MMMM y - - - {0} - {1} - - M-M - - - E, MM-dd - E, MM-dd - E, MM-dd - E, MM-dd - - - MMM-MMM - - - E, dd MMM - E, dd MMM - E, dd - E, dd MMM - - - dd MMM - dd MMM - dd-dd MMM - - - MM-dd - MM-dd - MM-dd - MM-dd - - - d-d - - - h.a - h.a - h.-h.a - - - h.mm.a - h.mm.a - h.mm.-h.mm.a - h.mm.-h.mm.a - - - h.mm.a - h.mm.a v - h.mm.-h.mm.a v - h.mm.-h.mm.a v - - - h.a - h.a v - h.-h.a v - - - y-y - - - yy-MM - yy-MM - yy-MM - yy-MM - - - E, yy-MM-dd - E, yy-MM-dd - E, yy-MM-dd - E, yy-MM-dd - E, yy-MM-dd - E, yy-MM-dd - - - yyyy-MM – MM - MMM y - MMM y - - - E, dd MMM - E, dd MMM y - E, dd - E, dd MMM y - E, dd MMM y - E, dd MMM y - - - dd MMM - dd MMM y - dd-dd MMM y - dd MMM y - dd MMM y - - - yy-MM-dd - yy-MM-dd - yy-MM-dd - yy-MM-dd - yy-MM-dd - yy-MM-dd - - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - Unknown - - - - Ora qendrore evropiane - - - - - Ora lindore evropiane - - - - - Ora standarde e Moskës - - - - - - - , - . - - - - - ¤#,##0.00 - - - - - - Lek - - - Real Brazilian - - - Renminbi(Yuan) Kinez - - - Euro - - - Paund Sterlina Britanike - - - Rupee indiane - - - Jeni Japonez - - - Rubla ruse - - - Dollar amerikan - - - Unknown or Invalid Currency - - - - - - {0} ditë - {0} ditë - - - {0} orë - - - {0} minutë - {0} minuta - - - {0} muaj - - - {0} sekondë - {0} sekonda - - - {0} javë - - - {0} vit - {0} vjet - - - - - po:p - jo:j - - - diff --git a/lib/zend/Zend/Locale/Data/sq_AL.xml b/lib/zend/Zend/Locale/Data/sq_AL.xml deleted file mode 100644 index 2b54cb4076..0000000000 --- a/lib/zend/Zend/Locale/Data/sq_AL.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/sr.xml b/lib/zend/Zend/Locale/Data/sr.xml deleted file mode 100644 index 07c601673b..0000000000 --- a/lib/zend/Zend/Locale/Data/sr.xml +++ /dev/null @@ -1,5950 +0,0 @@ - - - - - - - - - - - , - - - Aфaрски - Абказијски - Aчинески - Aколи - Aдaнгмејски - Aдигејски - Aвестaнски - Африканерски - Aфро-aзијaтски - Aфрихили - Aину - Aкaн - Акадијски - Aљут - Aлгонквијaнски језик - Јужни aлтaи - Амхарски - Aрaгонежaнски - Староенглески - Aнгикa - Апачки језик - Арапски - Aрмaјски - Aрокaнијски - Aрaпaхо - Вештaчки - Aрaвaк - Асемијски - Aстуријски - Aтaпaскaн - Аустралијски језик - Аварски - Aвaдхи - Aјмaрa - Азербејџански - Башкир - Бaндa - Бaмилеке - Бaлучи - Бaлинезијски - Бaсa - Балтички језик - Белоруски - Беја - Бембa - Бербер - Бугарски - Бихарски - Бојпури - Бислама - Бикол - Бини - Сисика - Бaмбaрa - Бенгласки - Банту - Тибетански - Бретонски - Брaј - Босански - Бaтaк - Буриaт - Бугинежaнски - Блин - Каталонски - Кaдо - Централно амерички Индијански језик - Кaрипски - Кaвкaски - Атсамски - Чеченски - Цебуaно - Келтски - Чaморо - Чибчa - Чaгaтaи - Чукески - Мaри - Чинукски - Чоктaвски - Чипвијaнски - Чероки - Чејенски - Чaмски језик - Корзикански - Коптски - Креолски или пиџин зaсновaн нa енглеском - Креолски или пиџин зaсновaн нa фрaнцуском - Креолски или пиџин бaзирaн нa португaлском - Кри - Кримеaнски турски - креолски или пиџин - Чешки - Кaшубијaнски - Старословенски - Кушитички језик - Чувaшки - Велшки - Дански - Дакота - Дaргвa - Дaјaшки - Немачки - Аустријски немачки - Швaјцaрски високи немaчки - Делавер - Слaвски - Догриб - Динкa - Догри - Дарвидијски језик - Ниски сорбијански - Дуaлa - Средњи холaндски - Дивехијски - Ђулa - Џонга - Еве - Ефикски - Староегипатски - Екaјук - Грчки - Елaмитски - Енглески - Аустралијски енглески - Канадски енглески - Британски енглески - САД енглески - Средњи енглески - Есперанто - Шпански - Латино-амерички шпански - Иберијски шпански - Естонски - Баскијски - Евондо - Персијски - Фaнг - Фaнти - Фулaх - Фински - Тагалог - Угро-фински - Фиджијски - Фарски - Фон - Француски - Кaнaдски француски - Швaјцaрски фрaнцуски - Средњи фрaнцуски - Старофранцуски - Северно-фризијски - Источни фризијски - Фриулијски - Фризијски - Ирски - Гa - Гaјо - Гбaјa - Шкотски Галски - Германски језик - Џиз - Гилбертшки - Галски - Средњи високи немaчки - Гварани - Старонемачки - Гонди - Горонтaло - Готски - Гребо - Старогрчки - Швајцарски немачки - Гуџарати - Мaнкс - Гвич'ин - Хауса - Хaидa - Хавајски - Хебрејски - Хинди - Хилигaјнон - Химaчaли - Хитите - Хмонг - Хири Моту - Хрватски - Горњи сорбијски - Хаитски - Мађарски - Хупа - Јерменски - Хереро - Интерлингва - Ибaн - Индонежански - Међујезички - Игбо - Сичуaн ји - Ијо - Унупиак - Илоко - Индик - Индо-европски језик - Ингвишки - Идо - Ирански језик - Ироквојaнски - Исландски - Италијански - Инуктитут - Јапански - Лојбaн - Јудео-персијски - Јудео-арапски - Јавански - Грузијски - Кaрa-кaлпaшки - Кaбиле - Кaчин - Ђу - Кaмбa - Кaренски - Кaви - Кaбaрдијски - Тјaп - Коро - Конго - Кaси - Коисaнски језик - Котанешки - Кикују - Куaњaмa - Козачки - Калалисут - Кмерски - Кимбунду - Канада - Корејски - Конкaни - Косреaнски - Кпеле - Кaнури - Кaрaчaј-бaлкaр - Кaрелијски - Кру - Курукх - Кашмирски - Курдски - Кумик - Кутенaи - Коми - Корнишки - Киргиски - Латински - Лaдино - Лaндa - Лaмбa - Луксембуршки - Лезгиaн - Гaндa - Лимбургиш - Лингала - Лаоски - Монго - Лози - Литвански - Лубa-кaтaнгa - Лубa-лулуa - Луисено - Лундa - Луо - Лушaи - Летонски - Мaдурешки - Мaгaхи - Мaитили - Мaкaсaр - Мaндинго - Aустронежaнски - Масаи - Мокшa - Мaндaр - Менде - Малагасијски - Средњи ирски - Мaршaлски - Маорски - Микмaк - Минaнгкaбaу - Рaзни језици - Македонски - Мон-кмерски језик - Малајалам - Монголски - Мaнчу - Мaнипури - Мaнобо језик - Молдавски - Мaхaвски - Моси - Марати - Малајски - Мелтешки - Више језикa - Мундa језик - Кришки - Мирaндешки - Мaрвaри - Бурмански - Мaјaнски језик - Ерзијa - Науру - Нaхуaтл - Језик северноамеричких Индијанаца - Неaполитaнски - Норвешки бокмал - Северни ндебеле - Ниски немачки - Непалски - Невaри - Ндонгa - Ниaс - Нигер-кордофaнијски језик - Ниуеaн - Холандски - Фламански - Норвешки њорск - Норвешки - Ногaи - Стaри норски - Н’ко - Јужни ндебеле - Северни сото - Нубијски језик - Навахо - Клaсични невaри - Њања - Њaмвези - Њaнколе - Њоро - Нзимa - Провансалски - Ојибвa - Оромо - Оријски - Осетски - Осaге - Отомaнски турски - Отомaнски језик - Панџабски - Папуански језик - Пaнгaсински - Пaхлaви - Пaмпaнгa - Пaпиaменто - Пaлaуaнски - Староперсијски - Филипински језик - Феничaнски - Пaли - Пољски - Понпејски - Пракритски - Старопровансалски - Паштунски - Португалски - Бразилски португалски - Иберијски португалски - Квенчa - Рaђaстaни - Рaпaнуи - Рaротонгaн - Рето-Романски - Рунди - Румунски - Ромaнски језик - Ромaни - Рут - Руски - Aромaнијски - Кинјаруанда - Санскрит - Сaндaве - Јaкут - Језик јужноамеричких Индијанаца - Сaлишaнски језик - Сaмaритaнски aрaмејски - Сaсaк - Сaнтaли - Сардињаски - Сицилијански - Шкотски - Синди - Северни сaми - Селкaп - Семитски језик - Санго - Староирски - Знаковни језик - Српскохрватски - Шaн - Сингалески - Сидамо - Сиуaнски језик - Сино-тибетански језик - Словачки - Словеначки - Словенски језик - Самоански - Јужни сaми - Сaми језик - Луле сaми - Инaри сaми - Сколтски језик - Шонa - Сонинке - Сомалски - Соџијенски - Сонгaи - Албански - Српски - Срaнaнски тонго - Серер - Свaти - Нило-сaхaрски језик - Сесото - Судански - Сукумa - Сусу - Сумерски - Шведски - Свахили - Класични сиријски - Сиријски - Тамилски - Тaи језик - Телугу - Тимне - Терено - Тетум - Тађик - Тајландски - Тигриња - Тигре - Тив - Туркменски - Токелaу - Тагалски - Клингонски - Тлингит - Тaмaшек - Тсвaнa - Тонгa - Њaсa тонгa - Ток Писин - Турски - Тсонгa - Тсимшиaн - Татарски - Тумбукa - Тупи језик - Aлтaички језик - Тувaлу - Тви - Тахићански - Тувинијски - Удмурт - Ујгурски - Угaритски - Украјински - Умбунду - Непознат или неважећи језик - Урду - Узбечки - Вaи - Вендa - Вијетнамски - Волапук - Вотски - Вaлун - Вaкaшaнски језик - Вaлaмо - Варај - Вашо - Сорбијaнски језик - Волоф - Кaлмик - Ксхоса - Јaо - Јaпешки - Јидиш - Јоруба - Јупик - Жуанг - Зaпотечки - Блисимболи - Зенaгa - Кинески - Кинески (поједностављен) - Кинески (традиционални) - Зaнде - Зулу - Зуни - Без лингвистичког садржаја - Зaзa - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Свет - Африка - Северноамерички континент - Јужна Америка - Океанија - Западна Африка - Централна Америка - Источна Африка - Северна Африка - Централна Африка - Јужна Африка - Америке - Северна Америка - Кариби - Источна Азија - Јужна Азија - Југоисточна Азија - Јужна Европа - Аустралија и Нови Зеланд - Меланезија - Микронезијски регион - Полинезија - Јужно-централна Азија - Азија - Централна Азија - Западна Азија - Европа - Источна Европа - Северна Европа - Западна Европа - Комонвелт независних држава - Латинска Америка и Кариби - Каналска острва - Андора - Уједињени Арапски Емирати - Авганистан - Антигве и Барбуда - Ангвила - Албанија - Арменија - Холандски Антили - Ангола - Антарктик - Аргентина - Америчка Самоа - Аустрија - Аустралија - Аруба - Аландска острва - Азербејџан - Босна и Херцеговина - Барбадос - Бангладеш - Белгија - Буркина Фасо - Бугарска - Бахреин - Бурунди - Бенин - Свети Бартоломеј - Бермуда - Брунеј - Боливија - Бразил - Бахами - Бутан - Буве Острва - Боцвана - Белорусија - Белизе - Канада - Кокос (Келинг) Острва - Демократска република Конго - Централно Афричка Република - Конго - Швајцарска - Обала Слоноваче - Кукова Острва - Чиле - Камерун - Кина - Колумбија - Костарика - Србија и Црна Гора - Куба - Капе Верде - Божићна острва - Кипар - Чешка - Немачка - Џибути - Данска - Доминика - Доминиканска Република - Алжир - Еквадор - Естонија - Египат - Западна Сахара - Еритреја - Шпанија - Етиопија - Финска - Фиџи - Фолкландска Острва - Микронезија - Фарска Острва - Француска - Габон - Велика Британија - Гренада - Грузија - Француска Гвајана - Гурнси - Гана - Гибралтар - Гренланд - Гамбија - Гвинеја - Гваделупе - Екваторијална Гвинеја - Грчка - Јужна Џорџија и Јужна Сендвич Острва - Гватемала - Гуам - Гвинеја-Бисао - Гвајана - Хонг Конг С. А. Р. Кина - Херд и Мекдоналд Острва - Хондурас - Хрватска - Хаити - Мађарска - Индонезија - Ирска - Израел - Острво Ман - Индија - Британска територија у Индијском океану - Ирак - Иран - Исланд - Италија - Џерси - Јамајка - Јордан - Јапан - Кенија - Киргизстан - Камбоџа - Кирибати - Коморска Острва - Сент Китс и Невис - Северна Кореја - Јужна Кореја - Кувајт - Кајманска Острва - Казахстан - Лаос - Либан - Сент Луција - Лихтенштајн - Шри Ланка - Либерија - Лесото - Литванија - Луксембург - Летонија - Либија - Мароко - Монако - Молдавија - Црна Гора - Сент Мартин - Мадагаскар - Маршалска Острва - Македонија - Мали - Мијанмар - Монголија - Макао С. А. Р. Кина - Северна Маријанска Острва - Мартиник - Мауританија - Монсерат - Малта - Маурицијус - Малдиви - Малави - Мексико - Малезија - Мозамбик - Намибија - Нова Каледонија - Нигер - Норфолк Острво - Нигерија - Никарагва - Холандија - Норвешка - Непал - Науру - Ниуе - Нови Зеланд - Оман - Панама - Перу - Француска Полинезија - Папуа Нова Гвинеја - Филипини - Пакистан - Пољска - Сен Пјер и Микелон - Питкерн - Порто Рико - Палестинска територија - Португал - Палау - Парагвај - Катар - Остала океанија - Европска Унија - Реинион - Румунија - Србија - Русија - Руанда - Саудијска Арабија - Соломонска Острва - Сејшели - Судан - Шведска - Сингапур - Света Јелена - Словенија - Свалбард и Јанмајен Острва - Словачка - Сијера Леоне - Сан Марино - Сенегал - Сомалија - Суринам - Сао Томе и Принципе - Салвадор - Сирија - Свазиленд - Туркс и Кајкос Острва - Чад - Француске Јужне Територије - Того - Тајланд - Таџикистан - Токелау - Источни Тимор - Туркменистан - Тунис - Тонга - Турска - Тринидад и Тобаго - Тувалу - Тајван - Танзанија - Украјина - Уганда - Мања удаљена острва САД - Сједињене Америчке Државе - Уругвај - Узбекистан - Ватикан - Сент Винсент и Гренадини - Венецуела - Британска Девичанска Острва - С.А.Д. Девичанска Острва - Вијетнам - Вануату - Валис и Футуна Острва - Самоа - Јемен - Мајоте - Јужноафричка Република - Замбија - Зимбабве - Непозната или неважећа област - - - Традиционална немачка ортографија - Стандарднизована ресијанска ортографија - Немачка ортографија из 1996 - Француски из касног средњег века до 1606. - Рани модерни француски - Источни арменијски - Западно јерменска - Уједињен турски латинични алфабет - Сан Ђорђио/Била дијалект - Бунтлинг - ИПА фонетика - УПА фонетика - Липовички дијалект ресијански - Монотоник - Натисоне дијалект - Гњива/Њива дијалкект - Осеако/Осојане дијалект - Политоник - Компјутер - Ревидирана ортографија - Ресијан - Сахо - Шкотски стандардни Енглески - Скауз - Столвица/Солбица дијалект - Тараскијевичка ортографија - Валенцијска - - - Календар - Сортирање - Валута - - - Традиционално кинеско сортирање - Будистички календар - Кинески календар - Директно сортирање - Поједностављено кинеско сортирање - Грегоријански календар - Хебрејски календар - Индијски национални календар - Исламски календар - Исламски цивилни календар - Јапански календар - Сортирање као телефонски именик - Пињин сортирање - Календар Републике Кине - Сортирање по броју црта - Традиционално сортирање - - - САД - Метрички - - - {0} - {0} - {0} - - - - [а-д ђ е-и ј к л љ м н њ о-т ћ у-ч џ ш] - [a á à ă â å ä ā æ b c ç d e é è ĕ ê ë ē f-i í ì ĭ î ï ī j-n ñ o ó ò ŏ ô ö ø ō œ p-s ß t u ú ù ŭ û ü ū v-y ÿ z] - [a-c č d-l ł m-o º p-z] - - - “ - ” - ‘ - ’ - - - - - пре подне - поподне - - - БЕ - - - - - пре подне - поподне - - - - - - Таут - Баба - Хатор - Киахк - Тоба - Амшир - Барамхат - Барамуда - Башанс - Паона - Епеп - Месра - Наси - - - - пре подне - поподне - - - - - - Мескерем - Текемт - Хедар - Тахсас - Тер - Јекатит - Мегабит - Миазиа - Генбот - Сене - Хамле - Нехасе - Пагумен - - - - пре подне - поподне - - - - - - јан - феб - мар - апр - мај - јун - јул - авг - сеп - окт - нов - дец - - - јануар - фебруар - март - април - мај - јун - јул - август - септембар - октобар - новембар - децембар - - - - - ј - ф - м - а - м - ј - ј - а - с - о - н - д - - - - - - - нед - пон - уто - сре - чет - пет - суб - - - недеља - понедељак - уторак - среда - четвртак - петак - субота - - - - - н - п - у - с - ч - п - с - - - - - - - К1 - К2 - К3 - К4 - - - Прво тромесечје - Друго тромесечје - Треће тромесечје - Четврто тромесечје - - - - - 1 - 2 - 3 - 4 - - - - пре подне - поподне - - - Пре нове ере - Нове ере - - - п. н. е. - н. е - - - п.н.е. - н.е. - - - - - - EEEE, dd. MMMM y. - - - - - dd. MMMM y. - - - - - dd.MM.y. - - - - - d.M.yy. - - - - - - - HH.mm.ss zzzz - - - - - HH.mm.ss z - - - - - HH.mm.ss - - - - - HH.mm - - - - - - d. EEE - E d. - HH.mm - L - E, M-d - LLL - E d. MMM - E MMMM d - MMMM d. - dd. MMMM - MMM d. - dd.MMM - MM-dd - d/M - d - hh.mm a - hh.mm.ss a - mm:ss - y. - y-M - EEE, d. M. yyyy. - MMM. y - EEE, d. MMM y. - y MMMM - y Q - QQQ. y - MM.yy - d. MMM yy. - dd.MM.yy - Q yy - QQQQ yy - y. - yyyy-MM - MMMM y. - - - {0} - {1} - - M-M - - - E, d.M - E, d.M - E, d.M - E, d.M - - - MMM-MMM - - - E, dd. MMM - E, dd. MMM - E, dd. - E, dd. MMM - - - LLLL-LLLL - - - dd. MMM - dd. MMM - dd.-dd. MMM - - - d.M - d.M - d.M - d.M - - - d-d - - - HH-HH - HH-HH - - - HH.mm-HH.mm - HH.mm-HH.mm - HH.mm-HH.mm - - - HH.mm-HH.mm v - HH.mm-HH.mm v - HH.mm-HH.mm v - - - HH-HH v - HH-HH v - - - y-y - - - yyyy M - M - yyyy M - M - - - E, d.M.yy. - E, d.M.yy. - E, d.M.yy. - E, d.M.yy. - E, d.M.yy. - E, d.M.yy. - - - MMM-MMM y. - MMM y. - MMM y. - - - E, dd. MMM - E, dd. MMM y. - E, dd. - E, dd. MMM y. - E, dd. MMM y. - E, dd. MMM y. - - - yyyy-MM – MM - yyyy-MM – yyyy-MM - - - dd. MMM - dd. MMM y. - dd.-dd. MMM y. - dd. MMM y. - dd. MMM y. - - - d.M.yy. - d.M.yy. - d.M.yy. - d.M.yy. - d.M.yy. - d.M.yy. - - - - - - ера - - - година - - - месец - - - недеља - - - дан - пре три дана - прекјуче - јуче - данас - сутра - прекосутра - за три дана - - - дан у недељи - - - пре подне/поподне - - - час - - - минут - - - секунд - - - зона - - - - - - - - Тишри - Хешван - Кислев - Тевет - Шеват - Адар I - Адар - Нисан - Ијар - Сиван - Тамуз - Ав - Елул - - - - пре подне - поподне - - - - - - Чаитра - Ваисака - Јиаиста - Асада - Сравана - Бадра - Асвина - Картика - Аргајана - Пауза - Мага - Фалгуна - - - - пре подне - поподне - - - САКА - - - - - - - - Мурахам - Сафар - Рабиʻ I - Рабиʻ II - Јумада I - Јумада II - Рађаб - Шаʻбан - Рамадан - Шавал - Дуʻл-Киʻда - Дуʻл-хиђа - - - - пре подне - поподне - - - АХ - - - - - пре подне - поподне - - - Таика - Хакучи - Хакухо - Шучо - Таихо - Кеиун - Вадо - Реики - Јоро - Јинки - Темпио - Темпио-кампо - Темпио-шохо - Темпио-хођи - Темпо-ђинго - Ђинго-кеиун - Хоки - Тен-о - Енрјаку - Даидо - Конин - Тенчо - Шова - Кајо - Нињу - Саико - Тенан - Јоган - Генкеи - Ниња - Кампјо - Шотаи - Енђи - Енчо - Шохеи - Тенгјо - Тенриаку - Тентоку - Ова - Кохо - Ана - Тенроку - Тен-ен - Јоген - Тенген - Еикан - Кана - Еи-ен - Еисо - Шорјаку - Чотоку - Чохо - Канко - Чова - Канин - Ђиан - Мању - Чоген - Чорјаку - Чокју - Кантоку - Еишо - Тенђи - Кохеи - Ђирјаку - Енкју - Шохо - Шорјаку - Еишо - Отоку - Канђи - Кахо - Еичо - Шотоку - Кова - Чођи - Кашо - Тенин - Тен-еи - Еикју - Ђен-еи - Хоан - Тенђи - Даиђи - Теншо - Чошао - Хоен - Еиђи - Кођи - Тењо - Кјуан - Нинпеи - Кјују - Хоген - Хеиђи - Еирјаку - Охо - Чокан - Еиман - Нин-ан - Као - Шоан - Анген - Ђишо - Јова - Ђуеи - Генрјуку - Бунђи - Кенкју - Шођи - Кенин - Генкју - Кен-еи - Шоген - Кенрјаку - Кенпо - Шокју - Ђу - Ђенин - Кароку - Антеи - Канки - Ђоеи - Темпуку - Бунрјаку - Катеи - Рјакунин - Ен-о - Нињи - Канген - Хођи - Кенчо - Коген - Шока - Шоген - Бун-о - Кочо - Бун-еи - Кенђи - Коан - Шу - Еинин - Шоан - Кенген - Каген - Токуђи - Енкеи - Очо - Шова - Бунпо - Ђено - Ђенкјо - Шочу - Кареки - Гентоку - Генко - Кему - Енген - Кококу - Шохеи - Кентоку - Бучу - Тењу - Корјаку - Кова - Генчу - Меитоку - Какеи - Ку - Меитоку - Оеи - Шочо - Еикјо - Какитсу - Бун-ан - Хотоку - Кјотоку - Кошо - Чороку - Каншо - Буншо - Онин - Бунмеи - Чокјо - Ентоку - Меио - Бунки - Еишо - Таиеи - Кјороку - Тенмон - Кођи - Еироку - Генки - Теншо - Бунроку - Кеичо - Генва - Кан-еи - Шохо - Кеиан - Шу - Меирјаку - Мањи - Канбун - Енпо - Тенва - Јокјо - Генроку - Хоеи - Шотоку - Кјохо - Генбун - Канпо - Енкјо - Кан-ен - Хорјаку - Меива - Ан-еи - Тенмеи - Кансеи - Кјова - Бунка - Бунсеи - Тенпо - Кока - Каеи - Ансеи - Ман-ен - Бункју - Генђи - Кеико - Меиђи - Таишо - Шова - Хаисеи - - - - - - EEEE, MMMM d, y G - - - - - MMMM d, y G - - - - - MMM d, y G - - - - - M/d/yy G - - - - - - - - - Фаравадин - Ордибехешт - Кордад - Тир - Мордад - Шахривар - Мехр - Абан - Азар - Деј - Бахман - Есфанд - - - - пре подне - поподне - - - пре подне - поподне - - - Пре РК - РК - - - - - - +HHmm;-HHmm - GMT{0} - {0} - {1} ({0}) - - Непознат или неважећи град - - - Андора - - - Дубаи - - - Кабул - - - Антигва - - - Ангвила - - - Тирана - - - Јереван - - - Кирасо - - - Луанда - - - Ротера - - - Палмер - - - Јужни пол - - - Шова - - - Мосон - - - Дејвис - - - Восток - - - Касеј - - - Димон д’Урвил - - - Макмурдо - - - Рио Гелегос - - - Мендоза - - - Сан Хуан - - - Ушуаија - - - Ла Риоја - - - Сан Луи - - - Катамарка - - - Салта - - - Жужуи - - - Тукуман - - - Кордоба - - - Буенос Аирес - - - Паго Паго - - - Беч - - - Перт - - - Иукла - - - Дарвин - - - Аделаида - - - Брокен Хил - - - Курие - - - Мелбурн - - - Хобарт - - - Линдеман - - - Сиднеј - - - Бризбејн - - - Лорд Хов - - - Аруба - - - Баку - - - Барбадос - - - Дака - - - Брисел - - - Уагадугу - - - Софија - - - Бахреин - - - Буџумбура - - - Порто Ново - - - Бермуди - - - Брунеји - - - Ла Паз - - - Еирунепе - - - Рио Бранко - - - Порто Вељо - - - Боа Виста - - - Манаус - - - Куиаба - - - Сантарем - - - Кампо Гранде - - - Белем - - - Арагвајана - - - Сао Паоло - - - Бахиа - - - Форталеза - - - Масејо - - - Ресифе - - - Нороња - - - Насау - - - Тхимпху - - - Габорон - - - Минск - - - Белизе - - - Досон - - - Вајтхорс - - - Инувик - - - Ванкувер - - - Досон Крик - - - Едмонтон - - - Свифт Курент - - - Кембриџ Беј - - - Регина - - - Винипег - - - Ресолут - - - Рејни Ривер - - - Ранкин Инлет - - - Корал Харбур - - - Тандер Беј - - - Нипигон - - - Торонто - - - Монтреал - - - Иквалуит - - - Пангниртунг - - - Монктон - - - Халифакс - - - Гус Беј - - - Глејс Беј - - - Бланк-Сејблон - - - Св. Џон - - - Кокосова острва - - - Киншаса - - - Лумумбаши - - - Бангуи - - - Бразавил - - - Цирих - - - Абиџан - - - Раротонга - - - Ускршње острво - - - Сантијаго - - - Дуала - - - Кашгар - - - Урумкви - - - Чонгкинг - - - Шангај - - - Харбин - - - Богота - - - Костарика - - - Хавана - - - Капе Верде - - - Божићно острво - - - Никозија - - - Берлин - - - Џибути - - - Копенхаген - - - Доминика - - - Санто Доминго - - - Алжир - - - Галапагос - - - Гвајакил - - - Талин - - - Каиро - - - Ел Ајун - - - Асмера - - - Канарска острва - - - Сеута - - - Мадрид - - - Адис Абеба - - - Хелсинки - - - Фиџи - - - Стенли - - - Трук - - - Понапе - - - Кошре - - - Фарска Острва - - - Париз - - - Либревил - - - Лондон - - - Гренада - - - Тбилиси - - - Кајен - - - Акра - - - Гибралтар - - - Туле - - - Нук - - - Скорезбисунд - - - Данмарксхаген - - - Банжул - - - Конакри - - - Гвадалупе - - - Малабо - - - Атина - - - Јужна Џорџија - - - Гватемала - - - Гуам - - - Бисао - - - Гуана - - - Хонг Конг - - - Порт-о-Пренс - - - Будимпешта - - - Џакарта - - - Понтианак - - - Макасар - - - Џајапура - - - Даблин - - - Чагос - - - Багдад - - - Техеран - - - Рејкјавик - - - Рим - - - Јамајка - - - Аман - - - Токио - - - Најроби - - - Бишкек - - - Пном Пен - - - Ендербери - - - Киритимати - - - Тарава - - - Коморо - - - Сент Китс - - - Пјонгјанг - - - Сеул - - - Кувајт - - - Кајманска острва - - - Актау - - - Орал - - - Акутобе - - - Кизилорда - - - Алмати - - - Вијетијан - - - Бејрут - - - Св. Луција - - - Вадуц - - - Коломбо - - - Монровија - - - Масеру - - - Виљнус - - - Луксембург - - - Рига - - - Триполи - - - Казабланка - - - Монако - - - Кишњев - - - Антананариво - - - Кваџалејин - - - Мајуро - - - Бамако - - - Рангун - - - Ховд - - - Улан Батор - - - Чојбалсан - - - Макау - - - Сајпан - - - Мартиник - - - Навакшут - - - Монтсерат - - - Малта - - - Маурицијус - - - Малдиви - - - Блантир - - - Тихуана - - - Хермосиљо - - - Мазатлан - - - Чихуахуа - - - Монтереј - - - Мексико Сити - - - Мерида - - - Канкун - - - Куала Лумпур - - - Кучинг - - - Мапуто - - - Виндхук - - - Нумеа - - - Нијамеј - - - Норфолк - - - Лагос - - - Манагва - - - Амстердам - - - Осло - - - Катманду - - - Науру - - - Ниуе - - - Катхам - - - Окланд - - - Мускат - - - Панама - - - Лима - - - Тахити - - - Маркиз - - - Гамбије - - - Порт Морзби - - - Манила - - - Карачи - - - Варшава - - - Микелон - - - Питкаирн - - - Порто Рико - - - Газа - - - Азори - - - Лисабон - - - Палау - - - Асунсион - - - Катар - - - Уједињење - - - Букурешт - - - Калининград - - - Москва - - - Волгоград - - - Самара - - - Јекатеринбург - - - Омск - - - Новосибирск - - - Краснојарск - - - Иркуцк - - - Јакутск - - - Владивосток - - - Сахалин - - - Магадан - - - Камчатка - - - Анадир - - - Кигали - - - Ријад - - - Гвадалканал - - - Махе - - - Картум - - - Стокхолм - - - Сингапур - - - Света Јелена - - - Фритаун - - - Дакар - - - Могадиш - - - Парамирбо - - - Сао Томе - - - Салвадор - - - Дамаск - - - Мбабане - - - Гранд Турк - - - Нџамена - - - Кергелен - - - Ломе - - - Банкок - - - Душанбе - - - Факаофо - - - Дили - - - Ашхабад - - - Тунис - - - Тонгатапу - - - Истанбул - - - Порт оф Спејн - - - Фанафути - - - Тајпеј - - - Дар-ес-Салам - - - Ужгород - - - Кијев - - - Симферопол - - - Запорожје - - - Кампала - - - Мидвеј - - - Џонстон - - - Вејк - - - Адак - - - Ном - - - Хонолулу - - - Енкориџ - - - Жуно - - - Лос Анђелес - - - Бојзи - - - Феникс - - - Шипрок - - - Денвер - - - Нови Салем, Северна Даткоа - - - Центар, Северна Дакота - - - Чикаго - - - Меномини - - - Винценес, Индијана - - - Петерсбург, Индијана - - - Тел Сити - - - Кнокс, Индијана - - - Винамак, Индијана - - - Маренго, Индијана - - - Индианаполис - - - Луивиле - - - Вевај, Индијана - - - Монтичело, Кентаки - - - Детроит - - - Њујорк - - - Монтевидео - - - Самарканд - - - Ташкент - - - Сент Винсент - - - Каракас - - - Тортола - - - Св. Тома - - - Ефате - - - Валис - - - Апија - - - Аден - - - Мајоте - - - Јоханесбург - - - Лусака - - - Хараре - - - - Акре време - Акре летње рачунање времена - - - ACT (Aкре) - ACST (Aкре) - - - - - Централно-афричко време - - - - - Источно-афричко време - - - - - Јужно-афричко време - Јужно-афричко стандардно време - - - - - Западно-афричко време - Западно-афричко летње рачунање времена - - - - - Актјубинск време - Актјубинск летње рачунање времена - - - - - Алмати време - Алмати летње рачунање времена - - - - - Амазон време - Амазон летње рачунање времена - - - - - Централно време - Централно стандардно време - Централно летње рачунање времена - - - - - Источно време - Источно стандардно време - Источно летње рачунање времена - - - - - Планинско време - Планинско стандардно време - Планинско летње рачунање времена - - - - - Пацифичко време - Пацифичко стандардно време - Пацифичко летње рачунање времена - - - - - Анадир време - Анадир летње рачунање времена - - - - - Акватау време - Акватау летње рачунање времена - - - AQTT (Aкватау) - AQTST (Aкватау) - - - - - Акутобе време - Акутобе летње рачунање времена - - - AQTT (Aктобе) - AQTST (Aктобе) - - - - - Арабијско време - Арабијско стандардно време - Арабијско летње рачунање времена - - - AT (Арабијско) - AST (Арабијско) - ADT (Арабијско) - - - - - Аргентина време - Аргентина летње рачунање времена - - - - - Западна Аргентина време - - - - - Арменија време - Арменија летње рачунање времена - - - AMT (Aрменија) - AMST (Aрменија) - - - - - Ашкаб±ад време - Ашкабад летње рачунање времена - - - - - Атланско време - Атланско стандардно време - Атланско лтње рачунање времена - - - - - Аустралијско централно време - Аустралијско централно стандардно време - Аустралијско централно летње рачунање времена - - - - - Аустралијско централно западно време - Аустралијско централно западно стандардно време - Аустралијско централно западно летње рачунање времена - - - - - Аустралијско источно време - Аустралијско источно стандардно време - Аустралијско источно летње рачунање времена - - - - - Аустралијско западно време - Аустралијско западно стандардно време - Аустралијско западно летње рачунање времена - - - - - Азербејџан време - Азербејџан летње рачунање времена - - - - - Азори време - Азори летње рачунање времена - - - - - Баку време - Баку летње рачунање времена - - - - - Бангладеш време - - - - - Беринг време - Беринг стандардно време - Беринг летње рачунање времена - - - BT (Беринг) - BST (Беринг) - BDT (Беринг) - - - - - Бутан време - - - - - Боливија време - - - - - Борнео време - Борнео летње рачунање времена - - - - - Бразилија време - Бразилија летње рачунање времена - - - - - Брунеј Дарусалум време - - - - - Зелениртско време - Зеленортско летње рачунање времена - - - - - Чаморо време - Чаморо стандардно време - - - - - Чангбаи време - - - - - Чатам стандардно време - Чатам летње рачунање времена - - - - - Чиле време - Чиле летње рачунање времена - - - - - Кина време - Кинеско стандардно време - Кина летње рачунање времена - - - CT (Кина) - CST (Кина) - CDT (Кина) - - - - - Чојбалсан време - Чојбалсан летње рачунање времена - - - - - Божићна острва време - - - - - Кокос (Келинг) Острва време - - - - - Колумбија време - Колумбија летње рачунање времена - - - - - Кукова острва време - Кукова острва полу-летње рачунање времена - - - - - Куба време - Куба стандардно време - Куба летње рачунање времена - - - - - Дача време - - - - - Дејвис време - - - - - Димон д’Урвил време - - - - - Душанбе време - Душанбе летње рачунање времена - - - - - Холандска Гвајана време - - - - - Источни тимор време - - - - - Ускршња острва време - Ускршња острва летње рачунање времена - - - - - Еквадор време - - - - - Средњеевропско време - Средњеевропско летње рачунање времена - - - - - Источноевропско време - Источноевропско летње рачунање времена - - - - - Западноевропско време - Западноевропско летње рачунање времена - - - - - Фолкландска Острва време - Фолкландска Острва летње рачунање времена - - - - - Фиџи време - Фиџи летње рачунање времена - - - - - Француска Гвајана време - - - - - Француско јужно и антарктичко време - - - - - Фрунзе време - Фрунзе летње рачунање времена - - - - - Гринвич средње време - - - - - Галапагос време - - - - - Гамбијер време - - - - - Грузија време - Грузија летње рачунање времена - - - - - Гилберт острва време - - - - - Централни Гренланд време - Централни Гренланд летње рачунање времена - - - - - Источни Гренланд време - Источни Гренланд летње рачунање времена - - - - - Западни Гренланд време - Западни Гренланд летње рачунање времена - - - - - Гуам стандардно време - - - GST (Гуам) - - - - - Залив време - Залив стандардно време - - - - - Гвајана време - - - - - Хавајско-алеућанско стандардно време - - - - - Хонг Конг време - Хонгконшко летње рачунање времена - - - - - Ховд време - Ховд летње рачунање времена - - - - - Индијско стандардно време - - - - - Индијско океанско време - - - - - Индокина време - - - - - Централно-индонезијско време - - - - - Источно-индонезијско време - - - - - Западно-индонезијско време - - - - - Иран стандардно време - Иран летње рачунање времена - - - - - Иркуцк време - Иркуцк летње рачунање времена - - - - - Израелско стандардно време - Израелско летње рачунање времена - - - - - Јапанско стандардно време - Јапанско летње рачунање времена - - - - - Петропавловско-камчатско време - Петропавловско-камчатско летње рачунање вемена - - - - - Карачи време - - - - - Кашгар време - - - - - Источно-казахстанско време - Источно-казахстанско стандардно време - - - - - Западно-казахстанско време - Западно-казахстанско стандардно време - - - - - Кизилорда време - Кизилорда летње рачунање времена - - - - - Кореја време - Корејско стандардно време - Корејско летње рачунање времена - - - - - Кошре време - - - - - Краснојарск време - Краснојарсклетње рачунање времена - - - - - Кујбишев време - Кујбишев летње рачунање времена - - - - - Кваџалејин време - - - - - Киргизстан време - - - - - Шри Ланка време - - - - - Лине Острва време - - - - - Лонг Шу време - - - - - Лорд Хов време - Лорд Хов стандардно време - Лорд Хов летње рачунање времена - - - - - Макао време - Макао летње рачунање вемена - - - - - Магадан време - - - - - Малаја време - - - - - Малезија време - - - - - Малдиви време - - - - - Маркиз време - - - - - Маршалска Острва време - - - - - Маурицијус време - Маурицијус летње рачунање времена - - - - - Мосон време - - - - - Улан Батор време - Улан Батор летње рачунање времена - - - - - Москва време - Москва стандардно време - Москва летње рачунање времена - - - - - Мијанмар време - - - - - Науру време - - - - - Непал време - - - - - Нова Каледонија време - Нова Каледонија летње рачунање времена - - - - - Нови Зеланд време - Нови Зеланд стандардно време - Нови Зеланд летње рачунање времена - - - - - Њуфаундленд време - Њуфаундленд стандардно време - Њуфаундленд летње рачунање времена - - - - - Ниуе време - - - - - Норфолк Острво време - - - - - Фернандо де Нороња време - Фернандо де Нороња летње рачунање времена - - - - - Северна Маријанска Острва време - - - - - Новосибирск време - Новосибирск летње рачунање времена - - - - - Омск време - Омск летње рачунање времена - - - - - Пакистан стандардно време - Пакистан летње рачунање времена - - - - - Папуа Нова Гвинеја време - - - - - Парагвај време - Парагвај летње рачунање времена - - - - - Перу време - Перу летње рачунање времена - - - - - Филипини време - Филипини летње рачунање времена - - - - - Феникс острва време - - - - - Пјер и Микелон време - Пјер и Микелон стандардно време - Пјер и Микелон летње рачунање вемена - - - - - Питкерн време - - - - - Понапе време - - - - - Кизилорда време - Кизилорда летње рачунање времена - - - - - Реинион време - - - - - Ротера време - - - - - Сахалин време - Сахалин летње рачунање времена - - - - - Самара време - Самара стандардно време - Самара летње рачунање времена - - - - - Самарканд време - Самарканд летње рачунање времена - - - - - Самоа стандардно време - - - - - Сејшели време - - - - - Шевченко време - Шевченко летње рачунање времена - - - - - Сингапур стандардно време - - - - - Соломонска Острва време - - - - - Јужна Џорџија време - - - - - Суринам време - - - - - Свердловск време - Свердловск летње рачунање времена - - - - - Шова време - - - - - Тахити време - - - - - Таџикистан време - - - - - Ташкент време - Ташкент летње рачунање времена - - - - - Тбилиси време - Тбилиси летње рачунање времена - - - - - Токелау време - - - - - Тонга време - Тонга летње рачунање времена - - - - - Трук време - - - - - Турска време - Турска летње рачунање времена - - - - - Туркменистан време - Туркменистан летње рачунање времена - - - - - Тувалу време - - - - - Уралск време - Уралск летње рачунање времена - - - - - Уругвај време - Уругвај летње рачунање времена - - - - - Урумки време - - - - - Узбекистан време - Узбекистан летње рачунање времена - - - - - Вануату време - Вануату летње рачунање времена - - - - - Венецуела време - - - - - Владивосток време - Владивосток летње рачунање времена - - - - - Волгоград време - Волгоград летње рачунање времена - - - - - Восток време - - - - - Вејк острво време - - - - - Валис и Футуна Острва време - - - - - Јакутск време - Јакутск летње рачунање времена - - - - - Јекатеринбург време - Јекатеринбург летње рачунање времена - - - - - Јереван време - Јереван летње рачунање времена - - - - - Јукон време - Јукон стандардно време - Јукон летње рачунање времена - - - - - - - . - , - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - {0} {1} - {0} {1} - - - - Андорска пезета - андорске пезете - андорских пезета - андорска пезета - андорске пезете - - - Уједињени арапски емирати дирхам - УАЕ дирама - УАЕ дирама - УАЕ дирам - УАЕ дирама - - - Авганистански авган (1927-2002) - aвганистанска авгана (AFA) - aвганистанских авгана (AFA) - авганистански авган (AFA) - авганистанских авгана (AFA) - - - Авганистански авган - авганистанска авгана - авганистанских авгана (AFN) - авганистански авган - авганистански авгани - - - Албански лек - Албанске леке - Албанских лека - албански лек - - - Јерменски драм - Јерменска драма - Јерменских драма - јерменски драм - - - Холандски антили гилдер - холандска антила - холандско-антилских гилдера - холандско-антилски гилдер - холандско-антилских гилдера - - - aнголијска кванза - анголијске кванзе - анголијских кванзи - анголијска кванза - анголијских кванзи - - - aнголијска кванза (1977-1990) - анголијске кванзе (AOK) - анголијских кванзи (AOK) - анголијска кванза (AOK) - анголијских кванзи (AOK) - - - Анголијска нова кванза (1990-2000) - анголијске нове кванзе - анголијских нових кванзи - анголијска нова кванза - анголијских нових кванзи - - - Анголска кванза реађустадо (1995-1999) - анголијске кванзе реађустадо - анголијских кванзи реађустадо - анголијска кванза реађустадо - анголијских кванзи реађустадо - - - Аргентински аустрал - аргентинска аустрала - аргентинских аустрала - аргентински аустрал - аргентинских аустрала - - - aргентински пезо (1983-1985) - аргентинска пезоса (ARP) - аргентинских пезоса (ARP) - аргентински пезо - аргентинских пезоса (ARP) - - - aргентински пезо - аргентинска пезоса - аргентинских пезоса - аргентински пезос - аргентинских пезоса - - - Аустријски шилинг - аустријска шилинга - аустријских шилинга - аустријски шилинг - аустријских шилинга - - - Аустралијски долар - Аустралијска долара - Аустралијских долара - аустралијски долар - аустралијских долара - - - Арубански флорин - арубанска флорина - арубанских флорина - арубански флорин - арубанских флорина - - - Азербејџански манат (1993-2006) - азербејџанска маната (AZM) - азербејџанских маната (AZM) - азербејџански манат (AZM) - азербејџанских маната (AZM) - - - Азербејџански манат - азербејџанска маната - азербејџанских маната - азербејџански манат (AZN) - азербејџанских маната - - - Босанско-Херцеговачки динар - босанско-херцеговачка динара - босанско-херцеговачких динара - босанско-херцеговачки динар - босанско-херцеговачких динара - - - Конвертибилна марка - босанско-херцеговачке конвертибилне марк - босанско-херцеговачких конвертабилних марака - босанско-херцеговачка конвертибилна марка - босанско-херцеговачких конвертибилних марака - - - Барбадошки долар - барбадошка долара - барбадошких долара - барбадошки долар - барбадошких долара - - - Бангладешка така - бангладешке таке - бангладешких така - бангладешка така - бангладешких така - - - Белгијски франак (конвертибилни) - белгијска франка (конвертибилна) - белгијских франака (конвертибилних) - белгијски франак (конвертибилни) - белгијских франака (конвертибилних) - - - Белгијски франак - белгијска франка - белгијских франака - белгијски франак - белгијских франака - - - Белгијски франак (финансијски) - белгијска франка (финансијска) - белгијских франака (финансијских) - белгијски франак (финансијски) - белгијских франака (финансијских) - - - Бугарски тврди лев - бугарска тврда лева - бугарских тврдих лева - бугарски тврди лев - бугарских тврдих лева - - - Бугарски лев - бугарска лева - бугарских лева - бугарски лев - бугарских лева - - - Бахреински динар - бахреинских динара - бахреинских динара - бахреинских динара - - - Бурундски франак - бурундска франка - бурундских франака - бурундски франак - бурундски франци - - - Бермудски долар - бермудска долара - бермудских долара - бермудски долар - бермудских долара - - - Брунејски долар - брунејска долара - брунејских долара - брунејски долар - брунејских долара - - - Боливијски Боливиано - боливијска боливиана - боливијских боливиана - боливијски боливиано - боливијских боливиана - - - Боливијски пезо - боливијска пезоса - боливијских пезоса - боливијски пезо - боливијских пезоса - - - Боливијски мвдол - боливијска мвдола - боливијских мвдола - боливијски мвдол - боливијских мвдола - - - Бразилски нови крузеиро (1967-1986) - бразилска нова крузеира - бразилских нових крузеира - бразилски нови крузеиро - бразилских нових крузеира - - - Бразилијски крузадо - бразилска крузадоса - бразилских крузадоса - бразилски крузадос - бразилских крузадоса - - - Бразилски крузеиро (1990-1993) - бразилска крузеира (BRE) - бразилских крузеира (BRE) - бразилски крузеиро (BRE) - бразилских крузеира (BRE) - - - Бразилски Реал - бразилска реала - бразилских реала - бразилски реал - бразилских реала - - - Бразилијски нови крузадо - бразилска нова крузада - бразилских нових крузада - бразилски нови крузадо - бразилских нових крузада - - - Бразилски крузеиро - бразилска крузеира - бразилских крузеира - бразилски крузеиро - бразилских крузеира - - - Бахамски долар - бахамска долара - бахамских долара - бахамски долар - бахамских долара - - - Бутански нгултрум - бутанска нгултрумa - бутанских нгултрумa - бутански нгултрум - бутанских нгултра - - - Бурмански кјат - бурманска кјата - бурманских кјата - бурмански кјат - бурманских кјата - - - Боцванска пула - боцванске пуле - боцванских пула - боцванска пула - боцванских пула - - - Белоруска нова рубља (1994-1999) - белоруске нове рубља - белоруских нових рубљи - белоруска нова рубља - белоруских нових рубљи - - - Белоруска рубља - белоруске рубље - белоруских рубљи - белоруска рубља - белоруске рубље - - - Белизе долар - белизеанска долара - белизеанских долара - белизеански долар - белизеанских долара - - - Канадски долар - канадска долара - Канадских долара - канадски долар - канадских долара - - - Конголски франак - конголска франка - конголских франака - конголски франак - конголских франака - - - WIR евро - WIR евра - WIR евра - WIR евро - WIR евра - - - Швајцарски франак - швајцарска франка - швајцарских франака - швајцарски франак - швајцарских франака - - - WIR франак - WIR франка - WIR франака - WIR франак - WIR франака - - - Чилеовски унидадес се фоменто - чилеанска унидадес де фомента - чилеанских унидадес де фомента - чилеански унидадес де фоменто - чилеански унидадеси де фоменто - - - Чилеански пезо - чилеанска пезоса - чилеанских пезоса - чилеански пезо - чилеански пезоси - - - Кинески јуан ренминби - кинеска јуан - кинеских јуанa - кинески јуан - кинеских јуанa - - - Колумбијски пезо - колумбијска пезоса - колумбијских пезоса - колумбијски пезо - - - Унидад де валоршки реал - нидад де валор реала - унидад де валоршких реала - унидад де валоршки реал - унидад де валоршких реала - - - Костарикански колон - костариканска колона - костариканских колона - костарикански колон - костарикански колони - - - Стари српски динар - стара српска динара - старих српских динара - стари српски динар - старих српских динара - - - Чехословачка тврда круна - чехословачке тврде круне - чехословачких тврдих круна - чехословачка тврда круна - чехословачких тврдих круна - - - Кубански пезо - кубанска пезоса - кубанских пезоса - кубански пезос - кубанских пезоса - - - Зеленортски ескудо - зеленортска ескуда - зеленортских ескуда - зеленортски ескудо - зеленортских ескуда - - - Кипарска фунта - кипарске фунте - кипарских фунти - кипарска фунта - кипарских фунти - - - Чешка круна - чешке круне - чешких крунa - чешка круна - чешких круне - Кч - - - Источно-немачка марка - источно-немачке марке - источно-немачких марака - источно-немачка марка - источно-немачких марака - - - Немачка марка - немачке марке - немачких марака - немачка марка - немачких марака - - - Џибутански франак - џибутска франка - џибутских франака - џибутски франак - џибутски франци - - - Данска круна - данске круне - данских круна - данска круна - данских круна - - - Доминикански пезо - доминиканска пезоса - доминиканских пезоса - доминикански пезо - доминиканских пезоса - - - Алжирски динар - алжирска динара - алжирских динара - алжирски динар - алжирских динара - - - Еквадорски сакр - еквадорска сакра - еквадорских сакра - еквадорски сакр - еквадорских сакра - - - Еквадорски унидад де валор константе - еквадорска унидад де валор константа - еквадорских унидад де валор константа - еквадорски унидад де валор константе - еквадорских унидад де валор константа - - - Естонска кроон - естонске круне - естонских круна - естонска круна - естонских круна - - - Египатска фунта - египатске фунте - египатских фунти - египатска фунта - ег³³ипатских фунти - - - Еритреанска накфа - еритрејске накфе - еритрејских накфи - еритрејска накфа - еритреанских накфки - - - Шпанска пезета (рачун) - шпанске пезете (А рачун) - шпанских пезета (А рачун) - шпанска пезета (А рачун) - шпанских пезета (А рачун) - - - Шпанска пезета (конвертибилнирачун) - шпанске пезете (конвертибилан рачун) - шпанских пезета (конвертибилан рачун) - шпанска пезета (конвертибилан рачун) - шпанских пезета - - - Шпанска пезета - шпанска пезета - шпанских пезета (ESP) - шпанска пезета - шпанске пезете - - - етиопијски бир - етиопијска бира - етиопијских бира - етиопијски бир - етиопијских бира - - - Евро - евра - евра - евро - евра - - - Финска марка - финске марке - финских марака - финска марка - финских марака - - - Фиџи долар - фиџи долара - фиџи долара - фиџи долар - фиџи долара - - - Фокландска острва фунта - фолкландске фунте - фолкландских фунти - фолкландска фунта - фолкландских фунти - - - Француски франак - француска франка - француских франака - француски франак - француских франака - - - Британска фунта стерлинга - британске фунте стерлинга - британских фунти стерлинга - британска фунта стерлинга - британских фунти стерлинга - - - Грузијски купон ларит - грузијска купон ларита - грузијских купон ларита - грузијски купон ларит - грузијских купон ларита - - - Грузијски лари - грузијска лариса - грузијских лариса - грузијски ларис - грузијских лариса - - - гански цеди (1979-2007) - ганска цеда (GHC) - ганских цеда (GHC) - гански цед (GHC) - ганских цеда (GHC) - - - Гански цеди - ганска цеда - ганских цеда - гански цед - ганских цеда - - - Гибралташка фунта - гибралтарске фунте - гибралтарских фунти - гибралтарска фунта - гибралтарских фунти - - - Гамбијски даласи - гамбијска даласа - гамбијских даласа - гамбијски далас - гамбијских даласа - - - Гвинејски франак - гвинејска франка - гвинејских франака - гвинејски франак - гвинејски франци - - - Гвинејски сили - гвинејска сила - гвинејских сила - гвинејски сили - гвинејских сила - - - Екваторијално-гвинејски еквеле - екваторијално-гвинејска еквела - екваторијално-гвинејских еквела - екваторијално-гвинејски еквеле - екваторијално-гвинејских еквела - - - Грчка драхма - грчке драхме - драхми - грчка драхма - грчких драхми - - - Гватемалски квецал - гватемалска квецала - гватемалских квецала - гватемалски квецал - гватемалских квецала - - - португалска гвинеја ескудо - португалско-гвинејска ескуда - португалских гвинеја ескудо - португалско-гвинејски ескудо - португалско-гвинејских ескуда - - - Гвинеја Бисао Пезо - гвинеја-бисаошка пезоса - гвинеја-бисаошких пезоса - гвинеја-бисаошки пезо - гвинеја-бисаошких пезоса - - - Гујански долар - гвајанска долара - гвајанских долара - гвајански долар - GYD - - - Хонгконшки долар - хонгконшка долара - хонгконшких долара - хонгконшки долар - хонгконшких долара - - - Хондурашка лемпира - хондурашка лемпира - хондурашких лемпира - хондурашки лемпир - хондурашких лемпира - - - Хрватски динар - хрватска динара - хрватских динара - хрватски динар - хрватских динара - - - Хрватска куна - хрватске куне - хрватских куна - хрватска куна - хрватских куна - - - Хаићански гурд - хаићанска гурда - хаићанских гурда - хаићански гурд - хаићанских гурда - - - Мађарска форинта - мађарске форинте - мађарских форинти - мађарска форинта - мађарске форинте - - - Индонезијска рупиа - индонежанске рупије - индонежанских рупија - индонежанска рупија - индонежанске рупије - - - Ирска фунта - ирске фунте - ирских фунти - ирска фунта - ирских фунти - - - Израелска фунта - израелске фунте - израелских фунти - израелска фунта - израелских фунти - - - стари израелски шекели - стари израелски шекели - стари израелски шекели - стари израелски шекели - стари израелски шекели - - - Израелски нови шекел - израелска нова шекела - израелских нових шекела - израелски нови шекел - израелских нових шекела - - - Индијски Рупи - индијске рупије - индијских рупија - индијска рупија - индијских рупија - - - Ирачки динар - ирачка динара - ирачких динара - ирачки динар - ирачки динари - - - Ирански риал - иранска ријала - иранских ријала - ирански ријал - иранијски ријали - - - стара исландска круна - стара исландска круна - стара исландска круна - стара исландска круна - стара исландска круна - - - Исландска круна - исландске круне - исландских круна - исландска круна - исландске круне - - - Италијанска лира - италијанске лире - италијанских лира - италијанска лира - италијанске лире - - - Јамајски долар - јамајска долара - јамајских долара - јамајски долар - јамајских долара - - - Јордански динар - јорданских динара - јорданских динара - јорданских динара - јорданских динара - - - Јапански јен - јапанска јена - јапанских јена - јапански јен - јапански јен - ¥ - - - Кенијски шилинг - кенијска шилинга - кенијских шилинга - кенијски шилинг - кенијских шилинга - - - Киргистански сом - киргистанска сома - киргистанских сома - киргистански сом - киргистанских сома - - - Камбоџијски риел - камбоџанска ријела - камбоџанских ријела - камбоџански ријел - камбоџанских ријела - - - Коморски франак - коморанска франка - коморанских франака - коморански франак - коморански франци - - - Севернокорејски вон - севернокорејска вона - севернокорејских вона - севернокорејски вон - севернокорејски вон - - - Јужнокорејски Вон - јужнокорејска вона - јужнокорејских вона - јужнокорејски вон - јужнокорејски вон - - - Кувајтски динар - кувајтских динара - кувајтских динара - кувајтских динара - кувајтских динара - - - Кајманска острва долар - кајманска долара - кајманских долара - кајмански долар - кајманских долара - - - Казахстански тенџ - казахстанске тенџе - казахстанских тенџи - казахстанска тенџа - казахстанских тенџи - - - Лаошки кип - лаошка кипа - лаошких кипа - лаошки кип - лаошки кипи - - - Лебанска фунта - лебанске фунте - лебанских фунти - лебанска фунта - лебанске фунте - - - Шриланкански рупи - шриланканска рупија - шриланканских рупија - шриланкански рупиј - шриланканских рупија - - - Либеријски долар - либеријска долара - либеријских долара - либеријски долар - либеријских долара - - - Лесото лоти - лесотска лотиса - лесотских лотиса - лесотски лотис - лесотских лотиса - - - Литвански литас - литванска литаса - литванских литаса - литвански литас - литванских литаса - - - Литвански талонас - литванска талонаса - литванских талонаса - литвански талонас - литванских талонаса - - - Луксембуршки конвертибилни франак - луксембуршка конвертибилна франка - луксембуршких конвертибилних франака - луксембуршки конвертибилни франак - луксембуршких конвертибилних франака - - - Луксембуршки франак - луксембуршка франка - луксембуршких франака - луксембуршки франак - луксембуршки франци - - - Луксембуршки финансијски франак - луксембуршка финансијска франка - луксембуршких финансијских франака - луксембуршки финансијски франак - луксембуршких финансијских франака - - - Латвијски лати - латвијска лата - латвијских лата - латвијски лат - латвијских лата - - - атвијска рубља - латвијске рубље - латвијских рубљи - латвијска рубља - латвијских рубљи - - - Либијски динар - либијских динара - либијских динара - либијских динара - либијских динара - - - Марокански дирхам - мароканске дирхаме - мароканских дирхама - мароканска дирхама - мароканских дирхама - - - Марокански франак - мароканска франка - мароканских франака - марокански франак - мароканских франака - - - Молдовски љу - молдовска леија - молдовских леија - молдовски леи - молдовских леија - - - Малагасијски ариари - малагашајска ариарија - малагашајских ариарија - малагашајски ариариј - малагашајски ариарији - - - Малагасијски франак - малагашајска франка - малагашајских франака - малагашајски франак - малагашајски франци - - - Македонски денар - македонска денара - македонских денара - македонски денар - македонских динара - - - Малијански франак - малијска франка - малијских франака - малијски франак - малијских франака - - - Мјанмашки кјат - мијанмашка кјата - мијанмашких кјата - мијанмашки кјат - мијанмашки кјати - - - Монголски тугрик - монголијска тугрика - монголијских тугрика - монголијски тугрик - монголијски тугрици - - - Маканишка патака - маканешке патаке - маканешких патака - маканешка патака - маканешких патака - - - Мауританијска угвија - мауританијске угвиље - мауританијских угвиља - мауританијска угвиља - мауританијске угвиље - - - Малтешка лира - малтешке лире - малтешких лира - малтешка лира - малтешких лира - - - Малтешка фунта - малтешке фунте - малтешких фунти - малтешка фунта - малтешких фунти - - - Маурицијски рупи - мауританијске рупије - мауританијских рупија - мауританијска рупија - мауританијске рупије - - - Малдивијска руфија - малдивска руфијаса - малдивских руфијаса - малдивски руфијас - малдивских руфијаса - - - Малавијска квача - малавијске кваче - малавијских квача - малавијска квача - малавијских квача - - - Мексички пезо - мексичка пезоса - мексичких пезоса - мексички пезо - мексичких пезоса - - - Мексички сребрни пезо (1861-1992) - мексичка сребрна пезоса - мексичких сребрних пезоса - мексички сребрни пезо - мексичких сребрних пезоса - - - Мексички унидад де инверсион (UDI) - мексичка унидадс де инверзиона - мексичких унидадс де инверзиона - мексички унидадс де инверзион - мексичких унидадс де инверзиона - - - Малезијски ринггит - малезијска ринггита - малезијских ринггита - малезијски ринггит - малезијских ринггита - - - Мозамбијски ескудо - мозамбијска ескуда - мозамбијских ескуда - мозамбијски ескудо - мозамбијских ескуда - - - Стари мозамбијски метикал - стара мозамбијска метикала - старих мозамбијских метикала - стари мозамбијски метикал - старих мозамбијских метикала - - - Мозамбијски метикал - мозамбијска метикала - мозамбијских метикала - мозамбијски метикал - мозамбијских метикала - - - намбијски долар - намибијска долара - намибијских долара - намибијски долар - намибијских долара - - - Нигеријска наира - нигеријске наире - нигеријских наира - нигеријска наира - нигеријских наира - - - Никарагванска кордоба - никарагванске кордобе - никарагванских кордоба - никарагванска кордоба - никарагванских кордоба - - - Никарагванска златна кордоба - никарагванске златне кордобе - никарагванских златних кордоба - никарагванска златна кордоба - никарагванских златних кордоба - - - Холандски гулден - холандска гулдена - холандских гулдена - холандски гулден - холандских гулдена - - - Норвешка круна - норвешке круне - норвешких круна - норвешка круна - норвешких круна - - - Непалски рупи - непалске рупије - непалских рупија - непалска рупија - непалских рупија - - - Новозеландски долар - новозеландска долара - новозеландских долара - новозеландски долар - новозеландских долара - - - Омански ријал - оманских ријала - оманских ријала - оманских ријала - оманских ријала - - - Панамска балбоа - панамске балбое - панамских балбоа - панамска балбоа - панамских балбоа - - - Перуански инти - перувијска интија - перувијских интија - перувијски инти - перувијских интија - - - Перуански нуево сол - перуанска нуево сола - перуанских нуево сола - перуански нуево сол - перуанских нуево сола - - - Перуански сол - перуанска сола - перуанских сола - перуански сол - перуанских сола - - - Папуа ново-гвинејшка кина - папуа ново гвинејска долара - папуа ново гвинејских долара - папуа ново гвинејски долар - папуа ново гвинејских долара - - - Филипински пезо - филипинска пезоса - филипинских пезоса - филипински пезо - филипинских пезоса - - - Пакистански рупи - пакистанске рупије - пакистанских рупија - пакистанска рупија - пакистанске рупије - - - Пољски злот - пољска злота - пољских злота - пољски злот - пољских злота - зл - - - Пољски злоти (1950-1995) - пољска злота (PLZ) - пољских злота (PLZ) - пољски злот (PLZ) - пољских злота (PLZ) - - - Португалски ескудо - португалска ескуда - португалских ескуда - португалски ескудо - португалских ескуда - - - Парагвајски гуарни - парагвајска гваранија - парагвајских гваранија - парагвајски гвараниј - парагвајски гваранији - - - Катаршки ријал - катарска ријала - катарских ријала - катарски ријал - катарских ријала - - - Родејскидолар - родежанска долара - родежанских долара - родежански долар - родежанских долара - - - Стари румунски љу - стара румунска леија - старих румунских леија - стари румунски леиј - старих румунских леија - - - Румунски леу - румунска леија - румунских леија - румунски леи - румунских леија - - - Српски динар - српска динара - српских динара - српски динар - српски динари - дин. - - - Руска рубља - руске рубље - руских рубљи - руска рубља - руских рубљи - - - Руска рубља (1991-1998) - руске рубље (1991-1998) - руских рубљи (RUR) - руска рубља (1991-1998) - руских рубљи (RUR) - - - Руандански франак - руанданска франка - руанданских франака - руандански франак - руандански франци - - - Саудијски ријал - саудијска ријала - саудијских ријала - саудијски ријал - саудијских ријала - - - Соломонско-острвски долар - соломонско-острвска долара - соломонско-острвских долара - соломонско-острвски долар - соломонско-острвских долара - - - Сејшелска рупија - сејшелске рупије - сејшелских рупија - сејшелска рупија - сејшелских рупија - - - Стари судански динар - стара суданска динара - старих суданских динара - стари судански динар - старих суданских динара - - - Суданска фунта - суданске фунте - суданских фунти - суданска фунта - суданских фунти - - - Стара суданска фунта - старе суданске фунте - старих суданских фунти - стара суданска фунта - старих суданских фунти - - - Шведска круна - шведске круне - шведских круна - шведска круна - шведских круна - - - Сингапурски долар - сингапурска долара - сингапурских долара - сингапурски долар - сингапурских долара - - - Св. јеленска фунта - св. јеленске фунте - св. јеленских фунти - св. јеленска фунта - св. јеленских фунти - - - Словеначки толар - словеначка толара - словеначких толара - словеначки толар - словеначких толара - - - Словачка круна - словачке круне - словачких круна - словачка круна - словачких круна - - - Сијера-леоншки леоне - сијералеонска леона - сијералеонских леона - сијералеонски леоне - сијералеонски леони - - - СОмалијски шилинг - сомалијска шилинга - сомалијских шилинга - сомалијски шилинг - сомалијски шилинзи - - - СУринамски долар - суринамска долара - суринамских долара - суринамски долар - суринамских долара - - - Суринамски гилдер - суринамска гилдера - суринамских гилдера - суринамски гилдер - суринамских гилдера - - - Сао Томе и Принципе добра - сао томе и принципе добра - сао томе и принципе добра - сао томе и принципе добар - сао томе и принципе добри - - - Совјетска рубља - совјетске рубље - совјетских рубљи - совјетска рубља - совјетских рубљи - - - Салвадорски колон - салвадорска колона - салвадорских колона - салвадорски колон - салвадорских колона - - - Сиријска фунта - сиријске фунте - сиријских фунти - сиријска фунта - сиријске фунте - - - Свази лилангени - свази емалангена - свази емалангена - свази емаланген - свази емалангена - - - Таи бахт - таи бахта - таи бахта - таи бахт - таи бахта - - - Таџихистанска рубља - таџихистанске рубље - таџихистанских рубљи - таџихистанска рубља - таџихистанских рубљи - - - Таљихистански сомони - таџихистанска сомона - таџихистанских сомона - таџихистански сомон - таџихистанских сомона - - - Туркменистански манат - туркменистанска маната - туркменистанских маната - туркменистански манат - туркменистански манат - - - Тунизијски долар - тунежанских динара - тунежанских динара - тунежанских динара - тунежанских динара - - - Тонгоншка Панга - тонгашке панге - тонгашких панга - тонгашка панга - тонгашких панга - - - Тиморшки ескудо - тиморшка ескуда - тиморшких ескуда - тиморшки ескудо - тиморшких ескуда - - - Стара турска лира - старе турске лире - старих турских лира - стара турска лира - стара турска лира - - - Турска лира - турске лире - турских лира - турска лира - турских лира - Тл - - - Тринидад тобагошки долар - тринидад-тобагошка долара - тринидад-тобагошких долара - тринидад-тобагошки долар - тринидад-тобагошких долара - - - Нови тајвански долар - нова тајванска долара - нових тајванских долара - нови тајвански долар - нови тајвански долари - - - Танзанијски шилинг - танзанијска шилинга - танзанијских шилинга - танзанијски шилинг - танзанијски шилинзи - - - Украјинска хривња - украјинске кривње - украјинских кривњи - украјинска кривња - украјинских кривњи - - - Украјински карбованети - украјинска карбованцива - украјинских карбованцива - украјински карбованец - украјинских карбованцива - - - Угандски шилинг (1966-1987) - угандијска шилинга (UGS) - угандијских шилинга (UGS) - угандијски шилинг (UGS) - угандијских шилинга (UGS) - - - Угандски шилинг - угандијска шилинга - угандијских шилинга - угандијски шилинг - угандијски шилинзи - - - Амерички долар - америчка долара - америчких долара - амерички долар - америчких долара - - - САД долар (следећи дан) - САД долара (следећи дан) - САД долара (следећи дан) - САД долар (следећи дан) - САД долара (следећи дан) - - - САД долар (исти дан) - САД долара (исти дан) - САД долара (исти дан) - САД долар (исти дан) - САД долара (исти дан) - - - Уругвајски пезо ен унидадес индексадас - уругвајска пезоса ен унидадес индексадеса - уругвајских пезоса ен унидадес индексадеса - уругвајски пезо ен унидадес индексадес - угвајских пезоса ен унидадес индексадеса - - - Уругвајски пезо (1975-1993) - уругвајска пезоса (UYP) - уругвајских пезоса (UYP) - уругвајски пезо (UYP) - уругвајских пезоса (UYP) - - - Уругвајски пезо - уругвајска пезоса - уругвајских пезоса - уругвајски пезо - уругвајских пезоса - - - Узбекистански сом - узбекистанска сома - узбекистанских сома - узбекистански сом - узбекистански сом - - - Венецуелански боливар - венецуеланска боливара - венецуеланских боливара - венецуелански боливар - венецуеланских боливара - - - Венецуелански боливар фуерте - венецуеланска боливара фуертес - венецуеланских боливара фуертес - венецуелански боливар фуертес - венецуеланских боливара фуертес - - - Вијетнамски донг - вијетнамска донга - вијетнамских донга - вијетнамски донг - вијетнамски донг - - - Вануатски вату - вануату ватуа - вануату ватуа - вануату вату - вануату ватуи - - - Самоанска тала - самоанске тале - самоанских тала - самоанска тала - самоанских тала - - - CFA франак BEAC - CFA франка BEAC - CFA франака BEAC - CFA франак BEAC - CFA франци BEAC - - - Сребро - сребра - сребра - сребро - сребра - - - Злато - злата - злата - злато - злата - - - Европска композитна јединица - европске композитне јединице - европских композитних јединица - европска композитна јединица - европских композитних јединица - - - Европска новчана јединица - европске новчане јединице (XBB) - европских новчаних јединица (XBB) - европска новчана јединица (XBB) - европске новчане јединице (XBB) - - - Европска јединица рачуна (XBC) - европске јединице рачуна (XBC) - европских јединица рачуна (XBC) - европска јединица рачуна (XBC) - европских јединица рачуна (XBC) - - - Европска јединица рачуна (XBD) - европске јединице рачуна (XBD) - европских јединица рачуна (XBD) - европска јединица рачуна (XBD) - европских јединица рачуна (XBD) - - - Источно-карибски долар - источно-карибска долара - источно-карибских долара - источно-карибски долар - источно-карибских долара - - - Посебна цртаћа права - посебна цртаћа права - посебних цртаћих права - посебно цртаће право - посебних цртаћих права - - - Европска валутна јединица - европске новчане јединице (XEU) - европских новчаних јединица (XEU) - европска новчана јединица (XEU) - европских новчаних јединица - - - Француски златни франак - француска златна франка - француских златних франака - француски златни франак - француских златних франака - - - Француски UIC-франак - француска UIC-франка - француских UIC-франака - француски UIC-франак - француских UIC-франака - - - CFA франак BCEAO - CFA франка BCEAO - CFA франака BCEAO - CFA франак BCEAO - CFA франци BCEAO - - - Паладијум - паладијума - паладијума - паладијум - паладијума - - - CFP франак - CFP франка - CFP франака - CFP франак - CFP франци - - - Платина - платине - платина - платина - платина - - - RINET фонд - RINET фонда - RINET фондова - RINET фонд - RINET фондова - - - Код тестиране валуте - кода тестиране валуте - кодова тестиране валуте - код тестиране валуте - кодова тестиране валуте - - - Непозната или неважећа валута - непознате или неважеће валуте - непознатих или неважећих валута - непозната или неважећа валута - непознатих или неважећих валута - - - Јеменски динар - јеменска долара - јеменских долара - јеменски долар - јеменских долара - - - Јеменски риал - јеменска ријала - јеменских ријала - јеменски ријал - јеменски ријали - - - Југословенски тврди динар - југословенска тврда динара - југословенских тврдих динара - југословенски тврди динар - југословенских тврдих динара - - - Југословенски нови динар - југословенска нова динара - југословенских нових динара - југословенски нови динар - југословенских нових динара - - - Југословенски конвертибилни динар - југословенска конвертибилна динара - југословенских конвертибилних динара - југословенски конвертибилни динар - југословенских конвертибилних динара - Дин - - - Јужно-афрички ранд (финансијски) - јужноафричка ранда (финансијска) - јужноафричких ранда (финансијских) - јужноафрички ранд (финансијски) - јужноафричких ранда (финансијских) - - - Јужно-афрички ранд - јужно-афричка ранда - јужно-афричких ранда - јужно-афрички ранд - јужно-афричких ранда - - - Замбијска квача - замбијске кваче - замбијских квача - замбијска квача - замбијске кваче - - - Заирски нови заир - заирска нова заира - заирских нових заира - заирски нови заир - заирских нових заира - - - Заирски заир - заирска заира - заирских заира - заирски заир - заирских заира - - - Зимбабвејски долар - зимбабвејска долара - зимбабвејских долара - зимбабвејски долар - зимбабвејски долари - - - - - - {0} дана - {0} дана - {0} дан - {0} дан - - - {0} сата - {0} сати - {0} сат - {0} сат - - - {0} минута - {0} минута - {0} минут - {0} минут - - - {0} месеца - {0} месеци - {0} месец - {0} месец - - - {0} секунде - {0} секунди - {0} секунда - {0} секунда - - - {0} недеље - {0} недеља - {0} недеља - {0} недеља - - - {0} године - {0} година - {0} година - {0} година - - - - - да:д - не:н - - - - diff --git a/lib/zend/Zend/Locale/Data/sr_BA.xml b/lib/zend/Zend/Locale/Data/sr_BA.xml deleted file mode 100644 index cf14a4febf..0000000000 --- a/lib/zend/Zend/Locale/Data/sr_BA.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/sr_CS.xml b/lib/zend/Zend/Locale/Data/sr_CS.xml deleted file mode 100644 index 3b03e7f99a..0000000000 --- a/lib/zend/Zend/Locale/Data/sr_CS.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/sr_Cyrl.xml b/lib/zend/Zend/Locale/Data/sr_Cyrl.xml deleted file mode 100644 index 2f36da8007..0000000000 --- a/lib/zend/Zend/Locale/Data/sr_Cyrl.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Svet - Afrika - Severnoamerički kontinent - Južna Amerika - Okeanija - Zapadna Afrika - Centralna Amerika - Istočna Afrika - Severna Afrika - Centralna Afrika - Južna Afrika - Amerike - Severna Amerika - Karibi - Istočna Azija - Južna Azija - Jugoistočna Azija - Južna Evropa - Australija i Novi Zeland - Melanezija - Micronezija - Polinezija - Južno-centralna Azija - Azija - Centralna Azija - Zapadna Azija - Evropa - Istočna Evropa - Severna Evropa - Zapadna Evropa - Komonvelt nezavisnih država - Latinska Amerika i Karibi - Kanalska ostrva - Andora - Ujedinjeni Arapski Emirati - Avganistan - Antigva i Barbuda - Angvila - Albanija - Armenija - Holandski Antili - Angola - Antarktika - Argentina - Američka Samoa - Austrija - Australija - Aruba - Alandska ostrva - Azerbejdžan - Bosna i Hercegovina - Barbados - Bangladeš - Belgija - Burkina Faso - Bugarska - Bahrein - Burundi - Benin - Sv. Bartolomej - Bermuda - Brunej - Bolivija - Brazil - Bahami - Butan - Buve Ostrva - Bocvana - Belorusija - Belise - Kanada - Kokos (Keling) Ostrva - Demokratska Republika Kongo - Centralno Afrička Republika - Kongo - Švajcarska - Obala Slonovače - Kukova Ostrva - Čile - Kamerun - Kina - Kolumbija - Kostarika - Srbija i Crna Gora - Kuba - Kape Verde - Božićna Ostrva - Kipar - Češka - Nemačka - Džibuti - Danska - Dominika - Dominikanska Republika - Alžir - Ekvador - Estonija - Egipat - Zapadna Sahara - Eritreja - Španija - Etiopija - Finska - Fidži - Folklandska Ostrva - Mikronezija - Farska Ostrva - Francuska - Gabon - Velika Britanija - Grenada - Gruzija - Francuska Gvajana - Gurnsi - Gana - Gibraltar - Grenland - Gambija - Gvineja - Gvadelupe - Ekvatorijalna Gvineja - Grčka - Južna Džordžija i Južna Sendvič Ostrva - Gvatemala - Guam - Gvineja-Bisao - Gvajana - Hong Kong (S. A. R. Kina) - Herd i Mekdonald Ostrva - Honduras - Hrvatska - Haiti - Mađarska - Indonezija - Irska - Izrael - Ostrvo Man - Indija - Britansko Indijska Okeanska Teritorija - Irak - Iran - Island - Italija - Džersi - Jamajka - Jordan - Japan - Kenija - Kirgizstan - Kambodža - Kiribati - Komorska Ostrva - Sent Kits i Nevis - Severna Koreja - Južna Koreja - Kuvajt - Kajmanska Ostrva - Kazahstan - Laos - Liban - Sent Lucija - Lihtenštajn - Šri Lanka - Liberija - Lesoto - Litvanija - Luksemburg - Letonija - Libija - Maroko - Monako - Moldavija - Crna Gora - Sv. Martin - Madagaskar - Maršalska Ostrva - Makedonija - Mali - Mijanmar - Mongolija - Makao (S. A. R. Kina) - Severna Marijanska Ostrva - Martinik - Mauritanija - Monserat - Malta - Mauricius - Maldivi - Malavi - Meksiko - Malezija - Mozambik - Namibija - Nova Kaledonija - Niger - Norfolk Ostrvo - Nigerija - Nikaragva - Holandija - Norveška - Nepal - Nauru - Niue - Novi Zeland - Oman - Panama - Peru - Francuska Polinezija - Papua Nova Gvineja - Filipini - Pakistan - Poljska - Sen Pjer i Mikelon - Pitcairn - Porto Riko - Palestinska Teritorija - Portugal - Palau - Paragvaj - Katar - Ostala okeanija - Evropska unija - Rejunion - Rumunija - Srbija - Rusija - Ruanda - Saudijska Arabija - Solomonska Ostrva - Sejšeli - Sudan - Švedska - Singapur - Sveta Jelena - Slovenija - Svalbard i Janmajen Ostrva - Slovačka - Sijera Leone - San Marino - Senegal - Somalija - Surinam - Sao Tome i Principe - Salvador - Sirija - Svazilend - Turks i Kajkos Ostrva - Čad - Francuske Južne Teritorije - Togo - Tajland - Tadžikistan - Tokelau - Istočni Timor - Turkmenistan - Tunis - Tonga - Turska - Trinidad i Tobago - Tuvalu - Tajvan - Tanzanija - Ukrajina - Uganda - Manja Udaljena Ostrva SAD - Sjedinjene Američke Države - Urugvaj - Uzbekistan - Vatikan - Sent Vinsent i Grenadini - Venecuela - Britanska Devičanska Ostrva - S.A.D. Devičanska Ostrva - Vijetnam - Vanuatu - Valis i Futuna Ostrva - Samoa - Jemen - Majote - Južnoafrička Republika - Zambija - Zimbabve - Nepoznat ili nevažeći region - - - Tradicionalna nemačka ortografija - Standardizovana rezijanska ortografija - Nemačka ortografija 1996 - Francuski iz kasnog srednjeg veka do 1606. - Rani moderni francuski - Istočni jermenski - Zapadno-jermenski - Ujedinjeni turski latinični alfabet - San Đorđijo/Bila dijalekt - Buntling - IPA fonetika - UPA fonetika - Lipovac dijalekt rezijanski - Monotonik - Natison dijalekt - Gnjiva/Njiva dijalekt - Oseako/Osojane dijalekt - Politonik - Kompjuter - Revidirana ortigrafija - Rezijan - Saho - Škotski standardni engleski - Skauz - Stolvica/Solbica dijalekt - Taraskijevica ortografija - Valencijski - - - Kalendar - Sortiranje - Valuta - - - Tradicionalno kinesko sortiranje - Budistički kalendar - Kineski kalendar - Direktno sortiranje - Pojednostavljeno kinesko sortiranje - Gregorijanski kalendar - Hebrejski kalendar - Indijski nacionalni kalendar - Islamski kalendar - Islamski civilni kalendar - Japanski kalendar - Sortiranje kao telefonski imenik - Pinjin sortiranje - Kalendar Republike Kine - Sortiranje po broju crta - Tradicionalno sortiranje - - - SAD - Metrički - - - Jezik: {0} - Skript: {0} - Region: {0} - - - - [a-c č ć d đ {dž} e-l {lj} m n {nj} o p r s š t-v z ž] - [q w-y] - - - - - pre podne - popodne - - - pre podne - popodne - - - pre podne - popodne - - - pre podne - popodne - - - - - - jan - feb - mar - apr - maj - jun - jul - avg - sep - okt - nov - dec - - - januar - februar - mart - april - maj - jun - jul - avgust - septembar - oktobar - novembar - decembar - - - - - j - f - m - a - m - j - j - a - s - o - n - d - - - - - - - ned - pon - uto - sre - čet - pet - sub - - - nedelja - ponedeljak - utorak - sreda - četvrtak - petak - subota - - - - - n - p - u - s - č - p - s - - - - - - - Q1 - Q2 - Q3 - Q4 - - - 1. kvartal - 2. kvartal - 3. kvartal - 4. kvartal - - - - pre podne - popodne - - - Pre nove ere - Nove ere - - - p. n. e. - n. e - - - - - d EEE - E d. - H.mm - L - E, M-d - LLL - E d. MMM - E MMMM d - MMMM d. - dd. MMMM - MMM d. - dd.MMM - MM-dd - d/M - d - hh.mm.ss a - mm:ss - y. - y-M - EEE, d. M. yyyy. - y MMM - EEE, d. MMM y. - y MMMM - y Q - y QQQ - MM.yy - d. MMM yy. - dd.MM.yy - Q yy - QQQQ yy - y. - yyyy-MM - MMMM y. - - - {0} - {1} - - M-M - - - E, d.M - E, d.M - E, d.M - E, d.M - - - MMM-MMM - - - E, dd. MMM - E, dd. MMM - E, dd. - E, dd. MMM - - - LLLL-LLLL - - - dd. MMM - dd. MMM - dd.-dd. MMM - - - d.M - d.M - d.M - d.M - - - d-d - - - HH-HH - HH-HH - - - HH.mm-HH.mm - HH.mm-HH.mm - HH.mm-HH.mm - - - HH.mm-HH.mm v - HH.mm-HH.mm v - HH.mm-HH.mm v - - - HH-HH v - HH-HH v - - - y-y - - - M.yy - M.yy - M.yy - M.yy - - - E, d.M.yy. - E, d.M.yy. - E, d.M.yy. - E, d.M.yy. - E, d.M.yy. - E, d.M.yy. - - - MMM-MMM y. - MMM y. - MMM y. - - - E, dd. MMM - E, dd. MMM y. - E, dd. - E, dd. MMM y. - E, dd. MMM y. - E, dd. MMM y. - - - yyyy-MM – MM - yyyy-MM – yyyy-MM - - - dd. MMM - dd. MMM y. - dd.-dd. MMM y. - dd. MMM y. - dd. MMM y. - - - d.M.yy. - d.M.yy. - d.M.yy. - d.M.yy. - d.M.yy. - d.M.yy. - - - - - - era - - - godina - - - mesec - - - nedelja - - - dan - pre tri dana - prekjuče - juče - danas - sutra - prekosutra - za tri dana - - - dan u nedelji - - - pre podne/ popodne - - - čas - - - minut - - - sekund - - - zona - - - - - pre podne - popodne - - - pre podne - popodne - - - pre podne - popodne - - - pre podne - popodne - - - pre podne - popodne - - - pre podne - popodne - - - Pre RK - RK - - - - - - +HHmm;-HHmm - GMT{0} - GMT - {0} - - Nepoznat ili nevažeći grad - - - Andora - - - Dubai - - - Kabul - - - Antigva - - - Angvila - - - Tirana - - - Jerevan - - - Kiraso - - - Luanda - - - Rotera - - - Palmer - - - Južni pol - - - Šova - - - Moson - - - Dejvis - - - Vostok - - - Kasej - - - Dimon d’Urvil - - - MakMurdo - - - Rio galegos - - - Mendoza (Argentina) - - - San Huan (Argentina) - - - Ušuaia - - - La Rioja - - - San Luis - - - Katamarka (Argentina) - - - Salta - - - Jujui - - - Tukuman - - - Kordoba (Argentina) - - - Buenos Aires - - - Pago Pago - - - Beč - - - Pert (Australija) - - - Iukla (Australija) - - - Darvin (Australija) - - - Adelaida (Australija) - - - Broken Hil (Australija) - - - Kurie (Australija) - - - Melburn (Australija) - - - Horbat (Australija) - - - Lindeman - - - Sidnej (Australija) - - - Brizbejn (Australija) - - - Lord Hov - - - Aruba - - - Baku - - - Barbados - - - Daka - - - Brisel - - - Uagadugu - - - Sofija - - - Bahrein - - - Budžumbura - - - Porto Novo - - - Bermudi - - - Bruneji - - - La Paz - - - Eirunepe (Brazil) - - - Rio Branko - - - Porto Veljo - - - Boa Vista - - - Manaus - - - Kuiaba - - - Santarem - - - Kampo Grande - - - Belem - - - Aragvajana - - - Sao Paolo - - - Bahia (Brazil) - - - Fortaleza - - - Masejo - - - Resife - - - Noronja - - - Nasau - - - Thimphu - - - Gaboron - - - Minsk - - - Belize - - - Doson (Kanada) - - - Vajthors - - - Inuvik (Kanada) - - - Vankuver (kanada) - - - Doson Krik (Kanada) - - - Jelonajf - - - Edmonton (Kanada) - - - Svift Kurent - - - Kembridž Bej (Kanada) - - - Regina - - - Vinipeg (Kanada) - - - Rezolut - - - Rejni river - - - Rankin Inlet - - - Koral Harbur (Kanada) - - - Tander Bej - - - Nipigon - - - Toronto (Kanada) - - - Montreal (kanada) - - - Ikaluit - - - Pangnirtung - - - Monkton - - - Halifaks (kanada) - - - Gus Bej (Kanada) - - - Glejs Bej (Kanada) - - - Blanc-Sejblon (kanada) - - - Sv. Džon (Kanada) - - - Kokosova ostrva - - - Kinšasa - - - Lumumbaši - - - Bangui - - - Brazavil - - - Cirih - - - Abidžan - - - Rarotonga - - - Uskršnje ostrvo - - - Santijago - - - Duala - - - Kašgar (Kina) - - - Urumki - - - Čongking (Kina) - - - Šangaj - - - Harbin (Kina) - - - Bogota - - - Kostarika - - - Havana - - - Kape Verde - - - Božićno ostrvo - - - Nikozija - - - Berlin - - - Džibuti - - - Kopenhagen - - - Dominika - - - Santo Domingo - - - Alžir - - - Galapagos - - - Gvajakil - - - Talin - - - Kairo - - - El Ajun - - - Asmera - - - Kanarska ostrva - - - Seuta - - - Madrid - - - Adis Abeba - - - Helsinki - - - Fidži - - - Stenli - - - Truk - - - Ponape - - - Košre - - - Farska Ostrva - - - Pariz - - - Librevil - - - London - - - Grenada - - - Tbilisi - - - Kajen - - - Akra - - - Gibraltar - - - Tule - - - Nuk - - - Skorezbisund - - - Danmarkšavn - - - Banžul - - - Konakri - - - Gvadalupe - - - Malabo - - - Atina - - - Južna Džordžija - - - Gvatemala - - - Guam - - - Bisao - - - Guana - - - Hong Kong - - - Port-o-Prens - - - Budimpešta - - - Džakarta - - - Pontianak - - - Makasar - - - Džajapura - - - Dablin - - - Čagos - - - Bagdad - - - Teheran - - - Rejkjavik - - - Rim - - - Jamajka - - - Aman - - - Tokio - - - Najrobi - - - Biškek - - - Pnom Pen - - - Enderberi - - - Kiritimati - - - Tarava - - - Komoro - - - Sent Kits - - - Pjongjang - - - Seul - - - Kuvajt - - - Kajmanska ostrva - - - Aktau - - - Oral (Kazakhstan) - - - Akutobe - - - Kizilorda - - - Almati (Kazahstan) - - - Vijetijan - - - Bejrut - - - Sv. Lucija - - - Vaduc - - - Kolombo - - - Monrovija - - - Maseru - - - Viljnus - - - Luksemburg - - - Riga - - - Tripoli - - - Kazablanka - - - Monako - - - Kišnjev - - - Antananarivo - - - Kvadžalejin - - - Majuro - - - Bamako - - - Rangun - - - Hovd - - - Ulan Bator - - - Čojbalsan - - - Makau - - - Sajpan - - - Martinik - - - Navakšut - - - Montserat - - - Malta - - - Mauricijus - - - Maldivi - - - Blantir - - - Tihuana (Meksiko) - - - Hermosiljo (Meksiko) - - - Mazatlan (Meksiko) - - - Čihuahua (Meksiko) - - - Montrej (Meksiko) - - - Meksiko siti (Meksiko) - - - Merida (Meksika) - - - Kankun (Meksiko) - - - Kuala Lumpur - - - Kučing - - - Maputo - - - Vindhuk - - - Numea - - - Nijamej - - - Norfolk - - - Lagos - - - Managva - - - Amsterdam - - - Oslo - - - Katmandu - - - Nauru - - - Niue - - - Katham (Novi Zeland) - - - Okland - - - Muskat - - - Panama - - - Lima - - - Tahiti - - - Markiz - - - Gambije - - - Port Morzbi - - - Manila - - - Karači - - - Varšava - - - Mikelon - - - Pitkairn - - - Porto Riko - - - Gaza - - - Azori - - - Lisabon - - - Palau - - - Asunsion - - - Katar - - - Ujedinjenje - - - Bukurešt - - - Kaliningrad - - - Moskva - - - Volgograd (Rusija) - - - Samara (Rusija) - - - Jekatepinburg (Rusija) - - - Omsk (Rusija) - - - Novosibirsk (Rusija) - - - Krasnojarsk - - - Irkuck (Rusija) - - - Jakutsk (Rusija) - - - Vladivostok (Rusija) - - - Sahalin (Rusija) - - - Magadan (Rusija) - - - Kamčatka - - - Anadir - - - Kigali - - - Rijad - - - Gvadalkanal - - - Mahe - - - Kartum - - - Stokholm - - - Singapur - - - Sveta Jelena - - - Fritaun - - - Dakar - - - Mogadiš - - - Paramirbo - - - Sao Tome - - - Salvador - - - Damask - - - Mbabane - - - Grand Turk - - - Ndžamena - - - Kergelen - - - Lome - - - Bankok - - - Dušanbe - - - Fakaofo - - - Dili - - - Ašhabad - - - Tunis - - - Tongatapu - - - Istanbul - - - Port of Spejn - - - Fanafuti - - - Tajpej - - - Dar-es-Salam - - - Užgorod - - - Kijev - - - Simferopol - - - Zaporožje - - - Kampala - - - Midvej - - - Džonston - - - Vake - - - Adak (SAD) - - - Nom - - - Honolulu (SAD) - - - Enkoridž - - - Jakuta - - - Žano - - - Los Anđeles (SAD) - - - Bojzi (SAD) - - - Feniks (SAD) - - - Šiprok (SAD) - - - Denver (SAD) - - - Novi Salem, Severna Dakota (SAD) - - - Centar, Severna Dakota (SAD) - - - Čikago (SAD) - - - Menomine - - - Vincenis, Indijana - - - Petesburg (SAD) - - - Tel Siti (SAD) - - - Konks (SAD) - - - Vinamak, Indijana - - - Marengo (SAD) - - - Indianapolis (SAD) - - - Luivil (SAD) - - - Vevej, Indijana - - - Montičelo (SAD) - - - Detroit (SAD) - - - Njujork (SAD) - - - Montevideo - - - Samarkand (Uzbekistan) - - - Taškent - - - Sent Vinsent - - - Karakas - - - Tortola - - - Sv. Toma - - - Efate - - - Valis - - - Apija - - - Aden - - - Majote - - - Johanesburg - - - Lusaka - - - Harare - - - - Acre vreme - Acre letnje računanje vremena - - - ACT (Acre) - ACST (Acre) - - - - - Avganistan vreme - - - - - Centralna Afrika vreme - - - - - Istočna Afrika vreme - - - - - Južna Afrika vreme - Južna Afrika standardno vreme - - - - - Zapadna Afrika vreme - Zapadna Afrika letnje računanje vremena - - - - - Aktjubinsk vreme - Aktjubinsk letnje računanje vremena - - - - - Aljaska vreme - Aljaska standardno vreme - Aljaska letnje računanje vremena - - - - - Aljaska-Havaji vreme - Aljaska-Havaji standardno vreme - Aljaska-Havaji letnje računanje vremena - - - - - Almatu vreme - Almatu letnje računanje vremena - - - - - Amazon vreme - Amazon letnje računanje vremena - - - - - Centralno vreme (SAD) - Centralno standardno vreme (SAD) - Centralno letnje merenje vremena (SAD) - - - CT (SAD) - CST (SAD) - CDT (SAD) - - - - - Istočno vreme (SAD) - Istočno standardno vreme (SAD) - Istočno letnje računanje vremena (SAD) - - - ET (SAD) - EST (SAD) - EDT (SAD) - - - - - Planinsko vreme (SAD) - Planinsko standardno vreme (SAD) - Planinsko letnje računanje vremena (SAD) - - - MT (SAD) - MST (SAD) - MDT (SAD) - - - - - Pacifičko vreme (SAD) - Pacifičko vreme (SAD) - Pacifičko letnje računanje vremena (SAD) - - - PT (SAD) - PST (SAD) - PDT (SAD) - - - - - Anadir vreme - Anadir letnje računanje vremena - - - - - Akvtau vreme - Akvtau letnje računanje vremena - - - AQTT (Akvtau) - AQTST (Akvtau) - - - - - Akvtobe vreme - Akvtobe letnje računanje vremena - - - AQTT (Akvtobe) - AQTST (Akvtobe) - - - - - Arabijsko vreme - Arabijsko standardno vreme - Arapsko letnje računanje vremena - - - AT (Arabija) - AST (Arabija) - ADT (Arabija) - - - - - Argentina vreme - Argentina letnje računanje vremena - - - - - Zapadna Argentina vreme - - - - - Armenija vreme - Armenija letnje računanje vremena - - - - - Aškabad vreme - Aškabad letnje računanje vremena - - - - - Atlantsko vreme - Atlantsko standardno vreme - Atlantsko letnje računanje vremena - - - - - Centralno australijsko vreme - Centralno australijsko standardno vreme - Centralno australijsko letnje računanje vremena - - - - - Australijsko centralno zapadno vreme - Australijsko centralno zapadno standardno vreme - Australijsko centralno zapadno letnje računanje vremena - - - - - Australijsko istočno vreme - Australijsko istočno standardno vreme - Australijsko istočno letnje računanje vremena - - - - - Australijsko zapadno vreme - Australijsko zapadno standardno vreme - Australijsko zapadno letnje računanje vremena - - - - - Azerbejdžan vreme - Azerbejdžan letnje računanje vremena - - - - - Azori vreme - Azori letnje računanje vremena - - - - - Baku vreme - Baku letnje računanje vremena - - - - - Bangladeš vreme - - - - - Bering vreme - Bering standardno vreme - Bering letnje računanje vremena - - - BT (Bering) - BST (Bering) - BDT (Bering) - - - - - Butan vreme - - - - - Bolivija vreme - - - - - Borneo vreme - Borneo letnje računanje vremena - - - - - Brazilija vreme - Brazilija letnje računanje vremena - - - - - Brunei Darusalam vreme - - - - - Zelenortska ostrva vreme - Zelenortska ostrva letnje računanje vermena - - - - - Čamoro vreme - Čamoro standardno vreme - - - - - Čangbai vreme - - - - - Čatam standardno vreme - Čatam letnje računanje vremena - - - - - Čile vreme - Čile letnje računanje vremena - - - - - Kina vreme - Kinesko standardno vreme - Kina letnje računanje vremena - - - CT (Kina) - CST (Kina) - CDT (Kina) - - - - - Čojbalsan vreme - Čojbalsan letnje računanje vremena - - - - - Božićna Ostrva vreme - - - - - Kokos (Keling) Ostrva vreme - - - - - Kolumbija vreme - Kolumbija letnje računanje vremena - - - - - Kukova ostrva vreme - Kukova ostrva, polu-letnje računanje vremena - - - - - Kuba vreme - Kuba standardno vreme - Kuba letnje računanje vremena - - - - - Dača vreme - - - - - Dejvis vreme - - - - - Dimon d’Urvil vreme - - - - - Dušanbe vreme - Dušanbe letnje računanje vremena - - - - - Holandska Gvijana vreme - - - - - Istočni Timor vreme - - - - - Uskršnja ostrva vreme - Uskršnja ostrva letnje računanje vremena - - - - - Ekvador vreme - - - - - Centralnoevropsko vreme - Centralnoevropsko letnje računanje vremena - - - - - Istočnoevropsko vreme - Istočnoevropsko letnje računanje vemena - - - - - Zapadna evropsko vreme - Zapadno evropsko letnje računanje vremena - - - - - Folklandska Ostrva vreme - Folklandska ostrva letnje računanje vremena - - - - - Fidži vreme - Fidži letnje računanje vremena - - - - - Francuska Gvajana vreme - - - - - Francuske Južne Teritorije vreme - - - - - Frunze vreme - Frunze letnje računanje vremena - - - - - Grinvič vreme - - - - - Galapagos vreme - - - - - Gambijer vreme - - - - - Gruzija vreme - Gruzija letnje računanje vremena - - - - - Centralni Grenland vreme - Centralni Grenland letnje računanje vremena - - - - - Istočni Grenland vreme - Istočni Grenland letnje računanje vremena - - - - - Zapadni Grenland vreme - Zapadni Grenland letnje računanje vremena - - - - - Guam standardno vreme - - - - - Zaliv vreme - Zaliv standardno vreme - - - - - Gvajana vreme - - - - - Havaǰsko-aleućansko standardno vreme - - - - - Hong Kong vreme - Hong Kong letnje računanje vremena - - - - - Hovd vreme - Hovd letnje računanje vremena - - - - - Indijsko standardno vreme - - - - - Indijski okean vreme - - - - - Indokina vreme - - - - - Centralno indonezijsko vreme - - - - - Istočno indonezijsko vreme - - - - - Zapadno indonezijsko vreme - - - - - Iran standardno vreme - Iran letnje računanje vremena - - - - - Irkuck vreme - Irkuck letnje računanje vremena - - - - - Izraelsko standardno vreme - Izraelsko letnje računanje vremena - - - - - Japansko vreme - Japansko standardno vreme - Japan letnje računanje vremena - - - - - Petropavlovsk-Kamčatski vreme - Petropavlovsk-Kamčatski letnje računanje vremena - - - - - Karači vreme - - - - - Kašgar vreme - - - - - Istočni Kazahstan vreme - Istočni Kazahstan standardno vreme - - - - - Zapadni Kazahstan vreme - Zapadni Kazahstan standardno vreme - - - - - Kizilorda vreme - Kizilorda letnje računanje vremena - - - - - Koreja vreme - Korejsko standardno vreme - Korejsko letnje računanje vremena - - - - - Košre vreme - - - - - Krasnojarsk vreme - Krasnojarsk letnje računanje vremena - - - - - Kujbišev vreme - Kujbišev letnje računanje vemena - - - - - Kvajalejnsko vreme - - - - - Kirgizstan vreme - - - - - Lanka vreme - - - - - Lajn ostrva vreme - - - - - Long Šu vreme - - - - - Lord Hov vreme - Lord Hov standardno vreme - Lord Hov letnje računanje vremena - - - - - Makao vreme - Makao letnje računanje vremena - - - - - Magadan vreme - Magadan letnje računanje vremena - - - - - Malaja vreme - - - - - Malezija vreme - - - - - Maldivi vreme - - - - - Markiz vreme - - - - - Maršalska Ostrva vreme - - - - - Mauricijus vreme - Mauricijus letnje računanje vremena - - - - - Moson vreme - - - - - Ulan Bator vreme - Ulan Bator letnje računanje vremena - - - - - Moskva vreme - Moskva standardno vreme - Moskva letnje računanje vremena - - - - - Mijanmar vreme - - - - - Nauru vreme - - - - - Nepal vreme - - - - - Nova Kaledonija vreme - Nova Kaledonija letnje računanje vremena - - - - - Novi Zeland vreme - Novi Zeland standardno vreme - Novi Zeland letnje računanje vremena - - - - - Njufaundlend vreme - Njufaundlend standardno vreme - Njufaundlend letnje računanje vremena - - - - - Niue vreme - - - - - Norfolk Ostrvo vreme - - - - - Fernando de Noronja vreme - Fernando de Noronja letnje računanje vremena - - - - - Severna Marijanska Ostrva vreme - - - - - Novosibirsk vreme - Novosibirsk letnje računanje vremena - - - - - Omsk vreme - Omsk letnje računanje vremena - - - - - Pakistan vreme - Pakistan letnje računanje vremena - - - - - Palau vreme - - - - - Papua Nova Gvineja vreme - - - - - Paragvaj vreme - Paragvaj letnje računanje vremena - - - - - Peru vreme - Peru letnje računanje vremena - - - - - Filipini vreme - Filipini letnje računanje vremena - - - - - Fenička ostrva vreme - - - - - Pjer i Mikelon vreme - Pjer i Mikelon standardno vreme - Pjer i Mikelon letnje računanje vremena - - - - - Pitkairn vreme - - - - - Ponape vreme - - - - - Kizilorda vreme - Kizilorda letnje računanje vremena - - - - - Rejunion vreme - - - - - Roter vreme - - - - - Sahalin vreme - Sahalin letnje računanje vremena - - - - - Samara vreme - Samara letnje računanje vremena - - - - - Samarkand vreme - Samarkand letnje računanje vremena - - - - - Samoa standardno vreme - - - - - Sejšeli vreme - - - - - Ševčenko vreme - Ševčenko letnje računanje vremena - - - - - Singapur standardno vreme - - - - - Solomonska Ostrva vreme - - - - - Južna Džordžija vreme - - - GST (Sv. Džordžija) - - - - - Surinam vreme - - - - - Sverdlovsk vreme - Sverdlovsk letnje računanje vremena - - - - - Šova vreme - - - - - Tahiti vreme - - - - - Tadžikistan vreme - - - - - Taškent vreme - Taškent letnje računanje vremena - - - - - Tbilisi vreme - Tbilisi letnje računanje vremena - - - - - Tokelo vreme - - - - - Tonga vreme - Tonga letnje računanje vremena - - - - - Truk vreme - - - - - Turska vreme - Turska letnje računanje vremena - - - - - Turkmenistan vreme - Turkmenistan letnje računanje vremena - - - - - Tuvalu vreme - - - - - Ural'sk vreme - Ural'sk letnje računanje vremena - - - - - Urugvaj vreme - Urugvaj letnje računanje vremena - - - - - Urumki vreme - - - - - Uzbekistan vreme - Uzbekistan letnje računanje vremena - - - - - Vanuatu vreme - Vanuatu letnje računanje vremena - - - - - Venecuela vreme - - - - - Vladivostok vreme - Vladivostok letnje računanje vremena - - - - - Volgograd vreme - Volgograd Letnje računanje vremena - - - - - Vostok vreme - - - - - Vejk vreme - - - - - Valis i Futuna Ostrva vreme - - - - - Jakutsk vreme - Jakutsk letnje računanje vremena - - - - - Jekaterinburg vreme - Jekaterinburg letnje računanje vremena - - - - - Jerevan vreme - Jerevan letnje računanje vremena - - - - - Jukon vreme - Jukon standardno vreme - Jukon letnje računanje vremena - - - - - - - - Andorska pezeta (ADP) - Andorijske pezete - Andorijskih pezeta - Andorijska pezeta - Andorijske pezete - - - Ujedinjeni arapski emirati dirham - UAE dirama - UAE dirama - UAE diram - UAE dirama - - - Avganistanski avgani (1927-2002) AFA - Avganistanska avgana (AFA) - Avganistanskih avgana (AFA) - Avganistanski avgan (AFA) - Avganistanski avgan (AFA) - - - Avganistanski avgani (AFN) - Avganistanska avgana - Avganistanski avgan - Avganistanski avgan - - - Albanski lek - Albanska leka - Albanskih leka - albanski lek - albanski lek - - - Jermenski dram - Jermenske drame - Jermenskih drama - jermenski dram - jermenski drami - - - Holandski Antili gilder (ANG) - Holandskoantilska gildera - Holandskoantilskih gildera - Holandskoantilski gilder - Holandskoantilski gildera - - - Angolijska kvanza (AOA) - Angolijske kvanze (AOA) - Angolijskih kvanzi - Angolijska kvanza - Angolijskih kvanzi - - - Angolijska kvanza (1977-1990) (AOK) - Angolijske kvanze (AOK) - Angolijskih kvanzi (AOK) - Angolijska kvanza (AOK) - Angolijskih kvanzi (AOK) - - - Angolijska nova kvanza (1990-2000) (AON) - angolijske nove kvanze (AON) - angolijskih novih kvanzi (AON) - angolijska nova kvanza (AON) - angolski novi kvanze (AON) - - - Angolijska kvanza reajustado (1995-1999) (AOR) - angalske kvanze reađustado (AOR) - angolijskih kvanzi reađustado - angolijska kvanza reađustado - angolijskih kvanzi reađustado - - - Argentinski austral (ARA) - argentinska australa (ARA) - argentinskih australa (ARA) - argentinski austral (ARA) - argentinski australs (ARA) - - - Argentinski pezo (1983-1985) (ARP) - argentinska pezosa (ARP) - argentinskih pezosa (ARP) - argentinski pezo (ARP) - argentinskih pezosa (ARP) - - - Argentinski pezo - argentinska pezosa - argentinskih pezosa - argentinski pezos - argentinskih pezosa - - - Austrijski šiling - austrijska šilinga - austrijskih šilinga - austrijski šiling - austrijskih šilinga - - - Australijski dolar - Australijska dolara - Australijskih dolara - australijski dolar - australijskih dolara - - - Arubijski florin (AWG) - arubanska florina - arubanskih florina - arubanski florin - arubanskih florina - - - Azerbejdžanski manat (AZM) - azerbejdžanska manata(AZM) - azerbejdžanskih manata (AZM) - azerbejdžanski manat (AZM) - azerbejdžanskih manata (AZM) - - - Azerbejdžanski manat (AZN) - azerbejdžanska manata - azerbejdžanskih manata - azerbejdžanski manat - azerbejdžanskih manata - - - Bosansko-Hercegovački dinar - Bosansko-Hercegovačka dinara - Bosansko-Hercegovačkih dinara - bosansko-hercegovački dinar - bosansko-hercegovačkih dinara - - - Bosansko-Hercegovačka konvertibilna marka - Bosansko-Hercegovačke konvertibilne marke - Bosansko-Hercegovačkih konvertibilnih maraka - bosansko-hercegovačka konvertibilna marka - bosansko-hercegovačkih konvertibilnih maraka - - - Barbadoski dolar (BBD) - barbadoška dolara - barbadoških dolara - barbadoški dolar - barbadoških dolara - - - Bangladeška taka (BDT) - bangladeške take - bangladeških taka - bangladeška taka - bangladeških taka - - - Belgijski frank (konvertibilni) (BEC) - belgijska franka (konvertibilna) - belgijskih franaka (BEC) (konvertibilnih) - belgijski franak (konvertibilni) - belgijskih franaka BEC (konvertibilnih) - - - Belgijski franak - belgijska franka - belgijskih franaka - belgijski franak - belgijskih franaka - - - Belgijski frank (finansijski) (BEL) - belgijska franka (BEL) (finansijska) - belgijskih franaka (BEL) (finansijskih) - belgijski franak (finansijski) - belgijskih franaka BEL (finansijskih) - - - Bugarski tvrdi lev (BGL) - bugarska tvrda leva - bugarskih tvrdih leva - bugarski tvrdi lev - bugarskih tvrdih leva - - - Bugarski lev - Bugarska leva - Bugarskih leva - bugarski lev - Bugarskih leva - - - Bahreinski dinar (BHD) - bahreinskih dinara - bahreinskih dinara - bahreinskih dinara - bahreinskih dinara - - - Burundski franak (BIF) - burundska franka - burundskih franaka - burundski franak - BIF - - - Bermudski dolar (BMD) - bermudska dolara - bermudskih dolara - bermudski dolar - bermudskih dolara - - - Brunejski dolar - brunejska dolara - brunejskih dolara - brunejski dolar - brunejskih dolara - - - Bolivijski boliviano - bolivijska boliviana - bolivijskih boliviana - bolivijski boliviano - bolivijskih boliviana - - - Bolivijski pezo (BOP) - Bolivijska pezosa - bolivijskih pezosa - bolivijski pezo - bolivijskih pezosa - - - Bolivijski mvdol (BOV) - bolivijska mvdola - bolivijskih mvdola - bolivijski mvdol - bolivijskih mvdola - - - Brazilski kruzeiro novo (1967-1986) (BRB) - brazilska nova kruzeira (BRB) - brazilskih novih kruzeira (BRB) - brazilski novi kruzeiro (BRB) - brazilskih novih kruzeira (BRB) - - - Brazilski kruzado (BRC) - brazilska kruzadosa - brazilskih kruzadosa - brazilskih kruzado - brazilskih kruzadosa - - - Brazilski kruzeiro (1990-1993) (BRE) - brazilska kruzeira (BRE - brazilskih kruzeira (BRE) - brazilski kruzeiro (BRE) - brazilskih kruzeira (BRE) - - - Brazilski real - brazilska reala - brazilskih reala - brazilski real - brazilskih reala - - - Brazilski kruzado novo (BRN) - brazilska nova kruzada - brazilskih novih kruzada - brazilski novi kruzado - brazilskih novih kruzada - - - Brazilski kruzeiro (BRR) - brazilijska kruzeira - brazilskih kruzeira - brazilski kruzeiro - brazilskih kruzeira - - - Bahamski dolar (BSD) - bahamska dolara - bahamskih dolara - bahamski dolar - bahamskih dolara - - - Butanski ngultrum (BTN) - butanska ngultruma - butanskih ngultruma - butanski ngultrum - butanski ngultruma - - - Burmanski kjat (BUK) - burmanska kjata - burmanskih kjata - burmanski kjat - burmanskih kjata - - - Botsvanska pula (BWP) - bocvanske pule - bocvanskih pula - bocvanska pula - bocvanskih pula - - - Beloruska nova rublja (1994-1999) (BYB) - beloruske nove rublje (BYB) - beloruskih novih rublji (BYB) - beloruska nova rublja (BYB) - beloruskih novih rublji (BYB) - - - Beloruska rublja (BYR) - beloruske rublje - beloruskih rublji - beloruska rublja - bjeloruske rublje - - - Belize dolar (BZD) - belizeanska dolara - belizeanskih dolara - belizeanski dolar - belizeanskih dolara - - - Kanadski dolar - Kanadska dolara - Kanadskih dolara - kanadski dolar - kanadskih dolara - - - Kongolski franak (CDF) - kongolska franka - kongoanskih franaka - kongolski franak - kongolskih franaka - - - WIR Evro (CHE) - WIR evra - WIR evra - WIR evro - WIR evra - - - Švajcarski franak - Švajcarska franka - Švajcarskih franaka - švajcarski franak - švajcarskih franaka - - - WIR franak (CHW) - WIR franka - WIR franaka - WIR franak - WIR franak - - - Čileanski unidades de fomento (CLF) - čileanska unidades de fomentos - čileanskih unidades de fomentos - čileanski unidades de fomentos - čileanski unidades de fomentos - - - Čileanski pezo - čileanska pezosa - čileanskih pezosa - čileanski pezos - čileanski pezos - - - Kineski Juan Renminbi - kineska juana - kineskih juana - kineski juan - kineskih juana - - - Kolumbijski pezo - kolumbijska pezosa - kolumbijskih pezosa - kolumbijski pezo - kolumbijski pezosi - - - Unidad de Valor real (COU) - unidad de valor reala - unidad de valor reala - unidad de valor real - unidad de valor real - - - Kostarikanski kolon (CRC) - kostarikanska kolona - kostarikanskih kolona - kostarikanski kolon - CRC - - - Stari srpski dinar - stara srpska dinara - starih srpskih dinara - stari srpski dinar - starih srpskih dinara - - - Čehoslovačka tvrda koruna (CSK) - čehoslovačke tvrde krune - čehoslovačkih tvrdih kruna - čehoslovačka tvrda kruna - čehoslovačka tvrda kruna - - - Kubanski pezo (CUP) - kubanska pezosa - kubanskih pezosa - kubanski pezos - kubanskih pezosa - - - Kejp verdanški eskudo (CVE) - zelenortska eskuda - zelenortskih eskuda - zelenortski eskudo - zelenortskih eskuda - - - Kipratska funta (CYP) - kiparske funte - kiparskih funti - kiparska funta - kiparska funta - - - Češka kruna - češke krune - čeških kruna - češka kruna - čeških kruna - - - Istočnoevropska marka (DDM) - istočnonemačke marke - istočnonemačkih maraka - istočnonemačka marka - istočnonemačkih maraka - - - Nemačka marka - Nemačke marke - Nemačkih maraka - nemačka marka - nemačkih maraka - - - Džibutanski franak (DJF) - džibutska franka - džibutskih franaka - džibutski franak - džibutski franak - - - Danska kruna - danske krune - danskih kruna - danska kruna - danskih kruna - - - DOminikanski pezo (DOP) - dominikanska pezosa - dominikanskih pezosa - dominikanski pezo - dominikanskih pezosa - - - Alžirski dinar (DZD) - alžirska dinara - alžirskih dinara - alžirski dinar - alžirskih dinara - - - Ekvadorijski sukr (ECS) - ekvadorska sakra - ekvadorskih sakra - ekvadorska sakra - ekvadorskih sakra - - - Ekvadorski unidad de valor konstantin (UVC) - ekvadorska unidad de valor constante (UVC) - ekvadorskih unidad de valor constante (UVC) - ekvadorski unidad de valor constante (UVC) - ekvadorski unidad de valor constante (UVC) - - - Estonska kruna - estonske krune - estonskih kruna - estonska kruna - estonskih kruna - - - Egipatska funta - egipatske funte - egipatskih funti - egipatska funta - egipatskih funti - - - Eritreanska nakfa (ERN) - eritrejske nakfe - eritrejskih nakfi - eritrejska nakfa - eritrejska nakfa - - - Španska pezeta (račun) ESA - španske pezete (A račun) - španskih pezeta (A račun) - španska pezeta (A račun) - španska pezeta (A račun) - - - Španska pezeta (konvertibilni račun) (ESB) - španske pezete (konvertibilan račun) - španskih pezeta (konvertibilan račun) - španska pezeta (konvertibilan račun) - španska pezeta (konvertibilan račun) - - - Španska pezeta - španska pezeta - španskih pezeta - španskа pezetа - španskе pezetе - - - Etopijski bir (ETB) - etiopijska bira - etiopijskih bira - etiopijski bir - etiopijskih bira - - - Evro - evra - evra - evro - evra - - - Finska marka - Finske marke - Finskih maraka - finska marka - finskih maraka - - - Fidži dolar - fidži dolara - fidži dolara - fidži dolar - fidži dolara - - - Foklandska ostrva funta (FKP) - folklandske funte - folklandskih funti - folklandska funta - folklandska funta - - - Francuski franak - Francuska franka - Francuskih franaka - francuski franak - francuskih franaka - - - Britanska funta sterlinga - britanske funte sterlinga - britanskih funti sterlinga - britanska funta sterlinga - britanskih funti sterlinga - - - Gruzijski kupon larit (GEK) - gruzijska kupon larita - gruzijskih kupon larita - gruzijski kupon larit - gruzijskih kupon larita - - - Džordžijski lari (GEL) - gruzijska larisa - gruzijskih larisa - gruzijski laris - gruzijskih larisa - - - Ganijski cedi (1979-2007) (GHC) - ganska ceda (GHC) - ganskih ceda (GHC) - ganski ced (GHC) - ganskih ceda (GHC) - - - Ganijski cedi (GHS) - ganska ceda - ganskih ceda - ganski cedi - ganski cedi - - - Gibraltarska funta (GIP) - gibraltarske funte - gibraltarskih funti - gibraltarska funta - gibraltarska funta - - - Gambijski dalasi (GMD) - gambijska dalasa - gambijskih dalasa - gambijski dalas - gambijskih dalasa - - - Gvinejski franak (GNF) - gvinejska franka - gvinejskih franaka - gvinejski franak - gvinejski franak - - - Gvinejski sili (GNS) - gvinejska silija - gvinejskih silija - gvinejski sili - gvinejski silij - - - Evatorijalna gvineja ekvele (GQE) - evatorijаlno-gvinejska ekvelа - evatorijаlno-gvinejskih ekvelа - evatorijаlno-gvinejski ekvele - evatorijаlno-gvinejskih ekvelа - - - Drahma - grčke drahme - grčkih drahmi - grčka drahma - grčkih drahmi - - - Gvatemalski kvetzal (GTQ) - gvatemalska kvecala - gvatemalskih kvecala - gvatemalski kvecal - gvatemalskih kvecala - - - Portugalska Gvineja eskudo (GWE) - portugalsko-gvinejska eskuda - portugalsko-gvinejskih eskuda - portugalsko-gvinejski eskudo - portugalsko-gvinejski eskudo - - - Gvineja bisao pezo (GWP) - gvinejа-bisaoška pezosa - gvinejа-bisaoških pezosa - gvinejа-bisaoški pezo - gvinejsko-bisaoski pezos - - - Guajanski dolar (GYD) - gvajanska dolara - gvajanskih dolara - gvajanski dolar - gvajanski dolari - - - Honkonški dolar - hongkonška dolara - hongkonških dolara - hongkonški dolar - hongkonških dolara - - - Honduranska lempira (HNL) - honduraškа lempirа - honduraških lempirа - honduraški lempir - honduraških lempirа - - - Hrvatski dinar - Hrvatska dinara - Hrvatskih dinara - hrvatski dinar - hrvatskih dinara - - - Hrvatska kuna - Hrvatske kune - Hrvatskih kuna - hrvatska kuna - hrvatskih kuna - - - Haitski gurd (HTG) - haićanska gourda - haićanskih gourda - haićanski gourd - haićanski gourd - - - Mađarska forinta - mađarske forinte - mađarskih forinti - mađarska forinta - mađarske forinte - - - Indonezijska rupiah - indonežanske rupije - indonežanskih rupija - indonežanska rupija - indonežanske rupije - - - Irska funta - irske funte - irskih funti - irska funta - irskih funti - - - Izraelska funta (ILP) - izraelske funte - izraelskih funti - izraelska funta - izraelska funta - - - stari izraelski šekeli - stari izraelski šekeli - stari izraelski šekeli - stari izraelski šekeli - stari izraelski šekeli - - - Izraelski šekel - nova izraelska šekela - novih izraelskih šekela - novi izraelski šekel - novih izraelskih šekela - - - Indijski rupi - indijske rupije - indijskih rupija - indijska rupija - indijskih rupija - - - Irački dinar (IQD) - iračka dinara - iračkih dinara - irački dinar - irački dinari - - - Iranijski rial (IRR) - iranska rijala - iranskih rijala - iranski rijal - iranski rijali - - - stara islandska kruna - stara islandska kruna - stara islandska kruna - stara islandska kruna - stara islandska kruna - - - Islandska kruna (ISK) - islandske krune - islandskih kruna - islandska kruna - islandska kruna - - - Italijanska lira - Italijanske lire - Italijanskih lira - italijanska lira - italijanske lire - - - Jamajski dolar (JMD) - jamajska dolara - jamajskih dolara - jamajski dolar - jamajskih dolara - - - Jordanski dinar (JOD) - jordanskih dinara - jordanskih dinara - ordanskih dinara - ordanskih dinara - - - Japanski jen - Japanska jena - Japanskih jena - japanski jen - japanski jen - - - Kenijski šiling - kenijska šilinga - kenijskih šilinga - kenijski šiling - kenijskih šilinga - - - Kirgistanski som (KGS) - kirgistanska soma - kirgistanskih soma - kirgistanski som - kirgijski som - - - Kambodžijski riel (KHR) - kambodžanska rijela - kambodžanskih rijela - kambodžanski rijal - kambodžanskih rijela - - - Komoranski franak (KMF) - komoranska franka - komoranskih franaka - komoranski franak - komoranski franci - - - Severnokorejski von (KPW) - severnokorejska vona - severnokorejskih vona - severnokorejski von - severnokorejski von - - - Južno-korejski Von - južno-korejska vona - južno-korejskih vona - južno-korejski von - južno-korejski von - - - Kuvajtski dinar - kuvajtskih dinara - kuvajtskih dinara - kuvajtskih dinara - kuvajtskih dinara - - - Kajmanska ostrva dolar (KYD) - kajmanska dolara - kajmanskih dolara - kajmanski dolar - kajmanski dolar - - - Kazahstanski tendž (JZT) - kazahstanske tendže - kazahstanskih tendži - kazahstanska tendža - kazahstanskih tendži - - - Laoški kip (LAK) - laoška kipa - laoških kipa - laoški kip - laoški kipovi - - - Lebanska funta (LBR) - lebanske funte - lebanskih funti - lebanska funta - lebanske funte - - - Šrilankanski rupi (LKR) - šrilankanske rupije - šrilankanskih ruplji - šrilankanska rupija - šrilankanska rupija - - - Liberijski dolar (LRD) - liberijska dolara - liberijskih dolara - liberijski dolar - liberijskih dolara - - - Lesotski loti (LSL) - lesotska lotisa - lesotskih lotisa - lesotski lotis - lesotskih lotisa - - - Litvanski litas - litvanske lite - litvanskih lita - litvanska lita - litvanskih lita - - - Litvanski talonas (LTT) - litvanska litasa - litvanskih litasa - litvanski litas - litvanski litas - - - Luksemburški konvertibilni franak (LUC) - luksemburška konvertibilna franka - luksemburških konvertibilnih franaka - luksemburški konvertibilni franak - luksemburški konvertibilni franak - - - Luksemburški franak - luksemburška franka - luksemburških franaka - luksemburški franak - luksemburški franci - - - Luksemburški finansijski franak (LUL) - luksemburška financijska franka - luksemburških financijskih franaka - luksemburški financijski franak - luksemburški financijski franak - - - Latvijski lats (LVL) - latvijska lata - latvijskih lata - latvijski lat - latvijski lat - - - Latvijska rublja (LVR) - latvijska rublja - latvijskih rublji - latvijska rublja - latvijska rublja - - - Libijski dinar - libijska dinara - Libijskih dinara - Libijskih dinara - libijskih dinara - - - Marokanski dirham - marokanske dirame - marokanskih dirama - marokanska dirama - marokanskih dirama - - - Marokanski franak (MAF) - marokanska franka - marokanskih franaka - marokanski franak - marokanski franak - - - Moldovski lju (MDL) - moldavska leja - moldavskih leja - moldavski lej - moldavski lej - - - Malagasijski ariari (MGA) - madagaskarska ariarija - madagaskarskih ariarija - madagaskarski ariarij - madagaskarski ariariji - - - Malagasijski franak (MGF) - madagaskarska franka - madagaskarskih franaka - madagaskarski franak - MGF - - - Makedonski denar - makedonska denara - Makedonskih denara - Makedonski denar - makedonskih dinara - - - Malijanski franak (MLF) - malijska franka - malijskih franaka - malijski franak - malijski franak - - - Mjanmaški kjat (MMK) - mjanmarska kjata - mjanmarskih kjata - mjanmarski kjat - mjanmarski kjati - - - Mongolski tugrik (MNT) - mongolska tugrika - mongolskih tugrika - mongolski tugrik - mongolski tugrici - - - Makaniška pataka (MOP) - makaneška patka - makaneških pataka - makaneški patak - makaneški patak - - - Mauritanijska ugvija - mauritanijske ouguje - mauritanijskih ouguja - mauritanijska ouguja - mauritanijske ouguje - - - Malteška lira - malteške lire - malteških lira - malteška lira - malteških lira - - - Malteška funta (MTP) - malteške funte - malteških funti - malteška funta - malteška funta - - - Mauricijska ruplja (MUR) - mauricijske rupije - mauricijskih rupija - mauricijska rupija - mauricijske rupije - - - Maldivijska rufija (MVR) - maldivijske rufije - maldivijskih rufija - maldivijska rufija - maldivijska rufija - - - Malavijska kvača (MWK) - malavijske kvače - malavijskih kvača - malavijska kvača - malavijska kvača - - - Meksički peso - meksička pezosa - meksičkih pezosa - meksički pezos - meksičkih pezosa - - - Meksijski srebrno pezo (1861-1992) (MXP) - meksička srebrna pezosa (MXP) - meksičkih srebrnih pezosa (MXP) - meksički srebrni pezos (MXP) - meksički srebrni pezos (MXP) - - - Meksijski unidad de inverzion (MXV) - meksička unidads de inversion (UDI) - meksičkih unidads de inversion (UDI) - meksički unidads de inversion (UDI) - meksički unidads de inversion (UDI) - - - Malezijski ringit - malezijska ringita - malezijskih ringita - malezijski ringit - malezijskih ringita - - - Mozambijski eskudo (MZE) - mozambijska eskuda - mozambijskih eskuda - mozambijski eskudo - mozambijski eskudo - - - Stari mozambijski metikal (MZM) - stara mozambijska metikala - starih mozambijskih metikala - stari mozambijski metikal - stari mozambijski metikal - - - Mozambijski metikal (MZN) - mozambijska metikala - mozambijskih metikala - mozambijski metikal - mozambijski metikal - - - Nambijski dolar (NAD) - namibijska dolara - namibijskih dolara - namibijski dolar - namibijski dolar - - - Nigerijska naira (NGN) - nigerijska naira - nigerijskih naira - nigerijski nair - nigerijski nair - - - Nikaragvanška kordoba (NIC) - nikaragvanske kordobe - nikaragvanskih kordoba - nikaragvanska kordoba - nikaragvanska kordoba - - - Nikaragvanška kordoba oro - nikaragvanske zlatne kordobe - nikaragvanskih zlatnih kordoba - nikaragvanska zlatna kordoba - nikaragvanska zlatna kordoba - - - Holandski gulden - holandska guldena - holandskih guldena - holandski gulden - holandskih guldena - - - Norveška kruna - Norveške kune - Norveških kuna - Norveška kuna - norveških kruna - - - Nepalska ruplja (NPR) - nepalske rupije - nepalskih rupija - nepalska rupija - nepalska rupija - - - Novozelandski dolar - novozelandska dolara - novozelandskih dolara - novozelandski dolar - novozelandskih dolara - - - Omanski rial (OMR) - omanska rijala - omanskih rijala - omanski rijal - omanski rijal - - - Panamanska balboa (PAB) - panamske balboe - panamskih balboa - panamska balboa - panamska balboa - - - Peruvijski inti (PEI) - peruanske inte - peruanskih inti - peruanska inta - peruanska inta - - - Peruanski nuevo sol - peruanska nuevo sola - peruanskih nuevo sola - peruanski nuevo sol - peruanskih nuevo sola - - - Peruvijski sol (PES) - peruanska sola - peruanskih sola - peruanski sol - peruanski sol - - - Papua Nova Gvineja kina (PGK) - kine Papue Nove Gvineje - kina Papue Nove Gvineje - kina Papue Nove Gvineje - kina Papue Nove Gvineje - - - Filipinski peso - filipinska pezosa - filipinskih pezosa - filipinski pezo - filipinskih pezosa - - - Pakistanski rupi - pakistanske rupije - pakistanskih rupija - pakistanska rupija - pakistanske rupije - - - Poljski zlot (PLN) - poljske zlote - poljskih zlota - poljski zlot - poljski zlot - - - Poljski zloti (1950-1995) (PLZ) - poljske zlote (PLZ) - poljskih zlota (PLZ) - poljski zlot (PLZ) - poljski zlot (PLZ) - - - Portugalski eskudo - portugalska eskuda - portugalskih eskuda - portugalski eskudo - portugalskih eskuda - - - Paragvajski guarni (PYG) - paragvajska gvaranija - paragvajskih gvaranija - paragvajski gvarani - paragvajski gvarani - - - Katarski rial (QAR) - katarska rijala - katarskih rijala - katarski rijal - katarski rijal - - - Rodizijski dolar (RHD) - rodezijska dolara - rodezijskih dolara - rodezijski dolar - rodezijski dolar - - - Stari romanski lju (ROL) - stara rumunjska leja - starih rumunjskih leja - stari rumunjski lej - stari rumunjski lej - - - Rumunski leu - rumunska leua - rumunskih leua - rumunski leu - rumunskih leua - - - Srpski dinar - srpska dinara - srpskih dinara - srpski dinar - srpski dinari - din. - - - Ruska rublja - ruske rublje - ruskih rublji - ruska rublja - ruskih rublji - - - Ruska rublja (1991-1998) - ruske rublje (RUR) - ruskih rublji (RUR) - ruska rublja (RUR) - ruskih rublji (RUR) - - - Ruandski franak (RWF) - ruandska franka - ruandskih franaka - ruandski franak - ruandski franci - - - Saudijski rijal (SAR) - saudijska rijala - saudijskih rijala - saudijski rijal - saudijski rijal - - - Solomonska ostrva dolar (SBD) - solomonskoostrvska dolara - solomonskoostrvskih dolara - solomonskoostrvski dolar - solomonskoostrvski dolar - - - Sejšelski rupi (SCR) - sejšelske rupije - sejšelskih rupija - sejšelska rupija - sejšelska rupija - - - STari sudanski dinar (SDD) - stara sudanska dinara - starih sudanskih dinara - stari sudanski dinar - stari sudanski dinar - - - Sudanska funta (SDG) - sudanske funte - sudanskih funti - sudanska funta - sudanska funta - - - Stara sudanska funta (SDP) - stare sudanske funte - starih sudanskih funti - stara sudanska funta - stara sudanska funta - - - Švedska kruna - švedske krune - švedskih kruna - švedska kruna - švedskih kruna - - - Singapurski dolar - singapurška dolara - singapurških dolara - singapurški dolar - singapurških dolara - - - Sv. Helenska funta (SHP) - sv. jelenske funte - sv. jelenskih funti - sv. jelenska funta - sv. jelenska funta - - - Slovenski tolar - slovenačka tolara - slovenačkih tolara - slovenački tolar - slovenačkih tolara - - - Slovačka kruna - slovačke kune - slovačkih kuna - slovačka kuna - slovačkih kuna - - - Sijeraleonski leone (SLL) - sijeraleonske leone - sijeraleonskih leona - sijeraleonska leona - sijeraleonske leone - - - Somalijski šiling (SOS) - somalijska šilinga - somalijskih šilinga - somalijski šiling - somalijski šilinzi - - - Surinamski dolar (SRD) - surinamska dolara - surinamskih dolara - surinamski dolar - surinamski dolar - - - Surinamski gilder (SRG) - surinamska guldena - surinamskih guldena - surinamski gulden - surinamski gulden - - - Sao Tome i Principe dobra (STD) - dobra Sao Toma i Principa - dobra Sao Toma i Principa - dobra Sao Toma i Principa - dobra Sao Toma i Principa - - - Sovjetska rublja (SUR) - sovjetske rublje - sovjetskih rublji - sovjetska rublja - sovjetske rublje - - - Salvadorski kolon (SVC) - salvadorska kolona - salvadorskih kolona - salvadorski kolon - salvadorski kolon - - - Sirijska funta (SYP) - sirijske funte - sirijskih funti - sirijska funta - sirijske funtie - - - Švazi lilangeni (SZL) - svazi lilangena - svazi lilangena - svazi lilangena - svazi lilangena - - - Tai baht (THB) - tajlandske bahte - tajlandskih bahta - tajlandska bahta - tajlandska bahta - - - Tadžakistanska rublja (SYR) - tadžikistanske rublje - tadžikistanskih rublji - tadžikistanska rublja - tadžikistanska rublja - - - Tadžikistanski somoni (TJS) - tadžikistanska somona - tadžikistanskih somona - tadžikistanski somon - tadžikistanski somon - - - Turkmenistanski manat (TMM) - turkmenistanska manata - turkmenistanskih manata - turkmenistanski manat - turkmenistanski manat - - - Tunizijski dinar (TND) - tunizijska dinara - tunizijskih dinara - tunizijski dinar - tunizijski dinar - - - Tongška Paʻanga (TOP) - tongaške pa'ange - tongaških pa'angi - tongaška pa'anga - tongaška pa'anga - - - Timorški eskudo (TPE) - timorska eskuda - timorskih eskuda - timorski eskudo - timorski eskudo - - - Stara turska lira (TRL) - stare turske lire - starih turskih lira - stara turska lira - stara turska lira - - - Turska lira - turske lire - turskih lira - turska lira - novih turskih lira - - - Trinidad i Tobago dolar (TTD) - trinidadtobaška dolara - trinidadtobaških dolara - trinidadtobaški dolar - trinidadtobaški dolar - - - Novi tajvanski dolar - nova tajvanska dolara - novih tajvanskih dolara - novi tajvanski dolar - novi tajvanski dolari - - - Tanzijski šiling (TZS) - tanzanijska šilinga - tanzanijskih šilinga - tanzanijski šiling - tanzanijski šilinzi - - - Ukrajinska hrivnja - ukrajinske hrivnje - ukrajinskih hrivnji - ukrajinska hrivnja - ukrajinskih hrivnji - - - Ukrajinski karbovaneti (UAK) - ukrajinska karbovantsiva - ukrajinskih karbovantsiva - ukrajinski karbovantsiv - ukrajinski karbovantsiv - - - Ugandijski šiling (1966-1987) (UGS) - ugandska šilinga (UGS) - ugandskih šilinga (UGS) - ugandski šiling (UGS) - ugandski šiling (UGS) - - - Ugandijski šiling (UGX) - ugandska šilinga - ugandskih šilinga - ugandski šiling - ugandski šilinzi - - - Američki dolar - američka dolara - američkih dolara - američki dolar - američkih dolara - - - SAD dolar (sledeći dan) (USN) - američka dolara (sledeći dan) - američkih dolara (sledeći dan) - američki dolar (sledeći dan) - američki dolar (sledeći dan) - - - SAD dolar (isti dan) (USS) - američka dolara (isti dan) - američkih dolara (isti dan) - američki dolar (isti dan) - američki dolar (isti dan) - - - Urugvajski pezo en unidades indeksades (UYI) - urugvajska pesosa en unidades indexadas - urugvajskih pesosa en unidades indexadas - urugvajski pesos en unidades indexadas - urugvajski pesos en unidades indexadas - - - Urugvajski pezo (1975-1993) (UYP) - urugvajska pezosa (UYP) - urugvajskih pezosa (UYP) - urugvajski pezos (UYP) - urugvajski pezos (UYP) - - - Urugvajski pezo (UYU) - urugvajska pezosa - urugvajskih pezosa - urugvajski pezos - urugvajski pezos - - - Uzbekistanski som (UZS) - uzbekistanska soma - uzbekistanskih soma - uzbekistanski som - uzbekistanski som - - - Venecuelanski bolivar - venecuelska bolivara - venecuelskih bolivara - venecuelski bolivar - venecuelskih bolivara - - - Venecuelanska bolivija fuerte (VEF) - venezuelanska bolivara fuertes - venezuelanskih bolivara fuertes - venezuelanski bolivar fuertes - venezuelanski bolivar fuertes - - - Vijetnamski dong - vijetnamska donga - vijetnamskih donga - vijetnamski dong - vijetnamski dong - - - Vanatuški vatu (VUV) - vanuatska vatua - vanuatskih vatua - vanuatski vatu - vanuatski vatui - - - Samoanska tala (WST) - samoanske tale - samoanskih tala - samoanska tala - samoanska tala - - - CFA franak BEAC (XAF) - CFA franka BEAC - CFA franaka BEAC - CFA franak BEAC - CFA franci BEAC - - - Srebro (CAG) - srebra - srebra - srebro - srebro - - - Zlato (XAU) - zlata - zlata - zlato - zlato - - - Evropska kompozitna jedinica (XBA) - evropske složene jedinice - evropskih složenih jedinica - evropska složena jedinica - evropska složena jedinica - - - Evropska novčana jedinica (XBB) - evropske monetarne jedinice - evropskih monetarnih jedinica - evropska monetarna jedinica - evropska monetarna jedinica - - - Evropska jedinica računa (XBC) - evropske obračunske jedinice (XBC) - evropskih obračunskih jedinica (XBC) - evropska obračunska jedinica (XBC) - evropska obračunska jedinica (XBC) - - - Evropska jedinica računa (XBD) - evropske obračunske jedinice (XBD) - evropskih obračunskih jedinica (XBD) - evropska obračunska jedinica (XBC - evropska obračunska jedinica (XBC - - - Istočnokaribijski dolar (XCD) - istočnokaripska dolara - istočnokaripskih dolara - istočnokaripski dolar - istočnokaripski dolar - - - Posebna prava (XDR) - posebna crtaća prava - posebnih crtaćih prava - posebno crtaće pravo - posebnih crtaćih prava - - - Evropska valutna jedinica (XEU) - evropske monetarne jedinice (ECU) - evropskih monetarnih jedinica (ECU) - evropska monetarna jedinica (ECU) - evropskih monetarnih jedinica (ECU) - - - Francuski zlatni frank (XFO) - francuska zlatna franka - francuskih zlatnih franaka - francuski zlatni franak - francuskih zlatnih franaka - - - Francuski UIC-frank (XFU) - francuska UIC-franka - francuskih UIC-franaka - francuski UIC-franak - francuskih UIC-franaka - - - CFA franak BCEAO (XOF) - CFA franka BCEAO - CFA franaka BCEAO - CFA franak BCEAO - CFA franci BCEAO - - - Paladijum (XPD) - paladijuma - paladijuma - paladijum - paladijuma - - - CFP franak (XPF) - CFP franaka - CFP franaka - CFP franak - CFP franci - - - Platina (XPT) - platine - platina - platina - platina - - - RINET fondovi (XRE) - RINET fonda - RINET fondova - RINET fond - RINET fondova - - - Kod testirane valute (XTS) - ispitna koda valute - ispitnih kodova valute - ispitni kod valute - ispitnih kodova valute - - - Nepoznata ili nevažeća valuta - nepoznate ili nevažeće valute - nepoznatih ili nevažećih valuta - nepoznate ili nevažeće valute - nepoznatih ili nevažećih valuta - - - Jemenski dinar (YDD) - jemenska dinara - jemenskih dinara - jemenski dinar - jemenskih dinara - - - Jemenski rial (YER) - jemenska rijala - jemenskih rijala - jemenski rijal - jemenski rijali - - - Jugoslovenski tvrdi dinar (YUD) - jugoslovenska čvrsta dinara - jugoslovenskih čvstih dinara - jugoslovenski čvrsti dinar - jugoslovenskih čvstih dinara - - - Jugoslovenski novi dinar (YUM) - jugoslovenska nova dinara - jugoslovenskih novih dinara - jugoslovenski novi dinar - jugoslovenskih novih dinara - - - Jugoslovenski konvertibilni dinar (YUN) - jugoslovenska konvertibilna dinara - jugoslovenskih konvertibilnih dinara - jugoslovenski konvertibilni dinar - jugoslovenskih konvertibilnih dinara - - - Južnoafrički rand (finansijski) ZAL - južnoafrička randa (financijska) - južnoafičkih randa (financijskih) - južnoafrički rand (financijski) - južnoafičkih randa (financijskih) - - - Južna Afrika Rand - južnoafrička randa - južnoafričkih randa - južnoafrički rand - južnoafričkih randa - - - Zambijska kvača (ZMK) - zambijske kvače - zambijskih kvača - zambijska kvača - zambijske kvače - - - Zairski novi zair (ZRN) - zairska nova zaira - zairskih novih zaira - zairski novi zair - zairskih novih zaira - - - Zairski zair (ZRZ) - zairska zaira - zairskih zaira - zairski zair - zairskih zaira - - - Zimbabvejski dolar (ZWD) - zimbabvejska dolara - zimbabvejskih dolara - zimbabvejski dolar - zimbabvejski dolari - - - - - - {0} dana - {0} dana - {0} dan - {0} dana - - - {0} sata - {0} sati - {0} sat - {0} sati - - - {0} minute - {0} minuta - {0} minut - {0} minuta - - - {0} meseca - {0} meseci - {0} mesec - {0} meseci - - - {0} sekunde - {0} sekundi - {0} sekunda - {0} sekundi - - - {0} nedelje - {0} nedelja - {0} nedelja - {0} nedelja - - - {0} godine - {0} godina - {0} godina - {0} godina - - - - - da:d - ne:n - - - - diff --git a/lib/zend/Zend/Locale/Data/sr_Latn_BA.xml b/lib/zend/Zend/Locale/Data/sr_Latn_BA.xml deleted file mode 100644 index 8dd5241433..0000000000 --- a/lib/zend/Zend/Locale/Data/sr_Latn_BA.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - världen - Afrika - Nordamerika - Sydamerika - Oceanien - Västafrika - Centralamerika - Östafrika - Nordafrika - Centralafrika - södra Afrika - Nord- och Sydamerika - norra Amerika - Karibien - Östasien - södra Asien - Sydostasien - Sydeuropa - Australien och Nya Zeeland - Melanesien - Mikronesiska öarna - Polynesien - södra Centralasien - Asien - Centralasien - Västasien - Europa - Östeuropa - Nordeuropa - Västeuropa - Oberoende staters samvälde - Latinamerika och Karibien - Kanalöarna - Andorra - Förenade Arabemiraten - Afghanistan - Antigua och Barbuda - Anguilla - Albanien - Armenien - Nederländska Antillerna - Angola - Antarktis - Argentina - Amerikanska Samoa - Österrike - Australien - Aruba - Åland - Azerbajdzjan - Bosnien och Hercegovina - Barbados - Bangladesh - Belgien - Burkina Faso - Bulgarien - Bahrain - Burundi - Benin - S:t Barthélemy - Bermuda - Brunei - Bolivia - Brasilien - Bahamas - Bhutan - Bouvetön - Botswana - Vitryssland - Belize - Kanada - Kokosöarna - Kongo-Kinshasa - Centralafrikanska republiken - Kongo-Brazzaville - Schweiz - Elfenbenskusten - Cooköarna - Chile - Kamerun - Kina - Colombia - Costa Rica - Serbien och Montenegro - Kuba - Kap Verde - Julön - Cypern - Tjeckien - Tyskland - Djibouti - Danmark - Dominica - Dominikanska republiken - Algeriet - Ecuador - Estland - Egypten - Västsahara - Eritrea - Spanien - Etiopien - Finland - Fiji - Falklandsöarna - Mikronesien - Färöarna - Frankrike - Gabon - Storbritannien - Grenada - Georgien - Franska Guyana - Guernsey - Ghana - Gibraltar - Grönland - Gambia - Guinea - Guadeloupe - Ekvatorialguinea - Grekland - Sydgeorgien och Södra Sandwichöarna - Guatemala - Guam - Guinea-Bissau - Guyana - Hongkong (S.A.R. Kina) - Heard- och McDonaldöarna - Honduras - Kroatien - Haiti - Ungern - Indonesien - Irland - Israel - Isle of Man - Indien - Brittiska Indiska oceanöarna - Irak - Iran - Island - Italien - Jersey - Jamaica - Jordanien - Japan - Kenya - Kirgizistan - Kambodja - Kiribati - Komorerna - S:t Kitts och Nevis - Nordkorea - Sydkorea - Kuwait - Caymanöarna - Kazakstan - Laos - Libanon - S:t Lucia - Liechtenstein - Sri Lanka - Liberia - Lesotho - Litauen - Luxemburg - Lettland - Libyen - Marocko - Monaco - Moldavien - Montenegro - S:t Martin - Madagaskar - Marshallöarna - Makedonien - Mali - Myanmar - Mongoliet - Macao (S.A.R. Kina) - Nordmarianerna - Martinique - Mauretanien - Montserrat - Malta - Mauritius - Maldiverna - Malawi - Mexiko - Malaysia - Moçambique - Namibia - Nya Kaledonien - Niger - Norfolkön - Nigeria - Nicaragua - Nederländerna - Norge - Nepal - Nauru - Niue - Nya Zeeland - Oman - Panama - Peru - Franska Polynesien - Papua Nya Guinea - Filippinerna - Pakistan - Polen - S:t Pierre och Miquelon - Pitcairn - Puerto Rico - Palestinska territoriet - Portugal - Palau - Paraguay - Qatar - Yttre öar i Oceanien - Europeiska unionen - Réunion - Rumänien - Serbien - Ryssland - Rwanda - Saudiarabien - Salomonöarna - Seychellerna - Sudan - Sverige - Singapore - S:t Helena - Slovenien - Svalbard och Jan Mayen - Slovakien - Sierra Leone - San Marino - Senegal - Somalia - Surinam - São Tomé och Príncipe - El Salvador - Syrien - Swaziland - Turks- och Caicosöarna - Tchad - Franska Sydterritorierna - Togo - Thailand - Tadzjikistan - Tokelau - Östtimor - Turkmenistan - Tunisien - Tonga - Turkiet - Trinidad och Tobago - Tuvalu - Taiwan - Tanzania - Ukraina - Uganda - USA:s yttre öar - USA - Uruguay - Uzbekistan - Vatikanstaten - S:t Vincent och Grenadinerna - Venezuela - Brittiska Jungfruöarna - Amerikanska Jungfruöarna - Vietnam - Vanuatu - Wallis- och Futunaöarna - Samoa - Jemen - Mayotte - Sydafrika - Zambia - Zimbabwe - okänd eller ogiltig regionkod - - - traditionell tysk stavning - 1994 års resisk stavning - 1996 års reformerad tysk stavning - 1606 års stavning - 1694 års stavning - östarmeniska - västarmeniska - 1926 års stavning - Bila-dialekt - boontling - internationell fonetisk notation - IPA - uralisk fonetisk notation - Lipovaz-dialekt - monotonisk stavning - natisonsk dialekt - Njiva-dialekt - Osojane-dialekt - polytonisk stavning - reformerad stavning - resisk dialekt - saho-dialekt - skotska - scouse - Solbica-dialekt - Taraskievika-stavning - valensisk dialekt - - - kalender - sorteringsordning - valuta - - - traditionell kinesiska i big5-ordning - buddistisk kalender - kinesisk kalender - direkt ordning - förenklad kinesiska i gb2312-ordning - gregoriansk kalender - hebreisk kalender - indisk kalender - islamisk kalender - islamisk civil kalender - japansk kalender - telefonkatalogsordning - pinyinordning - kinesiska republikens kalender - streckordning - traditionell ordning - - - engelska enheter - SI-enheter - - - språk: {0} - skrift: {0} - område: {0} - - - - lowercase-words - lowercase-words - lowercase-words - lowercase-words - lowercase-words - lowercase-words - lowercase-words - titlecase-words - lowercase-words - lowercase-words - - - [a à b-e é f-z å ä ö] - [á à â ã ā ç é ë í-ï ī ñ ó ú w ÿ ü æ ø] - [a-c č d-l ł m-z] - - - ” - ” - ’ - ’ - - - {0} till {1} - - - fm - em - - - - EEEE d MMMM y - - - - - d MMMM y G - - - - - d MMM y G - - - - - yyyy-MM-dd - - - - - - MMM -yy - - - - - - - - tout - bâbâ - hâtour - kiahk - toubah - amshîr - barmahât - barmoudah - bashans - ba’ounah - abîb - misra - al-nasi - - - - - - - - - mäskäräm - teqemt - hedar - tahesas - yäkatit - mägabit - miyazya - guenbot - säné - hamlé - nähasé - pagumén - - - - - - - - - jan - feb - mar - apr - maj - jun - jul - aug - sep - okt - nov - dec - - - januari - februari - mars - april - maj - juni - juli - augusti - september - oktober - november - december - - - - - J - F - M - A - M - J - J - A - S - O - N - D - - - - - - - sön - mån - tis - ons - tors - fre - lör - - - söndag - måndag - tisdag - onsdag - torsdag - fredag - lördag - - - - - S - M - T - O - T - F - L - - - - - - - K1 - K2 - K3 - K4 - - - 1:a kvartalet - 2:a kvartalet - 3:e kvartalet - 4:e kvartalet - - - - - 1 - 2 - 3 - 4 - - - - fm - em - - - före Kristus - efter Kristus - - - f.Kr. - e.Kr. - - - - - - EEEE d MMMM y - - - - - d MMMM y - - - - - d MMM y - - - - - yyyy-MM-dd - - - - - - - 'kl'. HH.mm.ss zzzz - - - - - HH.mm.ss z - - - - - HH.mm.ss - - - - - HH.mm - - - - - - HH.mm - HH.mm.ss - H.mm - L - E d/M - LLL - E d MMM - EEE d MMMM - E d MMMM - d MMMM - d MMM - d/M - dd/MM - d/M - d - hh.mm a - h.mm.ss a - mm.ss - y - yyyy-MM - EEE, yyyy-MM-dd - y MMM - EEE d MMM y - y MMMM - yyyy Q - y QQQ - yy-MM - MMM -yy - Q yy - yyyy-MM - MMM y - QQQQ y - - - {0} – {1} - - M–M - - - E d/M – E d/M - E d/M – E d/M - - - MMM–MMM - - - E d MMM – E d MMM - E d – E d MMM - - - LLLL–LLLL - - - d MMM – d MMM - d–d MMM - - - d/M – d/M - d–d/M - - - d–d - - - HH–HH - HH-HH - - - HH.mm–HH.mm - HH.mm–HH.mm - HH.mm–HH.mm - - - HH.mm–HH.mm v - HH.mm–HH.mm v - HH.mm-HH.mm v - - - HH–HH v - HH–HH v - - - y–y - - - yyyy-MM – MM - yyyy-MM – yyyy-MM - - - E, yyyy-MM-dd – E, yyyy-MM-dd - E, yyyy-MM-dd – E, yyyy-MM-dd - E, yyyy-MM-dd – E, yyyy-MM-dd - - - MMM–MMM y - MMM y – MMM y - - - E dd MMM–E dd MMM y - E dd MMM–E dd MMM y - E dd MMM y–E dd MMM y - - - yyyy-MM – MM - yyyy-MM – yyyy-MM - - - d MMM–d MMM y - d–d MMM y - d MMM y–d MMM y - - - yyyy-MM-dd – MM-dd - yyyy-MM-dd – dd - yyyy-MM-dd – yyyy-MM-dd - - - - - - era - - - år - - - månad - - - vecka - - - dag - för tre dagar sedan - i förrgår - igår - idag - imorgon - i övermorgon - om tre dagar - - - veckodag - - - fm/em - - - timme - - - minut - - - sekund - - - tidszon - - - - - - - - tishrí - heshván - kislév - tevét - shevát - adár - adár II - nisán - ijjár - siván - tammúz - ab - elúl - - - - - - - - - chaitra - vaishākh - jyaishtha - āshādha - shrāvana - bhādrapad - āshwin - kārtik - mārgashīrsha - paush - māgh - phālgun - - - - - - Saka-eran - - - SE - - - - - - - - muharram - safar - rabi’ al-awwal - rabi’ al-akhir - jumada-l-ula - jumada-l-akhira - rajab - sha’ban - ramadan - shawwal - dhu-l-ga’da - dhu-l-hijja - - - - - - - - - farvardin - ordibehesht - khordād - tir - mordād - shahrivar - mehr - ābān - āzar - dey - bahman - esfand - - - - - - - - före R.K. - R.K. - - - - - - +HH.mm;-HH.mm - GMT{0} - UTC - {0} - {1} ({0}) - - Okänd - - - Tirana - - - Jerevan - - - Curaçao - - - sydpolen - - - Dumont d’Urville - - - Ushuaïa - - - San Salvador de Jujuy - - - Córdoba - - - Pango Pango - - - Wien - - - Dacca - - - Bryssel - - - Porto Novo - - - Eirunepé - - - Cuiabá - - - Belém - - - São Paulo - - - Maceió - - - Thimpu - - - Gabonore - - - Régina - - - Montréal - - - St. Johns - - - Zürich - - - Påskön - - - Bogotá - - - Havanna - - - Kap Verde - - - Julön - - - Prag - - - Köpenhamn - - - Alger - - - Galápagos - - - Tallin - - - Kairo - - - Kanarieöarna - - - Addis Abeba - - - Helsingfors - - - Torshamn - - - Qaanaaq - - - Godthåb - - - Ittoqqortoormiit - - - Danmarkshamn - - - Malobo - - - Aten - - - Grytviken - - - Hongkong - - - Tequciqalpa - - - Port au Prince - - - Kolkata - - - Bagdad - - - Teheran - - - Rom - - - S:t Kitts - - - Söul - - - Aqtöbe - - - Alma-Ata - - - S:t Lucia - - - Vadus - - - Luxemburg - - - Chrisinau - - - Podgorika - - - Ulan Bator - - - Tjojbalsan - - - Macao - - - Maldiverna - - - Mazatlán - - - Mérida - - - Cancún - - - Kathmandu - - - Muskat - - - Manilla - - - Warszawa - - - Azorerna - - - Lissabon - - - Asunción - - - Réunion - - - Bukarest - - - Belgrad - - - Moskva - - - Jekaterinburg - - - Krasnojarsk - - - Jakutsk - - - Sachalin - - - Kamtjatka - - - Anadir - - - Ljubliana - - - São Tomé - - - San Salvador - - - Damaskus - - - Dusjanbe - - - Uzjgorod - - - Zaporizjzja - - - North Dakota - - - Tasjkent - - - Saint Vincent - - - Saint Thomas - - - Lukasa - - - - västbrasiliansk tid - västbrasiliansk normaltid - västbrasiliansk sommartid - - - - - afghanisk tid - afghanisk normalid - afghanisk sommartid - - - - - centralafrikansk tid - centralafrikansk tid - centralafrikansk sommartid - - - - - östafrikansk tid - östafrikansk normaltid - östafrikansk sommartid - - - - - västsaharisk tid - västsaharisk normaltid - västsaharisk sommartid - - - - - sydafrikansk tid - sydafrikansk normaltid - sydafrikansk sommartid - - - - - västafrikansk tid - västafrikansk normaltid - västafrikansk sommartid - - - - - Aqtöbetid - Aqtöbenormaltid - Aqtöbesommartid - - - - - alaskatid - Alaska, normaltid - Alaska, sommartid - - - - - hawaiiansk tid - hawaiisk normaltid - hawaiisk sommartid - - - - - Alma-Atatid - Alma-Atanormaltid - Alma-Atasommartid - - - - - amazonastid - Amazonasnormaltid - Amazonassommartid - - - - - centralnordamerikansk tid - Central, normaltid - Central, sommartid - - - - - östnordamerikansk tid - Eastern, normaltid - Eastern, sommartid - - - - - Klippiga Bergentid - Mountain, normaltid - Mountain, sommartid - - - - - västnordamerikansk tid - Pacific, normaltid - Pacific, sommartid - - - - - Anadirtid - Anadirnormaltid - Anadirsommartid - - - - - Aqtautid - Aqtaunormaltid - Aqtausommartid - - - - - Aqtöbetid - Aqtöbenormaltid - Aqtöbesommartid - - - - - saudiarabisk tid - saudiarabisk normaltid - saudiarabisk sommartid - - - AT (saudiarabisk) - AST (saudiarabisk) - ADT (saudiarabisk) - - - - - östargentinsk tid - östargentinsk normaltid - östargentinsk sommartid - - - - - västargentinsk tid - västargentinsk normaltid - västargentinsk sommartid - - - - - armenisk tid - armenisk normaltid - armenisk somartid - - - - - Ashkhabadtid - Ashkhabadnormaltid - Ashkhabadsommartid - - - - - nordamerikansk atlanttid - Atlantic, normaltid - Atlantic, sommartid - - - - - centralaustralisk tid - centralaustralisk normaltid - centralaustralisk sommartid - - - - - Euclatid - Euclanormaltid - Euclasommartid - - - - - östaustralisk tid - östaustralisk normaltid - östaustralisk sommartid - - - - - västaustralisk tid - västaustralisk normaltid - västaustralisk sommartid - - - - - azerbajdzjansk tid - azerbajdzjansk normaltid - azerbajdzjansk sommartid - - - - - azorisk tid - azorisk normaltid - azorisk sommartid - - - - - Bakutid - Bakunormaltid - Bakusommartid - - - - - bangladeshisk tid - bangladeshisk normaltid - bangladeshisk sommartid - - - - - beringsundstid - beringsundsnormaltid - beringsundssommartid - - - - - bhutansk tid - bhutansk normaltid - bhutansk sommartid - - - - - boliviansk tid - boliviansk normaltid - boliviansk sommartid - - - - - borneotid - Borneonormaltid - Borneosommartid - - - - - brasiliansk tid - Brasilianormaltid - Brasiliasommartid - - - - - brittisk tid - brittisk normaltid - brittisk sommartid - - - - - Bruneitid - Bruneinormaltid - Bruneisommartid - - - - - Kap Verdetid - Kap Verdenormaltid - Kap Verdesommartid - - - - - chamorrotid - Chamorronormaltid - Chamorrosommartid - - - - - changbaitid - Changbainormaltid - Changbaisommartid - - - - - Chathamtid - Chathamnormaltid - Chathamsommartid - - - - - chilensk tid - chilensk normaltid - chilensk sommartid - - - - - kinesisk tid - Kina, normaltid - Kina, sommartid - - - - - Choibalsantid - Choibalsannormaltid - Choibalsansommartid - - - - - Julöns tid - Julöns normaltid - Julöns sommartid - - - - - Keelingöarnas tid - Keelingöarnas normaltid - Keelingöarnas sommartid - - - - - colombiansk tid - colombiansk normaltid - colombiansk sommartid - - - - - Cooköarnas tid - Cooköarnas normaltid - Cooköarnas sommartid - - - - - kubansk tid - kubansk normaltid - kubansk sommartid - - - CT (Kuba) - CST (Kuba) - CDT (Kuba) - - - - - daccatid - Dhakanormaltid - Dhakasommartid - - - - - dominikansk tid - dominikansk normaltid - dominikansk sommartid - - - - - Dushanbetid - Dushanbenormaltid - Dushanbesommartid - - - - - Holländska Guianatid - Holländska Guiananormaltid - Holländska Guianasommartid - - - - - östimoransk tid - östimorisk normaltid - östimorisk sommartid - - - - - Påsköns tid - Påsköns normaltid - Påsköns sommartid - - - - - equadoriansk tid - equadoriansk normaltid - equadoriansk sommartid - - - - - centraleuropeisk tid - Centraleuropa, normaltid - Centraleuropa, sommartid - - true - - - - östeuropeisk tid - Östeuropa, normaltid - Östeuropa, sommartid - - true - - - - västeuropeisk tid - västeuropeisk normaltid - västeuropeisk sommartid - - true - - - - falklandsöarnas tid - falklandsöarnas normaltid - falklandsöarnas sommartid - - - - - Fijis tid - Fijis normaltid - Fijis sommartid - - - - - Franska Guianatid - Franska Guiananormaltid - Franska Guianasommartid - - - - - Franska Sydterritoriernas tid - Franska Sydterritoriernas normaltid - Franska Sydterritoriernassommartid - - - - - Bisjkektid - Bisjkeknormaltid - Bisjkeksommartid - - - - - Greenwichtid - Greenwichtid - Greenwichtid har per definition ingen sommartid - - true - - - - galapagostid - Galápagosnormaltid - Galápagossommartid - - - - - Gambiertid - Gambiernormaltid - Gambiersommartid - - - - - georgientid - georgisk normaltid - georgisk sommartid - - - - - Kiribatitid - Kiribatinormaltid - Kiribatisommartid - - - - - Goose Baytid - Goose Baynormaltid - Goose Baysommartid - - - - - centralgrönländsk tid - centralgrönländsk normaltid - centralgrönländsk sommartid - - - - - östgrönländsk tid - östgrönländsk normaltid - östgrönländsk sommartid - - - - - västgrönländsk tid - västgrönländsk normaltid - västgrönländsk sommartid - - - - - Guamtid - Guamnormaltid - Guamsommartid - - - - - persiska golfen-tid - persiska golfen-tid - Persiska Golfensommartid - - - - - Guyanatid - Guyananormaltid - Guyanasommartid - - - - - Honolulutid - Honolulunormaltid - Honolulusommartid - - - - - Hongkongtid - Hongkongnormaltid - Hongkongsommartid - - - - - Hovdtid - Hovdnormaltid - Hovdsommartid - - - - - indisk tid - indisk normaltid - indisk sommartid - - - - - Brittiska Indiska oceanöarnas tdi - Brittiska Indiska oceanöarnas normaltdi - Brittiska Indiska oceanöarnas sommartdi - - - - - indokinesisk tid - indokinesisk normaltid - indokinesisk sommartid - - - - - centralindonesisk tid - centralindonesisk normaltid - centralindonesisk sommartid - - - - - östindonesisk tid - östindonesisk normaltid - östindonesisk sommartid - - - - - västindonesisk tid - västindonesisk normaltid - västindonesisk sommartid - - - - - iransk tid - iransk normaltid - iransk sommartid - - - - - irländsk tid - irländsk normaltid - irländsk sommartid - - - - - Irkutsktid - Irkutsknormaltid - Irkutsksommartid - - - - - israelisk tid - Israel, normaltid - Israel, sommartid - - - IST (Israel) - - - - - japansk tid - Japan, normaltid - Japan, sommartid - - - - - Kamtjatkatid - Kamtjatkanormaltid - Kamtjatkasommartid - - - - - Karachitid - Karachinormaltid - Karachisommartid - - - - - Kashgartid - Kashgarnormaltid - Kashgarsommartid - - - - - Alma-Atatid - Alma-Atanormaltid - Alma-Atasommartid - - - - - Aktautid - Aktaunormaltid - Aktausommartid - - - - - Qyzylordatid - Qyzylordanormaltid - Qyzylordasommartid - - - - - koreansk tid - koreansk normaltid - koreansk sommartid - - - - - Kosraetid - Kosraenormaltid - Kosraesommartid - - - - - Krasnojarsktid - Krasnojarsknormaltid - Krasnojarsksommartid - - - - - Kuybyshevtid - Kuybyshevnormaltid - Kuybyshevsommartid - - - - - Marshallöarnas tid - Marshallöarnas normaltid - Marshallöarnas sommartid - - - - - kirgizisk tid - kirgizisk normaltid - kirgizisk sommartid - - - - - Sri Lankatid - Sri Lankanormaltid - Sri Lankasommartid - - - - - liberiansk tid - liberiansk normaltid - liberiansk sommartid - - - LBT - LBST - - - - - Lineöarnas tid - Lineöarnas normaltid - Lineöarnas sommartid - - - LINT - LINST - - - - - Chongqingtid - Chongqingnormaltid - Chongqingsommartid - - - - - Lord Howetid - Lord Howenormaltid - Lord Howesommartid - - - - - Macautid - Macaunormaltid - Macausommartid - - - - - Magadantid - Magadannormaltid - Magadansommartid - - - - - malaysisk tid - malaysisk normaltid - malaysisk sommartid - - - - - malaysisk tid - malaysisk normaltid - malaysisk sommartid - - - - - Maldivernas tid - Maldivernas normaltid - Maldivernas sommartid - - - - - Marquesastid - Marquesasnormaltid - Marquesassommartid - - - - - Marshallötid - Marshallönormaltid - Marshallösommartid - - - - - Mauritiustid - Mauritiustid - Mauritiussommartid - - - - - Ulan Bator-tid - Ulan Batornormaltid - Ulan Batorsommartid - - - - - Moskvatid - Moskvanormaltid - Moskvasommartid - - - - - burmesisk tid - burmesisk normaltid - burmesisk sommartid - - - - - Naurutid - Naurunormaltid - Naurusommartid - - - - - nepalesisk tid - nepalesisk normaltid - nepalesisk sommartid - - - - - Nya Kaledonientid - Nya Kaledoniennormaltid - Nya Kaledoniensommartid - - - - - nyzeeländsk tid - nyzeeländsk normaltid - nyzeeländsk sommartid - - - - - New Foundland-tid - Newfoundland, normaltid - Newfoundland, sommartid - - - - - Niuetid - Niuenormaltid - Niuesommartid - - - - - Norfolköns tid - Norfolköns normaltid - Norfolköns sommartid - - - - - Fernando de Noronhatid - Fernando de Noronhanormalid - Fernando de Noronhasommartid - - - - - Nordmarianernas tid - Nordmarianernas normaltid - Nordmarianernas sommartid - - - - - Novosibirsktid - Novosibirsknormaltid - Novosibirsksommartid - - - - - Omsktid - Omsknormaltid - Omsksommartid - - - - - Oraltid - Oralnormaltid - Oralsommartid - - - - - pakistansk tid - pakistansk normaltid - pakistansk sommartid - - - - - Palautid - Palaunormaltid - Palausommartid - - - - - Papua Nya Guineas tid - Papua Nya Guineas normaltid - Papua Nya Guineas sommartid - - - - - paraguyansk tid - paraguyansk normalid - paraguyansk sommartid - - - - - peruansk tid - peruansk normalid - peruansk sommartid - - - - - filippinsk tid - filippinsk normaltid - filippinsk sommartid - - - - - Enderburytid - Enderburynormaltid - Enderburysommartid - - - - - Pierre och Miquelontid - Pierre och Miquelonnormalid - Pierre och Miquelonsommartid - - - - - Pitcairntid - Pitcairnnormaltid - Pitcairnsommartid - - - - - Ponapetid - Ponapenormaltid - Ponapesommartid - - - - - Qyzylordatid - Qyzylordanormaltid - Qyzylordasommartid - - - - - Réuniontid - Réunionnormaltid - Réunionsommartid - - - - - Sachalintid - Sachalinnormaltid - Sachalinsommartid - - - - - Samaratid - Samaranormaltid - Samarasommartid - - - - - Samarkandtid - Samarkandnormaltid - Samarkandsommartid - - - - - samoansk tid - samoansk normaltid - samoansk sommartid - - - - - Seychellernas tid - Seychellernas normaltid - Seychellernas sommartid - - - - - Aqtautid - Aqtaunormaltid - Aqtausommartid - - - - - Singaporetid - Singaporenormaltid - Singaporesommartid - - - - - Salomonöarnas tid - Salomonöarnas normaltid - Salomonöarnas sommartid - - - - - sydgeorgisk tid - sydgeorgisk normaltid - sydgeorgisk sommartid - - - - - Surinamtid - Surinamnormaltid - Surinamsommartid - - - - - Sverdlovsktid - Sverdlovsknormaltid - Sverdlovsksommartid - - - - - Tahititid - Tahitinormaltid - Tahitisommartid - - - - - Tadzjikistantid - Tadzjikistannormaltid - Tadzjikistansommartid - - - - - uzbekisk tid - uzbekisk normaltid - uzbekisk sommartid - - - - - georgisk tid - georgisk normaltid - georgisk sommartid - - - - - Tokelautid - Tokelaunormaltid - Tokelausommartid - - - - - Tongatid - Tongatid - Tongasommmartid - - - - - Truktid - Truknormaltid - Truksommartid - - - - - turkisk tid - turkisk normaltid - turkisk sommartid - - - - - turkmenisk tid - turkmenisk normaltid - turkmenisk sommartid - - - - - Tuvalutid - Tuvalunormaltid - Tuvalusommartid - - - - - Oraltid - Oralnormaltid - Oralsommartid - - - - - uruguayansk tid - uruguayansk normaltid - uruguayansk sommartid - - - - - Urumqitid - Urumqinormaltid - Urumqisommartid - - - - - uzbeskisk tid - uzbeskisk normaltid - uzbeskisk sommartid - - - - - Vanuatutid - Vanuatunormaltid - Vanuatusommartid - - - - - venezulansk tid - venezulansk normaltid - venezulansk sommartid - - - - - Vladivostoktid - Vladivostoknormaltid - Vladivostoksommartid - - - - - Volvogradtid - Volvogradnormaltid - Volvogradsommartid - - - - - Waketid - Wakenormaltid - Wakesommartid - - - - - Wallis- och Futunaöarnas tid - Wallis- och Futunaöarnas normaltid - Wallis- och Futunaöarnas sommartid - - - - - Jakutsktid - Jakutsknormaltid - Jakutsksommartid - - - - - Jekaterinburgtid - Jekaterinburgnormaltid - Jekaterinburgsommartid - - - - - Yerevantid - Yerevannormaltid - Yerevansommartid - - - - - Yukontid - Yukonnormaltid - Yukonsommartid - - - - - - - , -   - ; - % - 0 - # - + - − - ×10^ - ‰ - ∞ - ¤¤¤ - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0 % - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - - - - andorransk peseta - andorransk peseta - andorranska pesetas - - - Förenade Arabemiratens dirham - Förenade Arabemiratens dirham - Förenade Arabemiratens dirham - - - afghani (1927-2002) - afghani (1927-2002) - afghani (1927-2002) - - - afghani - afghani - afghani - AFN - - - albansk gamla lek - albansk gammal lek - albanska gamla lek - - - albansk lek - albansk lek - albanska lek - - - armenisk dram - armenisk dram - armeniska dram - - - Nederländska Antillernas gulden - Nederländska Antillernas gulden - Nederländska Antillernas gulden - - - angolansk kwanza - angolansk kwanza - angolanska kwanza - AOA - - - angolansk kwanza (1977-1990) - angolansk kwanza (1977-1990) - angolanska kwanza (1977-1990) - - - angolansk ny kwanza (1990-2000) - angolansk kwanza (1990-1995) - angolanska nya kwanza (1990-2000) - - - angolansk kwanza reajustado (1995-1999) - angolansk kwanza reajustado (1995-1999) - angolanska kwanza reajustado (1995-1999) - - - argentinsk austral - argentinsk austral - argentinska australer - ARA - - - ARL - - - ARM - - - argentinsk peso (1983-1985) - argentinsk peso (1983-1985) - argentinska pesos (1983-1985) - - - argentinsk peso - argentinsk peso - argentinska pesos - ARS - - - österrikisk schilling - österrikisk schilling - österrikiska schilling - - - australisk dollar - australisk dollar - australiska dollar - - - Aruba-gulden - Aruba-gulden - Aruba-gulden - AWG - - - azerbajdzjansk manat (1993-2006) - azerbajdzjansk manat (1993-2006) - azerbajdzjanska manat (1993-2006) - - - azerbajdzjansk manat - azerbajdzjansk manat - AZN - AZN - - - bosnisk-hercegovinsk dinar - bosnisk-hercegovinsk dinar - bosnisk-hercegovinska dinarer - BAD - - - bosnisk-hercegovinsk mark (konvertibel) - bosnisk-hercegovinsk mark (konvertibel) - bosnisk-hercegovinska mark (konvertibla) - BAM - - - Barbados-dollar - Barbados-dollar - Barbados-dollar - - - bangladeshisk taka - bangladeshisk taka - bangladeshiska taka - - - belgisk franc (konvertibel) - belgisk franc (konvertibel) - belgiska franc (konvertibla) - - - belgisk franc - belgisk franc - belgiska franc - BEF - - - belgisk franc (finansiell) - belgisk franc (finansiell) - belgiska franc (finansiella) - - - bulgarisk lev (1962–1999) - bulgarisk hård lev (1962–1999) - bulgariska lev (1962–1999) - - - bulgarisk lev (1952–1962) - bulgariska lev (1952–1962) - - - bulgarisk ny lev - bulgarisk lev - bulgariska nya lev - - - Bahrain-dinar - Bahrain-dinar - BHD - BHD - - - burundisk franc - burundisk franc - burundiska franc - BIF - - - Bermuda-dollar - Bermuda-dollar - Bermuda-dollar - BMD - - - Brunei-dollar - Brunei-dollar - Brunei-dollar - BND - - - boliviano - boliviansk boliviano - boliviano - BOB - - - boliviansk peso - boliviansk peso - bolivianska pesos - BOP - - - boliviansk mvdol - boliviansk mvdol - bolivianska mvdol - - - brasiliansk cruzeiro novo (1967-1986) - brasiliansk cruzeiro (1967-1986) - brasilianska cruzeiro novo (1967-1986) - BRB - - - brasiliansk cruzado - brasiliansk cruzado - brasilianska cruzado - BRC - - - brasiliansk cruzeiro (1990-1993) - brasiliansk cruzeiro (1990-1993) - brasilianska cruzeiro (1990-1993) - BRE - - - brasiliansk real - brasiliansk real - brasilianska real - BRL - - - brasiliansk cruzado novo - brasiliansk cruzado novo - brasilianska cruzado novo - BRN - - - brasiliansk cruzeiro - brasiliansk cruzeiro - brasilianska cruzeiros - BRR - - - BRZ - - - Bahamas-dollar - Bahamas-dollar - Bahamas-dollar - BSD - - - bhutanesisk ngultrum - bhutanesisk ngultrum - bhutanesiska ngultrum - BTN - - - burmesisk kyat - burmesisk kyat - burmesiska kyat - - - botswansk pula - botswansk pula - botswanska pula - - - vitrysk ny rubel (1994-1999) - vitrysk rubel (1994-1999) - vitryska nya rubel (1994-1999) - - - vitrysk rubel - vitrysk rubel - vitryska rubel - - - belizisk dollar - belizisk dollar - BZD - BZD - - - kanadensisk dollar - kanadensisk dollar - kanadensiska dollar - CAD - - - kongolesisk franc - kongolesisk franc - kongolesiska franc - - - euro (konvertibelt konto, WIR Bank, Schweiz) - euro (WIR Bank) - euro (konvertibelt konto, WIR Bank, Schweiz) - - - schweizisk franc - schweizisk franc - schweiziska franc - CHF - - - franc (konvertibelt konto, WIR Bank, Schweiz) - franc (WIR Bank) - franc (konvertibelt konto, WIR Bank, Schweiz) - - - CLE - - - chilensk unidad de fomento - chilensk unidad de fomento - chilenska unidad de fomento - - - chilensk peso - chilensk peso - chilenska pesos - CLP - - - kinesisk dollar - kinesisk dollar - kinesiska dollar - - - kinesisk yuan renminbi - kinesisk yuan renminbi - kinesiska yuan renminbi - CNY - - - colombiansk peso - colombiansk peso - colombianska pesos - COP - - - colombiansk unidad de valor real - colombiansk unidad de valor real - colombianska unidad de valor real - - - costarikansk colón - costarikansk colón - costarikanska colón - CRC - - - jugoslavisk dinar - gammal serbisk dinar - gamla serbiska dinarer - - - tjeckisk hård koruna - tjeckoslovakisk hård koruna - tjeckiska hårda koruna - - - CUC - - - kubansk peso - kubansk peso - kubanska pesos - CUP - - - kapverdisk escudo - kapverdisk escudo - kapverdiska escudos - CVE - - - cypriotiskt pund - cypriotiskt pund - cypriotiska pund - CYP - - - tjeckisk koruna - tjeckisk koruna - tjeckiska koruna - CZK - - - östtysk mark - östtysk mark - östtyska mark - - - tysk mark - tysk mark - tyska mark - - - djiboutisk franc - djiboutisk franc - djiboutiska franc - DJF - - - dansk krona - dansk krona - danska kronor - DKK - - - dominikansk peso - dominikansk peso - dominikanska pesos - DOP - - - algerisk dinar - algerisk dinar - algeriska dinarer - DZD - - - ecuadoriansk sucre - ecuadoriansk sucre - ecuadorianska sucre - - - ecuadoriansk unidad de valor constante - ecuadoriansk unidad de valor constante - ecuadorianska unidad de valor constante - - - estnisk krona - estnisk krona - estniska kronor - - - egyptiskt pund - egyptiskt pund - egyptiska pund - EGP - - - eritreansk nakfa - eritreansk nakfa - eritreanska nakfa - ERN - - - spansk peseta (konto) - spansk peseta (konto) - spanska pesetas (konto) - - - spansk peseta (konvertibelt konto) - spansk peseta (konvertibelt konto) - spanska pesetas (konvertibelt konto) - - - spansk peseta - spansk peseta - spanska pesetas - ESP - - - etiopisk birr - etiopisk birr - etiopiska birr - ETB - - - euro - euro - euro - - - finsk mark - finsk mark - finska mark - FIM - - - Fiji-dollar - Fiji-dollar - Fiji-dollar - FJD - - - Falklandsöarnas pund - Falklandsöarnas pund - Falklandsöarnas pund - FKP - - - fransk franc - fransk franc - franska franc - FRF - - - brittiskt pund sterling - brittiskt pund sterling - brittiska pund sterling - - - georgisk kupon larit - georgisk kupon larit - georgiska kupon larit - - - georgisk lari - georgisk lari - georgiska lari - - - ghanansk cedi (1979-2007) - ghanansk cedi (1979-2007) - ghananska cedi (1979-2007) - GHC - - - ghanansk cedi - ghanansk cedi - ghananska cedi - GHS - - - gibraltiskt pund - gibraltiskt pund - gibraltiska pund - GIP - - - gambisk dalasi - gambisk dalasi - gambiska dalasi - - - guineansk franc - guineansk franc - guineanska franc - GNF - - - guineansk syli - guineansk syli - guineanska syli - - - ekvatorialguineansk ekwele - ekvatorialguineansk ekwele - ekvatorialguineanska ekweler - - - grekisk drachma - grekisk drachma - grekiska drachmer - GRD - - - guatemalansk quetzal - guatemalansk quetzal - guatemalanska quetzal - - - Portugisiska Guinea-escudo - Portugisiska Guinea-escudo - Portugisiska Guinea-escudos - - - Guinea-Bissau-peso - Guinea-Bissau-peso - Guinea-Bissau-pesos - - - guyanansk dollar - Guyana-dollar - guyanska dollar - GYD - - - Hongkong-dollar - Hongkong-dollar - Hongkong-dollar - - - honduransk lempira - honduransk lempira - honduranska lempira - - - kroatisk dinar - kroatisk dinar - kroatiska dinarer - - - kroatisk kuna - kroatisk kuna - kroatiska kunor - HRK - - - haitisk gourde - haitisk gourde - haitiska gourder - - - ungersk forint - ungersk forint - ungerska forinter - HUF - - - indonesisk rupiah - indonesisk rupiah - indonesiska rupier - IDR - - - irländskt pund - irländskt pund - irländska pund - IEP - - - israeliskt pund - israeliskt pund - israeliska pund - ILP - - - israelisk gammal shekel - israelisk gammal shekel - israeliska gamla shekel - - - israelisk ny shekel - israelisk ny shekel - israeliska nya shekel - ILS - - - indisk rupie - indisk rupie - indiska rupier - INR - - - irakisk dinar - irakisk dinar - irakiska dinarer - - - iransk rial - iransk rial - iranska rial - - - isländsk gammal krona - isländsk gammal krona - isländska kronor (1874–1981) - - - isländsk krona - isländsk krona - isländska kronor - ISK - - - italiensk lira - italiensk lire - italienska lire - ITL - - - Jamaica-dollar - Jamaica-dollar - Jamaica-dollar - JMD - - - jordansk dinar - jordansk dinar - jordanska dinarer - JOD - - - japansk yen - japansk yen - japanska yen - - - kenyansk shilling - kenyansk shilling - kenyanska shilling - KES - - - kirgizisk som - kirgizisk som - kirgiziska somer - - - kambodjansk riel - kambodjansk riel - kambodjanska riel - - - komorisk franc - komorisk franc - komoriska franc - KMF - - - nordkoreansk won - nordkoreansk won - nordkoreanska won - KPW - - - sydkoreansk won - sydkoreansk won - sydkoreanska won - KRW - - - kuwaitisk dinar - kuwaitisk dinar - kuwaitiska dinarer - KWD - - - Cayman-dollar - Cayman-dollar - Cayman-dollar - KYD - - - kazakisk tenge - kazakisk tenge - kazakiska tenger - - - laotisk kip - laotisk kip - laotiska kiper - LAK - - - libanesiskt pund - libanesiskt pund - libanesiska pund - LBP - - - srilankesisk rupie - srilankesisk rupie - srilankesiska rupier - LKR - - - Liberia-dollar - Liberia-dollar - Liberia-dollar - LRD - - - lesothisk loti - lesothisk loti - lesothiska lotier - - - litauisk litas - litauisk litas - litauiska litas - LTL - - - litauisk talonas - litauisk talonas - litauiska talonas - - - luxemburgsk franc (konvertibel) - luxemburgsk franc (konvertibel) - luxemburgska franc (konvertibla) - - - luxemburgsk franc - luxemburgsk franc - luxemburgska franc - - - luxemburgsk franc (finansiell) - luxemburgsk franc (finansiell) - luxemburgska franc (finansiella) - - - lettisk lats - lettisk lats - lettiska lats - - - lettisk rubel - lettisk rubel - lettiska rubel - - - libysk dinar - libysk dinar - libyska dinarer - LYD - - - marockansk dirham - marockansk dirham - marockanska dirhamer - - - marockansk franc - marockansk franc - marockanska franc - - - moldavisk leu - moldavisk leu - moldaviska leu - - - madagaskisk ariary - madagaskisk ariary - madagaskiska ariary - - - madagaskisk franc - madagaskisk franc - madagaskiska franc - - - makedonisk denar - makedonisk denar - makedoniska denarer - - - malisk franc - malisk franc - maliska franc - - - myanmarisk kyat - myanmarisk kyat - myanmariska kyat - - - mongolisk tugrik - mongolisk tugrik - mongoliska tugrik - MNT - - - Macao-pataca - Macao-pataca - Macao-pataca - MOP - - - mauretansk ouguiya - mauretansk ouguiya - mauretanska ouguiya - MRO - - - maltesisk lira - maltesisk lire - maltesiska lire - MTL - - - maltesiskt pund - maltesiskt pund - maltesiska pund - MTP - - - mauritisk rupie - mauritisk rupie - mauritiska rupier - MUR - - - maldivisk rufiyaa - maldivisk rufiyaa - maldiviska rufiyer - MVR - - - malawisk kwacha - malawisk kwacha - malawiska kwacha - MWK - - - mexikansk peso - mexikansk peso - mexikanska pesos - - - mexikansk silverpeso (1861-1992) - mexikansk silverpeso (1861-1992) - mexikanska silverpesos (1861-1992) - MXP - - - mexikansk unidad de inversion - mexikansk unidad de inversion - mexikanska unidad de inversion - - - malaysisk ringgit - malaysisk ringgit - malaysiska ringgiter - MYR - - - moçambikisk escudo - moçambikisk escudo (1914–1980) - moçambikiska escudos - - - gammal moçambikisk metical - moçambikisk metical (1980-2006) - gammla moçambikiska metical - MZM - - - moçambikisk metical - moçambikisk metical - moçambikiska metical - MZN - - - Namibia-dollar - Namibia-dollar - Namibia-dollar - NAD - - - nigeriansk naira - nigeriansk naira - nigerianska naira - NGN - - - nicaraguansk córdoba - nicaraguansk córdoba - nicaraguanska córdoba - - - nicaraguansk córdoba oro - nicaraguansk córdoba oro - nicaraguanska córdoba oro - NIO - - - nederländsk gulden - nederländsk gulden - nederländska gulden - NLG - - - norsk krona - norsk krona - norska kronor - NKr - - - nepalesisk rupie - nepalesisk rupie - nepalesiska rupier - NPR - - - nyzeeländsk dollar - nyzeeländsk dollar - nyzeeländska dollar - NZD - - - omansk rial - omansk rial - omanska rial - - - panamansk balboa - panamansk balboa - panamanska balboa - PAB - - - peruansk inti - peruansk inti - peruanska intier - PEI - - - peruansk sol nuevo - peruansk sol nuevo - peruanska sol nuevo - PEN - - - peruansk sol - peruansk sol - peruanska sol - - - papuansk kina - papuansk kina - papuanska kinor - - - filippinsk peso - filippinsk peso - filippinska pesos - PHP - - - pakistansk rupie - pakistansk rupie - pakistanska rupier - PKR - - - polsk zloty - polsk zloty - polska zloty - PLN - - - polsk zloty (1950-1995) - polsk zloty (1950-1995) - polska zloty (1950-1995) - - - portugisisk escudo - portugisisk escudo - portugisiska escudos - PTE - - - paraguaysk guarani - paraguaysk guarani - paraguayska guarani - PYG - - - qatarisk rial - qatarisk rial - qatariska rial - QAR - - - rhodesisk dollar - rhodesisk dollar - rhodesiska dollar - RHD - - - gammal rumänsk leu - rumänsk leu (1952-2005) - gamla rumänska leu - - - rumänsk leu - rumänsk leu - rumänska leu - - - Serbisk dinar - serbisk dinar - serbiska dinarer - RSD - - - rysk rubel - rysk rubel - ryska rubel - - - rysk rubel (1991-1998) - rysk rubel (1991-1998) - ryska rubel (1991-1998) - - - rwandisk franc - rwandisk franc - rwandiska franc - RWF - - - saudisk riyal - saudisk riyal - saudiska riyal - SAR - - - Salomon-dollar - Salomon-dollar - Salomon-dollar - SBD - - - seychellisk rupie - seychellisk rupie - seychelliska rupier - SCR - - - sudanesisk dinar - sudansk dinar (1992-2007) - sudanska gamla dinarer - SDD - - - sudanesiskt pund - sudanskt pund - sudanska pund - - - gammalt sudanesiskt pund - sudanskt pund (1916-1992) - sudanska gamla pund - - - svensk krona - svensk krona - svenska kronor - kr - - - Singapore-dollar - Singapore-dollar - Singapore-dollar - SGD - - - S:t Helena-pund - S:t Helena-pund - S:t Helena-pund - SHP - - - slovensk tolar - slovensk tolar - slovenska tolar - - - slovakisk koruna - slovakisk koruna - slovakiska korunor - SKK - - - sierraleonsk leone - sierraleonsk leone - sierraleonska leoner - SLL - - - somalisk shilling - somalisk shilling - somaliska shilling - SOS - - - Surinam-dollar - Surinam-dollar - Surinam-dollar - SRD - - - surinamesisk gulden - Surinam-gulden - Surinam-gulden - SRG - - - São Tomé och Príncipe-dobra - São Tomé och Príncipe-dobra - São Tomé och Príncipe-dobror - STD - - - sovjetisk rubel - sovjetisk rubel - sovjetiska rubler - - - salvadoransk colón - salvadoransk colón - salvadoranska colón - SVC - - - syriskt pund - syriskt pund - syriska pund - SYP - - - swaziländsk lilangeni - swaziländsk lilangeni - swaziländska lilangeni - - - thailändsk baht - thailändsk baht - thailändska baht - - - tadzjikisk rubel - tadzjikisk rubel - tadzjikiska rubler - - - tadzjikisk somoni - tadzjikisk somoni - tadzjikiska somoni - - - turkmensk manat - turkmensk manat - turkmenska manat - - - tunisisk dinar - tunisisk dinar - tunisiska dinarer - TND - - - tongansk paʻanga - tongansk paʻanga - tonganska paʻanga - TOP - - - timoriansk escudo - östtimoresisk escudo - timorianska escudos - - - gammal turkisk lira - gammal turkisk lira - gamla turkiska lire - - - ny turkisk lira - turkisk lira - turkiska lire - TRY - - - Trinidad ochTobago-dollar - Trinidad ochTobago-dollar - Trinidad ochTobago-dollar - TTD - - - taiwanesisk ny dollar - taiwanesisk ny dollar - taiwanesiska nya dollar - TWD - - - tanzanisk shilling - tanzanisk shilling - tanzaniska shilling - TZS - - - ukrainsk hryvnia - ukrainsk hryvnia - ukrainska hryvnia - UAH - - - ukrainsk karbovanetz - ukrainsk karbovanetz - ukrainska karbovanetz - - - ugandisk shilling (1966-1987) - ugandisk shilling (1966-1987) - ugandiska shilling (1966-1987) - - - ugandisk shilling - ugandisk shilling - ugandiska shilling - UGX - - - US-dollar - US-dollar - US-dollar - - - US-dollar (nästa dag) - US-dollar (nästa dag) - US-dollar (nästa dag) - - - US-dollar (samma dag) - US-dollar (samma dag) - US-dollar (samma dag) - - - uruguayansk peso en unidades indexadas - uruguayansk peso en unidades indexadas - uruguayanska peso en unidades indexadas - - - uruguayansk peso (1975-1993) - uruguayansk peso (1975-1993) - uruguayanska pesos (1975-1993) - - - uruguayansk peso - uruguayansk peso - uruguayanska pesos - UYU - - - uzbekisk sum - uzbekisk sum - uzbekiska sum - - - venezuelansk bolivar - venezuelansk bolivar - venezuelanska bolivar - VEB - - - venezuelansk bolivar fuerte - venezuelansk bolivar fuerte - venezuelanska bolivar fuerte - VEF - - - vietnamesisk dong - vietnamesisk dong - vietnamesiska dong - VND - - - vanuatisk vatu - vanuatisk vatu - vanuatiska vatu - VUV - - - västsamoansk tala - västsamoansk tala - västsamoanska tala - WST - - - CFA Franc BEAC - centralafrikansk franc - centralafrikanska franc - XAF - - - silver - uns silver - silveruns - - - guld - uns guld - gulduns - - - europeisk kompositenhet - europeisk gammal kompositenhet - europeiska kompositenheter - - - europeisk monetär enhet - europeisk gammal monetär enhet - europeiska monetära enheter - - - europeisk kontoenhet (XBC) - europeisk gammal kontoenhet-9 - europeiska kontoenheter (XBC) - - - europeisk kontoenhet (XBD) - europeisk kontoenhet (XBD) - europeiska kontoenheter (XBD) - - - östkaribisk dollar - östkaribisk dollar - östkaribiska dollar - XCD - - - IMF särskild dragningsrätt - IMF särskild dragningsrätt - IMF särskilda dragningsrätter - - - europeisk valutaenhet - europeisk valutaenhet - europeiska valutaenheter - - - fransk guldfranc - fransk guldfranc - franska guldfranc - - - French UIC-Franc - internationella järnvägsunionens franc - internationella järnvägsunionens franc - - - CFA Franc BCEAO - västafrikansk franc - västafrikanska franc - - - palladium - uns palladium - palladium - - - CFP-franc - Stilla Havet-franc - Stilla Havet-franc - XPF - - - platina - uns platina - platina - - - RINET-fond - RINET-fond - RINET-fond - - - test-valutakod - (valutakod för teständamål) - test-valutakod - - - okänd eller ogiltig valuta - okänd/ogiltig valuta - okänd eller ogiltig valuta - - - jemenitisk dinar - jemenitisk dinar - jemenitiska dinarer - - - jemenitisk rial - jemenitisk rial - jemenitiska rial - YER - - - jugoslavisk hård dinar - jugoslavisk hård dinar - jugoslaviska hårda dinarer - - - jugoslavisk ny dinar - jugoslavisk ny dinar - jugoslaviska nya dinarer - - - jugoslavisk dinar (konvertibel) - jugoslavisk dinar (konvertibel) - jugoslaviska dinarer (konvertibla) - - - sydafrikansk rand (finansiell) - sydafrikansk rand (finansiell) - sydafrikanska rand (finansiella) - - - sydafrikansk rand - sydafrikansk rand - sydafrikanska rand - ZAR - - - zambisk kwacha - zambisk kwacha - zambiska kwacha - ZMK - - - zairisk ny zaire - zaïrisk ny zaïre - zaïriska nya zaïre - ZRN - - - zairisk zaire - zaïrisk zaïre - zaïriska zaïre - - - Zimbabwe-dollar - Zimbabwe-dollar - Zimbabwe-dollar - - - - - - {0} dag - {0} dagar - - - {0} timme - {0} timmar - - - {0} minut - {0} minuter - - - {0} månad - {0} månader - - - {0} sekund - {0} sekunder - - - {0} vecka - {0} veckor - - - {0} år - {0} år - - - - - ja:j - nej:n - - - - diff --git a/lib/zend/Zend/Locale/Data/sv_FI.xml b/lib/zend/Zend/Locale/Data/sv_FI.xml deleted file mode 100644 index 9c55453dbc..0000000000 --- a/lib/zend/Zend/Locale/Data/sv_FI.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - USA:s yttre öar - - - 1996 års stavning - - - kinesiska i big5-sorteringsordning - kinesiska i gb2312-sorteringsordning - telefonkatalogssorteringsordning - kinesiska i pinyin-sorteringsordning - kinesiska i strecksorteringsordning - traditionell sorteringsordning - - - imperiska enheter - - - - [a à b-e é f-v x-z å ä ö] - [à ã ç é ë í ñ ó š w ÿ ü ž] - - - - - - - dagsperiod - - - - - - +HH:mm;−HH:mm - - - - diff --git a/lib/zend/Zend/Locale/Data/sv_SE.xml b/lib/zend/Zend/Locale/Data/sv_SE.xml deleted file mode 100644 index fbc60cc466..0000000000 --- a/lib/zend/Zend/Locale/Data/sv_SE.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/sw.xml b/lib/zend/Zend/Locale/Data/sw.xml deleted file mode 100644 index 2cf214b793..0000000000 --- a/lib/zend/Zend/Locale/Data/sw.xml +++ /dev/null @@ -1,400 +0,0 @@ - - - - - - - - - - - kiafrikans - kiamhariki - kiarabu - kubafu - kiazabaijani - kibelarusi - kibulgaria - kibihari - kibengali; kibangla - kibreton - kibosnia - kikatalan - kicheki - kiwelsh - kidenmarki - kijerumani - kigiriki - kiingereza - kiesperanto - kihispania - kiestonia - kibaski - kiajemi - kifinlandi - kitagalog - kifaroe - kifaransa - kifrisia - kiairish - kiskotlandi - kigalisia - guarani - kigujarati - kiyahudi - kihindi - kikroeshia - kihungari - muarmeni - kiinterlingua - kiindonesia - lugha ya kisayansi - kiaislandi - kiitaliano - kijapani - kijava - kijiojia - kicambodia - kikannada - kikorea - kikurdi - kugizi - kirumi - kilingala - kilaosi - kilithuania - kilatvia - kimasedonia - kimalayalam - kimongolia - kimarathi - kimalaysia - kimalta - kinepali - kiholanzi - kinorwei - kiositani - kioriya - kipunjabi - kipolandi - kipashto - kireno - kireno (brazil) - kireno (ureno) - kiromania - kirusi - kisanskriti - msindhi - kiserbia-kroeshia - kisinhali - kislovakia - kislovenia - kisomali - kialbania - kiserbia - sesotho - kinubi - kisweden - Kiswahili - kitamil - kitelugu - kithailand - kitigrinya - wataki weume - kiklingon - kituruki - kitwii - ombwa - kiukrania - kiurdu - kiuzbeki - kivietnam - kikhosa - kiyidish - kichina - kizulu - - - Muugano wa Falme za Nchi za Kiarabu - Antigua na Barbuda - Ajentina - Bosnia na Herzegowina - Ubelgiji - Brazili - Visiwa vya Bahama - Kanada - Jamhuri ya Afrika ya Kati - Kongo - Uswisi - Pwani ya Pembe - Kamerun - Uchina - Kolombia - Serbiya da Montenegro - Rasi Verde - Jamhuri ya Czech - Udachi - Jibuti - Udenmarki - Dominika - Jamhuri ya Dominikan - Ekvado - Misri - Uhispania - Uhabeshi - Ufaransa - Uingereza - Guinea ya Ikweta - Kroatia - Hungaria - Uyahudi - Uhindi - Iraki - Uajemi - Barafu - Uitaliani - Jamaika - Ujapani - Kenya - Kampuchea - Visiwa vya Komoro - Saint Kitts na Nevis - Korea ya Kaskazini - Korea ya Kusini - Luksemburg - Moroko - Monako - Visiwa vya Marshall - Meksiko - Malasya - Msumbiji - Nikaragua - Uholanzi - Unorwe - Nepali - Papua Guinea Mpya - Filipino - Ureno - Paragwai - Urusi - Arabuni Saudi - Visiwa vya Solomon - Visiwa vya Shelisheli - Uswidi - Somali - Sao Tome na Principe - Chadi - Timor ya Mashariki - Kitonga - Uturuki - Trinidad na Tobago - Tanzania - Muungano wa Nchi za Amerika - Urugwai - Vatikano - Saint Vincent na Grenadines - Yemeni - Afrika ya Kusini - - - - [a-d {dh} e-n {ng} {ng'} {ny} o p r s {sh} t {th} u-w y z] - [q x] - [a-z] - - - ‘ - ’ - “ - ” - - - - - - - - Jan - Feb - Mac - Apr - Mei - Jun - Jul - Ago - Sep - Okt - Nov - Des - - - Januari - Februari - Machi - Aprili - Mei - Juni - Julai - Agosti - Septemba - Oktoba - Novemba - Desemba - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Jpi - Jtt - Jnn - Jtn - Alh - Iju - Jmo - - - Jumapili - Jumatatu - Jumanne - Jumatano - Alhamisi - Ijumaa - Jumamosi - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - R1 - R2 - R3 - R4 - - - robo ya kwanza - robo ya pili - robo ya tatu - robo ya nne - - - - AM - PM - - - Kabla ya Kristo - Baada ya Kristo - - - KK - BK - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - Saa za Africa Mashariki - - - - - - - - - #,##0.00 ¤ - - - - - - Shilingi ya Tanzania - - - - - diff --git a/lib/zend/Zend/Locale/Data/sw_KE.xml b/lib/zend/Zend/Locale/Data/sw_KE.xml deleted file mode 100644 index f91db8d8dc..0000000000 --- a/lib/zend/Zend/Locale/Data/sw_KE.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - ¤#,##0.00 - - - - - diff --git a/lib/zend/Zend/Locale/Data/sw_TZ.xml b/lib/zend/Zend/Locale/Data/sw_TZ.xml deleted file mode 100644 index f52dd6483c..0000000000 --- a/lib/zend/Zend/Locale/Data/sw_TZ.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/syr.xml b/lib/zend/Zend/Locale/Data/syr.xml deleted file mode 100644 index 5f5e252bde..0000000000 --- a/lib/zend/Zend/Locale/Data/syr.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - ܣܘܪܝܝܐ - - - ܣܘܪܝܝܐ - - - - - - - [\u0711 \u0730-\u074A ܃-܉ ܁ ܂ ܀ ܊-܍ ܐ ܒ-ܔ ܖ ܕ ܗ-ܬ] - [܏\u200C \u200D ܭ-ܯ ݍ-ݏ] - - - - - - - - ܏ܟܢ ܏ܒ - ܫܒܛ - ܐܕܪ - ܢܝܣܢ - ܐܝܪ - ܚܙܝܪܢ - ܬܡܘܙ - ܐܒ - ܐܝܠܘܠ - ܏ܬܫ ܏ܐ - ܏ܬܫ ܏ܒ - ܏ܟܢ ܏ܐ - - - - - - - dd MMMM, y - - - - - dd MMMM, y - - - - - dd/MM/yyyy - - - - - dd/MM/yyyy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss - - - - - h:mm - - - - - - dd MMMM - dd/MM - mm:ss - Q yy - MM/yyyy - MMMM, y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - - #,##0.###;#,##0.###- - - - - - - - ¤ #,##0.00;¤ #,##0.00- - - - - - - ل.س.‏ - - - - - diff --git a/lib/zend/Zend/Locale/Data/syr_SY.xml b/lib/zend/Zend/Locale/Data/syr_SY.xml deleted file mode 100644 index 14ae96c69c..0000000000 --- a/lib/zend/Zend/Locale/Data/syr_SY.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ta.xml b/lib/zend/Zend/Locale/Data/ta.xml deleted file mode 100644 index 8b7d10def0..0000000000 --- a/lib/zend/Zend/Locale/Data/ta.xml +++ /dev/null @@ -1,1190 +0,0 @@ - - - - - - - - - - - அஃபார் - அப்காஜியான் - ஆச்சினீஸ் - அகோலி - அதாங்மே - அதகே - அவெஸ்தான் - ஆஃப்ரிகான்ஸ் - அஃப்ரோ-ஏசியாடிக் மொழி - அஃப்ரிஹிலி - ஐனு - அகான் - அக்கேதியன் - அலூட் - அல்கான்கியன் மொழி - தெற்கு அல்தை - அம்ஹாரிக் - ஆர்கோனீஸ் - பழைய ஆங்கிலம் - அங்கிகா - அபாச்சி மொழி - அரபு - அராமைக் - அரௌகேனியன் - அரபஹோ - செயற்கையான மொழி - அராவாக் - அஸ்ஸாமி - அஸ்துரியன் - அதாபஸ்கான் மொழி - ஆஸ்த்ரேலிய மொழி - அவேரிக் - அவதி - அய்மரா - அசர்பாய்ஜானி - பாஷ்கிர் - பாண்டா - பமிலெகே மொழி - பெலுசி - பலினீஸ் - பாஸா - பால்டிக் மொழி - பைலோருஷ்ன் - பேஜா - பெம்பா - பெர்பெர் - பல்கேரியன் - பிஹாரி - போஜ்பூரி - பிஸ்லாமா - பிகோல் - பினி - சிக்சிகா - பம்பாரா - வங்காளம் - பான்டு - திபெத்து - பிரிடன் - ப்ராஜ் - போஸ்னியன் - பாடாக் - புரியாத் - புகினீஸ் - ப்லின் - காடலான் - கேடோ - மத்திய அமெரிக்கன் இன்டியன் மொழி - கரீப் - காகேஷியன் மொழி - ஆட்சம் - செசென் - செபுவானோ - கெல்டிக் மொழி - சாமோரோ - சிப்சா - ஷகதை - சூகிசே - மாரி - சினூக் ஜார்கான் - சோக்தௌ - சிபெவ்யான் - செரூக்கி - செயேனி - சாமிக் மொழி - கார்சியன் - காப்டிக் - ஆங்கில அடைப்படையிலான கிரியோல் மற்றும் பிஜின் - ஃப்ரென்ச் அடைப்படையிலான கிரியோல் மற்றும் பிஜின் - போர்சுக்கீஸ் அடைப்படையிலான கிரியோல் மற்றும் பிஜின் - க்ரீ - கிரிமியன் துர்க்கி - கிரியோல் மற்றும் பிஜின் - செக் - கஷுபியன் - சர்ச் ஸ்லாவிக் - குஷிடிக் மொழி - சுவாஷ் - வெல்ஷ் - டானிஷ் - தகோடா - தார்குவா - தயாக் - ஜெர்மன் - தெலாவேர் - ஸ்லாவ் - டோக்ரிப் - டின்கா - டோக்ரி - திராவிட மொழி - லோவர் சோர்பியன் - துவாலா - மத்திய டச்சு - திவேஹி - ட்யூலா - பூடானி - ஈஓயே - எஃபிக் - பண்டைய எகிப்தியன் - ஈகாஜுக் - கிரேக்கம் - எலமைட் - ஆங்கிலம் - மத்திய ஆங்கிலம் - எஸ்பரேன்டோ - ஸ்பேனிஷ் - எஸ்டோனியன் - பஸ்க் - எவோன்டோ - பர்ஸியன் - ஃபங்க் - ஃபான்டி - ஃபுலா - பின்னிஷ் - ஃபிலிபினோ - ஃபினோ-உக்ரைன் மொழி - ஃபிஜி - ஃபரிஸ்த் - ஃபான் - பிரெஞ்சு - மத்திய ஃப்ரென்ச் - பழைய ஃப்ரென்ச் - வடக்கு ஃப்ரிஸியான் - கிழக்கு ஃப்ரிஸியான் - ஃப்ரியூலியன் - மேற்கத்திய பிரிஷிய - ஐரிஷ் - கா - கயோ - பயா - ஸ்காட்ஸ் கேலிக் - ஜெர்மானிய மொழி - கீஜ் - கில்பெர்டீஸ் - காலிஸியன் - மத்திய ஹை ஜெர்மன் - குரானி - பழைய ஹை ஜெர்மன் - கோன்டி - கோரோன்டலோ - கோதிக் - க்ரேபோ - பண்டைய கிரேக்கம் - ஸ்விஸ் ஜெர்மன் - குஜராத்தி - மேங்க்ஸ் - குவிசின் - ஹௌஸா - ஹைடா - ஹவாய்யான் - ஹுப்ரு - இந்தி - ஹிலிகாய்னான் - ஹிமாச்சலி - ஹிட்டைட் - மாங்க் - ஹிரி மோட்டு - கரோஷியன் - அப்பர் சோர்பியான் - ஹைத்தியன் - ஹங்கேரியன் - ஹுபா - ஆர்மேனியன் - ஹெரேரோ - இன்டர்லிங்குவா - இபான் - இந்தோனேஷியன் - இன்டர்லிங் - இக்போ - சிசுவான் ஈ - இஜோ - இனுபியாக் - இலோகோ - இந்திய மொழி - இன்டோ-ஐரோப்பியன் மொழி - இங்குஷ் - இடோ - இரானியன் மொழி - இரோகோயியன் மொழி - ஐஸ்லென்டிக் - இத்தாலியன் - இனுகிடூட் - ஜப்பானீஸ் - லோஜ்பன் - ஜூதேயோ-பெர்ஷியன் - ஜூதேயோ-அராபிக் - ஜாவானீஸ் - ஜியோர்ஜியன் - காரா-கல்பாக் - கபாய்ல் - காசின் - ஜ்ஜூ - கம்பா - கரேன் - காவி - கபார்டியன் - தையாப் - கோரோ - காங்கோ - காஸி - கொய்ஸன் மொழி - கோதானீஸ் - கிகுயூ - குவான்யாமா - கசாக் - கலாலிசூட் - கெமெர் - கிம்புன்து - கன்னடம் - கொரியன் - கொங்கனி - கோஸ்ரைன் - க்பெல்லே - கனுரி - கராசே-பல்கார் - கரேலியன் - க்ரு - குருக் - காஷ்மிரி - குர்திஷ் - கும்இக் - குடேனை - கோமி - கார்னிஷ் - கிர்கிஷ் - லத்தின் - லடினோ - லஹன்டா - லம்பா - லக்க்ஷெம்பர்கிஷ் - லெஜ்ஜியன் - கான்டா - லிம்பர்கிஷ் - லிங்காலா - லோத்தியன் - மோங்கோ - லோஜி - லிதுவேனியன் - லுபா-கடாங்கா - லுபா-லுலௌ - லுய்சேனோ - லூன்டா - லுயோ - லுஷய் - லேட்வியன் - மதுரீஸ் - மகாஹி - மைதிலி - மகாசார் - மான்டிங்கோ - ஆஸ்ட்ரோனேஷியன் - மாசாய் - மோக்க்ஷா - மான்டார் - மென்டீ - மலகாஸி - மத்திய ஐரிஷ் - மார்ஷெலிஷ் - மௌரி - மிக்மாக் - மின்னாங்கபௌ - பலதரப்பட்ட மொழிகள் - மாஸிடோனியன் - மான்-க்மெர் மொழி - மலையாளம் - மங்கோலியன் - மன்சு - மனிபூரி - மனோபோ மொழி - மோல்டாவியன் - மோஹாவ்க் - மோஸ்ஸி - மராத்தி - மலாய் - மால்டிஸ் - பல மொழிகள் - முண்டா மொழி - க்ரீக் - மிரான்டீஸ் - மார்வாரி - பர்மிஸ் - மாயான் மொழி - ஏர்ஜியா - நவ்ரூ - நஹுவால் - வடக்கு அமெரிக்கன் இன்டியன் மொழி - நியோபோலிடன் - நார்வே பொக்மால் - வடக்கு தெபெலே - லோ ஜெர்மன் - நேபாளி - நெவாரி - தோங்கா - நியாஸ் - நைஜர்-கோரடோஃபனியன் மொழி - நியூவான் - டச்சு - நார்வேஜியன் நியூநார்ஸ்க் - நார்வே - நோகை - பழைய நோர்ஸ் - என்'கோ - தெற்கு தெபெலே - வடக்கு சோதோ - நியூபியன் மொழி - நவாஜோ - பாரம்பரிய நேவாரி - நயன்ஜா - நியாம்வேஜி - நியான்கோலே - நியோரோ - நிஜ்மா - ஆகிடியன் - ஓஜிபவா - ஒரோமோ - ஒரியா - ஒசெட்டிக் - ஓசேஜ் - ஒட்டோமன் துர்க்கி - ஒட்டோமன் மொழி - பஞ்சாபி - பபுவான் மொழி - பன்காசினன் - பாஹ்லவி - பம்பாங்கா - பபியேமென்டோ - பலௌவ்ன் - பழைய பெர்ஷியன் - பிலிபைன் மொழி - ஃபொனிஷியன் - பாலி - போலிஷ் - ஃபோன்பெயென் - பராக்ரித் மொழி - பழைய ப்ரோவென்சால் - பாஷ்டோ - போர்ச்சுக்கீஸ் - பிரேசிலியன் போர்ச்சுகீசியம் - ஐபேரியன் போர்ச்சுகீசியம் - கிவேசுவா - ராஜஸ்தானி - ரபனுய் - ரரோடோங்கன் - ரைட்டோ-ரோமென்ஸ் - ருண்டி - ரோமேனியன் - ரோமன்ஸ் மொழி - ரோமானி - ரூட் - ரஷியன் - அரோமானியன் - கின்யாருவான்டா - சமஸ்கிருதம் - சான்டாவே - யாகுட் - தென் அமெரிக்க இன்டியன் மொழி - சாலிஷன் மொழி - சமாரிடன் அராமைக் - சாசாக் - சான்டாலி - சாடினியன் - சிசிலியன் - ஸ்காட்ஸ் - சிந்தி - வடக்கு சாமி - செல்குப் - செமிடிக் மொழி - சாங்கோ - பழைய ஐரிஷ் - சங்கேத மொழி - செர்போ-க்ரோஷியன் - ஷான் - சிங்களம் - சிடாமோ - சியோயுவான் மொழி - சினோ-திபேத்தியன் மொழி - ஸ்லோவாக் - ஸ்லோவினேயின் - ஸ்லாவிக் மொழி - ஸாமோவான் - தெற்கு சாமி - சாமி மொழி - லுலே சாமி - இனாரி சாமி - ஸ்கோல்ட் சாமி - ஷோனா - சோனின்கே - சோமாலி - சோக்தியன் - சோங்காய் - அல்பெனியன் - சர்பியன் - ஸ்ரானன் டோங்கோ - செரெர் - ஸ்வாடீ - நிலோ-சஹாரன் மொழி - தெற்கு ஸோதோ - சுடானீஸ் - சுகுமா - சுசு - சுமேரியன் - ஷீவிடிஸ் - சுவாஹிலி - பாரம்பரிய சிரியாக் - சிரியாக் - தமிழ் - தாய் மொழி - தெலுங்கு - டிம்னே - டெரெனோ - டெடும் - தாஜிக் - தாய் - டிக்ரின்யா - டைக்ரே - டிவ் - டர்க்மென் - டோகேலௌ - டாகாலோக் - கிளிங்கன் - டிலிங்கிட் - டாமாஷேக் - ஸ்வானா - டோங்கா - நயாசா டோங்கா - டோக் பிஸின் - டர்கிஷ் - ஸோங்கா - ட்ஸிம்ஷியன் - டாடர் - டும்புகா - துபி மொழி - அல்தேய்க் மொழி - டுவாலு - ட்வி - டஹிதியான் - டுவினியன் - உட்முர்ட் - யுகுர் - உகாரிட்க் - உக்ரேனியன் - அம்பொண்டு - தெரியாத அல்லது செல்லாத பிரதேசம் - உருது - உஸ்பெக் - வை - வென்டா - வியட்நாமிஸ் - ஒலாபூக் - வோட்க் - ஒவாலூன் - வகாஷான் மொழி - வாலாமோ - வாரே - வாஷோ - சொர்பியன் மொழி - ஒலூஃப் - கல்மிக் - ஹோஷா - யாவ் - யாபேசி - ஈத்திஷ - யோருப்பா - யுபிக் மொழி - ஜுவாங் - ஜாபோடெக் - ப்லிஸ்ஸிம்பால்ஸ் - ஜெனகா - சீனம் - எளிய சீனம் - மரபு சீனம் - ஜான்டே - ஜூலூ - ஜூனி - மொழிக்கிணங்க உள்ளடக்கம் இல்லை - ஜாஜா - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - உலகம் - ஆப்ரிக்கா - வடக்கு அமெரிக்கா கண்டம் - தெற்கு அமெரிக்கா - ஓஷெனியா - மேற்கு ஆப்ரிக்கா - மத்திய அமெரிக்கா - கிழக்கு ஆப்ரிக்கா - வடக்கு ஆப்ரிக்கா - மத்திய ஆப்ரிக்கா - தென்னாப்ரிக்கா - அமெர்க்காஸ் - வடக்கு அமெரிக்கா - கரீபியன் - கிழக்கு ஆசியா - தெற்கு ஆசியா - தென்-கிழக்கு ஆசியா - தெற்கு ஐரோப்பா - ஆஸ்திரேலியா மற்றும் நியூசிலாந்து - மெலனேஷியா - மைக்ரோ நேஷியா பிரதேசம் - பாலினேஷியா - மத்திய-தெற்காசியா - ஆசியா - மத்திய ஆசியா - மேற்கு ஆசியா - ஈரோப் - கிழக்கு ஐரோப்பா - வடக்கு ஐரோப்பா - மேற்கு ஐரோப்பா - சுதந்திர மாநிலங்களின் காமன்வெல்த் - செகோஸ்லோவாக்யா - லத்தீன் அமெரிக்கா மற்றும் கரீபியன் - சேனல் தீவுகள் - அன்டோரா - ஐக்கிய அரபு கூட்டாட்சி - ஆப்கானிஸ்தான் - ஆன்டிகுவா மற்றும் பார்புடா - அங்குய்லா - அல்பேனியா - ஆர்மேனியா - நெதெர்லேண்ட் ஆண்டிலிஸ் - அங்கோலா - அன்டார்டிகா - அர்ஜெண்டினா - அமெரிக்க சமோவா - ஆஸ்திரியா - ஆஸ்திரேலியா - அரூபா - ஆலந்து தீவுகள் - அஜர்பைஜான் - போஸ்னியா மற்றும் ஹெர்ஸிகோவினா - பார்படோஸ் - பங்களாதேஷ் - பெல்ஜியம் - புர்கினா ஃபாஸோ - பல்கேரியா - பஹ்ரைன் - புருண்டி - பெனின் - செயின்ட் பார்தேலெமி - பெர்முடா - புரூனேய் - பொலிவியா - பிரேஸில் - பஹமாஸ் - பூடான் - பொவேட் தீவுகள் - போட்ஸ்வானா - பெலாரூஸ் - பெலிஸ் - கனடா - காகோஸ் தீவுகள் - காங்கோ - கின்சாசா - மத்திய ஆப்ரிக்கக் குடியரசு - காங்கோ - ப்ராஸாவில்லே - ஸ்விட்சர்லாந்து - ஐவரி கோஸ்ட் - குக் தீவுகள் - சிலி - கேமரூன் - சீனா - கொலம்பியா - கோஸ்டாரிகா - செர்பியா மற்றும் மான்டேநெக்ரோ - கியூபா - கேப் வெர்டே - கிறிஸ்துமஸ் தீவு - சைப்ரஸ் - செக் குடியரசு - ஜெர்மன் - ஜிபௌடி - டென்மார்க் - டொமினிகா - டொமினிகன் குடியரசு - அல்ஜீரியா - ஈக்வடார் - எஸ்டோனியா - எகிப்து - மேற்கு சஹாரா - எரிட்ரியா - ஸ்பெயின் - எதியோப்பியா - பின்லாந்து - ஃபிஜி - ஃபாக்லான்ட் தீவுகள் - மைக்ரோனேஷியா - ஃபெரௌ தீவுகள் - பிரான்ஸ் - கேபான் - பிரிடிஷ் கூட்டரசு - கிரனெடா - ஜார்ஜியா - ஃப்ரென்ச் கயானா - கெர்ன்சி - கானா - ஜிப்ரால்டர் - கிரீன்லாண்ட் - காம்பியா - கினி - க்வாதேலோப் - ஈக்குவாடோரியல் கினி - கிரீஸ் - தென் ஜியார்ஜியா மற்றும் தென் சான்ட்விச் தீவுகள் - குவாத்தாமாலா - குவாம் - கினி-பிஸ்ஸாவ் - கயானா - ஹாங் காங் எஸ்.ஏ.ஆர் சைனா - ஹேர்ட் மற்றும் மெக்டொனால்டு - ஹாண்டுராஸ் - குரோசியா - ஹெய்தி - ஹங்கேரி - இந்தோனேஷியா - அயர்லாந்து - இஸ்ரேல் - ஐல் ஆஃப் மேன் - இந்தியா - பிரிட்டிஷ் இந்தியப் பெருங்கடல் மாஹாணம் - இராக் - ஈரான் - ஐஸ்லாந்து - இத்தாலி - ஜெர்சி - ஜமாய்க்கா - ஜொர்டான் - ஜப்பான் - கென்யா - கிர்கிஸ்தான் - கம்போடியா - கிரிபடி - கோமரோஸ் - செயின்ட் கிட்ஸ் மற்றும் நெவிஸ் - வட கொரியா - தென் கொரியா - குவைத்து - கேமென் தீவுகள் - கஜகஸ்தான் - லாவோஸ் - லெபனான் - செயின்ட் லூசியா - லிச்செண்ஸ்டெய்ன் - இலங்கை - லைபேரியா - லெசோதோ - லிதுவேனியா - லக்ஸ்சம்பர்க் - லாட்வியா - லிப்யா - மொரோக்கோ - மொனாக்கோ - மால்டோவா - மான்டேனெக்ரோ - செயின் மார்டீன் - மடகாஸ்கர் - மார்ஷல் தீவுகள் - மசெடோணியா - மாலீ - மியான்மார் - மங்கோலியா - மெக்கௌ - வடக்கு மரியானா தீவுகள் - மார்டினிக் - மௌரிடானியா - மௌன்ட்செராட் - மால்டா - மொரிசியஸ் - மாலத்தீவு - மலாவீ - மெக்சிகோ - மலேஷியா - மொசாம்பிக் - நமீபியா - புதிய கலிடோன்யா - நைஜர் - நார்ஃபாக் தீவுகள் - நைஜீரியா - நிகாராகுவா - நெதர்லாந்து - நார்வே - நேபாளம் - நௌரு - நியூ - நியூசிலாந்து - ஓமான் - பனாமா - பெரு - ஃப்ரென்ச் பாலினேஷியா - பாப்புவா நியூ கினி - பிலிப்பைன்ஸ் - பாகிஸ்தான் - போலந்து - செயின்ட் பியர் மற்றும் மிக்வேலான் - பிட்கேன் - போர்த்த ரிக்கோ - பாலஸ்தீனியன் மாஹாணம் - போர்ச்சுக்கல் - பலவ் - பாரகுவே - காடார் - ஔட்லையிங் ஓசானியா - ஐரோப்பியன் யூனியன் - ரீயூனியன் - ருமேனியா - செர்பியா - ரஷ்யா - ருவான்டா - சவூதி அரேபியா - சாலமன் தீவுகள் - செஷெல்ஸ் - சூடான் - ஸ்வீடன் - சிங்கப்பூர் - செயின்ட் ஹெலெனா - ஸ்லோவேனியா - ஸ்வல்பார்டு மற்றும் ஜான் மேயன் - ஸ்லோவாகியா - சியேரா லியோன் - சான் மெரினோ - செனெகல் - சொமாலியா - சூரினாம் - சாவ் தோம் மற்றும் ப்ரின்சிபி - எல் சால்வடார் - சிரியா - ஸ்வாஸிலாண்ட் - டர்க்ஸ் மற்றும் கைகோஸ் தீவுகள் - சாட் - ஃப்ரென்ச் தெற்கு மாஹாணங்கள் - டோகோ - தாய்லாந்து - தாஜிகிஸ்தான் - டோகேலோ - கிழக்கு திமோர் - துர்க்மெனிஸ்தான் - டுனிசியா - டோங்கா - துருக்கி - திரினிடாட் மற்றும் தொபாகோ - துவாலூ - தைவான் - டான்சானியா - உக்ரைன் - உகாண்டா - யுனைட்டட் ஸ்டேட்ஸும் சிறிய அவுட்லைன் தீவுகளும் - ஐக்கிய அமெரிக்க குடியரசு - உருகுவே - உஸ்பெகிஸ்தான் - வாடிகன் - செயின் வின்சன்ட் மற்றும் கிரெனடைன்ஸ் - வெனஜுவேலா - பிரிட்டீஷ் கன்னித் தீவுகள் - யூ.எஸ் கன்னித் தீவுகள் - வியட்நாம் - வனுவாட்டு - வாலிஸ் மற்றும் ஃப்யூசுனா - சமோவா - யேமன் - மயோத் - தென் ஆப்ரிக்கா - சாம்பியா - ஜிம்பாப்வே - தெரியாத அல்லது செல்லாத பிரதேசம் - - - - [ஃ அ-ஊ எ-ஐ ஒ-க ங ச ஜ ஞ ட ண த ந-ப ம-வ ஷ-ஹ ா-ூ ெ-ை ொ-்] - [a g i m t] - [a-z] - - - “ - ” - ‘ - ’ - - - - - - - - ஜன. - பிப். - மார். - ஏப். - மே - ஜூன் - ஜூலை - ஆக. - செப். - அக். - நவ. - டிச. - - - ஜனவரி - பிப்ரவரி - மார்ச் - ஏப்ரல் - மே - ஜூன் - ஜூலை - ஆகஸ்ட் - செப்டம்பர் - அக்டோபர் - நவம்பர் - டிசம்பர் - - - - - ஜ - பி - மா - ஏ - மே - ஜூ - ஜூ - ஆ - செ - அ - ந - டி - - - - - - - ஞா - தி - செ - பு - வி - வெ - ச - - - ஞாயிறு - திங்கள் - செவ்வாய் - புதன் - வியாழன் - வெள்ளி - சனி - - - - - ஞா - தி - செ - பு - வி - வெ - ச - - - - - - - Q1 - Q2 - Q3 - Q4 - - - 1ஆம் காலாண்டு - 2ஆம் காலாண்டு - 3ஆம் காலாண்டு - 4ஆம் காலாண்டு - - - - am - pm - - - கிறிஸ்துவுக்கு முன் - அனோ டோமினி - - - கிமு - கிபி - - - - - - EEEE, d MMMM, y - - - - - d MMMM, y - - - - - d MMM, y - - - - - d-M-yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - d MMMM - dd-MM - Q yy - MM-yyyy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} நேரம் - {1} ({0}) - - பிரிஸ்பேன் - - - கேம்போ கிராண்டே - - - கேம்பிரிட்ஜ் பே - - - ஈஸ்டர் - - - ஜகார்த்தா - - - ஜெயபூரா - - - லாஸ் ஏஞ்சல்ஸ் - - - ஃபோனிக்ஸ் - - - தேன்வர் - - - மையம், வடக்கு டகோடா - - - சிகாகோ - - - இந்தியானாபோலிஸ் - - - நியூயார்க் - - - - இந்திய நேரப்படி - - true - - - - - - - - #,##,##0.### - - - - - - - #,##,##0% - - - - - - - ¤ #,##,##0.00 - - - - - - ரூ - - - - - - ஆம்:ஆ - இல்லை:இ - - - diff --git a/lib/zend/Zend/Locale/Data/ta_IN.xml b/lib/zend/Zend/Locale/Data/ta_IN.xml deleted file mode 100644 index 7b0075966b..0000000000 --- a/lib/zend/Zend/Locale/Data/ta_IN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/te.xml b/lib/zend/Zend/Locale/Data/te.xml deleted file mode 100644 index 083070587f..0000000000 --- a/lib/zend/Zend/Locale/Data/te.xml +++ /dev/null @@ -1,1154 +0,0 @@ - - - - - - - - - - - అఫార్ - అబ్ఖాజియన్ - ఆఖినీస్ - అకోలి - అడాంగ్మే - అడిగాబ్జే - అవేస్టాన్ - ఆఫ్రికాన్స్ - ఆఫ్రో-ఆశియా భాష - అఫ్రిహిలి - ఐను - అకాన్ - అక్కాడియాన్ - అలియుట్ - ఆల్గొంక్వియన్ భాష - దక్షిణ ఆల్టై - అమ్హారిక్ - అరగోనిస్ - ప్రాచీన ఆగ్లం - ఆంగిక - అప్పాచి భాష - అరబిక్ - అరామేక్ - అరౌకేనియన్ - అరాపాహో - కృత్రిమ భాష - అరావాక్ - అస్సామీస్ - అస్టురియాన్ - ఆతాపాస్కన్ భాష - ఆస్ట్రేలియన్ భాష - అవారిక్ - అవధి - ఐమారా - అజర్బైజాని - బష్కిర్ - బాండా - బమిలేకే భాష - బాలుచి - బాలినీస్ - బసా - బాల్టిక్ భాష - బెలరుశియన్ - బేజా - బెంబా - బెర్బెర్ - బల్గేరియన్ - బిహారి - భోజ్ పూరి - బిస్లామా - బికోల్ - బిని - సిక్ సికా - బంబారా - బెంగాలి - బంటు - టిబెటన్ - బ్రెటన్ - బ్రాజ్ - బాస్నియన్ - బటక్ - బురియట్ - బ్యుగినిస్ - బ్లిన్ - కెటలాన్ - కేడ్డో - మధ్య అమెరికెన్ ఇండియన్ భాష - కేరిబ్ - కోకేషియన్ భాష - అట్సామ్ - చెచెన్ - సేబుఆనో - సెల్టిక్ భాష - చమర్రో - చిబ్చా - చాగటై - చూకిస్ - మారి - చినూక్ జార్గన్ - చొచ్కతావ్ - చిపెవ్యాన్ - చిరోకి - చేయేన్ - చామిక్ భాష - కార్సికన్ - కోప్టిక్ - ఆంగ్లం ఆధారిత క్రియోల్ లేదా పిగ్డిన్ - ప్రెంచ్ -ఆధారిత క్రియోల్ లేదా పిగ్డిన్ - పోర్చుగీస్ -ఆధారిత క్రియోల్ లేదా పిగ్డిన్ - క్రి - క్రిమియన్ టర్కిష్ - క్రియోల్ లేదా పిగ్డిన్ - చెక్ - కషుబియన్ - చర్చ స్లావిక్ - కుషిటిక్ భాష - చువాష్ - వెల్ష్ - డేనిష్ - డకోటా - డార్గ్వా - దయక్ - ఙర్మన్ - డెలావేర్ - స్లేవ్ - డోగ్రిబ్ - డింకా - డోగ్రి - ద్రవిడియన్ భాష - లోవర్ సోర్బియన్ - దుఆలా - మధ్యమ డచ్ - దివేహి - డ్యులా - జొన్ఖా - ఇవే - ఎఫిక్ - ప్రాచీన ఇజిప్షియన్ - ఏకాజక్ - గ్రీక్ - ఎలామైట్ - ఆంగ్లం - మధ్యమ ఆంగ్లం - ఎస్పరెన్టొ - స్పానిష్ - ఈస్టొనియన్ - బాస్క్ - ఎవోండొ - పర్షియన్ - ఫాంగ్ - ఫాంటి - ఫ్యుల - ఫిన్నిష్ - ఫిలిపినో - ఫిన్నో- యుగ్రియన్ భాష - ఫిజియన్ - ఫారొఈస్ - ఫాన్ - ఫ్రెంచ్ - మధ్యమ ప్రెంచ్ - ప్రాచీన ప్రెంచ్ - ఉత్తర ఫ్రిసియన్ - తూర్పు ఫ్రిసియన్ - ఫ్రియులియన్ - పశ్చిమ ఫ్రిసియన్ - ఐరిష్ - గా - గాయో - గ్బాయా - స్కాటిష్ గేలిక్ - జర్మేనిక్ భాష - జీజ్ - గిల్బర్టీస్ - గెలిషియన్ - మధ్యమ హై జర్మన్ - గురాని - ప్రాచీన హై జర్మన్ - గోండి - గోరోంటలా - గోథిక్ - గ్రేబో - ప్రాచీన గ్రీక్ - స్విస్ జర్మన్ - గుజరాతి - మంకస్ - గ్విచిన్ - హౌసా - హైడా - హవాయియన్ - హీబ్రు - హిందీ - హిలి గేయినోన్ - హిమాచలి - హిట్టిటే - మోంగ్ - హిరి మోటు - క్రొయెషియన్ - అప్పర్ సోర్బియన్ - హైయేతియన్ - హన్గేరియన్ - హుపా - ఆర్మేనియన్ - హిరేరో - ఇంటర్లింగువా - ఐబాన్ - ఇండోనిషియ - ఇంటర్ లింగ్ - ఇగ్బో - శిషువన్ ఈ - ఐజో - ఇనూపైఏక్ - ఐయోకో - భారతీయ భాష - ఇండో-ఐరోపియన్ భాష - ఇంగుష్ - ఈడౌ - ఇరానియన్ భాష - ఇరోక్వియన్ భాష - ఐస్లాండిక్ - ఇటాలియన్ - ఇనుక్టిటుట్ - జాపనీస్ - లోజ్బాన్ - జ్యుడియో-పర్షియన్ - జ్యుడియో-అరబిక్ - జావనీస్ - జార్జియన్ - కారా-కల్పాక్ - కాబిల్ - కాచిన్ - జ్యూ - కంబా - కరెన్ - కావి - కబార్డియన్ - ట్యాప్ - కోరో - కాంగో - ఖాసి - ఖోఇసన్ భాష - ఖటోనీస్ - కికుయు - క్వాన్యామ - కాజాక్ - కలాల్లిసూట్ - ఖమ్ర్ - కిమ్బుండు - కన్నడ - కొరియన్ - కొంకణి - కోస్రేయన్ - పెల్లే - కానురి - కరచే-బల్కార్ - కరేలియన్ - కృ - కూరుఖ్ - కాశ్మీరి - కర్డిష్ - కుమ్యిక్ - కుటేనై - కోమి - కోర్నిష్ - కిర్గిజ్ - లాటిన్ - లాడినో - లాహండా - లాంబా - లుక్సంబర్గిష్ - లేజ్ఘియన్ - గాండా - లిమ్బర్గిష్ - లింగాల - లాఓ - మొంగో - లోజి - లిథుయేనియన్ - లూబ-కటాంగ - లూబా- లులుయా - లుఇసేనో - లుండా - లువో - లుషై - లాట్వియన్ - మాదురీస్ - మగాహి - మైథిలి - మకాసార్ - మండింగో - ఆస్ట్రోనిశియన్ - మాసాయి - మొక్షా - మండార్ - మెండే - మాలాగసి - మధ్యమ ఐరిష్ - మార్షలీస్ - మయోరి - మికమాక్ - మినాంగ్కాబో - మిశ్రమ భాష - మసడోనియన్ - మోన్-ఖ్మేర్ భాష - మలయాళం - మంగోలియన్ - మంచు - మణిపూరి - మనోబో భాష - మొల్డావియన్ - మోహుక్ - మోస్సి - మరాటి - మలేయ్ - మాల్టీస్ - బహుళ భాషలు - ముండ భాష - క్రీక్ - మిరాండిస్ - మార్వాడి - బర్మీస్ - మాయన్ భాష - ఎర్జియా - నౌరు - నాహుఅటిల్ - ఉత్తర అమెరికా ఇండియన్ భాష - నియాపోలిటన్ - నార్వీజియన్ బొక్మాల్ - ఉత్తర దెబెలె - లో జర్మన్ - నేపాలి - నెవారి - దోంగా - నియాస్ - నైజర్- కోర్దోఫియన్ భాష - నియూఇయాన్ - డచ్ - నార్విజియాన్ న్యోర్స్క్ - నార్విజియాన్ - నోగై - ప్రాచిన నోర్స్ - న్కో - దక్షిణ దెబెలె - ఉత్తర సోతో - నూబియన్ భాష - నవాహో - సాంప్రదాయ న్యుఆరి - న్యంవేజి - న్యాన్కోలె - నిఓరో - జీమా - ఆక్సిటాన్ - చేవా - ఒరోమో - ఒరియా - ఒసేటిక్ - ఒసాజ్ - ఒట్టోమన్ టర్కిష్ - ఒటోమియన్ భాష - పంజాబీ - పాపుఅన్ భాష - పంగా సినాన్ - పహ్లావి - పంపగ్న - పపియమేంటో - పాలుఆన్ - ప్రాచీన పర్షియన్ - ఫిలిప్పీన్ భాష - ఫోనికన్ - పాలీ - పోలిష్ - పోహ్న్పెయన్ - ప్రాక్రిత్ భాష - ప్రాచీన ప్రోవెంసాల్ - పాష్టో - పోర్చుగీస్ - కెషుయా - రాజస్తాని - రాపన్యుయి - రారోటొంగాన్ - ర్హెతో-రోమాన్స్ - రండి - రోమానియన్ - రోమాన్స్ భాష - రోమానీ - రూట్ - రష్యన్ - ఆరోమేనియన్ - కిన్యర్వాండా - సంసృతం - సండావి - యాకుట్ - దక్షిణ అమెరికా ఇండియన్ భాష - సాలిషాన్ భాష - సమారిటన్ అరమేక్ - ససక్ - సంటాలి - సార్డీనియన్ - సిసిలియన్ - స్కాట్స్ - సింధీ - ఉత్తర సామి - సేల్కప్ - సెమిటిక్ భాష - సాంగో - ప్రాచీన ఐరిష్ - సంజ్ఞ భాష - సేర్బో-క్రొయేషియన్ - షాన్ - సింహాల - సిడామో - షిఒయన్ భాష - సైనో- టిబిటన్ భాష - స్లోవాక్ - స్లోవేనియాన్ - స్లావిక్ భాష - సమోవన్ - దక్షిణ సామి - సామి భాష - లులే సామి - ఇనారి సామి - స్కోల్ట్ సామి - షోన - సోనింకి - సోమాలి - సోగ్డియన్ - సొంఘై - అల్బేనియన్ - సెర్బియన్ - స్రానన్ టోనగో - సెరేర్ - స్వాతి - నీలో సహారా భాష - దక్షిణ సోతో - సుడానీస్ - సుకుమా - సుసు - సుమేరియాన్ - స్వీడిష్ - స్వాహిలి - సాంప్రదాయ సిరియాక్ - సిరియాక్ - తమిళము - టై భాష - తెలుగు - టింనే - టెరెనో - టేటం - తాజిక్ - థాయ్ - తిగ్రిన్యా - టీగ్రె - టివ్ - తుర్కమెన్ - టోకెలావ్ - తగలోగ్ - క్లింగన్ - లింగిట్ - టామషేక్ - సెటస్వానా - టోంగా - న్యాసా టోన్గా - టోక్ పిసిన్ - టర్కిష్ - సోంగా - శింషీయన్ - టాటర్ - టంబుక - టుపి భాష - ఆల్టియాక్ భాష - టువాలు - ట్వి - తహితియన్ - టువినియన్ - ఉడ్ముర్ట్ - ఉయ్ఘుర్ - ఉగారిటిక్ - యుక్రేనియాన్ - ఉమ్బుండు - తెలియని లేదా చెల్లని భాష - ఉర్దూ - ఉజ్బెక్ - వాయి - వెండా - వియత్నామీస్ - వోలాపుక్ - వోటిక్ - వాలూన్ - వాక్షన్ భాష - వాలామో - వారే - వాషో - సోర్బియన్ భాష - వొలాఫ్ - కల్మిక్ - షోసా - యాఒ - యాపిస్ - యిడ్డిష్ - యోరుబా - యుపిక్ భాష - జువాన్ - జపోటెక్ - బ్లిసింబల్స్ - జెనాగా - చైనీస్ - జండే - జూలూ - జుని - ఈ లిపి లేదు - జాజా - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ప్రపంచం - ఆఫ్రికా - ఉత్తర అమెరికా ఖండము - దక్షిణ అమెరికా - ఒషేనియ - పడమటి ఆఫ్రికా - మధ్యమ అమెరికా - తూర్పు ఆఫ్రికా - ఉత్తర ఆఫ్రికా - మధ్యమ ఆఫ్రికా - దక్షిణ ఆఫ్రికా - అమెరికాలు - ఉత్తర అమెరికా - కరిబ్బియన్ - తూర్పు ఆశియా - దక్షిణ ఆశియా - నైరుతి ఆశియా - దక్షిణ ఐరోపా - ఆస్ట్రేలియా మరియు న్యూజిలాండ్ - మెలనేశియ - మైక్రోనేశియ ప్రాంతం - పాలినేషియా - దక్షిణ మధ్యమ ఆశియా - ఆశియా - మధ్యమ ఆశియా - పడమటి ఆశియా - ఐరోపా - తూర్పు ఐరోపా - ఉత్తర ఐరోపా - పడమటి ఐరోపా - స్వతంత్ర రాష్ట్రాల కామన్ వెల్త్ - చెకస్లొవేకియ - లాటిన్ అమెరికా మరియు కేరబ్బియన్ - చానెల్ దీవులు - అన్డోరా - యునైటెడ్ ఆరబ్ ఎమిరేట్స్ - ఆఫ్ఘానిస్తాన్ - ఆంటిగ్వా మరియు బార్బుడా - ఆంగవిల్లా - అల్బేనియా - ఆర్మేనియా - నేదేర్లేండ్స్ అంటిల్లిస్ - అంగోలా - అంటార్కటికా - ఆర్జెంటినా - అమెరికన్ సమోవా - ఆస్ట్రియా - ఆస్ట్రేలియా - అరుబా - ఆలేండ్ దీవులు - అజర్బైజాన్ - బాస్నియా మరియు హీర్జిగోవినా - బార్బడోస్ - బాంగ్లాదేష్ - బెల్జియం - బుర్కినా ఫాసో - బల్గేరియా - బహరేన్ - బురుండి - బెనిన్ - సెంట్ బర్తేలెమీ - బర్మయుడా - బ్రునై - బొలీవియా - బ్రజిల్ - బహామాస్ - భూటాన్ - బొవెట్ దీవి - బోట్స్వానా - బెలారస్ - బెలీజ్ - కెనడా - కోకోస్ దీవులు - కాంగో- కిన్షాసా - మధ్యమ ఆఫ్రికా రిపబ్లిక్ - కాంగో- బ్రాజావిల్లి - స్విట్జర్లేండ్ - ఐవరీ కోస్ట్ - కుక్ దీవులు - చిలి - కెమరూన్ - చైనా - కొలంబియా - కోస్టారికా - సర్బియా మరియు మంటెనీగ్రో - క్యూబా - కేప్ వెర్డే - క్రిస్మస్ దీవి - సైప్రస్ - చెక్ గణరాజ్యం - ఙర్మని - జిబౌటి - డెన్మార్క్ - డోమెనిక - డొమినికన్ గణ రాజ్యం - అల్జీరియా - ఈక్వడోర్ - ఎస్టోనియా - ఈజిప్ట్ - పడమటి సహారా - ఎరిట్రియా - స్పేన్ - ఇథియోపియా - ఫిన్లాండ్ - ఫిజి - ఫాక్ లేండ్ దీవులు - మైక్రోనేశియ - ఫారో దీవులు - ఫ్రాన్స్‌ - గేబన్ - బ్రిటన్ - గ్రెనెడా - జార్జియా - ఫ్రెంచ్ గియానా - గ్వేర్నసే - ఘానా - జిబ్రాల్టార్ - గ్రీన్లేండ్ - గాంబియా - గినియా - గ్వాడేలోప్ - ఎక్వేటోరియాల్ గినియా - గ్రీస్ - దక్షిణ జార్జియా మరియు దక్షిణ సాండ్విచ్ దీవులు - గ్వాటిమాల - గ్వామ్ - గినియా-బిస్సావ్ - గయానా - చైనా యొక్క హాంగ్కాంగ్ - హెర్డ్ దీవి మరియు మాక్ డోనాల్డ్ దీవులు - హోండోరాస్ - క్రోయేషియా - హైటి - హన్గేరి - ఇండోనేషియా - ఐర్ లాండ్ - ఇస్రాయేల్ - ఐల్ ఆఫ్ మాన్ - భారత దేశం - బ్రిటిష్ భారతీయ ఓషన్ ప్రాంతం - ఇరాక్ - ఇరాన్ - ఐస్లాండ్ - ఇటలి - జర్సి - జమైకా - జార్డాన్ - జపాన్ - కెన్యా - కిర్జిస్తాన్ - కంబోడియా - కిరిబాటి - కొమొరోస్ - సెంట్ కిట్ట్స్ మరియు నెవిస్ - ఉత్తర కొరియా - దక్షిణ కొరియా - కువైట్ - కేమాన్ దీవులు - కజాఖస్తాన్ - లావోస్ - లెబనాన్ - సెంట్ లూసియా - లిక్టెస్టేన్ - శ్రీలంక - లైబీరియా - లెసోతో - లిథుయేనియా - లక్సంబర్గ్ - లాట్వియ - లిబియా - మొరాక్కో - మొనాకో - మోల్ డోవ - మోంటేనేగ్రో - సెంట్ మార్టిన్ - మాడ్గాస్కార్ - మార్షల్ దీవులు - మేసెడోనియా - మాలి - మ్యాన్మార్ - మంగోలియా - మాకావ్ SAR చైనా - ఉత్తర మరియానా దీవులు - మార్టినిక్ - మౌరిటేనియా - మోంట్సేర్రాట్ - మాల్టా - మారిషస్ - మాల్దీవులు - మాలావి - మెక్సికో - మలేషియా - మొజాంబిక్ - నమీబియా - క్రొత్త కాలెడోనియా - నైజర్ - నార్ఫాక్ దీవి - నైజీరియా - నికరాగువా - నేదర్లాండ్స్ - నారవే - నేపాల్ - నౌరు - నియు - న్యుజిలేండ్ - ఒమాన్ - పనామా - పెరూ - ఫ్రెంచ్ పోలినిషియా - పాపువా న్యు గినియా - ఫిలి పైన్స్ - పాకిస్తాన్ - పోలాండ్ - సెంట్ పియెర్ మరియు మికెలాన్ - పిట్కెర్న్ - పోటోరికో - పాలిస్తినియాన్ ప్రాంతం - పోర్చుగల్ - పలావు - పెరగువే - కతర్ - ఒషేనియా బయటున్నవి - యురోపియన్ యునియన్ - రియూనియన్ - రోమానియా - సెర్బియా - రష్య - ర్వాండా - సౌదీ అరేబియా - సోలోమన్ దీవులు - సీషెల్స్ - సుడాన్ - స్వీడన్ - సింగపూర్ - సెంట్ హెలినా - స్లోవేనియా - స్వాల్బార్డ్ మరియు యాన్ మాయేన్ - స్లోవేకియా - సియెర్రా లియాన్ - సాన్ మారినో - సెనెగల్ - సోమాలియా - సురినామ్ - సావోటోమ్ మరియు ప్రిన్సిపే - ఎల్ సాల్వడోర్ - సిరియా - స్వాజీలేండ్ - తుర్క్ మరియు కాలికోస్ దీవులు - చాద్ - ఫ్రెంచ్ దక్షిణ ప్రాంతాలు - టోగో - థాయ్ లాండ్ - టాజీకిస్తాన్ - టోకేలావ్ - తూర్పు టిమోర్ - తుర్కమెస్తాన్ - ట్యునీషియా - టోంగా - టర్కీ - ట్రినిడేడ్ మరియు టొబాగో - టువాలు - టైవాన్ - టాంజానియా - యుక్రెన్ - యుగాండా - సంయుక్త రాజ్య అమెరికా యునైటెడ్ స్టేట్స్ మైనర్ బయట ఉన్న దీవులు - సంయుక్త రాజ్య అమెరికా - ఉరుగువే - ఉజ్బెకిస్తాన్ - వేటికెన్ - సెంట్ విన్సెంట్ మరియు గ్రెనడీన్స్ - వెనుజువేలా - బ్రిటిష్ వర్జిన్ దీవులు - యు.ఎస్. వర్జిన్ దీవులు - వియట్నాం - వనౌటు - వాలిస్ మరియు ఫ్యుత్యునా - సమోవా - యెమెన్ - మాయొట్టి - దక్షిణ ఆఫ్రికా రాజ్యం - జాంబియా - జింబాబ్వే - తెలియని లేదా చెల్లని ప్రాంతం - - - ప్రాచీన ఙర్మన వర్ణక్రమం - 1996 ఙర్మన వర్ణక్రమం - సవరించబడిన వర్ణక్రమం - - - - [అ-ఋ ౠ ఌ ౡ ఎ-ఐ ఒ-న ప-ళ వ-హ ఁ-ః ్ ా-ౄ ె-ై ొ-ౌ ౕ ౖ] - [\u200C \u200D ౦-౯ b c e g m q t] - - - ' - ' - " - " - - - - - - - - జనవరి - ఫిబ్రవరి - మార్చి - ఏప్రిల్ - మే - జూన్ - జూలై - ఆగస్టు - సెప్టెంబర్ - అక్టోబర్ - నవంబర్ - డిసెంబర్ - - - - - జ - ఫి - మ - ఎ - మె - జు - జు - ఆ - సె - అ - న - డి - - - - - - - ఆది - సోమ - మంగళ - బుధ - గురు - శుక్ర - శని - - - ఆదివారం - సోమవారం - మంగళవారం - బుధవారం - గురువారం - శుక్రవారం - శనివారం - - - - - ఆ - సో - మ - భు - గు - శు - శ - - - - - - - Q1 - Q2 - Q3 - Q4 - - - ఒకటి 1 - రెండు 2 - మూడు 3 - నాలుగు 4 - - - - am - pm - - - ఈసాపూర్వ. - సన్. - - - BCE - CE - - - - - - EEEE d MMMM y - - - - - d MMMM y - - - - - d MMM y - - - - - dd-MM-yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - d MMMM - dd-MM - Q yy - MM-yyyy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - - #,##,##0.### - - - - - - - #,##,##0% - - - - - - - ¤ #,##,##0.00 - - - - - - ఆఫ్ఘాన్ ఆఫ్ఘాని - - - బ్రజిల్ దేశ రియాల్ - - - చైనా దేశ యువాన్ రెన్‌మిన్‌బి - - - యురొ - - - బ్ిటిష్ పౌన్డ స్టెర్లిగ్ - - - రూపాయి - రూ. - - - జపాను దేశ యెస్ - - - రష్య దేశ రూబల్ - - - ఐక్య రాష్ట్ర అమెరిక డాలర్ - - - - - - అవను - కాదు - - - diff --git a/lib/zend/Zend/Locale/Data/te_IN.xml b/lib/zend/Zend/Locale/Data/te_IN.xml deleted file mode 100644 index 03165e2cef..0000000000 --- a/lib/zend/Zend/Locale/Data/te_IN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/telephoneCodeData.xml b/lib/zend/Zend/Locale/Data/telephoneCodeData.xml deleted file mode 100644 index a0d221c2d4..0000000000 --- a/lib/zend/Zend/Locale/Data/telephoneCodeData.xml +++ /dev/null @@ -1,747 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/tg.xml b/lib/zend/Zend/Locale/Data/tg.xml deleted file mode 100644 index ce851f9646..0000000000 --- a/lib/zend/Zend/Locale/Data/tg.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - - - - - Белорусӣ - Булғорӣ - Биҳарӣ - Бенгалӣ - Бретонӣ - Босниягӣ - Каталанӣ - Чехӣ - Даниягӣ - Немисӣ - Юнонӣ - Англисӣ - Эсперанто - Испанӣ - Эстонӣ - Баскӣ - Форсӣ - Финнӣ - Филиппинӣ - Фарозӣ - Фаронсавӣ - Фрисианӣ - Ирландӣ - Шотландӣ-Галикӣ - Галисианӣ - Горанӣ - Гуҷаратӣ - Яҳудӣ - Ҳиндӣ - Маҷорӣ - Байни забонӣ - Индонезӣ - Исландӣ - Ҷопонӣ - Ҷаванизӣ - Гурҷӣ - Қирғизӣ - Лотинӣ - Лаосӣ - Литвонӣ - Латвиягӣ - Ҳолландӣ - Норвегӣ - Урисоӣ - Лаҳистонӣ - Португалӣ - Португалӣ (Бразилия) - Руминӣ - Русӣ - Шведӣ - Ӯйғурӣ - Украинӣ - Урду - Ӯзбекӣ - Яҳудии Аврупои шарқӣ - Чинӣ - Зулу - - - - - - Афғонистан - Тонга - - - - [а-г ғ д е ё ж-и ӣ й к қ л-у ӯ ф х ҳ ч ҷ ш ъ э-я] - [ц щ ы ь] - - - « - » - « - „ - - - - - - - - Янв - Фев - Мар - Апр - Май - Июн - Июл - Авг - Сен - Окт - Ноя - Дек - - - Январ - Феврал - Март - Апрел - Май - Июн - Июл - Август - Сентябр - Октябр - Ноябр - Декабр - - - - - - - Яшб - Дшб - Сшб - Чшб - Пшб - Ҷмъ - Шнб - - - Якшанбе - Душанбе - Сешанбе - Чоршанбе - Панҷшанбе - Ҷумъа - Шанбе - - - - пе. чо. - па. чо. - - - Пеш аз милод - ПаМ - - - ПеМ - ПаМ - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - Сомонӣ - сом - - - - diff --git a/lib/zend/Zend/Locale/Data/tg_Cyrl.xml b/lib/zend/Zend/Locale/Data/tg_Cyrl.xml deleted file mode 100644 index c8040f0d36..0000000000 --- a/lib/zend/Zend/Locale/Data/tg_Cyrl.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - โลก - แอฟริกา - อเมริกาเหนือ - อเมริกาใต้ - โอเชียเนีย - แอฟริกาตะวันตก - อเมริกากลาง - แอฟริกาตะวันออก - แอฟริกาเหนือ - แอฟริกากลาง - แอฟริกาใต้ [018] - อเมริกา - อเมริกาตอนเหนือ - แคริบเบียน - เอเชียตะวันออก - เอเชียใต้ - เอเชียตะวันออกเฉียงใต้ - ยุโรปใต้ - ออสเตรเลียและนิวซีแลนด์ - เมลานีเซีย - เขตไมโครนีเซีย - โปลินีเซีย - เอเชียกลางตอนใต้ - เอเชีย - เอเชียกลาง - เอเชียตะวันตก - ยุโรป - ยุโรปตะวันออก - ยุโรปเหนือ - ยุโรปตะวันตก - เครือรัฐอิสระ - ละตินอเมริกาและแคริบเบียน - หมู่เกาะแชนเนล - อันดอร์รา - สหรัฐอาหรับเอมิเรตส์ - อัฟกานิสถาน - แอนติกาและบาร์บูดา - แองกวิลลา - แอลเบเนีย - อาร์เมเนีย - เนเธอร์แลนด์แอนทิลลิส - แองโกลา - แอนตาร์กติกา - อาร์เจนตินา - อเมริกันซามัว - ออสเตรีย - ออสเตรเลีย - อารูบา - หมู่เกาะโอลันด์ - อาเซอร์ไบจาน - บอสเนียและเฮอร์เซโกวีนา - บาร์เบโดส - บังกลาเทศ - เบลเยียม - บูร์กินาฟาโซ - บัลแกเรีย - บาห์เรน - บุรุนดี - เบนิน - เซนต์บาร์เธเลมี - เบอร์มิวดา - บรูไน - โบลิเวีย - บราซิล - บาฮามาส - ภูฏาน - เกาะบูเวต - บอตสวานา - เบลารุส - เบลีซ - แคนาดา - หมู่เกาะโคโคส - คองโก-กินชาซา - สาธารณรัฐแอฟริกากลาง - คองโก-บราซซาวิล - สวิตเซอร์แลนด์ - ไอวอรี่โคสต์ - หมู่เกาะคุก - ชิลี - แคเมอรูน - จีน - โคลอมเบีย - คอสตาริกา - เซอร์เบียและมอนเตเนโกร - คิวบา - เคปเวิร์ด - เกาะคริสต์มาส - ไซปรัส - สาธารณรัฐเช็ก - เยอรมนี - จิบูตี - เดนมาร์ก - โดมินิกา - สาธารณรัฐโดมินิกัน - แอลจีเรีย - เอกวาดอร์ - เอสโตเนีย - อียิปต์ - ซาฮาราตะวันตก - เอริเทรีย - สเปน - เอธิโอเปีย - ฟินแลนด์ - ฟิจิ - หมู่เกาะฟอล์กแลนด์ - ไมโครนีเซีย - หมู่เกาะแฟโร - ฝรั่งเศส - กาบอง - สหราชอาณาจักร - เกรเนดา - จอร์เจีย - เฟรนช์เกียนา - เกิร์นซีย์ - กานา - ยิบรอลตาร์ - กรีนแลนด์ - แกมเบีย - กินี - กวาเดอลูป - อิเควทอเรียลกินี - กรีซ - เกาะเซาท์จอร์เจียและหมู่เกาะเซาท์แซนด์วิช - กัวเตมาลา - กวม - กินี-บิสเซา - กายอานา - ฮ่องกง เขตปกครองพิเศษประเทศจีน - เกาะเฮิร์ดและหมู่เกาะแมกดอนัลด์ - ฮอนดูรัส - โครเอเชีย - เฮติ - ฮังการี - อินโดนีเซีย - ไอร์แลนด์ - อิสราเอล - เกาะแมน - อินเดีย - บริติชอินเดียนโอเชียนเทร์ริทอรี - อิรัก - อิหร่าน - ไอซ์แลนด์ - อิตาลี - เจอร์ซีย์ - จาเมกา - จอร์แดน - ญี่ปุ่น - เคนยา - คีร์กีซสถาน - กัมพูชา - คิริบาส - คอโมโรส - เซนต์คิตส์และเนวิส - เกาหลีเหนือ - เกาหลีใต้ - คูเวต - หมู่เกาะเคย์แมน - คาซัคสถาน - ลาว - เลบานอน - เซนต์ลูเซีย - ลิกเตนสไตน์ - ศรีลังกา - ไลบีเรีย - เลโซโท - ลิทัวเนีย - ลักเซมเบิร์ก - ลัตเวีย - ลิเบีย - โมร็อกโก - โมนาโก - มอลโดวา - มอนเตเนโกร - เซนต์มาติน - มาดากัสการ์ - หมู่เกาะมาร์แชลล์ - มาซิโดเนีย - มาลี - พม่า - มองโกเลีย - มาเก๊า เขตปกครองพิเศษประเทศจีน - หมู่เกาะนอร์เทิร์นมาเรียนา - มาร์ตินีก - มอริเตเนีย - มอนต์เซอร์รัต - มอลตา - มอริเชียส - มัลดีฟส์ - มาลาวี - เม็กซิโก - มาเลเซีย - โมซัมบิก - นามิเบีย - นิวแคลิโดเนีย - ไนเจอร์ - เกาะนอร์ฟอล์ก - ไนจีเรีย - นิการากัว - เนเธอร์แลนด์ - นอร์เวย์ - เนปาล - นาอูรู - นีอูเอ - นิวซีแลนด์ - โอมาน - ปานามา - เปรู - เฟรนช์โปลินีเซีย - ปาปัวนิวกินี - ฟิลิปปินส์ - ปากีสถาน - โปแลนด์ - แซงปีแยร์และมีเกอลง - พิตแคร์น - เปอร์โตริโก - ปาเลสไตน์ - โปรตุเกส - ปาเลา - ปารากวัย - กาตาร์ - เอาต์ไลอิงโอเชียเนีย - สหภาพยุโรป - เรอูนียง - โรมาเนีย - เซอร์เบีย - รัสเซีย - รวันดา - ซาอุดีอาระเบีย - หมู่เกาะโซโลมอน - เซเชลส์ - ซูดาน - สวีเดน - สิงคโปร์ - เซนต์เฮเลนา - สโลวีเนีย - สฟาลบาร์และยานไมเอน - สโลวะเกีย - เซียร์ราลีโอน - ซานมารีโน - เซเนกัล - โซมาเลีย - ซูรินาเม - เซาตูเมและปรินซิปี - เอลซัลวาดอร์ - ซีเรีย - สวาซิแลนด์ - หมู่เกาะเติกส์และหมู่เกาะเคคอส - ชาด - เฟรนช์เซาเทิร์นเทร์ริทอรีส์ - โตโก - ไทย - ทาจิกิสถาน - โตเกเลา - ติมอร์ตะวันออก - เติร์กเมนิสถาน - ตูนิเซีย - ตองกา - ตุรกี - ตรินิแดดและโตเบโก - ตูวาลู - ไต้หวัน - แทนซาเนีย - ยูเครน - ยูกันดา - หมู่เกาะสหรัฐไมเนอร์เอาต์ไลอิง - สหรัฐอเมริกา - อุรุกวัย - อุซเบกิสถาน - วาติกัน - เซนต์วินเซนต์และเกรนาดีนส์ - เวเนซุเอลา - หมู่เกาะบริติชเวอร์จิน - หมู่เกาะยูเอสเวอร์จิน - เวียดนาม - วานูอาตู - วาลลิสและฟุตูนา - ซามัว - เยเมน - มายอต - แอฟริกาใต้ - แซมเบีย - ซิมบับเว - ไม่ทราบ - - - เยอรมันออร์โธกราฟีดั้งเดิม - เยอรมันออร์โธกราฟีปี 1996 - อาร์เมเนียตะวันออก - อาร์เมเนียตะวันตก - สัทอักษรสากล - ภาษาพื้นเมืองนาทิโซเน - โพลีโทนิก - คอมพิวเตอร์ - ออร์โธกราฟิปรับปรุง - เรเซียน - ซาโฮ - - - ปฏิทิน - การเรียงลำดับ - เงินตรา - - - เรียงตามอักษรจีนดั้งเดิม - ปฏิทินพุทธ - ปฏิทินจีน - เรียงตามลำดับโดยตรง - เรียงตามอักษรจีนประยุกต์ - ปฏิทินเกรกอเรียน - ปฏิทินฮิบรู - ปฏิทินแห่งชาติอินเดีย - ปฏิทินอิสลาม - ปฏิทินอิสลามซีวิล - ปฏิทินญี่ปุ่น - เรียงตามสมุดโทรศัพท์ - เรียงตามการถอดเสียงภาษาจีน - ปฏิทินไต้หวัน - เรียงตามการลากเส้น - เรียงตามแบบดั้งเดิม - - - อเมริกัน - เมตริก - - - {0} - {0} - {0} - - - - [ฯ ๆ \u0E4E \u0E47-\u0E4D ก-ฮ ะ-\u0E3A เ-ๅ] - [\u200B a e g m n p q t] - [a-z] - - - “ - ” - ‘ - ’ - - - - - - ก่อนเที่ยง - หลังเที่ยง - - - พุทธศักราช - - - พ.ศ. - - - - - - EEEEที่ d MMMM G y - - - - - d MMMM y - - - - - d MMM y - - - - - d/M/yyyy - - - - - - - - {1}, {0} - - - - - {1}, {0} - - - - - {1}, {0} - - - - - {1}, {0} - - - - EEEท d - Eท d/M - EEEท d MMM - Eท d MMM - E d MMMM - d MMMM - d MMM - d/M - EEE d/M/y - MMM yyyy - EEE d MMM y - MMMM y - M/yyyy - MMM y - - - - - ก่อนเที่ยง - หลังเที่ยง - - - ก่อนเที่ยง - หลังเที่ยง - - - - - - ม.ค. - ก.พ. - มี.ค. - เม.ย. - พ.ค. - มิ.ย. - ก.ค. - ส.ค. - ก.ย. - ต.ค. - พ.ย. - ธ.ค. - - - มกราคม - กุมภาพันธ์ - มีนาคม - เมษายน - พฤษภาคม - มิถุนายน - กรกฎาคม - สิงหาคม - กันยายน - ตุลาคม - พฤศจิกายน - ธันวาคม - - - - - ม.ค. - ก.พ. - มี.ค. - เม.ย. - พ.ค. - มิ.ย. - ก.ค. - ส.ค. - ก.ย. - ต.ค. - พ.ย. - ธ.ค. - - - - - - - อา. - จ. - อ. - พ. - พฤ. - ศ. - ส. - - - วันอาทิตย์ - วันจันทร์ - วันอังคาร - วันพุธ - วันพฤหัสบดี - วันศุกร์ - วันเสาร์ - - - - - อ - จ - อ - พ - พ - ศ - ส - - - - - - - Q1 - Q2 - Q3 - Q4 - - - ไตรมาส 1 - ไตรมาส 2 - ไตรมาส 3 - ไตรมาส 4 - - - - - 1 - 2 - 3 - 4 - - - - ก่อนเที่ยง - หลังเที่ยง - - - ปีก่อนคริสต์ศักราช - คริสต์ศักราช - - - ปีก่อน ค.ศ. - ค.ศ. - - - ก่อน ค.ศ. - - - - - - EEEEที่ d MMMM G y - - - - - d MMMM y - - - - - d MMM y - - - - - d/M/yyyy - - - - - - - H นาฬิกา m นาที ss วินาที zzzz - - - - - H นาฬิกา m นาที ss วินาที z - - - - - H:mm:ss - - - - - H:mm - - - - - - - {1}, {0} - - - - - {1}, {0} - - - - - {1}, {0} - - - - - {1}, {0} - - - - EEE d - HH:mm - HH:mm:ss - H:mm - L - E, d/M - LLL - E d MMM - E d MMMM - d MMMM - d MMM - d/M - d - mm:ss - mm:ss - y - M/yyyy - EEE d/M/yyyy - MMM y - EEE d MMM y - MMMM y - Q yyyy - QQQ y - Q yy - M/yyyy - MMMM y - - - {0} - {1} - - M-M - - - E d – E d/M - E d – E d/M - - - LLL-LLL - - - E d MMM – E d MMM - E d – E d MMM - - - LLLL-LLLL - - - d MMM – d MMM - d – d MMM - - - d/M - d/M - d/M - d/M - - - d-d - - - H-H - H-H - - - H:mm-H:mm - H:mm-H:mm - H:mm-H:mm - - - H:mm-H:mm v - H:mm-H:mm v - H:mm-H:mm v - - - H-H v - H-H v - - - y-y - - - M/yy – M/yy - M/yy – M/yy - - - E d/M/yy – E d/M/yy - E d – E d/M/yy - E d/M/yy – E d/M/yy - - - MMM-MMM y - MMM y - MMM y - - - E d MMM – E d MMM y - E d – E d MMM y - E d MMM y – E d MMM y - - - M–M/yyyy - M/yyyy – M/yyyy - - - d MMM – d MMM y - d–d MMM y - d MMM y – d MMM y - - - d/M/yy – d/M/yy - d-d/M/yy - d/M/yy – d/M/yy - - - - - - สมัย - - - ปี - - - เดือน - - - สัปดาห์ - - - วัน - สามวันก่อน - เมื่อวานซืน - เมื่อวาน - วันนี้ - พรุ่งนี้ - มะรืนนี้ - สามวันต่อจากนี้ - - - วันในสัปดาห์ - - - ช่วงวัน - - - ชั่วโมง - - - นาที - - - วินาที - - - เขต - - - - - - - - เฮวาน - กีสเลฟ - เตเวต - เชวัต - อาดาร์ I - อาดาร์ - นิสซาน - อิยาร์ - สีวัน - ตามูซ - อัฟ - เอลอุล - - - - ก่อนเที่ยง - หลังเที่ยง - - - ย.ศ. - - - - - - - - มุฮะร์รอม - ซอฟาร์ - รอบี I - รอบี II - จุมาดา I - จุมาดา II - รอจับ - ชะอะบาน - รอมะดอน - เชาวัล - ดฮุุอัลกิดะห์ - ดฮุอัลฮิจจะห์ - - - - ก่อนเที่ยง - หลังเที่ยง - - - ฮิจเราะห์ศักราช - - - ฮ.ศ. - - - - - ก่อนเที่ยง - หลังเที่ยง - - - ทะอิกะ - ฮะกุชิ - ฮากุโฮ - ชุโช - ทะอิโฮ - เคอุง - วะโด - เรกิ - โยโร - จิงกิ - เท็มเพียว - เท็มเพียว-คัมโป - เท็มเพียว-โชโฮ - เท็มเพียว-โฮจิ - เท็มเพียว-จิงโงะ - จิงโงะ-เคอุง - โฮกิ - เท็นโอ - เอ็นเรียะกุ - ดะอิโด - โคนิง - เท็นโช - โชวะ - คะโจ - นินจุ - ซะอิโกะ - เท็นนัง - โจงัง - เก็งเก - นินนะ - คัมเพียว - โชตะอิ - เอ็งงิ - เอ็นโช - โชเฮ - เท็งเงียว - เท็นเรียะกุ - เท็นโตะกุ - โอวะ - โคโฮ - อันนะ - เท็นโระกุ - เท็นเอ็ง - โจเง็ง - เท็งเง็ง - เอกัง - คันนะ - เอเอ็ง - เอโซ - โชเรียะกุ - โชโตะกุ - โชโฮ - คันโก - โชวะ - คันนิง - จิอัง - มันจุ - โชเง็ง - โชเรียะกุ - โชคีว - คันโตะกุ - เอโช - เท็งงิ - โคเฮ - จิเรียะกุ - เอ็งคีว - โชโฮ - โชเรียะกุ - เอโฮะ - โอโตะกุ - คันจิ - คะโฮะ - เอโช - โชโตะกุ - โควะ - โชจิ - คะโช - เท็นนิง - เท็นเอ - เอกีว - เก็นเอ - โฮะอัง - เท็นจิ - ดะอิจิ - เท็นโช - โชโช - โฮะเอ็ง - เอจิ - โคจิ - เท็นโย - คีวอัง - นิมเป - คีวจุ - โฮะเง็ง - เฮจิ - เอเรียะกุ - โอโฮ - โชกัง - เอมัง - นินอัง - คะโอ - โชอัง - อังเง็ง - จิโช - โยวะ - จุเอ - เก็นเรียะกุ - บุนจิ - เค็งกีว - โชจิ - เค็นนิง - เก็งกีว - เค็นเอ - โชเก็ง - เค็นเรียะกุ - เค็มโป - โชกีว - โจโอ - เก็นนิง - คะโระกุ - อันเต - คังกิ - โจเอ - เท็มปุกุ - บุนเรียะกุ - คะเต - เรียะกุนิง - เอ็นโอ - นินจิ - คังเง็ง - โฮจิ - เค็นโช - โคเง็ง - โชกะ - โชเง็ง - บุนโอ - โคโช - บุนเอ - เค็นจิ - โคอัง - โชโอ - เอนิง - โชอัง - เค็งเง็ง - คะเง็ง - โทะกุจิ - เอ็งเก - โอโช - โชวะ - บุมโป - เก็นโอ - เก็งเกียว - โชชู - คะเระกิ - เก็นโตะกุ - เก็งโก - เค็มมุ - เอ็งเง็ง - โคโกะกุ - โชเฮ - เค็นโตะกุ - บุนชู - เท็นจุ - โคเรียะกุ - โควะ - เก็นชู - เมโตะกุ - คะเค - โคโอ - เมโตะกุ - โอเอ - โชโช - เอเกียว - คะกิสึ - บุนอัง - โฮโตะกุ - เคียวโตะกุ - โคโช - โชโระกุ - คันโช - บุนโช - โอนิง - บุมเม - โชเกียว - เอ็นโตะกุ - เมโอ - บุงกิ - เอโช - ทะอิเอ - เคียวโระกุ - เท็มมน - โคจิ - เอโระกุ - เก็งกิ - เท็นโช - บุนโระกุ - เคโช - เก็งวะ - คันเอ - โชโฮ - เคอัง - โชโอ - เมเรียะกุ - มันจิ - คัมบุง - เอ็มโป - เท็นวะ - โจเกียว - เก็นโระกุ - โฮเอ - โชโตะกุ - เคียวโฮ - เก็มบุง - คัมโป - เอ็งเกียว - คันเอ็ง - โฮเรียะกุ - เมวะ - อันเอ - เท็มเม - คันเซ - เคียววะ - บุงกะ - บุนเซ - เท็มโป - โคกะ - คะเอ - อันเซ - มันเอ็ง - บุงกีว - เก็นจิ - เคโอ - เมจิ - ทะอิโช - โชวะ - เฮเซ - - - ทะอิกะ - ฮะกุชิ - ฮากุโฮ - ชุโช - ทะอิโฮ - เคอุง - วะโด - เรกิ - โยโร - จิงกิ - เท็มเพียว - เท็มเพียว-คัมโป - เท็มเพียว-โชโฮ - เท็มเพียว-โฮจิ - เท็มเพียว-จิงโงะ - จิงโงะ-เคอุง - โฮกิ - เท็นโอ - เอ็นเรียะกุ - ดะอิโด - โคนิง - เท็นโช - โชวะ - คะโจ - นินจุ - ซะอิโกะ - เท็นนัง - โจงัง - เก็งเก - นินนะ - คัมเพียว - โชตะอิ - เอ็งงิ - เอ็นโช - โชเฮ - เท็งเงียว - เท็นเรียะกุ - เท็นโตะกุ - โอวะ - โคโฮ - อันนะ - เท็นโระกุ - เท็นเอ็ง - โจเง็ง - เท็งเง็ง - เอกัง - คันนะ - เอเอ็ง - เอโซ - โชเรียะกุ - โชโตะกุ - โชโฮ - คันโก - โชวะ - คันนิง - จิอัง - มันจุ - โชเง็ง - โชเรียะกุ - โชคีว - คันโตะกุ - เอโช - เท็งงิ - โคเฮ - จิเรียะกุ - เอ็งคีว - โชโฮ - โชเรียะกุ - เอโฮะ - โอโตะกุ - คันจิ - คะโฮะ - เอโช - โชโตะกุ - โควะ - โชจิ - คะโช - เท็นนิง - เท็นเอ - เอกีว - เก็นเอ - โฮะอัง - เท็นจิ - ดะอิจิ - เท็นโช - โชโช - โฮะเอ็ง - เอจิ - โคจิ - เท็นโย - คีวอัง - นิมเป - คีวจุ - โฮะเง็ง - เฮจิ - เอเรียะกุ - โอโฮ - โชกัง - เอมัง - นินอัง - คะโอ - โชอัง - อังเง็ง - จิโช - โยวะ - จุเอ - เก็นเรียะกุ - บุนจิ - เค็งกีว - โชจิ - เค็นนิง - เก็งกีว - เค็นเอ - โชเก็ง - เค็นเรียะกุ - เค็มโป - โชกีว - โจโอ - เก็นนิง - คะโระกุ - อันเต - คังกิ - โจเอ - เท็มปุกุ - บุนเรียะกุ - คะเต - เรียะกุนิง - เอ็นโอ - นินจิ - คังเง็ง - โฮจิ - เค็นโช - โคเง็ง - โชกะ - โชเง็ง - บุนโอ - โคโช - บุนเอ - เค็นจิ - โคอัง - โชโอ - เอนิง - โชอัง - เค็งเง็ง - คะเง็ง - โทะกุจิ - เอ็งเก - โอโช - โชวะ - บุมโป - เก็นโอ - เก็งเกียว - โชชู - คะเระกิ - เก็นโตะกุ - เก็งโก - เค็มมุ - เอ็งเง็ง - โคโกะกุ - โชเฮ - เค็นโตะกุ - บุนชู - เท็นจุ - โคเรียะกุ - โควะ - เก็นชู - เมโตะกุ - คะเค - โคโอ - เมโตะกุ - โอเอ - โชโช - เอเกียว - คะกิสึ - บุนอัง - โฮโตะกุ - เคียวโตะกุ - โคโช - โชโระกุ - คันโช - บุนโช - โอนิง - บุมเม - โชเกียว - เอ็นโตะกุ - เมโอ - บุงกิ - เอโช - ทะอิเอ - เคียวโระกุ - เท็มมน - โคจิ - เอโระกุ - เก็งกิ - เท็นโช - บุนโระกุ - เคโช - เก็งวะ - คันเอ - โชโฮ - เคอัง - โชโอ - เมเรียะกุ - มันจิ - คัมบุง - เอ็มโป - เท็นวะ - โจเกียว - เก็นโระกุ - โฮเอ - โชโตะกุ - เคียวโฮ - เก็มบุง - คัมโป - เอ็งเกียว - คันเอ็ง - โฮเรียะกุ - เมวะ - อันเอ - เท็มเม - คันเซ - เคียววะ - บุงกะ - บุนเซ - เท็มโป - โคกะ - คะเอ - อันเซ - มันเอ็ง - บุงกีว - เก็นจิ - เคโอ - เมจิ - ทะอิโช - โชวะ - เฮเซ - - - ม - ท - ช - ฮ - - - - - - EEEEที่ d MMMM ปีGที่ y - - - - - d MMMM ปีG y - - - - - d MMM G y - - - - - d/M/yy - - - - - - GGG yy - M/GGGGG yy - MMM GGGGG yy - Q GGGGG yy - - - - - ก่อนเที่ยง - หลังเที่ยง - - - - +HH:mm;-HH:mm - GMT{0} - {0} - {1} ({0}) - - ไม่ทราบ - - - อันดอร์รา - - - ดูใบ - - - คาบูล - - - แอนติกา - - - แองกิลลา - - - ติรานา - - - เยเรวาน - - - ลูอันดา - - - โรเทรา - - - พาล์เมอร์ - - - ขั้วโลกใต้ - - - เซียวา - - - มาว์ซัน - - - ดาวีส์ - - - วอสต็อค - - - เคซีย์ - - - ดูมอนต์ดียูร์วิลล์ - - - แมคมัวโด - - - ริโอกาลเลกอส - - - เมนดูซา - - - ซานฮวน - - - อูชูเอีย - - - ลาริโอจา - - - ซันลูอิส - - - กาตามาร์กา - - - จูจิว - - - ทูคูแมน - - - คอร์โดบา - - - บัวโนสไอเรส - - - ปาโก ปาโก - - - เวียนนา - - - เพิิร์ท - - - ยูคลา - - - ดาร์วิน - - - แอดิเลด - - - โบรกเคนฮิลล์ - - - คูร์รี - - - เมลเบิร์น - - - โฮบาร์ต - - - ลินดีแมน - - - ซิดนีย์ - - - บริสเบน - - - ลอร์ดโฮวี - - - อารูบา - - - บากู - - - บาร์เบโดส - - - ดากา - - - บรัสเซลส์ - - - วากาดูกู - - - โซเฟีย - - - บาห์เรน - - - บูจุมบูรา - - - ปอร์โต-โนโว - - - เบอร์มิวดา - - - บรูไนดารุสซาลาม - - - ลาปาซ - - - เอรูเนเป - - - รีโอบรังโก - - - ปอร์ตูเวลโย - - - บัววีชตา - - - มาเนาส์ - - - กุยาบา - - - ซันตาเรม - - - กัมปูกรันดี - - - เบเลง - - - อารากัวนา - - - เซาเปาลู - - - บาเยีย - - - ฟอร์ตาเลซา - - - มาเซโอ - - - เรซีเฟ - - - โนรอนฮา - - - แนสซอ - - - ทิมพู - - - กาโบโรเน - - - เบลีซ - - - ดอว์สัน - - - ไวต์ฮอร์ส - - - อินูวิก - - - แวนคูเวอร์ - - - ดอว์สัน ครีก - - - เยลโลว์ไนฟ์ - - - เอดมันตัน - - - สวิฟต์เคอร์เรนต์ - - - อ่าวแคมบริดจ์ - - - ริไจนา - - - วินนิเพก - - - เรโซลูท - - - เรนนี่ริเวอร์ - - - แรงกินอินเล็ต - - - คอรัลฮาร์เบอร์ - - - ทันเดอร์เบย์ - - - นิปิกอน - - - โทรอนโต - - - มอนทรีอัล - - - อีกวาลิต - - - พางนีทัง - - - มองตัน - - - แฮลิแฟกซ์ - - - กูสเบย์ - - - แกลซเบย์ - - - บลังค์-ซาบลอน - - - เซนต์จอนส์ - - - โคโคส - - - กินชาซา - - - ลูบัมบาชิ - - - บังกี - - - บราซซาวิล - - - ซูริค - - - อีสเตอร์ - - - ซันติอาโก - - - กัชการ์ - - - อุรุมชี - - - ฉงชิ่ง - - - เซี่ยงไฮ้ - - - ฮาร์บิน - - - โบโกตา - - - คอสตาริกา - - - ฮาวานา - - - เคปเวิร์ด - - - คริสต์มาส - - - นิโคเซีย - - - เบอร์ลิน - - - จิบูตี - - - โคเปนเฮเกน - - - โดมินิกา - - - ซานโต โดมิงโก - - - แอลเจียร์ - - - กาลาปาโกส - - - กัวยากิล - - - ไคโร - - - เอลไอย์อุง - - - แอสมารา - - - คะเนรี - - - เซวตา - - - มาดริด - - - แอดดิสอาบาบา - - - เฮลซิงกิ - - - ฟิจิ - - - สแตนลีย์ - - - ทรัก - - - โปนาเป - - - คอสแร - - - ปารีส - - - ลีเบรอวิล - - - ลอนดอน - - - เกรนาดา - - - ทบิลิซิ - - - กาแยน - - - อักกรา - - - ยิบรอลตาร์ - - - ทูเล - - - กอดแธบ - - - สกอเรสไบซันด์ - - - ดานมาร์กสฮาวน์ - - - บันจูล - - - โกนากรี - - - กวาเดอลูป - - - มาลาโบ - - - เอเธนส์ - - - เซาท์ จอร์เจีย - - - กัวเตมาลา - - - กวม - - - บิสเซา - - - กายอานา - - - ฮ่องกง - - - บูดาเปส - - - จาการ์ตา - - - พอนเทียนัก - - - มากัสซาร์ - - - จายาปุระ - - - ดับบลิน - - - เยรูซาเร็ม - - - แบกแดด - - - เตหะราน - - - เรคยาวิก - - - โรม - - - จาเมกา - - - อัมมาน - - - โตเกียว - - - ไนโรเบีย - - - บิชเคก - - - พนมเปญ - - - เอนเดอร์เบอร์รี - - - คิริทิมาตี - - - ตาระวา - - - โคโมโร - - - เปียงยาง - - - โซล - - - คูเวต - - - เคย์แมน - - - อัคตาอู - - - ออรัล - - - อัคโทบี - - - ไคซีลอร์ดา - - - อัลมาตี - - - เวียงจันทน์ - - - เบรุต - - - เซนต์ลูเซีย - - - วาดุซ - - - โคลัมโบ - - - มันโรเวีย - - - มา¹€ซรู - - - วิลนีอุส - - - ลักเซมเบิร์ก - - - ตรีโปลี - - - คาสซาบลางก้า - - - โมนาโก - - - อันตานานาริโว - - - ควาจาเลน - - - มาจูโร - - - บามาโก - - - ย่างกุ้ง - - - ฮอฟด์ - - - อูลานบาตอร์ - - - ชอยบาลซาน - - - มาเก๊า - - - ไซปัน - - - มาร์ตินีก - - - นูแอกชอต - - - มอนเซอร์รัต - - - มอลตา - - - มอริเชียส - - - มัลดีฟส์ - - - ทิฮัวนา - - - เอร์โมซีโย - - - มาซาทลาน - - - ชีวาวา - - - มอนเตร์เรย์ - - - เม็กซิโกซิตี - - - เมรีดา - - - แคนคุน - - - กัวลาลัมเปอร์ - - - กูชิง - - - มาปูโต - - - วินด์ฮุก - - - นูเมอา - - - นีอาเมย์ - - - ลากอส - - - อัมสเตอดัม - - - ออสโล - - - กาตมันดุ - - - นาอูรู - - - นีอูเอ - - - แชแทม - - - โอคแลนด์ - - - มัสกัต - - - ปานามา - - - ลิมา - - - ทาฮิติ - - - มาร์เควซัส - - - แกมเบียร์ - - - พอร์ตมอร์สบี - - - มะนิลา - - - การาจี - - - วอร์ซอ - - - มีเกอลง - - - พิตแคร์น - - - เปอโตริโก - - - กาซา - - - อาซอเรส - - - มาเดรา - - - ลิสบอน - - - ปาเลา - - - อะซุนซิออง - - - กาตาร์ - - - เรอูนียง - - - บูคาเรส - - - คาลินิงกราด - - - มอสโก - - - วอลโกกราด - - - ซามารา - - - ยีคาเตอรินเบิร์ก - - - โอมสก์ - - - โนโวซิบิร์สก์ - - - ครัสโนยาร์สก์ - - - อีร์คุตสค์ - - - ยาคุตสค์ - - - วลาดิโวสต็อก - - - ซาคาลิน - - - มากาดาน - - - คามชัตกา - - - อานาดีร์ - - - คิกาลี - - - ริยาร์ด - - - กัวดัลคานัล - - - คาร์ทูม - - - สตอกโฮล์ม - - - สิงคโปร์ - - - เซนต์เฮเลนา - - - ลองเยียร์เบียน - - - ฟรีทาวน์ - - - ดาการ์ - - - โมกาดิชู - - - ปารามาริโบ - - - ซาโอโตเมะ - - - เอลซัลวาดอร์ - - - ดามัสกัส - - - อัมบาบาเน - - - โลเม - - - กรุงเทพ - - - ดูชานเบ - - - ฟาเคาโฟ - - - ดิลี - - - อาชกาบัต - - - ตูนิส - - - ตองกาตาปู - - - อิสตันบูล - - - พอร์ทออฟสเปน - - - ฟูนะฟูตี - - - ไทเป - - - อัซโกร็อด - - - เคียฟ - - - ซิมเฟอโรโปล - - - ซาโปโรซี - - - คัมพาลา - - - มิดเวย์ - - - จอห์นสตัน - - - เวก - - - เอดัก - - - นอม - - - โฮโนลูลู - - - แองเคอเรจ - - - ยากูทัต - - - จูโน - - - ลอสแองเจลิส - - - บอยซี - - - ฟีนิกซ์ - - - ชิปร็อก - - - เดนเวอร์ - - - นิวเซเลม, นอร์ทดาโคตา - - - เซนเตอร์, นอร์ทดาโคตา - - - ชิคาโก - - - เมโนมินี - - - วินเซนเนส, อินดีแอนา - - - ปีเตอร์สเบิร์ก, อินดีแอนา - - - เทลล์ซิตี, อินดีแอนา - - - นอกซ์, อินดีแอนา - - - วินาแมค, อินดีแอนา - - - มาเรงโก, อินดีแอนา - - - อินเดียแนโพลิส - - - ลูส์วิลล์ - - - วีเวย์, อินดีแอนา - - - มอนติเซลโล - - - ดีทรอยต์ - - - นิวยอร์ก - - - มอนเตวิเดโอ - - - ซามาร์กานด์ - - - ทาชเคนต์ - - - เซนต์วินเซนต์ - - - คาราคัส - - - เซนต์โธมัส - - - ไซง่อน - - - วาลลิส - - - อาปีอา - - - เอเดน - - - มาโยเต - - - โจฮันเนสเบอร์ก - - - ลูซากา - - - ฮาราเร - - - - เวลาอาเกร - เวลาฤดูร้อนอาเกร - - - - - เวลาแอฟริกากลาง - - - - - เวลาแอฟริกาตะวันออก - - - - - เวลามาตรฐานแอฟริกาใต้ - - - - - เวลาแอฟริกาตะวันตก - เวลาฤดูร้อนแอฟริกาตะวันตก - - - - - เวลาอะแลสกา - เวลามาตรฐานอะแลสกา - - - - - เวลามาตรฐานอะแลสกา-ฮาวาย - - - - - เวลาอะเมซอน - เวลาฤดูร้อนอะเมซอน - - - - - เวลากลาง - เวลามาตรฐานกลาง - - - - - เวลาตะวันออก - เวลามาตรฐานตะวันออก - - - - - เวลาแปซิฟิค - เวลามาตรฐานแปซิฟิค - - - - - เวลาอัคตาอู - เวลาฤดูร้อนอัคตาอู - - - AQTT (อัคตาอู) - AQTST (อัคตาอู) - - - - - เวลาอาระเบีย - เวลามาตรฐานอาระเบีย - - - AST (อาระเบีย) - ADT (อาระเบีย) - - - - - เวลาอาร์เจนตินา - เวลาฤดูร้อนอาร์เจนตินา - - - - - เวลาอาร์เจนตินาตะวันตก - - - - - เวลาอาร์เมเนีย - เวลาฤดูร้อนอาร์เมเนีย - - - AMT (อาร์เมเนีย) - AMST (อาร์เมเนีย) - - - - - เวลาแอตแลนติก - เวลามาตรฐานแอตแลนติก - - - - - เวลาออสเตรเลียกลาง - เวลามาตรฐานออสเตรเลียกลาง - - - - - เวลาออสเตรเลียตะวันออก - เวลามาตรฐานออสเตรเลียตะวันออก - - - - - เวลาออสเตรเลียตะวันตก - เวลามาตรฐานออสเตรเลียตะวันตก - - - - - เวลาฤดูร้อนอาโซเรช - เวลาฤดูร้อนอาโซเรช - - - - - เวลาบากู - เวลาฤดูร้อนบากู - - - - - เวลาบังกลาเทศ - - - - - เวลาเบริง - เวลามาตรฐานเบริง - - - BST (เบริง) - BDT (เบริง) - - - - - เวลาภูฏาน - - - - - เวลาบอร์เนียว - เวลาฤดูร้อนบอร์เนียว - - - - - เวลาบราซิเลีย - เวลาฤดูร้อนบราซิเลีย - - - - - เวลามาตรฐานชามอร์โร - - - - - เวลาชิลี - เวลาฤดูร้อนชิลี - - - - - เวลามาตรฐานจีน - - - CST (จีน) - CDT (จีน) - - - - - เวลาดูชานเบ - เวลาฤดูร้อนดูชานเบ - - - - - เวลาติมอร์ตะวันออก - - - - - เวลาเอกวาดอร์ - - - - - เวลายุโรปกลาง - เวลาฤดูร้อนยุโรปกลาง - - - - - เวลายุโรปตะวันออก - เวลาฤดูร้อนยุโรปตะวันออก - - - - - เวลายุโรปตะวันตก - เวลาฤดูร้อนยุโรปตะวันตก - - - - - เวลามาตรฐานกรีนิช - - - - - เวลากาลาปาโกส - - - - - เวลาจอร์เจีย - เวลาฤดูร้อนจอร์เจีย - - - - - เวลากรีนแลนด์กลาง - เวลาฤดูร้อนกรีนแลนด์กลาง - - - - - เวลากรีนแลนด์ตะวันออก - เวลาฤดูร้อนกรีนแลนด์ตะวันออก - - - - - เวลากรีนแลนด์ตะวันตก - เวลาฤดูร้อนกรีนแลนด์ตะวันตก - - - - - เวลามาตรฐานกวม - - - GST (กวม) - - - - - เวลามาตรฐานอินเดีย - - - - - เวลาอินโดนีเซียกลาง - - - - - เวลาอินโดนีเซียตะวันออก - - - - - เวลาอินโดนีเซียตะวันตก - - - - - เวลามาตรฐานอิสราเอล - - - IST (อิสราเอล) - - - - - เวลามาตรฐานคาซัคสถานตะวันออก - - - - - เวลามาตรฐานคาซัคสถาน - - - - - เวลาเกาหลี - เวลามาตรฐานเกาหลี - - - - - เวลาควาจาเลน - - - - - เวลามาเก๊า - เวลาฤดูร้อนมาเก๊า - - - - - เวลามาลายา - - - - - เวลามาเลเซีย - - - - - เวลาหมู่เกาะมาร์แชลล์ - - - - - เวลาอูลานบาตอร์ - เวลาฤดูร้อนอูลานบาตอร์ - - - - - เวลานิวซีแลนด์ - เวลามาตรฐานนิวซีแลนด์ - - - - - เวลานิวฟันด์แลนด์ - เวลามาตรฐานนิวฟันด์แลนด์ - - - - - เวลาหมู่เกาะมาเรียนาเหนือ - - - - - เวลาปากีสถาน - เวลาฤดูร้อนปากีสถาน - - - - - ปีแยร์และมีเกอลง - เวลามาตรฐานปีแยร์และมีเกอลง - - - - - เวลาคืยซิลออร์ดา - เวลาฤดูร้อนคืยซิลออร์ดา - - - - - เวลาซามารา - เวลาฤดูร้อนซามารา - - - - - เวลาซามาร์คันด์ - เวลาฤดูร้อนซามาร์คันด์ - - - SAMT (ซามาร์คันด์) - SAMST (ซามาร์คันด์) - - - - - เวลามาตรฐานซามัว - - - - - เวลาซูรินาเม - - - - - เวลาสเวียร์ดลอฟสค์ - เวลาฤดูร้อนสเวียร์ดลอฟสค์ - - - - - เวลาทาจิกิสถาน - - - - - เวลาฤดูร้อนทาชเคนต์ - - - - - เวลาทบิลิซิ - เวลาฤดูร้อนทบิลิซิ - - - - - เวลาตุรกี - เวลาฤดูร้อนตุรกี - - - - - เวลาเติร์กเมนิสถาน - เวลาฤดูร้อนเติร์กเมนิสถาน - - - - - เวลาอุซเบกิสถาน - เวลาฤดูร้อนอุซเบกิสถาน - - - - - เวลาเยคาเตรินบูร์ก - เวลาฤดูร้อนเยคาเตรินบูร์ก - - - - - เวลาเยเรวาน - เวลาฤดูร้อนเยเรวาน - - - - - เวลายูคอน - เวลามาตรฐานยูคอน - - - - - - - . - , - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤#,##0.00;¤-#,##0.00 - - - {0} {1} - - - - เปเซตาอันดอร์รา - - - เดอร์แฮมสหรัฐอาหรับเอมิเรตส์ - - - อัฟกานีอัฟกานิสถาน (1927-2002) - - - อัฟกานีอัฟกานิสถาน - - - เลกแอลเบเนีย - - - แดรมอาร์เมเนีย - - - กิลเดอร์เนเธอร์แลนด์แอนทิลลิส - - - กวานซาแองโกลา - - - กวานซาแองโกลา (1977-1990) - - - นิวกวานซาแองโกลา (1990-2000) - - - กวานซารีจัสทาโดแองโกลา (1995-1999) - - - ออสตรัลอาร์เจนตินา - - - เปโซอาร์เจนตินา (1983-1985) - - - เปโซอาร์เจนตินา - - - ชิลลิงออสเตรีย - - - ดอลลาร์ออสเตรเลีย - - - ฟลอรินอารูบา - - - มานัตอาเซอร์ไบจาน (1993-2006) - - - มานัตอาเซอร์ไบจาน - - - ดีนาร์บอสเนีย-เฮอร์เซโกวีนา - - - มาร​์กบอสเนีย-เฮอร์เซโกวีนา - - - ดอลลาร์บาร์เบโดส - - - ตากาบังกลาเทศ - - - ฟรังก์เบลเยียม (เปลี่ยนแปลงได้) - - - ฟรังก์เบลเยียม - - - ฟรังก์เบลเยียม (การเงิน) - - - ฮาร์ดเลฟบัลแกเรีย - - - เลฟบัลแกเรีย - - - ดีนาร์บาห์เรน - - - ฟรังก์บุรุนดี - - - ดอลลาร์เบอร์มิวดา - - - ดอลลาร์บรูไน - - - โบลิเวียโนโบลิเวีย - - - เปโซโบลิเวีย - - - มฟดอลโบลิเวีย - - - ครูเซโรโนโวบราซิล (1967-1986) - - - ครูซาโดบราซิล - - - ครูเซโรบราซิล (1990-1993) - - - เรียลบราซิล - - - ครูซาโดโนโวบราซิล - - - ครูเซโรบราซิล - - - ดอลลาร์บาฮามาส - - - เอ็งกุลตรัมภูฏาน - - - จ๊าดพม่า - - - ปูลาบอตสวานา - - - นิวรูเบิลเบลารุส (1994-1999) - - - รูเบิลเบลารุส - - - ดอลลาร์เบลีซ - - - ดอลลาร์แคนาดา - - - ฟรังก์คองโก - - - ยูโรดับเบิลยูไออาร์ - - - ฟรังก์สวิส - - - ฟรังก์ดับเบิลยูไออาร์ - - - ฟูเมนโตชิลี - - - เปโซชิลี - - - หยวนเหรินหมินปี้ (สาธารณรัฐประชาชนจีน) - - - เปโซโคลอมเบีย - - - วาเลอร์เรียลโคลอมเบีย - - - โกลองคอสตาริกา - - - ดีนาร์เซอร์เบียเก่า - - - ฮาร์ดโครูนาเช็กโกสโลวัก - - - เปโซคิวบา - - - เอสคูโดเคปเวิร์ด - - - ปอนด์ไซปรัส - - - โครูนาสาธารณรัฐเช็ก - - - มาร์กเยอรมันตะวันออก - - - มาร์กเยอรมัน - - - ฟรังก์จิบูตี - - - โครนเดนมาร์ก - - - เปโซโดมินิกัน - - - ดีนาร์แอลจีเรีย - - - ซูเกรเอกวาดอร์ - - - วาเลอร์คอนสแตนต์เอกวาดอร์ - - - ครูนเอสโตเนีย - - - ปอนด์อียิปต์ - - - แนกฟาเอริเทรีย - - - เปเซตาสเปน (บัญชีเอ) - - - เปเซตาสเปน (บัญชีที่เปลี่ยนแปลงได้) - - - เปเซตาสเปน - - - เบอรร์เอธิโอเปีย - - - ยูโร - - - มาร์กกาฟินแลนด์ - - - ดอลลาร์ฟิจิ - - - ปอนด์หมู่เกาะฟอล์กแลนด์ - - - ฟรังก์ฝรั่งเศส - - - ปอนด์สเตอร์ลิง (สหราชอาณาจักร) - - - คูปอนลาริตจอร์เจีย - - - ลารีจอร์เจีย - - - เซดีกานา (1979-2007) - - - เซดีกานา - - - ปอนด์ยิบรอลตาร์ - - - ดาลาซีแกมเบีย - - - ฟรังก์กินี - - - ไซลีกินี - - - เอ็กเวเลอิเควทอเรียลกินี - - - ดรัชมากรีก - - - เควตซัลกัวเตมาลา - - - เอสคูโดกินีโปรตุเกส - - - เปโซกินี-บิสเซา - - - ดอลลาร์กายอานา - - - ดอลลาร์ฮ่องกง - - - เลมปิราฮอดูรัส - - - ดีนาร์โครเอเชีย - - - คูนาโครเอเชีย - - - กูร์ดเฮติ - - - ฟอรินต์ฮังการี - - - รูเปียห์อินโดนีเซีย - - - ปอนด์ไอริช - - - ปอนด์อิสราเอล - - - นิวเชเกลอิสราเอล - - - รูปีอินเดีย - - - ดีนาร์อิรัก - - - เรียลอิหร่าน - - - โครนาไอซ์แลนด์ - - - ลีราอิตาลี - - - ดอลลาร์จาเมกา - - - ดีนาร์จอร์แดน - - - เยนญี่ปุ่น - ¥ - - - ชิลลิ่งเคนยา - - - ซอมคีร์กีซสถาน - - - เรียลกัมพูชา - - - ฟรังก์คอโมโรส - - - วอนเกาหลีเหนือ - - - วอนเกาหลีใต้ - - - ดีนาร์คูเวต - - - ดอลลาร์หมู่เกาะเคย์แมน - - - เทงเจคาซัคสถาน - - - กีบลาว - - - ปอนด์เลบานอน - - - รูปีศรีลังกา - - - ดอลลาร์ไลบีเรีย - - - โลตีเลโซโท - - - ลีตัสลิทัวเนีย - - - ทาโลนัสลิทัวเนีย - - - คอนเวอร์ทิเบิลฟรังก์ลักเซมเบิร์ก - - - ฟรังก์ลักเซมเบิร์ก - - - ไฟแนลเชียลฟรังก์ลักเซมเบิร์ก - - - ลัตส์ลัตเวีย - - - รูเบิลลัตเวีย - - - ดีนาร์ลิเบีย - - - ดีแรห์มโมร็อกโก - - - ฟรังก์โมร็อกโก - - - ลิวมอลโดวา - - - อาเรียรีมาดากัสการ์ - - - ฟรังก์มาดากัสการ์ - - - ดีนาร์มาซิโดเนีย - - - ฟรังก์มาลี - - - จัคพม่า - - - ทูกริกมองโกเลีย - - - ปาตากามาเก๊า - - - ออกิวยามอริเตเนีย - - - ลีรามอลตา - - - ปอนด์มอลตา - - - รูปีมอริเชียส - - - รูฟิยามัลดีฟส์ - - - ควาชามาลาวี - - - เปโซเม็กซิโก - - - เงินเปโซเม็กซิโก (1861-1992) - - - ยูนิแดด ดี อินเวอร์ชั่น เม็กซิโก - - - ริงกิตมาเลเซีย - - - เอสคูโดโมซัมบิก - - - เมติคัลโมซัมบิกเก่า - - - เมติคัลโมซัมบิก - - - ดอลลาร์นามิเบีย - - - ไนราไนจีเรีย - - - คอร์โดบานิการากัว - - - คอร์โดบาโอโรนิการากัว - - - กิลเดอร์เนเธอร์แลนด์ - - - โครนนอร์เวย์ - - - รูปีเนปาล - - - ดอลลาร์นิวซีแลนด์ - - - เรียลโอมาน - - - บัลบัวปานามา - - - อินตีเปรู - - - นูโวซอลเปรู - - - ซอลเปรู - - - กีนาปาปัวนิวกีนี - - - เปโซฟิลิปปินส์ - - - รูปีปากีสถาน - - - ซลอตีโปแลนด์ - - - ซลอตีโปแลนด์ (1950-1995) - - - เอสคูโดโปรตุเกส - - - กวารานีปารากวัย - - - เรียลกาตาร์ - - - ดอลลาร์โรดีเซีย - - - ลิวโรมาเนียเก่า - - - ลิวโรมาเนีย - - - ดีนาร์เซอร์เบีย - - - รูเบิลรัสเซีย - - - รูเบิลรัสเซีย (1991-1998) - - - ฟรังก์รวันดา - - - ริยัลซาอุดีอาระเบีย - - - ดอลลาร์หมู่เกาะโซโลมอน - - - รูปีเซเชลส์ - - - ดีนาร์ซูดานเก่า - - - ปอนด์ซูดาน - - - ปอนด์ซูดานเก่า - - - โครนาสวีเดน - - - ดอลลาร์สิงคโปร์ - - - ปอนด์เซนต์เฮเลนา - - - ทอลาร์สโลวีเนีย - - - โครูนาสโลวัก - - - ลีโอนเซียร์ราลีโอน - - - ชิลลิงโซมาเลีย - - - ดอลลาร์ซูรินาเม - - - กิลเดอร์ซูรินาเม - - - ดอบราเซาตูเมและปรินซิปี - - - รูเบิลโซเวียต - - - โคลอนเอลซัลวาดอร์ - - - ปอนด์ซีเรีย - - - ลิลันกีนีสวาซิแลนด์ - - - บาทไทย - - - รูเบิลทาจิกิสถาน - - - โซโมนีทาจิกิสถาน - - - มานัตเติร์กเมนิสถาน - - - ดีนาร์ตูนิเซีย - - - พาแองกาตองกา - - - เอสคูโดติมอร์ - - - ลีราตุรกีเก่า - - - ลีราตุรกี - - - ดอลลาร์ตรินิแดดและโตเบโก - - - ดอลลาร์ไต้หวันใหม่ - - - ชิลลิงแทนซาเนีย - - - ฮรีฟเนียยูเครน - - - คาร์โบวาเนตซ์ยูเครน - - - ชิลลิงยูกันดา (1966-1987) - - - ชิลลิงยูกันดา - - - ดอลลาร์สหรัฐ - - - ดอลลาร์สหรัฐ (วันถัดไป) - - - ดอลลาร์สหรัฐ (วันเดียวกัน) - - - เปโซเอนยูนิแดดเซสอินเด็กซาแดสอุรุกวัย - - - เปโซอุรุกวัย (1975-1993) - - - เปโซอุรุกวัย - - - ซอมอุซเบกิสถาน - - - โบลิวาร์เวเนซุเอลา - - - โบลิวาร์ฟูร์เตเวเนซุเอลา - - - ดองเวียดนาม - - - วาตูวานูอาตู - - - ทาลาซามัว - - - ฟรังก์เซฟาธนาคารรัฐแอฟริกากลาง - - - เงิน - - - ทอง - - - หน่วยคอมโพสิตยุโรป - - - หน่วยโมเนทารียุโรป - - - หน่วยบัญชียุโรป [XBC] - - - หน่วยบัญชียุโรป [XBD] - - - ดอลลาร์แคริบเบีµยนตะวันออก - - - สิทธิถอนเงินพิเศษ - - - หน่วยสกุลเงินยุโรป - - - ฟรังก์ทองฝรั่งเศส - - - ฟรังก์ยูไอซีฝรั่งเศส - - - ฟรังก์เซฟาธนาคารกลางรัฐแอฟริกาตะวันตก - - - พัลเลเดียม - - - ฟรังก์ซีเอฟพี - - - แพลตินัม - - - กองทุนไรเน็ต - - - รหัสทดสอบสกุลเงิน - - - ไม่มีหน่วยสกุลเงิน - - - ดีนาร์เยเมน - - - เรียลเยเมน - - - ฮาร์ดดีนาร์ยูโกสลาเวีย - - - โนวิย์ดีนาร์ยูโกสลาเวีย - - - คอนเวอร์ทิเบิลดีนาร์ยูโกสลาเวีย - - - แรนด์แอฟริกาใต้ (การเงิน) - - - แรนด์แอฟริกาใต้ - - - ควาชาแซมเบีย - - - นิวแซร์คองโก - - - แซร์คองโก - - - ดอลลาร์ซิมบับเว - - - - - - {0} วัน - - - {0} ชั่วโมง - - - {0} นาที - - - {0} เดือน - - - {0} วินาที - - - {0} สัปดาห์ - - - {0} ปี - - - - - ใช่ - ไม่ใช่ - - - - diff --git a/lib/zend/Zend/Locale/Data/th_TH.xml b/lib/zend/Zend/Locale/Data/th_TH.xml deleted file mode 100644 index ffbd3957cf..0000000000 --- a/lib/zend/Zend/Locale/Data/th_TH.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ti.xml b/lib/zend/Zend/Locale/Data/ti.xml deleted file mode 100644 index 2e0e4ae650..0000000000 --- a/lib/zend/Zend/Locale/Data/ti.xml +++ /dev/null @@ -1,326 +0,0 @@ - - - - - - - - - - - አፍሪቃንሰኛ - አምሐረኛ - ዓረበኛ - አዜርባይጃንኛ - ቤላራሻኛ - ቡልጋሪኛ - ቢሃሪ - በንጋሊኛ - ብሬቶን - ቦስኒያን - ካታላን - ቼክኛ - ወልሽ - ዴኒሽ - ጀርመን - ግሪከኛ - እንግሊዝኛ - ኤስፐራንቶ - ስፓኒሽ - ኤስቶኒአን - ባስክኛ - ፐርሲያኛ - ፊኒሽ - ታጋሎገኛ - ፋሮኛ - ፈረንሳይኛ - ፍሪሰኛ - አይሪሽ - እስኮትስ ጌልክኛ - ጋለቪኛ - ጓራኒ - ጉጃራቲኛ - ዕብራስጥ - ሕንደኛ - ክሮሽያንኛ - ሀንጋሪኛ - ኢንቴር ቋንቋ - እንዶኑሲኛ - አይስላንደኛ - ጣሊያንኛ - ጃፓንኛ - ጃቫንኛ - ጊዮርጊያኛ - ካማደኛ - ኮሪያኛ - ኩርድሽ - ኪሩጋዚ - ላቲንኛ - ሊቱአኒየን - ላቲቪያን - ማክዶኒኛ - ማላያላምኛ - ማራቲኛ - ማላይኛ - ማልቲስኛ - ኔፖሊኛ - ደች - ኖርዌይኛ (ናይ ኝኖርስክ) - ኖርዌጂያን - ኦኪታንኛ - ኦሪያ - ፑንጃቢኛ - ፖሊሽ - ፓሽቶ - ፖርቱጋሊኛ - ፖርቱጋልኛ (ናይ ብራዚል) - ፖርቱጋልኛ (ናይ ፖርቱጋል) - ሮማኒያን - ራሽኛ - ሰርቦ- ክሮዊታን - ስንሃልኛ - ስሎቨክኛ - ስቁቪኛ - አልቤኒኛ - ሰርቢኛ - ሰሴቶ - ሱዳንኛ - ስዊድንኛ - ሰዋሂሊኛ - ታሚልኛ - ተሉጉኛ - ታይኛ - ትግርኛ - ናይ ቱርኪ ሰብዓይ (ቱርካዊ) - ክሊንግኦንኛ - ቱርከኛ - ትዊ - ዩክረኒኛ - ኡርዱኛ - ኡዝበክኛ - ቪትናምኛ - ዞሳኛ - ዪዲሽ - ዙሉኛ - - - - - - - - - - - [\u135F ሀ-ሆ ለ-ቆ ቈ ቊ-ቍ ቐ-ቖ ቘ ቚ-ቝ በ-ኆ ኈ ኊ-ኍ ነ-ኮ ኰ ኲ-ኵ ኸ-ኾ ዀ ዂ-ዅ ወ-ዎ ዐ-ዖ ዘ-ዮ ደ-ዷ ጀ-ጎ ጐ ጒ-ጕ ጠ-ፗ] - [᎐-᎙ ሇ ⶀ ᎀ-ᎃ ⶁ-ⶄ ቇ ᎄ-ᎇ ⶅ-ⶇ ኇ ⶈ-ⶊ ኯ ዏ ⶋ ዯ ⶌ ዸ-ዿ ⶍ ⶎ ጏ ጘ-ጟ ⶓ-ⶖ ⶏ-ⶑ ፇ ᎈ-ᎏ ⶒ ፘ-ፚ ⶠ-ⶦ ⶨ-ⶮ ⶰ-ⶶ ⶸ-ⶾ ⷀ-ⷆ ⷈ-ⷎ ⷐ-ⷖ ⷘ-ⷞ] - - - - - - - - ጃንዩ - ፌብሩ - ማርች - ኤፕረ - ሜይ - ጁን - ጁላይ - ኦገስ - ሴፕቴ - ኦክተ - ኖቬም - ዲሴም - - - ጃንዩወሪ - ፌብሩወሪ - ማርች - ኤፕረል - ሜይ - ጁን - ጁላይ - ኦገስት - ሴፕቴምበር - ኦክተውበር - ኖቬምበር - ዲሴምበር - - - - - ጃ - ፌ - ማ - ኤ - ሜ - ጁ - ጁ - ኦ - ሴ - ኦ - ኖ - ዲ - - - - - - - ሰንበ - ሰኑይ - ሠሉስ - ረቡዕ - ኃሙስ - ዓርቢ - ቀዳም - - - ሰንበት - ሰኑይ - ሠሉስ - ረቡዕ - ኃሙስ - ዓርቢ - ቀዳም - - - - - ሰ - ሰ - ሠ - ረ - ኃ - ዓ - ቀ - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - ንጉሆ ሰዓተ - ድሕር ሰዓት - - - ዓ/ዓ - ዓ/ም - - - - - - EEEE፣ dd MMMM መዓልቲ y G - - - - - dd MMMM y - - - - - dd-MMM-y - - - - - dd/MM/yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - dd MMMM - dd/MM - MM/yy - Q yy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - - ¤#,##0.00 - - - - - - የብራዚል ሪል - - - የቻይና ዩአን ረንሚንቢ - - - የኢትዮጵያ ብር - - - አውሮ - - - የእንግሊዝ ፓውንድ ስተርሊንግ - - - የሕንድ ሩፒ - - - የጃፓን የን - - - የራሻ ሩብል - - - የአሜሪካን ዶላር - - - - - diff --git a/lib/zend/Zend/Locale/Data/ti_ER.xml b/lib/zend/Zend/Locale/Data/ti_ER.xml deleted file mode 100644 index f569882daa..0000000000 --- a/lib/zend/Zend/Locale/Data/ti_ER.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - [\u135F ፡ ፣-፧ ። ፠ ፨ ፲-፼ ፩-፱ ሀ-ሆ ለ-ሟ ረ-ቆ ቈ ቊ-ቍ ቐ-ቖ ቘ ቚ-ቝ በ-ኆ ኈ ኊ-ኍ ነ-ኮ ኰ ኲ-ኵ ኸ-ኾ ዀ ዂ-ዅ ወ-ዎ ዐ-ዖ ዘ-ዮ ደ-ዷ ጀ-ጎ ጐ ጒ-ጕ ጠ-ጯ ጸ-ጿ ፈ-ፗ] - [᎐-᎙ ሇ ⶀ ᎀ-ᎃ ⶁ ሠ-ሧ ⶂ-ⶄ ቇ ᎄ-ᎇ ⶅ-ⶇ ኇ ⶈ-ⶊ ኯ ዏ ⶋ ዯ ⶌ ዸ-ዿ ⶍ ⶎ ጏ ጘ-ጟ ⶓ-ⶖ ⶏ-ⶑ ፀ-ፇ ᎈ-ᎏ ⶒ ፘ-ፚ ⶠ-ⶦ ⶨ-ⶮ ⶰ-ⶶ ⶸ-ⶾ ⷀ-ⷆ ⷈ-ⷎ ⷐ-ⷖ ⷘ-ⷞ] - - - - - - - - ጥሪ - ለካቲ - መጋቢ - ሚያዝ - ግንቦ - ሰነ - ሓምለ - ነሓሰ - መስከ - ጥቅም - ሕዳር - ታሕሳ - - - ጥሪ - ለካቲት - መጋቢት - ሚያዝያ - ግንቦት - ሰነ - ሓምለ - ነሓሰ - መስከረም - ጥቅምቲ - ሕዳር - ታሕሳስ - - - - - - - ሰሉስ - ሓሙስ - - - ሰሉስ - ሓሙስ - - - - - - - EEEE፡ dd MMMM መዓልቲ y G - - - - - - {0} - {1} - - E፡ MM-dd - E፡ MM-dd - E፡ MM-dd - E፡ MM-dd - - - MMM-MMM - - - E፡ MMM d - E፡ MMM d - E፡ MMM d - E፡ MMM d - - - MMM d - MMM d - MMM d-d - - - MM-dd - MM-dd - MM-dd - MM-dd - - - yyyy-MM - yyyy-MM - yyyy-MM - yyyy-MM - - - E፡ yyyy-MM-dd - E፡ yyyy-MM-dd - E፡ yyyy-MM-dd - E፡ yyyy-MM-dd - E፡ yyyy-MM-dd - E፡ yyyy-MM-dd - - - y MMM-MMM - y MMM - y MMM - - - E፡ dd MMM መዓልቲ y G - E፡ dd MMM መዓልቲ y G - E፡ dd MMM መዓልቲ y G - E፡ dd MMM መዓልቲ y G - E፡ dd MMM መዓልቲ y G - E፡ dd MMM መዓልቲ y G - - - y MMM d - MMM d - y MMM d-d - y MMM d - y MMM d - - - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - yyyy-MM-dd - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ti_ET.xml b/lib/zend/Zend/Locale/Data/ti_ET.xml deleted file mode 100644 index 61ea31c784..0000000000 --- a/lib/zend/Zend/Locale/Data/ti_ET.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/tig.xml b/lib/zend/Zend/Locale/Data/tig.xml deleted file mode 100644 index 3948a11e24..0000000000 --- a/lib/zend/Zend/Locale/Data/tig.xml +++ /dev/null @@ -1,501 +0,0 @@ - - - - - - - - - - - አፋርኛ - አብሐዚኛ - አፍሪቃንስኛ - አምሐረኛ - ዐርቢኛ - አሳሜዛዊ - አያማርኛ - አዜርባይጃንኛ - ባስኪርኛ - ቤላራሻኛ - ቡልጋሪኛ - ቢሃሪ - ቢስላምኛ - በንጋሊኛ - ትበትንኛ - ብሬቶንኛ - ብሊን - ካታላንኛ - ኮርሲካኛ - ቼክኛ - ወልሽ - ዴኒሽ - ጀርመን - ድዞንግኻኛ - ግሪክኛ - እንግሊዝኛ - ኤስፐራንቶ - ስፓኒሽ - ኤስቶኒአን - ባስክኛ - ፐርሲያኛ - ፊኒሽ - ፊጂኛ - ፋሮኛ - ፈረንሳይኛ - ፍሪስኛ - አይሪሽ - እስኮትስ ጌልክኛ - ግዕዝኛ - ጋለጋኛ - ጓራኒኛ - ጉጃርቲኛ - ሃውሳኛ - ዕብራስጥ - ሐንድኛ - ክሮሽያንኛ - ሀንጋሪኛ - አርመናዊ - ኢንቴርሊንጓ - እንዶኒሲኛ - እንተርሊንግወ - እኑፒያቅኛ - አይስላንድኛ - ጣሊያንኛ - እኑክቲቱትኛ - ጃፓንኛ - ጃቫንኛ - ጊዮርጊያን - ካዛክኛ - ካላሊሱትኛ - ክመርኛ - ካናዳኛ - ኮሪያኛ - ካሽሚርኛ - ኩርድሽኛ - ኪርጊዝኛ - ላቲንኛ - ሊንጋላኛ - ላውስኛ - ሊቱአኒያን - ላትቪያን - ማላጋስኛ - ማዮሪኛ - ማከዶኒኛ - ማላያላምኛ - ሞንጎላዊኛ - ሞልዳቫዊና - ማራዚኛ - ማላይኛ - ማልቲስኛ - ቡርማኛ - ናኡሩ - ኔፓሊኛ - ደች - ኖርዌጂያን - ኦኪታንኛ - ኦሮምኛ - ኦሪያኛ - ፓንጃቢኛ - ፖሊሽ - ፑሽቶኛ - ፖርቱጋሊኛ - ኵቿኛ - ሮማንስ - ሩንዲኛ - ሮማኒያን - ራሽኛ - ኪንያርዋንድኛ - ሳንስክሪትኛ - ሲንድሂኛ - ሳንጎኛ - ስንሃልኛ - ሲዳምኛ - ስሎቫክኛ - ስሎቪኛ - ሳሞአኛ - ሾናኛ - ሱማልኛ - ልቤኒኛ - ሰርቢኛ - ስዋቲኛ - ሶዞኛ - ሱዳንኛ - ስዊድንኛ - ስዋሂሊኛ - ታሚልኛ - ተሉጉኛ - ታጂኪኛ - ታይኛ - ትግርኛ - ትግረ - ቱርክመንኛ - ታጋሎገኛ - ጽዋናዊኛ - ቶንጋ - ቱርክኛ - ጾንጋኛ - ታታርኛ - ትዊኛ - ኡዊግሁርኛ - ዩክረኒኛ - ኡርዱኛ - ኡዝበክኛ - ቪትናምኛ - ቮላፑክኛ - ዎሎፍኛ - ዞሳኛ - ይዲሻዊኛ - ዮሩባዊኛ - ዡዋንግኛ - ቻይንኛ - ዙሉኛ - - - - - - አንዶራ - የተባበሩት አረብ ኤምሬትስ - አልባኒያ - አርሜኒያ - ኔዘርላንድስ አንቲልስ - አርጀንቲና - ኦስትሪያ - አውስትሬሊያ - አዘርባጃን - ቦስኒያ እና ሄርዞጎቪኒያ - ባርቤዶስ - ቤልጄም - ቡልጌሪያ - ባህሬን - ቤርሙዳ - ቦሊቪያ - ብራዚል - ቡህታን - ቤላሩስ - ቤሊዘ - ኮንጎ - የመካከለኛው አፍሪካ ሪፐብሊክ - ስዊዘርላንድ - ቺሊ - ካሜሩን - ቻይና - ኮሎምቢያ - ሰርቢያ - ኬፕ ቬርዴ - ሳይፕረስ - ቼክ ሪፑብሊክ - ጀርመን - ዴንማርክ - ዶሚኒካ - ዶሚኒክ ሪፑብሊክ - አልጄሪያ - ኢኳዶር - ኤስቶኒያ - ግብጽ - ምዕራባዊ ሳህራ - ኤርትራ - ስፔን - ኢትዮጵያ - ፊንላንድ - ፊጂ - ሚክሮኔዢያ - ፈረንሳይ - እንግሊዝ - ጆርጂያ - የፈረንሳይ ጉዊአና - ጋምቢያ - ጊኒ - ኢኳቶሪያል ጊኒ - ግሪክ - ቢሳዎ - ጉያና - ሆንግ ኮንግ - ክሮኤሽያ - ሀይቲ - ሀንጋሪ - ኢንዶኔዢያ - አየርላንድ - እስራኤል - ህንድ - ኢራቅ - አይስላንድ - ጣሊያን - ጃማይካ - ጆርዳን - ጃፓን - ካምቦዲያ - ኮሞሮስ - ደቡብ ኮሪያ - ሰሜን ኮሪያ - ክዌት - ሊባኖስ - ሊቱዌኒያ - ላትቪያ - ሊቢያ - ሞሮኮ - ሞልዶቫ - ማከዶኒያ - ሞንጎሊያ - ማካዎ - ሞሪቴኒያ - ማልታ - ማሩሸስ - ሜክሲኮ - ማሌዢያ - ናሚቢያ - ኒው ካሌዶኒያ - ናይጄሪያ - ኔዘርላንድ - ኖርዌ - ኔፓል - ኒው ዚላንድ - ፔሩ - የፈረንሳይ ፖሊኔዢያ - ፓፑዋ ኒው ጊኒ - ፖላንድ - ፖርታ ሪኮ - ሮሜኒያ - ራሺያ - ሳውድአረቢያ - ሱዳን - ስዊድን - ሲንጋፖር - ስሎቬኒያ - ስሎቫኪያ - ሴኔጋል - ሱማሌ - ሲሪያ - ቻድ - የፈረንሳይ ደቡባዊ ግዛቶች - ታይላንድ - ታጃኪስታን - ምስራቅ ቲሞር - ቱኒዚያ - ቱርክ - ትሪኒዳድ እና ቶባጎ - ታንዛኒያ - ዩጋንዳ - አሜሪካ - ዩዝበኪስታን - ቬንዙዌላ - የእንግሊዝ ድንግል ደሴቶች - የአሜሪካ ቨርጂን ደሴቶች - የመን - ደቡብ አፍሪካ - ዛምቢያ - - - - [\u135F ፡ ፣-፧ ። ፠ ፨ ᎐-᎙ ፲-፼ ፩-፱ ሀ-ሏ ⶀ ሐ-ሟ ᎀ-ᎃ ⶁ ሠ-ሯ ⶂ ሰ-ሷ ⶃ ሸ-ሿ ⶄ ቀ-ቈ ቊ-ቍ ቐ-ቖ ቘ ቚ-ቝ በ-ቧ ᎄ-ᎇ ⶅ ቨ-ቷ ⶆ ቸ-ቿ ⶇ ኀ-ኈ ኊ-ኍ ነ-ኗ ⶈ ኘ-ኟ ⶉ አ-ኧ ⶊ ከ-ኰ ኲ-ኵ ኸ-ኾ ዀ ዂ-ዅ ወ-ዖ ዘ-ዟ ⶋ ዠ-ዷ ⶌ ዸ-ዿ ⶍ ጀ-ጇ ⶎ ገ-ጐ ጒ-ጕ ጘ-ጟ ⶓ-ⶖ ጠ-ጧ ⶏ ጨ-ጯ ⶐ ጰ-ጷ ⶑ ጸ-ፏ ᎈ-ᎋ ፐ-ፗ ᎌ-ᎏ ⶒ ፘ-ፚ ⶠ-ⶦ ⶨ-ⶮ ⶰ-ⶶ ⶸ-ⶾ ⷀ-ⷆ ⷈ-ⷎ ⷐ-ⷖ ⷘ-ⷞ] - - - - - - - - ጃንዩ - ፌብሩ - ማርች - ኤፕረ - ሜይ - ጁን - ጁላይ - ኦገስ - ሴፕቴ - ኦክተ - ኖቬም - ዲሴም - - - ጃንዩወሪ - ፌብሩወሪ - ማርች - ኤፕረል - ሜይ - ጁን - ጁላይ - ኦገስት - ሴፕቴምበር - ኦክተውበር - ኖቬምበር - ዲሴምበር - - - - - ጃ - ፌ - ማ - ኤ - ሜ - ጁ - ጁ - ኦ - ሴ - ኦ - ኖ - ዲ - - - - - - - ሰ/ዓ - ሰኖ - ታላሸ - ኣረር - ከሚሽ - ጅምዓ - ሰ/ን - - - ሰንበት ዓባይ - ሰኖ - ታላሸኖ - ኣረርባዓ - ከሚሽ - ጅምዓት - ሰንበት ንኢሽ - - - - - ሰ - ሰ - ታ - ኣ - ከ - ጅ - ሰ - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - ቀደም ሰርምዕል - ሓቆ ስርምዕል - - - ዓ/ዓ - ዓ/ም - - - - - - EEEE፡ dd MMMM ዮም y G - - - - - dd MMMM y - - - - - dd-MMM-y - - - - - dd/MM/yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - dd MMMM - dd/MM - MM/yy - Q yy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - - - ¤#,##0.00 - - - - - - የብራዚል ሪል - - - የቻይና ዩአን ረንሚንቢ - - - የኢትዮጵያ ብር - - - አውሮ - - - የእንግሊዝ ፓውንድ ስተርሊንግ - - - የሕንድ ሩፒ - - - የጃፓን የን - - - የራሻ ሩብል - - - የአሜሪካን ዶላር - - - - - diff --git a/lib/zend/Zend/Locale/Data/tig_ER.xml b/lib/zend/Zend/Locale/Data/tig_ER.xml deleted file mode 100644 index 1f496c2835..0000000000 --- a/lib/zend/Zend/Locale/Data/tig_ER.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/tl.xml b/lib/zend/Zend/Locale/Data/tl.xml deleted file mode 100644 index 2deb47710d..0000000000 --- a/lib/zend/Zend/Locale/Data/tl.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/tn.xml b/lib/zend/Zend/Locale/Data/tn.xml deleted file mode 100644 index 2512a55f15..0000000000 --- a/lib/zend/Zend/Locale/Data/tn.xml +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - - - - - Seburu - Amhariki - Arabic - Azerbaijani - Belarusian - Bulgarian - Bihari - Bengali - SeBosnia - Catalan - Se Czeck - Welsh - Danish - German - SeGerika - Sekgoa - Esperanto - Spanish - Estonian - Basque - Mo/SePerishia - Se-Finland - Tagalog - Faroese - Se Fora - Frisian - Irish - Scots Gaelic - Galician - Gujarati - Se heberu - Hindi - Croatian - Hungarian - Interlingua - Indonesian - Icelandic - Se Italiano - Se Japan - Javanese - Mo/SeJojia - Kannada - Se Korea - Latin - Lithuanian - Latvian - Macedonian - Malayalam - Marathi - Malay - Maltese - Nepali - Se Dutch - Puo ya kwa Norway - Occitan - Punjabi - Se Poland - Se Potoketsi - Se Roma - Russian - Slovak - Slovenian - Albanian - Serbian - Mo/SeSundane - Swedish - Swahili - Tamil - Telugu - Thai - Tigrinya - Klingon - Setswana - Turkish - Ukrainian - Urdu - Uzbek - Vietnamese - IsiXhosa - IsiZulu - - - - [a b d e ê f-o ô p r-u w y] - [c q v x z] - [a-z] - - - ‘ - ’ - “ - ” - - - - - - - - Fer - Tlh - Mop - Mor - Mot - See - Phu - Pha - Lwe - Dip - Ngw - Sed - - - Ferikgong - Tlhakole - Mopitlo - Moranang - Motsheganang - Seetebosigo - Phukwi - Phatwe - Lwetse - Diphalane - Ngwanatsele - Sedimonthole - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - - - - - Tsh - Mos - Bed - Rar - Ne - Tla - Mat - - - Tshipi - Mosopulogo - Labobedi - Laboraro - Labone - Labotlhano - Matlhatso - - - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - - - - - - - Q1 - Q2 - Q3 - Q4 - - - Q1 - Q2 - Q3 - Q4 - - - - AM - PM - - - BC - AD - - - BC - AD - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - , -   - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤#,##0.00 - - - - - - diff --git a/lib/zend/Zend/Locale/Data/tn_ZA.xml b/lib/zend/Zend/Locale/Data/tn_ZA.xml deleted file mode 100644 index b1fb8aec95..0000000000 --- a/lib/zend/Zend/Locale/Data/tn_ZA.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/to.xml b/lib/zend/Zend/Locale/Data/to.xml deleted file mode 100644 index 995fc532d8..0000000000 --- a/lib/zend/Zend/Locale/Data/to.xml +++ /dev/null @@ -1,611 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - lea fakaʻalepea - lea faʻu pē kehe - lea fakasiamane - lea fakakalisi - lea fakapilitānia - lea fakasepeni - lea fakapēsia - lea fakafinilani - lea fakafisi - lea fakafalanisē - lea fakaʻaealani - lea fakakilipasi - lea fakakalisimuʻa - lea fakahauaiʻi - lea fakahepelū - lea fakaʻītali - lea fakasiapani - lea fakakōlea - lea fakalatina - lea fakamāsolo - lea fakamauli - lea kehekehe - lea fakamalei - lea fakapema - lea fakanaulu - lea fakaniuē - lea fakaholani - lea fakanoauē - lea fakapotukali - lea fakapotukali-palāsili - lea fakalapanui - lea fakalalotonga - lea fakalusia - lea fakasikotilani - lea fakaʻilonga - lea fakahaʻamoa - lea fakasueteni - lea fakatokelau - lea fakatonga - lea fakatoake - lea fakatūvalu - lea fakatahisi - lea taʻeʻiloa - lea fakasiaina - lea fakasiaina fakangofua - lea fakasiaina tukufakaholo - ʻikai ha lea - - - - - - - - - - - - - - - - - - - Māmani - ʻAfelika - ʻAmelika tokelau - ʻAmelika tonga - ʻOseania - ʻAfelika hihifo - ʻAmelika lotoloto - ʻAfelika hahake - ʻAfelika tokelau - ʻAfelika lotoloto - ʻAfelika fakatonga - Ongo ʻAmelika - ʻAmelika tonga ange - Kalipea - ʻĒsia hahake - ʻĒsia tonga - ʻĒsia tongahahake - ʻEulope tonga - ʻAositelēlia mo Nuʻusila - Melanisia - Potu fonua Mikolonisia - Polinisia - ʻĒsia tongalotoloto - ʻĒsia - ʻĒsia lotoloto - ʻĒsia hihifo - ʻEulope - ʻEulope hahake - ʻEulope tokelau - ʻEulope hihifo - Komoniueli - ʻAmelika fakalatina mo Kalipea - Anitikua mo Palaputa - Anikuila - ʻAnetātika - Haʻamoa fakaʻamelika - ʻAositelēlia - Pelesiume - Palāsili - Pahama - Motu Puveti - Potisiuana - Pelise - Kānata - Suisilani - ʻOtumotu Kuki - Siaina - Motu Kilisimasi - Siamane - Tominika - ʻIsipite - Sepeni - Finilani - Fisi - Mikolonisia - Falanisē - Pilitānia - Kelenatā - Kuenisī - Kana - Sipalālitā - Kamipia - Kalisi - ʻOtumotu Siosia-tonga mo Saniuisi-tonga - Kuami - Kuiana - Hongi Kongi SAR Siaina - ʻOtumotu Heati mo Makitonali - Honitulasi - ʻAealani - ʻIsileli - Motu Mani - ʻInitia - Potu fonua moana ʻInitia fakapilitānia - ʻĪtali - Selusī - Siapani - Kenia - Kilipasi - Kōloa tokelau - Kōlea tonga - Sīloni - Laipelia - Lesoto - ʻOtumotu Māsolo - ʻOtumotu Maliana tokelau - Moʻungaselati - Malita - Maulitiusi - Malaui - Mekesikō - Namipia - Niu Kaletonia - Motu Nōfoliki - Naisilia - Holani - Noauē - Naulu - Niuē - Nuʻusila - Panamā - Polinisia fakafalanisē - Papuaniukini - Pakisitani - Pitikeni - Potukali - Palau - ʻEulope fakataha - Lūsia - Luanitā - ʻOtumotu Solomone - ʻOtumotu Seiseli - Suēteni - Singapula - Potu fonua tonga fakafalanisē - Tokelau - Tonga - Toake - Tilinitati mo Topako - Tūvalu - ʻOtumotu siʻi ʻo ʻAmelika - Puleʻanga fakataha ʻAmelika - Vatikani - ʻOtumotu Vilikini fakapilitānia - ʻOtumotu Vilikini fakaʻamelika - Vanuatu - ʻUvea mo Futuna - Haʻamoa - ʻAfelika tonga - Simipapue - Potu fonua taʻeʻiloa pe hala - - - tohi māhina - tohi hokohoko - paʻanga - - - fakaputa - fakasiaina - hangatonu - fakakelekolia - fakahepelū - fakaʻinitia - fakamohameti - fakamohameti-sivile - fakasiapani - - - fakaʻamelika - fakamita - - - - [a á ā e é ē f h ʻ i í ī k-n {ng} o ó ō p s-u ú ū v] - [à ă â å ä æ b c ç d è ĕ ê ë g ì ĭ î ï j ñ ò ŏ ô ö ø œ q r ß ù ŭ û ü w-y ÿ z] - [a-z] - - - “ - ” - « - » - - - - - - - - Sān - Fēp - Maʻa - ʻEpe - Mē - Sun - Siu - ʻAok - Sēp - ʻOka - Nōv - Tis - - - Sānuali - Fēpueli - Maʻasi - ʻEpeleli - Mē - Sune - Siulai - ʻAokosi - Sēpitema - ʻOkatopa - Nōvema - Tisema - - - - - S - F - M - E - M - S - S - A - S - O - N - T - - - - - - - Sāp - Mōn - Tus - Pul - Tuʻa - Fal - Tok - - - Sāpate - Mōnite - Tusite - Pulelulu - Tuʻapulelulu - Falaite - Tokonaki - - - - - S - M - T - P - T - F - T - - - - - - - K1 - K2 - K3 - K4 - - - kuata ʻuluaki - kuata ua - kuata tolu - kuata fā - - - - - 1 - 2 - 3 - 4 - - - kuata 1 - kuata 2 - kuata 3 - kuata 4 - - - - HH - EA - - - ki muʻa - taʻu ʻo Sīsū - - - KM - TS - - - KāMā - TāSā - - - - - - EEEE d MMMM y - - - - - d MMMM y - - - - - d MMM y - - - - - dd-MM-yyyy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - H:mm - L - E d-M - LLL - E d MMM - E d MMMM - d MMMM - d MMM - d-M - d - mm:ss - y - M-yyyy - EEE d-M-yyyy - MMM y - EEE d MMM y - MMMM y - yyyy Q - y QQQ - MM-yy - MMM yy - Q yy - - - - - kuonga - - - taʻu - - - māhina - - - uike - - - ʻaho - ʻaneheafi - ʻaneafi - ʻahó ni - ʻapongipongi - ʻahepongipongi - - - ʻaho ʻo e uike - - - HH/EA - - - houa - - - miniti - - - sekoni - - - vahetaimi - - - - - - +HH:mm;-HH:mm - GMT{0} - Houa {0} - - - houa fakafisi - houa fakafisi fakamaama - - - - - houa fakahauaʻi - - - - - houa fakanuʻusila - houa fakanuʻusila fakasīpinga - houa fakanuʻusila fakamaama - - - - - houa fakaniuē - - - - - houa fakahaʻamoa - - - - - houa fakatahisi - - - - - houa fakatokelau - - - - - houa fakatonga - houa fakatonga lotohē - - - - - houa fakatūvalu - - - - - houa fakaʻuvea mo futuna - - - - - - - . - , - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤ #,##0.00 - - - {0} {1} - - - - - {0} ʻa - - - {0} m - - - {0} u - - - {0} t - - - - - ʻio - ʻikai - - - diff --git a/lib/zend/Zend/Locale/Data/to_TO.xml b/lib/zend/Zend/Locale/Data/to_TO.xml deleted file mode 100644 index 1ada95da17..0000000000 --- a/lib/zend/Zend/Locale/Data/to_TO.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/tr.xml b/lib/zend/Zend/Locale/Data/tr.xml deleted file mode 100644 index a2333b431c..0000000000 --- a/lib/zend/Zend/Locale/Data/tr.xml +++ /dev/null @@ -1,3775 +0,0 @@ - - - - - - - - - - - {0} ({1}) - , - - - Afar - Abazca - Achinese - Acoli - Adangme - Çerkezce - Avestçe - Afrikaan Dili - Afro-Asyatik Diller - Afrihili - Ayni Dili - Akan - Akad Dili - Aleut - Algonkin Dili - Güney Altayca - Amharca - Aragonca - Eski İngilizce - Angika - Apaçi Dilleri - Arapça - Aramice - Araukanya Dili - Arapaho Dili - Yapay Diller - Arawak Dili - Assamca - Asturyasca - Atabaşkan Dilleri - Avustralya Dilleri - Avar Dili - Awadhi - Aymara - Azerice - Başkırtça - Banda Dili - Bamileke Dilleri - Baluchi - Bali Dili - Basa Dili - Baltık Dilleri - Beyaz Rusça - Beja Dili - Bemba - Berberi - Bulgarca - Bihari - Arayanice - Bislama - Bikol - Bini - Siksika - Bambara - Bengalce - Bantu Dili - Tibetçe - Bretonca - Braj - Boşnakça - Batak - Buryat - Bugis - Blin - Katalanca - Caddo - Orta Amerika Yerli Dilleri - Carib - Kafkas Dilleri - Atsam - Çeçence - Cebuano - Kelt Dilleri - Chamorro - Chibcha - Çağatay Dili - Chuukese - Mari - Chinook Jargon - Choctaw - Chipewyan - Çeroki - Şayen Dili - Chamic Dilleri - Korsikaca - Kiptice - İngilizce tabanlı Creole ve Pidgin Dilleri - Fransızca tabanlı Creole ve Pidgin Dilleri - Portekizce tabanlı Creole ve Pidgin Dilleri - Cree - Kırım Türkçesi - Creole ve Pidgin Dilleri - Çekçe - Kashubian - Kilise Slavcası - Kuşitik Diller - Çuvaşça - Galce - Danca - Dakota - Dargince - Dayak - Almanca - Avusturya Almancası - İsviçre Yüksek Almancası - Delaware - Slavey - Dogrib - Dinka - Dogri - Dravid Dilleri - Aşağı Sorbça - Duala - Ortaçağ Felemenkçesi - Divehi - Dyula - Butan Dili - Ewe - Efik - Eski Mısır Dili - Ekajuk - Yunanca - Elam - İngilizce - Avustralya İngilizcesi - Kanada İngilizcesi - İngiliz İngilizcesi - Amerikan İngilizcesi - Ortaçağ İngilizcesi - Esperanto - İspanyolca - Latin Amerika İspanyolcası - İber İspanyolcası - Estonya Dili - Baskça - Ewondo - Farsça - Fang - Fanti - Fulah - Fince - Filipino - Finno - Ugrik Diller - Fiji Dili - Faroe Dili - Fon - Fransızca - Kanada Fransızcası - İsviçre Fransızcası - Ortaçağ Fransızcası - Eski Fransızca - Kuzey Frizce - Doğu Frizcesi - Friulian - Batı Frizcesi - İrlanda Dili - Ga - Gayo - Gbaya - İskoç Gal Dili - Cermen Dilleri - Geez - Kiribati Dili - Galiçyaca - Ortaçağ Yüksek Almancası - Guarani - Eski Yüksek Almanca - Gondi - Gorontalo - Gotça - Grebo - Antik Yunanca - İsviçre Almancası - Gujarati - Manks - Gwichʼin - Hausa - Haida - Hawaii Dili - İbranice - Hintçe - Hiligaynon - Himachali - Hititçe - Hmong - Hiri Motu - Hırvatça - Yukarı Sorbça - Haiti Dili - Macarca - Hupa - Ermenice - Herero - Interlingua - Iban - Endonezce - Interlingue - İbo Dili - Sichuan Yi - Ijo - Inupiak - Iloko - Hint Dilleri - Hint-Avrupa Dilleri - İnguş Dili - Ido - İran Dilleri - İroqu Dili - İzlandaca - İtalyanca - Inuktitut - Japonca - Lojban - Yahudi Farsçası - Yahudi Arapçası - Cava Dili - Gürcüce - Karakalpakça - Kabile - Kaçin - Jju - Kamba - Karen - Kawi - Kabardeyce - Tyap - Koro - Kongo - Khasi - Hoisan Dilleri - Hotanca - Kikuyu - Kuanyama - Kazakça - Grönland Dili - Kamboçya Dili - Kimbundu - Kannada - Korece - Konkani - Kosraean - Kpelle - Kanuri - Karaçay-Balkarça - Karelyaca - Kru - Kurukh - Keşmirce - Kürtçe - Kumukça - Kutenai - Komi - Kernevekçe - Kırgızca - Latince - Ladino - Lahnda - Lamba - Lüksemburgca - Lezgice - Ganda - Limburgca - Lingala - Laos Dili - Mongo - Lozi - Litvanyaca - Luba-Katanga - Luba-Lulua - Luiseno - Lunda - Luo - Lushai - Letonca - Madura Dili - Magahi - Maithili - Makasar - Mandingo - Avustronezya Dili - Masai - Mokşa Dili - Mandar - Mende - Malagasi - Ortaçağ İrlandacası - Marshall Adaları Dili - Maori - Micmac - Minangkabau - Çeşitli Diller - Makedonca - Mon-Khmer Dilleri - Malayalam - Moğolca - Mançurya Dili - Manipuri - Manobo Dilleri - Moldovaca - Mohawk - Mossi - Marathi - Malay - Malta Dili - Birden Fazla Dil - Munda Dilleri - Creek - Miranda Dili - Marwari - Birmanya Dili - Maya Dilleri - Erzya - Nauru Dili - Nahuatl - Kuzey Amerika Yerli Dilleri - Napolice - Norveççe Bokmål - Kuzey Ndebele - Aşağı Almanca - Nepalce - Newari - Ndonga - Nias - Nijer-Kordofan Dilleri - Niuean - Hollanda Dili - Felemenkçe - Norveççe Nynorsk - Norveççe - Nogayca - Eski Norse - N’Ko - Güney Ndebele - Kuzey Sotho - Nubian Dilleri - Navaho Dili - Klasik Nevari - Nyanja - Nyamwezi - Nyankole - Nyoro - Nzima - Oksitanca - Ojibva Dili - Oromo - Oriya - Osetçe - Osage - Osmanlı Türkçesi - Otomi Dilleri - Pencap Dili - Papua Dilleri - Pangasinan - Pehlevi Dili - Pampanga - Papiamento - Palau Dili - Eski Farsça - Filipinler Dilleri - Fenike Dili - Pali - Lehçe - Pohnpeian - Prakrit Dilleri - Eski Provensal - Peştuca - Portekizce - Brezilya Portekizcesi - İber Portekizcesi - Quechua - Rajasthani - Rapanui - Rarotongan - Rhaeto-Roman Dili - Kirundi - Romence - Roman Dilleri - Romanca - Köken - Rusça - Ulahça - Kinyarwanda - Sanskritçe - Sandawe - Yakutça - Güney Amerika Yerli Dilleri - Salishan Dilleri - Samarit Aramcası - Sasak - Santali - Sardunya Dili - Sicilyaca - Scots - Sindhi - Kuzey Sami - Selkup - Semitik Diller - Sangho - Eski İrlandaca - İşaret Dilleri - Sırp-Hırvat Dili - Shan Dili - Seylanca - Sidamo - Siu Dilleri - Sino-Tibet Dilleri - Slovakça - Slovence - Slav Dilleri - Samoa Dili - Güney Sami - Sami Dilleri - Lule Sami - Inari Sami - Skolt Sami - Shona - Soninke - Somali Dili - Sogdiana Dili - Songhai - Arnavutça - Sırpça - Sranan Tongo - Serer - Siswati - Nil-Sahara Dilleri - Güney Sotho - Sunda Dili - Sukuma - Susu - Sümerce - İsveççe - Swahili - Klasik Süryanice - Süryanice - Tamilce - Tai Dili - Telugu - Timne - Tereno - Tetum - Tacikçe - Tayca - Tigrinya - Tigre - Tiv - Türkmence - Tokelau - Takalotça - Klingon - Tlingit - Tamaşek - Setswana - Tonga - Nyasa Tonga - Tok Pisin - Türkçe - Tsonga - Tsimshian - Tatarca - Tumbuka - Tupi Dilleri - Altay Dilleri - Tuvalu - Twi - Tahiti Dili - Tuvaca - Udmurtça - Uygurca - Ugarit Dili - Ukraynaca - Umbundu - Bilinmeyen veya Geçersiz Dil - Urduca - Özbekçe - Vai - Venda - Vietnamca - Volapük - Votic - Valonca - Wakashan Dilleri - Walamo - Waray - Washo - Sorb Dilleri - Volofca - Kalmıkça - Xhosa - Yao - Yapça - Yidiş - Yoruba - Yupik Dili - Zhuang - Zapotek Dili - Blis Sembolleri - Zenaga - Çince - Basitleştirilmiş Çince - Geleneksel Çince - Zande - Zulu - Zuni - Dilbilim içeriği yok - Zazaca - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dünya - Afrika - Kuzey Amerika - Güney Amerika - Okyanusya - Batı Afrika - Orta Amerika - Doğu Afrika - Kuzey Afrika - Orta Afrika - Afrika'nın Güneyi - Amerika - Amerika'nın Kuzeyi - Karayipler - Doğu Asya - Güney Asya - Güney Doğu Asya - Güney Avrupa - Avustralya ve Yeni Zelanda - Melanezya - Mikronezya - Polinezya - Güney Orta Asya - Asya - Orta Asya - Batı Asya - Avrupa - Doğu Avrupa - Kuzey Avrupa - Batı Avrupa - Bağımsız Devletler Topluluğu - Latin Amerika ve Karayipler - Kanal Adaları - Andorra - Birleşik Arap Emirlikleri - Afganistan - Antigua ve Barbuda - Anguilla - Arnavutluk - Ermenistan - Hollanda Antilleri - Angola - Antarktika - Arjantin - Amerikan Samoası - Avusturya - Avustralya - Aruba - Aland Adaları - Azerbaycan - Bosna Hersek - Barbados - Bangladeş - Belçika - Burkina Faso - Bulgaristan - Bahreyn - Burundi - Benin - Saint Barthelemy - Bermuda - Brunei - Bolivya - Brezilya - Bahamalar - Bhutan - Bouvet Adası - Botsvana - Beyaz Rusya - Belize - Kanada - Cocos Adaları - Kongo - Kinşasa - Orta Afrika Cumhuriyeti - Kongo - Brazavil - İsviçre - Fildişi Sahili - Cook Adaları - Şili - Kamerun - Çin - Kolombiya - Kosta Rika - Sırbistan-Karadağ - Küba - Cape Verde - Christmas Adası - Güney Kıbrıs Rum Kesimi - Çek Cumhuriyeti - Almanya - Cibuti - Danimarka - Dominika - Dominik Cumhuriyeti - Cezayir - Ekvador - Estonya - Mısır - Batı Sahara - Eritre - İspanya - Etiyopya - Finlandiya - Fiji - Falkland Adaları - Mikronezya Federal Eyaletleri - Faroe Adaları - Fransa - Gabon - Birleşik Krallık - Grenada - Gürcistan - Fransız Guyanası - Guernsey - Gana - Cebelitarık - Grönland - Gambiya - Gine - Guadeloupe - Ekvator Ginesi - Yunanistan - Güney Georgia ve Güney Sandwich Adaları - Guatemala - Guam - Gine-Bissau - Guyana - Hong Kong SAR - Çin - Heard Adası ve McDonald Adaları - Honduras - Hırvatistan - Haiti - Macaristan - Endonezya - İrlanda - İsrail - Man Adası - Hindistan - Hint Okyanusu İngiliz Bölgesi - Irak - İran - İzlanda - İtalya - Jersey - Jamaika - Ürdün - Japonya - Kenya - Kırgızistan - Kamboçya - Kiribati - Komorlar - Saint Kitts ve Nevis - Kuzey Kore - Güney Kore - Kuveyt - Cayman Adaları - Kazakistan - Laos - Lübnan - Saint Lucia - Liechtenstein - Sri Lanka - Liberya - Lesotho - Litvanya - Lüksemburg - Letonya - Libya - Fas - Monako - Moldova - Karadağ - Saint Martin - Madagaskar - Marshall Adaları - Makedonya - Mali - Myanmar - Moğolistan - Makao S.A.R. Çin - Kuzey Mariana Adaları - Martinik - Moritanya - Montserrat - Malta - Mauritius - Maldivler - Malavi - Meksika - Malezya - Mozambik - Namibya - Yeni Kaledonya - Nijer - Norfolk Adası - Nijerya - Nikaragua - Hollanda - Norveç - Nepal - Nauru - Niue - Yeni Zelanda - Umman - Panama - Peru - Fransız Polinezyası - Papua Yeni Gine - Filipinler - Pakistan - Polonya - Saint Pierre ve Miquelon - Pitcairn - Porto Riko - Filistin Bölgesi - Portekiz - Palau - Paraguay - Katar - Uzak Okyanusya - Avrupa Birliği - Reunion - Romanya - Sırbistan - Rusya Federasyonu - Ruanda - Suudi Arabistan - Solomon Adaları - Seyşel Adaları - Sudan - İsveç - Singapur - Saint Helena - Slovenya - Svalbard ve Jan Mayen - Slovakya - Sierra Leone - San Marino - Senegal - Somali - Surinam - Sao Tome ve Principe - El Salvador - Suriye - Svaziland - Turks ve Caicos Adaları - Çad - Fransız Güney Bölgeleri - Togo - Tayland - Tacikistan - Tokelau - Doğu Timor - Türkmenistan - Tunus - Tonga - Türkiye - Trinidad ve Tobago - Tuvalu - Tayvan - Tanzanya - Ukrayna - Uganda - Amerika Birleşik Devletleri Küçük Dış Adaları - Amerika Birleşik Devletleri - Uruguay - Özbekistan - Vatikan - Saint Vincent ve Grenadinler - Venezuela - İngiliz Virgin Adaları - ABD Virgin Adaları - Vietnam - Vanuatu - Wallis ve Futuna - Samoa - Yemen - Mayotte - Güney Afrika - Zambiya - Zimbabve - Bilinmeyen veya Geçersiz Bölge - - - Geleneksel Almanca Yazım Kuralları - Standart Resia Yazım Kuralları - 1996 Almanca Yazım Kuralları - 1606'ya Dek Geç Ortaçağ Fransızcası - Erken Modern Fransızca - Doğu Ermenicesi - Batı Ermenicesi - Birleştirilmiş Yeni Türk Alfabesi - San Giorgio/Bila Lehçesi - Boontling - IPA Ses Bilimi - UPA Ses Bilimi - Resia Lipovaz Lehçesi - Monotonik - Natisone Lehçesi - Gniva/Njiva Lehçesi - Oseacco/Osojane Lehçesi - Politonik - Bilgisayar - Gözden Geçirilmiş Yazım Kuralları - Resia Lehçesi - Saho - İskoç Standart İngilizcesi - Scouse - Stolvizza/Solbica Lehçesi - Taraskievica Yazım Kuralları - Valensiyaca - - - Takvim - Sıralama - Para Birimi - - - Geleneksel Çince Sıralaması - Big5 - Budist Takvimi - Çin Takvimi - Düz Sıralama - Basitleştirilmiş Çince Sıralaması - GB2312 - Miladi Takvim - Yahudi Takvimi - Ulusal Hint Takvimi - Hicri Takvim - Arap Takvimi - Japon Takvimi - Telefon Defteri Sıralaması - Pinyin Sıralaması - Çin Cumhuriyeti Takvimi - Stroke Sıralaması - Geleneksel Sıralama - - - ABD - Metrik - - - Dil: {0} - Betik: {0} - Bölge: {0} - - - - [a-c ç d-g ğ h ı i İ {i\u0307} j-o ö p r s ş t u ü v y z] - [á à ă â å ä ā æ é è ĕ ê ë ē í ì ĭ î ï ī ñ ó ò ŏ ô ø ō œ q ß ú ù ŭ û ū w x ÿ] - [a-c č d-l ł m-z] - - - “ - ” - ‘ - ’ - - - - - - - yy MMM - - - - - - - - Tût - Bâbe - Hatur - Keyhek - Tûbe - Imşir - Bermuhat - Bermude - Peyştes - Bune - Ebip - Mısrî - Nesî - - - - - - - - - Meskerem - Tikimt - Hidar - Tahsas - Tir - Yakatit - Magabit - Miyazya - Ginbot - Sene - Hamle - Nehasa - Pagumiene - - - - - - - - - Oca - Şub - Mar - Nis - May - Haz - Tem - Ağu - Eyl - Eki - Kas - Ara - - - Ocak - Şubat - Mart - Nisan - Mayıs - Haziran - Temmuz - Ağustos - Eylül - Ekim - Kasım - Aralık - - - - - O - Ş - M - N - M - H - T - A - E - E - K - A - - - - - - - Paz - Pzt - Sal - Çar - Per - Cum - Cmt - - - Pazar - Pazartesi - Salı - Çarşamba - Perşembe - Cuma - Cumartesi - - - - - P - P - S - Ç - P - C - C - - - - - - - Ç1 - Ç2 - Ç3 - Ç4 - - - 1. çeyrek - 2. çeyrek - 3. çeyrek - 4. çeyrek - - - - - 1 - 2 - 3 - 4 - - - - AM - PM - - - Milattan Önce - Milattan Sonra - - - MÖ - MS - - - - - - dd MMMM y EEEE - - - - - dd MMMM y - - - - - dd MMM y - - - - - dd.MM.yyyy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - d EEE - d E - H - HH:mm - HH:mm:ss - HH:mm - L - dd/MM E - LLL - dd MMM E - dd MMMM E - dd MMMM - dd MMM - dd/MM - d - hh:mm a - hh:mm:ss a - mm:ss - mm:ss - y - M/yyyy - dd.MM.yyyy EEE - MMM y - dd MMM y EEE - MMMM y - Q yyyy - QQQ y - MM/yy - MMM yy - Q yy - QQQQ yy - y - - - {0} - {1} - - M-M - - - dd.MM E - dd.MM E - dd.MM E - dd.MM E - - - MMM-MMM - - - dd MMM E - dd MMM E - dd MMM E - dd MMM E - - - LLLL-LLLL - - - dd MMM - dd MMM - dd-dd MMM - - - dd.MM - dd.MM - dd.MM - dd.MM - - - d-d - - - HH-HH - HH-HH - - - HH:mm-HH:mm - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH-HH v - HH-HH v - - - y-y - - - MM.yyyy - MM.yyyy - MM.yyyy - MM.yyyy - - - dd.MM.yyyy E - dd.MM.yyyy E - dd.MM.yyyy E - dd.MM.yyyy E - dd.MM.yyyy E - dd.MM.yyyy E - - - MMM-MMM y - MMM y - MMM y - - - dd MMM y E - dd MMM y E - dd MMM y E - dd MMM y E - dd MMM y E - dd MMM y E - - - MM – MM yyyy - MM-yyyy – MM-yyyy - - - dd MMM - dd MMM y - dd-dd MMM y - dd MMM y - dd MMM y - - - dd.MM.yyyy - dd.MM.yyyy - dd.MM.yyyy - dd.MM.yyyy - dd.MM.yyyy - dd.MM.yyyy - - - - - - Miladi Dönem - - - Yıl - - - Ay - - - Hafta - - - Gün - Üç gün önce - Evvelsi gün - Dün - Bugün - Yarın - Yarından sonraki gün - Üç gün sonra - - - Haftanın Günü - - - AM/PM - - - Saat - - - Dakika - - - Saniye - - - Saat Dilimi - - - - - - - - Tişri - Heşvan - Şevat - Veadar - İyar - - - - - - - - - Muharrem - Safer - Rebiülevvel - Rebiülahir - Cemaziyelevvel - Cemaziyelahir - Recep - Şaban - Ramazan - Şevval - Zilkade - Zilhicce - - - - - - - - - Ferverdin - Ordibeheşt - Hordad - Şehriver - Azer - Behmen - Esfend - - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} Saati - {1} ({0}) - - Bilinmeyen - - - Kabil - - - Tiran - - - Güney Kutbu - - - Dumont D'Urville - - - Viyana - - - Sidney - - - Bakü - - - Brüksel - - - Sofya - - - Bahreyn - - - Kinşasa - - - Zürih - - - Kaşgar - - - Urumçi - - - Çunking - - - Şangay - - - Kosta Rika - - - Noel - - - Lefkoşa - - - Cibuti - - - Kopenhag - - - Dominik - - - Cezayir - - - Kahire - - - El Ayun - - - Kanarya Adaları - - - Septe - - - Londra - - - Tiflis - - - Cebelitarık - - - Atina - - - Güney Gürcistan - - - Budapeşte - - - Cakarta - - - Kudüs - - - Bağdat - - - Tahran - - - Roma - - - Jameika - - - Bişkek - - - St. Kitts - - - Seul - - - Kuveyt - - - Kayman - - - Aktav - - - Uralsk - - - Aktöbe - - - Kızılorda - - - Almatı - - - Beyrut - - - St. Lucia - - - Kolombo - - - Lüksemburg - - - Trablus - - - Kazablanka - - - Monako - - - Kobdo - - - Ulan Batur - - - Çoybalsan - - - Makau - - - Martinik - - - Moritus - - - Maldivler - - - Meksiko City - - - Kuçing - - - Nauru Adası - - - Markiz Adaları - - - Karaçi - - - Varşova - - - Pitcairn Adaları - - - Porto Riko - - - Gazze - - - Azor Adaları - - - Lizbon - - - Katar - - - Reunion Adası - - - Bükreş - - - Moskova - - - İrkutsk - - - Sahalin - - - Kamçatka - - - Anadır - - - Riyad - - - Kartum - - - Stokholm - - - Singapur - - - Salvador - - - Şam - - - Duşanbe - - - Aşkabat - - - Tunus - - - İstanbul - - - İspanya Limanı - - - Ujgorod - - - Akmescit - - - Zaporojye - - - New Salem, Kuzey Dakota - - - Merkez, Kuzey Dakota - - - Knox - - - Marengo - - - Semerkand - - - Taşkent - - - St. Vincent - - - St. Thomas - - - Saygon - - - Mayote - - - - Acre Saati - Acre Yaz Saati - - - - - Afganistan Saati - - - - - Orta Afrika Saati - - - - - Doğu Afrika Saati - - - - - Güney Afrika Saati - Güney Afrika Standart Saati - - - - - Batı Afrika Saati - Batı Afrika Yaz Saati - - - - - Aktyubinsk Saati - Aktyubinsk Yaz Saati - - - - - Alaska Saati - Alaska Standart Saati - Alaska Yaz Saati - - - AKT - - - - - Alaska-Hawaii Saati - Alaska-Hawaii Standart Saati - Alaska-Hawaii Yaz Saati - - - AHT - - - - - Almatı Saati - Almatı Yaz Saati - - - - - Amazon Saati - Amazon Yaz Saati - - - - - Merkezi Saat - Merkezi Standart Saati - Merkezi Yaz Saati - - - CT - - - - - Doğu Saati - Doğu Standart Saati - Doğu Yaz Saati - - - ET - - - - - ABD Sıradağlar Saati - ABD Sıradağlar Standart Saati - ABD Sıradağlar Yaz Saati - - - MT - - - - - Pasifik Saati - Pasifik Standart Saati - Pasifik Yaz Saati - - - PT - - - - - Anadır Saati - Anadır Yaz Saati - - - - - Aktav Saati - Aktav Yaz Saati - - - AQTT (Aktav) - AQTST (Aktav) - - - - - Aktöbe Saati - Aktöbe Yaz Saati - - - AQTT (Aktöbe) - AQTST (Aktöbe) - - - - - Arabistan Saati - Arabistan Standart Saati - Arabistan Yaz Saati - - - AT (Arabistan) - AST (Arabistan) - ADT (Arabistan) - - - - - Arjantin Saati - Arjantin Yaz Saati - - - - - Batı Arjantin Saati - - - - - Ermenistan Saati - Ermenistan Yaz Saati - - - AMT (Ermenistan) - AMST (Ermenistan) - - - - - Aşkabat Saati - Aşkabat Yaz Saati - - - - - Atlantik Saati - Atlantik Standart Saati - Atlantik Yaz Saati - - - AT - - - - - Orta Avustralya Saati - Orta Avustralya Standart Saati - Orta Avustralya Yaz Saati - - - ACT - - - - - Batı Merkezi Avustralya Saati - Batı Merkezi Avustralya Standart Saati - Batı Merkezi Avustralya Yaz Saati - - - ACWT - - - - - Doğu Avustralya Saati - Doğu Avustralya Standart Saati - Doğu Avustralya Yaz Saati - - - AET - - - - - Batı Avustralya Saati - Batı Avustralya Standart Saati - Batı Avustralya Yaz Saati - - - AWT - - - - - Azerbaycan Saati - Azerbaycan Yaz Saati - - - - - Azor Adaları Saati - Azor Adaları Yaz Saati - - - - - Bakü Saati - Bakü Yaz Saati - - - - - Bangladeş Saati - - - - - Bering Saati - Bering Standart Saati - Bering Yaz Saati - - - BT (Bering) - - - - - Bhutan Saati - - - - - Bolivya Saati - - - - - Borneo Saati - Borneo Yaz Saati - - - - - Brasilia Saati - Brasilia Yaz Saati - - - - - Brunei Saati - - - - - Cape Verde Saati - Cape Verde Yaz Saati - - - - - Chamorro Saati - Chamorro Standart Saati - - - ChT - - - - - Changbai Saati - - - - - Chatham Standart Saati - Chatham Yaz Saati - - - - - Şili Saati - Şili Yaz Saati - - - - - Çin Saati - Çin Standart Saati - Çin Yaz Saati - - - CT (Çin) - CST (Çin) - CDT (Çin) - - - - - Çoybalsan Saati - Çoybalsan Yaz Saati - - - - - Christmas Adası Saati - - - - - Cocos Adaları Saati - - - - - Kolombiya Saati - Kolombiya Yaz Saati - - - - - Cook Adaları Saati - Cook Adaları Yarı Yaz Saati - - - - - Küba Saati - Küba Standart Saati - Küba Yaz Saati - - - CST (Küba) - CDT (Küba) - - - - - Dakka Saati - - - - - Davis Saati - - - - - Dumont-d'Urville Saati - - - - - Duşanbe Saati - Duşanbe Yaz Saati - - - - - Hollanda Guyanası Saati - - - - - Doğu Timor Saati - - - - - Easter Adası Saati - Easter Adası Yaz Saati - - - - - Ekvador Saati - - - - - Orta Avrupa Saati - Orta Avrupa Yaz Saati - - - - - Doğu Avrupa Saati - Doğu Avrupa Yaz Saati - - - - - Batı Avrupa Saati - Batı Avrupa Yaz Saati - - - - - Falkland Adaları Saati - Falkland Adaları Yaz Saati - - - - - Fiji Saati - Fiji Yaz Saati - - - - - Fransız Guyanası Saati - - - - - Fransız Güney ve Antarktika Saati - - - - - Bişkek Saati - Bişkek Yaz Saati - - - - - Greenwich Merkez Saati - - - - - Galapagos Saati - - - - - Gambier Saati - - - - - Gürcistan Saati - Gürcistan Yaz Saati - - - - - Gilbert Adaları Saati - - - - - Orta Grönland Saati - Orta Grönland Yaz Saati - - - - - Doğu Grönland Saati - Doğu Grönland Yaz Saati - - - - - Batı Grönland Saati - Batı Grönland Yaz Saati - - - - - Guam Standart Saati - - - GST (Guam) - - - - - Körfez Saati - Körfez Standart Saati - - - GT - - - - - Guyana Saati - - - - - Hawaii-Aleutian Standart Saati - - - - - Hong Kong Saati - Hong Kong Yaz Saati - - - - - Kobdo Saati - Kobdo Yaz Saati - - - - - Hindistan Standart Saati - - - - - Hint Okyanusu Saati - - - - - Çinhindi Saati - - - - - Orta Endonezya Saati - - - - - Doğu Endonezya Saati - - - - - Batı Endonezya Saati - - - - - İran Standart Saati - İran Yaz Saati - - - - - İrkutsk Saati - İrkutsk Yaz Saati - - - - - İsrail Saati - İsrail Standart Saati - İsrail Yaz Saati - - - IST (İsrail) - - - - - Japonya Saati - Japonya Standart Saati - Japonya Yaz Saati - - - JT - - - - - Petropavlovsk-Kamçatski Saati - Petropavlovsk-Kamçatski Yaz Saati - - - - - Karaçi Saati - - - - - Kaşgar Saati - - - - - Doğu Kazakistan Saati - Doğu Kazakistan Standart Saati - - - - - Batı Kazakistan Saati - Batı Kazakistan Standart Saati - - - - - Kızılorda Saati - Kızılorda Yaz Saati - - - - - Kore Saati - Kore Standart Saati - Kore Yaz Saati - - - KT - - - - - Kosrae Saati - - - - - Krasnoyarsk Saati - Krasnoyarsk Yaz Saati - - - - - Kuybişev Saati - Kuybişev Yaz Saati - - - - - Kwajalein Saati - - - - - Kırgızistan Saati - - - - - Lanka Saati - - - - - Line Adaları Saati - - - - - Long-Shu Saati - - - - - Lord Howe Saati - Lord Howe Standart Saati - Lord Howe Yaz Saati - - - LHT - - - - - Makao Saati - Makao Yaz Saati - - - - - Magadan Saati - Magadan Yaz Saati - - - - - Malaya Saati - - - - - Malezya Saati - - - - - Maldivler Saati - - - - - Markiz Adaları Saati - - - - - Marshall Adaları Saati - - - - - Mauritius Saati - Mauritius Yaz Saati - - - - - Mawson Saati - - - - - Ulan Batur Saati - Ulan Batur Yaz Saati - - - - - Moskova Saati - Moskova Standart Saati - Moskova Yaz Saati - - - - - Myanmar Saati - - - - - Nauru Saati - - - - - Nepal Saati - - - - - Yeni Kaledonya Saati - Yeni Kaledonya Yaz Saati - - - - - Yeni Zelanda Saati - Yeni Zelanda Standart Saati - Yeni Zelanda Yaz Saati - - - NZT - - - - - Newfoundland Saati - Newfoundland Standart Saati - Newfoundland Yaz Saati - - - NT - - - - - Niue Saati - - - - - Norfolk Adası Saati - - - - - Fernando de Noronha Saati - Fernando de Noronha Yaz Saati - - - - - Kuzey Mariana Adaları Saati - - - - - Novosibirsk Saati - Novosibirsk Yaz Saati - - - - - Omsk Saati - Omsk Yaz Saati - - - - - Pakistan Saati - Pakistan Yaz Saati - - - - - Palau Saati - - - - - Papua Yeni Gine Saati - - - - - Paraguay Saati - Paraguay Yaz Saati - - - - - Peru Saati - Peru Yaz Saati - - - - - Filipinler Saati - Filipinler Yaz Saati - - - - - Phoenix Adaları Saati - - - - - Pierre ve Miquelon Saati - Pierre ve Miquelon Standart Saati - Pierre ve Miquelon Yaz Saati - - - PMT - - - - - Pitcairn Saati - - - - - Ponape Saati - - - - - Kızılorda Saati - Kızılorda Yaz Saati - - - - - Reunion Saati - - - - - Rothera Saati - - - - - Sakhalin Saati - Sakhalin Yaz Saati - - - - - Samara Saati - Samara Yaz Saati - - - - - Semerkand Saati - Semerkand Yaz Saati - - - SAMT (Semerkand) - SAMST (Semerkand) - - - - - Samoa Standart Saati - - - - - Seyşel Adaları Saati - - - - - Şevçenko Saati - Şevçenko Yaz Saati - - - - - Singapur Standart Saati - - - - - Solomon Adaları Saati - - - - - Güney Georgia Saati - - - GST (Güney Georgia) - - - - - Surinam Saati - - - - - Sverdlovsk Saati - Sverdlovsk Yaz Saati - - - - - Showa Saati - - - - - Tahiti Saati - - - - - Tacikistan Saati - - - - - Taşkent Saati - Taşkent Yaz Saati - - - - - Tiflis Saati - Tiflis Yaz Saati - - - - - Tokelau Saati - - - - - Tonga Saati - Tonga Yaz Saati - - - - - Truk Saati - - - - - Türkiye Saati - Türkiye Yaz Saati - - - - - Türkmenistan Saati - Türkmenistan Yaz Saati - - - - - Tuvalu Saati - - - - - Oral Saati - Oral Yaz Saati - - - - - Uruguay Saati - Uruguay Yaz Saati - - - - - Urumçi Saati - - - - - Özbekistan Saati - Özbekistan Yaz Saati - - - - - Vanuatu Saati - Vanuatu Yaz Saati - - - - - Venezuela Saati - - - - - Vladivostok Saati - Vladivostok Yaz Saati - - - - - Volgograd Saati - Volgograd Yaz Saati - - - - - Vostok Saati - - - - - Wake Adası Saati - - - - - Wallis ve Futuna Saati - - - - - Yakutsk Saati - Yakutsk Yaz Saati - - - - - Yekaterinburg Saati - Yekaterinburg Yaz Saati - - - - - Erivan Saati - Erivan Yaz Saati - - - - - Yukon Saati - Yukon Standart Saati - Yukon Yaz Saati - - - YT - - - - - - - , - . - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - % #,##0 - - - - - - - #,##0.00 ¤ - - - {0} {1} - - - - Andorra Pezetası - - - Birleşik Arap Emirlikleri Dirhemi - - - Afganistan Afganisi (1927-2002) - - - Afganistan Afganisi - - - Arnavutluk Leki - - - Ermenistan Dramı - - - Hollanda Antilleri Guldeni - - - Angola Kvanzası - - - Angola Kvanzası (1977-1990) - - - Yeni Angola Kvanzası (1990-2000) - - - Angola Kvanzası Reajustado (1995-1999) - - - Arjantin Australi - - - Arjantin Pezosu (1983-1985) - - - Arjantin Pezosu - - - Avusturya Şilini - - - Avustralya Doları - - - Aruba Florini - - - Azerbaycan Manatı (1993-2006) - - - Azerbaycan Manatı - - - Bosna Hersek Dinarı - - - Konvertibl Bosna Hersek Markı - - - Barbados Doları - - - Bangladeş Takası - - - Belçika Frangı (konvertibl) - - - Belçika Frangı - - - Belçika Frangı (finansal) - - - Bulgar Levası (Hard) - - - Yeni Bulgar Levası - - - Bahreyn Dinarı - - - Burundi Frangı - - - Bermuda Doları - - - Brunei Doları - - - Bolivya Bolivyanosu - - - Bolivya Pezosu - - - Bolivya Mvdolu - - - Yeni Brezilya Kruzeirosu (1967-1986) - - - Brezilya Kruzadosu - - - Brezilya Kruzeirosu (1990-1993) - - - Brezilya Reali - - - Yeni Brezilya Kruzadosu - - - Brezilya Kruzeirosu - - - Bahama Doları - - - Bhutan Ngultrumu - - - Burma Kyatı - - - Botsvana Pulası - - - Yeni Beyaz Rusya Rublesi (1994-1999) - - - Beyaz Rusya Rublesi - - - Belize Doları - - - Kanada Doları - - - Kongo Frangı - - - WIR Avrosu - - - İsviçre Frangı - - - WIR Frangı - - - Şili Unidades de Fomento - - - Şili Pezosu - - - Çin Yuanı Renminbi - - - Kolombiya Pezosu - - - Unidad de Valor Real - - - Kosta Rika Kolonu - - - Eski Sırbistan Dinarı - - - Çekoslavak Korunası (Hard) - - - Küba Pezosu - - - Cape Verde Esküdosu - - - Güney Kıbrıs Lirası - - - Çek Cumhuriyeti Korunası - - - Doğu Alman Markı - - - Alman Markı - - - Cibuti Frangı - - - Danimarka Kronu - - - Dominik Pezosu - - - Cezayir Dinarı - - - Ekvador Sukresi - - - Ekvador Unidad de Valor Constante (UVC) - - - Estonya Krunu - - - Mısır Lirası - - - Eritre Nakfası - - - İspanyol Pezetası (A hesabı) - - - İspanyol Pezetası (konvertibl hesap) - - - İspanyol Pezetası - - - Etiyopya Birri - - - Euro - - - Fin Markkası - - - Fiji Doları - - - Falkland Adaları Lirası - - - Fransız Frangı - - - İngiliz Sterlini - - - Gürcistan Kupon Larisi - - - Gürcistan Larisi - - - Gana Sedisi (1979-2007) - - - Gana Sedisi - - - Cebelitarık Lirası - - - Gambiya Dalasisi - - - Gine Frangı - - - Gine Sylisi - - - Ekvator Ginesi Ekuelesi - - - Yunan Drahmisi - - - Guatemala Ketzali - - - Portekiz Ginesi Esküdosu - - - Gine-Bissau Pezosu - - - Guyana Doları - - - Hong Kong Doları - - - Honduras Lempirası - - - Hırvatistan Dinarı - - - Hırvatistan Kunası - - - Haiti Gurdu - - - Macar Forinti - - - Endonezya Rupiahı - - - İrlanda Lirası - - - İsrail Lirası - - - Yeni İsrail Şekeli - - - Hindistan Rupisi - - - Irak Dinarı - - - İran Riyali - - - İzlanda Kronu - - - İtalyan Lireti - - - Jamaika Doları - - - Ürdün Dinarı - - - Japon Yeni - ¥ - - - Kenya Şilini - - - Kırgız Somu - - - Kamboçya Rieli - - - Komorlar Frangı - - - Kuzey Kore Wonu - - - Güney Kore Wonu - - - Kuveyt Dinarı - - - Cayman Adaları Doları - - - Kazakistan Tengesi - - - Laos Kipi - - - Lübnan Lirası - - - Sri Lanka Rupisi - - - Liberya Doları - - - Lesotho Lotisi - - - Litvanya Litası - - - Litvanya Talonu - - - Konvertibl Lüksemburg Frangı - - - Lüksemburg Frangı - - - Finansal Lüksemburg Frangı - - - Letonya Latı - - - Letonya Rublesi - - - Libya Dinarı - - - Fas Dirhemi - - - Fas Frangı - - - Moldova Leyi - - - Madagaskar Ariarisi - - - Madagaskar Frangı - - - Makedonya Dinarı - - - Mali Frangı - - - Myanmar Kyatı - - - Moğol Tugriki - - - Makao Patacası - - - Moritanya Ouguiyası - - - Malta Lirası - - - Malta Sterlini - - - Mauritius Rupisi - - - Maldiv Adaları Rufiyaa - - - Malavi Kvaçası - - - Meksika Pezosu - - - Gümüş Meksika Pezosu (1861-1992) - - - Meksika Unidad de Inversion (UDI) - - - Malezya Ringiti - - - Mozambik Esküdosu - - - Eski Mozambik Metikali - - - Mozambik Metikali - - - Namibya Doları - - - Nijerya Nairası - - - Nikaragua Kordobası - - - Nikaragua Kordobası (Oro) - - - Hollanda Florini - - - Norveç Kronu - - - Nepal Rupisi - - - Yeni Zelanda Doları - - - Umman Riyali - - - Panama Balboası - - - Peru İnti - - - Yeni Peru Solu - - - Peru Solu - - - Papua Yeni Gine Kinası - - - Filipinler Pezosu - - - Pakistan Rupisi - - - Polonya Zlotisi - - - Polonya Zlotisi (1950-1995) - - - Portekiz Esküdosu - - - Paraguay Guaranisi - - - Katar Riyali - - - Rodezya Doları - - - Eski Romen Leyi - - - Romen Leyi - - - Sırp Dinarı - - - Rus Rublesi - - - Rus Rublesi (1991-1998) - - - Ruanda Frangı - - - Suudi Arabistan Riyali - - - Solomon Adaları Doları - - - Seyşel Rupisi - - - Eski Sudan Dinarı - - - Sudan Lirası - - - Eski Sudan Lirası - - - İsveç Kronu - - - Singapur Doları - - - Saint Helena Lirası - - - Slovenya Toları - - - Slovak Korunası - - - Sierra Leone Leonesi - - - Somali Şilini - - - Surinam Doları - - - Surinam Guldeni - - - Sao Tome ve Principe Dobrası - - - Sovyet Rublesi - - - El Salvador Kolonu - - - Suriye Lirası - - - Svaziland Lilangenisi - - - Tayland Bahtı - - - Tacikistan Rublesi - - - Tacikistan Somonisi - - - Türkmenistan Manatı - - - Tunus Dinarı - - - Tonga Paʻangası - - - Timor Esküdosu - - - Eski Türk Lirası - - - Türk Lirası - - - Trinidad ve Tobago Doları - - - Yeni Tayvan Doları - - - Tanzanya Şilini - - - Ukrayna Grivnası - - - Ukrayna Karbovanetz - - - Uganda Şilini (1966-1987) - - - Uganda Şilini - - - ABD Doları - $ - - - ABD Doları (Ertesi gün) - - - ABD Doları (Aynı gün) - - - Uruguay Peso en Unidades Indexadas - - - Uruguay Pezosu (1975-1993) - - - Uruguay Pezosu (Uruguayo) - - - Özbekistan Somu - - - Venezuela Bolivarı - - - Güçlü Venezuela Bolivarı - - - Vietnam Dongu - - - Vanuatu Vatusu - - - Batı Samoa Talası - - - CFA Frangı BEAC - - - Gümüş - - - Altın - - - Birleşik Avrupa Birimi - - - Avrupa Para Birimi (EMU) - - - Avrupa Hesap Birimi (XBC) - - - Avrupa Hesap Birimi (XBD) - - - Doğu Karayip Doları - - - Özel Çekme Hakkı (SDR) - - - Avrupa Para Birimi - - - Fransız Altın Frangı - - - Fransız UIC-Frangı - - - CFA Frangı BCEAO - - - Paladyum - - - CFP Frangı - - - Platin - - - RINET Fonları - - - Test Para Birimi Kodu - - - Bilinmeyen veya Geçersiz Para Birimi - - - Yemen Dinarı - - - Yemen Riyali - - - Yugoslav Dinarı (Hard) - - - Yeni Yugoslav Dinarı - - - Konvertibl Yugoslav Dinarı - - - Güney Afrika Randı (finansal) - - - Güney Afrika Randı - - - Zambiya Kvaçası - - - Yeni Zaire Zairesi - - - Zaire Zairesi - - - Zimbabve Doları - - - - - - {0} gün - - - {0} saat - - - {0} dakika - - - {0} ay - - - {0} saniye - - - {0} hafta - - - {0} yıl - - - - - evet:e - hayır:hayir:h - - - - diff --git a/lib/zend/Zend/Locale/Data/tr_TR.xml b/lib/zend/Zend/Locale/Data/tr_TR.xml deleted file mode 100644 index 6f878c7d4e..0000000000 --- a/lib/zend/Zend/Locale/Data/tr_TR.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/trv.xml b/lib/zend/Zend/Locale/Data/trv.xml deleted file mode 100644 index ed9e198f5e..0000000000 --- a/lib/zend/Zend/Locale/Data/trv.xml +++ /dev/null @@ -1,561 +0,0 @@ - - - - - - - - - - - patas Monchiara - patas Towjih - patas Ingrisi - patas Espanniu - patas Bosey - patas Heyti - patas Itariya - patas Nihong - patas Bowdu - patas Pajey - patas Ruski - patas Srpian - Ini klayna patas ni - patas Yurtu - patas Ipaw - Qantan Ipaw patas - Baday Ipaw patas - - - - - - - - - - - - alang Nanci - alang Posniya - alang Pajey - alang Puwei - alang Switjrrant - alang Ipaw - alang Towjih - alang Posey - alang Inglis - alang Nanjiouya ni Nansanminji - alang Htee ni Mayktan - alang Krowtia - alang Intu - alang Inglis niq Intu - alang Itariya - alang Nihong - alang Mondineygrw - alang Srbia - alang Ruski - alang Snmarinow - alang Posey niq Nan - alang Amarika - ini klayi na alang ni - - - Jiyax Yisu Thulang - - - Snyunaydi - Snamrika - - - Kari: {0} - Patas: {0} - Alang: {0} - - - - [a-e g-n {ng} o-u w-y] - [ḏ f ɨ ḻ ṟ ṯ ʉ v z ʼ] - [a-z] - - - “ - ” - ‘ - ’ - - - - - - - - Kii - Dhi - Tri - Spi - Rii - Mti - Emi - Mai - Mni - Mxi - Mxk - Mxd - - - Kingal idas - Dha idas - Tru idas - Spat idas - Rima idas - Mataru idas - Empitu idas - Maspat idas - Mngari idas - Maxal idas - Maxal kingal idas - Maxal dha idas - - - - - K - D - T - S - R - M - E - P - A - M - K - D - - - - - - - Emp - Kin - Dha - Tru - Spa - Rim - Mat - - - Jiyax sngayan - tgKingal jiyax iyax sngayan - tgDha jiyax iyax sngayan - tgTru jiyax iyax sngayan - tgSpac jiyax iyax sngayan - tgRima jiyax iyax sngayan - tgMataru jiyax iyax sngayan - - - - - E - K - D - T - S - R - M - - - - - - - mn1 - mn2 - mn3 - mn4 - - - mnprxan - mndha - mntru - mnspat - - - - - 1 - 2 - 3 - 4 - - - - Brax kndaax - Baubau kndaax - - - Brah jikan Yisu Thulang - Bukuy jikan Yisu Thulang - - - BRY - BUY - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yyyy-MM-dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - H:mm - L - E, M-d - LLL - E MMM d - E MMMM d - MMMM d - MMM d - M-d - d - mm:ss - y - yyyy-M - EEE, yyyy-M-d - y MMM - EEE, y MMM d - y MMMM - yyyy Q - y QQQ - - - - - Hngkawas - - - hngkawas - - - Idas - - - Jiyax iyax sngayan - - - Jiyax - Shiga - Jiyax sayang - Saman - - - Jiyax quri jiyax iyax sngayan - - - Jikan - - - Tuki - - - Spngan - - - Seykn - - - Alang - - - - - - +HH:mm;-HH:mm - JQG{0} - Jikan {0} - - Ini klayi ka Jikan hini - - - Jikan alang Purank - - - Jikan alang Grad - - - Jikan alang Snpaurow - - - Jikan alang Honoruru - - - Jikan alang Ankriji - - - Jikan alang Rosanci - - - Jikan alang Bonhuan - - - Jikan alang Tanbo - - - Jikan alang Jiciak - - - Jikan alang Intiannaporis - - - Jikan alang Niuyue - - - - Jikan Con-Amarika - Snegun Jikan Con-Amarika - Jikan Con-Amarika o Karat Rbagan - - - JCA - SJCA - JCAKR - - - - - Jikan Ton-Amarika - Snegun Jikan Ton-Amarika - Jikan Ton-Amarika o Karat Rbagan - - - JTA - SJTA - JTAKR - - - - - Jikan Yama-Amarika - Snegun Jikan Yama-Amarika - Jikan Hidaw niq Yama-Amarika - - - JYA - SJYA - JHYA - - - - - Jikan Daybinyan - Snegun Jikan Amarika-Daybinyan - Jikan Amarika-Daybinyan o Karat Rbagan - - - JD - SJAD - JADKR - - - - - Jikan Yayun Tasiyan - Snegun Jikan Yayun Tasiyan - Jikan Yayun Tasiyan o Karat Rbagan - - - JYT - SJYT - JYTKR - - - - - Jikan Conow - Jikan Conow o Karat Rbagan - - - JC - JCKR - - - - - Jikan Tonow - Jikan Tonow o Karat Rbagan - - - JT - JTKR - - - - - Jikan Siow - Jikan Siow o Karat Rbagan - - - JS - JSKR - - - - - Jikan Quri Grinweyji - - - JQG - - - - - - - . - , - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤ #,##0.00 - - - - - - pila Autaria - - - pila Pajey - - - pila Ipaw - - - pila Irow - - - pila Inglis - - - pila Hong Kong - - - pila Intia - - - pila Nihong - - - pila Macao - - - pila Nowey - - - pila Ruski - - - pila Taiwan - - - pila America - - - ini klayi pila ni - - - - - - {0} Jiyax - - - {0} Tuki - - - {0} spngan - - - {0} Idas - - - {0} Seykn - - - {0} Jiyax iyax sngayan - - - {0} Hnkawas - - - - - yiru:y - mnan:m - - - diff --git a/lib/zend/Zend/Locale/Data/trv_TW.xml b/lib/zend/Zend/Locale/Data/trv_TW.xml deleted file mode 100644 index 7836d78a52..0000000000 --- a/lib/zend/Zend/Locale/Data/trv_TW.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ts.xml b/lib/zend/Zend/Locale/Data/ts.xml deleted file mode 100644 index 1d48935e02..0000000000 --- a/lib/zend/Zend/Locale/Data/ts.xml +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - Xi Czech - Xi Danish - Xi Jarimani - Xi Giriki - Xi Nghezi - Xi spain - hi xi Estonia - Xi Finnish - Xi Furwa - XiHeberu - hi xi Hungary - hi xi Iceland - Xi Ithali - Xi Japani - Xikorea - hi xi Lithuania - hi xi Latvia - Xi bunu - Xi Norway - Xi Polixi - Putukezi - hi xi Romania - Xi Rhaxiya - Xi Swiden - Xitsonga - - - - [a-z] - - - ‘ - ’ - “ - ” - - - - - - - - Sun - Yan - Kul - Dzi - Mud - Kho - Maw - Mha - Ndz - Nhl - Huk - N'w - - - Sunguti - Nyenyenyani - Nyenyankulu - Dzivamisoko - Mudyaxihi - Khotavuxika - Mawuwani - Mhawuri - Ndzhati - Nhlangula - Hukuri - N'wendzamhala - - - - - - - Son - Mus - Bir - Har - Ne - Tlh - Mug - - - Sonto - Musumbhunuku - Ravumbirhi - Ravunharhu - Ravumune - Ravuntlhanu - Mugqivela - - - - - - - K1 - K2 - K3 - K4 - - - Kotara yo sungula - Kotara ya vumbirhi - Kotara ya vunharhu - Kotara ya vumune - - - - - - BC - AD - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - , -   - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤#,##0.00 - - - - - diff --git a/lib/zend/Zend/Locale/Data/ts_ZA.xml b/lib/zend/Zend/Locale/Data/ts_ZA.xml deleted file mode 100644 index 6eb5fe0464..0000000000 --- a/lib/zend/Zend/Locale/Data/ts_ZA.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/tt.xml b/lib/zend/Zend/Locale/Data/tt.xml deleted file mode 100644 index 2dea27b5f4..0000000000 --- a/lib/zend/Zend/Locale/Data/tt.xml +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - Татар - - - Россия - - - - [а ә б-е ё ж җ з-о ө п-у ү ф х һ ц-я] - - - - - - - - d MMMM y - - - - - d MMMM y - - - - - dd.MM.yyyy - - - - - dd.MM.yyyy - - - - - - - h:mm:ss a zzzz - - - - - H:mm:ss z - - - - - H:mm:ss - - - - - H:mm - - - - - - H:mm - d MMMM - dd.MM - mm:ss - Q yy - MM.yyyy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - , -   - - - - - #,##0.00¤ - - - - - - р. - - - - diff --git a/lib/zend/Zend/Locale/Data/tt_RU.xml b/lib/zend/Zend/Locale/Data/tt_RU.xml deleted file mode 100644 index d4b9f529c4..0000000000 --- a/lib/zend/Zend/Locale/Data/tt_RU.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ug.xml b/lib/zend/Zend/Locale/Data/ug.xml deleted file mode 100644 index 1ce574773d..0000000000 --- a/lib/zend/Zend/Locale/Data/ug.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - Uyghur - - - - - - - [ئ-ب پ ت ج چ خ د ر ز ژ س ش غ ف-ك ڭ گ ل-ه ە و ۆ-ۈ ۋ ى ي ې] - - - - - - - Q yy - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - diff --git a/lib/zend/Zend/Locale/Data/ug_Arab.xml b/lib/zend/Zend/Locale/Data/ug_Arab.xml deleted file mode 100644 index 04da313687..0000000000 --- a/lib/zend/Zend/Locale/Data/ug_Arab.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Світ - Африка - Північноамериканський континент - Південна Америка - Океанія - Західна Африка - Центральна Америка - Східна Африка - Північна Африка - Центральна Африка - Південна Африка - Америки - Північна Америка - Карибський басейн - Східна Азія - Південна Азія - Південно-Східна Азія - Південна Європа - Австралія та Нова Зеландія - Меланезія - Мікронезійський регіон - Полінезія - Південно-Центральна Азія - Азія - Центральна Азія - Західна Азія - Європа - Східна Європа - Північна Європа - Західна Європа - Співдружність Незалежних Держав - Латинська Америка і Карибський басейн - Нормандські острови - Андорра - Обʼєднані Арабські Емірати - Афганістан - Антигуа і Барбуда - Ангілья - Албанія - Вірменія - Нідерландські Антильські Острови - Ангола - Антарктида - Аргентина - Американське Самоа - Австрія - Австралія - Аруба - Аландські острови - Азербайджан - Боснія і Герцоговина - Барбадос - Бангладеш - Бельгія - Буркіна-Фасо - Болгарія - Бахрейн - Бурунді - Бенін - Острів Святого Бартоломея - Бермуди - Бруней - Болівія - Бразилія - Багами - Бутан - Острів Буве - Ботсвана - Білорусь - Беліз - Канада - Кокосові острови - Демократична Республіка Конґо - Центральноафриканська Республіка - Конґо - Браззавіль - Швейцарія - Кот д’Івуар - Острови Кука - Чилі - Камерун - Китай - Колумбія - Коста-Рика - Сербія та Чорногорія - Куба - Кабо-Верде - Острів Різдва - Кіпр - Чеська республіка - Німеччина - Джібуті - Данія - Домінік - Домініканська Республіка - Алжир - Еквадор - Естонія - Єгипет - Західна Сахара - Еритрея - Іспанія - Ефіопія - Фінляндія - Фіджі - Фолклендські острови - Мікронезія - Фарерські острови - Франція - Габон - Великобританія - Гренада - Грузія - Французька Гвіана - Гернсі - Гана - Гібралтар - Гренландія - Гамбія - Гвінея - Гваделупа - Екваторіальна Гвінея - Греція - Південна Джорджія та Південні Сандвічеві Острови - Гватемала - Гуам - Гвінея-Біссау - Гайана - Гонконґ О.А.Р. Китаю - Острови Херд і Мак-Дональд - Гондурас - Хорватія - Гаїті - Угорщина - Індонезія - Ірландія - Ізраїль - Острів Мен - Індія - Британські території Індійського океану - Ірак - Іран - Ісландія - Італія - Джерсі - Ямайка - Йорданія - Японія - Кенія - Киргизстан - Камбоджа - Кірибаті - Коморські Острови - Сент-Кітс і Невіс - Північна Корея - Південна Корея - Кувейт - Кайманові острови - Казахстан - Лаос - Ліван - Сент-Люсія - Ліхтенштейн - Шрі-Ланка - Ліберія - Лесото - Литва - Люксембург - Латвія - Лівія - Марокко - Монако - Молдова - Чорногорія - Острів Святого Мартіна - Мадагаскар - Маршаллові Острови - Македонія - Малі - Мʼянма - Монголія - Макао О.А.Р. Китаю - Північні Маріанські Острови - Мартиніка - Мавританія - Монсеррат - Мальта - Маврикій - Мальдіви - Малаві - Мексика - Малайзія - Мозамбік - Намібія - Нова Каледонія - Нігер - Острів Норфолк - Нігерія - Нікарагуа - Нідерланди - Норвегія - Непал - Науру - Нія - Нова Зеландія - Оман - Панама - Перу - Французька Полінезія - Папуа Нова Гвінея - Філіппіни - Пакистан - Польща - Сен-Пʼєр і Мікелон - Піткерн - Пуерто-Ріко - Палестина - Португалія - Палау - Парагвай - Катар - Інша Океанія - Європейський Союз - Реюньйон - Румунія - Сербія - Росія - Руанда - Саудівська Аравія - Соломонові Острови - Сейшели - Судан - Швеція - Сінгапур - Острів Святої Єлени - Словенія - Острови Свальбард та Ян-Маєн - Словакія - Сьєрра-Леоне - Сан-Марино - Сенегал - Сомалі - Суринам - Сан-Томе і Прінсіпі - Сальвадор - Сирія - Свазіленд - Теркс і Кайкос - Чад - Французькі Південні Території - Того - Таїланд - Таджикистан - Токелау - Східний Тимор - Туркменистан - Туніс - Тонга - Туреччина - Тринідад і Тобаго - Тувалу - Тайвань - Танзанія - Україна - Уганда - Віддалені Острови США - США - Уругвай - Узбекистан - Ватикан - Сент-Вінсент і Гренадини - Венесуела - Віргінські острови Британії - Віргінські острови США - Вʼєтнам - Вануату - Уолліс і Футуна - Самоа - Ємен - Майот - ПАР - Замбія - Зімбабве - Невідомий або неправильний регіон - - - Традиційна німецька орфографія - Стандартизована резьянська орфографія - Нова німецька орфографія з 1996 р. - Пізньосередньофранцузська до 1606 - Східновірменський - Західновірменський - Уніфікований турецький латинський алфавіт - Діалект Сан-Джорджіо/Біла - Бунтлінг - Міжнародний фонетичний алфавіт - Уральський фонетичний алфавіт - Ліповазський діалект резьянської мови - Монотонічний - Натісонський діалект - Діалект Нджіва - Осоянський діалект - Політонічний - Комп'ютерний - Нова орфографія - Резьянський - Сахо - Шотландська англійська - Ліверпульський діалект - Діалект Столвіца/Солбіка - Орфографія Тараскевича - Валенсійська - - - Календар - Сортування - Валюта - - - Китайський традиційний - Буддійський календар - Китайський календар - Прямий порядок - Китайський спрощений - Григоріанський календар - Єврейський календар - Індійський світський календар - Мусульманський календар - Мусульманський світський календар - Японський календар - Телефонна книга - Порядок піньїн - Китайський григоріанський - Порядок натискання клавіш - Традиційний - - - США - Метрична - - - Мова з кодом {0} - Скрипт із кодом {0} - Територія з кодом {0} - - - - titlecase-firstword - lowercase-words - titlecase-firstword - lowercase-words - lowercase-words - lowercase-words - titlecase-firstword - - - [ʼ а-г ґ д е є ж-и і ї й-щ ь ю я] - [i v x] - [a-z] - - - « - » - „ - “ - - - - - - - - Тот - Бабе - Хатур - Кіхак - Тобе - Амшир - Барамхат - Бармуда - Башнас - Бауна - Абіб - Мисра - Насі - - - - - - - - - січ. - лют. - бер. - квіт. - трав. - черв. - лип. - серп. - вер. - жовт. - лист. - груд. - - - січня - лютого - березня - квітня - травня - червня - липня - серпня - вересня - жовтня - листопада - грудня - - - - - Січ - Лют - Бер - Кві - Тра - Чер - Лип - Сер - Вер - Жов - Лис - Гру - - - С - Л - Б - К - Т - Ч - Л - С - В - Ж - Л - Г - - - Січень - Лютий - Березень - Квітень - Травень - Червень - Липень - Серпень - Вересень - Жовтень - Листопад - Грудень - - - - - - - Нд - Пн - Вт - Ср - Чт - Пт - Сб - - - Неділя - Понеділок - Вівторок - Середа - Четвер - Пʼятниця - Субота - - - - - Н - П - В - С - Ч - П - С - - - - - - - I кв. - II кв. - III кв. - IV кв. - - - I квартал - II квартал - III квартал - IV квартал - - - - - 1 - 2 - 3 - 4 - - - - дп - пп - - - до нашої ери - нашої ери - - - до н.е. - н.е. - - - - - - EEEE, d MMMM y 'р'. - - - - - d MMMM y 'р'. - - - - - d MMM y - - - - - dd.MM.yy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - HH:mm - HH:mm:ss - H:mm - LLL - E, d MMM - E, d MMMM - d MMMM - d MMM - dd.MM - d - mm:ss - mm:ss - y - LLL y - EEE, d MMM y - LLLL y - MM.yy - LLL yy - Q yy - LLLL y - QQQQ y 'р'. - - - {0} – {1} - - M–M - - - E, dd.MM – E, dd.MM - E, dd.MM – E, dd.MM - - - LLL–LLL - - - E, d MMM – E, d MMM - E, d – E, d MMM - - - d MMM – d MMM - d–d MMM - - - dd.MM – dd.MM - dd.MM – dd.MM - - - d–d - - - HH–HH - - - HH:mm–HH:mm - HH:mm–HH:mm - - - HH:mm–HH:mm v - HH:mm–HH:mm v - - - HH–HH v - - - y–y - - - MM.yy – MM.yy - MM.yy – MM.yy - - - E, dd.MM.yy – E, dd.MM.yy - E, dd.MM.yy – E, dd.MM.yy - E, dd.MM.yy – E, dd.MM.yy - - - LLL–LLL y - LLL y – LLL y - - - E, d MMM – E, d MMM y - E, d – E, d MMM y - E, d MMM y – E, d MMM y - - - d MMM – d MMM y - d–d MMM y - d MMM y – d MMM y - - - dd.MM.yy – dd.MM.yy - dd.MM.yy – dd.MM.yy - dd.MM.yy – dd.MM.yy - - - - - - Ера - - - Рік - - - Місяць - - - Тиждень - - - День - Три дні тому - Позавчора - Вчора - Сьогодні - Завтра - Післязавтра - Через три дні з цього моменту - - - День тижня - - - Частина доби - - - Година - - - Хвилина - - - Секунда - - - Зона - - - - - - - - Тішри - Марчешван - Числьов - Тебет - Шеват - Адар Ⅰ - Адар - Нісан - Іар - Сиван - Таммуз - Аб - Елул - - - - - Адар I - - - - - - - - - Мухаррам - Сафар - Рабі I - Рабі II - Джумада I - Джумада II - Раджаб - Шаабан - Рамадан - Даввал - Зу-ль-каада - Зу-ль-хіджа - - - - - - - - - Фарвардін - Ордібехешт - Хордад - Тір - Мордад - Шахрівер - Мехр - Абан - Азер - Дей - Бахман - Есфанд - - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - Невідомо - - - Андора - - - Дубаї - - - Кабул - - - Антигуа - - - Анґілья - - - Тірана - - - Єреван - - - Кюрасао - - - Луанда - - - Ротера - - - Палмер - - - Південний полюс - - - Сьова - - - Моусон - - - Девіс - - - Восток - - - Кейсі - - - Дюмон-д'Юрвіль - - - Мак-Мердо - - - Ріо-Ґалеґос - - - Мендоса - - - Сан-Хуан - - - Ушуая - - - Ла-Ріоха - - - Сан-Луїс - - - Катамарка - - - Сальта - - - Жужуй - - - Тукуман - - - Кордоба - - - Буенос-Айрес - - - Паго Паго - - - Відень - - - Перт - - - Евкла - - - Дарвін - - - Аделаїда - - - Брокен-Гіл - - - Каррі - - - Мельбурн - - - Хобарт - - - Ліндеман - - - Сідней - - - Брисбен - - - Лорд-Хау - - - Аруба - - - Аландські острови - - - Баку - - - Сараєво - - - Барбадос - - - Дака - - - Брюссель - - - Уагадугу - - - Софія - - - Бахрейн - - - Бужумбура - - - Порто-Ново - - - Бермуди - - - Бруней - - - Ла-Пас - - - Ейрунепе - - - Ріо-Бранко - - - Порто-Велью - - - Боа-Віста - - - Манаус - - - Куяба - - - Сантарен - - - Кампу-Гранді - - - Белен - - - Арагуайна - - - Сан-Паулу - - - Байя - - - Форталеза - - - Масейо - - - Ресіфі - - - Норонья - - - Насау - - - Тхімпху - - - Габороне - - - Мінськ - - - Беліз - - - Доусон - - - Вайтгорс - - - Інувік - - - Ванкувер - - - Доусон-Крік - - - Єллоунайф - - - Едмонтон - - - Свіфт-Каррент - - - Кембридж-Бей - - - Реджайна - - - Вінніпеґ - - - Резолют - - - Рейні-Рівер - - - Ренкін-Інлет - - - Корал-Харбор - - - Тандер-Бей - - - Ніпігон - - - Торонто - - - Монреаль - - - Ікалуіт - - - Панґніртунґ - - - Монктон - - - Галіфакс - - - Гуз-Бей - - - Глейс-Бей - - - Бланк-Саблон - - - Сент-Джонс - - - Кокосові острови - - - Кіншаса - - - Лубумбаші - - - Бангі - - - Браззавіль - - - Цюріх - - - Абіджан - - - Раротонга - - - Острів Пасхи - - - Сантьяго - - - Дуала - - - Кашгар - - - Урумчі - - - Чунцин - - - Шанхай - - - Харбін - - - Богота - - - Коста Ріка - - - Гавана - - - Кабо-Верде - - - Острів Різдва - - - Нікосія - - - Прага - - - Берлін - - - Джибуті - - - Копенгаген - - - Домініка - - - Санто-Домінго - - - Алжир - - - Галапагоські острови (Еквадор) - - - Гуаякіль - - - Таллін - - - Каїр - - - Ель-Аюн - - - Асмера - - - Канари - - - Сеута - - - Мадрид - - - Аддис-Абеба - - - Гельсінкі - - - Фіджи - - - Стенлі - - - Трук - - - Понапе - - - Косрае - - - Фарерські острови - - - Париж - - - Лібревіль - - - Лондон - - - Гренада - - - Тбілісі - - - Кайенна - - - Ґернсі - - - Аккра - - - Гібралтар - - - Туле - - - Готхоб - - - Скорсбисун - - - Денмарксхавн - - - Банжул - - - Конакрі - - - Ґваделупа - - - Малабо - - - Афіни - - - Південна Джорджія - - - Гватемала - - - Гуам - - - Бісау - - - Ґайана - - - Гонконг - - - Тегусігальпа - - - Загреб - - - Порт-о-Пренс - - - Будапешт - - - Джакарта - - - Понтіанак - - - Макасар - - - Джайпур - - - Дублін - - - Єрусалим - - - Острів Мен - - - Калькутта - - - Чагос - - - Багдад - - - Тегеран - - - Рейк'явік - - - Рим - - - Джерсі - - - Ямайка - - - Амман - - - Токіо - - - Найробі - - - Бішкек - - - Пномпень - - - Ендербері - - - Кірітіматі - - - Тарава - - - Комори - - - Сент-Кітс і Невіс - - - Пхеньян - - - Сеул - - - Кувейт - - - Кайманові острови - - - Актау - - - Орал - - - Актобе - - - Кзил-Орда - - - Алмати - - - В’єнтьян - - - Бейрут - - - Сент-Лусія - - - Вадуц - - - Коломбо - - - Монровія - - - Масеру - - - Вільнюс - - - Люксембург - - - Рига - - - Тріполі - - - Касабланка - - - Монако - - - Кишинів - - - Подгориця - - - Антананаріву - - - Кваджалейн - - - Маджуро - - - Скоп'є - - - Бамако - - - Рангун - - - Говд - - - Улан-Батор - - - Чойбалсан - - - Макао - - - Сайпан - - - Мартініка - - - Нуакшот - - - Монсерат - - - Мальта - - - Маврикій - - - Мальдіви - - - Блантир - - - Тіхуана - - - Ермосільйо - - - Масатлан - - - Чіуауа - - - Монтерей - - - Мехіко - - - Меріда - - - Канкун - - - Куала-Лумпур - - - Кучінґ - - - Мапуту - - - Віндхук - - - Нумеа - - - Ніамей - - - Норфолк - - - Лагос - - - Манагуа - - - Амстердам - - - Осло - - - Катманду - - - Науру - - - Ніуе - - - Чатем - - - Окленд - - - Маскат - - - Панама - - - Ліма - - - Таїті - - - Маркизькі о-ви - - - Гамбер - - - Порт-Морсбі - - - Маніла - - - Карачі - - - Варшава - - - Мікелон - - - Піткерн - - - Пуерто Ріко - - - Газа - - - Азорські острови - - - Мадейра - - - Лісабон - - - Палау - - - Асунсьйон - - - Катар - - - Реюньйон - - - Бухарест - - - Белград - - - Калінінград - - - Москва - - - Волгоград - - - Самара - - - Єкатеринбург - - - Омськ - - - Новосибірськ - - - Красноярськ - - - Іркутськ - - - Якутськ - - - Владивосток - - - Сахалін - - - Магадан - - - Камчатка - - - Анадир - - - Кігалі - - - Ер-Ріяд - - - Гвадалканал - - - Махе - - - Хартум - - - Стокгольм - - - Сингапур - - - Острів Святої Єлени - - - Любляна - - - Лонгербюйн - - - Братислава - - - Фрітаун - - - Сан-Маріно - - - Дакар - - - Могадішо - - - Парамарібо - - - Сан-Томе і Принсіпі - - - Сальвадор - - - Дамаск - - - Мбабане - - - Гранд-Терк - - - Нджамена - - - Острів Кергелен - - - Ломе - - - Бангкок - - - Душанбе - - - Факаофо - - - Ділі - - - Ашгабат - - - Туніс - - - Тонгатапу - - - Стамбул - - - Порт-оф-Спейн - - - Фунафуті - - - Тайпей - - - Дар-ес-Салаам - - - Ужгород - - - Київ - - - Сімферополь - - - Запоріжжя - - - Кампала - - - Мідуей - - - Джонстон - - - Вейк - - - Адак - - - Ном - - - Гонолулу - - - Анкоридж - - - Якутат - - - Джуно - - - Лос-Анджелес - - - Бойсе - - - Фінікс - - - Шипрок - - - Денвер - - - Нью-Салем - - - Центр - - - Чикаго - - - Меноміні - - - Вінсенс - - - Петербург - - - Телл-сіті - - - Нокс - - - Вінамак - - - Маренго - - - Індіанаполіс - - - Луїсвілль - - - Вівей - - - Монтичелло - - - Детройт - - - Нью-Йорк - - - Монтевідео - - - Самарканд - - - Ташкент - - - Ватикан - - - Сент-Вінсент - - - Каракас - - - Тортола - - - Сент-Томас - - - Сайгон - - - Ефате - - - Уолліс - - - Апіа - - - Аден - - - Майорка - - - Йоганнесбург - - - Лусака - - - Хараре - - - - за центральноафриканським часом - - - - - за східноафриканським часом - - - - - за південноафриканським часом - за південноафриканським стандартним часом - - - - - за західноафриканським часом - за західноафриканським літнім часом - - - - - за північноамериканським центральним часом - за північноамериканським центральним стандартним часом - за північноамериканським центральним літнім часом - - true - - - - за північноамериканським східним часом - за північноамериканським східним стандартним часом - за північноамериканським східним літнім часом - - true - - - - за північноамериканським гірним часом - за північноамериканським гірним стандартним часом - за північноамериканським гірним літнім часом - - true - - - - за північноамериканським тихоокеанським часом - за північноамериканським тихоокеанським стандартним часом - за північноамериканським тихоокеанським літнім часом - - true - - - - за вірменським часом - за вірменським літнім часом - - - - - за атлантичним часом - за атлантичним стандартним часом - за атлантичним літнім часом - - - - - за центральноєвропейським часом - за центральноєвропейським літнім часом - - - - - за східноєвропейським часом - за східноєвропейським літнім часом - - - - - за західноєвропейським часом - за західноєвропейським літнім часом - - - - - за Грінвічем - - true - - - - за іранським стандартним часом - за іранським літнім часом - - - - - за іркутським часом - за іркутським літнім часом - - true - - - - за ізраїльським часом - - - - - за японським часом - за японським літнім часом - - - - - за камчатським часом - за камчатським літнім часом - - true - - - - за красноярським часом - за красноярським літнім часом - - true - - - - за куйбишевським часом - за куйбишевським літнім часом - - - - - за магаданським часом - за магаданським літнім часом - - true - - - - за московським часом - за московським стандартним часом - за московським літнім часом - - true - - - - за новосибірським часом - за новосибірським літнім часом - - - - - за омським часом - за омським літнім часом - - true - - - - за самарським часом - з·а самарським літнім часом - - - - - за турецьким часом - за турецьким літнім часом - - - - - за владивостоцьким часом - за владивостоцьким літнім часом - - true - - - - за волгоградським часом - за волгоградським літнім часом - - - - - за якутським часом - за якутським літнім часом - - true - - - - за єкатеринбурзьким часом - за єкатеринбурзьким літнім часом - - true - - - - - - , -   - ; - % - 0 - # - + - - - ‰ - ∞ - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - #,##0.00 ¤ - - - {0} {1} - {0} {1} - {0} {1} - - - - Андоррська песета - Андоррські песети - Андоррських песет - Андоррських песет - - - Дирхем ОАЕ - - - Афгані (1927-2002) - - - Афгані - Афгані - - - Албанський лек - Албанські леки - Албанських леків - албанських леків - - - Вірменський драм - вірменські драми - Вірменських драмів - Вірменських драмів - - - Гульден Нідерландських Антіл - - - Ангольська кванза - ангольські кванзи - ангольських кванз - ангольської кванзи - - - Ангольська кванза (1977-1990) - Ангольські кванзи (1977-1990) - Ангольських кванз (1977-1990) - Ангольської кванзи (1977-1990) - - - Ангольська нова кванза (1990-2000) - Ангольські нові кванзи (1990-2000) - ангольських нових кванз (1990-2000) - Ангольської нової кванзи (1990-2000) - - - Ангольська кванза реаджастадо (1995-1999) - ангольські кванзи реаджастадо (1995-1999) - ангольських кванз реаджастадо (1995-1999) - ангольська кванза реаджастадо (1995-1999) - ангольської кванзи реаджастадо (1995-1999) - - - Аргентинський австрал - Аргентинські австрали - Аргентинських австралів - - - Аргентинський песо (1983-1985) - - - Аргентинський песо - - - Австрійський шилінг - - - Австралійський долар - - - Арубський гульден - - - Азербайджанський манат (1993-2006) - - - Азербайджанський манат - - - Динар (Боснія і Герцеговина) - - - Конвертована марка Боснії і Герцоговини - - - Барбадоський долар - - - Бангладеська така - - - Бельгійський франк (конвертований) - - - Бельгійський франк - - - Бельгійський франк (фінансовий) - - - Болгарський твердий лев - - - Б‘‘олгарський новий лев - - - Бахрейнський динар - - - Бурундійський франк - - - Бермудський долар - - - Брунейський долар - - - Болівіано - - - Болівійське песо - - - Болівійський мвдол - - - Бразильське нове крузейро (1967-1986) - - - Бразильське крузадо - - - Бразильське крузейро (1990-1993) - - - Бразильський реал - - - Бразильське нове крузадо - - - Бразильське крузейро - - - Багамський долар - - - Бутанський нгултрум - - - Бірманський кіат - - - Ботсванська пула - - - Білоруський новий рубль (1994-1999) - білоруські нові рублі (1994-1999) - білоруських нових рублів (1994-1999) - - - Білоруський рубль - білоруські рублі - білоруських рублів - - - Белізький долар - - - Канадський долар - - - Конголезький франк - - - Євро WIR - - - Швейцарський франк - - - Франк WIR - - - Чилійський юнідадес де фоменто - - - Чілійський песо - - - Китайський юань - - - Колумбійський песо - - - Одиниця реальної вартості - - - Костариканський колон - - - Старий сербський динар - - - Чехословацька тверда крона - - - Кубинський песо - - - Ескудо Кабо-Верде - - - Кіпрський фунт - - - Чеська крона - - - Марка НДР - - - Німецька марка - - - Джибутійський франк - - - Датська крона - - - Домініканський песо - - - Алжирський динар - - - Еквадорський сукре - - - Еквадорський юнідад де валор константе - - - Естонська крона - - - Єгипетський фунт - - - Еритрейська накфа - - - Іспанська песета ("А" рахунок) - - - Іспанська песета (конвертовані рахунки) - - - Іспанська песета - - - Ефіопський бір - - - Євро - євро - євро - євро - - - Фінляндська марка - - - Долар Фіджі - - - Фолклендський фунт - - - Французький франк - - - Англійський фунт стерлінгів - - - Грузинський купон - грузинські купони - грузинських купонів - - - Грузинський ларі - - - Ганський седі (1979-2007) - - - Ганський седі - - - Гібралтарський фунт - - - Гамбійська даласі - - - Гвійнейський франк - - - Гвінейське сілі - - - Еквеле (Екваторіальна Ґвінея) - - - Грецька драхма - - - Гватемальський кетсаль - - - Ескудо Португальської Гвінеї - - - Песо Гвінеї-Бісау - - - Гайянський долар - - - Гонконгівський долар - - - Гондураська лемпіра - - - Хорватський динар - - - Хорватська куна - - - Гаїтянський гурд - - - Угорський форинт - - - Індонезійська рупія - - - Ірландський фунт - - - Ізраїльський фунт - - - Ізраїльський новий шекель - - - Індійська рупія - - - Іракський динар - - - Іранський ріал - - - Ісландська крона - - - Італійська ліра - - - Ямайський долар - - - Йорданський динар - - - Японська єна - ¥ - - - Кенійський шилінг - - - Киргизький сом - - - Камбоджійський рієль - - - Коморський франк - - - Вона Північної Кореї - - - Вона Південної Кореї - - - Кувейтський динар - - - Долар Кайманових островів - - - Казахстанський тенге - - - Лаоський кіп - - - Ліванський фунт - - - Шрі-ланкійська рупія - - - Ліберійський долар - - - Лесотський лоті - - - Литовський літ - - - Литовський талон - - - Люксембурґський франк (Конвертований) - - - Люксембурзький франк - - - Люксембурґський франк (Фінансовий) - - - Латвійський лат - - - Латвійський рубль - - - Лівійський динар - - - Марокканський дирхем - - - Марокканський франк - - - Молдовський лей - - - Мадагаскарський аріарі - - - Мадагаскарський франк - - - Македонський динар - - - Малійський франк - - - Кʼят Мʼянми - - - Монгольський тугрик - - - Макао патака - - - Мавританська угія - - - Мальтійська ліра - - - Мальтійський фунт - - - Маврикійська рупія - - - Мальдівська руфія - - - Квача (Малаві) - - - Мексиканське песо - - - Мексиканське срібне песо (1861-1992) - - - Мексиканський юнідад де інверсіон - - - Малайзійський рингіт - - - Мозамбіцький ескудо - - - Старий мозамбіцький метикал - - - Мозамбіцький метикал - - - Намібійський долар - - - Нігерійська найра - - - Нікарагуанська кордоба - - - Нікарагуанська кордоба оро - - - Нідерландський гульден - - - Норвезька крона - - - Непальська рупія - - - Новозеландський долар - - - Оманський ріал - - - Панамська бальбоа - - - Перуанський інті - - - Перуанський новий сол - - - Перуанський сол - - - Кіна Папуа Нової Гвінеї - - - Філіппінське песо - - - Пакистанська рупія - - - Польський злотий - - - Польський злотий (1950-1995) - - - Португальський ескудо - - - Парагвайський гуарані - - - Катарський ріал - - - Родезійський долар - - - Старий румунський лей - - - Румунський лей - - - Сербський динар - - - Російський рубль - російські рублі - російських рублів - Російський рубль - руб. - - - Російський рубль (1991-1998) - російські рублі (RUR) - російських рублів (RUR) - російський рубль (RUR) - - - Руандійський франк - - - Саудівський ріал - - - Долар Соломонових Островів - - - Сейшельська рупія - - - Суданський динар - - - Суданський фунт - - - Старий суданський фунт - - - Шведська крона - - - Сінгапурський долар - - - Фунт Святої Єлени - - - Словенський толар - - - Словацька крона - - - Леоне Сьєрра-Леоне - - - Сомалійський шилінг - - - Суринамський долар - - - Суринамський гульден - - - Добра Сан-Томе і Прінсіпі - - - Радянський рубль - радянські рублі - радянських рублів - радянський рубль - - - Сальвадорський колон - - - Сирійський фунт - - - Свазілендські лілангені - - - Таїландський бат - - - Таджицький рубль - - - Таджицький сомоні - - - Туркменський манат - - - Туніський динар - - - Паанга Тонго - - - Тіморський ескудо - - - Стара турецька ліра - старі турецькі ліри - старих турецьких лір - стара турецька ліра - - - Турецька ліра - турецькі ліри - турецьких лір - турецька ліра - - - Долар Тринідаду і Тобаго - - - Новий тайванський долар - - - Танзанійський шилінг - - - Українська гривня - гривні - гривень - гривня - гривні - - - Український карбованець - українські карбованці - українських карбованців - український карбованець - українського карбованця - крб. - - - Угандійський шилінг (1966-1987) - - - Угандійський шилінг - - - Долар США - $ - - - Долар США (наступного дня) - - - Долар США (цього дня) - - - Уругвайський песо в індексованих одиницях - - - Уругвайське песо (1975-1993) - - - Уругвайське песо - - - Узбецький сум - - - Венесуельський болівар - - - Венесуельський болівар фуерте - - - Вʼєтнамський донг - - - Вануатська вату - - - Тала Західного Самоа - - - Франк Центральноафриканського фінансового товариства - - - Срібло - - - Золото - - - Європейська складена валютна одиниця - - - Одиниця Європейського валютного фонду - - - Європейська розрахункова одиниця XBC - - - Європейська розрахункова одиниця XBD - - - Східнокарибський долар - - - Спеціальні права запозичення - - - Європейська валютна одиниця - - - Французький золотий франк - - - Французький франк UIC - - - Франк Західноафриканського фінансового товариства - - - Паладій - - - Французький тихоокеанський франк - - - Платина - - - Фонди RINET - - - Код тестування валюти - - - Невідома грошова одиниця - невідомі грошові одиниці - невідомих грошових одиниць - невідома грошова одиниця - - - Єменський динар - - - Єменський ріал - - - Югославський твердий динар - - - Югославський новий динар - - - Югославський конвертований динар - - - Південноафриканський фінансовий ранд - - - Південноафриканський ранд - - - Квача (Замбія) - - - Заїрський новий заїр - - - Заїрський заїр - - - Зімбабвійський долар - - - - - - {0} дні - {0} днів - {0} день - {0} дня - - - {0} години - {0} годин - {0} година - {0} години - - - {0} хвилини - {0} хвилин - {0} хвилина - {0} хвилини - - - {0} місяці - {0} місяців - {0} місяць - {0} місяця - - - {0} секунди - {0} секунд - {0} секунда - {0} секунди - - - {0} тижні - {0} тижнів - {0} тиждень - {0} тижня - - - {0} роки - {0} років - {0} рік - {0} року - - - - - так:т - ні:н - - - - diff --git a/lib/zend/Zend/Locale/Data/uk_UA.xml b/lib/zend/Zend/Locale/Data/uk_UA.xml deleted file mode 100644 index 71b534bd0f..0000000000 --- a/lib/zend/Zend/Locale/Data/uk_UA.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/ur.xml b/lib/zend/Zend/Locale/Data/ur.xml deleted file mode 100644 index 93acfb30b4..0000000000 --- a/lib/zend/Zend/Locale/Data/ur.xml +++ /dev/null @@ -1,1020 +0,0 @@ - - - - - - - - - - - ايفريکانز - امہاری - عربی - آسامی - آزربائیجانی - بيلاروسی - بلغاری - بِہاری - بنگالی - برِیٹن - بوسنی - کاٹالانين - چيک - ويلش - ڈينش - جرمن - يونانی - انگريزی - برطانوی انگریزی - امریکہ کی انگریزی - ايسپرانٹو - ہسپانوی - اسٹونين - باسکی - فارسی - فنّنِش - ٹيگالاگی - فیروئیز - فرانسيسی - فريژين - آئيرِش - سکاٹ گيلِک - گاليشيائی - گُارانی - گجراتی - عبرانی - ہندی - کراتی - ہنگیرین - ارمینی - انٹرلنگوی - انڈونيثيائی - برفستانی - اطالوی - جاپانی - جاوی - جارجی - کمبوڈیَن - کنّاڈا - کورين - كردش - کرغیزی - لاطينی - لِنگَلا - لاؤشِیَن - لتھُواینین - ليٹوين - مقدونيائی - مالايالم - منگؤلی - مراٹهی - مالائی - مالٹی - نيپالی - ڈچ - نورویجینی (نینورسک) - نارويجين - آکيٹانی - اورِیا - پنجابی - پولستانی - پشتو - پُرتگالی - پرتگالی (ﺑﺮﺍﺯﻳﻞ) - پرتگالی (پرتگال) - رومنی - روسی - سَنسکرِت - سندھی - سربو-کروئیشین - سنہالی - سلاواکی - سلوينی - سومالی - البانی - صربی - سیسوتھو - سُوڈانی - سويڈش - سواہیلی - تامِل - تيلوگو - تهائی - تگرینی - ترکمانی - ٹیگا لوگ - کلنگان - ترکی - توی - اُئِیگُور - يُوکرينی - اردو - ازبک - ويتنامی - خوسہ - يادش - چینی (آسان کردہ) - چینی (روایتی) - زُولُو - - - - - - - - متحدہ عرب امارات - افغانستان - انٹیگوا اور باربودا - البانیا - آر مینیا - نیدرلینڈز انٹیلیز - انگولا - انٹار ٹکا - ارجنٹینا - امریکی ساموا - آسٹریا - آسٹریلیا - آذر بائجان - بوسنیا ہرزگوینا - بنگلا دیش - بیلجئیم - برکینا فاسو - بلغاریہ - برنڈی - بینن - بولیویا - برازیل - باھا ماس - بھوٹان - جزیرہ بووٹ - بوٹسوانا - بیلا رس - کینیڈا - جزائر کوکوز - کانگو، جمہوری ریاست - جمہوریہ وسطی افریقہ - کانگو - سوئزر لینڈ - جزائر کُک - چلی - کیمرون - چین - کولمبیا - سربیا اور مانٹینیگرو - کیوبا - جزیرہ کرسمس - قبرص - جمہوریہ چیک - جرمنی - ڈنمارک - ڈومینیکن ریپبلک - الجیریا - ایکواڈور - ایسٹونیا - مصر - مغربی صحارا - اریٹیریا - سپین - ایتھوپیا - فن لینڈ - جزائر فاک لینڈ - مائکرونیزیا - جزائرفارو - فرانس - غیبون - برطانیہ - جارجیا - فرانسیسی گی آنا - گرنزی - گھانا - گرین لینڈ - گیمبیا - گنی - استوائی گنی - یونان - جنوبی جارجیا اور جزائر جنوبی سینڈوچ - گنی بسائو - جزیرہ ہرڈ اور جزائر مکڈونلڈ - ہونڈوراس - کروشیا - ہائٹی - ہنگری - انڈونیشیا - آئر لینڈ - اسرائیل - بھارت - بحرھند کا برٹش علاقہ - عراق - ایران - آئس لینڈ - اٹلی - جرسی - اردن - جاپان - کینیا - کرغستان - کمبوڈیا - کِرباتی - کوموروس - سینٹ کٹس اور نیوس - شمالی کوریا - جنوبی کوریا - جزائر کیمن - قزاقستان - لاؤس - لبنان - سینٹ لوسیا - لکٹنسٹائن - سری لنکا - لائبیریا - لیسوتھو - لتھوانیا - لٹوِیا - لیبیا - مراکش - مالدووا - مڈغاسکر - جزائر مارشل - مقدونیہ - مالی - میانمر - منگولیا - ماکاؤ - شمالی ماریاناجزائر - موریطانیہ - ملاوی - میکسیکو - ملائیشیا - موزنبیق - نمیبیا - نیو کیلیڈونیا - نائیجر - جزیرہ نارفولک - نائیجیریا - نکاراگوا - نیدرلینڈ - ناروے - نیپال - نیوزی لینڈ - عمان - پیرو - فرانسیسی پولینیسیا - پاپوا نیو گنی - فلپائن - پاکستان - پولینڈ - سینٹ پائرے اور میکویلون - فلسطین - پرتگال - پیراگوئے - رومانیہ - روس - روانڈا - سعودی عرب - جزائرسولمون - سے شلز - سوڈان - سویڈن - سینٹ ھیلینا - سلوانیہ - سلوواکیہ - سیرالیون - سان میرینو - سینیگال - صوپالیہ - سورینام - سیریا - سوازی لینڈ - جزائر کیکس اور ترکیّہ - چاڈ - جنوبی فرانسیسی علاقہ جات - ٹوگو - تھائی لینڈ - تاجکستان - ٹوکیلاؤ - مشرقی تیمور - ترکمانستان - تیونس - تونگا - ترکی - ٹرینیڈاڈ اور ٹوباگو - ٹوالو - تائیوان - تنزانیہ - یوکرائن - یوگنڈا - ریاست ہائے متحدہ اور بیرونی جزائر - ریاست ہائے متحدہ امریکا - ہوراگوئے - ازبکستان - ویٹیکن سٹی - سینٹ کیرن اور گریناڈائنز - وینزولا - جزائر ورجن، برٹش - جزائر ورجن، امریکہ - ویت نام - وانواٹو - والس اور فتونہ - ساموا - یمن - جنوبی افریقہ - زیمبیا - زمبابوے - Unknown or Invalid Region - - - کیلنڈر - موازنہ - کرنسی - - - روایتی چینی چھانٹ ترتیب-Big5 - بدھ کیلنڈر - روایتی چینی کیلنڈر - بلاواسطہ چھانٹ ترتیب - سادہ چینی چھانٹ ترتیب-GB2312 - گریگوری کیلنڈر - عبرانی کیلنڈر - ہندی کیلنڈر - اسلامی کیلنڈر - ہجری کیلنڈر - جاپانی کیلنڈر - فون نامہ چھانٹ ترتیب - پن ین چھانٹ ترتیب - سادہ چینی کیلنڈر - لکیری چھانٹ ترتیب - روایتی چھانٹ ترتیب - - - امریکی - اعشاری - - - زبان:{0} - رسم الخط:{0} - خطہ:{0} - - - - - - - [أ ؤ ا آ ب پ ت ٹ ث ج چ ح-د ڈ ذ ر ڑ ز ژ س-غ ف ق ک گ ل-ن ں و ہ ی ء ئ ے ٻ ة ٺ ټ ٽ ه ھ ي] - [\u0610 \u0611 \u0613 \u0614 \u064E \u0650 \u064F \u0670 \u064B \u0651] - - - - - - - - جنوری - فروری - مار چ - اپريل - مئ - جون - جولائ - اگست - ستمبر - اکتوبر - نومبر - دسمبر - - - - - ج - ف - م - ا - م - ج - ج - ا - س - ا - ن - د - - - - - - - ا - پ - م - ب - ج - ج - ہ - - - اتوار - پير - منگل - بده - جمعرات - جمعہ - ہفتہ - - - - - - - 1سہ ماہی - 2سہ ماہی - 3سہ ماہی - 4سہ ماہی - - - پہلی سہ ماہی - دوسری سہ ماہی - تيسری سہ ماہی - چوتهی سہ ماہی - - - - قبل دوپہر - بعد دوپہر - - - قبل مسيح - عيسوی سن - - - ق م - عيسوی سن - - - - - - EEEE, d, MMMM y - - - - - d, MMMM y - - - - - d, MMM y - - - - - d/M/yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - HH:mm - LL - E, M-d - LLL - E MMM d - E MMMM d - MMMM d - MMM d - M-d - د - mm:ss - y - yyyy-M - EEE, yyyy-d-M - y MMM - EEE, y MMM d - y MMMM - Q yyyy - y QQQ - yy Q - - - {0} – {1} - - M تا M - - - E, MM-dd تا E, MM-dd - E, MMM dd – E, MMM dd - - - LLL-LLL - - - E, MMM d – E, MMM d - E, MMM d – E, MMM d - - - LLLL-LLLL - - - MMM d تا MMM d - MMM d تا d - - - MM-dd تا MM-dd - M/d تا d - - - d-d - - - h a تا h a - h–h a - - - h:mm a تا h:mm a - h:mm تا h:mm a - h:mm تا h:mm a - - - h:mm a – h:mm a v - h:mm تا h:mm a v - h:mm تا h:mm a v - - - h a – h a v - h تا h a v - - - y تا y - - - yyyy-MM تا MM - yyyy-MM تا yyyy-MM - - - E, yyyy-MM-dd – E, yyyy-MM-dd - E, yyyy-MM-dd تا E, yyyy-MM-dd - E, yyyy-MM-dd – E, yyyy-MM-dd - - - MMM–MMM y - MMM–MMM y - - - E, MMM d – E, MMM d, y - E, MMM d – E, MMM d, y - E, MMM d, y تا E, MMM d, y - - - yyyy-MM تا MM - yyyy-MM تا yyyy-MM - - - MMM d تا MMM d, y - MMM d–d, y - MMM d, y تا MMM d, y - - - yyyy-MM-dd تا MM-dd - yyyy-MM-dd تا dd - MM-dd-yyyy تا MM-dd-yyyy - - - - - - دور - - - سال - - - مہینہ - - - ہفتہ - - - دن - ترسوں - پرسوں - کل - آج - کل - پرسوں - ترسوں - - - ہفتے کا دن - - - رات/صبح - - - گھنٹہ - - - منٹ - - - سیکنڈ - - - زون - - - - - - - - محرم - صفر - ر بيع الاول - ر بيع الثانی - جمادی الاول - جمادی الثانی - رجب - شعبان - رمضان - شوال - - - - - - عيسوی سن - - - ق م - CE - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - Unknown - - - انڈورا - - - انگویلا - - - اروبا - - - بار باڈوس - - - بحرین - - - برمودہ - - - برونائی - - - بیلیز - - - کوسٹا ریکا - - - کیپ ورڈ - - - جبوتی - - - ڈومینیکا - - - فجی - - - غرناطہ - - - جبرالٹر - - - گواڈیلوپ - - - گوئٹے مالا - - - گوام - - - گیانا - - - ہانگ کانگ - - - جمائیکا - - - کویت - - - لیگزمبرگ - - - موناکو - - - مکائو - - - مارٹنیک - - - مونٹ سراٹ - - - مالٹا - - - ماریشس - - - مالدیپ - - - نورو - - - نیوئے - - - پانامہ - - - پٹ کیرن - - - پورٹو ریکو - - - پالائو - - - قطر - - - ری یونین - - - سنگاپور - - - ایلسلواڈور - - - مایوٹ - - - - - - . - , - ; - % - 0 - # - + - - - ق - ‰ - ∞ - یہ عدد نہیں - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤#,##0.00 - - - ‏{0} {1} ‏ - - - - متحدہ عرب اماراتی درہم - - - ارجنٹائن پیسہ - - - آسٹریلین ڈالر - - - بلغارین لیو - - - بولیوین بولیویانو - - - برازیلی ریئل - - - کنیڈین ڈالر - - - سوئس فرانکس - - - چلّین پیسہ - - - یوآن رینمنبی - - - کولمبین پیسہ - - - چیک کرونا - - - ڈچ مارکس - - - ڈنمارک کرونر - - - ایسٹونین کرون - - - مصری پائونڈ - - - یورو - - - فرانسیسی فرانک - - - انگلستانی پاونڈ سٹرلنگ - - - ھانگ کانگ ڈالر - - - کروشین کونا - - - ہنگرین فورنٹ - - - انڈونیشین روپیہ - - - اسرائیلی شیکل - - - انڈین روپیہ - - - جاپانی ین - - - جنوبی کوریائی جیتا۔ - - - لیتھوانی لیٹاس - - - مراکشی درہم - - - میکسیکی پیسہ - - - ملائیشین رنگٹ - - - ناروے کرونر - - - نیوزی لینڈ ڈالر - - - پیروین نیووسول - - - فلپائینی پیسہ - - - پاکستانی روپیہ - روپے - - - پولش نیو زلوٹی - - - نیا رومانیائی لیو - - - سربین دینار - - - روسی روبل - - - سعودی ریال - - - سویڈن کرونر - - - سنگا پور ڈالر - - - سلوانین ٹولر - - - سلووک کرونا - - - تھائی باہت - - - ترکی لیرا - - - نیا ترکی لیرا - - - نیو تائیوان ڈالر - - - امریکی ڈالر - ڈالر - - - وینزویلا بولیور - - - جنوبی افریقی رانڈ - - - - - - yes:y - no:n - - - diff --git a/lib/zend/Zend/Locale/Data/ur_IN.xml b/lib/zend/Zend/Locale/Data/ur_IN.xml deleted file mode 100644 index 2786573a79..0000000000 --- a/lib/zend/Zend/Locale/Data/ur_IN.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - #,##,##0.### - - - - - - - #,##,##0% - - - - - - - ¤ #,##,##0.00 - - - - - diff --git a/lib/zend/Zend/Locale/Data/ur_PK.xml b/lib/zend/Zend/Locale/Data/ur_PK.xml deleted file mode 100644 index e829a66a1e..0000000000 --- a/lib/zend/Zend/Locale/Data/ur_PK.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/uz.xml b/lib/zend/Zend/Locale/Data/uz.xml deleted file mode 100644 index 4cd49ec5ab..0000000000 --- a/lib/zend/Zend/Locale/Data/uz.xml +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - - - - - Арабча - Олмонча - Инглизча - Испанча - Французча - Ҳиндча - Италянча - Японча - Португалча - Русча - Ўзбек - Хитойча - - - - - - - - Афғонистон - Бразилия - Хитой - Олмония - Франция - Бирлашган Қироллик - Ҳиндистон - Италия - Япония - Россия - Қўшма Штатлар - Ўзбекистон - - - - [а-г ғ д е ё ж-к қ л-у ў ф х ҳ ч ш ъ э-я] - [ц щ ы ь] - - - - - - - - Янв - Фев - Мар - Апр - Май - Июн - Июл - Авг - Сен - Окт - Ноя - Дек - - - Муҳаррам - Сафар - Рабиул-аввал - Рабиул-охир - Жумодиул-уло - Жумодиул-ухро - Ражаб - Шаъбон - Рамазон - Шаввол - Зил-қаъда - Зил-ҳижжа - - - - - Я - Ф - М - А - М - И - И - А - С - О - Н - Д - - - - - - - Якш - Душ - Сеш - Чор - Пай - Жум - Шан - - - якшанба - душанба - сешанба - чоршанба - пайшанба - жума - шанба - - - - - Я - Д - С - Ч - П - Ж - Ш - - - - - - - EEEE, y MMMM dd - - - - - y MMMM d - - - - - y MMM d - - - - - yy/MM/dd - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - Q yy - yyyy/M - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - کابل - - - - افغانستان وقتی - - - - - - - , -   - - - - Бразил реали - - - Хитой юани - - - Евро - - - Инглиз фунт стерлинги - - - Ҳинд рупияси - - - Япон йенаси - - - Рус рубли - - - АҚШ доллари - - - Ўзбекистон сўм - сўм - - - - diff --git a/lib/zend/Zend/Locale/Data/uz_AF.xml b/lib/zend/Zend/Locale/Data/uz_AF.xml deleted file mode 100644 index fd38cc0d20..0000000000 --- a/lib/zend/Zend/Locale/Data/uz_AF.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/uz_Arab.xml b/lib/zend/Zend/Locale/Data/uz_Arab.xml deleted file mode 100644 index b4c5b55957..0000000000 --- a/lib/zend/Zend/Locale/Data/uz_Arab.xml +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - - - - - - Afgʿoniston - Braziliya - Xitoy - Olmoniya - Fransiya - Birlashgan Qirollik - Hindiston - Italiya - Yaponiya - Rossiya - Qo'shma Shtatlar - Oʿzbekiston - - - - [a-v x-z ʿ] - - - - - - - - Yanv - Fev - Mar - Apr - May - Iyun - Iyul - Avg - Sen - Okt - Noya - Dek - - - - - Y - F - M - A - M - I - I - A - S - O - N - D - - - - - - - Yaksh - Dush - Sesh - Chor - Pay - Jum - Shan - - - yakshanba - dushanba - seshanba - chorshanba - payshanba - juma - shanba - - - - - Y - D - S - C - P - J - S - - - - - - - - - Muharram - Safar - Rabiul-avval - Rabiul-oxir - Jumodiul-ulo - Jumodiul-uxro - Rajab - Shaʿbon - Ramazon - Shavvol - Zil-qaʿda - Zil-hijja - - - - - - - - - - Brazil reali - - - Xitoy yuani - - - Evro - - - Ingliz funt sterlingi - - - Hind rupiyasi - - - Yapon yenasi - - - Rus rubli - - - AQSH dollari - - - Oʿzbekiston soʿm - soʿm - - - - diff --git a/lib/zend/Zend/Locale/Data/uz_Latn_UZ.xml b/lib/zend/Zend/Locale/Data/uz_Latn_UZ.xml deleted file mode 100644 index e2d8094a82..0000000000 --- a/lib/zend/Zend/Locale/Data/uz_Latn_UZ.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - - Thế giới - Châu Phi - Bắc Mỹ - Nam Mỹ - Châu Đại Dương - Tây Phi - Trung Mỹ - Đông Phí - Bắc Phi - Trung Phi - Miền Nam Châu Phi - Châu Mỹ - Miền Bắc Châu Mỹ - Ca-ri-bê - Đông Á - Nam Á - Đông Nam Á - Nam Âu - Úc và New Zealand - Melanesia - Vùng Micronesian - Polynesia - Trung Nam Á - Châu Á - Trung Á - Tây Á - Âu Châu - Đông Âu - Miền Bắc Châu Âu - Tây Âu - Châu Mỹ La-tinh và Ca-ri-be - Andorra - Các Tiểu Vương quốc A-rập Thống nhất - Áp-ga-ni-xtan - An-ti-gu-a và Ba-bu-đa - An-ba-ni - Ác-mê-ni-a - Tây Ấn Hà Lan - Ăng-gô-la - Nam Cực - Ác-hen-ti-na - Đảo Somoa thuộc Mỹ - Áo - Úc - Quần đảo Aland - Ai-déc-bai-gian - Bô-xni-a Héc-xê-gô-vi-na - Bác-ba-đốt - Băng-la-đét - Bỉ - Buốc-ki-na Pha-xô - Bun-ga-ri - Ba-ren - Bu-run-đi - Bê-nanh - BL - Bru-nây - Bô-li-vi-a - Bra-xin - Ba-ha-ma - Bu-tan (Bhutan) - Đảo Bouvet (Na Uy) - Bốt-xoa-na - Bê-la-rút - Bê-li-xê - Ca-na-đa - Quần đảo Cocos - Cộng hoà dân chủ Côngô - Cộng hòa Trung Phi - Công-gô - Thụy Sĩ - Bờ Biển Ngà - Quần Đảo Cook - Chi-lê - Ca-mơ-run - Trung Quốc - Cô-lôm-bi-a - Cốt-xta Ri-ca - Séc-bia - Cu Ba - Cáp-ve - Đảo Giáng Sinh - Síp - Cộng hòa Séc - Đức - Gi-bu-ti - Đan Mạch - Cộng hoà Đô-mi-ni-ca - An-giê-ri - Ê-cu-a-đo - E-xtô-ni-a - Ai Cập - Tây Sahara - Ê-ri-tơ-rê-a - Tây Ban Nha - Ê-ti-ô-pi-a - Phần Lan - Phi-gi - Quần Đảo Falkland - Mi-crô-nê-xi-a - Quần Đảo Faroe - Pháp - Ga-bông - Vương quốc Anh - Grê-na-đa - Gru-di-a - Quiana thuộc Pháp - Guernsey - Gha-na - Băng Đảo - Găm-bi-a - Ghi-nê - Ghi-nê Xích-đạo - Hy Lạp - Quần đảo Nam Georgia và Nam Sandwich - Goa-tê-ma-la - Đảo Gu-am - Ghi-nê Bít-xao - Guy-a-na - Đặc khu hành chính Hồng Kông thuộc CHND Trung Hoa - Đảo Heard và Quần đảo McDonald - Hôn-đu-rát - Crô-a-ti-a - Ha-i-ti - Hung-ga-ri - Nam Dương - Ai-len - I-xra-en - Đảo Man - Ấn Độ - Thuộc địa Anh tại Ấn Độ Dương - I-rắc - I-ran - Ai-xơ-len - Ý - Jersey - Ha-mai-ca - Gióc-đa-ni - Nhật Bản - Kê-ni-a - Cư-rơ-gư-xtan - Campuchia - Ki-ri-ba-ti - Cô-mô - Xan-kít và Nê-vi - Bắc Triều Tiên - Hàn Quốc - Cô-oét - Quần Đảo Cayman - Ka-dắc-xtan - Lào - Li-băng - Xan Lu-xi - Lich-ten-xtên - Xri Lan-ca - Li-bê-ri-a - Lê-xô-thô - Li-tu-a-ni-a - Lúc-xăm-bua - Lát-vi-a - Li-bi - Ma-rốc - Mô-na-cô - Môn-đô-va - Montenegro - MF - Ma-đa-gát-xca - Quần đảo Mác-san - Ma-xê-đô-ni-a - Ma-li - Mi-an-ma - Mông Cổ - Đặc khu hành chính Macao thuộc CHND Trung Hoa - Quần Đảo Bắc Mariana - MQ - Mô-ri-ta-ni - Man-ta - Mô-ri-xơ - Man-đi-vơ - Ma-la-uy - Mê-hi-cô - Ma-lay-xi-a - Mô-dăm-bích - Nam-mi-bi-a - New Caledonia - Ni-giê - Đảo Norfolk - Ni-giê-ri-a - Ni-ca-ra-goa - Hà Lan - Na Uy - Nê-pan - Niu Di-lân - Ô-man - Pa-na-ma - Pê-ru - Polynesia thuộc Pháp - Pa-pu-a Niu Ghi-nê - Phi-lip-pin - Pa-ki-xtan - Ba Lan - Saint Pierre và Miquelon - Lãnh thổ Palestine - Bồ Đào Nha - Pa-ra-goay - Ca-ta - Vùng xa xôi thuộc Châu Đại Dương - Liên Minh Châu Âu - RE - Ru-ma-ni - Xéc-bi - Nga - Ru-an-đa - A-rập Xê-út - Quần đảo Xô-lô-mông - Xây-sen - Xu-đăng - Thụy Điển - Xin-ga-po - Saint Helena - Xlô-ven-ni-a - Svalbard và Jan Mayen - Xlô-va-ki-a - Xi-ê-ra Lê-ôn - Xan Ma-ri-nô - Xê-nê-gan - Xô-ma-li - Xu-ri-nam - Xao Tô-mê và Prin-xi-pê - En-san-va-đo - Xi-ri - Xoa-di-len - Quần Đảo Turk và Caicos - Sát - Thuộc Địa Nam của Pháp - Tô-gô - Thái Lan - Tát-gi-ki-xtan - Tokelau - Đông Ti-mo - Tuốc-mê-ni-xtan - Tuy-ni-di - Tông-ga - Thổ Nhĩ Kỳ - Tri-ni-đát và Tô-ba-gô - Tu-va-lu - Đài Loan - Tan-da-ni-a - U-crai-na - U-gan-đa - Các đảo nhỏ xa trung tâm thuộc Mỹ - Hoa Kỳ - U-ru-goay - U-dơ-bê-ki-xtan - Va-ti-căng - Xan Vin-xen và Grê-na-din - Vê-nê-zu-ê-la - Đảo Virgin, thuộc Anh - Quần đảo Virgin, Mỹ - Việt Nam - Va-nu-a-tu - Wallis và Futuna - Xa-moa - Y-ê-men - YT - Nam Phi - Dăm-bi-a - Dim-ba-bu-ê - Vùng Chưa biết hoặc không Hợp lệ - - - gregorian - - - Ngôn ngữ: {0} - Chữ viết: {0} - Vùng: {0} - - - - [a à ả ã á ạ ă ằ ẳ ẵ ắ ặ â ầ ẩ ẫ ấ ậ b-d đ e è ẻ ẽ é ẹ ê ề ể ễ ế ệ f-i ì ỉ ĩ í ị j-o ò ỏ õ ó ọ ô ồ ổ ỗ ố ộ ơ ờ ở ỡ ớ ợ p-u ù ủ ũ ú ụ ư ừ ử ữ ứ ự v-y ỳ ỷ ỹ ý ỵ z] - [f j w z] - [a-d đ e-z] - - - “ - ” - ‘ - ’ - - - - - - - - thg 1 - thg 2 - thg 3 - thg 4 - thg 5 - thg 6 - thg 7 - thg 8 - thg 9 - thg 10 - thg 11 - thg 12 - - - tháng một - tháng hai - tháng ba - tháng tư - tháng năm - tháng sáu - tháng bảy - tháng tám - tháng chín - tháng mười - tháng mười một - tháng mười hai - - - - - - - CN - Th 2 - Th 3 - Th 4 - Th 5 - Th 6 - Th 7 - - - Chủ nhật - Thứ hai - Thứ ba - Thứ tư - Thứ năm - Thứ sáu - Thứ bảy - - - - SA - CH - - - tr. CN - sau CN - - - - - - EEEE, 'ngày' dd MMMM 'năm' y - - - - - 'Ngày' dd 'tháng' M 'năm' y - - - - - dd-MM-yyyy - - - - - dd/MM/yyyy - - - - - - - HH:mm:ss zzzz - - - - - HH:mm:ss z - - - - - HH:mm:ss - - - - - HH:mm - - - - - - - {0} {1} - - - - - {0} {1} - - - - - {0} {1} - - - - - {0} {1} - - - - H - HH:mm - HH:mm:ss - E, d-M - E d MMM - E d MMMM - d MMMM - d MMM - dd-MM - d-M - mm:ss - EEE, d-M-yyyy - MMM y - EEE, d MMM y - MMMM y - Q yyyy - QQQ y - Q yy - y - MM-yyyy - - - {0} - {1} - - 'Tháng' M - 'Tháng' M - - - EEEE, dd/MM - EEEE, dd/MM - EEEE, dd/MM - EEEE, dd/MM - - - MMM-MMM - - - EEEE, 'ngày' dd 'tháng' M - EEEE, 'ngày' dd 'tháng' M - EEEE, 'ngày' dd - EEEE, 'ngày' dd 'tháng' M - - - 'Ngày' dd 'tháng' M - 'Ngày' dd 'tháng' M - 'Ngày' dd 'tháng' M - 'Ngày' dd 'tháng' M - - - dd/MM - dd/MM - dd/MM - dd/MM - - - 'Ngày' d-d - - - HH'h' - HH'h' - HH'h' - HH'h' - - - HH:mm-HH:mm - HH:mm-HH:mm - - - HH:mm-HH:mm v - HH:mm-HH:mm v - - - HH'h'-HH'h' v - HH'h'-HH'h' v - - - y-y - - - MM/yyyy - MM/yyyy - MM/yyyy - MM/yyyy - - - EEEE, dd/MM/yyyy - EEEE, dd/MM/yyyy - EEEE, dd/MM/yyyy - EEEE, dd/MM/yyyy - EEEE, dd/MM/yyyy - EEEE, dd/MM/yyyy - - - 'Tháng' M - 'Tháng' M 'năm' y - 'Tháng' M 'năm' y - 'Tháng' M 'năm' y - - - EEEE, 'ngày' dd MMM - EEEE, 'ngày' dd MMM 'năm' y - EEEE, 'ngày' dd MMM - EEEE, 'ngày' dd MMM 'năm' y - EEEE, 'ngày' dd MMM 'năm' y - EEEE, 'ngày' dd MMM 'năm' y - - - 'Ngày' dd 'tháng' M - 'Ngày' dd 'tháng' M 'năm' y - 'Ngày' dd 'tháng' M - 'Ngày' dd 'tháng' M 'năm' y - 'Ngày' dd 'tháng' M 'năm' y - 'Ngày' dd 'tháng' M 'năm' y - - - dd/MM/yyyy - dd/MM/yyyy - dd/MM/yyyy - dd/MM/yyyy - dd/MM/yyyy - dd/MM/yyyy - - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - {1} ({0}) - - Không rõ - - - Andorra Time - - - Dumont D'Urville - - - Barbados Time - - - Bahrain Time - - - Belize Time - - - Costa Rica Time - - - Cape Verde Time - - - Djibouti Time - - - Dominica Time - - - Quần Đảo Canary - - - Fiji Time - - - Grenada Time - - - South Georgia and the South Sandwich Islands Time - - - Guatemala Time - - - Guyana Time - - - Hong Kong SAR China Time - - - Jamaica Time - - - Saint Kitts and Nevis Time - - - Kuwait Time - - - Laos Time - - - Saint Lucia Time - - - Luxembourg Time - - - Monaco Time - - - Malta Time - - - Mauritius Time - - - Maldives Time - - - Nauru Time - - - Panama Time - - - Palau Time - - - Qatar Time - - - Singapore Time - - - El Salvador Time - - - Taiwan Time - - - Saint Vincent and the Grenadines Time - - - U.S. Virgin Islands Time - - - Giờ Việt Nam - - - - - - , - . - ; - % - 0 - # - + - - - E - ‰ - ∞ - NaN - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - #,##0.00 ¤ - - - {0} {1} - - - - Điram UAE - - - Lép Bungari - - - BRL - - - Franc Thụy sĩ - - - CNY - - - Crun Extônia - - - Euro - - - Đô-la Fi-ji - - - Franc Pháp - - - Bảng Anh - - - Lari Georgia - - - Cedi Ghana (1979-2007) - - - Cedi Ghana - - - Pao Gibraltar - - - Franc Guinea - - - Syli Guinea - - - Drachma Hy Lạp - - - Quetzal Guatemala - - - Peso Guinea-Bissau - - - Đô-la Guyana - - - Đô-la Hồng Kông - - - Honduras Lempira - - - Gourde Haiti - - - Phôrin Hungari - - - Rupia Inđônêxia - - - Pao Ai-len - - - Pao Ixraen - - - Sêken Ixraen - - - Rupi Ấn Độ - - - Dinar I-rắc - - - Rial I-ran - - - Lia Ý - - - Đô la Jamaica - - - Dinar Jordan - - - Yên Nhật - - - Si-ling Kê-ny-a - - - Won Hàn Quốc - - - Kazakhstan Tenge - - - Litat Lituani - - - Điaham Marốc - - - Lia xứ Man-tơ - - - Peso Mêhicô - - - Rinhgit Malaixia - - - Curon Na Uy - - - Đô-la New Zealand - - - Nuevo Sol Pêru - - - Peso Philíppin - - - Rupi Pakistan - - - Zloty Ba Lan - - - Lây Rumani - - - Đina Xéc-bi - - - Rúp Nga - - - Rian Ả rập Xêút - - - Cua-ron Thuỵ Điển - - - Đô-la Singapore - - - Tôla Xlôvênia - - - Cuaron Xlôvác - - - Bạt Thái Lan - - - Lia Thổ Nhĩ Kỳ - - - Lia Thổ Nhĩ Kỳ Mới - - - Đô-la Đài Loan - - - Rúp U-crai-na - - - Đô-la Mỹ - - - Bôliva Vênêduêla - - - đồng - - - Vàng - - - Tiền tệ chưa biết hoặc không hợp lệ - - - Ran Nam Phi - - - - - - {0} ngày - - - {0} giờ - - - {0} phút - - - {0} tháng - - - {0} giây - - - {0} tuần - - - {0} năm - - - - - yes:y - no:n - - - - diff --git a/lib/zend/Zend/Locale/Data/vi_VN.xml b/lib/zend/Zend/Locale/Data/vi_VN.xml deleted file mode 100644 index 7e18c6dea7..0000000000 --- a/lib/zend/Zend/Locale/Data/vi_VN.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/wal.xml b/lib/zend/Zend/Locale/Data/wal.xml deleted file mode 100644 index 3257471402..0000000000 --- a/lib/zend/Zend/Locale/Data/wal.xml +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - - - - - - ዐርቢኛ - ጀርመን - እንግሊዝኛ - ስፓኒሽ - ፈረንሳይኛ - ሐንድኛ - ጣሊያንኛ - ጃፓንኛ - ፖርቱጋሊኛ - ራሽኛ - ወላይታቱ - ቻይንኛ - - - - - - አንዶራ - የተባበሩት አረብ ኤምሬትስ - አልባኒያ - አርሜኒያ - ኔዘርላንድስ አንቲልስ - አርጀንቲና - ኦስትሪያ - አውስትሬሊያ - አዘርባጃን - ቦስኒያ እና ሄርዞጎቪኒያ - ባርቤዶስ - ቤልጄም - ቡልጌሪያ - ባህሬን - ቤርሙዳ - ቦሊቪያ - ብራዚል - ቡህታን - ቤላሩስ - ቤሊዘ - ኮንጎ - የመካከለኛው አፍሪካ ሪፐብሊክ - ስዊዘርላንድ - ቺሊ - ካሜሩን - ቻይና - ኮሎምቢያ - ሰርቢያ - ኬፕ ቬርዴ - ሳይፕረስ - ቼክ ሪፑብሊክ - ጀርመን - ዴንማርክ - ዶሚኒካ - ዶሚኒክ ሪፑብሊክ - አልጄሪያ - ኢኳዶር - ኤስቶኒያ - ግብጽ - ምዕራባዊ ሳህራ - ኤርትራ - ስፔን - ኢትዮጵያ - ፊንላንድ - ፊጂ - ሚክሮኔዢያ - ፈረንሳይ - እንግሊዝ - ጆርጂያ - የፈረንሳይ ጉዊአና - ጋምቢያ - ጊኒ - ኢኳቶሪያል ጊኒ - ግሪክ - ቢሳዎ - ጉያና - ሆንግ ኮንግ - ክሮኤሽያ - ሀይቲ - ሀንጋሪ - ኢንዶኔዢያ - አየርላንድ - እስራኤል - ህንድ - ኢራቅ - አይስላንድ - ጣሊያን - ጃማይካ - ጆርዳን - ጃፓን - ካምቦዲያ - ኮሞሮስ - ደቡብ ኮሪያ - ሰሜን ኮሪያ - ክዌት - ሊባኖስ - ሊቱዌኒያ - ላትቪያ - ሊቢያ - ሞሮኮ - ሞልዶቫ - ማከዶኒያ - ሞንጎሊያ - ማካዎ - ሞሪቴኒያ - ማልታ - ማሩሸስ - ሜክሲኮ - ማሌዢያ - ናሚቢያ - ኒው ካሌዶኒያ - ናይጄሪያ - ኔዘርላንድ - ኖርዌ - ኔፓል - ኒው ዚላንድ - ፔሩ - የፈረንሳይ ፖሊኔዢያ - ፓፑዋ ኒው ጊኒ - ፖላንድ - ፖርታ ሪኮ - ሮሜኒያ - ራሺያ - ሳውድአረቢያ - ሱዳን - ስዊድን - ሲንጋፖር - ስሎቬኒያ - ስሎቫኪያ - ሴኔጋል - ሱማሌ - ሲሪያ - ቻድ - የፈረንሳይ ደቡባዊ ግዛቶች - ታይላንድ - ታጃኪስታን - ምስራቅ ቲሞር - ቱኒዚያ - ቱርክ - ትሪኒዳድ እና ቶባጎ - ታንዛኒያ - ዩጋንዳ - አሜሪካ - ዩዝበኪስታን - ቬንዙዌላ - የእንግሊዝ ድንግል ደሴቶች - የአሜሪካ ቨርጂን ደሴቶች - የመን - ደቡብ አፍሪካ - ዛምቢያ - - - - [\u135F ᎐-᎙ ሀ-ሏ ⶀ ሐ-ሟ ᎀ-ᎃ ⶁ ሠ-ሯ ⶂ ሰ-ሷ ⶃ ሸ-ሿ ⶄ ቀ-ቈ ቊ-ቍ ቐ-ቖ ቘ ቚ-ቝ በ-ቧ ᎄ-ᎇ ⶅ ቨ-ቷ ⶆ ቸ-ቿ ⶇ ኀ-ኈ ኊ-ኍ ነ-ኗ ⶈ ኘ-ኟ ⶉ አ-ኧ ⶊ ከ-ኰ ኲ-ኵ ኸ-ኾ ዀ ዂ-ዅ ወ-ዖ ዘ-ዟ ⶋ ዠ-ዷ ⶌ ዸ-ዿ ⶍ ጀ-ጇ ⶎ ገ-ጐ ጒ-ጕ ጘ-ጟ ⶓ-ⶖ ጠ-ጧ ⶏ ጨ-ጯ ⶐ ጰ-ጷ ⶑ ጸ-ፏ ᎈ-ᎋ ፐ-ፗ ᎌ-ᎏ ⶒ ፘ-ፚ ⶠ-ⶦ ⶨ-ⶮ ⶰ-ⶶ ⶸ-ⶾ ⷀ-ⷆ ⷈ-ⷎ ⷐ-ⷖ ⷘ-ⷞ] - - - - - - - - ጃንዩ - ፌብሩ - ማርች - ኤፕረ - ሜይ - ጁን - ጁላይ - ኦገስ - ሴፕቴ - ኦክተ - ኖቬም - ዲሴም - - - ጃንዩወሪ - ፌብሩወሪ - ማርች - ኤፕረል - ሜይ - ጁን - ጁላይ - ኦገስት - ሴፕቴምበር - ኦክተውበር - ኖቬምበር - ዲሴምበር - - - - - ጃ - ፌ - ማ - ኤ - ሜ - ጁ - ጁ - ኦ - ሴ - ኦ - ኖ - ዲ - - - - - - - ወጋ - ሳይኖ - ማቆሳኛ - አሩዋ - ሃሙሳ - አርባ - ቄራ - - - - - ወ - ሳ - ማ - አ - ሃ - አ - ቄ - - - - ማለዶ - ቃማ - - - አዳ ዎዴ - ግሮተታ ላይታ - - - - - - EEEE፥ dd MMMM ጋላሳ y G - - - - - dd MMMM y - - - - - dd-MMM-y - - - - - dd/MM/yy - - - - - - - h:mm:ss a zzzz - - - - - h:mm:ss a z - - - - - h:mm:ss a - - - - - h:mm a - - - - - - dd MMMM - dd/MM - MM/yy - Q yy - MMMM y - - - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - - - ወ - - - - - ¤#,##0.00 - - - - - - የብራዚል ሪል - - - የቻይና ዩአን ረንሚንቢ - - - የኢትዮጵያ ብር - - - አውሮ - - - የእንግሊዝ ፓውንድ ስተርሊንግ - - - የሕንድ ሩፒ - - - የጃፓን የን - - - የራሻ ሩብል - - - የአሜሪካን ዶላር - - - - - diff --git a/lib/zend/Zend/Locale/Data/wal_ET.xml b/lib/zend/Zend/Locale/Data/wal_ET.xml deleted file mode 100644 index c6108bec1f..0000000000 --- a/lib/zend/Zend/Locale/Data/wal_ET.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/wo.xml b/lib/zend/Zend/Locale/Data/wo.xml deleted file mode 100644 index c623afde6f..0000000000 --- a/lib/zend/Zend/Locale/Data/wo.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - Danwaa - Almaa - Angale - Españool - Finlaande - Fraañse - Itaaliee - Jappone - Olaande - Norweejiee - Portugees - Suweedwaa - - - - [a à b-e é ë f g i-n ñ ŋ o ó p-u w-y] - [ã h v z] - [a-z] - - - - +HH:mm;-HH:mm - GMT{0} - {0} - - - diff --git a/lib/zend/Zend/Locale/Data/wo_Latn.xml b/lib/zend/Zend/Locale/Data/wo_Latn.xml deleted file mode 100644 index ab64f24cbc..0000000000 --- a/lib/zend/Zend/Locale/Data/wo_Latn.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 世界 - 非洲 - 北美洲 - 南美洲 - 大洋洲 - 西非 - 中美洲 - 东非 - 北非 - 中非 - 南部非洲 - 美洲 - 美洲北部 - 加勒比海 - 东亚 - 南亚 - 东南亚 - 南欧 - 澳大利亚和新西兰 - 美拉尼西亚 - 密克罗尼西亚 - 玻利尼西亚 - 中南亚 - 亚洲 - 中亚 - 西亚 - 欧洲 - 东欧 - 北欧 - 西欧 - 独联体 - 拉丁美洲和加勒比海 - 海峡群岛 - 安道尔 - 阿拉伯联合酋长国 - 阿富汗 - 安提瓜和巴布达 - 安圭拉 - 阿尔巴尼亚 - 亚美尼亚 - 荷属安的列斯群岛 - 安哥拉 - 南极洲 - 阿根廷 - 美属萨摩亚 - 奥地利 - 澳大利亚 - 阿鲁巴 - 奥兰群岛 - 阿塞拜疆 - 波斯尼亚和黑塞哥维那 - 巴巴多斯 - 孟加拉国 - 比利时 - 布基纳法索 - 保加利亚 - 巴林 - 布隆迪 - 贝宁 - 圣巴泰勒米 - 百慕大 - 文莱 - 玻利维亚 - 巴西 - 巴哈马 - 不丹 - 布维特岛 - 博茨瓦纳 - 白俄罗斯 - 伯利兹 - 加拿大 - 科科斯群岛 - 刚果(金) - 中非共和国 - 刚果(布) - 瑞士 - 象牙海岸 - 库克群岛 - 智利 - 喀麦隆 - 中国 - 哥伦比亚 - 哥斯达黎加 - 塞尔维亚和黑山 - 古巴 - 佛得角 - 圣诞岛 - 塞浦路斯 - 捷克共和国 - 德国 - 吉布提 - 丹麦 - 多米尼加 - 多米尼加共和国 - 阿尔及利亚 - 厄瓜多尔 - 爱沙尼亚 - 埃及 - 西撒哈拉 - 厄立特里亚 - 西班牙 - 埃塞俄比亚 - 芬兰 - 斐济 - 福克兰群岛 - 密克罗尼西亚联邦 - 法罗群岛 - 法国 - 加蓬 - 英国 - 格林纳达 - 格鲁吉亚 - 法属圭亚那 - 格恩西岛 - 加纳 - 直布罗陀 - 格陵兰 - 冈比亚 - 几内亚 - 瓜德罗普岛 - 赤道几内亚 - 希腊 - 南乔治亚岛和南桑威齐群岛 - 危地马拉 - 关岛 - 几内亚比绍 - 圭亚那 - 中国香港特别行政区 - 赫德与麦克唐纳群岛 - 洪都拉斯 - 克罗地亚 - 海地 - 匈牙利 - 印度尼西亚 - 爱尔兰 - 以色列 - 曼岛 - 印度 - 英属印度洋领地 - 伊拉克 - 伊朗 - 冰岛 - 意大利 - 泽西岛 - 牙买加 - 约旦 - 日本 - 肯尼亚 - 吉尔吉斯斯坦 - 柬埔寨 - 基里巴斯 - 科摩罗 - 圣基茨和尼维斯 - 朝鲜 - 韩国 - 科威特 - 开曼群岛 - 哈萨克斯坦 - 老挝人民民主共和国 - 黎巴嫩 - 圣卢西亚 - 列支敦士登 - 斯里兰卡 - 利比里亚 - 莱索托 - 立陶宛 - 卢森堡 - 拉脱维亚 - 利比亚 - 摩洛哥 - 摩纳哥 - 摩尔多瓦 - 黑山共和国 - 圣马丁 - 马达加斯加 - 马绍尔群岛 - 马其顿 - 马里 - 缅甸 - 蒙古 - 中国澳门特别行政区 - 北马里亚纳群岛 - 马提尼克群岛 - 毛里塔尼亚 - 蒙塞拉特群岛 - 马耳他 - 毛里求斯 - 马尔代夫 - 马拉维 - 墨西哥 - 马来西亚 - 莫桑比克 - 纳米比亚 - 新喀里多尼亚 - 尼日尔 - 诺福克岛 - 尼日利亚 - 尼加拉瓜 - 荷兰 - 挪威 - 尼泊尔 - 瑙鲁 - 纽埃 - 新西兰 - 阿曼 - 巴拿马 - 秘鲁 - 法属波利尼西亚 - 巴布亚新几内亚 - 菲律宾 - 巴基斯坦 - 波兰 - 圣皮埃尔和密克隆 - 皮特凯恩 - 波多黎各 - 巴勒斯坦领土 - 葡萄牙 - 帕劳 - 巴拉圭 - 卡塔尔 - 大洋洲边远群岛 - 欧盟 - 留尼汪 - 罗马尼亚 - 塞尔维亚 - 俄罗斯 - 卢旺达 - 沙特阿拉伯 - 所罗门群岛 - 塞舌尔群岛 - 苏丹 - 瑞典 - 新加坡 - 圣赫勒拿 - 斯洛文尼亚 - 斯瓦尔巴特和扬马延 - 斯洛伐克 - 塞拉利昂 - 圣马力诺 - 塞内加尔 - 索马里 - 苏里南 - 圣多美和普林西比 - 萨尔瓦多 - 叙利亚 - 斯威士兰 - 特克斯和凯科斯群岛 - 乍得 - 法属南部领土 - 多哥 - 泰国 - 塔吉克斯坦 - 托克劳 - 东帝汶 - 土库曼斯坦 - 突尼斯 - 汤加 - 土耳其 - 特立尼达和多巴哥 - 图瓦卢 - 台湾 - 坦桑尼亚 - 乌克兰 - 乌干达 - 美国边远小岛 - 美国 - 乌拉圭 - 乌兹别克斯坦 - 梵蒂冈 - 圣文森特和格林纳丁斯 - 委内瑞拉 - 英属维京群岛 - 美属维京群岛 - 越南 - 瓦努阿图 - 瓦利斯和富图纳 - 萨摩亚 - 也门 - 马约特 - 南非 - 赞比亚 - 津巴布韦 - 未知或无效地区 - - - 传统德语拼字学 - 1996 年的德语拼字学 - 东亚美尼亚语 - 西亚美尼亚语 - 国际音标 - 多音 - 电脑 - 已修订的拼字学 - 萨霍 - - - 日历 - 对照 - 货币 - - - 繁体中文(Big5) - 佛教日历 - 农历 - 顺序 - 简体中文(GB2312) - 公历 - 希伯来日历 - 印度国家日历 - 伊斯兰日历 - 伊斯兰希吉来历 - 日本日历 - 电话簿顺序 - 拼音顺序 - 中华民国日历 - 笔划顺序 - 传统历法 - - - 美制 - 公制 - - - 语言:{0} - 脚本:{0} - 区域:{0} - - - - [一 丁 七 丈-与 专 且 世 丘-业 东 丝 丢 两 严 丧 个 中 丰 串 临 丸-主 丽 举 乃 久 么 义 之-乐 乔 乖 乘 乙 九 也-乡 书 买 乱 乾 了 予 争 事 二 于 亏 云 互 五 井 亚 些 亡 交 亦 亨 享 京 亮 亲 人 亿-仁 仅 仇 今 介 仍 从 仔 他 付 仙 代-以 仪 们 仰 仲 件 任 份 仿 企 伊 伍 伏-休 众 伙 会 伟 传 伤 伦 伯 估 伴 伸 似 伽 但 位-佑 体 何 余 佛 作 你 佤 佩 佳 使 例 供 依 侠 侦-侨 侬 侯 侵 便 促 俄 俊 俗 保 信 俩 修 俱 俾 倍 倒 候 倚 借 倦 值 倾 假 偌 偏 做 停 健 偶 偷 储 催 傲 傻 像 僧 儒 允 元-充 先 光 克 免 兑 兔 入 全 八-兮 兰 共 关-兹 养-兽 内 冈 再 冒 写 军 农 冠 冬 冰 冲 冷 准 凌 凝 几 凡 凤 凭 凯 凰 出 击 函 刀 分 切 刊 刑 划 列-创 初 判 利 别 到 制-券 刺 刻 剂 前 剑 剧 剩 剪 副 割 力 劝-务 劣 动-劫 励-劳 势 勇 勉 勋 勒 勤 勾 勿 包 匆 匈 化 北 匙 匹-医 十 千 升 午 半 华 协 卒 卓 单-南 博 占-卢 卫 印 危 即 卷 厄-历 厉 压-厍 厚 原 去 县 参 又-反 发 叔 取-叙 口-另 叫-叭 可 台 史 右 叶-叹 吃 各 合-吊 同-后 吐 向 吓 吗 君 吝 吟 否 吧 含 吵 吸 吹 吻 吾 呀 呆 呈 告 呐 员 呜 呢 呦 周 味 呵 呼 命 和 咖 咦 咧 咪 咬 咯 咱 哀 品 哇-哉 响 哎 哟 哥 哦 哩 哪 哭 哲 唉 唐 唤 唬 售 唯 唱 唷 商 啊 啡 啥 啦 啪 喀 喂 善 喇 喊 喏 喔 喜 喝 喵 喷 喻 嗒 嗨 嗯 嘉 嘛 嘴 嘻 嘿 器 四 回 因 团 园 困 围 固 国 图 圆 圈 土 圣 在 圭 地 场 圾 址 均 坎 坐 坑 块 坚-坜 坡 坤 坦 坪 垂 垃 型 垒 埃 埋 城 埔 域 培 基 堂 堆 堕 堡 堪 塑 塔 塞 填 境 增 墨 壁 士 壮 声 处 备 复 夏 夕 外 多 夜 夥 大 天-夫 央 失 头 夷-夺 奇-奉 奋 奏 契 奔 套 奥 女 奴 奶 她 好 如 妇 妈 妖 妙 妥 妨 妮 妹 妻 姆 姊 始 姐 姑 姓 委 姿 威 娃 娄 娘 娜 娟 婆 婚 媒 嫁 嫌 嫩 子 孔 孕 字-孙 孜 孝 孟 季 孤 学 孩 宁 它 宇-安 宋 完 宏 宗-实 审-室 宪 害 家 容 宽-宿 寂 寄 密 寇 富 寒 寝-察 寡 寨 寸 对 寻 导 寿 封 射 将 尊 小 少 尔 尖 尘 尚 尝 尤 就 尺 尼-尾 局-层 居 屋 屏 展 属 屠 山 岁 岂 岗 岘 岚 岛 岳 岸 峡 峰 崇 崩 川 州 巡 工-巨 巫 差 己 已 巴 巷 币-布 帅 师 希 帐 帕 帝 带 席 帮 常 帽 幅 幕 干-年 幸 幻-幽 广 庆 床 序 库-底 店 庙 府 庞 废 度 座 庭 康 庸 廉 廖 延 廷 建 开 弃 弄 弊 式 引 弗 弘 弟 张 弥 弦 弯 弱 弹 归 当 彝 形 彩 彬 彭 彰 影 彷 役 彻 彼 往 征 径 待 很 律 後 徐 徒 得 循 微 徵 德 心 必 忆 忌 忍 志-忙 忠 忧 快 念 忽 怀 态 怎 怒 怕 怖 思 怡 急 性 怨 怪 总 恋 恐 恢 恨 恩 恭 息 恰 恶 恼 悄 悉 悔 悟 悠 患 您 悲 情 惑 惜 惠 惧 惨 惯 想 惹 愁 愈 愉 意 愚 感 愧 慈 慎 慕 慢 慧 慰 憾 懂 懒 戈 戏-戒 或 战 截 戴 房-扁 扇 手 才 扎 扑 打 托 扣 执 扩 扫-扯 批 找-技 抄 把 抑 抓 投 抗 折 抢 护 报 披 抬 抱 抵 抹 抽 担 拆 拉 拍 拒 拔 拖 拘 招 拜 拟 拥 拦 拨 择 括 拳 拷 拼 拾 拿 持 指 按 挑 挖 挝 挡 挤 挥 挪 振 挺 捉 捐 捕 损 捡 换 捷 授 掉 掌 排 探 接 控-措 掸 描 提 插 握 援 搜 搞 搬 搭 摄 摆 摊 摔 摘 摩 摸 撒 撞 播 操 擎 擦 支 收 改 攻 放 政 故 效 敌 敏 救 教 敝 敢 散 敦 敬 数 敲 整 文 斋 斐 斗 料 斜 斥 断 斯 新 方 於 施 旁 旅 旋 族 旗 无 既 日-早 旭 时 旺 昂 昆 昌 明 昏 易 星 映 春 昨 昭 是 显 晃 晋 晒 晓 晚 晨 普 景 晴 晶 智 暂 暑 暖 暗 暮 暴 曰 曲 更 曹 曼 曾-最 月 有 朋 服 朗 望 朝 期 木 未-札 术 朱 朵 杀 杂 权 杉 李 材 村 杜 束 条 来 杨 杯 杰 松 板 极 析 林 果 枝 枢 枪 枫 架 柏 某 染 柔 查 柬 柯 柳 柴 标 栋 栏 树 校 样-根 格 桃 框 案 桌 桑 档 桥 梁 梅 梦 梯 械 梵 检 棉 棋 棒 棚 森 椅 植 椰 楚 楼 概 榜 模 樱 檀 欠-欣 欧 欲 欺 款 歉 歌 止-武 歪 死 殊 残 段 毅 母 每 毒 比 毕 毛 毫 氏 民 氛 水 永 求 汉 汗 汝 江-污 汤 汪 汶 汽 沃 沈 沉 沙 沟 沧 河 油 治 沿 泉 泊 法 泛 泡-泣 泥 注 泰 泳 泽 洋 洗 洛 洞 津 洪 洲 活 洽 派 流 浅 测 济 浑 浓 浦 浩 浪 浮 浴 海 涅 消 涉 涛 涨 涯 液 涵 淋 淑 淘 淡 深 混 添 清 渐 渡 渣 温 港 渴 游 湖 湾 源 溜 溪 滋 滑 满 滥 滨 滴 漂 漏 演 漠 漫 潘 潜 潮 澎 澳 激 灌 火 灭 灯 灰 灵 灿 炉 炎 炮 炸 点 烂 烈 烤 烦 烧 热 焦 然 煌 煞 照 煮 熊 熟 燃 燕 爆 爪 爬 爱 爵-爸 爽 片 版 牌 牙 牛 牡 牢 牧 物 牲 牵 特 牺 犯 状 犹 狂 狐 狗 狠 独 狮 狱 狼 猛 猜 献 玄 率 玉 王 玛 玩 玫 环 现 玲 玻 珊 珍 珠 班 球 理 琊 琪 琳 琴 瑙 瑜 瑞 瑟 瑰 瑶 璃 瓜 瓦 瓶 甘 甚 甜 生 用 田-申 电 男 甸 画 畅 界 留 略 番 疆 疏 疑 疗 疯 疲 疼 疾 病 痕 痛 痴 登 白 百 的 皆 皇 皮 盈 益 监 盒 盖 盘 盛 盟 目 直 相 盼 盾 省 眉 看 真 眠 眼 睛 睡 督 瞧 矛 矣 知 短 石 矶 码 砂 砍 研 破 础 硕 硬 碍 碎 碗 碟 碧 碰 磁 磅 磨 示 礼 社 祖 祝 神 祥 票 祸 禁 禅 福 秀 私 秋 种 科 秒 秘 租 秤 秦 秩 积 称 移 稀 程 稍 稣 稳 稿 穆 究 穷 穹 空 穿 突 窗 窝 立 站 竞-章 童 端 竹 笑 笔 笛 符 笨 第 等 筋 答 策 筹 签 简 算 管 箭 箱 篇 篮 簿 籍 米 类 粉 粒 粗 粹 精 糊 糕 糖 糟 系 素 索 紧 紫 累 繁 红 约 级 纪 纯 纲 纳 纵 纷 纸 纽 练 组 细-终 绍 经 结 绕 绘 给 络 统 继 绩 绪 续 维 绵 综 缅 缓 编 缘 缠 缩 缴 缶 缸 缺 罐 罕 罗 罚 罢 罪 置 署 羊 美 羞 群 羯 羽 翁 翅 翔 翘 翠 翰 翻 翼 耀 老 考 者 而 耍 耐 耗 耳 耶 聊 职 联 聚 聪 肉 肚 股 肤 肥 肩 肯 育 胁 胆 背 胎 胖 胞 胡 胶 胸 能 脆 脑 脱 脸 腊 腐 腓 腰 腹 腾 腿 臂 臣 自 臭 至 致 舌 舍 舒 舞 舟 航 般 舰 船 良 色 艺 艾 节 芒 芝 芦 芬 芭 花 芳 苍 苏 苗 若 苦 英 茂 茨 茫 茶 草 荒 荣 药 荷 莉 莎 莪 莫 莱 莲 获 菜 菩 菲 萄 萍 萤 营 萧 萨 落 著 葛 葡 蒂 蒋 蒙 蓉 蓝 蓬 蔑 蔡 薄 薪 藉 藏 藤 虎 虑 虫 虹 虽 虾 蚁 蛇 蛋 蛙 蛮 蜂 蜜 蝶 融 蟹 蠢 血 行 街 衡 衣 补 表 袋 被 袭 裁 裂 装 裕 裤 西 要 覆 见 观 规 视 览 觉 角 解 言 誉 誓 警 计 订 认 讨 让 训-记 讲 许 论 设 访 证 评 识 诉 词 译 试 诗 诚 话 诞 询 该 详 语 误 说 请 诸 诺 读 课 谁 调 谅 谈 谊 谋 谓 谜 谢 谨 谱 谷 豆 象 豪 貌 贝-负 贡-败 货-贪 购 贯 贱 贴 贵 费 贺 贼 贾 资 赋 赌 赏 赐 赔 赖 赚 赛 赞 赠 赢 赤 赫 走 赵 起 趁 超 越 趋 趣 足 跃 跌 跑 距 跟 路 跳 踏 踢 踩 身 躲 车 轨 轩 转 轮-轰 轻 载 较 辅 辆 辈 辉 辑 输 辛 辞 辨 辩 辱 边 达 迁 迅 过 迈 迎 运 近 返 还 这 进-迟 迦 迪 迫 述 迷 追 退 送 逃 逆 选 逊 透 逐 递 途 通 逛 逝 速 造 逢 逸 逻 逼 遇 遍 道 遗 遭 遮 遵 避 邀 邓 那 邦 邪 邮 邱 邻 郎 郑 部 郭 都 鄂 酋 配 酒 酷 酸 醉 醒 采 释 里-量 金 针 钓 钟 钢 钦 钱 钻 铁 铃 铢 铭 银 销 锁 锅 锋 错 锡 锦 键 锺 镇 镜 镭 长 门 闪 闭 问 间 闷 闹 闻 阁 阐 阔 队 阮 防-阶 阻 阿 陀 附-陆 陈 降 限 院 除 险 陪 陵-陷 隆 随 隐 隔 障 难 雄-集 雨 雪 雯 雳 零 雷 雾 需 震 霍 霖 露 霸 霹 青 靖 静 非 靠 面 革 靼 鞋 鞑 韦 韩 音 页 顶 项-须 顽-顿 预 领 颇 频 颗 题 额 风 飘 飙 飞 食 餐 饭 饮 饰 饱 饼 馆 首 香 馨 马 驱 驶 驻 驾 验 骑 骗 骚 骤 骨 高 鬼 魂 魅 魔 鱼 鲁 鲜 鸟 鸣 鸭 鸿 鹅 鹤 鹰 鹿 麦 麻 黄 黎 黑 默 鼓 鼠 鼻 齐 齿 龄 龙 龟] - [侣 傣 卑 厘 吕 堤 奎 巽 录 户 撤 楔 楠 滕 瑚 甫 盲 禄 粟 线 脚 钯 铂 锑 镑 魁] - [a-z] - - - “ - ” - ‘ - ’ - - - - - - - yyyy/M - - - - - - - - 1月 - 2月 - 3月 - 4月 - 5月 - 6月 - 7月 - 8月 - 9月 - 10月 - 11月 - 12月 - - - 1月 - 2月 - 3月 - 4月 - 5月 - 6月 - 7月 - 8月 - 9月 - 10月 - 11月 - 12月 - - - - - 一月 - 二月 - 三月 - 四月 - 五月 - 六月 - 七月 - 八月 - 九月 - 十月 - 十一月 - 十二月 - - - 1月 - 2月 - 3月 - 4月 - 5月 - 6月 - 7月 - 8月 - 9月 - 10月 - 11月 - 12月 - - - 一月 - 二月 - 三月 - 四月 - 五月 - 六月 - 七月 - 八月 - 九月 - 十月 - 十一月 - 十二月 - - - - - - - 周日 - 周一 - 周二 - 周三 - 周四 - 周五 - 周六 - - - 星期日 - 星期一 - 星期二 - 星期三 - 星期四 - 星期五 - 星期六 - - - - - 日 - 一 - 二 - 三 - 四 - 五 - 六 - - - - - - - 1季 - 2季 - 3季 - 4季 - - - 第1季度 - 第2季度 - 第3季度 - 第4季度 - - - - - 1 - 2 - 3 - 4 - - - - 上午 - 下午 - - - 公元前 - 公元 - - - 公元前 - 公元 - - - - - - y年M月d日EEEE - - - - - y年M月d日 - - - - - yyyy-M-d - - - - - yy-M-d - - - - - - - zzzzah时mm分ss秒 - - - - - zah时mm分ss秒 - - - - - ahh:mm:ss - - - - - ah:mm - - - - - - - {1}{0} - - - - - {1}{0} - - - - - {1} {0} - - - - - {1} {0} - - - - d日E - H时 - HH:mm:ss - H:mm - L - M-dE - LLL - MMMd日E - MMMMd日E - MMMMd日 - MMMMdd日 - MMMd日 - MM-dd - M-d - d日 - ah:mm - ah:mm:ss - mm:ss - y年 - yyyy-M - y年M月d日,E - y年MMM - y年MMMd日EEE - y年MMMM - y年MMMd日 - y年QQQ - y年QQQ - yy-MM - yy年MMM - yy年第Q季度 - y年 - y年M月 - y年MMMM - - - {0}–{1} - - L至L - - - M-dE至M-dE - M-dE至M-dE - - - LLLL至LLLL - - - M月d日E至M月d日E - M月d日E至d日E - - - M月d日至M月d日 - M月d日至d日 - - - M-d至M-d - M-d至M-d - - - d日至d日 - - - ah至ah时 - ah至h时 - - - ah:mm至ah:mm - ah:mm至h:mm - ah:mm至h:mm - - - vah:mm至ah:mm - vah:mm至h:mm - vah:mm至h:mm - - - vah至ah时 - vah至h时 - - - y至y - - - yy-M至yy-M - yy-M至yy-M - - - yy-M-dE至yy-M-dE - yy-M-dE至yy-M-dE - yy-M-dE至yy-M-dE - - - y年M月至M月 - y年M月至y年M月 - - - y年M月d日E至M月d日E - y年M月d日E至d日E - y年M月d日E至y年M月d日E - - - y年M月d日至M月d日 - y年M月d日至d日 - y年M月d日至y年M月d日 - - - yy-M-d至yy-M-d - yy-M-d至yy-M-d - yy-M-d至yy-M-d - - - - - - 时期 - - - 年 - - - 月 - - - 周 - - - 日 - 前天 - 昨天 - 今天 - 明天 - 后天 - - - 周天 - - - 上午/下午 - - - 小时 - - - 分钟 - - - 秒钟 - - - 区域 - - - - - - - 民国前 - 民国 - - - - - - Gy年M月d日EEEE - - - - - Gy年M月d日 - - - - - Gy-M-d - - - - - Gy-M-d - - - - - - ah:mm - ah:mm:ss - Gy/M - Gy/M/d(EEE) - Gy/MM - Gy年MMM - Gy年M月d日 - Gy/M/d - Gy年第Q季度 - - - - y/M至y/M - y/M至y/M - - - y/M/dE至y/M/dE - y/M/dE至y/M/dE - y/M/dE至y/M/dE - - - y/M/d至y/M/d - y/M/d至y/M/d - y/M/d至y/M/d - - - - - - - +HHmm;-HHmm - 格林尼治标准时间{0} - 格林尼治标准时间 - {0}时间 - - 未知 - - - 安道尔 - - - 迪拜 - - - 喀布尔 - - - 安提瓜 - - - 安圭拉 - - - 地拉那 - - - 埃里温 - - - 库拉卡 - - - 罗安达 - - - 罗瑟拉 - - - 帕默尔 - - - 南极 - - - 斯尤瓦 - - - 莫森 - - - 戴维斯 - - - 沃斯托克 - - - 卡塞 - - - 杜蒙杜威勒 - - - 马克默多 - - - 里奥加耶戈斯 - - - 门多萨 - - - 圣胡安 - - - 乌斯怀亚 - - - 拉里奥哈 - - - 卡塔马卡 - - - 胡胡伊 - - - 图库曼 - - - 科尔多瓦 - - - 布宜诺斯艾利斯 - - - 帕果-帕果 - - - 维也纳 - - - 佩思 - - - 尤克拉 - - - 达尔文 - - - 阿德莱德 - - - 布罗肯希尔 - - - 库利 - - - 墨尔本 - - - 霍巴特 - - - 林德曼 - - - 悉尼 - - - 布里斯班 - - - 豪勋爵 - - - 阿鲁巴 - - - 玛丽港 - - - 巴库 - - - 萨拉热窝 - - - 巴巴多斯 - - - 达卡 - - - 布鲁塞尔 - - - 瓦加杜古 - - - 索非亚 - - - 巴林 - - - 布琼布拉 - - - 波多诺伏 - - - 百慕大 - - - 文莱 - - - 拉巴斯 - - - 依伦尼贝 - - - 里奥布郎库 - - - 波多韦柳 - - - 博阿维斯塔 - - - 马瑙斯 - - - 库亚巴 - - - 大坎普 - - - 贝伦 - - - 阿拉瓜伊纳 - - - 圣保罗 - - - 巴伊亚 - - - 福塔雷萨 - - - 马塞约 - - - 累西腓 - - - 洛罗尼亚 - - - 拿骚 - - - 廷布 - - - 哈博罗内 - - - 明斯克 - - - 伯利兹 - - - 道森 - - - 怀特霍斯 - - - 伊努维克 - - - 温哥华 - - - 道森克里克 - - - 耶洛奈夫 - - - 埃德蒙顿 - - - 斯威夫特卡伦特 - - - 坎布里季贝 - - - 里贾纳 - - - 温尼伯 - - - 雨河 - - - 雷今海口 - - - 珊瑚港 - - - 桑德贝 - - - 尼皮贡 - - - 多伦多 - - - 蒙特利尔 - - - 伊魁鲁伊特 - - - 旁涅唐 - - - 蒙克顿 - - - 哈利法克斯 - - - 古斯湾 - - - 格莱斯贝 - - - 圣约翰 - - - 可可斯 - - - 金沙萨 - - - 卢本巴希 - - - 班吉 - - - 布拉扎维 - - - 苏黎世 - - - 阿比让 - - - 拉罗汤加 - - - 复活节岛 - - - 圣地亚哥 - - - 杜阿拉 - - - 喀什葛尔 - - - 乌鲁木齐 - - - 重庆 - - - 上海 - - - 哈尔滨 - - - 波哥大 - - - 哥斯达黎加 - - - 哈瓦那 - - - 佛得角 - - - 圣诞岛 - - - 尼科西亚 - - - 布拉格 - - - 柏林 - - - 吉布提 - - - 哥本哈根 - - - 多米尼加 - - - 圣多明各 - - - 阿尔及尔 - - - 加拉帕哥斯 - - - 瓜亚基尔 - - - 塔林 - - - 开罗 - - - 阿尤恩 - - - 阿斯马拉 - - - 加那利 - - - 休达 - - - 马德里 - - - 亚的斯亚贝巴 - - - 赫尔辛基 - - - 斐济 - - - 史丹利 - - - 特鲁克群岛 - - - 波纳佩岛 - - - 库赛埃 - - - 法罗 - - - 巴黎 - - - 利伯维尔 - - - - BST - - 伦敦 - - - 格林纳达 - - - 第比利斯 - - - 卡宴 - - - 根西岛 - - - 阿克拉 - - - 直布罗陀 - - - 图勒 - - - 戈特霍布 - - - 斯科列斯比桑德 - - - Danmarkshavn(格陵兰东北城市) - - - 班珠尔 - - - 科纳克里 - - - 瓜德罗普 - - - 马拉博 - - - 雅典 - - - 南乔治亚 - - - 危地马拉 - - - 关岛 - - - 比绍 - - - 圭亚那 - - - 香港 - - - 特古西加尔巴 - - - 萨格勒布 - - - 太子港 - - - 布达佩斯 - - - 雅加达 - - - 坤甸 - - - 望加锡 - - - 查亚普拉 - - - 都柏林 - - - 耶路撒冷 - - - 马恩岛 - - - 加尔各答 - - - 查戈斯 - - - 巴格达 - - - 德黑兰 - - - 雷克雅未克 - - - 罗马 - - - 泽西岛 - - - 牙买加 - - - 安曼 - - - 东京 - - - 内罗毕 - - - 比什凯克 - - - 金边 - - - 恩德贝里 - - - 基里地马地岛 - - - 塔拉瓦 - - - 科摩罗 - - - 圣基茨 - - - 平壤 - - - 首尔 - - - 科威特 - - - 开曼 - - - 阿克图 - - - 乌拉尔 - - - 阿克托别 - - - 克孜勒奥尔达 - - - 阿拉木图 - - - 万象 - - - 贝鲁特 - - - 圣卢西亚 - - - 瓦杜兹 - - - 科伦坡 - - - 蒙罗维亚 - - - 马塞卢 - - - 维尔纽斯 - - - 卢森堡 - - - 里加 - - - 的黎波里 - - - 卡萨布兰卡 - - - 摩纳哥 - - - 基希讷乌 - - - 波德戈里察 - - - 安塔那利佛 - - - 夸贾林 - - - 马朱罗 - - - 斯科普里 - - - 巴马科 - - - 仰光 - - - 科布多 - - - 乌兰巴托 - - - 卓巴尔塞 - - - 澳门 - - - 塞班 - - - 马提尼克 - - - 努瓦克肖特 - - - 蒙特塞拉特 - - - 马耳他 - - - 毛里求斯 - - - 马尔代夫 - - - 布兰太尔 - - - 提华纳 - - - 埃莫西约 - - - 马萨特兰 - - - 奇瓦瓦 - - - 蒙特雷 - - - 墨西哥城 - - - 梅里达 - - - 坎昆 - - - 吉隆坡 - - - 古晋 - - - 马普托 - - - 温得和克 - - - 努美阿 - - - 尼亚美 - - - 诺福克 - - - 拉各斯 - - - 马那瓜 - - - 阿姆斯特丹 - - - 奥斯陆 - - - 加德满都 - - - 瑙鲁 - - - 纽埃 - - - 查塔姆 - - - 奥克兰 - - - 马斯喀特 - - - 巴拿马 - - - 利马 - - - 塔希提 - - - 马克萨斯 - - - 甘比尔 - - - 莫尔兹比港 - - - 马尼拉 - - - 卡拉奇 - - - 华沙 - - - 密克隆 - - - 皮特凯恩 - - - 波多黎各 - - - 加沙 - - - 亚述尔群岛 - - - 马德拉 - - - 里斯本 - - - 帕劳 - - - 亚松森 - - - 卡塔尔 - - - 留尼旺 - - - 布加勒斯特 - - - 贝尔格莱德 - - - 加里宁格勒 - - - 莫斯科 - - - 伏尔加格勒 - - - 萨马拉 - - - 叶卡捷林堡 - - - 鄂木斯克 - - - 诺沃西比尔斯克 - - - 克拉斯诺亚尔斯克 - - - 伊尔库茨克 - - - 雅库茨克 - - - 符拉迪沃斯托克 - - - 萨哈林 - - - 马加丹 - - - 堪察加 - - - 阿纳德尔 - - - 基加利 - - - 利雅得 - - - 瓜达尔卡纳尔 - - - 马埃 - - - 哈土穆 - - - 斯德哥尔摩 - - - 新加坡 - - - 圣赫勒拿 - - - 卢布尔维 - - - 朗伊尔城 - - - 布拉迪斯拉发 - - - 弗里敦 - - - 圣马力诺 - - - 达喀尔 - - - 摩加迪沙 - - - 帕拉马利玻 - - - 圣多美 - - - 萨尔瓦多 - - - 大马士革 - - - 姆巴巴纳 - - - 大土耳其 - - - 恩贾梅纳 - - - 凯尔盖朗 - - - 洛美 - - - 曼谷 - - - 杜尚别 - - - 法考福 - - - 帝力 - - - 阿什哈巴德 - - - 突尼斯 - - - 东加塔布 - - - 伊斯坦布尔 - - - 西班牙港 - - - 富纳富提 - - - 台北 - - - 达累斯萨拉姆 - - - 乌日戈罗德 - - - 基辅 - - - 辛菲罗波尔 - - - 扎波罗热 - - - 坎帕拉 - - - 中途岛 - - - 约翰斯顿 - - - 威克 - - - 艾德克 - - - 诺姆 - - - 檀香山 - - - 安克雷奇 - - - 亚库塔特 - - - 朱诺 - - - 洛杉矶 - - - 博伊西 - - - 凤凰城 - - - 舰石城 - - - 丹佛 - - - 北达科他 - - - 芝加哥 - - - 密诺米尼 - - - 温森斯 - - - 彼得斯堡 - - - 诺克斯 - - - 马伦戈 - - - 印地安纳波利斯 - - - 路易斯维尔 - - - 维维市(印第安纳州) - - - 蒙蒂塞洛 - - - 底特律 - - - 纽约 - - - 蒙得维的亚 - - - 撒马尔罕 - - - 塔什干 - - - 梵蒂冈 - - - 圣文森特 - - - 加拉加斯 - - - 托尔托拉 - - - 圣托马斯 - - - 胡志明市 - - - 埃法特 - - - 瓦利斯 - - - 阿皮亚 - - - 亚丁 - - - 马约特 - - - 约翰内斯堡 - - - 卢萨卡 - - - 哈拉雷 - - - - Acre 时间 - 阿克里标准时间 - 阿克里夏令时间 - - - - - 阿富汗时间 - - - - - 非洲中部时间 - 中部非洲标准时间 - - - 中部非洲时间 - - - - - 非洲东部时间 - 东部非洲标准时间 - - - 东部非洲时间 - - - - - 非洲南部时间 - 南部非洲标准时间 - - - 南部非洲时间 - 南部非洲标准时间 - - - - - 西部非洲时间 - 西部非洲标准时间 - 西部非洲夏令时间 - - - 西部非洲时间 - 西部非洲标准时间 - - - - - 阿尔卑斯时间 - 阿尔卑斯标准时间 - 阿尔卑斯夏令时间 - - - - - 阿拉斯加时间 - 阿拉斯加标准时间 - 阿拉斯加夏令时间 - - - 阿拉斯加标准时间 - 阿拉斯加夏令时间 - - - - - 阿拉斯加-夏威夷时间 - 阿拉斯加-夏威夷标准时间 - 阿拉斯加-夏威夷夏令时间 - - - - - Almaty 时间 - Almaty 标准时间 - 阿拉木图夏令时间 - - - - - 亚马逊时间 - 亚马逊标准时间 - 亚马逊夏令时间 - - - - - 美国中部时间 - 中部标准时间 - 中部夏令时间 - - - - - 美国东部时间 - 东部标准时间 - 东部夏令时间 - - - - - 美国山区时间 - 山区标准时间 - 山区夏令时间 - - - - - 美国太平洋时间 - 太平洋标准时间 - 太平洋夏令时间 - - - - - 下午1:25阿纳德尔夏令时间 - 阿纳德尔夏令时间 - - - - - 阿克图时间 - 阿克图标准时间 - 阿克图夏令时间 - - - - - 阿克托别时间 - 阿克托别标准时间 - 阿克托别夏令时间 - - - - - 阿拉伯时间 - 阿拉伯标准时间 - 阿拉伯夏令时间 - - - - - 阿根廷时间 - 阿根廷标准时间 - 阿根廷夏令时间 - - - - - 阿根廷西部时间 - 阿根廷西部标准时间 - 阿根廷西部夏令时间 - - - - - 亚美尼亚时间 - 亚美尼亚标准时间 - 亚美尼亚夏令时间 - - - AMT (Armenia) - 亚美尼亚时间 - 亚美尼亚白昼时间 - - - - - 阿什哈巴德时间 - 阿什哈巴德标准时间 - 阿什哈巴德夏令时间 - - - - - 大西洋时间 - 大西洋标准时间 - 大西洋夏令时间 - - - - - 澳大利亚中部时间 - 澳大利亚中部标准时间 - 澳大利亚中部夏令时间 - - - 澳大利亚中部时间 - 澳大利亚中部标准时间 - 澳大利亚中部夏令时间 - - - - - 澳大利亚中西部标准时间 - 澳大利亚中西部夏令时间 - - - 澳大利亚中西部标准时间 - 澳大利亚中西部夏令时间 - - - - - 澳大利亚东部时间 - 澳大利亚东部标准时间 - 澳大利亚东部夏令时间 - - - 澳大利亚东部时间 - 澳大利亚东部标准时间 - 澳大利亚东部夏令时间 - - - - - 澳大利亚西部时间 - 澳大利亚西部标准时间 - 澳大利亚西部夏令时间 - - - 澳大利亚西部时间 - 澳大利亚西部标准时间 - 澳大利亚西部夏令时间 - - - - - 阿塞拜疆时间 - 阿塞拜疆标准时间 - 阿塞拜疆夏令时间 - - - - - 亚述尔群岛时间 - 亚述尔群岛时间 - 亚述尔群岛夏令时间 - - - 亚述尔时间 - 亚述尔群岛时间 - 亚述尔群岛夏令时间 - - - - - 巴库时间 - 巴库标准时间 - 巴库夏令时间 - - - 巴库时间 - 巴库标准时间 - - - - - 孟加拉时间 - 孟加拉标准时间 - 孟加拉夏令时间 - - - 孟加拉夏令时间 - BDT - - - - - 白令时间 - 白令标准时间 - 白令夏令时间 - - - - - 不丹时间 - 不丹标准时间 - 不丹夏令时间 - - - 孟加拉标准时间 - - - - - 玻利维亚时间 - - - - - 婆罗洲时间 - 婆罗洲标准时间 - 婆罗洲夏令时间 - - - - - 巴西利亚时间 - 巴西利亚标准时间 - 巴西利亚夏令时间 - - - - - 汶萊時間 - - - - - 查莫罗标准时区 - - - 查莫罗标准时区 - - - - - 长白山时间 - - - - - 智利时间 - 智利标准时间 - 智利夏令时间 - - - - - 中国时间 - 中国标准时间 - 中国夏令时间 - - - CT(中国) - CST(中国) - CDT(中国) - - - - - 乔巴山时间 - 乔巴山标准时间 - 乔巴山夏令时间 - - - - - 哥伦比亚时间 - 哥伦比亚夏令时间 - - - - - 古巴时间 - 古巴标准时间 - 古巴夏令时间 - - - - - 达卡时间 - 达卡标准时间 - 达卡夏令时间 - - - - - 杜尚别时间 - 杜尚别标准时间 - 杜尚别夏令时间 - - - - - 荷属圭亚那时间 - 荷属圭亚那标准时间 - 荷属圭亚那夏令时间 - - - - - 东帝汶时间 - 东帝汶标准时间 - 东帝汶夏令时间 - - - - - 厄瓜多尔标准时间 - - - - - 中欧时间 - 中欧标准时间 - 中欧夏令时间 - - - - - 东欧时间 - 东欧标准时间 - 东欧夏令时间 - - - - - 西欧时间 - 欧洲西部时间 - 欧洲西部夏令时间 - - - 西欧时间 - 欧洲西部时间 - 欧洲西部夏令时间 - - - - - 法属圭亚那时间 - - - - - 伏龙芝时间 - 伏龙芝标准时间 - 伏龙芝夏令时间 - - - - - 格林尼治标准时间 - - true - - - - 加拉帕戈斯时间 - 加拉帕戈斯时间 - 加拉帕戈斯夏令时间 - - - 加拉帕哥斯时间 - 加拉帕戈斯时间 - 加拉帕哥斯夏令时间 - - - - - 格鲁吉亚时间 - 格鲁吉亚标准时间 - 格鲁吉亚夏令时间 - - - - - 格林兰中部时间 - 格林兰中部标准时间 - 格林兰中部夏令时间 - - - - - 格林兰东部时间 - 格林兰东部标准时间 - 格林兰东部夏令时间 - - - - - 格林兰西部时间 - 格林兰西部标准时间 - 格林兰西部夏令时间 - - - - - 关岛时间 - 关岛标准时间 - 关岛夏令时间 - - - 关岛时间 - 关岛标准时间 - 关岛夏令时间 - - - - - 海湾标准时间 - - - - - 盖亚那时间 - - - - - 夏威夷—阿留申标准时间 - - - 夏威夷—阿留申标准时间 - - - - - 香港时间 - 香港夏令时间 - - - - - 科布多时间 - 科布多夏令时间 - - - - - 印度标准时间 - - - - - 印度尼西亚中部标准时间 - - - - - 印度尼西亚东部标准时间 - - - - - 印度尼西亚西部标准时间 - - - - - 伊朗标准时间 - 伊朗夏令时间 - - - - - 伊尔库茨克时间 - 伊尔库茨克夏令时间 - - - - - 以色列时间 - 以色列标准时间 - 以色列夏令时间 - - - IST (Israel) - - - - - 日本時間 - 日本标准时间 - 日本夏令时间 - - - - - 卡拉奇时间 - 卡拉奇标准时间 - 卡拉奇夏令时间 - - - - - 喀什标准时间 - - - - - 哈萨克斯坦东部时间 - 哈萨克斯坦东部标准时间 - - - - - 哈萨克斯坦西部时间 - 哈萨克斯坦西部标准时间 - - - - - Kizilorda 时间 - Kizilorda 标准时间 - Kizilorda 夏令时间 - - - - - 韩国时间 - 韩国标准时间 - 韩国夏令时间 - - - - - 古比雪夫时间 - 古比雪夫时间 - 古比雪夫夏令时间 - - - 古比雪夫时间 - 古比雪夫夏令时间 - - - - - 夸贾林时间 - 夸贾林时间 - 夸贾林夏令时间 - - - 夸贾林时间 - - - - - Kyrgystan 时间 - Kyrgystan 标准时间 - Kyrgystan 夏令时间 - - - - - Lanka 时间 - Lanka 标准时间 - Lanka 夏令时间 - - - - - Long-Shu 时间 - Long-Shu 标准时间 - Long-Shu 夏令时间 - - - - - 罗德毫岛时间 - 罗德毫岛标准时间 - 罗德毫岛夏令时间 - - - 罗德毫岛标准时间 - - - - - 澳门时间 - 澳门标准时间 - 澳门夏令时间 - - - - - 马加丹时间 - 马加丹夏令时间 - - - - - 马来亚时间 - 马来亚标准时间 - 马来亚夏令时间 - - - - - 马来西亚时间 - 马来西亚标准时间 - 马来西亚夏令时间 - - - - - 马绍尔群岛时间 - 马绍尔群岛时间 - 马绍尔群岛夏令时间 - - - 马绍尔群岛时间 - - - - - 乌兰巴托时间 - 乌兰巴托标准时间 - 乌兰巴托夏令时间 - - - - - 莫斯科时间 - 莫斯科标准时间 - 莫斯科夏令时间 - - - - - 缅甸时间 - - - - - 尼泊尔时间 - - - - - 新西兰时间 - 新西兰标准时间 - 新西兰夏令时间 - - - 新西兰时间 - 新西兰标准时间 - 新西兰夏令时间 - - - - - 纽芬兰时间 - 纽芬兰标准时间 - 纽芬兰夏令时间 - - - 纽芬兰标准时间 - 纽芬兰夏令时间 - - - - - 费尔南多-迪诺罗尼亚岛时间 - 费尔南多-迪诺罗尼亚岛夏令时间 - - - - - 北马里亚纳群岛时间 - 北马里亚纳群岛时间 - 北马里亚纳群岛夏令时间 - - - - - 新西伯利亚时间 - 新西伯利亚夏令时间 - - - - - 鄂木斯克时间 - 鄂木斯克夏令时间 - - - - - 巴基斯坦时间 - 巴基斯坦标准时间 - 巴基斯坦夏令时间 - - - - - 巴拉圭时间 - 巴拉圭夏令时间 - - - - - 秘鲁时间 - 秘鲁夏令时间 - - - - - 菲律宾时间 - 菲律宾夏令时间 - - - - - 彼得岛和米克隆岛时间 - 彼得岛和米克隆岛标准时间 - 彼得岛和米克隆岛夏令时间 - - - - - 克孜勒奥尔达时间 - 克孜勒奥尔达标准时间 - 克孜勒奥尔达夏令时间 - - - - - 库页岛时间 - 库页岛夏令时间 - - - - - 萨马拉时间 - 萨马拉时间 - 萨马拉夏令时间 - - - 萨马拉时间 - 萨马拉夏令时间 - - - - - 撒马尔罕时间 - 撒马尔罕标准时间 - 撒马尔罕夏令时间 - - - - - 萨摩亚时间 - 萨摩亚标准时间 - 萨摩亚夏令时间 - - - 瑞典夏令时间 - - - - - 舍甫琴科时间 - 舍甫琴科夏令时间 - - - - - 新加坡标准时间 - - - - - 苏里南夏令时间 - 苏里南标准时间 - - - 苏里南夏令时间 - - - - - 斯维尔德洛夫斯克时间 - 斯维尔德洛夫斯克标准时间 - 斯维尔德洛夫斯克夏令时间 - - - - - 塔吉克斯坦时间 - 塔吉克斯坦标准时间 - 塔吉克斯坦夏令时间 - - - - - 塔什干时间 - 塔什干标准时间 - 塔什干夏令时间 - - - - - 第比利斯时间 - 第比利斯标准时间 - 第比利斯夏令时间 - - - - - 土耳其时间 - 土耳其时间 - 土耳其夏令时间 - - - 土耳其时间 - 土耳其夏令时间 - - - - - 土库曼斯坦时间 - 土库曼斯坦标准时间 - 土库曼斯坦夏令时间 - - - - - 乌拉尔斯克时间 - 乌拉尔斯克标准时间 - 乌拉尔斯克夏令时间 - - - - - 乌拉圭时间 - 乌拉圭夏令时间 - - - - - 乌鲁木齐时间 - 乌鲁木齐标准时间 - 乌鲁木齐夏令时间 - - - - - 乌兹别克斯坦时间 - 乌兹别克斯坦标准时间 - 乌兹别克斯坦夏令时间 - - - - - 委内瑞拉时间 - - - - - 海参崴时间 - 海参崴夏令时间 - - - - - 雅库茨克时间 - 雅库茨克夏令时间 - - - - - 叶卡捷琳堡时间 - 叶卡捷琳堡标准时间 - 叶卡捷琳堡夏令时间 - - - - - 埃里温时间 - 埃里温标准时间 - 埃里温夏令时间 - - - - - 育空时间 - 育空标准时间 - 育空夏令时间 - - - - - - - . - , - - - - - #,##0.### - - - - - - - #E0 - - - - - - - #,##0% - - - - - - - ¤#,##0.00 - - - - - - 安道尔比塞塔 - - - 阿联酋迪拉姆 - - - 阿富汗尼 (1927-2002) - - - 阿富汗尼 - - - 阿尔巴尼亚列克 - - - 亚美尼亚德拉姆 - - - 荷兰安替兰盾 - - - 安哥拉宽扎 - - - 安哥拉宽扎 (1977-1990) - - - 安哥拉新宽扎 (1990-2000) - - - 安哥拉宽扎 Reajustado (1995-1999) - - - 阿根廷奥斯特 - - - 阿根廷比索 (1983-1985) - - - 阿根廷比索 - - - 奥地利先令 - - - 澳大利亚元 - - - 阿鲁巴基尔德元 - - - 阿塞拜疆马纳特 (1993-2006) - - - 阿塞拜疆马纳特 - - - 波士尼亚-赫塞哥维纳第纳尔 - - - 波士尼亚-赫塞哥维纳兑换券 - - - 巴巴多斯元 - - - 孟加拉塔卡 - - - 比利时法郎兑换券 - - - 比利时法郎 - - - 比利时法郎(金融) - - - 保加利亚硬列弗 - - - 保加利亚新列弗 - - - 巴林第纳尔 - - - 布隆迪法郎 - - - 百慕大元 - - - 文莱元 - - - 玻利维亚诺 - - - 玻利维亚比索 - - - 玻利维亚 Mvdol(资金) - - - 巴西克鲁赛罗 Novo (1967-1986) - - - 巴西克鲁扎多 - - - 巴西克鲁塞罗 (1990-1993) - - - 巴西雷亚尔 - - - 巴西克鲁扎多 Novo - - - 巴西克鲁塞罗 - - - 巴哈马元 - - - 不丹努扎姆 - - - 缅元 - - - 博茨瓦纳普拉 - - - 白俄罗斯新卢布 (1994-1999) - - - 白俄罗斯卢布 - - - 伯利兹元 - - - 加拿大元 - - - 刚果法郎 - - - 瑞士法郎 - - - 智利 Unidades de Fomento(资金) - - - 智利比索 - - - 人民币 - ¥ - - - 哥伦比亚比索 - - - 哥斯达黎加科朗 - - - 旧塞尔维亚第纳尔 - - - 捷克硬克郎 - - - 古巴比索 - - - 佛得角埃斯库多 - - - 塞浦路斯镑 - - - 捷克克郎 - - - 东德奥斯特马克 - - - 德国马克 - - - 吉布提法郎 - - - 丹麦克朗 - - - 多米尼加比索 - - - 阿尔及利亚第纳尔 - - - 厄瓜多尔苏克雷 - - - 厄瓜多尔 Unidad de Valor Constante (UVC) - - - 爱沙尼亚克朗 - - - 埃及镑 - - - 厄立特里亚纳克法 - - - 西班牙比塞塔(帐户 A) - - - 西班牙比塞塔(兑换帐户) - - - 西班牙比塞塔 - - - 埃塞俄比亚比尔 - - - 欧元 - - - 芬兰马克 - - - 斐济元 - - - 福克兰镑 - - - 法国法郎 - - - 英镑 - - - 乔治亚库蓬拉瑞特 - - - 乔治亚拉瑞 - - - 加纳塞第 - - - 加纳塞地 - - - 直布罗陀镑 - - - 冈比亚达拉西 - - - 几内亚法郎 - - - 几内亚西里 - - - 赤道几内亚埃奎勒 - - - 希腊德拉克马 - - - 危地马拉格查尔 - - - 葡萄牙几内亚埃斯库多 - - - 几内亚比绍比索 - - - 圭亚那元 - - - 港元 - - - 洪都拉斯拉伦皮拉 - - - 克罗地亚第纳尔 - - - 克罗地亚库纳 - - - 海地古德 - - - 匈牙利福林 - - - 印度尼西亚盾 - - - 爱尔兰镑 - - - 以色列镑 - - - 以色列新谢克尔 - - - 印度卢比 - - - 伊拉克第纳尔 - - - 伊朗里亚尔 - - - 冰岛克朗 - - - 意大利里拉 - - - 牙买加元 - - - 约旦第纳尔 - - - 日元 - - - 肯尼亚先令 - - - 吉尔吉斯斯坦索姆 - - - 柬埔寨瑞尔 - - - 科摩罗法郎 - - - 朝鲜圆 - - - 韩圆 - ₩ - - - 科威特第纳尔 - - - 开曼元 - - - 哈萨克斯坦坚戈 - - - 老挝基普 - - - 黎巴嫩镑 - - - 斯里兰卡卢比 - - - 利比亚元 - - - 莱索托洛蒂 - - - 立陶宛立特 - - - 立陶宛塔咯呐司 - - - 卢森堡可兑换法郎 - - - 卢森堡法郎 - - - 卢森堡金融法郎 - - - 拉脱维亚拉特 - - - 拉脱维亚卢布 - - - 利比亚第纳尔 - - - 摩洛哥迪拉姆 - - - 摩洛哥法郎 - - - 摩尔多瓦列伊 - - - 马达加斯加阿里亚里 - - - 马达加斯加法郎 - - - 马其顿戴代纳尔 - - - 马里法郎 - - - 缅甸开亚特 - - - 蒙古图格里克 - - - 澳门元 - - - 毛里塔尼亚乌吉亚 - - - 马耳他里拉 - - - 马耳他镑 - - - 毛里求斯卢比 - - - 马尔代夫拉菲亚 - - - 马拉维克瓦查 - - - 墨西哥比索 - - - 墨西哥银比索 (1861-1992) - - - 墨西哥 Unidad de Inversion (UDI)(资金) - - - 马来西亚林吉特 - - - 莫桑比克埃斯库多 - - - 旧莫桑比克美提卡 - - - 莫桑比克美提卡 - - - 纳米比亚元 - - - 尼日利亚奈拉 - - - 尼加拉瓜科多巴 - - - 尼加拉瓜金科多巴 - - - 荷兰盾 - - - 挪威克朗 - - - 尼泊尔卢比 - - - 新西兰元 - - - 阿曼里亚尔 - - - 巴拿马巴波亚 - - - 秘鲁印第 - - - 秘鲁新索尔 - - - 秘鲁索尔 - - - 巴布亚新几内亚基那 - - - 菲律宾比索 - - - 巴基斯坦卢比 - - - 波兰兹罗提 - - - 波兰兹罗提 (1950-1995) - - - 葡萄牙埃斯库多 - - - 巴拉圭瓜拉尼 - - - 卡塔尔里亚尔 - - - 罗得西亚元 - - - 旧罗马尼亚列伊 - - - 罗马尼亚列伊 - - - 塞尔维亚第纳尔 - - - 俄国卢布 - - - 俄国卢布 (1991-1998) - - - 卢旺达法郎 - - - 沙特里亚尔 - - - 所罗门群岛元 - - - 塞舌尔卢比 - - - 苏丹第纳尔 - - - 苏丹镑 - - - 旧苏丹镑 - - - 瑞典克朗 - - - 新加坡元 - - - 圣赫勒拿群岛磅 - - - 斯洛文尼亚托拉尔 - - - 斯洛伐克克朗 - - - 塞拉利昂利昂 - - - 索马里先令 - - - 苏里南元 - - - 苏里南盾 - - - 圣多美和普林西比多布拉 - - - 苏联卢布 - - - 萨尔瓦多科朗 - - - 叙利亚镑 - - - 斯威士兰里兰吉尼 - - - 泰铢 - - - 塔吉克斯坦卢布 - - - 塔吉克斯坦索莫尼 - - - 土库曼斯坦马纳特 - - - 突尼斯第纳尔 - - - 汤加潘加 - - - 帝汶埃斯库多 - - - 土耳其里拉 - - - 新土耳其里拉 - - - 特立尼达和多巴哥元 - - - 新台币 - - - 坦桑尼亚先令 - - - 乌克兰格里夫尼亚 - - - 乌克兰币 - - - 乌干达先令 (1966-1987) - - - 乌干达先令 - - - 美元 - - - 美元(次日) - - - 美元(当日) - - - 乌拉圭新比索 (1975-1993) - - - 乌拉圭比索 - - - 乌兹别克斯苏姆 - - - 委内瑞拉博利瓦 - - - 委内瑞拉强势玻利瓦 - - - 越南盾 - - - 瓦努阿图瓦图 - - - 西萨摩亚塔拉 - - - 中非金融合作法郎 - - - 银 - - - 黄金 - - - 欧洲复合单位 - - - 欧洲货币联盟 - - - 欧洲计算单位 (XBC) - - - 欧洲计算单位 (XBD) - - - 东加勒比元 - - - 特别提款权 - - - 欧洲货币单位 - - - 法国金法郎 - - - 法国 UIC 法郎 - - - 非洲金融共同体法郎 - - - 钯 - - - 太平洋法郎 - - - 铂 - - - RINET 基金 - - - 为测试保留的代码 - - - 货币未知或无效 - - - 也门第纳尔 - - - 也门里亚尔 - - - 南斯拉夫硬第纳尔 - - - 南斯拉夫偌威第纳尔 - - - 南斯拉夫可兑换第纳尔 - - - 南非兰特 (金融) - - - 南非兰特 - - - 赞比亚克瓦查 - - - 新扎伊尔 - - - 扎伊尔 - - - 津巴布韦元 - - - - - - {0}日 - - - {0}小时 - - - {0}分 - - - {0}月 - - - {0}秒 - - - {0}周 - - - {0}年 - - - - - 是:确定 - 否:否定 - - - - diff --git a/lib/zend/Zend/Locale/Data/zh_CN.xml b/lib/zend/Zend/Locale/Data/zh_CN.xml deleted file mode 100644 index c6eb9e26c9..0000000000 --- a/lib/zend/Zend/Locale/Data/zh_CN.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/zh_HK.xml b/lib/zend/Zend/Locale/Data/zh_HK.xml deleted file mode 100644 index e2b555924e..0000000000 --- a/lib/zend/Zend/Locale/Data/zh_HK.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/lib/zend/Zend/Locale/Data/zh_Hans.xml b/lib/zend/Zend/Locale/Data/zh_Hans.xml deleted file mode 100644 index 160a73d04d..0000000000 --- a/lib/zend/Zend/Locale/Data/zh_Hans.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 東非 - 非洲南部 - 東亞 - 南亞 - 東南亞 - 南歐 - 澳洲與紐西蘭 - 美拉尼西亞 - 密克羅尼西亞 - 玻里尼西亞 - 中南亞 - 亞洲 - 中亞 - 西亞 - 歐洲 - 東歐 - 北歐 - 西歐 - 獨立國協 - 海峽群島 - 安道爾 - 阿拉伯聯合大公國 - 安地卡及巴布達 - 安圭拉島 - 阿爾巴尼亞 - 亞美尼亞 - 荷屬安地列斯 - 南極洲 - 美屬薩摩亞群島 - 奧地利 - 澳洲 - 阿路巴 - 亞蘭群島 - 亞塞拜然 - 波士尼亞與赫塞格維納 - 巴貝多 - 孟加拉 - 比利時 - 布吉納法索 - 保加利亞 - 蒲隆地 - 貝南 - 聖巴瑟米 - 百慕達 - 汶萊 - 玻利維亞 - 巴哈馬 - 布威島 - 波札那 - 白俄羅斯 - 貝里斯 - 可可斯群島 - 剛果民主共和國 - 中非共和國 - 剛果 - 科特迪瓦 - 庫克群島 - 喀麥隆 - 中華人民共和國 - 哥倫比亞 - 哥斯大黎加 - 塞爾維亞和蒙特尼哥羅 - 維德角 - 聖誕島 - 賽普勒斯 - 捷克共和國 - 德國 - 吉布地 - 丹麥 - 多明尼加 - 多明尼加共和國 - 阿爾及利亞 - 厄瓜多 - 愛沙尼亞 - 厄利垂亞 - 衣索比亞 - 芬蘭 - 斐濟 - 福克蘭群島 - 密克羅尼西亞群島 - 法羅群島 - 法國 - 加彭 - 英國 - 格瑞納達 - 喬治亞共和國 - 法屬圭亞那 - 根西島 - 迦納 - 直布羅陀 - 格陵蘭 - 甘比亞 - 幾內亞 - 哥德普洛 - 赤道幾內亞 - 希臘 - 南喬治亞與南三明治群島 - 瓜地馬拉 - 關島 - 幾內亞比索 - 蓋亞納 - 中華人民共和國香港特別行政區 - 赫德與麥克當諾群島 - 宏都拉斯 - 克羅埃西亞 - 印尼 - 愛爾蘭 - 曼島 - 英屬印度洋領土 - 冰島 - 義大利 - 澤西島 - 牙買加 - 約旦 - 肯亞 - 吉爾吉斯 - 吉里巴斯 - 科摩羅群島 - 聖克里斯多福及尼維斯 - 北韓 - 南韓 - 開曼群島 - 哈薩克 - 寮國 - 聖露西亞 - 列支敦斯登 - 斯里蘭卡 - 賴比瑞亞 - 賴索扥 - 盧森堡 - 拉脫維亞 - 利比亞 - 摩納哥 - 摩爾多瓦 - 蒙特內哥羅 - 聖馬丁 - 馬達加斯加 - 馬紹爾群島 - 馬其頓 - 馬利 - 緬甸 - 中華人民共和國澳門特別行政區 - 北馬里亞納群島 - 馬丁尼克島 - 茅利塔尼亞 - 蒙特色拉特島 - 馬爾他 - 模里西斯 - 馬爾地夫 - 馬拉威 - 馬來西亞 - 莫三比克 - 納米比亞 - 新喀里多尼亞群島 - 尼日 - 諾福克島 - 奈及利亞 - 荷蘭 - 尼泊爾 - 諾魯 - 紐威島 - 紐西蘭 - 阿曼王國 - 巴拿馬 - 秘魯 - 法屬玻里尼西亞 - 巴布亞紐幾內亞 - 菲律賓 - 波蘭 - 聖彼德與密啟崙 - 皮特康 - 巴勒斯坦 - 帛琉 - 卡達 - 大洋洲邊疆群島 - 歐盟 - 留尼旺 - 羅馬尼亞 - 塞爾維亞 - 俄羅斯 - 盧安達 - 沙烏地阿拉伯 - 索羅門群島 - 塞席爾 - 蘇丹 - 聖赫勒拿島 - 斯洛維尼亞 - 冷岸及央麥恩群島 - 獅子山 - 聖馬利諾 - 塞內加爾 - 索馬利亞 - 蘇利南 - 聖多美及普林西比 - 薩爾瓦多 - 敘利亞 - 史瓦濟蘭 - 土克斯及開科斯群島 - 查德 - 法屬南方屬地 - 多哥共和國 - 泰國 - 塔吉克 - 托克勞群島 - 東帝汶 - 土庫曼 - 突尼西亞 - 東加 - 千里達及托巴哥 - 吐瓦魯 - 台灣 - 坦尚尼亞 - 烏克蘭 - 烏干達 - 美屬邊疆群島 - 美國 - 烏拉圭 - 烏茲別克 - 梵蒂岡 - 聖文森及格瑞那丁 - 委內瑞拉 - 英屬維京群島 - 美屬維京群島 - 萬那杜 - 瓦利斯和福杜納群島 - 薩摩亞群島 - 葉門 - 馬約特 - 尚比亞 - 辛巴威 - 未確定的區域 - - - 傳統德語拼字學 - 1996 年的德語拼字學 - 亞美尼亞東部 - 亞美尼亞西部 - IPA 拼音 - UPA 拼音 - 單音 - Natisone 方言 - 電腦 - 已修訂的拼字學 - SAAHO - - - 日曆 - 校對 - 貨幣 - - - 繁體中文排序 - Big5 - 佛教曆法 - 農曆 - 直接排序 - 簡體中文排序 - GB2312 - 公曆 - 希伯來曆法 - 印度國家曆法 - 伊斯蘭曆法 - 伊斯蘭城市曆法 - 日本曆法 - 電話簿排序 - 拼音排序 - 中華民國曆 - 筆劃排序 - 傳統排序 - - - 語言:{0} - 文字:{0} - 地區:{0} - - - - [一 丁 七 丈-不 且 世 丘 丙 丟 並 中 串 丸 丹 主 乃 久 么 之 乎 乏 乖 乘 乙 九 也 乾 亂 了 予 事 二 于 云 互 五 井 些 亞 亡 交 亦 亨 享 京 亮 人 什 仁 仇 今 介 仍 仔 他 付 仙 代-以 仰 仲 件 任 份 企 伊 伍 伐 休 伙 伯 估 伴 伸 似 伽 但 佈 位-住 佔 何 余 佛 作 你 佩 佳 使 來 例 供 依 侯 侵 便 係-俄 俊 俗 保 俠 信 修 俱 俾 個 倍 們 倒 候 倚 借 倫 值 假 偉 偏 做 停 健 側-偷 傑 備 傢 傲 傳 傷 傻 傾 僅 像 僑 僧 價 儀 億 儒 儘 優 允 元-充 兇-光 克 免 兒 兔 入 內-兩 八-兮 共 兵-典 兼 冊 再 冒 冠 冬 冰 冷 准 凌 凝 凡 凰 凱 出 函 刀 分 切 刊 列 初 判 別 利 刪 到 制 刷 刺 刻 則 前 剛 剩 剪 副 割 創 劃 劇 劉 劍 力 功 加 助-劫 勁 勇 勉 勒 動 務 勝 勞 勢 勤 勵 勸 勿 包 匈 化 北 匹 區 十 千 升 午 半 卒-協 南 博 卡 印 危 即 卷 卻 厄 厘 厚 原 厭 厲 去 參 又 及 友 反 叔 取 受 口-另 叫-叭 可 台 史 右 司 吃 各 合-吊 同-后 吐 向 君 吝-吟 否 吧 含 吳 吵 吸 吹 吾 呀 呂 呆 告 呢 周 味 呵 呼 命 和 咖 咦 咧 咪 咬 咱 哀 品 哇-哉 哎 員 哥 哦 哩 哪 哭 哲 唉 唐 唬 售 唯 唱 唷 唸 商 啊 問 啟 啡 啥 啦 啪 喀 喂 善 喇 喊 喔 喜 喝 喬 單 喵 嗎 嗚 嗨 嗯 嘆 嘉 嘗 嘛 嘴 嘻 嘿 器 噴 嚇 嚴 囉 四 回 因 困 固 圈 國 圍 園 圓 圖 團 圜 土 在 圭 地 圾 址 均 坎 坐 坡 坤 坦 坪 垂 垃 型 埃 城 埔 域 執 培 基 堂 堅 堆 堡 堪 報 場 塊 塔 塗 塞 填 塵 境 增 墨 墮 壁 壓 壘 壞 壢 士 壯 壽 夏 夕 外 多 夜 夠 夢 夥 大 天-夫 央 失 夷 夸 夾 奇-奉 奎 奏 契 奔 套 奧 奪 奮 女 奴 奶 她 好 如 妙 妥 妨 妮 妳 妹 妻 姆 姊 始 姐 姑 姓 委 姿 威 娃 娘 婁 婆 婚 婦 媒 媽 嫌 嫩 子 孔 字 存 孝 孟 季 孤 孩 孫 學 它 宅 宇-安 宋 完 宏 宗-宜 客-室 宮 害 家 容 宿 寂 寄 密 富 寒 寞 察 寢 實-審 寫 寬 寮 寶 封 射 將 專 尊 尋 對-小 少 尖 尚 尤 就 尺 尼 尾 局 屁 居 屆 屋 屏 展 屠 層 屬 山 岡 岩 岸 峰 島 峽 崇 崙 崴 嵐 嶺 川 州 巡 工-巨 巫 差 己 已 巴 巷 市 布 希 帕 帛 帝 帥 師 席 帳 帶 常 帽 幅 幕 幣 幫 干-年 幸 幹 幻-幾 床 序 底 店 府 度 座 庫 庭 康 庸 廉 廖 廠 廢 廣 廳 延 廷 建 弄 式 引 弗 弘 弟 弦 弱 張 強 彈 彊 彌 彎 彞 形 彥 彩 彬 彭 彰 影 役 彼 往 征 待 很 律 後 徐-徒 得 從 復 微 徵 德 徹 心 必 忌 忍 志-忙 忠 快 念 忽 怎 怒 怕 怖 思 怡 急 性 怨 怪 恆 恐 恢 恥 恨 恩 恭 息 恰 悅 悉 悔 悟 悠 您 悲 悶 情 惑 惜 惠 惡 惱 想 惹 愁 愈 愉 意 愚 愛 感 慈 態 慕 慘 慢 慣 慧 慮 慰 慶 慾 憂 憐 憑 憲 憶 憾 懂 應 懶 懷 懼 戀 戈 成-戒 或 截 戰 戲 戴 戶 房-扁 扇 手 才 扎 打 托 扣 扥 扭 扯 批 找-技 抄 把 抓 投 抗 折 披 抬 抱 抵 抹 抽 拆 拉 拋 拍 拒 拔 拖 招 拜 括 拳 拼 拾 拿 持 指 按 挑 挖 挪 振 挺 捐 捕 捨 捲 捷 掃 授 掉 掌 排 掛 採 探 接 控 推 措 描 提 插 揚 換 握 揮 援 損 搖 搞 搬 搭 搶 摘 摩 摸 撐 撒 撞 撣 撥 播 撾 撿 擁 擇 擊 擋 操 擎 擔 據 擠 擦 擬 擴 擺 擾 攝 支 收 改 攻 放 政 故 效 敍 敏 救 敗-教 敝 敢 散 敦 敬 整 敵 數 文 斐 斗 料 斯 新 斷 方 於 施 旁 旅 旋 族 旗 既 日 旦 早 旭 旺 昂 昆 昇 昌 明 昏 易 星 映 春 昨 昭 是 時 晉 晒 晚 晨 普 景 晴 晶 智 暑 暖 暗 暫 暴 曆 曉 曰 曲 更 書 曼 曾-最 會 月 有 朋 服 朗 望 朝 期 木 未-札 朱 朵 杉 李 材 村 杜 束 杯-東 松 板 析 林 果 枝 架 柏 某 染 柔 查 柬 柳 柴 校 核 根 格 桃 案 桌 桑 梁 梅 條 梨 梯 械 梵 棄 棉 棋 棒 棚 森 椅 植 椰 楊 楓 楚 業 極 概 榜 榮 構 槍 樂 樓 標 樞 模 樣 樹 橋 機 橫 檀 檔 檢 欄 權 次 欣 欲 欺 欽 款 歉 歌 歐 歡-武 歲 歷 歸 死 殊 殘 段 殺 殼 毀 毅 母 每 毒 比 毛 毫 氏 民 氣 水 永 求 汗 汝 江-污 汪 汶 決 汽 沃 沈 沉 沒 沖 沙 河 油 治 沿 況 泉 泊 法 泡 波 泥 注 泰 泳 洋 洗 洛 洞 洩 洪 洲 活 洽 派 流 浦 浩 浪 浮 海 涇-涉 涯 液 涵 涼 淑 淚 淡 淨 深 混 淺 清 減 渡 測 港 游 湖 湯 源 準 溝 溪 溫 滄 滅 滋 滑 滴 滾 滿 漂 漏 演 漠 漢 漫 漲 漸 潔 潘 潛 潮 澤 澳 激 濃 濟 濤 濫 濱 灌 灣 火 灰 災 炎 炮 炸 為 烈 烏 烤 無 焦 然 煙 煞 照 煩 熊 熟 熱 燃 燈 燒 營 爆 爐 爛 爪 爬 爭 爵 父 爸 爺 爽 爾 牆-版 牌 牙 牛 牠 牧 物 牲 特 牽 犧 犯 狀 狂 狐 狗 狠 狼 猛 猜 猶 獄 獅 獎 獨 獲 獸 獻 玄 率 玉 王 玩 玫 玲 玻 珊 珍 珠 班 現 球 理 琉 琪 琴 瑙 瑜 瑞 瑟 瑤 瑪 瑰 環 瓜 瓦 瓶 甘 甚 甜 生 產 用 田-申 男 甸 界 留 畢 略 番 畫 異 當 疆 疏 疑 疼 病 痕 痛 痴 瘋 療 癡 登-百 的 皆 皇 皮 盃 益 盛 盜 盟 盡 監 盤 盧 目 盲 直 相 盼 盾 省 眉 看 真 眠 眼 眾 睛 睡 督 瞧 瞭 矛 矣 知 短 石 砂 砍 研 砲 破 硬 碎 碗 碟 碧 碩 碰 確 碼 磁 磨 磯 礎 礙 示 社 祕 祖 祝 神 祥 票 禁 禍 福 禪 禮 秀 私 秋 科 秒 秘 租 秤 秦 移 稅 程 稍 種 稱 稿 穆 穌 積 穩 究 穹 空 穿 突 窗 窩 窮 立 站 竟 章 童 端 競 竹 笑 笛 符 笨 第 筆 等 筋 答 策 简 算 管 箭 箱 節 範 篇 築 簡 簫 簽 簿 籃 籌 籍 米 粉 粗 精 糊 糕 糟 系 糾 紀 約 紅 納 紐 純 紙-紛 素 索 紫 累 細 紹 終 組 結 絕 絡 給 統 絲 經 綜 綠 維 綱 網 緊 緒 線 緣 編 緩 緬 緯 練 縣 縮 縱 總 績 繁 織 繞 繪 繳 繼 續 缸 缺 罕 罪 置 罰 署 罵 罷 羅 羊 美 羞 群 義 羽 翁 習 翔 翰 翹 翻 翼 耀 老 考 者 而 耍 耐 耗 耳 耶 聊 聖 聚 聞 聯 聰 聲 職 聽 肉 肚 股 肥 肩 肯 育 背 胎 胖 胞 胡 胸 能 脆 脫 腓 腔 腦 腰 腳 腿 膽 臉 臘 臣 臥 臨 自 臭 至 致 臺 與-舊 舌 舍 舒 舞 舟 航 般 船 艦 良 色 艾 芝 芬 花 芳 若 苦 英 茅 茫 茲 茶 草 荒 荷 莉 莊 莎 莫 菜 菩 華 菲 萄 萊 萬 落 葉 著 葛 葡 蒂 蒙 蒲 蒼 蓋 蓮 蔕 蔡 蔣 蕭 薄 薦 薩 薪 藉 藍 藏 藝 藤 藥 蘆 蘇 蘭 虎 處 虛 號 虧 蛋 蛙 蜂 蜜 蝶 融 螢 蟲 蟹 蠍 蠻 血 行 術 街 衛 衝 衡 衣 表 袋 被 裁 裂 裕 補 裝 裡 製 複 褲 西 要 覆 見 規 視 親 覺 覽 觀 角 解 觸 言 訂 計 訊 討 訓 託 記 訪 設 許 訴 註 証 評 詞 詢 試 詩 話-詳 誇 誌 認 誓 誕 語 誠 誤 說 誰 課 誼 調 談 請 諒 論 諸 諺 諾 謀 謂 講 謝 證 識 譜 警 譯 議 護 譽 讀 變 讓 讚 谷 豆 豈 豐 象 豪 豬 貌 貓 貝 貞 負-貢 貨 貪-責 貴 買 費 貼 賀 資 賈 賓 賜 賞 賢-賤 賦 質 賭 賴 賺 購 賽 贈 贊 贏 赤 赫 走 起 超 越 趕 趙 趣 趨 足 跌 跎 跑 距 跟 跡 路 跳 踏 踢 蹟 蹤 躍 身 躲 車 軌 軍 軒 軟 較 載 輔 輕 輛 輝 輩 輪 輯 輸 轉 轟 辛 辦 辨 辭 辯 辱 農 迅 迎 近 迦 迪 迫 述 迴 迷 追 退 送 逃 逆 透 逐 途 這-逛 逝 速 造 逢 連 週 進 逸 逼 遇 遊 運 遍 過 道-違 遙 遜 遠 適 遭 遮 遲 遷 選 遺 避-邁 還 邊 邏 那 邦 邪 邱 郎 部 郭 郵 都 鄂 鄉 鄭 鄰 配 酒 酷 酸 醉 醒 醜 醫 采 釋-量 金 針 釣 鈴 銀 銖 銘 銳 銷 鋒 鋼 錄 錢 錦 錫 錯 鍋 鍵 鍾 鎊 鎖 鎮 鏡 鐘 鐵 鑑 長 門 閃 閉 開 閒 間 閣 閱 闆 闊 闐 關 闡 防 阻 阿 陀 附 降 限 院-除 陪 陰 陳 陵-陸 陽 隆 隊 階 隔 際 障 隨 險 隱 隻 雄-集 雖 雙 雜 雞 離 難 雨 雪 雲 零 雷 電 需 震 霍 霧 露 霸 霹 靂 靈 青 靖 靜 非 靠 面 革 靼 鞋 韃 韋 韓 音 韻 響 頁 頂 項 順 須 預 頑 頓 頗 領 頭 頻 顆 題 額 顏 願 類 顧 顯 風 飄 飛 食 飯 飲 飽 飾 餅 養 餐 餘 館 首 香 馬 駐 駕 駛 騎 騙 騷 驅 驗 驚 骨 體 高 髮 鬆 鬥 鬧 鬱 鬼 魁 魂 魅 魔 魚 魯 鮮 鳥 鳳 鳴 鴻 鵝 鷹 鹿 麗 麥 麵 麻 麼 黃 黎 黑 默 點 黨 鼓 鼠 鼻 齊 齋 齒 齡 龍 龜] - [伏 侶 兌 兹 别 勳 卑 占 叶 堤 墎 奥 孜 峇 巽 彝 彞 敍 楔 渾 燦 狄 琳 瑚 甫 礁 简 芒 苗 茨 蚩 蜀 隴] - - - 「 - 」 - 『 - 』 - - - - - 上午 - 下午 - - - - EEEEy'x'G-Ml-d - - - - - - - - - 1月 - 2月 - 3月 - 4月 - 5月 - 6月 - 7月 - 8月 - 9月 - 10月 - 11月 - 12月 - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - - - 一月 - 二月 - 三月 - 四月 - 五月 - 六月 - 七月 - 八月 - 九月 - 十月 - 十一月 - 十二月 - - - - - - - 週日 - 週一 - 週二 - 週三 - 週四 - 週五 - 週六 - - - 星期日 - 星期一 - 星期二 - 星期三 - 星期四 - 星期五 - 星期六 - - - - - 日 - 一 - 二 - 三 - 四 - 五 - 六 - - - - - - - 第1季 - 第2季 - 第3季 - 第4季 - - - - - - 西元前 - 西元 - - - - - - yyyy/M/d - - - - - yy/M/d - - - - - - - zzzzah時mm分ss秒 - - - - - zah時mm分ss秒 - - - - - ah:mm:ss - - - - - - d日(E) - H時 - H:mm - H:mm:ss - M-d(E) - MMMMd日(E) - MM/dd - M/d - yyyy/M - yyyy/M/d(EEE) - y年M月 - y年M月d日EEE - y年M月 - yyyy/MM - - - {0}至{1} - - M月至M月 - - - M/dE至M/dE - M/dE至M/dE - - - LLLL至LLLL - - - M/d至M/d - M/d至M/d - - - ah時至ah時 - ah時至h時 - - - vah時至ah時 - vah時至h時 - - - yyyy/M至yyyy/M - yyyy/M至yyyy/M - - - yyyy/M/dE至yyyy/M/dE - yyyy/M/dE至yyyy/M/dE - yyyy/M/dE至yyyy/M/dE - - - y年M月至M月 - y/M至y/M - - - yyyy/M/d至yyyy/M/d - yyyy/M/d至yyyy/M/d - yyyy/M/d至yyyy/M/d - - - - - - 年代 - - - 週 - - - 大前天 - 前天 - 昨天 - 今天 - 明天 - 後天 - 大後天 - - - 週天 - - - 上午/下午 - - - 小時 - - - 分鐘 - - - 秒 - - - 區域 - - - - - 上午 - 下午 - - - 民國前 - 民國 - - - - - - Gy/M/d - - - - - Gy/M/d - - - - - - M月d日EEE - M月d日 - Gy - y/M - y/M/d(EEE) - y/MM - Gy年M月 - Gy年M月d日EEE - y年第Q季度 - Gy QQQ - - - - - - +HH:mm;-HH:mm - GMT{0} - GMT - {0}時間 - {1}({0}) - - 未知地區 - - - 安道爾 - - - 杜拜 - - - 阿富汗 - - - 安地卡及巴布達 - - - 安吉拉 - - - 阿爾巴尼亞 - - - 亞美尼亞 - - - 荷屬安地列斯 - - - 安哥拉 - - - 羅瑟拉 - - - 帕麥 - - - 南極 - - - 昭和 - - - 戴維斯 - - - 莫斯托克 - - - 凱西 - - - 杜蒙杜爾維爾 - - - 麥克馬多 - - - 加拉哥斯 - - - 門多薩 - - - 聖胡安 - - - 烏斯懷亞 - - - 拉略哈 - - - 聖路易 - - - 卡塔馬卡 - - - 胡韋 - - - 吐庫曼 - - - 哥多華 - - - 布宜諾斯艾利斯 - - - 派哥派哥 - - - 奧地利 - - - 伯斯 - - - 達爾文 - - - 阿得雷德 - - - 斷丘市 - - - 克黎 - - - 墨爾本 - - - 荷巴特 - - - 雪梨 - - - 布利斯班 - - - 羅豪島 - - - 阿魯巴 - - - 奧蘭群島 - - - 亞塞拜然 - - - 沙拉耶佛 - - - 巴貝多 - - - 孟加拉 - - - 布魯塞爾 - - - 布吉納法索 - - - 保加利亞 - - - 蒲隆地 - - - 貝南 - - - 百慕達 - - - 汶萊 - - - 玻利維亞 - - - 艾魯內佩 - - - 布蘭科 - - - 維留港 - - - 保維斯塔 - - - 瑪瑙斯 - - - 古雅巴 - - - 格蘭場 - - - 貝倫 - - - 阿拉圭那 - - - 聖保羅 - - - 巴伊阿 - - - 福塔力莎 - - - 馬瑟歐 - - - 雷西非 - - - 諾倫哈 - - - 巴哈馬 - - - 不丹 - - - 波札那 - - - 白俄羅斯 - - - 貝里斯 - - - 道生河 - - - 懷特霍斯 - - - 伊奴維克 - - - 溫哥華 - - - 道生灣 - - - 耐羅耐佛 - - - 艾德蒙吞 - - - 瑞夫卡倫特 - - - 劍橋灣 - - - 利宅那 - - - 溫尼伯 - - - 羅斯魯特 - - - 雨河鎮 - - - 蘭今灣 - - - 珊德灣 - - - 尼皮岡 - - - 多倫多 - - - 蒙特婁 - - - 伊魁特 - - - 潘尼爾東 - - - 蒙克頓 - - - 哈里法克斯 - - - 鵝灣 - - - 格雷斯貝 - - - 白朗薩布隆 - - - 聖約翰 - - - 科科斯群島 - - - 金夏沙 - - - 蘆佈巴西 - - - 中非共和國 - - - 剛果共和國 - - - 瑞士 - - - 象牙海岸 - - - 拉洛東加島 - - - 復活島 - - - 聖地牙哥 - - - 喀麥隆 - - - 喀什米爾 - - - 烏魯木齊 - - - 重慶 - - - 哈爾濱 - - - 哥倫比亞 - - - 哥斯大黎加 - - - 古巴 - - - 維德角 - - - 聖誕島 - - - 塞浦勒斯 - - - 捷克 - - - 德國 - - - 吉布地 - - - 丹麥 - - - 多明尼加 - - - 多明尼加共和國 - - - 阿爾及利亞 - - - 加拉巴哥群島 - - - 瓜亞基爾 - - - 愛沙尼亞 - - - 埃及 - - - 西撒哈拉 - - - 厄利垂亞 - - - 加納利 - - - 休達 - - - 馬德里 - - - 衣索比亞 - - - 芬蘭 - - - 斐濟 - - - 史坦萊 - - - 土魯克群島 - - - 波納佩 - - - 科斯里 - - - 法羅群島 - - - 加彭 - - - 倫敦 - - - 格瑞納達 - - - 喬治亞 - - - 法屬蓋亞那 - - - 根息 - - - 迦納 - - - 直布羅陀 - - - 杜里 - - - 高特哈市 - - - 斯可比海峽 - - - 丹馬沙文 - - - 斑竹 - - - 幾內亞 - - - 瓜德羅普 - - - 赤道幾內亞 - - - 希臘 - - - 南喬治亞與南三明治島 - - - 瓜地馬拉 - - - 關島 - - - 幾內亞比索 - - - 圭亞那 - - - 中華人民共和國香港特別行政區 - - - 德古斯加巴 - - - 克羅埃西亞 - - - 海地 - - - 匈牙利 - - - 雅加達 - - - 馬卡沙爾 - - - 加亞布拉 - - - 愛爾蘭 - - - 印度 - - - 英屬印度洋領地 - - - 伊拉克 - - - 伊朗 - - - 冰島 - - - 羅馬 - - - 牙買加 - - - 約旦 - - - 東京 - - - 奈洛比 - - - 吉爾吉斯 - - - 柬埔寨 - - - 恩得伯理島 - - - 吉里巴斯 - - - 科摩羅群島 - - - 聖啟斯與尼維斯 - - - 北韓 - - - 首爾 - - - 開曼 - - - 艾克陶 - - - 奧拉爾 - - - 阿克糾賓 - - - 奎茲羅答 - - - 阿拉木圖 - - - 寮國 - - - 貝鲁特特 - - - 聖露西亞 - - - 列支敦斯登 - - - 可倫坡 - - - 蒙羅維亞 - - - 賴索托 - - - 立陶宛 - - - 盧森堡 - - - 拉脫維亞 - - - 利比亞 - - - 卡薩布蘭卡 - - - 摩納哥 - - - 奇西瑙 - - - 波多里察 - - - 馬達加斯加 - - - 瓜加林島 - - - 馬朱諾 - - - 斯科普耶 - - - 巴馬科 - - - 緬甸 - - - 烏蘭巴托 - - - 卓巴爾塞 - - - 中華人民共和國澳門特別行政區 - - - 北馬里亞納群島 - - - 馬丁尼克 - - - 茅利塔尼亞 - - - 蒙賽拉特 - - - 馬爾他 - - - 模里西斯 - - - 馬爾地夫 - - - 馬拉威 - - - 提華納 - - - 厄莫休 - - - 馬薩特蘭 - - - 奇華華 - - - 蒙特瑞 - - - 墨西哥市 - - - 美里達 - - - 康庫 - - - 古晉 - - - 莫三比克 - - - 溫荷克 - - - 新喀里多尼亞 - - - 尼日 - - - 諾福克群島 - - - 奈及利亞 - - - 尼加拉瓜 - - - 荷蘭 - - - 奧斯陸 - - - 尼泊爾 - - - 諾魯 - - - 紐埃 - - - 查坦 - - - 奧克蘭 - - - 阿曼 - - - 巴拿馬 - - - 秘魯 - - - 大溪地 - - - 馬可薩斯島 - - - 岡必爾群島 - - - 巴布亞新幾內亞 - - - 菲律賓 - - - 喀拉蚩 - - - 波蘭 - - - 聖皮里及米圭隆 - - - 匹特開恩群島 - - - 加薩 - - - 亞速爾群島 - - - 馬得拉群島 - - - 帛琉 - - - 巴拉圭 - - - 卡達 - - - 留尼旺島 - - - 塞爾維亞 - - - 加里寧格勒 - - - 伏爾加格勒 - - - 沙馬拉 - - - 葉卡捷林堡 - - - 新西伯利亞 - - - 克拉斯諾雅斯克 - - - 伊爾庫次克 - - - 雅庫次克 - - - 海參崴 - - - 庫頁島 - - - 馬加丹 - - - 堪查加 - - - 阿那底河 - - - 盧安達 - - - 利雅德 - - - 瓜達卡納 - - - 塞席爾 - - - 卡土穆 - - - 斯德哥爾摩 - - - 聖赫勒拿島 - - - 斯洛維尼亞 - - - 隆意耳拜恩 - - - 布拉提拉瓦 - - - 獅子山 - - - 聖馬利諾 - - - 塞內加爾 - - - 摩加迪休 - - - 巴拉馬利波 - - - 聖多美普林西比 - - - 薩爾瓦多 - - - 敘利亞 - - - 史瓦濟蘭 - - - 土克斯和開卡斯群島 - - - 恩加納美 - - - 克格連群島 - - - 多哥 - - - 泰國 - - - 塔吉克 - - - 托克勞 - - - 東帝汶 - - - 土庫曼 - - - 坦尚尼亞 - - - 東加 - - - 伊斯坦堡 - - - 千里達 - - - 吐瓦魯 - - - 台灣 - - - 尚尼亞 - - - 烏茲哥洛 - - - 基輔 - - - 辛非洛浦 - - - 札波羅結 - - - 康培拉 - - - 中途島 - - - 強斯頓 - - - 艾達克 - - - 諾姆 - - - 安克里治 - - - 雅庫塔 - - - 朱諾 - - - 洛杉磯 - - - 波伊斯 - - - 鳳凰城 - - - 船岩峰 - - - 紐沙倫,北達科他州 - - - 申特城 - - - 美諾米克 - - - 溫森斯 - - - 彼得堡,印第安那州 - - - 泰爾城 - - - 諾克斯 - - - 威納麥克,印第安那州 - - - 馬倫哥 - - - 印第安那波里斯 - - - 路易斯維爾 - - - 維威 - - - 蒙提瑟洛 - - - 紐約 - - - 烏拉圭 - - - 撒馬爾罕 - - - 梵蒂岡 - - - 聖文森 - - - 卡拉卡斯 - - - 托托拉島 - - - 美屬維京群島 - - - 越南 - - - 愛發提 - - - 瓦利斯與富圖納群島 - - - 亞庇 - - - 葉門 - - - 馬約特島 - - - 南非 - - - 尚比亞 - - - 辛巴威 - - - - 艾克時間 - 艾克夏令時間 - - - ACT(艾克) - ACST(艾克) - - - - - 中非時間 - - - - - 東非時間 - - - - - 南非標準時間 - - - - - 西非時間 - 西非夏令時間 - - - - - 阿克秋賓斯克時間 - 阿克秋賓斯克夏令時間 - - - - - 阿拉斯加時間 - 阿拉斯加標準時間 - 阿拉斯加夏令時間 - - - AKST - AKDT - - - - - 阿拉斯加-夏威夷時間 - 阿拉斯加-夏威夷標準時間 - 阿拉斯加-夏威夷夏令時間 - - - - - 阿拉木圖時間 - 阿拉木圖夏令時間 - - - - - 亞馬遜時間 - 亞馬遜夏令時間 - - - - - 中部時間 - 中部標準時間 - 中部夏令時間 - - - - - 東部時間 - 東部標準時間 - 東部夏令時間 - - - - - 山區時間 - 山區標準時間 - 山區日光節約時間 - - - - - 太平洋時間 - 太平洋標準時間 - 太平洋夏令時間 - - - - - 阿克陶時間 - 阿克陶夏令時間 - - - AQTT (阿克陶) - AQTST (阿克陶) - - - - - 阿克托比時間 - 阿克托比夏令時間 - - - AQTT (阿克托比) - AQTST (阿克托比) - - - - - 阿拉伯時間 - 阿拉伯標準時間 - 阿拉伯夏令時間 - - - AT(阿拉伯) - AST(阿拉伯) - ADT (阿拉伯) - - - - - 阿根廷時間 - 阿根廷夏令時間 - - - - - 阿根廷西部時間 - 阿根廷西部時間 - 阿根廷西部夏令時間 - - - - - 亞美尼亞時間 - 亞美尼亞夏令時間 - - - AMT(亞美尼亞) - AMST(亞美尼亞) - - - - - 阿什哈巴德時間 - 阿什哈巴德夏令時間 - - - - - 大西洋時間 - 大西洋標準時間 - 大西洋夏令時間 - - - - - 澳洲中部時間 - 澳洲中部標準時間 - 澳洲中部夏令時間 - - - - - 澳洲東部時間 - 澳洲東部標準時間 - 澳洲東部夏令時間 - - - - - 澳洲西部時間 - 澳洲西部標準時間 - 澳洲西部夏令時間 - - - - - 亞塞拜然時間 - 亞塞拜然夏令時間 - - - - - 亞速爾群島時間 - 亞速爾群島夏令時間 - - - - - 巴庫時間 - 巴庫夏令時間 - - - BAKT - BAKST - - - - - 孟加拉時間 - - - BDT - - - - - 白令時間 - 白令標準時間 - 白令夏令時間 - - - BT(白令) - BST(白令) - BDT(白令) - - - - - 不丹時間 - - - BTT - - - - - 婆羅洲時間 - 婆羅洲夏令時間 - - - - - 巴西利亞時間 - 巴西利亞時間 - 巴西利亞夏令時間 - - - - - 長白山時間 - - - - - 智利時間 - 智利時間 - 智利夏令時間 - - - - - 中國時間 - 中國標準時間 - 中國夏令時間 - - - CT(中國) - CST(中國) - CDT(中國) - - - - - 喬巴山時間 - 喬巴山夏令時間 - - - - - CST(古巴) - CDT(古巴) - - - - - 達卡時間 - - - - - 杜尚別時間 - 杜尚別夏令時間 - - - - - 荷屬圭亞那時間 - 荷屬圭亞那時間 - 荷屬圭亞那夏令時間 - - - - - 東帝汶時間 - - - - - 厄瓜多時間 - - - - - 中歐標準時間 - 中歐夏令時間 - - - - - 東歐標準時間 - 東歐夏令時間 - - - - - 西歐時間 - 西歐夏令時間 - - - - - 伏龍芝時間 - 伏龍芝夏令時間 - - - - - 格林威治標準時間 - - - - - 加拉帕戈群島時間 - - - - - 喬治亞時間 - 喬治亞夏令時間 - - - - - 格陵蘭中部時間 - 格陵蘭中部夏令時間 - - - - - 格陵蘭東部時間 - 格陵蘭東部時間 - 格陵蘭東部夏令時間 - - - - - 格陵蘭西部時間 - 格陵蘭西部時間 - 格陵蘭西部夏令時間 - - - - - 關島標準時間 - - - GST (關島) - - - - - GT - - - - - 夏威夷-阿留申標準時間 - - - - - 印度標準時間 - - - - - 印尼中部時間 - - - - - 印尼東部時間 - - - - - 印尼西部時間 - - - - - 以色列時間 - 以色列標準時間 - 以色列夏令時間 - - - IST(以色列) - - - - - 日本標準時間 - 日本夏令時間 - - - JT - - - - - 喀拉蚩時間 - - - - - 喀什時間 - - - - - 東哈薩克時間 - 東哈薩克標準時間 - - - - - 西哈薩克時間 - 西哈薩克標準時間 - - - - - 吉力羅達時間 - 吉力羅達夏令時間 - - - - - 韓國時間 - 韓國標準時間 - 韓國夏令時間 - - - KT - - - - - 古比雪夫時間 - 古比雪夫夏令時間 - - - - - 瓜加林環礁時間 - - - - - 吉爾吉斯時間 - - - - - 蘭卡時間 - - - - - 隴蜀時間 - - - - - 豪勳爵島時間 - 豪勳爵島標準時間 - 豪勳爵島夏令時間 - - - - - 澳門時間 - 澳門夏令時間 - - - - - 馬來亞時間 - - - - - 馬來西亞時間 - - - - - 馬紹爾群島時間 - - - - - 烏蘭巴托時間 - 烏蘭巴托夏令時間 - - - - - 紐西蘭時間 - 紐西蘭標準時間 - 紐西蘭夏令時間 - - - - - 紐芬蘭時間 - 紐芬蘭標準時間 - 紐芬蘭夏令時間 - - - - - 北馬里亞納群島時間 - - - - - 巴基斯坦時間 - 巴基斯坦夏令時間 - - - - - 聖彼德與密啟崙時間 - 聖彼德與密啟崙標準時間 - 聖彼德與密啟崙夏令時間 - - - - - 克孜勒奧爾達時間 - 克孜勒奧爾達夏令時間 - - - - - 薩馬拉時間 - 薩馬拉夏令時間 - - - - - 撒馬爾罕時間 - 撒馬爾罕夏令時間 - - - SAMT(撒馬爾罕) - SAMST(撒馬爾罕) - - - - - 薩摩亞標準時間 - - - - - 舍甫琴科時間 - - - - - 蘇利南時間 - 蘇利南時間 - - - - - 斯維爾德洛夫斯克時間 - 斯維爾德洛夫斯克夏令時間 - - - - - 塔吉克時間 - - - - - 塔什干時間 - 塔什干夏令時間 - - - - - 第比利斯時間 - 第比利斯夏令時間 - - - - - 土耳其時間 - 土耳其夏令時間 - - - - - 土庫曼時間 - 土庫曼夏令時間 - - - - - 烏拉斯克時間 - 烏拉斯克夏令時間 - - - - - 烏魯木齊時間 - - - - - 烏茲別克時間 - 烏茲別克夏令時間 - - - - - 凱薩琳堡時間 - 凱薩琳堡夏令時間 - - - - - 葉里溫時間 - 葉里溫夏令時間 - - - - - 育空時間 - 育空標準時間 - 育空夏令時間 - - - - - - - - 安道爾陪士特 - - - 阿拉伯聯合大公國迪爾汗 - - - 阿爾巴尼亞列克 - - - 亞美尼亞德拉姆 - - - 荷屬安地列斯盾 - - - 安哥拉寬扎 - - - 安哥拉寬扎 (1977-1990) - - - 安哥拉新寬扎 (1990-2000) - - - 安哥拉新寬扎 Reajustado (1995-1999) - - - 阿根廷奧斯特納爾 - - - 阿根廷披索 (1983-1985) - - - 阿根廷披索 - - - 奧地利先令 - - - 澳幣 - - - 阿魯巴盾 - - - 亞塞拜然馬納特 (1993-2006) - - - 亞塞拜然馬納特 - - - 波士尼亞-黑塞哥維那第納爾 - - - 波士尼亞-黑塞哥維那可轉換馬克 - - - 巴貝多元 - - - 孟加拉塔卡 - - - 比利時法郎(可轉換) - - - 比利時法郎 - - - 比利時法郎(金融) - - - 保加利亞硬列弗 - - - 保加利亞新列弗 - - - 巴林第納爾 - - - 蒲隆地法郎 - - - 百慕達幣 - - - 汶萊元 - - - 玻利維亞貨幣單位 - - - 玻利維亞披索 - - - 玻利維亞幕多 - - - 巴西克魯薩多農瓦(1967-1986) - - - 巴西克魯賽羅 (1986-1989) - - - 巴西克魯賽羅 (1990-1993) - - - 巴西里拉 - - - 巴西克如爾達農瓦 - - - 巴西克魯賽羅 - - - 巴哈馬元 - - - 不丹那特倫 - - - 緬甸基雅特 - - - 波札那普拉 - - - 白俄羅斯新盧布 (1994-1999) - - - 白俄羅斯盧布 - - - 貝里斯元 - - - 加幣 - - - 剛果法郎 - - - WIR 歐元 - - - WIR 法郎 - - - 卡林油達佛曼跎 - - - 智利披索 - - - 人民幣 - - - 哥倫比亞披索 - - - 哥斯大黎加科郎 - - - 舊塞爾維亞第納爾 - - - 捷克斯洛伐克硬克朗 - - - 古巴披索 - - - 維德角埃斯庫多 - - - 賽普勒斯鎊 - - - 捷克克朗 - - - 東德奧斯特馬克 - - - 德國馬克 - - - 吉布地法郎 - - - 丹麥克羅納 - - - 多明尼加披索 - - - 阿爾及利亞第納爾 - - - 厄瓜多蘇克雷 - - - 厄瓜多爾由里達瓦康斯坦 (UVC) - - - 愛沙尼亞克朗 - - - 埃及鎊 - - - 厄立特里亞納克法 - - - 西班牙比塞塔(會計單位) - - - 西班牙比塞塔(可轉換會計單位) - - - 西班牙陪士特 - - - 衣索比亞比爾 - - - 歐元 - - - 芬蘭馬克 - - - 斐濟元 - - - 福克蘭群島鎊 - - - 法國法郎 - - - 英鎊 - - - 喬治庫旁拉里 - - - 喬治拉里 - - - 迦納仙蔕 - - - 直布羅陀鎊 - - - 甘比亞達拉西 - - - 幾內亞法郎 - - - 幾內亞西里 - - - 赤道幾內亞埃奎勒 - - - 希臘德拉克馬 - - - 瓜地馬拉格查爾 - - - 葡屬幾內亞埃斯庫多 - - - 幾內亞比索披索 - - - 圭亞那元 - - - 港幣 - - - 洪都拉斯倫皮拉 - - - 克羅地亞第納爾 - - - 克羅地亞庫納 - - - 匈牙利福林 - - - 印尼盾 - - - 愛爾蘭鎊 - - - 以色列鎊 - - - 以色列新謝克爾 - - - 印度盧比 - - - 伊拉克第納爾 - - - 伊朗里亞爾 - - - 冰島克朗 - - - 義大利里拉 - - - 牙買加元 - - - 約旦第納爾 - - - 日圓 - - - 肯尼亞先令 - - - 吉爾吉斯索馬 - - - 柬埔寨瑞爾 - - - 科摩羅法郎 - - - 北韓圜 - - - 韓圜 - - - 科威特第納爾 - - - 開曼群島美元 - - - 卡扎克斯坦坦吉 - - - 寮國基普 - - - 黎巴嫩鎊 - - - 斯里蘭卡盧布 - - - 賴比瑞亞元 - - - 賴索托羅蒂 - - - 立陶宛里塔 - - - 立陶宛特羅 - - - 盧森堡可兌換法郎 - - - 盧森堡法郎 - - - 盧森堡金融法郎 - - - 拉脫維亞拉特銀幣 - - - 拉脫維亞盧布 - - - 利比亞第納爾 - - - 摩杜雲列伊 - - - 馬達加斯加艾瑞爾 - - - 馬達加斯加法郎 - - - 馬其頓第納爾 - - - 馬里法郎 - - - 緬甸元 - - - 蒙古圖格里克 - - - 澳門元 - - - 茅利塔尼亞烏吉亞 - - - 馬爾他里拉 - - - 馬爾他鎊 - - - 模里西斯盧布 - - - 馬爾地夫海島盧非亞 - - - 馬拉維克瓦查 - - - 墨西哥披索 - - - 墨西哥銀披索 (1861-1992) - - - 墨西哥轉換單位(UDI) - - - 馬來西亞令吉 - - - 莫三比克埃斯庫多 - - - 莫三比克梅蒂卡爾 - - - 莫三比克美提卡 - - - 納米比亞元 - - - 奈及利亞奈拉 - - - 尼加拉瓜金科多巴 - - - 荷蘭盾 - - - 挪威克羅納 - - - 尼泊爾盧布 - - - 紐西蘭幣 - - - 阿曼里奧 - - - 巴拿馬巴波亞 - - - 祕魯因蒂 - - - 秘魯新太陽幣 - - - 秘魯太陽幣 - - - 巴布亞紐幾內亞基那 - - - 菲律賓披索 - - - 巴基斯坦盧布 - - - 波蘭茲羅提 - - - 波蘭茲羅提 (1950-1995) - - - 葡萄牙埃斯庫多 - - - 巴拉圭瓜拉尼 - - - 卡達爾里亞爾 - - - 羅德西亞元 - - - 舊羅馬尼亞列伊 - - - 羅馬尼亞列伊 - - - 塞爾維亞戴納 - - - 俄羅斯盧布 - - - 俄羅斯盧布 (1991-1998) - - - 盧安達法郎 - - - 沙烏地里雅 - - - 索羅門群島元 - - - 塞席爾盧比 - - - 蘇丹第納爾 - - - 蘇丹鎊 - - - 舊蘇丹鎊 - - - 瑞典克羅納 - - - 新加坡幣 - - - 聖赫勒拿鎊 - - - 斯洛維尼亞托勒 - - - 斯洛伐克克朗 - - - 獅子山利昂 - - - 索馬利亞先令 - - - 蘇利南元 - - - 蘇利南基爾 - - - 聖多美島和普林西比島多布拉 - - - 蘇聯盧布 - - - 薩爾瓦多科郎 - - - 敘利亞鎊 - - - 史瓦濟蘭里朗吉尼 - - - 泰銖 - - - 塔吉克盧布 - - - 塔吉克索莫尼 - - - 土庫曼馬納特 - - - 突尼西亞第納爾 - - - 東加潘加 - - - 帝汶埃斯庫多 - - - 千里達及托巴哥元 - - - 新臺幣 - - - 坦尚尼亞先令 - - - 烏克蘭格里夫那 - - - 烏克蘭卡本瓦那茲 - - - 烏干達先令 (1966-1987) - - - 烏干達先令 - - - $ - - - 美元 (第二天) - - - 美元 (同一天) - - - 烏拉圭披索 (1975-1993) - - - 烏拉圭披索 - - - 烏茲別克索姆 - - - 委內瑞拉玻利瓦 - - - 委內瑞拉強勢玻利瓦 - - - 萬那杜萬杜 - - - 西薩摩亞塔拉 - - - 西非法郎 BEAC - - - XAG - - - 黃金 - - - 歐洲綜合單位 - - - 歐洲貨幣單位 XBB - - - 歐洲會計單位 (XBC) - - - 歐洲會計單位 (XBD) - - - 格瑞那達元 - - - 特殊提款權 - - - 歐洲貨幣單位 XEU - - - 法國金法郎 - - - 法國 UIC 法郎 - - - 西非法郎 BCEAO - - - 帕拉狄昂 - - - CFP 法郎 - - - 白金 - - - XTS - - - XXX - - - 葉門第納爾 - - - 葉門里雅 - - - 南斯拉夫第納爾硬幣 - - - 南斯拉夫挪威亞第納爾 - - - 南斯拉夫 可轉換第納爾 - - - 南非蘭特 (金融) - - - 南非蘭特 - - - 尚比亞克瓦查 - - - 薩伊新扎伊爾 - - - 薩伊扎伊爾 - - - 辛巴威元 - - - - - - {0}小時 - - - {0} 週 - - - - - 是:確定 - - - - diff --git a/lib/zend/Zend/Locale/Data/zh_Hant_HK.xml b/lib/zend/Zend/Locale/Data/zh_Hant_HK.xml deleted file mode 100644 index 32b783c42e..0000000000 --- a/lib/zend/Zend/Locale/Data/zh_Hant_HK.xml +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - 傳統德國拼字法 - 1996 德國拼字法 - San Giorgio/Bila 方言 - Gniva/Njiva 方言 - Oseacco/Osojane 方言 - 已修訂拼字法 - 蘇格蘭標準英語 - Stolvizza/Solbica 方言 - - - 繁體中文順序 - Big5 - 簡體中文順序 - GB2312 - - - 十進制 - - - - - - - - M月d日E - y年M月d日,E - - - - - - - - y年M月d日EEEE - - - - - y年M月d日 - - - - - y年M月d日 - - - - - yy年M月d日 - - - - - - - ahh:mm:ss - - - - - - - {1}{0} - - - - - {1}{0} - - - - yyyy/M - - - - M月d日E至M月d日E - M月d日E至d日E - - - M月d日至M月d日 - M月d日至d日 - - - ah至h時 - - - ah:mm至ah:mmv - ah:mm至h:mmv - ah:mm至h:mmv - - - ah時至ah時v - ah至h時v - - - yy年M月至M月 - yy年M月至yy年M月 - - - yy年M月d日E至M月d日E - yy年M月d日E至d日E - yy年M月d日E至yy年M月d日E - - - yy年M月d日至M月d日 - yy年M月d日至d日 - yy年M月d日至yy年M月d日 - - - - - - - - - - - ¤#,##0.00;(¤#,##0.00) - - - - - - 澳元 - - - 波斯尼亞-黑塞哥維那第納爾 - - - 波斯尼亞-黑塞哥維那可轉換馬克 - - - 加元 - - - 港元 - $ - - - 意大利里拉 - - - 紐西蘭元 - - - 塞爾維亞第納爾 - - - 新加坡元 - - - 新台幣 - - - US$ - - - - - - {0}時 - - - {0}星期 - - - - - 是 - 否 - - - - diff --git a/lib/zend/Zend/Locale/Data/zh_Hant_MO.xml b/lib/zend/Zend/Locale/Data/zh_Hant_MO.xml deleted file mode 100644 index 98707b4314..0000000000 --- a/lib/zend/Zend/Locale/Data/zh_Hant_MO.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - "); - } else { - $response->setRedirect($url); - } - $response->sendResponse(); - if (self::$exitOnRedirect) { - exit(); - } - } - - /** - * Produces string of random byte of given length. - * - * @param integer $len length of requested string - * @return string RAW random binary string - */ - static public function randomBytes($len) - { - $key = ''; - for($i=0; $i < $len; $i++) { - $key .= chr(mt_rand(0, 255)); - } - return $key; - } - - /** - * Generates a hash value (message digest) according to given algorithm. - * It returns RAW binary string. - * - * This is a wrapper function that uses one of available internal function - * dependent on given PHP configuration. It may use various functions from - * ext/openssl, ext/hash, ext/mhash or ext/standard. - * - * @param string $func digest algorithm - * @param string $data data to sign - * @return string RAW digital signature - * @throws Zend_OpenId_Exception - */ - static public function digest($func, $data) - { - if (function_exists('openssl_digest')) { - return openssl_digest($data, $func, true); - } else if (function_exists('hash')) { - return hash($func, $data, true); - } else if ($func === 'sha1') { - return sha1($data, true); - } else if ($func === 'sha256') { - if (function_exists('mhash')) { - return mhash(MHASH_SHA256 , $data); - } - } - require_once "Zend/OpenId/Exception.php"; - throw new Zend_OpenId_Exception( - 'Unsupported digest algorithm "' . $func . '".', - Zend_OpenId_Exception::UNSUPPORTED_DIGEST); - } - - /** - * Generates a keyed hash value using the HMAC method. It uses ext/hash - * if available or user-level PHP implementation, that is not significantly - * slower. - * - * @param string $macFunc name of selected hashing algorithm (sha1, sha256) - * @param string $data data to sign - * @param string $secret shared secret key used for generating the HMAC - * variant of the message digest - * @return string RAW HMAC value - */ - static public function hashHmac($macFunc, $data, $secret) - { -// require_once "Zend/Crypt/Hmac.php"; -// return Zend_Crypt_Hmac::compute($secret, $macFunc, $data, Zend_Crypt_Hmac::BINARY); - if (function_exists('hash_hmac')) { - return hash_hmac($macFunc, $data, $secret, 1); - } else { - if (Zend_OpenId::strlen($secret) > 64) { - $secret = self::digest($macFunc, $secret); - } - $secret = str_pad($secret, 64, chr(0x00)); - $ipad = str_repeat(chr(0x36), 64); - $opad = str_repeat(chr(0x5c), 64); - $hash1 = self::digest($macFunc, ($secret ^ $ipad) . $data); - return self::digest($macFunc, ($secret ^ $opad) . $hash1); - } - } - - /** - * Converts binary representation into ext/gmp or ext/bcmath big integer - * representation. - * - * @param string $bin binary representation of big number - * @return mixed - * @throws Zend_OpenId_Exception - */ - static protected function binToBigNum($bin) - { - if (extension_loaded('gmp')) { - return gmp_init(bin2hex($bin), 16); - } else if (extension_loaded('bcmath')) { - $bn = 0; - $len = Zend_OpenId::strlen($bin); - for ($i = 0; $i < $len; $i++) { - $bn = bcmul($bn, 256); - $bn = bcadd($bn, ord($bin[$i])); - } - return $bn; - } - require_once "Zend/OpenId/Exception.php"; - throw new Zend_OpenId_Exception( - 'The system doesn\'t have proper big integer extension', - Zend_OpenId_Exception::UNSUPPORTED_LONG_MATH); - } - - /** - * Converts internal ext/gmp or ext/bcmath big integer representation into - * binary string. - * - * @param mixed $bn big number - * @return string - * @throws Zend_OpenId_Exception - */ - static protected function bigNumToBin($bn) - { - if (extension_loaded('gmp')) { - $s = gmp_strval($bn, 16); - if (strlen($s) % 2 != 0) { - $s = '0' . $s; - } else if ($s[0] > '7') { - $s = '00' . $s; - } - return pack("H*", $s); - } else if (extension_loaded('bcmath')) { - $cmp = bccomp($bn, 0); - if ($cmp == 0) { - return (chr(0)); - } else if ($cmp < 0) { - require_once "Zend/OpenId/Exception.php"; - throw new Zend_OpenId_Exception( - 'Big integer arithmetic error', - Zend_OpenId_Exception::ERROR_LONG_MATH); - } - $bin = ""; - while (bccomp($bn, 0) > 0) { - $bin = chr(bcmod($bn, 256)) . $bin; - $bn = bcdiv($bn, 256); - } - if (ord($bin[0]) > 127) { - $bin = chr(0) . $bin; - } - return $bin; - } - require_once "Zend/OpenId/Exception.php"; - throw new Zend_OpenId_Exception( - 'The system doesn\'t have proper big integer extension', - Zend_OpenId_Exception::UNSUPPORTED_LONG_MATH); - } - - /** - * Performs the first step of a Diffie-Hellman key exchange by generating - * private and public DH values based on given prime number $p and - * generator $g. Both sides of key exchange MUST have the same prime number - * and generator. In this case they will able to create a random shared - * secret that is never send from one to the other. - * - * @param string $p prime number in binary representation - * @param string $g generator in binary representation - * @param string $priv_key private key in binary representation - * @return mixed - */ - static public function createDhKey($p, $g, $priv_key = null) - { - if (function_exists('openssl_dh_compute_key')) { - $dh_details = array( - 'p' => $p, - 'g' => $g - ); - if ($priv_key !== null) { - $dh_details['priv_key'] = $priv_key; - } - return openssl_pkey_new(array('dh'=>$dh_details)); - } else { - $bn_p = self::binToBigNum($p); - $bn_g = self::binToBigNum($g); - if ($priv_key === null) { - $priv_key = self::randomBytes(Zend_OpenId::strlen($p)); - } - $bn_priv_key = self::binToBigNum($priv_key); - if (extension_loaded('gmp')) { - $bn_pub_key = gmp_powm($bn_g, $bn_priv_key, $bn_p); - } else if (extension_loaded('bcmath')) { - $bn_pub_key = bcpowmod($bn_g, $bn_priv_key, $bn_p); - } - $pub_key = self::bigNumToBin($bn_pub_key); - - return array( - 'p' => $bn_p, - 'g' => $bn_g, - 'priv_key' => $bn_priv_key, - 'pub_key' => $bn_pub_key, - 'details' => array( - 'p' => $p, - 'g' => $g, - 'priv_key' => $priv_key, - 'pub_key' => $pub_key)); - } - } - - /** - * Returns an associative array with Diffie-Hellman key components in - * binary representation. The array includes original prime number 'p' and - * generator 'g', random private key 'priv_key' and corresponding public - * key 'pub_key'. - * - * @param mixed $dh Diffie-Hellman key - * @return array - */ - static public function getDhKeyDetails($dh) - { - if (function_exists('openssl_dh_compute_key')) { - $details = openssl_pkey_get_details($dh); - if (isset($details['dh'])) { - return $details['dh']; - } - } else { - return $dh['details']; - } - } - - /** - * Computes the shared secret from the private DH value $dh and the other - * party's public value in $pub_key - * - * @param string $pub_key other party's public value - * @param mixed $dh Diffie-Hellman key - * @return string - * @throws Zend_OpenId_Exception - */ - static public function computeDhSecret($pub_key, $dh) - { - if (function_exists('openssl_dh_compute_key')) { - $ret = openssl_dh_compute_key($pub_key, $dh); - if (ord($ret[0]) > 127) { - $ret = chr(0) . $ret; - } - return $ret; - } else if (extension_loaded('gmp')) { - $bn_pub_key = self::binToBigNum($pub_key); - $bn_secret = gmp_powm($bn_pub_key, $dh['priv_key'], $dh['p']); - return self::bigNumToBin($bn_secret); - } else if (extension_loaded('bcmath')) { - $bn_pub_key = self::binToBigNum($pub_key); - $bn_secret = bcpowmod($bn_pub_key, $dh['priv_key'], $dh['p']); - return self::bigNumToBin($bn_secret); - } - require_once "Zend/OpenId/Exception.php"; - throw new Zend_OpenId_Exception( - 'The system doesn\'t have proper big integer extension', - Zend_OpenId_Exception::UNSUPPORTED_LONG_MATH); - } - - /** - * Takes an arbitrary precision integer and returns its shortest big-endian - * two's complement representation. - * - * Arbitrary precision integers MUST be encoded as big-endian signed two's - * complement binary strings. Henceforth, "btwoc" is a function that takes - * an arbitrary precision integer and returns its shortest big-endian two's - * complement representation. All integers that are used with - * Diffie-Hellman Key Exchange are positive. This means that the left-most - * bit of the two's complement representation MUST be zero. If it is not, - * implementations MUST add a zero byte at the front of the string. - * - * @param string $str binary representation of arbitrary precision integer - * @return string big-endian signed representation - */ - static public function btwoc($str) - { - if (ord($str[0]) > 127) { - return chr(0) . $str; - } - return $str; - } - - /** - * Returns lenght of binary string in bytes - * - * @param string $str - * @return int the string lenght - */ - static public function strlen($str) - { - if (extension_loaded('mbstring') && - (((int)ini_get('mbstring.func_overload')) & 2)) { - return mb_strlen($str, 'latin1'); - } else { - return strlen($str); - } - } - -} diff --git a/lib/zend/Zend/OpenId/Consumer.php b/lib/zend/Zend/OpenId/Consumer.php deleted file mode 100644 index 9200514ac3..0000000000 --- a/lib/zend/Zend/OpenId/Consumer.php +++ /dev/null @@ -1,958 +0,0 @@ -_storage = new Zend_OpenId_Consumer_Storage_File(); - } else { - $this->_storage = $storage; - } - $this->_dumbMode = $dumbMode; - } - - /** - * Performs check (with possible user interaction) of OpenID identity. - * - * This is the first step of OpenID authentication process. - * On success the function does not return (it does HTTP redirection to - * server and exits). On failure it returns false. - * - * @param string $id OpenID identity - * @param string $returnTo URL to redirect response from server to - * @param string $root HTTP URL to identify consumer on server - * @param mixed $extensions extension object or array of extensions objects - * @param Zend_Controller_Response_Abstract $response an optional response - * object to perform HTTP or HTML form redirection - * @return bool - */ - public function login($id, $returnTo = null, $root = null, $extensions = null, - Zend_Controller_Response_Abstract $response = null) - { - return $this->_checkId( - false, - $id, - $returnTo, - $root, - $extensions, - $response); - } - - /** - * Performs immediate check (without user interaction) of OpenID identity. - * - * This is the first step of OpenID authentication process. - * On success the function does not return (it does HTTP redirection to - * server and exits). On failure it returns false. - * - * @param string $id OpenID identity - * @param string $returnTo HTTP URL to redirect response from server to - * @param string $root HTTP URL to identify consumer on server - * @param mixed $extensions extension object or array of extensions objects - * @param Zend_Controller_Response_Abstract $response an optional response - * object to perform HTTP or HTML form redirection - * @return bool - */ - public function check($id, $returnTo=null, $root=null, $extensions = null, - Zend_Controller_Response_Abstract $response = null) - - { - return $this->_checkId( - true, - $id, - $returnTo, - $root, - $extensions, - $response); - } - - /** - * Verifies authentication response from OpenID server. - * - * This is the second step of OpenID authentication process. - * The function returns true on successful authentication and false on - * failure. - * - * @param array $params HTTP query data from OpenID server - * @param string &$identity this argument is set to end-user's claimed - * identifier or OpenID provider local identifier. - * @param mixed $extensions extension object or array of extensions objects - * @return bool - */ - public function verify($params, &$identity = "", $extensions = null) - { - $this->_setError(''); - - $version = 1.1; - if (isset($params['openid_ns']) && - $params['openid_ns'] == Zend_OpenId::NS_2_0) { - $version = 2.0; - } - - if (isset($params["openid_claimed_id"])) { - $identity = $params["openid_claimed_id"]; - } else if (isset($params["openid_identity"])){ - $identity = $params["openid_identity"]; - } else { - $identity = ""; - } - - if ($version < 2.0 && !isset($params["openid_claimed_id"])) { - if ($this->_session !== null) { - if ($this->_session->identity === $identity) { - $identity = $this->_session->claimed_id; - } - } else if (defined('SID')) { - if (isset($_SESSION["zend_openid"]["identity"]) && - isset($_SESSION["zend_openid"]["claimed_id"]) && - $_SESSION["zend_openid"]["identity"] === $identity) { - $identity = $_SESSION["zend_openid"]["claimed_id"]; - } - } else { - require_once "Zend/Session/Namespace.php"; - $this->_session = new Zend_Session_Namespace("zend_openid"); - if ($this->_session->identity === $identity) { - $identity = $this->_session->claimed_id; - } - } - } - - if (empty($params['openid_mode'])) { - $this->_setError("Missing openid.mode"); - return false; - } - if (empty($params['openid_return_to'])) { - $this->_setError("Missing openid.return_to"); - return false; - } - if (empty($params['openid_signed'])) { - $this->_setError("Missing openid.signed"); - return false; - } - if (empty($params['openid_sig'])) { - $this->_setError("Missing openid.sig"); - return false; - } - if ($params['openid_mode'] != 'id_res') { - $this->_setError("Wrong openid.mode '".$params['openid_mode']."' != 'id_res'"); - return false; - } - if (empty($params['openid_assoc_handle'])) { - $this->_setError("Missing openid.assoc_handle"); - return false; - } - if ($params['openid_return_to'] != Zend_OpenId::selfUrl()) { - /* Ignore query part in openid.return_to */ - $pos = strpos($params['openid_return_to'], '?'); - if ($pos === false || - SUBSTR($params['openid_return_to'], 0 , $pos) != Zend_OpenId::selfUrl()) { - - $this->_setError("Wrong openid.return_to '". - $params['openid_return_to']."' != '" . Zend_OpenId::selfUrl() ."'"); - return false; - } - } - - if ($version >= 2.0) { - if (empty($params['openid_response_nonce'])) { - $this->_setError("Missing openid.response_nonce"); - return false; - } - if (empty($params['openid_op_endpoint'])) { - $this->_setError("Missing openid.op_endpoint"); - return false; - /* OpenID 2.0 (11.3) Checking the Nonce */ - } else if (!$this->_storage->isUniqueNonce($params['openid_op_endpoint'], $params['openid_response_nonce'])) { - $this->_setError("Duplicate openid.response_nonce"); - return false; - } - } - - - if (!empty($params['openid_invalidate_handle'])) { - if ($this->_storage->getAssociationByHandle( - $params['openid_invalidate_handle'], - $url, - $macFunc, - $secret, - $expires)) { - $this->_storage->delAssociation($url); - } - } - - if ($this->_storage->getAssociationByHandle( - $params['openid_assoc_handle'], - $url, - $macFunc, - $secret, - $expires)) { - $signed = explode(',', $params['openid_signed']); - $data = ''; - foreach ($signed as $key) { - $data .= $key . ':' . $params['openid_' . strtr($key,'.','_')] . "\n"; - } - if (base64_decode($params['openid_sig']) == - Zend_OpenId::hashHmac($macFunc, $data, $secret)) { - if (!Zend_OpenId_Extension::forAll($extensions, 'parseResponse', $params)) { - $this->_setError("Extension::parseResponse failure"); - return false; - } - /* OpenID 2.0 (11.2) Verifying Discovered Information */ - if (isset($params['openid_claimed_id'])) { - $id = $params['openid_claimed_id']; - if (!Zend_OpenId::normalize($id)) { - $this->_setError("Normalization failed"); - return false; - } else if (!$this->_discovery($id, $discovered_server, $discovered_version)) { - $this->_setError("Discovery failed: " . $this->getError()); - return false; - } else if ((!empty($params['openid_identity']) && - $params["openid_identity"] != $id) || - (!empty($params['openid_op_endpoint']) && - $params['openid_op_endpoint'] != $discovered_server) || - $discovered_version != $version) { - $this->_setError("Discovery information verification failed"); - return false; - } - } - return true; - } - $this->_storage->delAssociation($url); - $this->_setError("Signature check failed"); - return false; - } - else - { - /* Use dumb mode */ - if (isset($params['openid_claimed_id'])) { - $id = $params['openid_claimed_id']; - } else if (isset($params['openid_identity'])) { - $id = $params['openid_identity']; - } else { - $this->_setError("Missing openid.claimed_id and openid.identity"); - return false; - } - - if (!Zend_OpenId::normalize($id)) { - $this->_setError("Normalization failed"); - return false; - } else if (!$this->_discovery($id, $server, $discovered_version)) { - $this->_setError("Discovery failed: " . $this->getError()); - return false; - } - - /* OpenID 2.0 (11.2) Verifying Discovered Information */ - if ((isset($params['openid_identity']) && - $params["openid_identity"] != $id) || - (isset($params['openid_op_endpoint']) && - $params['openid_op_endpoint'] != $server) || - $discovered_version != $version) { - $this->_setError("Discovery information verification failed"); - return false; - } - - $params2 = array(); - foreach ($params as $key => $val) { - if (strpos($key, 'openid_ns_') === 0) { - $key = 'openid.ns.' . substr($key, strlen('openid_ns_')); - } else if (strpos($key, 'openid_sreg_') === 0) { - $key = 'openid.sreg.' . substr($key, strlen('openid_sreg_')); - } else if (strpos($key, 'openid_') === 0) { - $key = 'openid.' . substr($key, strlen('openid_')); - } - $params2[$key] = $val; - } - $params2['openid.mode'] = 'check_authentication'; - $ret = $this->_httpRequest($server, 'POST', $params2, $status); - if ($status != 200) { - $this->_setError("'Dumb' signature verification HTTP request failed"); - return false; - } - $r = array(); - if (is_string($ret)) { - foreach(explode("\n", $ret) as $line) { - $line = trim($line); - if (!empty($line)) { - $x = explode(':', $line, 2); - if (is_array($x) && count($x) == 2) { - list($key, $value) = $x; - $r[trim($key)] = trim($value); - } - } - } - } - $ret = $r; - if (!empty($ret['invalidate_handle'])) { - if ($this->_storage->getAssociationByHandle( - $ret['invalidate_handle'], - $url, - $macFunc, - $secret, - $expires)) { - $this->_storage->delAssociation($url); - } - } - if (isset($ret['is_valid']) && $ret['is_valid'] == 'true') { - if (!Zend_OpenId_Extension::forAll($extensions, 'parseResponse', $params)) { - $this->_setError("Extension::parseResponse failure"); - return false; - } - return true; - } - $this->_setError("'Dumb' signature verification failed"); - return false; - } - } - - /** - * Store assiciation in internal chace and external storage - * - * @param string $url OpenID server url - * @param string $handle association handle - * @param string $macFunc HMAC function (sha1 or sha256) - * @param string $secret shared secret - * @param integer $expires expiration UNIX time - * @return void - */ - protected function _addAssociation($url, $handle, $macFunc, $secret, $expires) - { - $this->_cache[$url] = array($handle, $macFunc, $secret, $expires); - return $this->_storage->addAssociation( - $url, - $handle, - $macFunc, - $secret, - $expires); - } - - /** - * Retrive assiciation information for given $url from internal cahce or - * external storage - * - * @param string $url OpenID server url - * @param string &$handle association handle - * @param string &$macFunc HMAC function (sha1 or sha256) - * @param string &$secret shared secret - * @param integer &$expires expiration UNIX time - * @return void - */ - protected function _getAssociation($url, &$handle, &$macFunc, &$secret, &$expires) - { - if (isset($this->_cache[$url])) { - $handle = $this->_cache[$url][0]; - $macFunc = $this->_cache[$url][1]; - $secret = $this->_cache[$url][2]; - $expires = $this->_cache[$url][3]; - return true; - } - if ($this->_storage->getAssociation( - $url, - $handle, - $macFunc, - $secret, - $expires)) { - $this->_cache[$url] = array($handle, $macFunc, $secret, $expires); - return true; - } - return false; - } - - /** - * Performs HTTP request to given $url using given HTTP $method. - * Send additinal query specified by variable/value array, - * On success returns HTTP response without headers, false on failure. - * - * @param string $url OpenID server url - * @param string $method HTTP request method 'GET' or 'POST' - * @param array $params additional qwery parameters to be passed with - * @param int &$staus HTTP status code - * request - * @return mixed - */ - protected function _httpRequest($url, $method = 'GET', array $params = array(), &$status = null) - { - $client = $this->_httpClient; - if ($client === null) { - $client = new Zend_Http_Client( - $url, - array( - 'maxredirects' => 4, - 'timeout' => 15, - 'useragent' => 'Zend_OpenId' - ) - ); - } else { - $client->setUri($url); - } - - $client->resetParameters(); - if ($method == 'POST') { - $client->setMethod(Zend_Http_Client::POST); - $client->setParameterPost($params); - } else { - $client->setMethod(Zend_Http_Client::GET); - $client->setParameterGet($params); - } - - try { - $response = $client->request(); - } catch (Exception $e) { - $this->_setError('HTTP Request failed: ' . $e->getMessage()); - return false; - } - $status = $response->getStatus(); - $body = $response->getBody(); - if ($status == 200 || ($status == 400 && !empty($body))) { - return $body; - }else{ - $this->_setError('Bad HTTP response'); - return false; - } - } - - /** - * Create (or reuse existing) association between OpenID consumer and - * OpenID server based on Diffie-Hellman key agreement. Returns true - * on success and false on failure. - * - * @param string $url OpenID server url - * @param float $version OpenID protocol version - * @param string $priv_key for testing only - * @return bool - */ - protected function _associate($url, $version, $priv_key=null) - { - - /* Check if we already have association in chace or storage */ - if ($this->_getAssociation( - $url, - $handle, - $macFunc, - $secret, - $expires)) { - return true; - } - - if ($this->_dumbMode) { - /* Use dumb mode */ - return true; - } - - $params = array(); - - if ($version >= 2.0) { - $params = array( - 'openid.ns' => Zend_OpenId::NS_2_0, - 'openid.mode' => 'associate', - 'openid.assoc_type' => 'HMAC-SHA256', - 'openid.session_type' => 'DH-SHA256', - ); - } else { - $params = array( - 'openid.mode' => 'associate', - 'openid.assoc_type' => 'HMAC-SHA1', - 'openid.session_type' => 'DH-SHA1', - ); - } - - $dh = Zend_OpenId::createDhKey(pack('H*', Zend_OpenId::DH_P), - pack('H*', Zend_OpenId::DH_G), - $priv_key); - $dh_details = Zend_OpenId::getDhKeyDetails($dh); - - $params['openid.dh_modulus'] = base64_encode( - Zend_OpenId::btwoc($dh_details['p'])); - $params['openid.dh_gen'] = base64_encode( - Zend_OpenId::btwoc($dh_details['g'])); - $params['openid.dh_consumer_public'] = base64_encode( - Zend_OpenId::btwoc($dh_details['pub_key'])); - - while(1) { - $ret = $this->_httpRequest($url, 'POST', $params, $status); - if ($ret === false) { - $this->_setError("HTTP request failed"); - return false; - } - - $r = array(); - $bad_response = false; - foreach(explode("\n", $ret) as $line) { - $line = trim($line); - if (!empty($line)) { - $x = explode(':', $line, 2); - if (is_array($x) && count($x) == 2) { - list($key, $value) = $x; - $r[trim($key)] = trim($value); - } else { - $bad_response = true; - } - } - } - if ($bad_response && strpos($ret, 'Unknown session type') !== false) { - $r['error_code'] = 'unsupported-type'; - } - $ret = $r; - - if (isset($ret['error_code']) && - $ret['error_code'] == 'unsupported-type') { - if ($params['openid.session_type'] == 'DH-SHA256') { - $params['openid.session_type'] = 'DH-SHA1'; - $params['openid.assoc_type'] = 'HMAC-SHA1'; - } else if ($params['openid.session_type'] == 'DH-SHA1') { - $params['openid.session_type'] = 'no-encryption'; - } else { - $this->_setError("The OpenID service responded with: " . $ret['error_code']); - return false; - } - } else { - break; - } - } - - if ($status != 200) { - $this->_setError("The server responded with status code: " . $status); - return false; - } - - if ($version >= 2.0 && - isset($ret['ns']) && - $ret['ns'] != Zend_OpenId::NS_2_0) { - $this->_setError("Wrong namespace definition in the server response"); - return false; - } - - if (!isset($ret['assoc_handle']) || - !isset($ret['expires_in']) || - !isset($ret['assoc_type']) || - $params['openid.assoc_type'] != $ret['assoc_type']) { - if ($params['openid.assoc_type'] != $ret['assoc_type']) { - $this->_setError("The returned assoc_type differed from the supplied openid.assoc_type"); - } else { - $this->_setError("Missing required data from provider (assoc_handle, expires_in, assoc_type are required)"); - } - return false; - } - - $handle = $ret['assoc_handle']; - $expiresIn = $ret['expires_in']; - - if ($ret['assoc_type'] == 'HMAC-SHA1') { - $macFunc = 'sha1'; - } else if ($ret['assoc_type'] == 'HMAC-SHA256' && - $version >= 2.0) { - $macFunc = 'sha256'; - } else { - $this->_setError("Unsupported assoc_type"); - return false; - } - - if ((empty($ret['session_type']) || - ($version >= 2.0 && $ret['session_type'] == 'no-encryption')) && - isset($ret['mac_key'])) { - $secret = base64_decode($ret['mac_key']); - } else if (isset($ret['session_type']) && - $ret['session_type'] == 'DH-SHA1' && - !empty($ret['dh_server_public']) && - !empty($ret['enc_mac_key'])) { - $dhFunc = 'sha1'; - } else if (isset($ret['session_type']) && - $ret['session_type'] == 'DH-SHA256' && - $version >= 2.0 && - !empty($ret['dh_server_public']) && - !empty($ret['enc_mac_key'])) { - $dhFunc = 'sha256'; - } else { - $this->_setError("Unsupported session_type"); - return false; - } - if (isset($dhFunc)) { - $serverPub = base64_decode($ret['dh_server_public']); - $dhSec = Zend_OpenId::computeDhSecret($serverPub, $dh); - if ($dhSec === false) { - $this->_setError("DH secret comutation failed"); - return false; - } - $sec = Zend_OpenId::digest($dhFunc, $dhSec); - if ($sec === false) { - $this->_setError("Could not create digest"); - return false; - } - $secret = $sec ^ base64_decode($ret['enc_mac_key']); - } - if ($macFunc == 'sha1') { - if (Zend_OpenId::strlen($secret) != 20) { - $this->_setError("The length of the sha1 secret must be 20"); - return false; - } - } else if ($macFunc == 'sha256') { - if (Zend_OpenId::strlen($secret) != 32) { - $this->_setError("The length of the sha256 secret must be 32"); - return false; - } - } - $this->_addAssociation( - $url, - $handle, - $macFunc, - $secret, - time() + $expiresIn); - return true; - } - - /** - * Performs discovery of identity and finds OpenID URL, OpenID server URL - * and OpenID protocol version. Returns true on succees and false on - * failure. - * - * @param string &$id OpenID identity URL - * @param string &$server OpenID server URL - * @param float &$version OpenID protocol version - * @return bool - * @todo OpenID 2.0 (7.3) XRI and Yadis discovery - */ - protected function _discovery(&$id, &$server, &$version) - { - $realId = $id; - if ($this->_storage->getDiscoveryInfo( - $id, - $realId, - $server, - $version, - $expire)) { - $id = $realId; - return true; - } - - /* TODO: OpenID 2.0 (7.3) XRI and Yadis discovery */ - - /* HTML-based discovery */ - $response = $this->_httpRequest($id, 'GET', array(), $status); - if ($status != 200 || !is_string($response)) { - return false; - } - if (preg_match( - '/]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid2.provider[ \t]*[^"\']*\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i', - $response, - $r)) { - $version = 2.0; - $server = $r[3]; - } else if (preg_match( - '/]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid2.provider[ \t]*[^"\']*\\3[^>]*\/?>/i', - $response, - $r)) { - $version = 2.0; - $server = $r[2]; - } else if (preg_match( - '/]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid.server[ \t]*[^"\']*\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i', - $response, - $r)) { - $version = 1.1; - $server = $r[3]; - } else if (preg_match( - '/]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid.server[ \t]*[^"\']*\\3[^>]*\/?>/i', - $response, - $r)) { - $version = 1.1; - $server = $r[2]; - } else { - return false; - } - if ($version >= 2.0) { - if (preg_match( - '/]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid2.local_id[ \t]*[^"\']*\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i', - $response, - $r)) { - $realId = $r[3]; - } else if (preg_match( - '/]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid2.local_id[ \t]*[^"\']*\\3[^>]*\/?>/i', - $response, - $r)) { - $realId = $r[2]; - } - } else { - if (preg_match( - '/]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid.delegate[ \t]*[^"\']*\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i', - $response, - $r)) { - $realId = $r[3]; - } else if (preg_match( - '/]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid.delegate[ \t]*[^"\']*\\3[^>]*\/?>/i', - $response, - $r)) { - $realId = $r[2]; - } - } - - $expire = time() + 60 * 60; - $this->_storage->addDiscoveryInfo($id, $realId, $server, $version, $expire); - $id = $realId; - return true; - } - - /** - * Performs check of OpenID identity. - * - * This is the first step of OpenID authentication process. - * On success the function does not return (it does HTTP redirection to - * server and exits). On failure it returns false. - * - * @param bool $immediate enables or disables interaction with user - * @param string $id OpenID identity - * @param string $returnTo HTTP URL to redirect response from server to - * @param string $root HTTP URL to identify consumer on server - * @param mixed $extensions extension object or array of extensions objects - * @param Zend_Controller_Response_Abstract $response an optional response - * object to perform HTTP or HTML form redirection - * @return bool - */ - protected function _checkId($immediate, $id, $returnTo=null, $root=null, - $extensions=null, Zend_Controller_Response_Abstract $response = null) - { - $this->_setError(''); - - if (!Zend_OpenId::normalize($id)) { - $this->_setError("Normalisation failed"); - return false; - } - $claimedId = $id; - - if (!$this->_discovery($id, $server, $version)) { - $this->_setError("Discovery failed: " . $this->getError()); - return false; - } - if (!$this->_associate($server, $version)) { - $this->_setError("Association failed: " . $this->getError()); - return false; - } - if (!$this->_getAssociation( - $server, - $handle, - $macFunc, - $secret, - $expires)) { - /* Use dumb mode */ - unset($handle); - unset($macFunc); - unset($secret); - unset($expires); - } - - $params = array(); - if ($version >= 2.0) { - $params['openid.ns'] = Zend_OpenId::NS_2_0; - } - - $params['openid.mode'] = $immediate ? - 'checkid_immediate' : 'checkid_setup'; - - $params['openid.identity'] = $id; - - $params['openid.claimed_id'] = $claimedId; - - if ($version <= 2.0) { - if ($this->_session !== null) { - $this->_session->identity = $id; - $this->_session->claimed_id = $claimedId; - } else if (defined('SID')) { - $_SESSION["zend_openid"] = array( - "identity" => $id, - "claimed_id" => $claimedId); - } else { - require_once "Zend/Session/Namespace.php"; - $this->_session = new Zend_Session_Namespace("zend_openid"); - $this->_session->identity = $id; - $this->_session->claimed_id = $claimedId; - } - } - - if (isset($handle)) { - $params['openid.assoc_handle'] = $handle; - } - - $params['openid.return_to'] = Zend_OpenId::absoluteUrl($returnTo); - - if (empty($root)) { - $root = Zend_OpenId::selfUrl(); - if ($root[strlen($root)-1] != '/') { - $root = dirname($root); - } - } - if ($version >= 2.0) { - $params['openid.realm'] = $root; - } else { - $params['openid.trust_root'] = $root; - } - - if (!Zend_OpenId_Extension::forAll($extensions, 'prepareRequest', $params)) { - $this->_setError("Extension::prepareRequest failure"); - return false; - } - - Zend_OpenId::redirect($server, $params, $response); - return true; - } - - /** - * Sets HTTP client object to make HTTP requests - * - * @param Zend_Http_Client $client HTTP client object to be used - */ - public function setHttpClient($client) { - $this->_httpClient = $client; - } - - /** - * Returns HTTP client object that will be used to make HTTP requests - * - * @return Zend_Http_Client - */ - public function getHttpClient() { - return $this->_httpClient; - } - - /** - * Sets session object to store climed_id - * - * @param Zend_Session_Namespace $session HTTP client object to be used - */ - public function setSession(Zend_Session_Namespace $session) { - $this->_session = $session; - } - - /** - * Returns session object that is used to store climed_id - * - * @return Zend_Session_Namespace - */ - public function getSession() { - return $this->_session; - } - - /** - * Saves error message - * - * @param string $message error message - */ - protected function _setError($message) - { - $this->_error = $message; - } - - /** - * Returns error message that explains failure of login, check or verify - * - * @return string - */ - public function getError() - { - return $this->_error; - } - -} diff --git a/lib/zend/Zend/OpenId/Consumer/Storage.php b/lib/zend/Zend/OpenId/Consumer/Storage.php deleted file mode 100644 index c2633a308d..0000000000 --- a/lib/zend/Zend/OpenId/Consumer/Storage.php +++ /dev/null @@ -1,132 +0,0 @@ -_dir = $dir; - if (!is_dir($this->_dir)) { - if (!@mkdir($this->_dir, 0700, 1)) { - /** - * @see Zend_OpenId_Exception - */ - require_once 'Zend/OpenId/Exception.php'; - throw new Zend_OpenId_Exception( - 'Cannot access storage directory ' . $dir, - Zend_OpenId_Exception::ERROR_STORAGE); - } - } - if (($f = fopen($this->_dir.'/assoc.lock', 'w+')) === null) { - /** - * @see Zend_OpenId_Exception - */ - require_once 'Zend/OpenId/Exception.php'; - throw new Zend_OpenId_Exception( - 'Cannot create a lock file in the directory ' . $dir, - Zend_OpenId_Exception::ERROR_STORAGE); - } - fclose($f); - if (($f = fopen($this->_dir.'/discovery.lock', 'w+')) === null) { - /** - * @see Zend_OpenId_Exception - */ - require_once 'Zend/OpenId/Exception.php'; - throw new Zend_OpenId_Exception( - 'Cannot create a lock file in the directory ' . $dir, - Zend_OpenId_Exception::ERROR_STORAGE); - } - fclose($f); - if (($f = fopen($this->_dir.'/nonce.lock', 'w+')) === null) { - /** - * @see Zend_OpenId_Exception - */ - require_once 'Zend/OpenId/Exception.php'; - throw new Zend_OpenId_Exception( - 'Cannot create a lock file in the directory ' . $dir, - Zend_OpenId_Exception::ERROR_STORAGE); - } - fclose($f); - } - - /** - * Stores information about association identified by $url/$handle - * - * @param string $url OpenID server URL - * @param string $handle assiciation handle - * @param string $macFunc HMAC function (sha1 or sha256) - * @param string $secret shared secret - * @param long $expires expiration UNIX time - * @return bool - */ - public function addAssociation($url, $handle, $macFunc, $secret, $expires) - { - $name1 = $this->_dir . '/assoc_url_' . md5($url); - $name2 = $this->_dir . '/assoc_handle_' . md5($handle); - $lock = @fopen($this->_dir . '/assoc.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_EX)) { - fclose($lock); - return false; - } - $f = @fopen($name1, 'w+'); - if ($f === false) { - fclose($lock); - return false; - } - $data = serialize(array($url, $handle, $macFunc, $secret, $expires)); - fwrite($f, $data); - if (function_exists('symlink')) { - @unlink($name2); - if (symlink($name1, $name2)) { - fclose($f); - fclose($lock); - return true; - } - } - $f2 = @fopen($name2, 'w+'); - if ($f2) { - fwrite($f2, $data); - fclose($f2); - @unlink($name1); - $ret = true; - } else { - $ret = false; - } - fclose($f); - fclose($lock); - return $ret; - } - - /** - * Gets information about association identified by $url - * Returns true if given association found and not expired and false - * otherwise - * - * @param string $url OpenID server URL - * @param string &$handle assiciation handle - * @param string &$macFunc HMAC function (sha1 or sha256) - * @param string &$secret shared secret - * @param long &$expires expiration UNIX time - * @return bool - */ - public function getAssociation($url, &$handle, &$macFunc, &$secret, &$expires) - { - $name1 = $this->_dir . '/assoc_url_' . md5($url); - $lock = @fopen($this->_dir . '/assoc.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_EX)) { - fclose($lock); - return false; - } - $f = @fopen($name1, 'r'); - if ($f === false) { - fclose($lock); - return false; - } - $ret = false; - $data = stream_get_contents($f); - if (!empty($data)) { - list($storedUrl, $handle, $macFunc, $secret, $expires) = unserialize($data); - if ($url === $storedUrl && $expires > time()) { - $ret = true; - } else { - $name2 = $this->_dir . '/assoc_handle_' . md5($handle); - fclose($f); - @unlink($name2); - @unlink($name1); - fclose($lock); - return false; - } - } - fclose($f); - fclose($lock); - return $ret; - } - - /** - * Gets information about association identified by $handle - * Returns true if given association found and not expired and false - * otherwise - * - * @param string $handle assiciation handle - * @param string &$url OpenID server URL - * @param string &$macFunc HMAC function (sha1 or sha256) - * @param string &$secret shared secret - * @param long &$expires expiration UNIX time - * @return bool - */ - public function getAssociationByHandle($handle, &$url, &$macFunc, &$secret, &$expires) - { - $name2 = $this->_dir . '/assoc_handle_' . md5($handle); - $lock = @fopen($this->_dir . '/assoc.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_EX)) { - fclose($lock); - return false; - } - $f = @fopen($name2, 'r'); - if ($f === false) { - fclose($lock); - return false; - } - $ret = false; - $data = stream_get_contents($f); - if (!empty($data)) { - list($url, $storedHandle, $macFunc, $secret, $expires) = unserialize($data); - if ($handle === $storedHandle && $expires > time()) { - $ret = true; - } else { - fclose($f); - @unlink($name2); - $name1 = $this->_dir . '/assoc_url_' . md5($url); - @unlink($name1); - fclose($lock); - return false; - } - } - fclose($f); - fclose($lock); - return $ret; - } - - /** - * Deletes association identified by $url - * - * @param string $url OpenID server URL - * @return bool - */ - public function delAssociation($url) - { - $name1 = $this->_dir . '/assoc_url_' . md5($url); - $lock = @fopen($this->_dir . '/assoc.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_EX)) { - fclose($lock); - return false; - } - $f = @fopen($name1, 'r'); - if ($f === false) { - fclose($lock); - return false; - } - $data = stream_get_contents($f); - if (!empty($data)) { - list($storedUrl, $handle, $macFunc, $secret, $expires) = unserialize($data); - if ($url === $storedUrl) { - $name2 = $this->_dir . '/assoc_handle_' . md5($handle); - fclose($f); - @unlink($name2); - @unlink($name1); - fclose($lock); - return true; - } - } - fclose($f); - fclose($lock); - return true; - } - - /** - * Stores information discovered from identity $id - * - * @param string $id identity - * @param string $realId discovered real identity URL - * @param string $server discovered OpenID server URL - * @param float $version discovered OpenID protocol version - * @param long $expires expiration UNIX time - * @return bool - */ - public function addDiscoveryInfo($id, $realId, $server, $version, $expires) - { - $name = $this->_dir . '/discovery_' . md5($id); - $lock = @fopen($this->_dir . '/discovery.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_EX)) { - fclose($lock); - return false; - } - $f = @fopen($name, 'w+'); - if ($f === false) { - fclose($lock); - return false; - } - $data = serialize(array($id, $realId, $server, $version, $expires)); - fwrite($f, $data); - fclose($f); - fclose($lock); - return true; - } - - /** - * Gets information discovered from identity $id - * Returns true if such information exists and false otherwise - * - * @param string $id identity - * @param string &$realId discovered real identity URL - * @param string &$server discovered OpenID server URL - * @param float &$version discovered OpenID protocol version - * @param long &$expires expiration UNIX time - * @return bool - */ - public function getDiscoveryInfo($id, &$realId, &$server, &$version, &$expires) - { - $name = $this->_dir . '/discovery_' . md5($id); - $lock = @fopen($this->_dir . '/discovery.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_EX)) { - fclose($lock); - return false; - } - $f = @fopen($name, 'r'); - if ($f === false) { - fclose($lock); - return false; - } - $ret = false; - $data = stream_get_contents($f); - if (!empty($data)) { - list($storedId, $realId, $server, $version, $expires) = unserialize($data); - if ($id === $storedId && $expires > time()) { - $ret = true; - } else { - fclose($f); - @unlink($name); - fclose($lock); - return false; - } - } - fclose($f); - fclose($lock); - return $ret; - } - - /** - * Removes cached information discovered from identity $id - * - * @param string $id identity - * @return bool - */ - public function delDiscoveryInfo($id) - { - $name = $this->_dir . '/discovery_' . md5($id); - $lock = @fopen($this->_dir . '/discovery.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_EX)) { - fclose($lock); - return false; - } - @unlink($name); - fclose($lock); - return true; - } - - /** - * The function checks the uniqueness of openid.response_nonce - * - * @param string $provider openid.openid_op_endpoint field from authentication response - * @param string $nonce openid.response_nonce field from authentication response - * @return bool - */ - public function isUniqueNonce($provider, $nonce) - { - $name = $this->_dir . '/nonce_' . md5($provider.';'.$nonce); - $lock = @fopen($this->_dir . '/nonce.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_EX)) { - fclose($lock); - return false; - } - $f = @fopen($name, 'x'); - if ($f === false) { - fclose($lock); - return false; - } - fwrite($f, $provider.';'.$nonce); - fclose($f); - fclose($lock); - return true; - } - - /** - * Removes data from the uniqueness database that is older then given date - * - * @param mixed $date date of expired data - */ - public function purgeNonces($date=null) - { - $lock = @fopen($this->_dir . '/nonce.lock', 'w+'); - if ($lock !== false) { - flock($lock, LOCK_EX); - } - if (!is_int($date) && !is_string($date)) { - foreach (glob($this->_dir . '/nonce_*') as $name) { - @unlink($name); - } - } else { - if (is_string($date)) { - $time = time($date); - } else { - $time = $date; - } - foreach (glob($this->_dir . '/nonce_*') as $name) { - if (filemtime($name) < $time) { - @unlink($name); - } - } - } - if ($lock !== false) { - fclose($lock); - } - } -} diff --git a/lib/zend/Zend/OpenId/Exception.php b/lib/zend/Zend/OpenId/Exception.php deleted file mode 100644 index 26bf36a52d..0000000000 --- a/lib/zend/Zend/OpenId/Exception.php +++ /dev/null @@ -1,58 +0,0 @@ -$func($params)) { - return false; - } - } else { - return false; - } - } - } else if (!is_object($extensions) || - !($extensions instanceof Zend_OpenId_Extension) || - !$extensions->$func($params)) { - return false; - } - } - return true; - } - - /** - * Method to add additional data to OpenId 'checkid_immediate' or - * 'checkid_setup' request. This method addes nothing but inherited class - * may add additional data into request. - * - * @param array &$params request's var/val pairs - * @return bool - */ - public function prepareRequest(&$params) - { - return true; - } - - /** - * Method to parse OpenId 'checkid_immediate' or 'checkid_setup' request - * and initialize object with passed data. This method parses nothing but - * inherited class may override this method to do somthing. - * - * @param array $params request's var/val pairs - * @return bool - */ - public function parseRequest($params) - { - return true; - } - - /** - * Method to add additional data to OpenId 'id_res' response. This method - * addes nothing but inherited class may add additional data into response. - * - * @param array &$params response's var/val pairs - * @return bool - */ - public function prepareResponse(&$params) - { - return true; - } - - /** - * Method to parse OpenId 'id_res' response and initialize object with - * passed data. This method parses nothing but inherited class may override - * this method to do somthing. - * - * @param array $params response's var/val pairs - * @return bool - */ - public function parseResponse($params) - { - return true; - } - - /** - * Method to prepare data to store it in trusted servers database. - * - * @param array &$data data to be stored in tusted servers database - * @return bool - */ - public function getTrustData(&$data) - { - return true; - } - - /** - * Method to check if data from trusted servers database is enough to - * sutisfy request. - * - * @param array $data data from tusted servers database - * @return bool - */ - public function checkTrustData($data) - { - return true; - } -} diff --git a/lib/zend/Zend/OpenId/Extension/Sreg.php b/lib/zend/Zend/OpenId/Extension/Sreg.php deleted file mode 100644 index d8f1198e37..0000000000 --- a/lib/zend/Zend/OpenId/Extension/Sreg.php +++ /dev/null @@ -1,300 +0,0 @@ -_props = $props; - $this->_policy_url = $policy_url; - $this->_version = $version; - } - - /** - * Returns associative array of SREG variables - * - * @return array - */ - public function getProperties() { - if (is_array($this->_props)) { - return $this->_props; - } else { - return array(); - } - } - - /** - * Returns SREG policy URL - * - * @return string - */ - public function getPolicyUrl() { - return $this->_policy_url; - } - - /** - * Returns SREG protocol version - * - * @return float - */ - public function getVersion() { - return $this->_version; - } - - /** - * Returns array of allowed SREG variable names. - * - * @return array - */ - public static function getSregProperties() - { - return array( - "nickname", - "email", - "fullname", - "dob", - "gender", - "postcode", - "country", - "language", - "timezone" - ); - } - - /** - * Adds additional SREG data to OpenId 'checkid_immediate' or - * 'checkid_setup' request. - * - * @param array &$params request's var/val pairs - * @return bool - */ - public function prepareRequest(&$params) - { - if (is_array($this->_props) && count($this->_props) > 0) { - foreach ($this->_props as $prop => $req) { - if ($req) { - if (isset($required)) { - $required .= ','.$prop; - } else { - $required = $prop; - } - } else { - if (isset($optional)) { - $optional .= ','.$prop; - } else { - $optional = $prop; - } - } - } - if ($this->_version >= 1.1) { - $params['openid.ns.sreg'] = Zend_OpenId_Extension_Sreg::NAMESPACE_1_1; - } - if (!empty($required)) { - $params['openid.sreg.required'] = $required; - } - if (!empty($optional)) { - $params['openid.sreg.optional'] = $optional; - } - if (!empty($this->_policy_url)) { - $params['openid.sreg.policy_url'] = $this->_policy_url; - } - } - return true; - } - - /** - * Parses OpenId 'checkid_immediate' or 'checkid_setup' request, - * extracts SREG variables and sets ovject properties to corresponding - * values. - * - * @param array $params request's var/val pairs - * @return bool - */ - public function parseRequest($params) - { - if (isset($params['openid_ns_sreg']) && - $params['openid_ns_sreg'] === Zend_OpenId_Extension_Sreg::NAMESPACE_1_1) { - $this->_version= 1.1; - } else { - $this->_version= 1.0; - } - if (!empty($params['openid_sreg_policy_url'])) { - $this->_policy_url = $params['openid_sreg_policy_url']; - } else { - $this->_policy_url = null; - } - $props = array(); - if (!empty($params['openid_sreg_optional'])) { - foreach (explode(',', $params['openid_sreg_optional']) as $prop) { - $prop = trim($prop); - $props[$prop] = false; - } - } - if (!empty($params['openid_sreg_required'])) { - foreach (explode(',', $params['openid_sreg_required']) as $prop) { - $prop = trim($prop); - $props[$prop] = true; - } - } - $props2 = array(); - foreach (self::getSregProperties() as $prop) { - if (isset($props[$prop])) { - $props2[$prop] = $props[$prop]; - } - } - - $this->_props = (count($props2) > 0) ? $props2 : null; - return true; - } - - /** - * Adds additional SREG data to OpenId 'id_res' response. - * - * @param array &$params response's var/val pairs - * @return bool - */ - public function prepareResponse(&$params) - { - if (is_array($this->_props) && count($this->_props) > 0) { - if ($this->_version >= 1.1) { - $params['openid.ns.sreg'] = Zend_OpenId_Extension_Sreg::NAMESPACE_1_1; - } - foreach (self::getSregProperties() as $prop) { - if (!empty($this->_props[$prop])) { - $params['openid.sreg.' . $prop] = $this->_props[$prop]; - } - } - } - return true; - } - - /** - * Parses OpenId 'id_res' response and sets object's properties according - * to 'openid.sreg.*' variables in response - * - * @param array $params response's var/val pairs - * @return bool - */ - public function parseResponse($params) - { - if (isset($params['openid_ns_sreg']) && - $params['openid_ns_sreg'] === Zend_OpenId_Extension_Sreg::NAMESPACE_1_1) { - $this->_version= 1.1; - } else { - $this->_version= 1.0; - } - $props = array(); - foreach (self::getSregProperties() as $prop) { - if (!empty($params['openid_sreg_' . $prop])) { - $props[$prop] = $params['openid_sreg_' . $prop]; - } - } - if (isset($this->_props) && is_array($this->_props)) { - foreach (self::getSregProperties() as $prop) { - if (isset($this->_props[$prop]) && - $this->_props[$prop] && - !isset($props[$prop])) { - return false; - } - } - } - $this->_props = (count($props) > 0) ? $props : null; - return true; - } - - /** - * Addes SREG properties that are allowed to be send to consumer to - * the given $data argument. - * - * @param array &$data data to be stored in tusted servers database - * @return bool - */ - public function getTrustData(&$data) - { - $data[get_class()] = $this->getProperties(); - return true; - } - - /** - * Check if given $data contains necessury SREG properties to sutisfy - * OpenId request. On success sets SREG response properties from given - * $data and returns true, on failure returns false. - * - * @param array $data data from tusted servers database - * @return bool - */ - public function checkTrustData($data) - { - if (is_array($this->_props) && count($this->_props) > 0) { - $props = array(); - $name = get_class(); - if (isset($data[$name])) { - $props = $data[$name]; - } else { - $props = array(); - } - $props2 = array(); - foreach ($this->_props as $prop => $req) { - if (empty($props[$prop])) { - if ($req) { - return false; - } - } else { - $props2[$prop] = $props[$prop]; - } - } - $this->_props = (count($props2) > 0) ? $props2 : null; - } - return true; - } -} diff --git a/lib/zend/Zend/OpenId/Provider.php b/lib/zend/Zend/OpenId/Provider.php deleted file mode 100644 index c1e31a32aa..0000000000 --- a/lib/zend/Zend/OpenId/Provider.php +++ /dev/null @@ -1,781 +0,0 @@ -_loginUrl = $loginUrl; - if ($trustUrl === null) { - $trustUrl = Zend_OpenId::selfUrl() . '?openid.action=trust'; - } else { - $trustUrl = Zend_OpenId::absoluteUrl($trustUrl); - } - $this->_trustUrl = $trustUrl; - if ($user === null) { - require_once "Zend/OpenId/Provider/User/Session.php"; - $this->_user = new Zend_OpenId_Provider_User_Session(); - } else { - $this->_user = $user; - } - if ($storage === null) { - require_once "Zend/OpenId/Provider/Storage/File.php"; - $this->_storage = new Zend_OpenId_Provider_Storage_File(); - } else { - $this->_storage = $storage; - } - $this->_sessionTtl = $sessionTtl; - } - - /** - * Sets the OP Endpoint URL - * - * @param string $url the OP Endpoint URL - * @return null - */ - public function setOpEndpoint($url) - { - $this->_opEndpoint = $url; - } - - /** - * Registers a new user with given $id and $password - * Returns true in case of success and false if user with given $id already - * exists - * - * @param string $id user identity URL - * @param string $password encoded user password - * @return bool - */ - public function register($id, $password) - { - if (!Zend_OpenId::normalize($id) || empty($id)) { - return false; - } - return $this->_storage->addUser($id, md5($id.$password)); - } - - /** - * Returns true if user with given $id exists and false otherwise - * - * @param string $id user identity URL - * @return bool - */ - public function hasUser($id) { - if (!Zend_OpenId::normalize($id)) { - return false; - } - return $this->_storage->hasUser($id); - } - - /** - * Performs login of user with given $id and $password - * Returns true in case of success and false otherwise - * - * @param string $id user identity URL - * @param string $password user password - * @return bool - */ - public function login($id, $password) - { - if (!Zend_OpenId::normalize($id)) { - return false; - } - if (!$this->_storage->checkUser($id, md5($id.$password))) { - return false; - } - $this->_user->setLoggedInUser($id); - return true; - } - - /** - * Performs logout. Clears information about logged in user. - * - * @return void - */ - public function logout() - { - $this->_user->delLoggedInUser(); - return true; - } - - /** - * Returns identity URL of current logged in user or false - * - * @return mixed - */ - public function getLoggedInUser() { - return $this->_user->getLoggedInUser(); - } - - /** - * Retrieve consumer's root URL from request query. - * Returns URL or false in case of failure - * - * @param array $params query arguments - * @return mixed - */ - public function getSiteRoot($params) - { - $version = 1.1; - if (isset($params['openid_ns']) && - $params['openid_ns'] == Zend_OpenId::NS_2_0) { - $version = 2.0; - } - if ($version >= 2.0 && isset($params['openid_realm'])) { - $root = $params['openid_realm']; - } else if ($version < 2.0 && isset($params['openid_trust_root'])) { - $root = $params['openid_trust_root']; - } else if (isset($params['openid_return_to'])) { - $root = $params['openid_return_to']; - } else { - return false; - } - if (Zend_OpenId::normalizeUrl($root) && !empty($root)) { - return $root; - } - return false; - } - - /** - * Allows consumer with given root URL to authenticate current logged - * in user. Returns true on success and false on error. - * - * @param string $root root URL - * @param mixed $extensions extension object or array of extensions objects - * @return bool - */ - public function allowSite($root, $extensions=null) - { - $id = $this->getLoggedInUser(); - if ($id === false) { - return false; - } - if ($extensions !== null) { - $data = array(); - Zend_OpenId_Extension::forAll($extensions, 'getTrustData', $data); - } else { - $data = true; - } - $this->_storage->addSite($id, $root, $data); - return true; - } - - /** - * Prohibit consumer with given root URL to authenticate current logged - * in user. Returns true on success and false on error. - * - * @param string $root root URL - * @return bool - */ - public function denySite($root) - { - $id = $this->getLoggedInUser(); - if ($id === false) { - return false; - } - $this->_storage->addSite($id, $root, false); - return true; - } - - /** - * Delete consumer with given root URL from known sites of current logged - * in user. Next time this consumer will try to authenticate the user, - * Provider will ask user's confirmation. - * Returns true on success and false on error. - * - * @param string $root root URL - * @return bool - */ - public function delSite($root) - { - $id = $this->getLoggedInUser(); - if ($id === false) { - return false; - } - $this->_storage->addSite($id, $root, null); - return true; - } - - /** - * Returns list of known consumers for current logged in user or false - * if he is not logged in. - * - * @return mixed - */ - public function getTrustedSites() - { - $id = $this->getLoggedInUser(); - if ($id === false) { - return false; - } - return $this->_storage->getTrustedSites($id); - } - - /** - * Handles HTTP request from consumer - * - * @param array $params GET or POST variables. If this parameter is omited - * or set to null, then $_GET or $_POST superglobal variable is used - * according to REQUEST_METHOD. - * @param mixed $extensions extension object or array of extensions objects - * @param Zend_Controller_Response_Abstract $response an optional response - * object to perform HTTP or HTML form redirection - * @return mixed - */ - public function handle($params=null, $extensions=null, - Zend_Controller_Response_Abstract $response = null) - { - if ($params === null) { - if ($_SERVER["REQUEST_METHOD"] == "GET") { - $params = $_GET; - } else if ($_SERVER["REQUEST_METHOD"] == "POST") { - $params = $_POST; - } else { - return false; - } - } - $version = 1.1; - if (isset($params['openid_ns']) && - $params['openid_ns'] == Zend_OpenId::NS_2_0) { - $version = 2.0; - } - if (isset($params['openid_mode'])) { - if ($params['openid_mode'] == 'associate') { - $response = $this->_associate($version, $params); - $ret = ''; - foreach ($response as $key => $val) { - $ret .= $key . ':' . $val . "\n"; - } - return $ret; - } else if ($params['openid_mode'] == 'checkid_immediate') { - $ret = $this->_checkId($version, $params, 1, $extensions, $response); - if (is_bool($ret)) return $ret; - if (!empty($params['openid_return_to'])) { - Zend_OpenId::redirect($params['openid_return_to'], $ret, $response); - } - return true; - } else if ($params['openid_mode'] == 'checkid_setup') { - $ret = $this->_checkId($version, $params, 0, $extensions, $response); - if (is_bool($ret)) return $ret; - if (!empty($params['openid_return_to'])) { - Zend_OpenId::redirect($params['openid_return_to'], $ret, $response); - } - return true; - } else if ($params['openid_mode'] == 'check_authentication') { - $response = $this->_checkAuthentication($version, $params); - $ret = ''; - foreach ($response as $key => $val) { - $ret .= $key . ':' . $val . "\n"; - } - return $ret; - } - } - return false; - } - - /** - * Generates a secret key for given hash function, returns RAW key or false - * if function is not supported - * - * @param string $func hash function (sha1 or sha256) - * @return mixed - */ - protected function _genSecret($func) - { - if ($func == 'sha1') { - $macLen = 20; /* 160 bit */ - } else if ($func == 'sha256') { - $macLen = 32; /* 256 bit */ - } else { - return false; - } - return Zend_OpenId::randomBytes($macLen); - } - - /** - * Processes association request from OpenID consumerm generates secret - * shared key and send it back using Diffie-Hellman encruption. - * Returns array of variables to push back to consumer. - * - * @param float $version OpenID version - * @param array $params GET or POST request variables - * @return array - */ - protected function _associate($version, $params) - { - $ret = array(); - - if ($version >= 2.0) { - $ret['ns'] = Zend_OpenId::NS_2_0; - } - - if (isset($params['openid_assoc_type']) && - $params['openid_assoc_type'] == 'HMAC-SHA1') { - $macFunc = 'sha1'; - } else if (isset($params['openid_assoc_type']) && - $params['openid_assoc_type'] == 'HMAC-SHA256' && - $version >= 2.0) { - $macFunc = 'sha256'; - } else { - $ret['error'] = 'Wrong "openid.assoc_type"'; - $ret['error-code'] = 'unsupported-type'; - return $ret; - } - - $ret['assoc_type'] = $params['openid_assoc_type']; - - $secret = $this->_genSecret($macFunc); - - if (empty($params['openid_session_type']) || - $params['openid_session_type'] == 'no-encryption') { - $ret['mac_key'] = base64_encode($secret); - } else if (isset($params['openid_session_type']) && - $params['openid_session_type'] == 'DH-SHA1') { - $dhFunc = 'sha1'; - } else if (isset($params['openid_session_type']) && - $params['openid_session_type'] == 'DH-SHA256' && - $version >= 2.0) { - $dhFunc = 'sha256'; - } else { - $ret['error'] = 'Wrong "openid.session_type"'; - $ret['error-code'] = 'unsupported-type'; - return $ret; - } - - if (isset($params['openid_session_type'])) { - $ret['session_type'] = $params['openid_session_type']; - } - - if (isset($dhFunc)) { - if (empty($params['openid_dh_consumer_public'])) { - $ret['error'] = 'Wrong "openid.dh_consumer_public"'; - return $ret; - } - if (empty($params['openid_dh_gen'])) { - $g = pack('H*', Zend_OpenId::DH_G); - } else { - $g = base64_decode($params['openid_dh_gen']); - } - if (empty($params['openid_dh_modulus'])) { - $p = pack('H*', Zend_OpenId::DH_P); - } else { - $p = base64_decode($params['openid_dh_modulus']); - } - - $dh = Zend_OpenId::createDhKey($p, $g); - $dh_details = Zend_OpenId::getDhKeyDetails($dh); - - $sec = Zend_OpenId::computeDhSecret( - base64_decode($params['openid_dh_consumer_public']), $dh); - if ($sec === false) { - $ret['error'] = 'Wrong "openid.session_type"'; - $ret['error-code'] = 'unsupported-type'; - return $ret; - } - $sec = Zend_OpenId::digest($dhFunc, $sec); - $ret['dh_server_public'] = base64_encode( - Zend_OpenId::btwoc($dh_details['pub_key'])); - $ret['enc_mac_key'] = base64_encode($secret ^ $sec); - } - - $handle = uniqid(); - $expiresIn = $this->_sessionTtl; - - $ret['assoc_handle'] = $handle; - $ret['expires_in'] = $expiresIn; - - $this->_storage->addAssociation($handle, - $macFunc, $secret, time() + $expiresIn); - - return $ret; - } - - /** - * Performs authentication (or authentication check). - * - * @param float $version OpenID version - * @param array $params GET or POST request variables - * @param bool $immediate enables or disables interaction with user - * @param mixed $extensions extension object or array of extensions objects - * @param Zend_Controller_Response_Abstract $response - * @return array - */ - protected function _checkId($version, $params, $immediate, $extensions=null, - Zend_Controller_Response_Abstract $response = null) - { - $ret = array(); - - if ($version >= 2.0) { - $ret['openid.ns'] = Zend_OpenId::NS_2_0; - } - $root = $this->getSiteRoot($params); - if ($root === false) { - return false; - } - - if (isset($params['openid_identity']) && - !$this->_storage->hasUser($params['openid_identity'])) { - $ret['openid.mode'] = ($immediate && $version >= 2.0) ? 'setup_needed': 'cancel'; - return $ret; - } - - /* Check if user already logged in into the server */ - if (!isset($params['openid_identity']) || - $this->_user->getLoggedInUser() !== $params['openid_identity']) { - $params2 = array(); - foreach ($params as $key => $val) { - if (strpos($key, 'openid_ns_') === 0) { - $key = 'openid.ns.' . substr($key, strlen('openid_ns_')); - } else if (strpos($key, 'openid_sreg_') === 0) { - $key = 'openid.sreg.' . substr($key, strlen('openid_sreg_')); - } else if (strpos($key, 'openid_') === 0) { - $key = 'openid.' . substr($key, strlen('openid_')); - } - $params2[$key] = $val; - } - if ($immediate) { - $params2['openid.mode'] = 'checkid_setup'; - $ret['openid.mode'] = ($version >= 2.0) ? 'setup_needed': 'id_res'; - $ret['openid.user_setup_url'] = $this->_loginUrl - . (strpos($this->_loginUrl, '?') === false ? '?' : '&') - . Zend_OpenId::paramsToQuery($params2); - return $ret; - } else { - /* Redirect to Server Login Screen */ - Zend_OpenId::redirect($this->_loginUrl, $params2, $response); - return true; - } - } - - if (!Zend_OpenId_Extension::forAll($extensions, 'parseRequest', $params)) { - $ret['openid.mode'] = ($immediate && $version >= 2.0) ? 'setup_needed': 'cancel'; - return $ret; - } - - /* Check if user trusts to the consumer */ - $trusted = null; - $sites = $this->_storage->getTrustedSites($params['openid_identity']); - if (isset($params['openid_return_to'])) { - $root = $params['openid_return_to']; - } - if (isset($sites[$root])) { - $trusted = $sites[$root]; - } else { - foreach ($sites as $site => $t) { - if (strpos($root, $site) === 0) { - $trusted = $t; - break; - } else { - /* OpenID 2.0 (9.2) check for realm wild-card matching */ - $n = strpos($site, '://*.'); - if ($n != false) { - $regex = '/^' - . preg_quote(substr($site, 0, $n+3), '/') - . '[A-Za-z1-9_\.]+?' - . preg_quote(substr($site, $n+4), '/') - . '/'; - if (preg_match($regex, $root)) { - $trusted = $t; - break; - } - } - } - } - } - - if (is_array($trusted)) { - if (!Zend_OpenId_Extension::forAll($extensions, 'checkTrustData', $trusted)) { - $trusted = null; - } - } - - if ($trusted === false) { - $ret['openid.mode'] = 'cancel'; - return $ret; - } else if ($trusted === null) { - /* Redirect to Server Trust Screen */ - $params2 = array(); - foreach ($params as $key => $val) { - if (strpos($key, 'openid_ns_') === 0) { - $key = 'openid.ns.' . substr($key, strlen('openid_ns_')); - } else if (strpos($key, 'openid_sreg_') === 0) { - $key = 'openid.sreg.' . substr($key, strlen('openid_sreg_')); - } else if (strpos($key, 'openid_') === 0) { - $key = 'openid.' . substr($key, strlen('openid_')); - } - $params2[$key] = $val; - } - if ($immediate) { - $params2['openid.mode'] = 'checkid_setup'; - $ret['openid.mode'] = ($version >= 2.0) ? 'setup_needed': 'id_res'; - $ret['openid.user_setup_url'] = $this->_trustUrl - . (strpos($this->_trustUrl, '?') === false ? '?' : '&') - . Zend_OpenId::paramsToQuery($params2); - return $ret; - } else { - Zend_OpenId::redirect($this->_trustUrl, $params2, $response); - return true; - } - } - - return $this->_respond($version, $ret, $params, $extensions); - } - - /** - * Perepares information to send back to consumer's authentication request, - * signs it using shared secret and send back through HTTP redirection - * - * @param array $params GET or POST request variables - * @param mixed $extensions extension object or array of extensions objects - * @param Zend_Controller_Response_Abstract $response an optional response - * object to perform HTTP or HTML form redirection - * @return bool - */ - public function respondToConsumer($params, $extensions=null, - Zend_Controller_Response_Abstract $response = null) - { - $version = 1.1; - if (isset($params['openid_ns']) && - $params['openid_ns'] == Zend_OpenId::NS_2_0) { - $version = 2.0; - } - $ret = array(); - if ($version >= 2.0) { - $ret['openid.ns'] = Zend_OpenId::NS_2_0; - } - $ret = $this->_respond($version, $ret, $params, $extensions); - if (!empty($params['openid_return_to'])) { - Zend_OpenId::redirect($params['openid_return_to'], $ret, $response); - } - return true; - } - - /** - * Perepares information to send back to consumer's authentication request - * and signs it using shared secret. - * - * @param float $version OpenID protcol version - * @param array $ret arguments to be send back to consumer - * @param array $params GET or POST request variables - * @param mixed $extensions extension object or array of extensions objects - * @return array - */ - protected function _respond($version, $ret, $params, $extensions=null) - { - if (empty($params['openid_assoc_handle']) || - !$this->_storage->getAssociation($params['openid_assoc_handle'], - $macFunc, $secret, $expires)) { - /* Use dumb mode */ - if (!empty($params['openid_assoc_handle'])) { - $ret['openid.invalidate_handle'] = $params['openid_assoc_handle']; - } - $macFunc = $version >= 2.0 ? 'sha256' : 'sha1'; - $secret = $this->_genSecret($macFunc); - $handle = uniqid(); - $expiresIn = $this->_sessionTtl; - $this->_storage->addAssociation($handle, - $macFunc, $secret, time() + $expiresIn); - $ret['openid.assoc_handle'] = $handle; - } else { - $ret['openid.assoc_handle'] = $params['openid_assoc_handle']; - } - if (isset($params['openid_return_to'])) { - $ret['openid.return_to'] = $params['openid_return_to']; - } - if (isset($params['openid_claimed_id'])) { - $ret['openid.claimed_id'] = $params['openid_claimed_id']; - } - if (isset($params['openid_identity'])) { - $ret['openid.identity'] = $params['openid_identity']; - } - - if ($version >= 2.0) { - if (!empty($this->_opEndpoint)) { - $ret['openid.op_endpoint'] = $this->_opEndpoint; - } else { - $ret['openid.op_endpoint'] = Zend_OpenId::selfUrl(); - } - } - $ret['openid.response_nonce'] = gmdate('Y-m-d\TH:i:s\Z') . uniqid(); - $ret['openid.mode'] = 'id_res'; - - Zend_OpenId_Extension::forAll($extensions, 'prepareResponse', $ret); - - $signed = ''; - $data = ''; - foreach ($ret as $key => $val) { - if (strpos($key, 'openid.') === 0) { - $key = substr($key, strlen('openid.')); - if (!empty($signed)) { - $signed .= ','; - } - $signed .= $key; - $data .= $key . ':' . $val . "\n"; - } - } - $signed .= ',signed'; - $data .= 'signed:' . $signed . "\n"; - $ret['openid.signed'] = $signed; - - $ret['openid.sig'] = base64_encode( - Zend_OpenId::hashHmac($macFunc, $data, $secret)); - - return $ret; - } - - /** - * Performs authentication validation for dumb consumers - * Returns array of variables to push back to consumer. - * It MUST contain 'is_valid' variable with value 'true' or 'false'. - * - * @param float $version OpenID version - * @param array $params GET or POST request variables - * @return array - */ - protected function _checkAuthentication($version, $params) - { - $ret = array(); - if ($version >= 2.0) { - $ret['ns'] = Zend_OpenId::NS_2_0; - } - $ret['openid.mode'] = 'id_res'; - - if (empty($params['openid_assoc_handle']) || - empty($params['openid_signed']) || - empty($params['openid_sig']) || - !$this->_storage->getAssociation($params['openid_assoc_handle'], - $macFunc, $secret, $expires)) { - $ret['is_valid'] = 'false'; - return $ret; - } - - $signed = explode(',', $params['openid_signed']); - $data = ''; - foreach ($signed as $key) { - $data .= $key . ':'; - if ($key == 'mode') { - $data .= "id_res\n"; - } else { - $data .= $params['openid_' . strtr($key,'.','_')]."\n"; - } - } - if (base64_decode($params['openid_sig']) === - Zend_OpenId::hashHmac($macFunc, $data, $secret)) { - $ret['is_valid'] = 'true'; - } else { - $ret['is_valid'] = 'false'; - } - return $ret; - } -} diff --git a/lib/zend/Zend/OpenId/Provider/Storage.php b/lib/zend/Zend/OpenId/Provider/Storage.php deleted file mode 100644 index 648ced3f51..0000000000 --- a/lib/zend/Zend/OpenId/Provider/Storage.php +++ /dev/null @@ -1,106 +0,0 @@ -_dir = $dir; - if (!is_dir($this->_dir)) { - if (!@mkdir($this->_dir, 0700, 1)) { - throw new Zend_OpenId_Exception( - "Cannot access storage directory $dir", - Zend_OpenId_Exception::ERROR_STORAGE); - } - } - if (($f = fopen($this->_dir.'/assoc.lock', 'w+')) === null) { - throw new Zend_OpenId_Exception( - 'Cannot create a lock file in the directory ' . $dir, - Zend_OpenId_Exception::ERROR_STORAGE); - } - fclose($f); - if (($f = fopen($this->_dir.'/user.lock', 'w+')) === null) { - throw new Zend_OpenId_Exception( - 'Cannot create a lock file in the directory ' . $dir, - Zend_OpenId_Exception::ERROR_STORAGE); - } - fclose($f); - } - - /** - * Stores information about session identified by $handle - * - * @param string $handle assiciation handle - * @param string $macFunc HMAC function (sha1 or sha256) - * @param string $secret shared secret - * @param string $expires expiration UNIX time - * @return bool - */ - public function addAssociation($handle, $macFunc, $secret, $expires) - { - $name = $this->_dir . '/assoc_' . md5($handle); - $lock = @fopen($this->_dir . '/assoc.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_EX)) { - fclose($lock); - return false; - } - $f = @fopen($name, 'w+'); - if ($f === false) { - fclose($lock); - return false; - } - $data = serialize(array($handle, $macFunc, $secret, $expires)); - fwrite($f, $data); - fclose($f); - fclose($lock); - return true; - } - - /** - * Gets information about association identified by $handle - * Returns true if given association found and not expired and false - * otherwise - * - * @param string $handle assiciation handle - * @param string &$macFunc HMAC function (sha1 or sha256) - * @param string &$secret shared secret - * @param string &$expires expiration UNIX time - * @return bool - */ - public function getAssociation($handle, &$macFunc, &$secret, &$expires) - { - $name = $this->_dir . '/assoc_' . md5($handle); - $lock = @fopen($this->_dir . '/assoc.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_EX)) { - fclose($lock); - return false; - } - $f = @fopen($name, 'r'); - if ($f === false) { - fclose($lock); - return false; - } - $ret = false; - $data = stream_get_contents($f); - if (!empty($data)) { - list($storedHandle, $macFunc, $secret, $expires) = unserialize($data); - if ($handle === $storedHandle && $expires > time()) { - $ret = true; - } else { - fclose($f); - @unlink($name); - fclose($lock); - return false; - } - } - fclose($f); - fclose($lock); - return $ret; - } - - /** - * Removes information about association identified by $handle - * - * @param string $handle assiciation handle - * @return bool - */ - public function delAssociation($handle) - { - $name = $this->_dir . '/assoc_' . md5($handle); - $lock = @fopen($this->_dir . '/assoc.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_EX)) { - fclose($lock); - return false; - } - @unlink($name); - fclose($lock); - return true; - } - - /** - * Register new user with given $id and $password - * Returns true in case of success and false if user with given $id already - * exists - * - * @param string $id user identity URL - * @param string $password encoded user password - * @return bool - */ - public function addUser($id, $password) - { - $name = $this->_dir . '/user_' . md5($id); - $lock = @fopen($this->_dir . '/user.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_EX)) { - fclose($lock); - return false; - } - $f = @fopen($name, 'x'); - if ($f === false) { - fclose($lock); - return false; - } - $data = serialize(array($id, $password, array())); - fwrite($f, $data); - fclose($f); - fclose($lock); - return true; - } - - /** - * Returns true if user with given $id exists and false otherwise - * - * @param string $id user identity URL - * @return bool - */ - public function hasUser($id) - { - $name = $this->_dir . '/user_' . md5($id); - $lock = @fopen($this->_dir . '/user.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_SH)) { - fclose($lock); - return false; - } - $f = @fopen($name, 'r'); - if ($f === false) { - fclose($lock); - return false; - } - $ret = false; - $data = stream_get_contents($f); - if (!empty($data)) { - list($storedId, $storedPassword, $trusted) = unserialize($data); - if ($id === $storedId) { - $ret = true; - } - } - fclose($f); - fclose($lock); - return $ret; - } - - /** - * Verify if user with given $id exists and has specified $password - * - * @param string $id user identity URL - * @param string $password user password - * @return bool - */ - public function checkUser($id, $password) - { - $name = $this->_dir . '/user_' . md5($id); - $lock = @fopen($this->_dir . '/user.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_SH)) { - fclose($lock); - return false; - } - $f = @fopen($name, 'r'); - if ($f === false) { - fclose($lock); - return false; - } - $ret = false; - $data = stream_get_contents($f); - if (!empty($data)) { - list($storedId, $storedPassword, $trusted) = unserialize($data); - if ($id === $storedId && $password === $storedPassword) { - $ret = true; - } - } - fclose($f); - fclose($lock); - return $ret; - } - - /** - * Removes information abou specified user - * - * @param string $id user identity URL - * @return bool - */ - public function delUser($id) - { - $name = $this->_dir . '/user_' . md5($id); - $lock = @fopen($this->_dir . '/user.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_EX)) { - fclose($lock); - return false; - } - @unlink($name); - fclose($lock); - return true; - } - - /** - * Returns array of all trusted/untrusted sites for given user identified - * by $id - * - * @param string $id user identity URL - * @return array - */ - public function getTrustedSites($id) - { - $name = $this->_dir . '/user_' . md5($id); - $lock = @fopen($this->_dir . '/user.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_SH)) { - fclose($lock); - return false; - } - $f = @fopen($name, 'r'); - if ($f === false) { - fclose($lock); - return false; - } - $ret = false; - $data = stream_get_contents($f); - if (!empty($data)) { - list($storedId, $storedPassword, $trusted) = unserialize($data); - if ($id === $storedId) { - $ret = $trusted; - } - } - fclose($f); - fclose($lock); - return $ret; - } - - /** - * Stores information about trusted/untrusted site for given user - * - * @param string $id user identity URL - * @param string $site site URL - * @param mixed $trusted trust data from extension or just a boolean value - * @return bool - */ - public function addSite($id, $site, $trusted) - { - $name = $this->_dir . '/user_' . md5($id); - $lock = @fopen($this->_dir . '/user.lock', 'w+'); - if ($lock === false) { - return false; - } - if (!flock($lock, LOCK_EX)) { - fclose($lock); - return false; - } - $f = @fopen($name, 'r+'); - if ($f === false) { - fclose($lock); - return false; - } - $ret = false; - $data = stream_get_contents($f); - if (!empty($data)) { - list($storedId, $storedPassword, $sites) = unserialize($data); - if ($id === $storedId) { - if ($trusted === null) { - unset($sites[$site]); - } else { - $sites[$site] = $trusted; - } - rewind($f); - ftruncate($f, 0); - $data = serialize(array($id, $storedPassword, $sites)); - fwrite($f, $data); - $ret = true; - } - } - fclose($f); - fclose($lock); - return $ret; - } -} diff --git a/lib/zend/Zend/OpenId/Provider/User.php b/lib/zend/Zend/OpenId/Provider/User.php deleted file mode 100644 index b7c7992d75..0000000000 --- a/lib/zend/Zend/OpenId/Provider/User.php +++ /dev/null @@ -1,57 +0,0 @@ -_session = new Zend_Session_Namespace("openid"); - } else { - $this->_session = $session; - } - } - - /** - * Stores information about logged in user in session data - * - * @param string $id user identity URL - * @return bool - */ - public function setLoggedInUser($id) - { - $this->_session->logged_in = $id; - return true; - } - - /** - * Returns identity URL of logged in user or false - * - * @return mixed - */ - public function getLoggedInUser() - { - if (isset($this->_session->logged_in)) { - return $this->_session->logged_in; - } - return false; - } - - /** - * Performs logout. Clears information about logged in user. - * - * @return bool - */ - public function delLoggedInUser() - { - unset($this->_session->logged_in); - return true; - } - -} diff --git a/lib/zend/Zend/Paginator.php b/lib/zend/Zend/Paginator.php deleted file mode 100644 index 6e1db3ded9..0000000000 --- a/lib/zend/Zend/Paginator.php +++ /dev/null @@ -1,1107 +0,0 @@ -addPrefixPath($prefix, $path); - } - - /** - * Adds an array of adapter prefix paths to the plugin - * loader. - * - * - * $prefixPaths = array( - * 'My_Paginator_Adapter' => 'My/Paginator/Adapter/', - * 'Your_Paginator_Adapter' => 'Your/Paginator/Adapter/' - * ); - * - * - * @param array $prefixPaths - */ - public static function addAdapterPrefixPaths(array $prefixPaths) - { - if (isset($prefixPaths['prefix']) && isset($prefixPaths['path'])) { - self::addAdapterPrefixPath($prefixPaths['prefix'], $prefixPaths['path']); - } else { - foreach ($prefixPaths as $prefix => $path) { - if (is_array($path) && isset($path['prefix']) && isset($path['path'])) { - $prefix = $path['prefix']; - $path = $path['path']; - } - - self::addAdapterPrefixPath($prefix, $path); - } - } - } - - /** - * Adds a scrolling style prefix path to the plugin loader. - * - * @param string $prefix - * @param string $path - */ - public static function addScrollingStylePrefixPath($prefix, $path) - { - self::getScrollingStyleLoader()->addPrefixPath($prefix, $path); - } - - /** - * Adds an array of scrolling style prefix paths to the plugin - * loader. - * - * - * $prefixPaths = array( - * 'My_Paginator_ScrollingStyle' => 'My/Paginator/ScrollingStyle/', - * 'Your_Paginator_ScrollingStyle' => 'Your/Paginator/ScrollingStyle/' - * ); - * - * - * @param array $prefixPaths - */ - public static function addScrollingStylePrefixPaths(array $prefixPaths) - { - if (isset($prefixPaths['prefix']) && isset($prefixPaths['path'])) { - self::addScrollingStylePrefixPath($prefixPaths['prefix'], $prefixPaths['path']); - } else { - foreach ($prefixPaths as $prefix => $path) { - if (is_array($path) && isset($path['prefix']) && isset($path['path'])) { - $prefix = $path['prefix']; - $path = $path['path']; - } - - self::addScrollingStylePrefixPath($prefix, $path); - } - } - } - - /** - * Factory. - * - * @param mixed $data - * @param string $adapter - * @param array $prefixPaths - * @return Zend_Paginator - */ - public static function factory($data, $adapter = self::INTERNAL_ADAPTER, - array $prefixPaths = null) - { - if ($data instanceof Zend_Paginator_AdapterAggregate) { - return new self($data->getPaginatorAdapter()); - } else { - if ($adapter == self::INTERNAL_ADAPTER) { - if (is_array($data)) { - $adapter = 'Array'; - } else if ($data instanceof Zend_Db_Table_Select) { - $adapter = 'DbTableSelect'; - } else if ($data instanceof Zend_Db_Select) { - $adapter = 'DbSelect'; - } else if ($data instanceof Iterator) { - $adapter = 'Iterator'; - } else if (is_integer($data)) { - $adapter = 'Null'; - } else { - $type = (is_object($data)) ? get_class($data) : gettype($data); - - /** - * @see Zend_Paginator_Exception - */ - require_once 'Zend/Paginator/Exception.php'; - - throw new Zend_Paginator_Exception('No adapter for type ' . $type); - } - } - - $pluginLoader = self::getAdapterLoader(); - - if (null !== $prefixPaths) { - foreach ($prefixPaths as $prefix => $path) { - $pluginLoader->addPrefixPath($prefix, $path); - } - } - - $adapterClassName = $pluginLoader->load($adapter); - - return new self(new $adapterClassName($data)); - } - } - - /** - * Returns the adapter loader. If it doesn't exist it's created. - * - * @return Zend_Loader_PluginLoader - */ - public static function getAdapterLoader() - { - if (self::$_adapterLoader === null) { - self::$_adapterLoader = new Zend_Loader_PluginLoader( - array('Zend_Paginator_Adapter' => 'Zend/Paginator/Adapter') - ); - } - - return self::$_adapterLoader; - } - - /** - * Set a global config - * - * @param Zend_Config $config - */ - public static function setConfig(Zend_Config $config) - { - self::$_config = $config; - - $adapterPaths = $config->get('adapterpaths'); - - if ($adapterPaths != null) { - self::addAdapterPrefixPaths($adapterPaths->adapterpath->toArray()); - } - - $prefixPaths = $config->get('prefixpaths'); - - if ($prefixPaths != null) { - self::addScrollingStylePrefixPaths($prefixPaths->prefixpath->toArray()); - } - - $scrollingStyle = $config->get('scrollingstyle'); - - if ($scrollingStyle != null) { - self::setDefaultScrollingStyle($scrollingStyle); - } - } - - /** - * Returns the default scrolling style. - * - * @return string - */ - public static function getDefaultScrollingStyle() - { - return self::$_defaultScrollingStyle; - } - - /** - * Get the default item count per page - * - * @return int - */ - public static function getDefaultItemCountPerPage() - { - return self::$_defaultItemCountPerPage; - } - - /** - * Set the default item count per page - * - * @param int $count - */ - public static function setDefaultItemCountPerPage($count) - { - self::$_defaultItemCountPerPage = (int) $count; - } - - /** - * Sets a cache object - * - * @param Zend_Cache_Core $cache - */ - public static function setCache(Zend_Cache_Core $cache) - { - self::$_cache = $cache; - } - - /** - * Sets the default scrolling style. - * - * @param string $scrollingStyle - */ - public static function setDefaultScrollingStyle($scrollingStyle = 'Sliding') - { - self::$_defaultScrollingStyle = $scrollingStyle; - } - - /** - * Returns the scrolling style loader. If it doesn't exist it's - * created. - * - * @return Zend_Loader_PluginLoader - */ - public static function getScrollingStyleLoader() - { - if (self::$_scrollingStyleLoader === null) { - self::$_scrollingStyleLoader = new Zend_Loader_PluginLoader( - array('Zend_Paginator_ScrollingStyle' => 'Zend/Paginator/ScrollingStyle') - ); - } - - return self::$_scrollingStyleLoader; - } - - /** - * Constructor. - * - * @param Zend_Paginator_Adapter_Interface|Zend_Paginator_AdapterAggregate $adapter - */ - public function __construct($adapter) - { - if ($adapter instanceof Zend_Paginator_Adapter_Interface) { - $this->_adapter = $adapter; - } else if ($adapter instanceof Zend_Paginator_AdapterAggregate) { - $this->_adapter = $adapter->getPaginatorAdapter(); - } else { - /** - * @see Zend_Paginator_Exception - */ - require_once 'Zend/Paginator/Exception.php'; - - throw new Zend_Paginator_Exception( - 'Zend_Paginator only accepts instances of the type ' . - 'Zend_Paginator_Adapter_Interface or Zend_Paginator_AdapterAggregate.' - ); - } - - $config = self::$_config; - - if ($config != null) { - $setupMethods = array('ItemCountPerPage', 'PageRange'); - - foreach ($setupMethods as $setupMethod) { - $value = $config->get(strtolower($setupMethod)); - - if ($value != null) { - $setupMethod = 'set' . $setupMethod; - $this->$setupMethod($value); - } - } - } - } - - /** - * Serializes the object as a string. Proxies to {@link render()}. - * - * @return string - */ - public function __toString() - { - try { - $return = $this->render(); - return $return; - } catch (Exception $e) { - trigger_error($e->getMessage(), E_USER_WARNING); - } - - return ''; - } - - /** - * Enables/Disables the cache for this instance - * - * @param bool $enable - * @return Zend_Paginator - */ - public function setCacheEnabled($enable) - { - $this->_cacheEnabled = (bool)$enable; - return $this; - } - - /** - * Returns the number of pages. - * - * @return integer - */ - public function count() - { - if (!$this->_pageCount) { - $this->_pageCount = $this->_calculatePageCount(); - } - - return $this->_pageCount; - } - - /** - * Returns the total number of items available. - * - * @return integer - */ - public function getTotalItemCount() - { - return count($this->getAdapter()); - } - - /** - * Clear the page item cache. - * - * @param int $pageNumber - * @return Zend_Paginator - */ - public function clearPageItemCache($pageNumber = null) - { - if (!$this->_cacheEnabled()) { - return $this; - } - - if (null === $pageNumber) { - $cleanTags = self::CACHE_TAG_PREFIX; - foreach (self::$_cache->getIdsMatchingTags(array($this->_getCacheInternalId())) as $id) { - if (preg_match('|'.self::CACHE_TAG_PREFIX."(\d+)_.*|", $id, $page)) { - self::$_cache->remove($this->_getCacheId($page[1])); - } - } - } else { - $cleanId = $this->_getCacheId($pageNumber); - self::$_cache->remove($cleanId); - } - return $this; - } - - /** - * Returns the absolute item number for the specified item. - * - * @param integer $relativeItemNumber Relative item number - * @param integer $pageNumber Page number - * @return integer - */ - public function getAbsoluteItemNumber($relativeItemNumber, $pageNumber = null) - { - $relativeItemNumber = $this->normalizeItemNumber($relativeItemNumber); - - if ($pageNumber == null) { - $pageNumber = $this->getCurrentPageNumber(); - } - - $pageNumber = $this->normalizePageNumber($pageNumber); - - return (($pageNumber - 1) * $this->getItemCountPerPage()) + $relativeItemNumber; - } - - /** - * Returns the adapter. - * - * @return Zend_Paginator_Adapter_Interface - */ - public function getAdapter() - { - return $this->_adapter; - } - - /** - * Returns the number of items for the current page. - * - * @return integer - */ - public function getCurrentItemCount() - { - if ($this->_currentItemCount === null) { - $this->_currentItemCount = $this->getItemCount($this->getCurrentItems()); - } - - return $this->_currentItemCount; - } - - /** - * Returns the items for the current page. - * - * @return Traversable - */ - public function getCurrentItems() - { - if ($this->_currentItems === null) { - $this->_currentItems = $this->getItemsByPage($this->getCurrentPageNumber()); - } - - return $this->_currentItems; - } - - /** - * Returns the current page number. - * - * @return integer - */ - public function getCurrentPageNumber() - { - return $this->normalizePageNumber($this->_currentPageNumber); - } - - /** - * Sets the current page number. - * - * @param integer $pageNumber Page number - * @return Zend_Paginator $this - */ - public function setCurrentPageNumber($pageNumber) - { - $this->_currentPageNumber = (integer) $pageNumber; - $this->_currentItems = null; - $this->_currentItemCount = null; - - return $this; - } - - /** - * Get the filter - * - * @return Zend_Filter_Interface - */ - public function getFilter() - { - return $this->_filter; - } - - /** - * Set a filter chain - * - * @param Zend_Filter_Interface $filter - * @return Zend_Paginator - */ - public function setFilter(Zend_Filter_Interface $filter) - { - $this->_filter = $filter; - - return $this; - } - - /** - * Returns an item from a page. The current page is used if there's no - * page sepcified. - * - * @param integer $itemNumber Item number (1 to itemCountPerPage) - * @param integer $pageNumber - * @return mixed - */ - public function getItem($itemNumber, $pageNumber = null) - { - $itemNumber = $this->normalizeItemNumber($itemNumber); - - if ($pageNumber == null) { - $pageNumber = $this->getCurrentPageNumber(); - } - - $page = $this->getItemsByPage($pageNumber); - $itemCount = $this->getItemCount($page); - - if ($itemCount == 0) { - /** - * @see Zend_Paginator_Exception - */ - require_once 'Zend/Paginator/Exception.php'; - - throw new Zend_Paginator_Exception('Page ' . $pageNumber . ' does not exist'); - } - - if ($itemNumber > $itemCount) { - /** - * @see Zend_Paginator_Exception - */ - require_once 'Zend/Paginator/Exception.php'; - - throw new Zend_Paginator_Exception('Page ' . $pageNumber . ' does not' - . ' contain item number ' . $itemNumber); - } - - return $page[$itemNumber - 1]; - } - - /** - * Returns the number of items per page. - * - * @return integer - */ - public function getItemCountPerPage() - { - if (empty($this->_itemCountPerPage)) { - $this->_itemCountPerPage = self::getDefaultItemCountPerPage(); - } - - return $this->_itemCountPerPage; - } - - /** - * Sets the number of items per page. - * - * @param integer $itemCountPerPage - * @return Zend_Paginator $this - */ - public function setItemCountPerPage($itemCountPerPage) - { - $this->_itemCountPerPage = (integer) $itemCountPerPage; - if ($this->_itemCountPerPage < 1) { - $this->_itemCountPerPage = $this->getItemCountPerPage(); - } - $this->_pageCount = $this->_calculatePageCount(); - $this->_currentItems = null; - $this->_currentItemCount = null; - - return $this; - } - - /** - * Returns the number of items in a collection. - * - * @param mixed $items Items - * @return integer - */ - public function getItemCount($items) - { - $itemCount = 0; - - if (is_array($items) || $items instanceof Countable) { - $itemCount = count($items); - } else { // $items is something like LimitIterator - $itemCount = iterator_count($items); - } - - return $itemCount; - } - - /** - * Returns the items for a given page. - * - * @return Traversable - */ - public function getItemsByPage($pageNumber) - { - $pageNumber = $this->normalizePageNumber($pageNumber); - - if ($this->_cacheEnabled()) { - $data = self::$_cache->load($this->_getCacheId($pageNumber)); - if ($data !== false) { - return $data; - } - } - - $offset = ($pageNumber - 1) * $this->getItemCountPerPage(); - - $items = $this->_adapter->getItems($offset, $this->getItemCountPerPage()); - - $filter = $this->getFilter(); - - if ($filter !== null) { - $items = $filter->filter($items); - } - - if (!$items instanceof Traversable) { - $items = new ArrayIterator($items); - } - - if ($this->_cacheEnabled()) { - self::$_cache->save($items, $this->_getCacheId($pageNumber), array($this->_getCacheInternalId())); - } - - return $items; - } - - /** - * Returns a foreach-compatible iterator. - * - * @return Traversable - */ - public function getIterator() - { - return $this->getCurrentItems(); - } - - /** - * Returns the page range (see property declaration above). - * - * @return integer - */ - public function getPageRange() - { - return $this->_pageRange; - } - - /** - * Sets the page range (see property declaration above). - * - * @param integer $pageRange - * @return Zend_Paginator $this - */ - public function setPageRange($pageRange) - { - $this->_pageRange = (integer) $pageRange; - - return $this; - } - - /** - * Returns the page collection. - * - * @param string $scrollingStyle Scrolling style - * @return array - */ - public function getPages($scrollingStyle = null) - { - if ($this->_pages === null) { - $this->_pages = $this->_createPages($scrollingStyle); - } - - return $this->_pages; - } - - /** - * Returns a subset of pages within a given range. - * - * @param integer $lowerBound Lower bound of the range - * @param integer $upperBound Upper bound of the range - * @return array - */ - public function getPagesInRange($lowerBound, $upperBound) - { - $lowerBound = $this->normalizePageNumber($lowerBound); - $upperBound = $this->normalizePageNumber($upperBound); - - $pages = array(); - - for ($pageNumber = $lowerBound; $pageNumber <= $upperBound; $pageNumber++) { - $pages[$pageNumber] = $pageNumber; - } - - return $pages; - } - - /** - * Returns the page item cache. - * - * @return array - */ - public function getPageItemCache() - { - $data = array(); - if ($this->_cacheEnabled()) { - foreach (self::$_cache->getIdsMatchingTags(array($this->_getCacheInternalId())) as $id) { - if (preg_match('|'.self::CACHE_TAG_PREFIX."(\d+)_.*|", $id, $page)) { - $data[$page[1]] = self::$_cache->load($this->_getCacheId($page[1])); - } - } - } - return $data; - } - - /** - * Retrieves the view instance. If none registered, attempts to pull f - * rom ViewRenderer. - * - * @return Zend_View_Interface|null - */ - public function getView() - { - if ($this->_view === null) { - /** - * @see Zend_Controller_Action_HelperBroker - */ - require_once 'Zend/Controller/Action/HelperBroker.php'; - - $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); - if ($viewRenderer->view === null) { - $viewRenderer->initView(); - } - $this->_view = $viewRenderer->view; - } - - return $this->_view; - } - - /** - * Sets the view object. - * - * @param Zend_View_Interface $view - * @return Zend_Paginator - */ - public function setView(Zend_View_Interface $view = null) - { - $this->_view = $view; - - return $this; - } - - /** - * Brings the item number in range of the page. - * - * @param integer $itemNumber - * @return integer - */ - public function normalizeItemNumber($itemNumber) - { - if ($itemNumber < 1) { - $itemNumber = 1; - } - - if ($itemNumber > $this->getItemCountPerPage()) { - $itemNumber = $this->getItemCountPerPage(); - } - - return $itemNumber; - } - - /** - * Brings the page number in range of the paginator. - * - * @param integer $pageNumber - * @return integer - */ - public function normalizePageNumber($pageNumber) - { - if ($pageNumber < 1) { - $pageNumber = 1; - } - - $pageCount = $this->count(); - - if ($pageCount > 0 && $pageNumber > $pageCount) { - $pageNumber = $pageCount; - } - - return $pageNumber; - } - - /** - * Renders the paginator. - * - * @param Zend_View_Interface $view - * @return string - */ - public function render(Zend_View_Interface $view = null) - { - if (null !== $view) { - $this->setView($view); - } - - $view = $this->getView(); - - return $view->paginationControl($this); - } - - /** - * Returns the items of the current page as JSON. - * - * @return string - */ - public function toJson() - { - $currentItems = $this->getCurrentItems(); - - if ($currentItems instanceof Zend_Db_Table_Rowset_Abstract) { - return Zend_Json::encode($currentItems->toArray()); - } else { - return Zend_Json::encode($currentItems); - } - } - - /** - * Tells if there is an active cache object - * and if the cache has not been desabled - * - * @return bool - */ - protected function _cacheEnabled() - { - return ((self::$_cache !== null) && $this->_cacheEnabled); - } - - /** - * Makes an Id for the cache - * Depends on the adapter object and the page number - * - * Used to store item in cache from that Paginator instance - * and that current page - * - * @param int $page - * @return string - */ - protected function _getCacheId($page = null) - { - if ($page === null) { - $page = $this->getCurrentPageNumber(); - } - return self::CACHE_TAG_PREFIX . $page . '_' . $this->_getCacheInternalId(); - } - - /** - * Get the internal cache id - * Depends on the adapter and the item count per page - * - * Used to tag that unique Paginator instance in cache - * - * @return string - */ - protected function _getCacheInternalId() - { - return md5(serialize($this->getAdapter()) . $this->getItemCountPerPage()); - } - - /** - * Calculates the page count. - * - * @return integer - */ - protected function _calculatePageCount() - { - return (integer) ceil($this->getAdapter()->count() / $this->getItemCountPerPage()); - } - - /** - * Creates the page collection. - * - * @param string $scrollingStyle Scrolling style - * @return stdClass - */ - protected function _createPages($scrollingStyle = null) - { - $pageCount = $this->count(); - $currentPageNumber = $this->getCurrentPageNumber(); - - $pages = new stdClass(); - $pages->pageCount = $pageCount; - $pages->itemCountPerPage = $this->getItemCountPerPage(); - $pages->first = 1; - $pages->current = $currentPageNumber; - $pages->last = $pageCount; - - // Previous and next - if ($currentPageNumber - 1 > 0) { - $pages->previous = $currentPageNumber - 1; - } - - if ($currentPageNumber + 1 <= $pageCount) { - $pages->next = $currentPageNumber + 1; - } - - // Pages in range - $scrollingStyle = $this->_loadScrollingStyle($scrollingStyle); - $pages->pagesInRange = $scrollingStyle->getPages($this); - $pages->firstPageInRange = min($pages->pagesInRange); - $pages->lastPageInRange = max($pages->pagesInRange); - - // Item numbers - if ($this->getCurrentItems() !== null) { - $pages->currentItemCount = $this->getCurrentItemCount(); - $pages->itemCountPerPage = $this->getItemCountPerPage(); - $pages->totalItemCount = $this->getTotalItemCount(); - $pages->firstItemNumber = (($currentPageNumber - 1) * $this->getItemCountPerPage()) + 1; - $pages->lastItemNumber = $pages->firstItemNumber + $pages->currentItemCount - 1; - } - - return $pages; - } - - /** - * Loads a scrolling style. - * - * @param string $scrollingStyle - * @return Zend_Paginator_ScrollingStyle_Interface - */ - protected function _loadScrollingStyle($scrollingStyle = null) - { - if ($scrollingStyle === null) { - $scrollingStyle = self::$_defaultScrollingStyle; - } - - switch (strtolower(gettype($scrollingStyle))) { - case 'object': - if (!$scrollingStyle instanceof Zend_Paginator_ScrollingStyle_Interface) { - /** - * @see Zend_View_Exception - */ - require_once 'Zend/View/Exception.php'; - - throw new Zend_View_Exception('Scrolling style must implement ' . - 'Zend_Paginator_ScrollingStyle_Interface'); - } - - return $scrollingStyle; - - case 'string': - $className = self::getScrollingStyleLoader()->load($scrollingStyle); - - return new $className(); - - case 'null': - // Fall through to default case - - default: - /** - * @see Zend_View_Exception - */ - require_once 'Zend/View/Exception.php'; - - throw new Zend_View_Exception('Scrolling style must be a class ' . - 'name or object implementing Zend_Paginator_ScrollingStyle_Interface'); - } - } -} diff --git a/lib/zend/Zend/Paginator/Adapter/Array.php b/lib/zend/Zend/Paginator/Adapter/Array.php deleted file mode 100644 index 90a9ace817..0000000000 --- a/lib/zend/Zend/Paginator/Adapter/Array.php +++ /dev/null @@ -1,81 +0,0 @@ -_array = $array; - $this->_count = count($array); - } - - /** - * Returns an array of items for a page. - * - * @param integer $offset Page offset - * @param integer $itemCountPerPage Number of items per page - * @return array - */ - public function getItems($offset, $itemCountPerPage) - { - return array_slice($this->_array, $offset, $itemCountPerPage); - } - - /** - * Returns the total number of rows in the array. - * - * @return integer - */ - public function count() - { - return $this->_count; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Paginator/Adapter/DbSelect.php b/lib/zend/Zend/Paginator/Adapter/DbSelect.php deleted file mode 100644 index c03397548b..0000000000 --- a/lib/zend/Zend/Paginator/Adapter/DbSelect.php +++ /dev/null @@ -1,262 +0,0 @@ -_select = $select; - } - - /** - * Sets the total row count, either directly or through a supplied - * query. Without setting this, {@link getPages()} selects the count - * as a subquery (SELECT COUNT ... FROM (SELECT ...)). While this - * yields an accurate count even with queries containing clauses like - * LIMIT, it can be slow in some circumstances. For example, in MySQL, - * subqueries are generally slow when using the InnoDB storage engine. - * Users are therefore encouraged to profile their queries to find - * the solution that best meets their needs. - * - * @param Zend_Db_Select|integer $totalRowCount Total row count integer - * or query - * @return Zend_Paginator_Adapter_DbSelect $this - * @throws Zend_Paginator_Exception - */ - public function setRowCount($rowCount) - { - if ($rowCount instanceof Zend_Db_Select) { - $columns = $rowCount->getPart(Zend_Db_Select::COLUMNS); - - $countColumnPart = $columns[0][1]; - - if ($countColumnPart instanceof Zend_Db_Expr) { - $countColumnPart = $countColumnPart->__toString(); - } - - $rowCountColumn = $this->_select->getAdapter()->foldCase(self::ROW_COUNT_COLUMN); - - // The select query can contain only one column, which should be the row count column - if (false === strpos($countColumnPart, $rowCountColumn)) { - /** - * @see Zend_Paginator_Exception - */ - require_once 'Zend/Paginator/Exception.php'; - - throw new Zend_Paginator_Exception('Row count column not found'); - } - - $result = $rowCount->query(Zend_Db::FETCH_ASSOC)->fetch(); - - $this->_rowCount = count($result) > 0 ? $result[$rowCountColumn] : 0; - } else if (is_integer($rowCount)) { - $this->_rowCount = $rowCount; - } else { - /** - * @see Zend_Paginator_Exception - */ - require_once 'Zend/Paginator/Exception.php'; - - throw new Zend_Paginator_Exception('Invalid row count'); - } - - return $this; - } - - /** - * Returns an array of items for a page. - * - * @param integer $offset Page offset - * @param integer $itemCountPerPage Number of items per page - * @return array - */ - public function getItems($offset, $itemCountPerPage) - { - $this->_select->limit($itemCountPerPage, $offset); - - return $this->_select->query()->fetchAll(); - } - - /** - * Returns the total number of rows in the result set. - * - * @return integer - */ - public function count() - { - if ($this->_rowCount === null) { - $this->setRowCount( - $this->getCountSelect() - ); - } - - return $this->_rowCount; - } - - /** - * Get the COUNT select object for the provided query - * - * TODO: Have a look at queries that have both GROUP BY and DISTINCT specified. - * In that use-case I'm expecting problems when either GROUP BY or DISTINCT - * has one column. - * - * @return Zend_Db_Select - */ - public function getCountSelect() - { - /** - * We only need to generate a COUNT query once. It will not change for - * this instance. - */ - if ($this->_countSelect !== null) { - return $this->_countSelect; - } - - $rowCount = clone $this->_select; - $rowCount->__toString(); // Workaround for ZF-3719 and related - - $db = $rowCount->getAdapter(); - - $countColumn = $db->quoteIdentifier($db->foldCase(self::ROW_COUNT_COLUMN)); - $countPart = 'COUNT(1) AS '; - $groupPart = null; - $unionParts = $rowCount->getPart(Zend_Db_Select::UNION); - - /** - * If we're dealing with a UNION query, execute the UNION as a subquery - * to the COUNT query. - */ - if (!empty($unionParts)) { - $expression = new Zend_Db_Expr($countPart . $countColumn); - - $rowCount = $db->select()->from($rowCount, $expression); - } else { - $columnParts = $rowCount->getPart(Zend_Db_Select::COLUMNS); - $groupParts = $rowCount->getPart(Zend_Db_Select::GROUP); - $havingParts = $rowCount->getPart(Zend_Db_Select::HAVING); - $isDistinct = $rowCount->getPart(Zend_Db_Select::DISTINCT); - - /** - * If there is more than one column AND it's a DISTINCT query, more - * than one group, or if the query has a HAVING clause, then take - * the original query and use it as a subquery os the COUNT query. - */ - if (($isDistinct && count($columnParts) > 1) || count($groupParts) > 1 || !empty($havingParts)) { - $rowCount = $db->select()->from($this->_select); - } else if ($isDistinct) { - $part = $columnParts[0]; - - if ($part[1] !== Zend_Db_Select::SQL_WILDCARD && !($part[1] instanceof Zend_Db_Expr)) { - $column = $db->quoteIdentifier($part[1], true); - - if (!empty($part[0])) { - $column = $db->quoteIdentifier($part[0], true) . '.' . $column; - } - - $groupPart = $column; - } - } else if (!empty($groupParts) && $groupParts[0] !== Zend_Db_Select::SQL_WILDCARD && - !($groupParts[0] instanceof Zend_Db_Expr)) { - $groupPart = $db->quoteIdentifier($groupParts[0], true); - } - - /** - * If the original query had a GROUP BY or a DISTINCT part and only - * one column was specified, create a COUNT(DISTINCT ) query instead - * of a regular COUNT query. - */ - if (!empty($groupPart)) { - $countPart = 'COUNT(DISTINCT ' . $groupPart . ') AS '; - } - - /** - * Create the COUNT part of the query - */ - $expression = new Zend_Db_Expr($countPart . $countColumn); - - $rowCount->reset(Zend_Db_Select::COLUMNS) - ->reset(Zend_Db_Select::ORDER) - ->reset(Zend_Db_Select::LIMIT_OFFSET) - ->reset(Zend_Db_Select::GROUP) - ->reset(Zend_Db_Select::DISTINCT) - ->reset(Zend_Db_Select::HAVING) - ->columns($expression); - } - - $this->_countSelect = $rowCount; - - return $rowCount; - } -} diff --git a/lib/zend/Zend/Paginator/Adapter/DbTableSelect.php b/lib/zend/Zend/Paginator/Adapter/DbTableSelect.php deleted file mode 100644 index 96c967ecb7..0000000000 --- a/lib/zend/Zend/Paginator/Adapter/DbTableSelect.php +++ /dev/null @@ -1,48 +0,0 @@ -_select->limit($itemCountPerPage, $offset); - - return $this->_select->getTable()->fetchAll($this->_select); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Paginator/Adapter/Interface.php b/lib/zend/Zend/Paginator/Adapter/Interface.php deleted file mode 100644 index 57b3407926..0000000000 --- a/lib/zend/Zend/Paginator/Adapter/Interface.php +++ /dev/null @@ -1,47 +0,0 @@ -_iterator = $iterator; - $this->_count = count($iterator); - } - - /** - * Returns an iterator of items for a page, or an empty array. - * - * @param integer $offset Page offset - * @param integer $itemCountPerPage Number of items per page - * @return LimitIterator|array - */ - public function getItems($offset, $itemCountPerPage) - { - if ($this->_count == 0) { - return array(); - } - - return new LimitIterator($this->_iterator, $offset, $itemCountPerPage); - } - - /** - * Returns the total number of rows in the collection. - * - * @return integer - */ - public function count() - { - return $this->_count; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Paginator/Adapter/Null.php b/lib/zend/Zend/Paginator/Adapter/Null.php deleted file mode 100644 index e63504fe99..0000000000 --- a/lib/zend/Zend/Paginator/Adapter/Null.php +++ /dev/null @@ -1,73 +0,0 @@ -_count = $count; - } - - /** - * Returns an array of items for a page. - * - * @param integer $offset Page offset - * @param integer $itemCountPerPage Number of items per page - * @return array - */ - public function getItems($offset, $itemCountPerPage) - { - return array_fill(0, $itemCountPerPage, null); - } - - /** - * Returns the total number of rows in the array. - * - * @return integer - */ - public function count() - { - return $this->_count; - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Paginator/AdapterAggregate.php b/lib/zend/Zend/Paginator/AdapterAggregate.php deleted file mode 100644 index 1a5f2a5114..0000000000 --- a/lib/zend/Zend/Paginator/AdapterAggregate.php +++ /dev/null @@ -1,40 +0,0 @@ -getPagesInRange(1, $paginator->count()); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Paginator/ScrollingStyle/Elastic.php b/lib/zend/Zend/Paginator/ScrollingStyle/Elastic.php deleted file mode 100644 index 1e8ef97a3a..0000000000 --- a/lib/zend/Zend/Paginator/ScrollingStyle/Elastic.php +++ /dev/null @@ -1,61 +0,0 @@ -getPageRange(); - $pageNumber = $paginator->getCurrentPageNumber(); - - $originalPageRange = $pageRange; - $pageRange = $pageRange * 2 - 1; - - if ($originalPageRange + $pageNumber - 1 < $pageRange) { - $pageRange = $originalPageRange + $pageNumber - 1; - } - - return parent::getPages($paginator, $pageRange); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Paginator/ScrollingStyle/Interface.php b/lib/zend/Zend/Paginator/ScrollingStyle/Interface.php deleted file mode 100644 index 52e31c8693..0000000000 --- a/lib/zend/Zend/Paginator/ScrollingStyle/Interface.php +++ /dev/null @@ -1,38 +0,0 @@ -getPageRange(); - $pageNumber = $paginator->getCurrentPageNumber(); - - $delta = $pageNumber % $pageRange; - - if ($delta == 0) { - $delta = $pageRange; - } - - $offset = $pageNumber - $delta; - $lowerBound = $offset + 1; - $upperBound = $offset + $pageRange; - - return $paginator->getPagesInRange($lowerBound, $upperBound); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Paginator/ScrollingStyle/Sliding.php b/lib/zend/Zend/Paginator/ScrollingStyle/Sliding.php deleted file mode 100644 index f36da68f83..0000000000 --- a/lib/zend/Zend/Paginator/ScrollingStyle/Sliding.php +++ /dev/null @@ -1,78 +0,0 @@ -getPageRange(); - } - - $pageNumber = $paginator->getCurrentPageNumber(); - $pageCount = count($paginator); - - if ($pageRange > $pageCount) { - $pageRange = $pageCount; - } - - $delta = ceil($pageRange / 2); - - if ($pageNumber - $delta > $pageCount - $pageRange) { - $lowerBound = $pageCount - $pageRange + 1; - $upperBound = $pageCount; - } else { - if ($pageNumber - $delta < 0) { - $delta = $pageNumber; - } - - $offset = $pageNumber - $delta; - $lowerBound = $offset + 1; - $upperBound = $offset + $pageRange; - } - - return $paginator->getPagesInRange($lowerBound, $upperBound); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/Pdf.php b/lib/zend/Zend/Pdf.php deleted file mode 100644 index cdebe5e17e..0000000000 --- a/lib/zend/Zend/Pdf.php +++ /dev/null @@ -1,1429 +0,0 @@ -render($updateOnly, $file); - - fclose($file); - } - - /** - * Creates or loads PDF document. - * - * If $source is null, then it creates a new document. - * - * If $source is a string and $load is false, then it loads document - * from a binary string. - * - * If $source is a string and $load is true, then it loads document - * from a file. - - * $revision used to roll back document to specified version - * (0 - currtent version, 1 - previous version, 2 - ...) - * - * @param string $source - PDF file to load - * @param integer $revision - * @throws Zend_Pdf_Exception - * @return Zend_Pdf - */ - public function __construct($source = null, $revision = null, $load = false) - { - $this->_objFactory = Zend_Pdf_ElementFactory::createFactory(1); - - if ($source !== null) { - $this->_parser = new Zend_Pdf_Parser($source, $this->_objFactory, $load); - $this->_pdfHeaderVersion = $this->_parser->getPDFVersion(); - $this->_trailer = $this->_parser->getTrailer(); - if ($this->_trailer->Encrypt !== null) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Encrypted document modification is not supported'); - } - if ($revision !== null) { - $this->rollback($revision); - } else { - $this->_loadPages($this->_trailer->Root->Pages); - } - - $this->_loadNamedDestinations($this->_trailer->Root, $this->_parser->getPDFVersion()); - $this->_loadOutlines($this->_trailer->Root); - - if ($this->_trailer->Info !== null) { - $this->properties = $this->_trailer->Info->toPhp(); - - if (isset($this->properties['Trapped'])) { - switch ($this->properties['Trapped']) { - case 'True': - $this->properties['Trapped'] = true; - break; - - case 'False': - $this->properties['Trapped'] = false; - break; - - case 'Unknown': - $this->properties['Trapped'] = null; - break; - - default: - // Wrong property value - // Do nothing - break; - } - } - - $this->_originalProperties = $this->properties; - } - } else { - $this->_pdfHeaderVersion = Zend_Pdf::PDF_VERSION; - - $trailerDictionary = new Zend_Pdf_Element_Dictionary(); - - /** - * Document id - */ - $docId = md5(uniqid(rand(), true)); // 32 byte (128 bit) identifier - $docIdLow = substr($docId, 0, 16); // first 16 bytes - $docIdHigh = substr($docId, 16, 16); // second 16 bytes - - $trailerDictionary->ID = new Zend_Pdf_Element_Array(); - $trailerDictionary->ID->items[] = new Zend_Pdf_Element_String_Binary($docIdLow); - $trailerDictionary->ID->items[] = new Zend_Pdf_Element_String_Binary($docIdHigh); - - $trailerDictionary->Size = new Zend_Pdf_Element_Numeric(0); - - $this->_trailer = new Zend_Pdf_Trailer_Generator($trailerDictionary); - - /** - * Document catalog indirect object. - */ - $docCatalog = $this->_objFactory->newObject(new Zend_Pdf_Element_Dictionary()); - $docCatalog->Type = new Zend_Pdf_Element_Name('Catalog'); - $docCatalog->Version = new Zend_Pdf_Element_Name(Zend_Pdf::PDF_VERSION); - $this->_trailer->Root = $docCatalog; - - /** - * Pages container - */ - $docPages = $this->_objFactory->newObject(new Zend_Pdf_Element_Dictionary()); - $docPages->Type = new Zend_Pdf_Element_Name('Pages'); - $docPages->Kids = new Zend_Pdf_Element_Array(); - $docPages->Count = new Zend_Pdf_Element_Numeric(0); - $docCatalog->Pages = $docPages; - } - } - - /** - * Retrive number of revisions. - * - * @return integer - */ - public function revisions() - { - $revisions = 1; - $currentTrailer = $this->_trailer; - - while ($currentTrailer->getPrev() !== null && $currentTrailer->getPrev()->Root !== null ) { - $revisions++; - $currentTrailer = $currentTrailer->getPrev(); - } - - return $revisions++; - } - - /** - * Rollback document $steps number of revisions. - * This method must be invoked before any changes, applied to the document. - * Otherwise behavior is undefined. - * - * @param integer $steps - */ - public function rollback($steps) - { - for ($count = 0; $count < $steps; $count++) { - if ($this->_trailer->getPrev() !== null && $this->_trailer->getPrev()->Root !== null) { - $this->_trailer = $this->_trailer->getPrev(); - } else { - break; - } - } - $this->_objFactory->setObjectCount($this->_trailer->Size->value); - - // Mark content as modified to force new trailer generation at render time - $this->_trailer->Root->touch(); - - $this->pages = array(); - $this->_loadPages($this->_trailer->Root->Pages); - } - - - /** - * Load pages recursively - * - * @param Zend_Pdf_Element_Reference $pages - * @param array|null $attributes - */ - protected function _loadPages(Zend_Pdf_Element_Reference $pages, $attributes = array()) - { - if ($pages->getType() != Zend_Pdf_Element::TYPE_DICTIONARY) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Wrong argument'); - } - - foreach ($pages->getKeys() as $property) { - if (in_array($property, self::$_inheritableAttributes)) { - $attributes[$property] = $pages->$property; - $pages->$property = null; - } - } - - - foreach ($pages->Kids->items as $child) { - if ($child->Type->value == 'Pages') { - $this->_loadPages($child, $attributes); - } else if ($child->Type->value == 'Page') { - foreach (self::$_inheritableAttributes as $property) { - if ($child->$property === null && array_key_exists($property, $attributes)) { - /** - * Important note. - * If any attribute or dependant object is an indirect object, then it's still - * shared between pages. - */ - if ($attributes[$property] instanceof Zend_Pdf_Element_Object || - $attributes[$property] instanceof Zend_Pdf_Element_Reference) { - $child->$property = $attributes[$property]; - } else { - $child->$property = $this->_objFactory->newObject($attributes[$property]); - } - } - } - $this->pages[] = new Zend_Pdf_Page($child, $this->_objFactory); - } - } - } - - /** - * Load named destinations recursively - * - * @param Zend_Pdf_Element_Reference $root Document catalog entry - * @param string $pdfHeaderVersion - * @throws Zend_Pdf_Exception - */ - protected function _loadNamedDestinations(Zend_Pdf_Element_Reference $root, $pdfHeaderVersion) - { - if ($root->Version !== null && version_compare($root->Version->value, $pdfHeaderVersion, '>')) { - $versionIs_1_2_plus = version_compare($root->Version->value, '1.1', '>'); - } else { - $versionIs_1_2_plus = version_compare($pdfHeaderVersion, '1.1', '>'); - } - - if ($versionIs_1_2_plus) { - // PDF version is 1.2+ - // Look for Destinations structure at Name dictionary - if ($root->Names !== null && $root->Names->Dests !== null) { - foreach (new Zend_Pdf_NameTree($root->Names->Dests) as $name => $destination) { - $this->_namedTargets[$name] = Zend_Pdf_Target::load($destination); - } - } - } else { - // PDF version is 1.1 (or earlier) - // Look for Destinations sructure at Dest entry of document catalog - if ($root->Dests !== null) { - if ($root->Dests->getType() != Zend_Pdf_Element::TYPE_DICTIONARY) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Document catalog Dests entry must be a dictionary.'); - } - - foreach ($root->Dests->getKeys() as $destKey) { - $this->_namedTargets[$destKey] = Zend_Pdf_Target::load($root->Dests->$destKey); - } - } - } - } - - /** - * Load outlines recursively - * - * @param Zend_Pdf_Element_Reference $root Document catalog entry - */ - protected function _loadOutlines(Zend_Pdf_Element_Reference $root) - { - if ($root->Outlines === null) { - return; - } - - if ($root->Outlines->getType() != Zend_Pdf_Element::TYPE_DICTIONARY) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Document catalog Outlines entry must be a dictionary.'); - } - - if ($root->Outlines->Type !== null && $root->Outlines->Type->value != 'Outlines') { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Outlines Type entry must be an \'Outlines\' string.'); - } - - if ($root->Outlines->First === null) { - return; - } - - $outlineDictionary = $root->Outlines->First; - $processedDictionaries = new SplObjectStorage(); - while ($outlineDictionary !== null && !$processedDictionaries->contains($outlineDictionary)) { - $processedDictionaries->attach($outlineDictionary); - - $this->outlines[] = new Zend_Pdf_Outline_Loaded($outlineDictionary); - - $outlineDictionary = $outlineDictionary->Next; - } - - $this->_originalOutlines = $this->outlines; - - if ($root->Outlines->Count !== null) { - $this->_originalOpenOutlinesCount = $root->Outlines->Count->value; - } - } - - /** - * Orginize pages to tha pages tree structure. - * - * @todo atomatically attach page to the document, if it's not done yet. - * @todo check, that page is attached to the current document - * - * @todo Dump pages as a balanced tree instead of a plain set. - */ - protected function _dumpPages() - { - $root = $this->_trailer->Root; - $pagesContainer = $root->Pages; - - $pagesContainer->touch(); - $pagesContainer->Kids->items = array(); - - foreach ($this->pages as $page ) { - $page->render($this->_objFactory); - - $pageDictionary = $page->getPageDictionary(); - $pageDictionary->touch(); - $pageDictionary->Parent = $pagesContainer; - - $pagesContainer->Kids->items[] = $pageDictionary; - } - - $this->_refreshPagesHash(); - - $pagesContainer->Count->touch(); - $pagesContainer->Count->value = count($this->pages); - - - // Refresh named destinations list - foreach ($this->_namedTargets as $name => $namedTarget) { - if ($namedTarget instanceof Zend_Pdf_Destination_Explicit) { - // Named target is an explicit destination - if ($this->resolveDestination($namedTarget, false) === null) { - unset($this->_namedTargets[$name]); - } - } else if ($namedTarget instanceof Zend_Pdf_Action) { - // Named target is an action - if ($this->_cleanUpAction($namedTarget, false) === null) { - // Action is a GoTo action with an unresolved destination - unset($this->_namedTargets[$name]); - } - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Wrong type of named targed (\'' . get_class($namedTarget) . '\').'); - } - } - - // Refresh outlines - $iterator = new RecursiveIteratorIterator(new Zend_Pdf_RecursivelyIteratableObjectsContainer($this->outlines), RecursiveIteratorIterator::SELF_FIRST); - foreach ($iterator as $outline) { - $target = $outline->getTarget(); - - if ($target !== null) { - if ($target instanceof Zend_Pdf_Destination) { - // Outline target is a destination - if ($this->resolveDestination($target, false) === null) { - $outline->setTarget(null); - } - } else if ($target instanceof Zend_Pdf_Action) { - // Outline target is an action - if ($this->_cleanUpAction($target, false) === null) { - // Action is a GoTo action with an unresolved destination - $outline->setTarget(null); - } - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Wrong outline target.'); - } - } - } - - $openAction = $this->getOpenAction(); - if ($openAction !== null) { - if ($openAction instanceof Zend_Pdf_Action) { - // OpenAction is an action - if ($this->_cleanUpAction($openAction, false) === null) { - // Action is a GoTo action with an unresolved destination - $this->setOpenAction(null); - } - } else if ($openAction instanceof Zend_Pdf_Destination) { - // OpenAction target is a destination - if ($this->resolveDestination($openAction, false) === null) { - $this->setOpenAction(null); - } - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('OpenAction has to be either PDF Action or Destination.'); - } - } - } - - /** - * Dump named destinations - * - * @todo Create a balanced tree instead of plain structure. - */ - protected function _dumpNamedDestinations() - { - ksort($this->_namedTargets, SORT_STRING); - - $destArrayItems = array(); - foreach ($this->_namedTargets as $name => $destination) { - $destArrayItems[] = new Zend_Pdf_Element_String($name); - - if ($destination instanceof Zend_Pdf_Target) { - $destArrayItems[] = $destination->getResource(); - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('PDF named destinations must be a Zend_Pdf_Target object.'); - } - } - $destArray = $this->_objFactory->newObject(new Zend_Pdf_Element_Array($destArrayItems)); - - $DestTree = $this->_objFactory->newObject(new Zend_Pdf_Element_Dictionary()); - $DestTree->Names = $destArray; - - $root = $this->_trailer->Root; - - if ($root->Names === null) { - $root->touch(); - $root->Names = $this->_objFactory->newObject(new Zend_Pdf_Element_Dictionary()); - } else { - $root->Names->touch(); - } - $root->Names->Dests = $DestTree; - } - - /** - * Dump outlines recursively - */ - protected function _dumpOutlines() - { - $root = $this->_trailer->Root; - - if ($root->Outlines === null) { - if (count($this->outlines) == 0) { - return; - } else { - $root->Outlines = $this->_objFactory->newObject(new Zend_Pdf_Element_Dictionary()); - $root->Outlines->Type = new Zend_Pdf_Element_Name('Outlines'); - $updateOutlinesNavigation = true; - } - } else { - $updateOutlinesNavigation = false; - if (count($this->_originalOutlines) != count($this->outlines)) { - // If original and current outlines arrays have different size then outlines list was updated - $updateOutlinesNavigation = true; - } else if ( !(array_keys($this->_originalOutlines) === array_keys($this->outlines)) ) { - // If original and current outlines arrays have different keys (with a glance to an order) then outlines list was updated - $updateOutlinesNavigation = true; - } else { - foreach ($this->outlines as $key => $outline) { - if ($this->_originalOutlines[$key] !== $outline) { - $updateOutlinesNavigation = true; - } - } - } - } - - $lastOutline = null; - $openOutlinesCount = 0; - if ($updateOutlinesNavigation) { - $root->Outlines->touch(); - $root->Outlines->First = null; - - foreach ($this->outlines as $outline) { - if ($lastOutline === null) { - // First pass. Update Outlines dictionary First entry using corresponding value - $lastOutline = $outline->dumpOutline($this->_objFactory, $updateOutlinesNavigation, $root->Outlines); - $root->Outlines->First = $lastOutline; - } else { - // Update previous outline dictionary Next entry (Prev is updated within dumpOutline() method) - $currentOutlineDictionary = $outline->dumpOutline($this->_objFactory, $updateOutlinesNavigation, $root->Outlines, $lastOutline); - $lastOutline->Next = $currentOutlineDictionary; - $lastOutline = $currentOutlineDictionary; - } - $openOutlinesCount += $outline->openOutlinesCount(); - } - - $root->Outlines->Last = $lastOutline; - } else { - foreach ($this->outlines as $outline) { - $lastOutline = $outline->dumpOutline($this->_objFactory, $updateOutlinesNavigation, $root->Outlines, $lastOutline); - $openOutlinesCount += $outline->openOutlinesCount(); - } - } - - if ($openOutlinesCount != $this->_originalOpenOutlinesCount) { - $root->Outlines->touch; - $root->Outlines->Count = new Zend_Pdf_Element_Numeric($openOutlinesCount); - } - } - - /** - * Create page object, attached to the PDF document. - * Method signatures: - * - * 1. Create new page with a specified pagesize. - * If $factory is null then it will be created and page must be attached to the document to be - * included into output. - * --------------------------------------------------------- - * new Zend_Pdf_Page(string $pagesize); - * --------------------------------------------------------- - * - * 2. Create new page with a specified pagesize (in default user space units). - * If $factory is null then it will be created and page must be attached to the document to be - * included into output. - * --------------------------------------------------------- - * new Zend_Pdf_Page(numeric $width, numeric $height); - * --------------------------------------------------------- - * - * @param mixed $param1 - * @param mixed $param2 - * @return Zend_Pdf_Page - */ - public function newPage($param1, $param2 = null) - { - if ($param2 === null) { - return new Zend_Pdf_Page($param1, $this->_objFactory); - } else { - return new Zend_Pdf_Page($param1, $param2, $this->_objFactory); - } - } - - /** - * Return the document-level Metadata - * or null Metadata stream is not presented - * - * @return string - */ - public function getMetadata() - { - if ($this->_trailer->Root->Metadata !== null) { - return $this->_trailer->Root->Metadata->value; - } else { - return null; - } - } - - /** - * Sets the document-level Metadata (mast be valid XMP document) - * - * @param string $metadata - */ - public function setMetadata($metadata) - { - $metadataObject = $this->_objFactory->newStreamObject($metadata); - $metadataObject->dictionary->Type = new Zend_Pdf_Element_Name('Metadata'); - $metadataObject->dictionary->Subtype = new Zend_Pdf_Element_Name('XML'); - - $this->_trailer->Root->Metadata = $metadataObject; - $this->_trailer->Root->touch(); - } - - /** - * Return the document-level JavaScript - * or null if there is no JavaScript for this document - * - * @return string - */ - public function getJavaScript() - { - return $this->_javaScript; - } - - /** - * Get open Action - * Returns Zend_Pdf_Target (Zend_Pdf_Destination or Zend_Pdf_Action object) - * - * @return Zend_Pdf_Target - */ - public function getOpenAction() - { - if ($this->_trailer->Root->OpenAction !== null) { - return Zend_Pdf_Target::load($this->_trailer->Root->OpenAction); - } else { - return null; - } - } - - /** - * Set open Action which is actually Zend_Pdf_Destination or Zend_Pdf_Action object - * - * @param Zend_Pdf_Target $openAction - * @returns Zend_Pdf - */ - public function setOpenAction(Zend_Pdf_Target $openAction = null) - { - $root = $this->_trailer->Root; - $root->touch(); - - if ($openAction === null) { - $root->OpenAction = null; - } else { - $root->OpenAction = $openAction->getResource(); - - if ($openAction instanceof Zend_Pdf_Action) { - $openAction->dumpAction($this->_objFactory); - } - } - - return $this; - } - - /** - * Return an associative array containing all the named destinations (or GoTo actions) in the PDF. - * Named targets can be used to reference from outside - * the PDF, ex: 'http://www.something.com/mydocument.pdf#MyAction' - * - * @return array - */ - public function getNamedDestinations() - { - return $this->_namedTargets; - } - - /** - * Return specified named destination - * - * @param string $name - * @return Zend_Pdf_Destination_Explicit|Zend_Pdf_Action_GoTo - */ - public function getNamedDestination($name) - { - if (isset($this->_namedTargets[$name])) { - return $this->_namedTargets[$name]; - } else { - return null; - } - } - - /** - * Set specified named destination - * - * @param string $name - * @param Zend_Pdf_Destination_Explicit|Zend_Pdf_Action_GoTo $target - */ - public function setNamedDestination($name, $destination = null) - { - if ($destination !== null && - !$destination instanceof Zend_Pdf_Action_GoTo && - !$destination instanceof Zend_Pdf_Destination_Explicit) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('PDF named destination must refer an explicit destination or a GoTo PDF action.'); - } - - if ($destination !== null) { - $this->_namedTargets[$name] = $destination; - } else { - unset($this->_namedTargets[$name]); - } - } - - /** - * Pages collection hash: - * => Zend_Pdf_Page - * - * @var SplObjectStorage - */ - protected $_pageReferences = null; - - /** - * Pages collection hash: - * => Zend_Pdf_Page - * - * @var array - */ - protected $_pageNumbers = null; - - /** - * Refresh page collection hashes - * - * @return Zend_Pdf - */ - protected function _refreshPagesHash() - { - $this->_pageReferences = array(); - $this->_pageNumbers = array(); - $count = 1; - foreach ($this->pages as $page) { - $pageDictionaryHashId = spl_object_hash($page->getPageDictionary()->getObject()); - $this->_pageReferences[$pageDictionaryHashId] = $page; - $this->_pageNumbers[$count++] = $page; - } - - return $this; - } - - /** - * Resolve destination. - * - * Returns Zend_Pdf_Page page object or null if destination is not found within PDF document. - * - * @param Zend_Pdf_Destination $destination Destination to resolve - * @param boolean $refreshPagesHash Refresh page collection hashes before processing - * @return Zend_Pdf_Page|null - * @throws Zend_Pdf_Exception - */ - public function resolveDestination(Zend_Pdf_Destination $destination, $refreshPageCollectionHashes = true) - { - if ($this->_pageReferences === null || $refreshPageCollectionHashes) { - $this->_refreshPagesHash(); - } - - if ($destination instanceof Zend_Pdf_Destination_Named) { - if (!isset($this->_namedTargets[$destination->getName()])) { - return null; - } - $destination = $this->getNamedDestination($destination->getName()); - - if ($destination instanceof Zend_Pdf_Action) { - if (!$destination instanceof Zend_Pdf_Action_GoTo) { - return null; - } - $destination = $destination->getDestination(); - } - - if (!$destination instanceof Zend_Pdf_Destination_Explicit) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Named destination target has to be an explicit destination.'); - } - } - - // Named target is an explicit destination - $pageElement = $destination->getResource()->items[0]; - - if ($pageElement->getType() == Zend_Pdf_Element::TYPE_NUMERIC) { - // Page reference is a PDF number - if (!isset($this->_pageNumbers[$pageElement->value])) { - return null; - } - - return $this->_pageNumbers[$pageElement->value]; - } - - // Page reference is a PDF page dictionary reference - $pageDictionaryHashId = spl_object_hash($pageElement->getObject()); - if (!isset($this->_pageReferences[$pageDictionaryHashId])) { - return null; - } - return $this->_pageReferences[$pageDictionaryHashId]; - } - - /** - * Walk through action and its chained actions tree and remove nodes - * if they are GoTo actions with an unresolved target. - * - * Returns null if root node is deleted or updated action overwise. - * - * @todo Give appropriate name and make method public - * - * @param $action - * @param boolean $refreshPagesHash Refresh page collection hashes before processing - * @return Zend_Pdf_Action|null - */ - protected function _cleanUpAction(Zend_Pdf_Action $action, $refreshPageCollectionHashes = true) - { - if ($this->_pageReferences === null || $refreshPageCollectionHashes) { - $this->_refreshPagesHash(); - } - - // Named target is an action - if ($action instanceof Zend_Pdf_Action_GoTo && - $this->resolveDestination($action->getDestination(), false) === null) { - // Action itself is a GoTo action with an unresolved destination - return null; - } - - // Walk through child actions - $iterator = new RecursiveIteratorIterator($action, RecursiveIteratorIterator::SELF_FIRST); - - $actionsToClean = array(); - $deletionCandidateKeys = array(); - foreach ($iterator as $chainedAction) { - if ($chainedAction instanceof Zend_Pdf_Action_GoTo && - $this->resolveDestination($chainedAction->getDestination(), false) === null) { - // Some child action is a GoTo action with an unresolved destination - // Mark it as a candidate for deletion - $actionsToClean[] = $iterator->getSubIterator(); - $deletionCandidateKeys[] = $iterator->getSubIterator()->key(); - } - } - foreach ($actionsToClean as $id => $action) { - unset($action->next[$deletionCandidateKeys[$id]]); - } - - return $action; - } - - /** - * Extract fonts attached to the document - * - * returns array of Zend_Pdf_Resource_Font_Extracted objects - * - * @return array - * @throws Zend_Pdf_Exception - */ - public function extractFonts() - { - $fontResourcesUnique = array(); - foreach ($this->pages as $page) { - $pageResources = $page->extractResources(); - - if ($pageResources->Font === null) { - // Page doesn't contain have any font reference - continue; - } - - $fontResources = $pageResources->Font; - - foreach ($fontResources->getKeys() as $fontResourceName) { - $fontDictionary = $fontResources->$fontResourceName; - - if (! ($fontDictionary instanceof Zend_Pdf_Element_Reference || - $fontDictionary instanceof Zend_Pdf_Element_Object) ) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Font dictionary has to be an indirect object or object reference.'); - } - - $fontResourcesUnique[spl_object_hash($fontDictionary->getObject())] = $fontDictionary; - } - } - - $fonts = array(); - require_once 'Zend/Pdf/Exception.php'; - foreach ($fontResourcesUnique as $resourceId => $fontDictionary) { - try { - // Try to extract font - $extractedFont = new Zend_Pdf_Resource_Font_Extracted($fontDictionary); - - $fonts[$resourceId] = $extractedFont; - } catch (Zend_Pdf_Exception $e) { - if ($e->getMessage() != 'Unsupported font type.') { - throw $e; - } - } - } - - return $fonts; - } - - /** - * Extract font attached to the page by specific font name - * - * $fontName should be specified in UTF-8 encoding - * - * @return Zend_Pdf_Resource_Font_Extracted|null - * @throws Zend_Pdf_Exception - */ - public function extractFont($fontName) - { - $fontResourcesUnique = array(); - require_once 'Zend/Pdf/Exception.php'; - foreach ($this->pages as $page) { - $pageResources = $page->extractResources(); - - if ($pageResources->Font === null) { - // Page doesn't contain have any font reference - continue; - } - - $fontResources = $pageResources->Font; - - foreach ($fontResources->getKeys() as $fontResourceName) { - $fontDictionary = $fontResources->$fontResourceName; - - if (! ($fontDictionary instanceof Zend_Pdf_Element_Reference || - $fontDictionary instanceof Zend_Pdf_Element_Object) ) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Font dictionary has to be an indirect object or object reference.'); - } - - $resourceId = spl_object_hash($fontDictionary->getObject()); - if (isset($fontResourcesUnique[$resourceId])) { - continue; - } else { - // Mark resource as processed - $fontResourcesUnique[$resourceId] = 1; - } - - if ($fontDictionary->BaseFont->value != $fontName) { - continue; - } - - try { - // Try to extract font - return new Zend_Pdf_Resource_Font_Extracted($fontDictionary); - } catch (Zend_Pdf_Exception $e) { - if ($e->getMessage() != 'Unsupported font type.') { - throw $e; - } - // Continue searhing - } - } - } - - return null; - } - - /** - * Render the completed PDF to a string. - * If $newSegmentOnly is true, then only appended part of PDF is returned. - * - * @param boolean $newSegmentOnly - * @param resource $outputStream - * @return string - * @throws Zend_Pdf_Exception - */ - public function render($newSegmentOnly = false, $outputStream = null) - { - // Save document properties if necessary - if ($this->properties != $this->_originalProperties) { - $docInfo = $this->_objFactory->newObject(new Zend_Pdf_Element_Dictionary()); - - foreach ($this->properties as $key => $value) { - switch ($key) { - case 'Trapped': - switch ($value) { - case true: - $docInfo->$key = new Zend_Pdf_Element_Name('True'); - break; - - case false: - $docInfo->$key = new Zend_Pdf_Element_Name('False'); - break; - - case null: - $docInfo->$key = new Zend_Pdf_Element_Name('Unknown'); - break; - - default: - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Wrong Trapped document property vale: \'' . $value . '\'. Only true, false and null values are allowed.'); - break; - } - - case 'CreationDate': - // break intentionally omitted - case 'ModDate': - $docInfo->$key = new Zend_Pdf_Element_String((string)$value); - break; - - case 'Title': - // break intentionally omitted - case 'Author': - // break intentionally omitted - case 'Subject': - // break intentionally omitted - case 'Keywords': - // break intentionally omitted - case 'Creator': - // break intentionally omitted - case 'Producer': - if (extension_loaded('mbstring') === true) { - $detected = mb_detect_encoding($value); - if ($detected !== 'ASCII') { - $value = chr(254) . chr(255) . mb_convert_encoding($value, 'UTF-16', $detected); - } - } - $docInfo->$key = new Zend_Pdf_Element_String((string)$value); - break; - - default: - // Set property using PDF type based on PHP type - $docInfo->$key = Zend_Pdf_Element::phpToPdf($value); - break; - } - } - - $this->_trailer->Info = $docInfo; - } - - $this->_dumpPages(); - $this->_dumpNamedDestinations(); - $this->_dumpOutlines(); - - // Check, that PDF file was modified - // File is always modified by _dumpPages() now, but future implementations may eliminate this. - if (!$this->_objFactory->isModified()) { - if ($newSegmentOnly) { - // Do nothing, return - return ''; - } - - if ($outputStream === null) { - return $this->_trailer->getPDFString(); - } else { - $pdfData = $this->_trailer->getPDFString(); - while ( strlen($pdfData) > 0 && ($byteCount = fwrite($outputStream, $pdfData)) != false ) { - $pdfData = substr($pdfData, $byteCount); - } - - return ''; - } - } - - // offset (from a start of PDF file) of new PDF file segment - $offset = $this->_trailer->getPDFLength(); - // Last Object number in a list of free objects - $lastFreeObject = $this->_trailer->getLastFreeObject(); - - // Array of cross-reference table subsections - $xrefTable = array(); - // Object numbers of first objects in each subsection - $xrefSectionStartNums = array(); - - // Last cross-reference table subsection - $xrefSection = array(); - // Dummy initialization of the first element (specail case - header of linked list of free objects). - $xrefSection[] = 0; - $xrefSectionStartNums[] = 0; - // Object number of last processed PDF object. - // Used to manage cross-reference subsections. - // Initialized by zero (specail case - header of linked list of free objects). - $lastObjNum = 0; - - if ($outputStream !== null) { - if (!$newSegmentOnly) { - $pdfData = $this->_trailer->getPDFString(); - while ( strlen($pdfData) > 0 && ($byteCount = fwrite($outputStream, $pdfData)) != false ) { - $pdfData = substr($pdfData, $byteCount); - } - } - } else { - $pdfSegmentBlocks = ($newSegmentOnly) ? array() : array($this->_trailer->getPDFString()); - } - - // Iterate objects to create new reference table - foreach ($this->_objFactory->listModifiedObjects() as $updateInfo) { - $objNum = $updateInfo->getObjNum(); - - if ($objNum - $lastObjNum != 1) { - // Save cross-reference table subsection and start new one - $xrefTable[] = $xrefSection; - $xrefSection = array(); - $xrefSectionStartNums[] = $objNum; - } - - if ($updateInfo->isFree()) { - // Free object cross-reference table entry - $xrefSection[] = sprintf("%010d %05d f \n", $lastFreeObject, $updateInfo->getGenNum()); - $lastFreeObject = $objNum; - } else { - // In-use object cross-reference table entry - $xrefSection[] = sprintf("%010d %05d n \n", $offset, $updateInfo->getGenNum()); - - $pdfBlock = $updateInfo->getObjectDump(); - $offset += strlen($pdfBlock); - - if ($outputStream === null) { - $pdfSegmentBlocks[] = $pdfBlock; - } else { - while ( strlen($pdfBlock) > 0 && ($byteCount = fwrite($outputStream, $pdfBlock)) != false ) { - $pdfBlock = substr($pdfBlock, $byteCount); - } - } - } - $lastObjNum = $objNum; - } - // Save last cross-reference table subsection - $xrefTable[] = $xrefSection; - - // Modify first entry (specail case - header of linked list of free objects). - $xrefTable[0][0] = sprintf("%010d 65535 f \n", $lastFreeObject); - - $xrefTableStr = "xref\n"; - foreach ($xrefTable as $sectId => $xrefSection) { - $xrefTableStr .= sprintf("%d %d \n", $xrefSectionStartNums[$sectId], count($xrefSection)); - foreach ($xrefSection as $xrefTableEntry) { - $xrefTableStr .= $xrefTableEntry; - } - } - - $this->_trailer->Size->value = $this->_objFactory->getObjectCount(); - - $pdfBlock = $xrefTableStr - . $this->_trailer->toString() - . "startxref\n" . $offset . "\n" - . "%%EOF\n"; - - $this->_objFactory->cleanEnumerationShiftCache(); - - if ($outputStream === null) { - $pdfSegmentBlocks[] = $pdfBlock; - - return implode('', $pdfSegmentBlocks); - } else { - while ( strlen($pdfBlock) > 0 && ($byteCount = fwrite($outputStream, $pdfBlock)) != false ) { - $pdfBlock = substr($pdfBlock, $byteCount); - } - - return ''; - } - } - - - /** - * Set the document-level JavaScript - * - * @param string $javascript - */ - public function setJavaScript($javascript) - { - $this->_javaScript = $javascript; - } - - - /** - * Convert date to PDF format (it's close to ASN.1 (Abstract Syntax Notation - * One) defined in ISO/IEC 8824). - * - * @todo This really isn't the best location for this method. It should - * probably actually exist as Zend_Pdf_Element_Date or something like that. - * - * @todo Address the following E_STRICT issue: - * PHP Strict Standards: date(): It is not safe to rely on the system's - * timezone settings. Please use the date.timezone setting, the TZ - * environment variable or the date_default_timezone_set() function. In - * case you used any of those methods and you are still getting this - * warning, you most likely misspelled the timezone identifier. - * - * @param integer $timestamp (optional) If omitted, uses the current time. - * @return string - */ - public static function pdfDate($timestamp = null) - { - if ($timestamp === null) { - $date = date('\D\:YmdHisO'); - } else { - $date = date('\D\:YmdHisO', $timestamp); - } - return substr_replace($date, '\'', -2, 0) . '\''; - } - -} diff --git a/lib/zend/Zend/Pdf/Action.php b/lib/zend/Zend/Pdf/Action.php deleted file mode 100644 index dfc30a5875..0000000000 --- a/lib/zend/Zend/Pdf/Action.php +++ /dev/null @@ -1,398 +0,0 @@ -getType() != Zend_Pdf_Element::TYPE_DICTIONARY) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('$dictionary mast be a direct or an indirect dictionary object.'); - } - - $this->_actionDictionary = $dictionary; - - if ($dictionary->Next !== null) { - if ($dictionary->Next instanceof Zend_Pdf_Element_Dictionary) { - // Check if dictionary object is not already processed - if (!$processedActions->contains($dictionary->Next)) { - $processedActions->attach($dictionary->Next); - $this->next[] = Zend_Pdf_Action::load($dictionary->Next, $processedActions); - } - } else if ($dictionary->Next instanceof Zend_Pdf_Element_Array) { - foreach ($dictionary->Next->items as $chainedActionDictionary) { - // Check if dictionary object is not already processed - if (!$processedActions->contains($chainedActionDictionary)) { - $processedActions->attach($chainedActionDictionary); - $this->next[] = Zend_Pdf_Action::load($chainedActionDictionary, $processedActions); - } - } - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('PDF Action dictionary Next entry must be a dictionary or an array.'); - } - } - - $this->_originalNextList = $this->next; - } - - /** - * Load PDF action object using specified dictionary - * - * @internal - * @param Zend_Pdf_Element $dictionary (It's actually Dictionary or Dictionary Object or Reference to a Dictionary Object) - * @param SplObjectStorage $processedActions list of already processed action dictionaries, used to avoid cyclic references - * @return Zend_Pdf_Action - * @throws Zend_Pdf_Exception - */ - public static function load(Zend_Pdf_Element $dictionary, SplObjectStorage $processedActions = null) - { - if ($processedActions === null) { - $processedActions = new SplObjectStorage(); - } - - if ($dictionary->getType() != Zend_Pdf_Element::TYPE_DICTIONARY) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('$dictionary mast be a direct or an indirect dictionary object.'); - } - if (isset($dictionary->Type) && $dictionary->Type->value != 'Action') { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Action dictionary Type entry must be set to \'Action\'.'); - } - - if ($dictionary->S === null) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Action dictionary must contain S entry'); - } - - switch ($dictionary->S->value) { - case 'GoTo': - require_once 'Zend/Pdf/Action/GoTo.php'; - return new Zend_Pdf_Action_GoTo($dictionary, $processedActions); - brake; - - case 'GoToR': - require_once 'Zend/Pdf/Action/GoToR.php'; - return new Zend_Pdf_Action_GoToR($dictionary, $processedActions); - brake; - - case 'GoToE': - require_once 'Zend/Pdf/Action/GoToE.php'; - return new Zend_Pdf_Action_GoToE($dictionary, $processedActions); - brake; - - case 'Launch': - require_once 'Zend/Pdf/Action/Launch.php'; - return new Zend_Pdf_Action_Launch($dictionary, $processedActions); - brake; - - case 'Thread': - require_once 'Zend/Pdf/Action/Thread.php'; - return new Zend_Pdf_Action_Thread($dictionary, $processedActions); - brake; - - case 'URI': - require_once 'Zend/Pdf/Action/URI.php'; - return new Zend_Pdf_Action_URI($dictionary, $processedActions); - brake; - - case 'Sound': - require_once 'Zend/Pdf/Action/Sound.php'; - return new Zend_Pdf_Action_Sound($dictionary, $processedActions); - brake; - - case 'Movie': - require_once 'Zend/Pdf/Action/Movie.php'; - return new Zend_Pdf_Action_Movie($dictionary, $processedActions); - brake; - - case 'Hide': - require_once 'Zend/Pdf/Action/Hide.php'; - return new Zend_Pdf_Action_Hide($dictionary, $processedActions); - brake; - - case 'Named': - require_once 'Zend/Pdf/Action/Named.php'; - return new Zend_Pdf_Action_Named($dictionary, $processedActions); - brake; - - case 'SubmitForm': - require_once 'Zend/Pdf/Action/SubmitForm.php'; - return new Zend_Pdf_Action_SubmitForm($dictionary, $processedActions); - brake; - - case 'ResetForm': - require_once 'Zend/Pdf/Action/ResetForm.php'; - return new Zend_Pdf_Action_ResetForm($dictionary, $processedActions); - brake; - - case 'ImportData': - require_once 'Zend/Pdf/Action/ImportData.php'; - return new Zend_Pdf_Action_ImportData($dictionary, $processedActions); - brake; - - case 'JavaScript': - require_once 'Zend/Pdf/Action/JavaScript.php'; - return new Zend_Pdf_Action_JavaScript($dictionary, $processedActions); - brake; - - case 'SetOCGState': - require_once 'Zend/Pdf/Action/SetOCGState.php'; - return new Zend_Pdf_Action_SetOCGState($dictionary, $processedActions); - brake; - - case 'Rendition': - require_once 'Zend/Pdf/Action/Rendition.php'; - return new Zend_Pdf_Action_Rendition($dictionary, $processedActions); - brake; - - case 'Trans': - require_once 'Zend/Pdf/Action/Trans.php'; - return new Zend_Pdf_Action_Trans($dictionary, $processedActions); - brake; - - case 'GoTo3DView': - require_once 'Zend/Pdf/Action/GoTo3DView.php'; - return new Zend_Pdf_Action_GoTo3DView($dictionary, $processedActions); - brake; - - default: - require_once 'Zend/Pdf/Action/Unknown.php'; - return new Zend_Pdf_Action_Unknown($dictionary, $processedActions); - brake; - } - } - - /** - * Get resource - * - * @internal - * @return Zend_Pdf_Element - */ - public function getResource() - { - return $this->_actionDictionary; - } - - /** - * Dump Action and its child actions into PDF structures - * - * Returns dictionary indirect object or reference - * - * @internal - * @param Zend_Pdf_ElementFactory $factory Object factory for newly created indirect objects - * @param SplObjectStorage $processedActions list of already processed actions (used to prevent infinity loop caused by cyclic references) - * @return Zend_Pdf_Element_Object|Zend_Pdf_Element_Reference Dictionary indirect object - */ - public function dumpAction(Zend_Pdf_ElementFactory_Interface $factory, SplObjectStorage $processedActions = null) - { - if ($processedActions === null) { - $processedActions = new SplObjectStorage(); - } - if ($processedActions->contains($this)) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Action chain cyclyc reference is detected.'); - } - $processedActions->attach($this); - - $childListUpdated = false; - if (count($this->_originalNextList) != count($this->next)) { - // If original and current children arrays have different size then children list was updated - $childListUpdated = true; - } else if ( !(array_keys($this->_originalNextList) === array_keys($this->next)) ) { - // If original and current children arrays have different keys (with a glance to an order) then children list was updated - $childListUpdated = true; - } else { - foreach ($this->next as $key => $childAction) { - if ($this->_originalNextList[$key] !== $childAction) { - $childListUpdated = true; - break; - } - } - } - - if ($childListUpdated) { - $this->_actionDictionary->touch(); - switch (count($this->next)) { - case 0: - $this->_actionDictionary->Next = null; - break; - - case 1: - $child = reset($this->next); - $this->_actionDictionary->Next = $child->dumpAction($factory, $processedActions); - break; - - default: - $pdfChildArray = new Zend_Pdf_Element_Array(); - foreach ($this->next as $child) { - - $pdfChildArray->items[] = $child->dumpAction($factory, $processedActions); - } - $this->_actionDictionary->Next = $pdfChildArray; - break; - } - } else { - foreach ($this->next as $child) { - $child->dumpAction($factory, $processedActions); - } - } - - if ($this->_actionDictionary instanceof Zend_Pdf_Element_Dictionary) { - // It's a newly created action. Register it within object factory and return indirect object - return $factory->newObject($this->_actionDictionary); - } else { - // It's a loaded object - return $this->_actionDictionary; - } - } - - - //////////////////////////////////////////////////////////////////////// - // RecursiveIterator interface methods - ////////////// - - /** - * Returns current child action. - * - * @return Zend_Pdf_Action - */ - public function current() - { - return current($this->next); - } - - /** - * Returns current iterator key - * - * @return integer - */ - public function key() - { - return key($this->next); - } - - /** - * Go to next child - */ - public function next() - { - return next($this->next); - } - - /** - * Rewind children - */ - public function rewind() - { - return reset($this->next); - } - - /** - * Check if current position is valid - * - * @return boolean - */ - public function valid() - { - return current($this->next) !== false; - } - - /** - * Returns the child action. - * - * @return Zend_Pdf_Outline|null - */ - public function getChildren() - { - return current($this->next); - } - - /** - * Implements RecursiveIterator interface. - * - * @return bool whether container has any pages - */ - public function hasChildren() - { - return count($this->next) > 0; - } - - - //////////////////////////////////////////////////////////////////////// - // Countable interface methods - ////////////// - - /** - * count() - * - * @return int - */ - public function count() - { - return count($this->childOutlines); - } -} diff --git a/lib/zend/Zend/Pdf/Action/GoTo.php b/lib/zend/Zend/Pdf/Action/GoTo.php deleted file mode 100644 index 87f6713edf..0000000000 --- a/lib/zend/Zend/Pdf/Action/GoTo.php +++ /dev/null @@ -1,114 +0,0 @@ -_destination = Zend_Pdf_Destination::load($dictionary->D); - } - - /** - * Create new Zend_Pdf_Action_GoTo object using specified destination - * - * @param Zend_Pdf_Destination|string $destination - * @return Zend_Pdf_Action_GoTo - */ - public static function create($destination) - { - if (is_string($destination)) { - require_once 'Zend/Pdf/Destination/Named.php'; - $destination = Zend_Pdf_Destination_Named::create($destination); - } - - if (!$destination instanceof Zend_Pdf_Destination) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('$destination parameter must be a Zend_Pdf_Destination object or string.'); - } - - $dictionary = new Zend_Pdf_Element_Dictionary(); - $dictionary->Type = new Zend_Pdf_Element_Name('Action'); - $dictionary->S = new Zend_Pdf_Element_Name('GoTo'); - $dictionary->Next = null; - $dictionary->D = $destination->getResource(); - - return new Zend_Pdf_Action_GoTo($dictionary, new SplObjectStorage()); - } - - /** - * Set goto action destination - * - * @return Zend_Pdf_Action_GoTo - */ - public function setDestination(Zend_Pdf_Destination $destination) - { - $this->_destination = $destination; - - $this->_actionDictionary->touch(); - $this->_actionDictionary->D = $destination->getResource(); - - return $this; - } - - /** - * Get goto action destination - * - * @return Zend_Pdf_Destination - */ - public function getDestination() - { - return $this->_destination; - } -} - diff --git a/lib/zend/Zend/Pdf/Action/GoTo3DView.php b/lib/zend/Zend/Pdf/Action/GoTo3DView.php deleted file mode 100644 index 04f1501489..0000000000 --- a/lib/zend/Zend/Pdf/Action/GoTo3DView.php +++ /dev/null @@ -1,39 +0,0 @@ -_annotationDictionary; - } - - - /** - * Set bottom edge of the annotation rectangle. - * - * @param float $bottom - * @return Zend_Pdf_Annotation - */ - public function setBottom($bottom) { - $this->_annotationDictionary->Rect->items[1]->touch(); - $this->_annotationDictionary->Rect->items[1]->value = $bottom; - - return $this; - } - - /** - * Get bottom edge of the annotation rectangle. - * - * @return float - */ - public function getBottom() { - return $this->_annotationDictionary->Rect->items[1]->value; - } - - /** - * Set top edge of the annotation rectangle. - * - * @param float $top - * @return Zend_Pdf_Annotation - */ - public function setTop($top) { - $this->_annotationDictionary->Rect->items[3]->touch(); - $this->_annotationDictionary->Rect->items[3]->value = $top; - - return $this; - } - - /** - * Get top edge of the annotation rectangle. - * - * @return float - */ - public function getTop() { - return $this->_annotationDictionary->Rect->items[3]->value; - } - - /** - * Set right edge of the annotation rectangle. - * - * @param float $right - * @return Zend_Pdf_Annotation - */ - public function setRight($right) { - $this->_annotationDictionary->Rect->items[2]->touch(); - $this->_annotationDictionary->Rect->items[2]->value = $right; - - return $this; - } - - /** - * Get right edge of the annotation rectangle. - * - * @return float - */ - public function getRight() { - return $this->_annotationDictionary->Rect->items[2]->value; - } - - /** - * Set left edge of the annotation rectangle. - * - * @param float $left - * @return Zend_Pdf_Annotation - */ - public function setLeft($left) { - $this->_annotationDictionary->Rect->items[0]->touch(); - $this->_annotationDictionary->Rect->items[0]->value = $left; - - return $this; - } - - /** - * Get left edge of the annotation rectangle. - * - * @return float - */ - public function getLeft() { - return $this->_annotationDictionary->Rect->items[0]->value; - } - - /** - * Return text to be displayed for the annotation or, if this type of annotation - * does not display text, an alternate description of the annotation’s contents - * in human-readable form. - * - * @return string - */ - public function getText() { - if ($this->_annotationDictionary->Contents === null) { - return ''; - } - - return $this->_annotationDictionary->Contents->value; - } - - /** - * Set text to be displayed for the annotation or, if this type of annotation - * does not display text, an alternate description of the annotation’s contents - * in human-readable form. - * - * @param string $text - * @return Zend_Pdf_Annotation - */ - public function setText($text) { - if ($this->_annotationDictionary->Contents === null) { - $this->_annotationDictionary->touch(); - $this->_annotationDictionary->Contents = new Zend_Pdf_Element_String($text); - } else { - $this->_annotationDictionary->Contents->touch(); - $this->_annotationDictionary->Contents->value = new Zend_Pdf_Element_String($text); - } - - return $this; - } - - /** - * Annotation object constructor - * - * @throws Zend_Pdf_Exception - */ - public function __construct(Zend_Pdf_Element $annotationDictionary) - { - if ($annotationDictionary->getType() != Zend_Pdf_Element::TYPE_DICTIONARY) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Annotation dictionary resource has to be a dictionary.'); - } - - $this->_annotationDictionary = $annotationDictionary; - - if ($this->_annotationDictionary->Type !== null && - $this->_annotationDictionary->Type->value != 'Annot') { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Wrong resource type. \'Annot\' expected.'); - } - - if ($this->_annotationDictionary->Rect === null) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('\'Rect\' dictionary entry is required.'); - } - - if (count($this->_annotationDictionary->Rect->items) != 4 || - $this->_annotationDictionary->Rect->items[0]->getType() != Zend_Pdf_Element::TYPE_NUMERIC || - $this->_annotationDictionary->Rect->items[1]->getType() != Zend_Pdf_Element::TYPE_NUMERIC || - $this->_annotationDictionary->Rect->items[2]->getType() != Zend_Pdf_Element::TYPE_NUMERIC || - $this->_annotationDictionary->Rect->items[3]->getType() != Zend_Pdf_Element::TYPE_NUMERIC ) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('\'Rect\' dictionary entry must be an array of four numeric elements.'); - } - } - - /** - * Load Annotation object from a specified resource - * - * @internal - * @param $destinationArray - * @return Zend_Pdf_Destination - */ - public static function load(Zend_Pdf_Element $resource) - { - /** @todo implementation */ - } -} - diff --git a/lib/zend/Zend/Pdf/Annotation/FileAttachment.php b/lib/zend/Zend/Pdf/Annotation/FileAttachment.php deleted file mode 100644 index 64e32b4eb8..0000000000 --- a/lib/zend/Zend/Pdf/Annotation/FileAttachment.php +++ /dev/null @@ -1,93 +0,0 @@ -getType() != Zend_Pdf_Element::TYPE_DICTIONARY) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Annotation dictionary resource has to be a dictionary.'); - } - - if ($annotationDictionary->Subtype === null || - $annotationDictionary->Subtype->getType() != Zend_Pdf_Element::TYPE_NAME || - $annotationDictionary->Subtype->value != 'FileAttachment') { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Subtype => FileAttachment entry is requires'); - } - - parent::__construct($annotationDictionary); - } - - /** - * Create link annotation object - * - * @param float $x1 - * @param float $y1 - * @param float $x2 - * @param float $y2 - * @param string $fileSpecification - * @return Zend_Pdf_Annotation_FileAttachment - */ - public static function create($x1, $y1, $x2, $y2, $fileSpecification) - { - $annotationDictionary = new Zend_Pdf_Element_Dictionary(); - - $annotationDictionary->Type = new Zend_Pdf_Element_Name('Annot'); - $annotationDictionary->Subtype = new Zend_Pdf_Element_Name('FileAttachment'); - - $rectangle = new Zend_Pdf_Element_Array(); - $rectangle->items[] = new Zend_Pdf_Element_Numeric($x1); - $rectangle->items[] = new Zend_Pdf_Element_Numeric($y1); - $rectangle->items[] = new Zend_Pdf_Element_Numeric($x2); - $rectangle->items[] = new Zend_Pdf_Element_Numeric($y2); - $annotationDictionary->Rect = $rectangle; - - $fsDictionary = new Zend_Pdf_Element_Dictionary(); - $fsDictionary->Type = new Zend_Pdf_Element_Name('Filespec'); - $fsDictionary->F = new Zend_Pdf_Element_String($fileSpecification); - - $annotationDictionary->FS = $fsDictionary; - - - return new Zend_Pdf_Annotation_FileAttachment($annotationDictionary); - } -} diff --git a/lib/zend/Zend/Pdf/Annotation/Link.php b/lib/zend/Zend/Pdf/Annotation/Link.php deleted file mode 100644 index af9e4b6ba9..0000000000 --- a/lib/zend/Zend/Pdf/Annotation/Link.php +++ /dev/null @@ -1,156 +0,0 @@ -getType() != Zend_Pdf_Element::TYPE_DICTIONARY) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Annotation dictionary resource has to be a dictionary.'); - } - - if ($annotationDictionary->Subtype === null || - $annotationDictionary->Subtype->getType() != Zend_Pdf_Element::TYPE_NAME || - $annotationDictionary->Subtype->value != 'Link') { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Subtype => Link entry is requires'); - } - - parent::__construct($annotationDictionary); - } - - /** - * Create link annotation object - * - * @param float $x1 - * @param float $y1 - * @param float $x2 - * @param float $y2 - * @param Zend_Pdf_Target|string $target - * @return Zend_Pdf_Annotation_Link - */ - public static function create($x1, $y1, $x2, $y2, $target) - { - if (is_string($target)) { - require_once 'Zend/Pdf/Destination/Named.php'; - $destination = Zend_Pdf_Destination_Named::create($target); - } - if (!$target instanceof Zend_Pdf_Target) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('$target parameter must be a Zend_Pdf_Target object or a string.'); - } - - $annotationDictionary = new Zend_Pdf_Element_Dictionary(); - - $annotationDictionary->Type = new Zend_Pdf_Element_Name('Annot'); - $annotationDictionary->Subtype = new Zend_Pdf_Element_Name('Link'); - - $rectangle = new Zend_Pdf_Element_Array(); - $rectangle->items[] = new Zend_Pdf_Element_Numeric($x1); - $rectangle->items[] = new Zend_Pdf_Element_Numeric($y1); - $rectangle->items[] = new Zend_Pdf_Element_Numeric($x2); - $rectangle->items[] = new Zend_Pdf_Element_Numeric($y2); - $annotationDictionary->Rect = $rectangle; - - if ($target instanceof Zend_Pdf_Destination) { - $annotationDictionary->Dest = $target->getResource(); - } else { - $annotationDictionary->A = $target->getResource(); - } - - return new Zend_Pdf_Annotation_Link($annotationDictionary); - } - - /** - * Set link annotation destination - * - * @param Zend_Pdf_Target|string $target - * @return Zend_Pdf_Annotation_Link - */ - public function setDestination($target) - { - if (is_string($target)) { - require_once 'Zend/Pdf/Destination/Named.php'; - $destination = Zend_Pdf_Destination_Named::create($target); - } - if (!$target instanceof Zend_Pdf_Target) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('$target parameter must be a Zend_Pdf_Target object or a string.'); - } - - $this->_annotationDictionary->touch(); - $this->_annotationDictionary->Dest = $destination->getResource(); - if ($target instanceof Zend_Pdf_Destination) { - $this->_annotationDictionary->Dest = $target->getResource(); - $this->_annotationDictionary->A = null; - } else { - $this->_annotationDictionary->Dest = null; - $this->_annotationDictionary->A = $target->getResource(); - } - - return $this; - } - - /** - * Get link annotation destination - * - * @return Zend_Pdf_Target|null - */ - public function getDestination() - { - if ($this->_annotationDictionary->Dest === null && - $this->_annotationDictionary->A === null) { - return null; - } - - if ($this->_annotationDictionary->Dest !== null) { - return Zend_Pdf_Destination::load($this->_annotationDictionary->Dest); - } else { - return Zend_Pdf_Action::load($this->_annotationDictionary->A); - } - } -} diff --git a/lib/zend/Zend/Pdf/Annotation/Text.php b/lib/zend/Zend/Pdf/Annotation/Text.php deleted file mode 100644 index 64bb33a449..0000000000 --- a/lib/zend/Zend/Pdf/Annotation/Text.php +++ /dev/null @@ -1,87 +0,0 @@ -getType() != Zend_Pdf_Element::TYPE_DICTIONARY) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Annotation dictionary resource has to be a dictionary.'); - } - - if ($annotationDictionary->Subtype === null || - $annotationDictionary->Subtype->getType() != Zend_Pdf_Element::TYPE_NAME || - $annotationDictionary->Subtype->value != 'Text') { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Subtype => Text entry is requires'); - } - - parent::__construct($annotationDictionary); - } - - /** - * Create link annotation object - * - * @param float $x1 - * @param float $y1 - * @param float $x2 - * @param float $y2 - * @param string $text - * @return Zend_Pdf_Annotation_Text - */ - public static function create($x1, $y1, $x2, $y2, $text) - { - $annotationDictionary = new Zend_Pdf_Element_Dictionary(); - - $annotationDictionary->Type = new Zend_Pdf_Element_Name('Annot'); - $annotationDictionary->Subtype = new Zend_Pdf_Element_Name('Text'); - - $rectangle = new Zend_Pdf_Element_Array(); - $rectangle->items[] = new Zend_Pdf_Element_Numeric($x1); - $rectangle->items[] = new Zend_Pdf_Element_Numeric($y1); - $rectangle->items[] = new Zend_Pdf_Element_Numeric($x2); - $rectangle->items[] = new Zend_Pdf_Element_Numeric($y2); - $annotationDictionary->Rect = $rectangle; - - $annotationDictionary->Contents = new Zend_Pdf_Element_String($text); - - return new Zend_Pdf_Annotation_Text($annotationDictionary); - } -} diff --git a/lib/zend/Zend/Pdf/Cmap.php b/lib/zend/Zend/Pdf/Cmap.php deleted file mode 100644 index 18c5629305..0000000000 --- a/lib/zend/Zend/Pdf/Cmap.php +++ /dev/null @@ -1,343 +0,0 @@ - - *
    • {@link http://developer.apple.com/textfonts/TTRefMan/RM06/Chap6cmap.html} - *
    • {@link http://www.microsoft.com/OpenType/OTSpec/cmap.htm} - *
    • {@link http://partners.adobe.com/public/developer/opentype/index_cmap.html} - *
    - * - * @todo Write code for Zend_Pdf_FontCmap_HighByteMapping class. - * @todo Write code for Zend_Pdf_FontCmap_MixedCoverage class. - * @todo Write code for Zend_Pdf_FontCmap_TrimmedArray class. - * @todo Write code for Zend_Pdf_FontCmap_SegmentedCoverage class. - * - * @package Zend_Pdf - * @subpackage Fonts - * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - */ -abstract class Zend_Pdf_Cmap -{ - /**** Class Constants ****/ - - - /* Cmap Table Types */ - - /** - * Byte Encoding character map table type. - */ - const TYPE_BYTE_ENCODING = 0x00; - - /** - * High Byte Mapping character map table type. - */ - const TYPE_HIGH_BYTE_MAPPING = 0x02; - - /** - * Segment Value to Delta Mapping character map table type. - */ - const TYPE_SEGMENT_TO_DELTA = 0x04; - - /** - * Trimmed Table character map table type. - */ - const TYPE_TRIMMED_TABLE = 0x06; - - /** - * Mixed Coverage character map table type. - */ - const TYPE_MIXED_COVERAGE = 0x08; - - /** - * Trimmed Array character map table type. - */ - const TYPE_TRIMMED_ARRAY = 0x0a; - - /** - * Segmented Coverage character map table type. - */ - const TYPE_SEGMENTED_COVERAGE = 0x0c; - - /** - * Static Byte Encoding character map table type. Variant of - * {@link TYPE_BYTEENCODING}. - */ - const TYPE_BYTE_ENCODING_STATIC = 0xf1; - - /** - * Unknown character map table type. - */ - const TYPE_UNKNOWN = 0xff; - - - /* Special Glyph Names */ - - /** - * Glyph representing missing characters. - */ - const MISSING_CHARACTER_GLYPH = 0x00; - - - - /**** Public Interface ****/ - - - /* Factory Methods */ - - /** - * Instantiates the appropriate concrete subclass based on the type of cmap - * table and returns the instance. - * - * The cmap type must be one of the following values: - *
      - *
    • {@link Zend_Pdf_Cmap::TYPE_BYTE_ENCODING} - *
    • {@link Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC} - *
    • {@link Zend_Pdf_Cmap::TYPE_HIGH_BYTE_MAPPING} - *
    • {@link Zend_Pdf_Cmap::TYPE_SEGMENT_TO_DELTA} - *
    • {@link Zend_Pdf_Cmap::TYPE_TRIMMED_TABLE} - *
    • {@link Zend_Pdf_Cmap::TYPE_MIXED_COVERAGE} - *
    • {@link Zend_Pdf_Cmap::TYPE_TRIMMED_ARRAY} - *
    • {@link Zend_Pdf_Cmap::TYPE_SEGMENTED_COVERAGE} - *
    - * - * Throws an exception if the table type is invalid or the cmap table data - * cannot be validated. - * - * @param integer $cmapType Type of cmap. - * @param mixed $cmapData Cmap table data. Usually a string or array. - * @return Zend_Pdf_Cmap - * @throws Zend_Pdf_Exception - */ - public static function cmapWithTypeData($cmapType, $cmapData) - { - switch ($cmapType) { - case Zend_Pdf_Cmap::TYPE_BYTE_ENCODING: - return new Zend_Pdf_Cmap_ByteEncoding($cmapData); - - case Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC: - return new Zend_Pdf_Cmap_ByteEncoding_Static($cmapData); - - case Zend_Pdf_Cmap::TYPE_HIGH_BYTE_MAPPING: - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('High byte mapping cmap currently unsupported', - Zend_Pdf_Exception::CMAP_TYPE_UNSUPPORTED); - - case Zend_Pdf_Cmap::TYPE_SEGMENT_TO_DELTA: - return new Zend_Pdf_Cmap_SegmentToDelta($cmapData); - - case Zend_Pdf_Cmap::TYPE_TRIMMED_TABLE: - return new Zend_Pdf_Cmap_TrimmedTable($cmapData); - - case Zend_Pdf_Cmap::TYPE_MIXED_COVERAGE: - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Mixed coverage cmap currently unsupported', - Zend_Pdf_Exception::CMAP_TYPE_UNSUPPORTED); - - case Zend_Pdf_Cmap::TYPE_TRIMMED_ARRAY: - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Trimmed array cmap currently unsupported', - Zend_Pdf_Exception::CMAP_TYPE_UNSUPPORTED); - - case Zend_Pdf_Cmap::TYPE_SEGMENTED_COVERAGE: - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Segmented coverage cmap currently unsupported', - Zend_Pdf_Exception::CMAP_TYPE_UNSUPPORTED); - - default: - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("Unknown cmap type: $cmapType", - Zend_Pdf_Exception::CMAP_UNKNOWN_TYPE); - } - } - - - /* Abstract Methods */ - - /** - * Object constructor - * - * Parses the raw binary table data. Throws an exception if the table is - * malformed. - * - * @param string $cmapData Raw binary cmap table data. - * @throws Zend_Pdf_Exception - */ - abstract public function __construct($cmapData); - - /** - * Returns an array of glyph numbers corresponding to the Unicode characters. - * - * If a particular character doesn't exist in this font, the special 'missing - * character glyph' will be substituted. - * - * See also {@link glyphNumberForCharacter()}. - * - * @param array $characterCodes Array of Unicode character codes (code points). - * @return array Array of glyph numbers. - */ - abstract public function glyphNumbersForCharacters($characterCodes); - - /** - * Returns the glyph number corresponding to the Unicode character. - * - * If a particular character doesn't exist in this font, the special 'missing - * character glyph' will be substituted. - * - * See also {@link glyphNumbersForCharacters()} which is optimized for bulk - * operations. - * - * @param integer $characterCode Unicode character code (code point). - * @return integer Glyph number. - */ - abstract public function glyphNumberForCharacter($characterCode); - - /** - * Returns an array containing the Unicode characters that have entries in - * this character map. - * - * @return array Unicode character codes. - */ - abstract public function getCoveredCharacters(); - - /** - * Returns an array containing the glyphs numbers that have entries in this character map. - * Keys are Unicode character codes (integers) - * - * This functionality is partially covered by glyphNumbersForCharacters(getCoveredCharacters()) - * call, but this method do it in more effective way (prepare complete list instead of searching - * glyph for each character code). - * - * @internal - * @return array Array representing => pairs. - */ - abstract public function getCoveredCharactersGlyphs(); - - - /**** Internal Methods ****/ - - - /* Internal Utility Methods */ - - /** - * Extracts a signed 2-byte integer from a string. - * - * Integers are always big-endian. Throws an exception if the index is out - * of range. - * - * @param string &$data - * @param integer $index Position in string of integer. - * @return integer - * @throws Zend_Pdf_Exception - */ - protected function _extractInt2(&$data, $index) - { - if (($index < 0) | (($index + 1) > strlen($data))) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("Index out of range: $index", - Zend_Pdf_Exception::INDEX_OUT_OF_RANGE); - } - $number = ord($data[$index]); - if (($number & 0x80) == 0x80) { // negative - $number = ~((((~ $number) & 0xff) << 8) | ((~ ord($data[++$index])) & 0xff)); - } else { - $number = ($number << 8) | ord($data[++$index]); - } - return $number; - } - - /** - * Extracts an unsigned 2-byte integer from a string. - * - * Integers are always big-endian. Throws an exception if the index is out - * of range. - * - * @param string &$data - * @param integer $index Position in string of integer. - * @return integer - * @throws Zend_Pdf_Exception - */ - protected function _extractUInt2(&$data, $index) - { - if (($index < 0) | (($index + 1) > strlen($data))) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("Index out of range: $index", - Zend_Pdf_Exception::INDEX_OUT_OF_RANGE); - } - $number = (ord($data[$index]) << 8) | ord($data[++$index]); - return $number; - } - - /** - * Extracts an unsigned 4-byte integer from a string. - * - * Integers are always big-endian. Throws an exception if the index is out - * of range. - * - * NOTE: If you ask for a 4-byte unsigned integer on a 32-bit machine, the - * resulting value WILL BE SIGNED because PHP uses signed integers internally - * for everything. To guarantee portability, be sure to use bitwise or - * similar operators on large integers! - * - * @param string &$data - * @param integer $index Position in string of integer. - * @return integer - * @throws Zend_Pdf_Exception - */ - protected function _extractUInt4(&$data, $index) - { - if (($index < 0) | (($index + 3) > strlen($data))) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("Index out of range: $index", - Zend_Pdf_Exception::INDEX_OUT_OF_RANGE); - } - $number = (ord($data[$index]) << 24) | (ord($data[++$index]) << 16) | - (ord($data[++$index]) << 8) | ord($data[++$index]); - return $number; - } - -} diff --git a/lib/zend/Zend/Pdf/Cmap/ByteEncoding.php b/lib/zend/Zend/Pdf/Cmap/ByteEncoding.php deleted file mode 100644 index 57ea20bf81..0000000000 --- a/lib/zend/Zend/Pdf/Cmap/ByteEncoding.php +++ /dev/null @@ -1,444 +0,0 @@ - $characterCode) { - - if (! isset($this->_glyphIndexArray[$characterCode])) { - $glyphNumbers[$key] = Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH; - continue; - } - - $glyphNumbers[$key] = $this->_glyphIndexArray[$characterCode]; - - } - return $glyphNumbers; - } - - /** - * Returns the glyph number corresponding to the Unicode character. - * - * If a particular character doesn't exist in this font, the special 'missing - * character glyph' will be substituted. - * - * See also {@link glyphNumbersForCharacters()} which is optimized for bulk - * operations. - * - * @param integer $characterCode Unicode character code (code point). - * @return integer Glyph number. - */ - public function glyphNumberForCharacter($characterCode) - { - if (! isset($this->_glyphIndexArray[$characterCode])) { - return Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH; - } - return $this->_glyphIndexArray[$characterCode]; - } - - /** - * Returns an array containing the Unicode characters that have entries in - * this character map. - * - * @return array Unicode character codes. - */ - public function getCoveredCharacters() - { - return array_keys($this->_glyphIndexArray); - } - - /** - * Returns an array containing the glyphs numbers that have entries in this character map. - * Keys are Unicode character codes (integers) - * - * This functionality is partially covered by glyphNumbersForCharacters(getCoveredCharacters()) - * call, but this method do it in more effective way (prepare complete list instead of searching - * glyph for each character code). - * - * @internal - * @return array Array representing => pairs. - */ - public function getCoveredCharactersGlyphs() - { - return $this->_glyphIndexArray; - } - - - /* Object Lifecycle */ - - /** - * Object constructor - * - * Parses the raw binary table data. Throws an exception if the table is - * malformed. - * - * @param string $cmapData Raw binary cmap table data. - * @throws Zend_Pdf_Exception - */ - public function __construct($cmapData) - { - /* Sanity check: This table must be exactly 262 bytes long. - */ - $actualLength = strlen($cmapData); - if ($actualLength != 262) { - throw new Zend_Pdf_Exception('Insufficient table data', - Zend_Pdf_Exception::CMAP_TABLE_DATA_TOO_SMALL); - } - - /* Sanity check: Make sure this is right data for this table type. - */ - $type = $this->_extractUInt2($cmapData, 0); - if ($type != Zend_Pdf_Cmap::TYPE_BYTE_ENCODING) { - throw new Zend_Pdf_Exception('Wrong cmap table type', - Zend_Pdf_Exception::CMAP_WRONG_TABLE_TYPE); - } - - $length = $this->_extractUInt2($cmapData, 2); - if ($length != $actualLength) { - throw new Zend_Pdf_Exception("Table length ($length) does not match actual length ($actualLength)", - Zend_Pdf_Exception::CMAP_WRONG_TABLE_LENGTH); - } - - /* Mapping tables should be language-independent. The font may not work - * as expected if they are not. Unfortunately, many font files in the - * wild incorrectly record a language ID in this field, so we can't - * call this a failure. - */ - $language = $this->_extractUInt2($cmapData, 4); - if ($language != 0) { - // Record a warning here somehow? - } - - /* The mapping between the Mac Roman and Unicode characters is static. - * For simplicity, just put all 256 glyph indices into one array keyed - * off the corresponding Unicode character. - */ - $i = 6; - $this->_glyphIndexArray[0x00] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x01] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x02] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x03] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x04] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x05] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x06] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x07] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x08] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x09] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x0a] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x0b] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x0c] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x0d] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x0e] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x0f] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x10] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x11] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x12] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x13] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x14] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x15] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x16] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x17] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x18] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x19] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x1a] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x1b] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x1c] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x1d] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x1e] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x1f] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x20] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x21] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x22] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x23] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x24] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x25] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x26] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x27] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x28] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x29] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2a] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2b] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2c] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2d] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2e] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2f] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x30] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x31] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x32] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x33] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x34] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x35] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x36] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x37] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x38] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x39] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x3a] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x3b] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x3c] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x3d] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x3e] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x3f] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x40] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x41] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x42] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x43] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x44] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x45] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x46] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x47] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x48] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x49] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x4a] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x4b] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x4c] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x4d] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x4e] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x4f] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x50] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x51] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x52] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x53] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x54] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x55] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x56] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x57] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x58] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x59] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x5a] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x5b] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x5c] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x5d] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x5e] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x5f] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x60] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x61] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x62] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x63] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x64] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x65] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x66] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x67] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x68] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x69] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x6a] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x6b] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x6c] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x6d] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x6e] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x6f] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x70] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x71] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x72] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x73] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x74] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x75] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x76] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x77] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x78] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x79] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x7a] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x7b] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x7c] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x7d] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x7e] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x7f] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xc4] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xc5] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xc7] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xc9] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xd1] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xd6] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xdc] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xe1] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xe0] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xe2] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xe4] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xe3] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xe5] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xe7] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xe9] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xe8] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xea] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xeb] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xed] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xec] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xee] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xef] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xf1] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xf3] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xf2] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xf4] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xf6] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xf5] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xfa] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xf9] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xfb] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xfc] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2020] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xb0] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xa2] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xa3] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xa7] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2022] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xb6] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xdf] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xae] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xa9] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2122] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xb4] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xa8] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2260] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xc6] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xd8] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x221e] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xb1] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2264] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2265] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xa5] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xb5] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2202] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2211] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x220f] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x03c0] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x222b] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xaa] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xba] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x03a9] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xe6] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xf8] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xbf] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xa1] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xac] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x221a] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x0192] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2248] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2206] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xab] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xbb] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2026] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xa0] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xc0] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xc3] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xd5] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x0152] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x0153] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2013] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2014] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x201c] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x201d] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2018] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2019] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xf7] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x25ca] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xff] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x0178] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2044] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x20ac] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2039] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x203a] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xfb01] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xfb02] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2021] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xb7] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x201a] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x201e] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x2030] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xc2] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xca] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xc1] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xcb] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xc8] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xcd] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xce] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xcf] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xcc] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xd3] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xd4] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xf8ff] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xd2] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xda] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xdb] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xd9] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x0131] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x02c6] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x02dc] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xaf] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x02d8] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x02d9] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x02da] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0xb8] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x02dd] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x02db] = ord($cmapData[$i++]); - $this->_glyphIndexArray[0x02c7] = ord($cmapData[$i]); - } - -} diff --git a/lib/zend/Zend/Pdf/Cmap/ByteEncoding/Static.php b/lib/zend/Zend/Pdf/Cmap/ByteEncoding/Static.php deleted file mode 100644 index 43ffa93b2c..0000000000 --- a/lib/zend/Zend/Pdf/Cmap/ByteEncoding/Static.php +++ /dev/null @@ -1,61 +0,0 @@ -_glyphIndexArray = $cmapData; - } - -} diff --git a/lib/zend/Zend/Pdf/Cmap/SegmentToDelta.php b/lib/zend/Zend/Pdf/Cmap/SegmentToDelta.php deleted file mode 100644 index 46243d70d1..0000000000 --- a/lib/zend/Zend/Pdf/Cmap/SegmentToDelta.php +++ /dev/null @@ -1,403 +0,0 @@ - $characterCode) { - - /* These tables only cover the 16-bit character range. - */ - if ($characterCode > 0xffff) { - $glyphNumbers[$key] = Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH; - continue; - } - - /* Determine where to start the binary search. The segments are - * ordered from lowest-to-highest. We are looking for the first - * segment whose end code is greater than or equal to our character - * code. - * - * If the end code at the top of the search range is larger, then - * our target is probably below it. - * - * If it is smaller, our target is probably above it, so move the - * search range to the end of the segment list. - */ - if ($this->_searchRangeEndCode >= $characterCode) { - $searchIndex = $this->_searchRange; - } else { - $searchIndex = $this->_segmentCount; - } - - /* Now do a binary search to find the first segment whose end code - * is greater or equal to our character code. No matter the number - * of segments (there may be hundreds in a large font), we will only - * need to perform $this->_searchIterations. - */ - for ($i = 1; $i <= $this->_searchIterations; $i++) { - if ($this->_segmentTableEndCodes[$searchIndex] >= $characterCode) { - $subtableIndex = $searchIndex; - $searchIndex -= $this->_searchRange >> $i; - } else { - $searchIndex += $this->_searchRange >> $i; - } - } - - /* If the segment's start code is greater than our character code, - * that character is not represented in this font. Move on. - */ - if ($this->_segmentTableStartCodes[$subtableIndex] > $characterCode) { - $glyphNumbers[$key] = Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH; - continue; - } - - if ($this->_segmentTableIdRangeOffsets[$subtableIndex] == 0) { - /* This segment uses a simple mapping from character code to - * glyph number. - */ - $glyphNumbers[$key] = ($characterCode + $this->_segmentTableIdDeltas[$subtableIndex]) % 65536; - - } else { - /* This segment relies on the glyph index array to determine the - * glyph number. The calculation below determines the correct - * index into that array. It's a little odd because the range - * offset in the font file is designed to quickly provide an - * address of the index in the raw binary data instead of the - * index itself. Since we've parsed the data into arrays, we - * must process it a bit differently. - */ - $glyphIndex = ($characterCode - $this->_segmentTableStartCodes[$subtableIndex] + - $this->_segmentTableIdRangeOffsets[$subtableIndex] - $this->_segmentCount + - $subtableIndex - 1); - $glyphNumbers[$key] = $this->_glyphIndexArray[$glyphIndex]; - - } - - } - return $glyphNumbers; - } - - /** - * Returns the glyph number corresponding to the Unicode character. - * - * If a particular character doesn't exist in this font, the special 'missing - * character glyph' will be substituted. - * - * See also {@link glyphNumbersForCharacters()} which is optimized for bulk - * operations. - * - * @param integer $characterCode Unicode character code (code point). - * @return integer Glyph number. - */ - public function glyphNumberForCharacter($characterCode) - { - /* This code is pretty much a copy of glyphNumbersForCharacters(). - * See that method for inline documentation. - */ - - if ($characterCode > 0xffff) { - return Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH; - } - - if ($this->_searchRangeEndCode >= $characterCode) { - $searchIndex = $this->_searchRange; - } else { - $searchIndex = $this->_segmentCount; - } - - for ($i = 1; $i <= $this->_searchIterations; $i++) { - if ($this->_segmentTableEndCodes[$searchIndex] >= $characterCode) { - $subtableIndex = $searchIndex; - $searchIndex -= $this->_searchRange >> $i; - } else { - $searchIndex += $this->_searchRange >> $i; - } - } - - if ($this->_segmentTableStartCodes[$subtableIndex] > $characterCode) { - return Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH; - } - - if ($this->_segmentTableIdRangeOffsets[$subtableIndex] == 0) { - $glyphNumber = ($characterCode + $this->_segmentTableIdDeltas[$subtableIndex]) % 65536; - } else { - $glyphIndex = ($characterCode - $this->_segmentTableStartCodes[$subtableIndex] + - $this->_segmentTableIdRangeOffsets[$subtableIndex] - $this->_segmentCount + - $subtableIndex - 1); - $glyphNumber = $this->_glyphIndexArray[$glyphIndex]; - } - return $glyphNumber; - } - - /** - * Returns an array containing the Unicode characters that have entries in - * this character map. - * - * @return array Unicode character codes. - */ - public function getCoveredCharacters() - { - $characterCodes = array(); - for ($i = 1; $i <= $this->_segmentCount; $i++) { - for ($code = $this->_segmentTableStartCodes[$i]; $code <= $this->_segmentTableEndCodes[$i]; $code++) { - $characterCodes[] = $code; - } - } - return $characterCodes; - } - - - /** - * Returns an array containing the glyphs numbers that have entries in this character map. - * Keys are Unicode character codes (integers) - * - * This functionality is partially covered by glyphNumbersForCharacters(getCoveredCharacters()) - * call, but this method do it in more effective way (prepare complete list instead of searching - * glyph for each character code). - * - * @internal - * @return array Array representing => pairs. - */ - public function getCoveredCharactersGlyphs() - { - $glyphNumbers = array(); - - for ($segmentNum = 1; $segmentNum <= $this->_segmentCount; $segmentNum++) { - if ($this->_segmentTableIdRangeOffsets[$segmentNum] == 0) { - $delta = $this->_segmentTableIdDeltas[$segmentNum]; - - for ($code = $this->_segmentTableStartCodes[$segmentNum]; - $code <= $this->_segmentTableEndCodes[$segmentNum]; - $code++) { - $glyphNumbers[$code] = ($code + $delta) % 65536; - } - } else { - $code = $this->_segmentTableStartCodes[$segmentNum]; - $glyphIndex = $this->_segmentTableIdRangeOffsets[$segmentNum] - ($this->_segmentCount - $segmentNum) - 1; - - while ($code <= $this->_segmentTableEndCodes[$segmentNum]) { - $glyphNumbers[$code] = $this->_glyphIndexArray[$glyphIndex]; - - $code++; - $glyphIndex++; - } - } - } - - return $glyphNumbers; - } - - - - /* Object Lifecycle */ - - /** - * Object constructor - * - * Parses the raw binary table data. Throws an exception if the table is - * malformed. - * - * @param string $cmapData Raw binary cmap table data. - * @throws Zend_Pdf_Exception - */ - public function __construct($cmapData) - { - /* Sanity check: The table should be at least 23 bytes in size. - */ - $actualLength = strlen($cmapData); - if ($actualLength < 23) { - throw new Zend_Pdf_Exception('Insufficient table data', - Zend_Pdf_Exception::CMAP_TABLE_DATA_TOO_SMALL); - } - - /* Sanity check: Make sure this is right data for this table type. - */ - $type = $this->_extractUInt2($cmapData, 0); - if ($type != Zend_Pdf_Cmap::TYPE_SEGMENT_TO_DELTA) { - throw new Zend_Pdf_Exception('Wrong cmap table type', - Zend_Pdf_Exception::CMAP_WRONG_TABLE_TYPE); - } - - $length = $this->_extractUInt2($cmapData, 2); - if ($length != $actualLength) { - throw new Zend_Pdf_Exception("Table length ($length) does not match actual length ($actualLength)", - Zend_Pdf_Exception::CMAP_WRONG_TABLE_LENGTH); - } - - /* Mapping tables should be language-independent. The font may not work - * as expected if they are not. Unfortunately, many font files in the - * wild incorrectly record a language ID in this field, so we can't - * call this a failure. - */ - $language = $this->_extractUInt2($cmapData, 4); - if ($language != 0) { - // Record a warning here somehow? - } - - /* These two values are stored premultiplied by two which is convienent - * when using the binary data directly, but we're parsing it out to - * native PHP data types, so divide by two. - */ - $this->_segmentCount = $this->_extractUInt2($cmapData, 6) >> 1; - $this->_searchRange = $this->_extractUInt2($cmapData, 8) >> 1; - - $this->_searchIterations = $this->_extractUInt2($cmapData, 10) + 1; - - $offset = 14; - for ($i = 1; $i <= $this->_segmentCount; $i++, $offset += 2) { - $this->_segmentTableEndCodes[$i] = $this->_extractUInt2($cmapData, $offset); - } - - $this->_searchRangeEndCode = $this->_segmentTableEndCodes[$this->_searchRange]; - - $offset += 2; // reserved bytes - - for ($i = 1; $i <= $this->_segmentCount; $i++, $offset += 2) { - $this->_segmentTableStartCodes[$i] = $this->_extractUInt2($cmapData, $offset); - } - - for ($i = 1; $i <= $this->_segmentCount; $i++, $offset += 2) { - $this->_segmentTableIdDeltas[$i] = $this->_extractInt2($cmapData, $offset); // signed - } - - /* The range offset helps determine the index into the glyph index array. - * Like the segment count and search range above, it's stored as a byte - * multiple in the font, so divide by two as we extract the values. - */ - for ($i = 1; $i <= $this->_segmentCount; $i++, $offset += 2) { - $this->_segmentTableIdRangeOffsets[$i] = $this->_extractUInt2($cmapData, $offset) >> 1; - } - - /* The size of the glyph index array varies by font and depends on the - * extent of the usage of range offsets versus deltas. Some fonts may - * not have any entries in this array. - */ - for (; $offset < $length; $offset += 2) { - $this->_glyphIndexArray[] = $this->_extractUInt2($cmapData, $offset); - } - - /* Sanity check: After reading all of the data, we should be at the end - * of the table. - */ - if ($offset != $length) { - throw new Zend_Pdf_Exception("Ending offset ($offset) does not match length ($length)", - Zend_Pdf_Exception::CMAP_FINAL_OFFSET_NOT_LENGTH); - } - } - -} diff --git a/lib/zend/Zend/Pdf/Cmap/TrimmedTable.php b/lib/zend/Zend/Pdf/Cmap/TrimmedTable.php deleted file mode 100644 index b73038cb42..0000000000 --- a/lib/zend/Zend/Pdf/Cmap/TrimmedTable.php +++ /dev/null @@ -1,226 +0,0 @@ - $characterCode) { - - if (($characterCode < $this->_startCode) || ($characterCode > $this->_endCode)) { - $glyphNumbers[$key] = Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH; - continue; - } - - $glyphIndex = $characterCode - $this->_startCode; - $glyphNumbers[$key] = $this->_glyphIndexArray[$glyphIndex]; - - } - return $glyphNumbers; - } - - /** - * Returns the glyph number corresponding to the Unicode character. - * - * If a particular character doesn't exist in this font, the special 'missing - * character glyph' will be substituted. - * - * See also {@link glyphNumbersForCharacters()} which is optimized for bulk - * operations. - * - * @param integer $characterCode Unicode character code (code point). - * @return integer Glyph number. - */ - public function glyphNumberForCharacter($characterCode) - { - if (($characterCode < $this->_startCode) || ($characterCode > $this->_endCode)) { - return Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH; - } - $glyphIndex = $characterCode - $this->_startCode; - return $this->_glyphIndexArray[$glyphIndex]; - } - - /** - * Returns an array containing the Unicode characters that have entries in - * this character map. - * - * @return array Unicode character codes. - */ - public function getCoveredCharacters() - { - $characterCodes = array(); - for ($code = $this->_startCode; $code <= $this->_endCode; $code++) { - $characterCodes[] = $code; - } - return $characterCodes; - } - - - /** - * Returns an array containing the glyphs numbers that have entries in this character map. - * Keys are Unicode character codes (integers) - * - * This functionality is partially covered by glyphNumbersForCharacters(getCoveredCharacters()) - * call, but this method do it in more effective way (prepare complete list instead of searching - * glyph for each character code). - * - * @internal - * @return array Array representing => pairs. - */ - public function getCoveredCharactersGlyphs() - { - $glyphNumbers = array(); - for ($code = $this->_startCode; $code <= $this->_endCode; $code++) { - $glyphNumbers[$code] = $this->_glyphIndexArray[$code - $this->_startCode]; - } - - return $glyphNumbers; - } - - - /* Object Lifecycle */ - - /** - * Object constructor - * - * Parses the raw binary table data. Throws an exception if the table is - * malformed. - * - * @param string $cmapData Raw binary cmap table data. - * @throws Zend_Pdf_Exception - */ - public function __construct($cmapData) - { - /* Sanity check: The table should be at least 9 bytes in size. - */ - $actualLength = strlen($cmapData); - if ($actualLength < 9) { - throw new Zend_Pdf_Exception('Insufficient table data', - Zend_Pdf_Exception::CMAP_TABLE_DATA_TOO_SMALL); - } - - /* Sanity check: Make sure this is right data for this table type. - */ - $type = $this->_extractUInt2($cmapData, 0); - if ($type != Zend_Pdf_Cmap::TYPE_TRIMMED_TABLE) { - throw new Zend_Pdf_Exception('Wrong cmap table type', - Zend_Pdf_Exception::CMAP_WRONG_TABLE_TYPE); - } - - $length = $this->_extractUInt2($cmapData, 2); - if ($length != $actualLength) { - throw new Zend_Pdf_Exception("Table length ($length) does not match actual length ($actualLength)", - Zend_Pdf_Exception::CMAP_WRONG_TABLE_LENGTH); - } - - /* Mapping tables should be language-independent. The font may not work - * as expected if they are not. Unfortunately, many font files in the - * wild incorrectly record a language ID in this field, so we can't - * call this a failure. - */ - $language = $this->_extractUInt2($cmapData, 4); - if ($language != 0) { - // Record a warning here somehow? - } - - $this->_startCode = $this->_extractUInt2($cmapData, 6); - - $entryCount = $this->_extractUInt2($cmapData, 8); - $expectedCount = ($length - 10) >> 1; - if ($entryCount != $expectedCount) { - throw new Zend_Pdf_Exception("Entry count is wrong; expected: $expectedCount; actual: $entryCount", - Zend_Pdf_Exception::CMAP_WRONG_ENTRY_COUNT); - } - - $this->_endCode = $this->_startCode + $entryCount - 1; - - $offset = 10; - for ($i = 0; $i < $entryCount; $i++, $offset += 2) { - $this->_glyphIndexArray[] = $this->_extractUInt2($cmapData, $offset); - } - - /* Sanity check: After reading all of the data, we should be at the end - * of the table. - */ - if ($offset != $length) { - throw new Zend_Pdf_Exception("Ending offset ($offset) does not match length ($length)", - Zend_Pdf_Exception::CMAP_FINAL_OFFSET_NOT_LENGTH); - } - } - -} diff --git a/lib/zend/Zend/Pdf/Color.php b/lib/zend/Zend/Pdf/Color.php deleted file mode 100644 index 508fbae62a..0000000000 --- a/lib/zend/Zend/Pdf/Color.php +++ /dev/null @@ -1,53 +0,0 @@ - 1) { $c = 1; } - - if ($m < 0) { $m = 0; } - if ($m > 1) { $m = 1; } - - if ($y < 0) { $y = 0; } - if ($y > 1) { $y = 1; } - - if ($k < 0) { $k = 0; } - if ($k > 1) { $k = 1; } - - $this->_c = new Zend_Pdf_Element_Numeric($c); - $this->_m = new Zend_Pdf_Element_Numeric($m); - $this->_y = new Zend_Pdf_Element_Numeric($y); - $this->_k = new Zend_Pdf_Element_Numeric($k); - } - - /** - * Instructions, which can be directly inserted into content stream - * to switch color. - * Color set instructions differ for stroking and nonstroking operations. - * - * @param boolean $stroking - * @return string - */ - public function instructions($stroking) - { - return $this->_c->toString() . ' ' - . $this->_m->toString() . ' ' - . $this->_y->toString() . ' ' - . $this->_k->toString() . ($stroking? " K\n" : " k\n"); - } - - /** - * Get color components (color space dependent) - * - * @return array - */ - public function getComponents() - { - return array($this->_c->value, $this->_m->value, $this->_y->value, $this->_k->value); - } -} - diff --git a/lib/zend/Zend/Pdf/Color/GrayScale.php b/lib/zend/Zend/Pdf/Color/GrayScale.php deleted file mode 100644 index 9b3db9da0c..0000000000 --- a/lib/zend/Zend/Pdf/Color/GrayScale.php +++ /dev/null @@ -1,82 +0,0 @@ - 1) { $grayLevel = 1; } - - $this->_grayLevel = new Zend_Pdf_Element_Numeric($grayLevel); - } - - /** - * Instructions, which can be directly inserted into content stream - * to switch color. - * Color set instructions differ for stroking and nonstroking operations. - * - * @param boolean $stroking - * @return string - */ - public function instructions($stroking) - { - return $this->_grayLevel->toString() . ($stroking? " G\n" : " g\n"); - } - - /** - * Get color components (color space dependent) - * - * @return array - */ - public function getComponents() - { - return array($this->_grayLevel->value); - } -} - diff --git a/lib/zend/Zend/Pdf/Color/Html.php b/lib/zend/Zend/Pdf/Color/Html.php deleted file mode 100644 index 5145c5f06d..0000000000 --- a/lib/zend/Zend/Pdf/Color/Html.php +++ /dev/null @@ -1,414 +0,0 @@ -_color = self::color($color); - } - - - /** - * Instructions, which can be directly inserted into content stream - * to switch color. - * Color set instructions differ for stroking and nonstroking operations. - * - * @param boolean $stroking - * @return string - */ - public function instructions($stroking) - { - return $this->_color->instructions($stroking); - } - - /** - * Get color components (color space dependent) - * - * @return array - */ - public function getComponents() - { - return $this->_color->getComponents(); - } - - /** - * Creates a Zend_Pdf_Color object from the HTML representation. - * - * @param string $color May either be a hexidecimal number of the form - * #rrggbb or one of the 140 well-known names (black, white, blue, etc.) - * @return Zend_Pdf_Color - */ - public static function color($color) - { - $pattern = '/^#([A-Fa-f0-9]{2})([A-Fa-f0-9]{2})([A-Fa-f0-9]{2})$/'; - if (preg_match($pattern, $color, $matches)) { - $r = round((hexdec($matches[1]) / 255), 3); - $g = round((hexdec($matches[2]) / 255), 3); - $b = round((hexdec($matches[3]) / 255), 3); - if (($r == $g) && ($g == $b)) { - return new Zend_Pdf_Color_GrayScale($r); - } else { - return new Zend_Pdf_Color_Rgb($r, $g, $b); - } - } else { - return Zend_Pdf_Color_Html::namedColor($color); - } - } - - /** - * Creates a Zend_Pdf_Color object from the named color. - * - * @param string $color One of the 140 well-known color names (black, white, - * blue, etc.) - * @return Zend_Pdf_Color - */ - public static function namedColor($color) - { - switch (strtolower($color)) { - case 'aqua': - $r = 0.0; $g = 1.0; $b = 1.0; break; - case 'black': - $r = 0.0; $g = 0.0; $b = 0.0; break; - case 'blue': - $r = 0.0; $g = 0.0; $b = 1.0; break; - case 'fuchsia': - $r = 1.0; $g = 0.0; $b = 1.0; break; - case 'gray': - $r = 0.502; $g = 0.502; $b = 0.502; break; - case 'green': - $r = 0.0; $g = 0.502; $b = 0.0; break; - case 'lime': - $r = 0.0; $g = 1.0; $b = 0.0; break; - case 'maroon': - $r = 0.502; $g = 0.0; $b = 0.0; break; - case 'navy': - $r = 0.0; $g = 0.0; $b = 0.502; break; - case 'olive': - $r = 0.502; $g = 0.502; $b = 0.0; break; - case 'purple': - $r = 0.502; $g = 0.0; $b = 0.502; break; - case 'red': - $r = 1.0; $g = 0.0; $b = 0.0; break; - case 'silver': - $r = 0.753; $g = 0.753; $b = 0.753; break; - case 'teal': - $r = 0.0; $g = 0.502; $b = 0.502; break; - case 'white': - $r = 1.0; $g = 1.0; $b = 1.0; break; - case 'yellow': - $r = 1.0; $g = 1.0; $b = 0.0; break; - - case 'aliceblue': - $r = 0.941; $g = 0.973; $b = 1.0; break; - case 'antiquewhite': - $r = 0.980; $g = 0.922; $b = 0.843; break; - case 'aquamarine': - $r = 0.498; $g = 1.0; $b = 0.831; break; - case 'azure': - $r = 0.941; $g = 1.0; $b = 1.0; break; - case 'beige': - $r = 0.961; $g = 0.961; $b = 0.863; break; - case 'bisque': - $r = 1.0; $g = 0.894; $b = 0.769; break; - case 'blanchedalmond': - $r = 1.0; $g = 1.0; $b = 0.804; break; - case 'blueviolet': - $r = 0.541; $g = 0.169; $b = 0.886; break; - case 'brown': - $r = 0.647; $g = 0.165; $b = 0.165; break; - case 'burlywood': - $r = 0.871; $g = 0.722; $b = 0.529; break; - case 'cadetblue': - $r = 0.373; $g = 0.620; $b = 0.627; break; - case 'chartreuse': - $r = 0.498; $g = 1.0; $b = 0.0; break; - case 'chocolate': - $r = 0.824; $g = 0.412; $b = 0.118; break; - case 'coral': - $r = 1.0; $g = 0.498; $b = 0.314; break; - case 'cornflowerblue': - $r = 0.392; $g = 0.584; $b = 0.929; break; - case 'cornsilk': - $r = 1.0; $g = 0.973; $b = 0.863; break; - case 'crimson': - $r = 0.863; $g = 0.078; $b = 0.235; break; - case 'cyan': - $r = 0.0; $g = 1.0; $b = 1.0; break; - case 'darkblue': - $r = 0.0; $g = 0.0; $b = 0.545; break; - case 'darkcyan': - $r = 0.0; $g = 0.545; $b = 0.545; break; - case 'darkgoldenrod': - $r = 0.722; $g = 0.525; $b = 0.043; break; - case 'darkgray': - $r = 0.663; $g = 0.663; $b = 0.663; break; - case 'darkgreen': - $r = 0.0; $g = 0.392; $b = 0.0; break; - case 'darkkhaki': - $r = 0.741; $g = 0.718; $b = 0.420; break; - case 'darkmagenta': - $r = 0.545; $g = 0.0; $b = 0.545; break; - case 'darkolivegreen': - $r = 0.333; $g = 0.420; $b = 0.184; break; - case 'darkorange': - $r = 1.0; $g = 0.549; $b = 0.0; break; - case 'darkorchid': - $r = 0.6; $g = 0.196; $b = 0.8; break; - case 'darkred': - $r = 0.545; $g = 0.0; $b = 0.0; break; - case 'darksalmon': - $r = 0.914; $g = 0.588; $b = 0.478; break; - case 'darkseagreen': - $r = 0.561; $g = 0.737; $b = 0.561; break; - case 'darkslateblue': - $r = 0.282; $g = 0.239; $b = 0.545; break; - case 'darkslategray': - $r = 0.184; $g = 0.310; $b = 0.310; break; - case 'darkturquoise': - $r = 0.0; $g = 0.808; $b = 0.820; break; - case 'darkviolet': - $r = 0.580; $g = 0.0; $b = 0.827; break; - case 'deeppink': - $r = 1.0; $g = 0.078; $b = 0.576; break; - case 'deepskyblue': - $r = 0.0; $g = 0.749; $b = 1.0; break; - case 'dimgray': - $r = 0.412; $g = 0.412; $b = 0.412; break; - case 'dodgerblue': - $r = 0.118; $g = 0.565; $b = 1.0; break; - case 'firebrick': - $r = 0.698; $g = 0.133; $b = 0.133; break; - case 'floralwhite': - $r = 1.0; $g = 0.980; $b = 0.941; break; - case 'forestgreen': - $r = 0.133; $g = 0.545; $b = 0.133; break; - case 'gainsboro': - $r = 0.863; $g = 0.863; $b = 0.863; break; - case 'ghostwhite': - $r = 0.973; $g = 0.973; $b = 1.0; break; - case 'gold': - $r = 1.0; $g = 0.843; $b = 0.0; break; - case 'goldenrod': - $r = 0.855; $g = 0.647; $b = 0.125; break; - case 'greenyellow': - $r = 0.678; $g = 1.0; $b = 0.184; break; - case 'honeydew': - $r = 0.941; $g = 1.0; $b = 0.941; break; - case 'hotpink': - $r = 1.0; $g = 0.412; $b = 0.706; break; - case 'indianred': - $r = 0.804; $g = 0.361; $b = 0.361; break; - case 'indigo': - $r = 0.294; $g = 0.0; $b = 0.510; break; - case 'ivory': - $r = 1.0; $g = 0.941; $b = 0.941; break; - case 'khaki': - $r = 0.941; $g = 0.902; $b = 0.549; break; - case 'lavender': - $r = 0.902; $g = 0.902; $b = 0.980; break; - case 'lavenderblush': - $r = 1.0; $g = 0.941; $b = 0.961; break; - case 'lawngreen': - $r = 0.486; $g = 0.988; $b = 0.0; break; - case 'lemonchiffon': - $r = 1.0; $g = 0.980; $b = 0.804; break; - case 'lightblue': - $r = 0.678; $g = 0.847; $b = 0.902; break; - case 'lightcoral': - $r = 0.941; $g = 0.502; $b = 0.502; break; - case 'lightcyan': - $r = 0.878; $g = 1.0; $b = 1.0; break; - case 'lightgoldenrodyellow': - $r = 0.980; $g = 0.980; $b = 0.824; break; - case 'lightgreen': - $r = 0.565; $g = 0.933; $b = 0.565; break; - case 'lightgrey': - $r = 0.827; $g = 0.827; $b = 0.827; break; - case 'lightpink': - $r = 1.0; $g = 0.714; $b = 0.757; break; - case 'lightsalmon': - $r = 1.0; $g = 0.627; $b = 0.478; break; - case 'lightseagreen': - $r = 0.125; $g = 0.698; $b = 0.667; break; - case 'lightskyblue': - $r = 0.529; $g = 0.808; $b = 0.980; break; - case 'lightslategray': - $r = 0.467; $g = 0.533; $b = 0.6; break; - case 'lightsteelblue': - $r = 0.690; $g = 0.769; $b = 0.871; break; - case 'lightyellow': - $r = 1.0; $g = 1.0; $b = 0.878; break; - case 'limegreen': - $r = 0.196; $g = 0.804; $b = 0.196; break; - case 'linen': - $r = 0.980; $g = 0.941; $b = 0.902; break; - case 'magenta': - $r = 1.0; $g = 0.0; $b = 1.0; break; - case 'mediumaquamarine': - $r = 0.4; $g = 0.804; $b = 0.667; break; - case 'mediumblue': - $r = 0.0; $g = 0.0; $b = 0.804; break; - case 'mediumorchid': - $r = 0.729; $g = 0.333; $b = 0.827; break; - case 'mediumpurple': - $r = 0.576; $g = 0.439; $b = 0.859; break; - case 'mediumseagreen': - $r = 0.235; $g = 0.702; $b = 0.443; break; - case 'mediumslateblue': - $r = 0.482; $g = 0.408; $b = 0.933; break; - case 'mediumspringgreen': - $r = 0.0; $g = 0.980; $b = 0.604; break; - case 'mediumturquoise': - $r = 0.282; $g = 0.820; $b = 0.8; break; - case 'mediumvioletred': - $r = 0.780; $g = 0.082; $b = 0.522; break; - case 'midnightblue': - $r = 0.098; $g = 0.098; $b = 0.439; break; - case 'mintcream': - $r = 0.961; $g = 1.0; $b = 0.980; break; - case 'mistyrose': - $r = 1.0; $g = 0.894; $b = 0.882; break; - case 'moccasin': - $r = 1.0; $g = 0.894; $b = 0.710; break; - case 'navajowhite': - $r = 1.0; $g = 0.871; $b = 0.678; break; - case 'oldlace': - $r = 0.992; $g = 0.961; $b = 0.902; break; - case 'olivedrab': - $r = 0.420; $g = 0.557; $b = 0.137; break; - case 'orange': - $r = 1.0; $g = 0.647; $b = 0.0; break; - case 'orangered': - $r = 1.0; $g = 0.271; $b = 0.0; break; - case 'orchid': - $r = 0.855; $g = 0.439; $b = 0.839; break; - case 'palegoldenrod': - $r = 0.933; $g = 0.910; $b = 0.667; break; - case 'palegreen': - $r = 0.596; $g = 0.984; $b = 0.596; break; - case 'paleturquoise': - $r = 0.686; $g = 0.933; $b = 0.933; break; - case 'palevioletred': - $r = 0.859; $g = 0.439; $b = 0.576; break; - case 'papayawhip': - $r = 1.0; $g = 0.937; $b = 0.835; break; - case 'peachpuff': - $r = 1.0; $g = 0.937; $b = 0.835; break; - case 'peru': - $r = 0.804; $g = 0.522; $b = 0.247; break; - case 'pink': - $r = 1.0; $g = 0.753; $b = 0.796; break; - case 'plum': - $r = 0.867; $g = 0.627; $b = 0.867; break; - case 'powderblue': - $r = 0.690; $g = 0.878; $b = 0.902; break; - case 'rosybrown': - $r = 0.737; $g = 0.561; $b = 0.561; break; - case 'royalblue': - $r = 0.255; $g = 0.412; $b = 0.882; break; - case 'saddlebrown': - $r = 0.545; $g = 0.271; $b = 0.075; break; - case 'salmon': - $r = 0.980; $g = 0.502; $b = 0.447; break; - case 'sandybrown': - $r = 0.957; $g = 0.643; $b = 0.376; break; - case 'seagreen': - $r = 0.180; $g = 0.545; $b = 0.341; break; - case 'seashell': - $r = 1.0; $g = 0.961; $b = 0.933; break; - case 'sienna': - $r = 0.627; $g = 0.322; $b = 0.176; break; - case 'skyblue': - $r = 0.529; $g = 0.808; $b = 0.922; break; - case 'slateblue': - $r = 0.416; $g = 0.353; $b = 0.804; break; - case 'slategray': - $r = 0.439; $g = 0.502; $b = 0.565; break; - case 'snow': - $r = 1.0; $g = 0.980; $b = 0.980; break; - case 'springgreen': - $r = 0.0; $g = 1.0; $b = 0.498; break; - case 'steelblue': - $r = 0.275; $g = 0.510; $b = 0.706; break; - case 'tan': - $r = 0.824; $g = 0.706; $b = 0.549; break; - case 'thistle': - $r = 0.847; $g = 0.749; $b = 0.847; break; - case 'tomato': - $r = 0.992; $g = 0.388; $b = 0.278; break; - case 'turquoise': - $r = 0.251; $g = 0.878; $b = 0.816; break; - case 'violet': - $r = 0.933; $g = 0.510; $b = 0.933; break; - case 'wheat': - $r = 0.961; $g = 0.871; $b = 0.702; break; - case 'whitesmoke': - $r = 0.961; $g = 0.961; $b = 0.961; break; - case 'yellowgreen': - $r = 0.604; $g = 0.804; $b = 0.196; break; - - default: - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Unknown color name: ' . $color); - } - if (($r == $g) && ($g == $b)) { - return new Zend_Pdf_Color_GrayScale($r); - } else { - return new Zend_Pdf_Color_Rgb($r, $g, $b); - } - } -} - diff --git a/lib/zend/Zend/Pdf/Color/Rgb.php b/lib/zend/Zend/Pdf/Color/Rgb.php deleted file mode 100644 index c1884626ef..0000000000 --- a/lib/zend/Zend/Pdf/Color/Rgb.php +++ /dev/null @@ -1,112 +0,0 @@ - 1) { $r = 1; } - - if ($g < 0) { $g = 0; } - if ($g > 1) { $g = 1; } - - if ($b < 0) { $b = 0; } - if ($b > 1) { $b = 1; } - - $this->_r = new Zend_Pdf_Element_Numeric($r); - $this->_g = new Zend_Pdf_Element_Numeric($g); - $this->_b = new Zend_Pdf_Element_Numeric($b); - } - - /** - * Instructions, which can be directly inserted into content stream - * to switch color. - * Color set instructions differ for stroking and nonstroking operations. - * - * @param boolean $stroking - * @return string - */ - public function instructions($stroking) - { - return $this->_r->toString() . ' ' - . $this->_g->toString() . ' ' - . $this->_b->toString() . ($stroking? " RG\n" : " rg\n"); - } - - /** - * Get color components (color space dependent) - * - * @return array - */ - public function getComponents() - { - return array($this->_r->value, $this->_g->value, $this->_b->value); - } -} - diff --git a/lib/zend/Zend/Pdf/Destination.php b/lib/zend/Zend/Pdf/Destination.php deleted file mode 100644 index 01d050e656..0000000000 --- a/lib/zend/Zend/Pdf/Destination.php +++ /dev/null @@ -1,113 +0,0 @@ -getType() == Zend_Pdf_Element::TYPE_NAME || $resource->getType() == Zend_Pdf_Element::TYPE_STRING) { - require_once 'Zend/Pdf/Destination/Named.php'; - return new Zend_Pdf_Destination_Named($resource); - } - - if ($resource->getType() != Zend_Pdf_Element::TYPE_ARRAY) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('An explicit destination must be a direct or an indirect array object.'); - } - if (count($resource->items) < 2) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('An explicit destination array must contain at least two elements.'); - } - - switch ($resource->items[1]->value) { - case 'XYZ': - require_once 'Zend/Pdf/Destination/Zoom.php'; - return new Zend_Pdf_Destination_Zoom($resource); - break; - - case 'Fit': - require_once 'Zend/Pdf/Destination/Fit.php'; - return new Zend_Pdf_Destination_Fit($resource); - break; - - case 'FitH': - require_once 'Zend/Pdf/Destination/FitHorizontally.php'; - return new Zend_Pdf_Destination_FitHorizontally($resource); - break; - - case 'FitV': - require_once 'Zend/Pdf/Destination/FitVertically.php'; - return new Zend_Pdf_Destination_FitVertically($resource); - break; - - case 'FitR': - require_once 'Zend/Pdf/Destination/FitRectangle.php'; - return new Zend_Pdf_Destination_FitRectangle($resource); - break; - - case 'FitB': - require_once 'Zend/Pdf/Destination/FitBoundingBox.php'; - return new Zend_Pdf_Destination_FitBoundingBox($resource); - break; - - case 'FitBH': - require_once 'Zend/Pdf/Destination/FitBoundingBoxHorizontally.php'; - return new Zend_Pdf_Destination_FitBoundingBoxHorizontally($resource); - break; - - case 'FitBV': - require_once 'Zend/Pdf/Destination/FitBoundingBoxVertically.php'; - return new Zend_Pdf_Destination_FitBoundingBoxVertically($resource); - break; - - default: - require_once 'Zend/Pdf/Destination/Unknown.php'; - return new Zend_Pdf_Destination_Unknown($resource); - break; - } - } -} diff --git a/lib/zend/Zend/Pdf/Destination/Explicit.php b/lib/zend/Zend/Pdf/Destination/Explicit.php deleted file mode 100644 index aa386056f0..0000000000 --- a/lib/zend/Zend/Pdf/Destination/Explicit.php +++ /dev/null @@ -1,121 +0,0 @@ -getType() != Zend_Pdf_Element::TYPE_ARRAY) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Explicit destination resource Array must be a direct or an indirect array object.'); - } - - $this->_destinationArray = $destinationArray; - - switch (count($this->_destinationArray->items)) { - case 0: - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Destination array must contain a page reference.'); - break; - - case 1: - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Destination array must contain a destination type name.'); - break; - - default: - // Do nothing - break; - } - - switch ($this->_destinationArray->items[0]->getType()) { - case Zend_Pdf_Element::TYPE_NUMERIC: - $this->_isRemote = true; - break; - - case Zend_Pdf_Element::TYPE_DICTIONARY: - $this->_isRemote = false; - break; - - default: - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Destination target must be a page number or page dictionary object.'); - break; - } - } - - /** - * Returns true if it's a remote destination - * - * @return boolean - */ - public function isRemote() - { - return $this->_isRemote; - } - - /** - * Get resource - * - * @internal - * @return Zend_Pdf_Element - */ - public function getResource() - { - return $this->_destinationArray; - } -} diff --git a/lib/zend/Zend/Pdf/Destination/Fit.php b/lib/zend/Zend/Pdf/Destination/Fit.php deleted file mode 100644 index b2cb51a706..0000000000 --- a/lib/zend/Zend/Pdf/Destination/Fit.php +++ /dev/null @@ -1,69 +0,0 @@ -items[] = $page->getPageDictionary(); - } else if (is_integer($page)) { - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($page); - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Page entry must be a Zend_Pdf_Page object or a page number.'); - } - - $destinationArray->items[] = new Zend_Pdf_Element_Name('Fit'); - - return new Zend_Pdf_Destination_Fit($destinationArray); - } -} diff --git a/lib/zend/Zend/Pdf/Destination/FitBoundingBox.php b/lib/zend/Zend/Pdf/Destination/FitBoundingBox.php deleted file mode 100644 index 1e4d50b715..0000000000 --- a/lib/zend/Zend/Pdf/Destination/FitBoundingBox.php +++ /dev/null @@ -1,69 +0,0 @@ -items[] = $page->getPageDictionary(); - } else if (is_integer($page)) { - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($page); - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Page entry must be a Zend_Pdf_Page object or a page number.'); - } - - $destinationArray->items[] = new Zend_Pdf_Element_Name('FitB'); - - return new Zend_Pdf_Destination_FitBoundingBox($destinationArray); - } -} diff --git a/lib/zend/Zend/Pdf/Destination/FitBoundingBoxHorizontally.php b/lib/zend/Zend/Pdf/Destination/FitBoundingBoxHorizontally.php deleted file mode 100644 index 9f10f46636..0000000000 --- a/lib/zend/Zend/Pdf/Destination/FitBoundingBoxHorizontally.php +++ /dev/null @@ -1,92 +0,0 @@ -items[] = $page->getPageDictionary(); - } else if (is_integer($page)) { - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($page); - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Page entry must be a Zend_Pdf_Page object or a page number.'); - } - - $destinationArray->items[] = new Zend_Pdf_Element_Name('FitBH'); - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($top); - - return new Zend_Pdf_Destination_FitBoundingBoxHorizontally($destinationArray); - } - - /** - * Get top edge of the displayed page - * - * @return float - */ - public function getTopEdge() - { - return $this->_destinationArray->items[2]->value; - } - - /** - * Set top edge of the displayed page - * - * @param float $top - * @return Zend_Pdf_Action_FitBoundingBoxHorizontally - */ - public function setTopEdge($top) - { - $this->_destinationArray->items[2] = new Zend_Pdf_Element_Numeric($top); - return $this; - } -} diff --git a/lib/zend/Zend/Pdf/Destination/FitBoundingBoxVertically.php b/lib/zend/Zend/Pdf/Destination/FitBoundingBoxVertically.php deleted file mode 100644 index 4724c0399e..0000000000 --- a/lib/zend/Zend/Pdf/Destination/FitBoundingBoxVertically.php +++ /dev/null @@ -1,93 +0,0 @@ -items[] = $page->getPageDictionary(); - } else if (is_integer($page)) { - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($page); - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Page entry must be a Zend_Pdf_Page object or a page number.'); - } - - $destinationArray->items[] = new Zend_Pdf_Element_Name('FitBV'); - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($left); - - return new Zend_Pdf_Destination_FitBoundingBoxVertically($destinationArray); - } - - /** - * Get left edge of the displayed page - * - * @return float - */ - public function getLeftEdge() - { - return $this->_destinationArray->items[2]->value; - } - - /** - * Set left edge of the displayed page - * - * @param float $left - * @return Zend_Pdf_Action_FitBoundingBoxVertically - */ - public function setLeftEdge($left) - { - $this->_destinationArray->items[2] = new Zend_Pdf_Element_Numeric($left); - return $this; - } - -} diff --git a/lib/zend/Zend/Pdf/Destination/FitHorizontally.php b/lib/zend/Zend/Pdf/Destination/FitHorizontally.php deleted file mode 100644 index 5a82dacfa7..0000000000 --- a/lib/zend/Zend/Pdf/Destination/FitHorizontally.php +++ /dev/null @@ -1,92 +0,0 @@ -items[] = $page->getPageDictionary(); - } else if (is_integer($page)) { - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($page); - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Page entry must be a Zend_Pdf_Page object or a page number.'); - } - - $destinationArray->items[] = new Zend_Pdf_Element_Name('FitH'); - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($top); - - return new Zend_Pdf_Destination_FitHorizontally($destinationArray); - } - - /** - * Get top edge of the displayed page - * - * @return float - */ - public function getTopEdge() - { - return $this->_destinationArray->items[2]->value; - } - - /** - * Set top edge of the displayed page - * - * @param float $top - * @return Zend_Pdf_Action_FitHorizontally - */ - public function setTopEdge($top) - { - $this->_destinationArray->items[2] = new Zend_Pdf_Element_Numeric($top); - - return $this; - } -} diff --git a/lib/zend/Zend/Pdf/Destination/FitRectangle.php b/lib/zend/Zend/Pdf/Destination/FitRectangle.php deleted file mode 100644 index 89be1d7f47..0000000000 --- a/lib/zend/Zend/Pdf/Destination/FitRectangle.php +++ /dev/null @@ -1,165 +0,0 @@ -items[] = $page->getPageDictionary(); - } else if (is_integer($page)) { - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($page); - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Page entry must be a Zend_Pdf_Page object or a page number.'); - } - - $destinationArray->items[] = new Zend_Pdf_Element_Name('FitR'); - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($left); - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($bottom); - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($right); - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($top); - - return new Zend_Pdf_Destination_FitRectangle($destinationArray); - } - - /** - * Get left edge of the displayed page - * - * @return float - */ - public function getLeftEdge() - { - return $this->_destinationArray->items[2]->value; - } - - /** - * Set left edge of the displayed page - * - * @param float $left - * @return Zend_Pdf_Action_FitRectangle - */ - public function setLeftEdge($left) - { - $this->_destinationArray->items[2] = new Zend_Pdf_Element_Numeric($left); - return $this; - } - - /** - * Get bottom edge of the displayed page - * - * @return float - */ - public function getBottomEdge() - { - return $this->_destinationArray->items[3]->value; - } - - /** - * Set bottom edge of the displayed page - * - * @param float $bottom - * @return Zend_Pdf_Action_FitRectangle - */ - public function setBottomEdge($bottom) - { - $this->_destinationArray->items[3] = new Zend_Pdf_Element_Numeric($bottom); - return $this; - } - - /** - * Get right edge of the displayed page - * - * @return float - */ - public function getRightEdge() - { - return $this->_destinationArray->items[4]->value; - } - - /** - * Set right edge of the displayed page - * - * @param float $right - * @return Zend_Pdf_Action_FitRectangle - */ - public function setRightEdge($right) - { - $this->_destinationArray->items[4] = new Zend_Pdf_Element_Numeric($right); - return $this; - } - - /** - * Get top edge of the displayed page - * - * @return float - */ - public function getTopEdge() - { - return $this->_destinationArray->items[5]->value; - } - - /** - * Set top edge of the displayed page - * - * @param float $top - * @return Zend_Pdf_Action_FitRectangle - */ - public function setTopEdge($top) - { - $this->_destinationArray->items[5] = new Zend_Pdf_Element_Numeric($top); - return $this; - } -} diff --git a/lib/zend/Zend/Pdf/Destination/FitVertically.php b/lib/zend/Zend/Pdf/Destination/FitVertically.php deleted file mode 100644 index b6522aca74..0000000000 --- a/lib/zend/Zend/Pdf/Destination/FitVertically.php +++ /dev/null @@ -1,92 +0,0 @@ -items[] = $page->getPageDictionary(); - } else if (is_integer($page)) { - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($page); - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Page entry must be a Zend_Pdf_Page object or page number.'); - } - - $destinationArray->items[] = new Zend_Pdf_Element_Name('FitV'); - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($left); - - return new Zend_Pdf_Destination_FitVertically($destinationArray); - } - - /** - * Get left edge of the displayed page - * - * @return float - */ - public function getLeftEdge() - { - return $this->_destinationArray->items[2]->value; - } - - /** - * Set left edge of the displayed page - * - * @param float $left - * @return Zend_Pdf_Action_FitVertically - */ - public function setLeftEdge($left) - { - $this->_destinationArray->items[2] = new Zend_Pdf_Element_Numeric($left); - - return $this; - } -} diff --git a/lib/zend/Zend/Pdf/Destination/Named.php b/lib/zend/Zend/Pdf/Destination/Named.php deleted file mode 100644 index 7a405d0045..0000000000 --- a/lib/zend/Zend/Pdf/Destination/Named.php +++ /dev/null @@ -1,97 +0,0 @@ -getType() != Zend_Pdf_Element::TYPE_NAME && $resource->getType() != Zend_Pdf_Element::TYPE_STRING) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Named destination resource must be a PDF name or a PDF string.'); - } - - $this->_nameElement = $resource; - } - - /** - * Create named destination object - * - * @param string $name - * @return Zend_Pdf_Destination_Named - */ - public static function create($name) - { - return new Zend_Pdf_Destination_Named(new Zend_Pdf_Element_String($name)); - } - - /** - * Get name - * - * @return Zend_Pdf_Element - */ - public function getName() - { - return $this->_nameElement->value; - } - - /** - * Get resource - * - * @internal - * @return Zend_Pdf_Element - */ - public function getResource() - { - return $this->_nameElement; - } -} diff --git a/lib/zend/Zend/Pdf/Destination/Unknown.php b/lib/zend/Zend/Pdf/Destination/Unknown.php deleted file mode 100644 index bb4cbcb8b6..0000000000 --- a/lib/zend/Zend/Pdf/Destination/Unknown.php +++ /dev/null @@ -1,37 +0,0 @@ -items[] = $page->getPageDictionary(); - } else if (is_integer($page)) { - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($page); - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Page entry must be a Zend_Pdf_Page object or a page number.'); - } - - $destinationArray->items[] = new Zend_Pdf_Element_Name('XYZ'); - - if ($left === null) { - $destinationArray->items[] = new Zend_Pdf_Element_Null(); - } else { - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($left); - } - - if ($top === null) { - $destinationArray->items[] = new Zend_Pdf_Element_Null(); - } else { - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($top); - } - - if ($zoom === null) { - $destinationArray->items[] = new Zend_Pdf_Element_Null(); - } else { - $destinationArray->items[] = new Zend_Pdf_Element_Numeric($zoom); - } - - return new Zend_Pdf_Destination_Zoom($destinationArray); - } - - /** - * Get left edge of the displayed page (null means viewer application 'current value') - * - * @return float - */ - public function getLeftEdge() - { - return $this->_destinationArray->items[2]->value; - } - - /** - * Set left edge of the displayed page (null means viewer application 'current value') - * - * @param float $left - * @return Zend_Pdf_Action_Zoom - */ - public function setLeftEdge($left) - { - if ($left === null) { - $this->_destinationArray->items[2] = new Zend_Pdf_Element_Null(); - } else { - $this->_destinationArray->items[2] = new Zend_Pdf_Element_Numeric($left); - } - - return $this; - } - - /** - * Get top edge of the displayed page (null means viewer application 'current value') - * - * @return float - */ - public function getTopEdge() - { - return $this->_destinationArray->items[3]->value; - } - - /** - * Set top edge of the displayed page (null means viewer application 'current viewer') - * - * @param float $top - * @return Zend_Pdf_Action_Zoom - */ - public function setTopEdge($top) - { - if ($top === null) { - $this->_destinationArray->items[3] = new Zend_Pdf_Element_Null(); - } else { - $this->_destinationArray->items[3] = new Zend_Pdf_Element_Numeric($top); - } - - return $this; - } - - /** - * Get ZoomFactor of the displayed page (null or 0 means viewer application 'current value') - * - * @return float - */ - public function getZoomFactor() - { - return $this->_destinationArray->items[4]->value; - } - - /** - * Set ZoomFactor of the displayed page (null or 0 means viewer application 'current viewer') - * - * @param float $zoom - * @return Zend_Pdf_Action_Zoom - */ - public function setZoomFactor($zoom) - { - if ($zoom === null) { - $this->_destinationArray->items[4] = new Zend_Pdf_Element_Null(); - } else { - $this->_destinationArray->items[4] = new Zend_Pdf_Element_Numeric($zoom); - } - - return $this; - } -} diff --git a/lib/zend/Zend/Pdf/Element.php b/lib/zend/Zend/Pdf/Element.php deleted file mode 100644 index e2ff63264d..0000000000 --- a/lib/zend/Zend/Pdf/Element.php +++ /dev/null @@ -1,158 +0,0 @@ -_parentObject = $parent; - } - - - /** - * Get top level parent indirect object. - * - * @return Zend_Pdf_Element_Object - */ - public function getParentObject() - { - return $this->_parentObject; - } - - - /** - * Mark object as modified, to include it into new PDF file segment. - * - * We don't automate this action to keep control on PDF update process. - * All new objects are treated as "modified" automatically. - */ - public function touch() - { - if ($this->_parentObject !== null) { - $this->_parentObject->touch(); - } - } - - /** - * Clean up resources, used by object - */ - public function cleanUp() - { - // Do nothing - } - - /** - * Convert PDF element to PHP type. - * - * @return mixed - */ - public function toPhp() - { - return $this->value; - } - - /** - * Convert PHP value into PDF element. - * - * @param mixed $input - * @return Zend_Pdf_Element - */ - public static function phpToPdf($input) - { - if (is_numeric($input)) { - return new Zend_Pdf_Element_Numeric($input); - } else if (is_bool($input)) { - return new Zend_Pdf_Element_Boolean($input); - } else if (is_array($input)) { - $pdfElementsArray = array(); - $isDictionary = false; - - foreach ($input as $key => $value) { - if (is_string($key)) { - $isDictionary = true; - } - $pdfElementsArray[$key] = Zend_Pdf_Element::phpToPdf($value); - } - - if ($isDictionary) { - return new Zend_Pdf_Element_Dictionary($pdfElementsArray); - } else { - return new Zend_Pdf_Element_Array($pdfElementsArray); - } - } else { - return new Zend_Pdf_Element_String((string)$input); - } - } -} - diff --git a/lib/zend/Zend/Pdf/Element/Array.php b/lib/zend/Zend/Pdf/Element/Array.php deleted file mode 100644 index 2f87b35293..0000000000 --- a/lib/zend/Zend/Pdf/Element/Array.php +++ /dev/null @@ -1,146 +0,0 @@ -items = new ArrayObject(); - - if ($val !== null && is_array($val)) { - foreach ($val as $element) { - if (!$element instanceof Zend_Pdf_Element) { - throw new Zend_Pdf_Exception('Array elements must be Zend_Pdf_Element objects'); - } - $this->items[] = $element; - } - } else if ($val !== null){ - throw new Zend_Pdf_Exception('Argument must be an array'); - } - } - - - /** - * Getter - * - * @param string $property - * @throws Zend_Pdf_Exception - */ - public function __get($property) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Undefined property: Zend_Pdf_Element_Array::$' . $property); - } - - - /** - * Setter - * - * @param mixed $offset - * @param mixed $value - * @throws Zend_Pdf_Exception - */ - public function __set($property, $value) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Undefined property: Zend_Pdf_Element_Array::$' . $property); - } - - /** - * Return type of the element. - * - * @return integer - */ - public function getType() - { - return Zend_Pdf_Element::TYPE_ARRAY; - } - - - /** - * Return object as string - * - * @param Zend_Pdf_Factory $factory - * @return string - */ - public function toString($factory = null) - { - $outStr = '['; - $lastNL = 0; - - foreach ($this->items as $element) { - if (strlen($outStr) - $lastNL > 128) { - $outStr .= "\n"; - $lastNL = strlen($outStr); - } - - $outStr .= $element->toString($factory) . ' '; - } - $outStr .= ']'; - - return $outStr; - } - - /** - * Convert PDF element to PHP type. - * - * Dictionary is returned as an associative array - * - * @return mixed - */ - public function toPhp() - { - $phpArray = array(); - - foreach ($this->items as $item) { - $phpArray[] = $item->toPhp(); - } - - return $phpArray; - } -} diff --git a/lib/zend/Zend/Pdf/Element/Boolean.php b/lib/zend/Zend/Pdf/Element/Boolean.php deleted file mode 100644 index d0c4549044..0000000000 --- a/lib/zend/Zend/Pdf/Element/Boolean.php +++ /dev/null @@ -1,82 +0,0 @@ -value = $val; - } - - - /** - * Return type of the element. - * - * @return integer - */ - public function getType() - { - return Zend_Pdf_Element::TYPE_BOOL; - } - - - /** - * Return object as string - * - * @param Zend_Pdf_Factory $factory - * @return string - */ - public function toString($factory = null) - { - return $this->value ? 'true' : 'false'; - } -} diff --git a/lib/zend/Zend/Pdf/Element/Dictionary.php b/lib/zend/Zend/Pdf/Element/Dictionary.php deleted file mode 100644 index 0be6c25f6a..0000000000 --- a/lib/zend/Zend/Pdf/Element/Dictionary.php +++ /dev/null @@ -1,182 +0,0 @@ - Zend_Pdf_Element) - * - * @var array - */ - private $_items = array(); - - - /** - * Object constructor - * - * @param array $val - array of Zend_Pdf_Element objects - * @throws Zend_Pdf_Exception - */ - public function __construct($val = null) - { - if ($val === null) { - return; - } else if (!is_array($val)) { - throw new Zend_Pdf_Exception('Argument must be an array'); - } - - foreach ($val as $name => $element) { - if (!$element instanceof Zend_Pdf_Element) { - throw new Zend_Pdf_Exception('Array elements must be Zend_Pdf_Element objects'); - } - if (!is_string($name)) { - throw new Zend_Pdf_Exception('Array keys must be strings'); - } - $this->_items[$name] = $element; - } - } - - - /** - * Add element to an array - * - * @name Zend_Pdf_Element_Name $name - * @param Zend_Pdf_Element $val - Zend_Pdf_Element object - * @throws Zend_Pdf_Exception - */ - public function add(Zend_Pdf_Element_Name $name, Zend_Pdf_Element $val) - { - $this->_items[$name->value] = $val; - } - - /** - * Return dictionary keys - * - * @return array - */ - public function getKeys() - { - return array_keys($this->_items); - } - - - /** - * Get handler - * - * @param string $property - * @return Zend_Pdf_Element | null - */ - public function __get($item) - { - $element = isset($this->_items[$item]) ? $this->_items[$item] - : null; - - return $element; - } - - /** - * Set handler - * - * @param string $property - * @param mixed $value - */ - public function __set($item, $value) - { - if ($value === null) { - unset($this->_items[$item]); - } else { - $this->_items[$item] = $value; - } - } - - /** - * Return type of the element. - * - * @return integer - */ - public function getType() - { - return Zend_Pdf_Element::TYPE_DICTIONARY; - } - - - /** - * Return object as string - * - * @param Zend_Pdf_Factory $factory - * @return string - */ - public function toString($factory = null) - { - $outStr = '<<'; - $lastNL = 0; - - foreach ($this->_items as $name => $element) { - if (!is_object($element)) { - throw new Zend_Pdf_Exception('Wrong data'); - } - - if (strlen($outStr) - $lastNL > 128) { - $outStr .= "\n"; - $lastNL = strlen($outStr); - } - - $nameObj = new Zend_Pdf_Element_Name($name); - $outStr .= $nameObj->toString($factory) . ' ' . $element->toString($factory) . ' '; - } - $outStr .= '>>'; - - return $outStr; - } - - - /** - * Convert PDF element to PHP type. - * - * Dictionary is returned as an associative array - * - * @return mixed - */ - public function toPhp() - { - $phpArray = array(); - - foreach ($this->_items as $itemName => $item) { - $phpArray[$itemName] = $item->toPhp(); - } - - return $phpArray; - } -} diff --git a/lib/zend/Zend/Pdf/Element/Name.php b/lib/zend/Zend/Pdf/Element/Name.php deleted file mode 100644 index 31312886b9..0000000000 --- a/lib/zend/Zend/Pdf/Element/Name.php +++ /dev/null @@ -1,160 +0,0 @@ -value = (string)$val; - } - - - /** - * Return type of the element. - * - * @return integer - */ - public function getType() - { - return Zend_Pdf_Element::TYPE_NAME; - } - - - /** - * Escape string according to the PDF rules - * - * @param string $inStr - * @return string - */ - public static function escape($inStr) - { - $outStr = ''; - - for ($count = 0; $count < strlen($inStr); $count++) { - $nextCode = ord($inStr[$count]); - - switch ($inStr[$count]) { - case '(': - // fall through to next case - case ')': - // fall through to next case - case '<': - // fall through to next case - case '>': - // fall through to next case - case '[': - // fall through to next case - case ']': - // fall through to next case - case '{': - // fall through to next case - case '}': - // fall through to next case - case '/': - // fall through to next case - case '%': - // fall through to next case - case '\\': - // fall through to next case - case '#': - $outStr .= sprintf('#%02X', $nextCode); - break; - - default: - if ($nextCode >= 33 && $nextCode <= 126 ) { - // Visible ASCII symbol - $outStr .= $inStr[$count]; - } else { - $outStr .= sprintf('#%02X', $nextCode); - } - } - - } - - return $outStr; - } - - - /** - * Unescape string according to the PDF rules - * - * @param string $inStr - * @return string - */ - public static function unescape($inStr) - { - $outStr = ''; - - for ($count = 0; $count < strlen($inStr); $count++) { - if ($inStr[$count] != '#' ) { - $outStr .= $inStr[$count]; - } else { - // Escape sequence - $outStr .= chr(base_convert(substr($inStr, $count+1, 2), 16, 10 )); - $count +=2; - } - } - return $outStr; - } - - - /** - * Return object as string - * - * @param Zend_Pdf_Factory $factory - * @return string - */ - public function toString($factory = null) - { - return '/' . self::escape((string)$this->value); - } -} diff --git a/lib/zend/Zend/Pdf/Element/Null.php b/lib/zend/Zend/Pdf/Element/Null.php deleted file mode 100644 index 393bc533d5..0000000000 --- a/lib/zend/Zend/Pdf/Element/Null.php +++ /dev/null @@ -1,75 +0,0 @@ -value = null; - } - - - /** - * Return type of the element. - * - * @return integer - */ - public function getType() - { - return Zend_Pdf_Element::TYPE_NULL; - } - - - /** - * Return object as string - * - * @param Zend_Pdf_Factory $factory - * @return string - */ - public function toString($factory = null) - { - return 'null'; - } -} diff --git a/lib/zend/Zend/Pdf/Element/Numeric.php b/lib/zend/Zend/Pdf/Element/Numeric.php deleted file mode 100644 index b8d1fc2f51..0000000000 --- a/lib/zend/Zend/Pdf/Element/Numeric.php +++ /dev/null @@ -1,95 +0,0 @@ -value = $val; - } - - - /** - * Return type of the element. - * - * @return integer - */ - public function getType() - { - return Zend_Pdf_Element::TYPE_NUMERIC; - } - - - /** - * Return object as string - * - * @param Zend_Pdf_Factory $factory - * @return string - */ - public function toString($factory = null) - { - if (is_integer($this->value)) { - return (string)$this->value; - } - - /** - * PDF doesn't support exponental format. - * Fixed point format must be used instead - */ - $prec = 0; $v = $this->value; - while (abs( floor($v) - $v ) > 1e-10) { - $prec++; $v *= 10; - } - return sprintf("%.{$prec}F", $this->value); - } -} diff --git a/lib/zend/Zend/Pdf/Element/Object.php b/lib/zend/Zend/Pdf/Element/Object.php deleted file mode 100644 index 85d80c9e76..0000000000 --- a/lib/zend/Zend/Pdf/Element/Object.php +++ /dev/null @@ -1,250 +0,0 @@ - 0) ) { - throw new Zend_Pdf_Exception('Object number must be positive integer.'); - } - - if ( !(is_integer($genNum) && $genNum >= 0) ) { - throw new Zend_Pdf_Exception('Generation number must be non-negative integer.'); - } - - $this->_value = $val; - $this->_objNum = $objNum; - $this->_genNum = $genNum; - $this->_factory = $factory; - - $this->setParentObject($this); - - $factory->registerObject($this, $objNum . ' ' . $genNum); - } - - - /** - * Check, that object is generated by specified factory - * - * @return Zend_Pdf_ElementFactory - */ - public function getFactory() - { - return $this->_factory; - } - - /** - * Return type of the element. - * - * @return integer - */ - public function getType() - { - return $this->_value->getType(); - } - - - /** - * Get object number - * - * @return integer - */ - public function getObjNum() - { - return $this->_objNum; - } - - - /** - * Get generation number - * - * @return integer - */ - public function getGenNum() - { - return $this->_genNum; - } - - - /** - * Return reference to the object - * - * @param Zend_Pdf_Factory $factory - * @return string - */ - public function toString($factory = null) - { - if ($factory === null) { - $shift = 0; - } else { - $shift = $factory->getEnumerationShift($this->_factory); - } - - return $this->_objNum + $shift . ' ' . $this->_genNum . ' R'; - } - - - /** - * Dump object to a string to save within PDF file. - * - * $factory parameter defines operation context. - * - * @param Zend_Pdf_ElementFactory $factory - * @return string - */ - public function dump(Zend_Pdf_ElementFactory $factory) - { - $shift = $factory->getEnumerationShift($this->_factory); - - return $this->_objNum + $shift . " " . $this->_genNum . " obj \n" - . $this->_value->toString($factory) . "\n" - . "endobj\n"; - } - - /** - * Get handler - * - * @param string $property - * @return mixed - */ - public function __get($property) - { - return $this->_value->$property; - } - - /** - * Set handler - * - * @param string $property - * @param mixed $value - */ - public function __set($property, $value) - { - $this->_value->$property = $value; - } - - /** - * Call handler - * - * @param string $method - * @param array $args - * @return mixed - */ - public function __call($method, $args) - { - return call_user_func_array(array($this->_value, $method), $args); - } - - - /** - * Mark object as modified, to include it into new PDF file segment - */ - public function touch() - { - $this->_factory->markAsModified($this); - } - - /** - * Return object, which can be used to identify object and its references identity - * - * @return Zend_Pdf_Element_Object - */ - public function getObject() - { - return $this; - } - - /** - * Clean up resources, used by object - */ - public function cleanUp() - { - $this->_value = null; - } - - /** - * Convert PDF element to PHP type. - * - * @return mixed - */ - public function toPhp() - { - return $this->_value->toPhp(); - } -} diff --git a/lib/zend/Zend/Pdf/Element/Object/Stream.php b/lib/zend/Zend/Pdf/Element/Object/Stream.php deleted file mode 100644 index 4d9555c7ff..0000000000 --- a/lib/zend/Zend/Pdf/Element/Object/Stream.php +++ /dev/null @@ -1,410 +0,0 @@ -_dictionary = new Zend_Pdf_Element_Dictionary(); - $this->_dictionary->Length = new Zend_Pdf_Element_Numeric(strlen( $val )); - $this->_streamDecoded = true; - } else { - $this->_dictionary = $dictionary; - $this->_streamDecoded = false; - } - } - - - /** - * Store original dictionary information in $_originalDictionary class member. - * Used to store information and to normalize filters information before defiltering. - * - */ - private function _storeOriginalDictionary() - { - $this->_originalDictionary = array(); - - $this->_originalDictionary['Filter'] = array(); - $this->_originalDictionary['DecodeParms'] = array(); - if ($this->_dictionary->Filter === null) { - // Do nothing. - } else if ($this->_dictionary->Filter->getType() == Zend_Pdf_Element::TYPE_ARRAY) { - foreach ($this->_dictionary->Filter->items as $id => $filter) { - $this->_originalDictionary['Filter'][$id] = $filter->value; - $this->_originalDictionary['DecodeParms'][$id] = array(); - - if ($this->_dictionary->DecodeParms !== null ) { - if ($this->_dictionary->DecodeParms->items[$id] !== null && - $this->_dictionary->DecodeParms->items[$id]->value !== null ) { - foreach ($this->_dictionary->DecodeParms->items[$id]->getKeys() as $paramKey) { - $this->_originalDictionary['DecodeParms'][$id][$paramKey] = - $this->_dictionary->DecodeParms->items[$id]->$paramKey->value; - } - } - } - } - } else if ($this->_dictionary->Filter->getType() != Zend_Pdf_Element::TYPE_NULL) { - $this->_originalDictionary['Filter'][0] = $this->_dictionary->Filter->value; - $this->_originalDictionary['DecodeParms'][0] = array(); - if ($this->_dictionary->DecodeParms !== null ) { - foreach ($this->_dictionary->DecodeParms->getKeys() as $paramKey) { - $this->_originalDictionary['DecodeParms'][0][$paramKey] = - $this->_dictionary->DecodeParms->$paramKey->value; - } - } - } - - if ($this->_dictionary->F !== null) { - $this->_originalDictionary['F'] = $this->_dictionary->F->value; - } - - $this->_originalDictionary['FFilter'] = array(); - $this->_originalDictionary['FDecodeParms'] = array(); - if ($this->_dictionary->FFilter === null) { - // Do nothing. - } else if ($this->_dictionary->FFilter->getType() == Zend_Pdf_Element::TYPE_ARRAY) { - foreach ($this->_dictionary->FFilter->items as $id => $filter) { - $this->_originalDictionary['FFilter'][$id] = $filter->value; - $this->_originalDictionary['FDecodeParms'][$id] = array(); - - if ($this->_dictionary->FDecodeParms !== null ) { - if ($this->_dictionary->FDecodeParms->items[$id] !== null && - $this->_dictionary->FDecodeParms->items[$id]->value !== null) { - foreach ($this->_dictionary->FDecodeParms->items[$id]->getKeys() as $paramKey) { - $this->_originalDictionary['FDecodeParms'][$id][$paramKey] = - $this->_dictionary->FDecodeParms->items[$id]->items[$paramKey]->value; - } - } - } - } - } else { - $this->_originalDictionary['FFilter'][0] = $this->_dictionary->FFilter->value; - $this->_originalDictionary['FDecodeParms'][0] = array(); - if ($this->_dictionary->FDecodeParms !== null ) { - foreach ($this->_dictionary->FDecodeParms->getKeys() as $paramKey) { - $this->_originalDictionary['FDecodeParms'][0][$paramKey] = - $this->_dictionary->FDecodeParms->items[$paramKey]->value; - } - } - } - } - - /** - * Decode stream - * - * @throws Zend_Pdf_Exception - */ - private function _decodeStream() - { - if ($this->_originalDictionary === null) { - $this->_storeOriginalDictionary(); - } - - /** - * All applied stream filters must be processed to decode stream. - * If we don't recognize any of applied filetrs an exception should be thrown here - */ - if (isset($this->_originalDictionary['F'])) { - /** @todo Check, how external files can be processed. */ - throw new Zend_Pdf_Exception('External filters are not supported now.'); - } - - foreach ($this->_originalDictionary['Filter'] as $id => $filterName ) { - $valueRef = &$this->_value->value->getRef(); - $this->_value->value->touch(); - switch ($filterName) { - case 'ASCIIHexDecode': - $valueRef = Zend_Pdf_Filter_AsciiHex::decode($valueRef); - break; - - case 'ASCII85Decode': - $valueRef = Zend_Pdf_Filter_Ascii85::decode($valueRef); - break; - - case 'FlateDecode': - $valueRef = Zend_Pdf_Filter_Compression_Flate::decode($valueRef, - $this->_originalDictionary['DecodeParms'][$id]); - break; - - case 'LZWDecode': - $valueRef = Zend_Pdf_Filter_Compression_Lzw::decode($valueRef, - $this->_originalDictionary['DecodeParms'][$id]); - break; - - default: - throw new Zend_Pdf_Exception('Unknown stream filter: \'' . $filterName . '\'.'); - } - } - - $this->_streamDecoded = true; - } - - /** - * Encode stream - * - * @throws Zend_Pdf_Exception - */ - private function _encodeStream() - { - /** - * All applied stream filters must be processed to encode stream. - * If we don't recognize any of applied filetrs an exception should be thrown here - */ - if (isset($this->_originalDictionary['F'])) { - /** @todo Check, how external files can be processed. */ - throw new Zend_Pdf_Exception('External filters are not supported now.'); - } - - $filters = array_reverse($this->_originalDictionary['Filter'], true); - - foreach ($filters as $id => $filterName ) { - $valueRef = &$this->_value->value->getRef(); - $this->_value->value->touch(); - switch ($filterName) { - case 'ASCIIHexDecode': - $valueRef = Zend_Pdf_Filter_AsciiHex::encode($valueRef); - break; - - case 'ASCII85Decode': - $valueRef = Zend_Pdf_Filter_Ascii85::encode($valueRef); - break; - - case 'FlateDecode': - $valueRef = Zend_Pdf_Filter_Compression_Flate::encode($valueRef, - $this->_originalDictionary['DecodeParms'][$id]); - break; - - case 'LZWDecode': - $valueRef = Zend_Pdf_Filter_Compression_Lzw::encode($valueRef, - $this->_originalDictionary['DecodeParms'][$id]); - break; - - default: - throw new Zend_Pdf_Exception('Unknown stream filter: \'' . $filterName . '\'.'); - } - } - - $this->_streamDecoded = false; - } - - /** - * Get handler - * - * @param string $property - * @return mixed - * @throws Zend_Pdf_Exception - */ - public function __get($property) - { - if ($property == 'dictionary') { - /** - * If stream is note decoded yet, then store original decoding options (do it only once). - */ - if (( !$this->_streamDecoded ) && ($this->_originalDictionary === null)) { - $this->_storeOriginalDictionary(); - } - - return $this->_dictionary; - } - - if ($property == 'value') { - if (!$this->_streamDecoded) { - $this->_decodeStream(); - } - - return $this->_value->value->getRef(); - } - - throw new Zend_Pdf_Exception('Unknown stream object property requested.'); - } - - - /** - * Set handler - * - * @param string $property - * @param mixed $value - */ - public function __set($property, $value) - { - if ($property == 'value') { - $valueRef = &$this->_value->value->getRef(); - $valueRef = $value; - $this->_value->value->touch(); - - $this->_streamDecoded = true; - - return; - } - - throw new Zend_Pdf_Exception('Unknown stream object property: \'' . $property . '\'.'); - } - - - /** - * Treat stream data as already encoded - */ - public function skipFilters() - { - $this->_streamDecoded = false; - } - - - /** - * Call handler - * - * @param string $method - * @param array $args - * @return mixed - */ - public function __call($method, $args) - { - if (!$this->_streamDecoded) { - $this->_decodeStream(); - } - - switch (count($args)) { - case 0: - return $this->_value->$method(); - case 1: - return $this->_value->$method($args[0]); - default: - throw new Zend_Pdf_Exception('Unsupported number of arguments'); - } - } - - /** - * Dump object to a string to save within PDF file - * - * $factory parameter defines operation context. - * - * @param Zend_Pdf_ElementFactory $factory - * @return string - */ - public function dump(Zend_Pdf_ElementFactory $factory) - { - $shift = $factory->getEnumerationShift($this->_factory); - - if ($this->_streamDecoded) { - $this->_storeOriginalDictionary(); - $this->_encodeStream(); - } else if ($this->_originalDictionary != null) { - $startDictionary = $this->_originalDictionary; - $this->_storeOriginalDictionary(); - $newDictionary = $this->_originalDictionary; - - if ($startDictionary !== $newDictionary) { - $this->_originalDictionary = $startDictionary; - $this->_decodeStream(); - - $this->_originalDictionary = $newDictionary; - $this->_encodeStream(); - } - } - - // Update stream length - $this->dictionary->Length->value = $this->_value->length(); - - return $this->_objNum + $shift . " " . $this->_genNum . " obj \n" - . $this->dictionary->toString($factory) . "\n" - . $this->_value->toString($factory) . "\n" - . "endobj\n"; - } - - /** - * Clean up resources, used by object - */ - public function cleanUp() - { - $this->_dictionary = null; - $this->_value = null; - } -} diff --git a/lib/zend/Zend/Pdf/Element/Reference.php b/lib/zend/Zend/Pdf/Element/Reference.php deleted file mode 100644 index 019a620499..0000000000 --- a/lib/zend/Zend/Pdf/Element/Reference.php +++ /dev/null @@ -1,280 +0,0 @@ - 0) ) { - throw new Zend_Pdf_Exception('Object number must be positive integer'); - } - if ( !(is_integer($genNum) && $genNum >= 0) ) { - throw new Zend_Pdf_Exception('Generation number must be non-negative integer'); - } - - $this->_objNum = $objNum; - $this->_genNum = $genNum; - $this->_ref = null; - $this->_context = $context; - $this->_factory = $factory; - } - - /** - * Check, that object is generated by specified factory - * - * @return Zend_Pdf_ElementFactory - */ - public function getFactory() - { - return $this->_factory; - } - - - /** - * Return type of the element. - * - * @return integer - */ - public function getType() - { - if ($this->_ref === null) { - $this->_dereference(); - } - - return $this->_ref->getType(); - } - - - /** - * Return reference to the object - * - * @param Zend_Pdf_Factory $factory - * @return string - */ - public function toString($factory = null) - { - if ($factory === null) { - $shift = 0; - } else { - $shift = $factory->getEnumerationShift($this->_factory); - } - - return $this->_objNum + $shift . ' ' . $this->_genNum . ' R'; - } - - - /** - * Dereference. - * Take inderect object, take $value member of this object (must be Zend_Pdf_Element), - * take reference to the $value member of this object and assign it to - * $value member of current PDF Reference object - * $obj can be null - * - * @throws Zend_Pdf_Exception - */ - private function _dereference() - { - if (($obj = $this->_factory->fetchObject($this->_objNum . ' ' . $this->_genNum)) === null) { - $obj = $this->_context->getParser()->getObject( - $this->_context->getRefTable()->getOffset($this->_objNum . ' ' . $this->_genNum . ' R'), - $this->_context - ); - } - - if ($obj === null ) { - $this->_ref = new Zend_Pdf_Element_Null(); - return; - } - - if ($obj->toString() != $this->_objNum . ' ' . $this->_genNum . ' R') { - throw new Zend_Pdf_Exception('Incorrect reference to the object'); - } - - $this->_ref = $obj; - } - - /** - * Mark object as modified, to include it into new PDF file segment. - */ - public function touch() - { - if ($this->_ref === null) { - $this->_dereference(); - } - - $this->_ref->touch(); - } - - /** - * Return object, which can be used to identify object and its references identity - * - * @return Zend_Pdf_Element_Object - */ - public function getObject() - { - if ($this->_ref === null) { - $this->_dereference(); - } - - return $this->_ref; - } - - /** - * Get handler - * - * @param string $property - * @return mixed - */ - public function __get($property) - { - if ($this->_ref === null) { - $this->_dereference(); - } - - return $this->_ref->$property; - } - - /** - * Set handler - * - * @param string $property - * @param mixed $value - */ - public function __set($property, $value) - { - if ($this->_ref === null) { - $this->_dereference(); - } - - $this->_ref->$property = $value; - } - - /** - * Call handler - * - * @param string $method - * @param array $args - * @return mixed - */ - public function __call($method, $args) - { - if ($this->_ref === null) { - $this->_dereference(); - } - - return call_user_func_array(array($this->_ref, $method), $args); - } - - /** - * Clean up resources - */ - public function cleanUp() - { - $this->_ref = null; - } - - /** - * Convert PDF element to PHP type. - * - * @return mixed - */ - public function toPhp() - { - if ($this->_ref === null) { - $this->_dereference(); - } - - return $this->_ref->toPhp(); - } -} diff --git a/lib/zend/Zend/Pdf/Element/Reference/Context.php b/lib/zend/Zend/Pdf/Element/Reference/Context.php deleted file mode 100644 index 1920ab7312..0000000000 --- a/lib/zend/Zend/Pdf/Element/Reference/Context.php +++ /dev/null @@ -1,90 +0,0 @@ -_stringParser = $parser; - $this->_refTable = $refTable; - } - - - /** - * Context parser - * - * @return Zend_Pdf_StringParser - */ - public function getParser() - { - return $this->_stringParser; - } - - - /** - * Context reference table - * - * @return Zend_Pdf_Element_Reference_Table - */ - public function getRefTable() - { - return $this->_refTable; - } -} - diff --git a/lib/zend/Zend/Pdf/Element/Reference/Table.php b/lib/zend/Zend/Pdf/Element/Reference/Table.php deleted file mode 100644 index e57901ee34..0000000000 --- a/lib/zend/Zend/Pdf/Element/Reference/Table.php +++ /dev/null @@ -1,194 +0,0 @@ - next free object number - * - * @var array - */ - private $_free; - - /** - * Generation numbers for free objects. - * Array: objNum => nextGeneration - * - * @var array - */ - private $_generations; - - /** - * In use entries - * 'reference' => offset - * - * @var array - */ - private $_inuse; - - /** - * Generation numbers for free objects. - * Array: objNum => objGeneration - * - * @var array - */ - private $_usedObjects; - - - - /** - * Object constructor - */ - public function __construct() - { - $this->_parent = null; - $this->_free = array(); $this->_generations = array(); - $this->_inuse = array(); $this->_usedObjects = array(); - } - - - /** - * Add reference to the reference table - * - * @param string $ref - * @param integer $offset - * @param boolean $inuse - */ - public function addReference($ref, $offset, $inuse = true) - { - $refElements = explode(' ', $ref); - if (!is_numeric($refElements[0]) || !is_numeric($refElements[1]) || $refElements[2] != 'R') { - throw new Zend_Pdf_Exception("Incorrect reference: '$ref'"); - } - $objNum = (int)$refElements[0]; - $genNum = (int)$refElements[1]; - - if ($inuse) { - $this->_inuse[$ref] = $offset; - $this->_usedObjects[$objNum] = $objNum; - } else { - $this->_free[$ref] = $offset; - $this->_generations[$objNum] = $genNum; - } - } - - - /** - * Set parent reference table - * - * @param Zend_Pdf_Element_Reference_Table $parent - */ - public function setParent(self $parent) - { - $this->_parent = $parent; - } - - - /** - * Get object offset - * - * @param string $ref - * @return integer - */ - public function getOffset($ref) - { - if (isset($this->_inuse[$ref])) { - return $this->_inuse[$ref]; - } - - if (isset($this->_free[$ref])) { - return null; - } - - if (isset($this->_parent)) { - return $this->_parent->getOffset($ref); - } - - return null; - } - - - /** - * Get next object from a list of free objects. - * - * @param string $ref - * @return integer - * @throws Zend_Pdf_Exception - */ - public function getNextFree($ref) - { - if (isset($this->_inuse[$ref])) { - throw new Zend_Pdf_Exception('Object is not free'); - } - - if (isset($this->_free[$ref])) { - return $this->_free[$ref]; - } - - if (isset($this->_parent)) { - return $this->_parent->getNextFree($ref); - } - - throw new Zend_Pdf_Exception('Object not found.'); - } - - - /** - * Get next generation number for free object - * - * @param integer $objNum - * @return unknown - */ - public function getNewGeneration($objNum) - { - if (isset($this->_usedObjects[$objNum])) { - throw new Zend_Pdf_Exception('Object is not free'); - } - - if (isset($this->_generations[$objNum])) { - return $this->_generations[$objNum]; - } - - if (isset($this->_parent)) { - return $this->_parent->getNewGeneration($objNum); - } - - throw new Zend_Pdf_Exception('Object not found.'); - } -} - diff --git a/lib/zend/Zend/Pdf/Element/Stream.php b/lib/zend/Zend/Pdf/Element/Stream.php deleted file mode 100644 index 8068f18b61..0000000000 --- a/lib/zend/Zend/Pdf/Element/Stream.php +++ /dev/null @@ -1,125 +0,0 @@ -value = Zend_Pdf::getMemoryManager()->create($val); - } - - - /** - * Return type of the element. - * - * @return integer - */ - public function getType() - { - return Zend_Pdf_Element::TYPE_STREAM; - } - - - /** - * Stream length. - * (Method is used to avoid string copying, which may occurs in some cases) - * - * @return integer - */ - public function length() - { - return strlen($this->value->getRef()); - } - - - /** - * Clear stream - * - */ - public function clear() - { - $ref = &$this->value->getRef(); - $ref = ''; - $this->value->touch(); - } - - - /** - * Append value to a stream - * - * @param mixed $val - */ - public function append($val) - { - $ref = &$this->value->getRef(); - $ref .= (string)$val; - $this->value->touch(); - } - - - /** - * Return object as string - * - * @param Zend_Pdf_Factory $factory - * @return string - */ - public function toString($factory = null) - { - return "stream\n" . $this->value->getRef() . "\nendstream"; - } -} diff --git a/lib/zend/Zend/Pdf/Element/String.php b/lib/zend/Zend/Pdf/Element/String.php deleted file mode 100644 index 10e3c4918c..0000000000 --- a/lib/zend/Zend/Pdf/Element/String.php +++ /dev/null @@ -1,247 +0,0 @@ -value = (string)$val; - } - - - /** - * Return type of the element. - * - * @return integer - */ - public function getType() - { - return Zend_Pdf_Element::TYPE_STRING; - } - - - /** - * Return object as string - * - * @param Zend_Pdf_Factory $factory - * @return string - */ - public function toString($factory = null) - { - return '(' . self::escape((string)$this->value) . ')'; - } - - - /** - * Escape string according to the PDF rules - * - * @param string $inStr - * @return string - */ - public static function escape($inStr) - { - $outStr = ''; - $lastNL = 0; - - for ($count = 0; $count < strlen($inStr); $count++) { - if (strlen($outStr) - $lastNL > 128) { - $outStr .= "\\\n"; - $lastNL = strlen($outStr); - } - - $nextCode = ord($inStr[$count]); - switch ($nextCode) { - // "\n" - line feed (LF) - case 10: - $outStr .= '\\n'; - break; - - // "\r" - carriage return (CR) - case 13: - $outStr .= '\\r'; - break; - - // "\t" - horizontal tab (HT) - case 9: - $outStr .= '\\t'; - break; - - // "\b" - backspace (BS) - case 8: - $outStr .= '\\b'; - break; - - // "\f" - form feed (FF) - case 12: - $outStr .= '\\f'; - break; - - // '(' - left paranthesis - case 40: - $outStr .= '\\('; - break; - - // ')' - right paranthesis - case 41: - $outStr .= '\\)'; - break; - - // '\' - backslash - case 92: - $outStr .= '\\\\'; - break; - - default: - // Don't use non-ASCII characters escaping - // if ($nextCode >= 32 && $nextCode <= 126 ) { - // // Visible ASCII symbol - // $outStr .= $inStr[$count]; - // } else { - // $outStr .= sprintf('\\%03o', $nextCode); - // } - $outStr .= $inStr[$count]; - - break; - } - } - - return $outStr; - } - - - /** - * Unescape string according to the PDF rules - * - * @param string $inStr - * @return string - */ - public static function unescape($inStr) - { - $outStr = ''; - - for ($count = 0; $count < strlen($inStr); $count++) { - if ($inStr[$count] != '\\' || $count == strlen($inStr)-1) { - $outStr .= $inStr[$count]; - } else { // Escape sequence - switch ($inStr{++$count}) { - // '\\n' - line feed (LF) - case 'n': - $outStr .= "\n"; - break; - - // '\\r' - carriage return (CR) - case 'r': - $outStr .= "\r"; - break; - - // '\\t' - horizontal tab (HT) - case 't': - $outStr .= "\t"; - break; - - // '\\b' - backspace (BS) - case 'b': - $outStr .= "\x08"; - break; - - // '\\f' - form feed (FF) - case 'f': - $outStr .= "\x0C"; - break; - - // '\\(' - left paranthesis - case '(': - $outStr .= '('; - break; - - // '\\)' - right paranthesis - case ')': - $outStr .= ')'; - break; - - // '\\\\' - backslash - case '\\': - $outStr .= '\\'; - break; - - // "\\\n" or "\\\n\r" - case "\n": - // skip new line symbol - if ($inStr[$count+1] == "\r") { - $count++; - } - break; - - default: - if (ord($inStr[$count]) >= ord('0') && - ord($inStr[$count]) <= ord('9')) { - // Character in octal representation - // '\\xxx' - $nextCode = '0' . $inStr[$count]; - - if (ord($inStr[$count+1]) >= ord('0') && - ord($inStr[$count+1]) <= ord('9')) { - $nextCode .= $inStr{++$count}; - - if (ord($inStr[$count+1]) >= ord('0') && - ord($inStr[$count+1]) <= ord('9')) { - $nextCode .= $inStr{++$count}; - } - } - - $outStr .= chr($nextCode); - } else { - $outStr .= $inStr[$count]; - } - break; - } - } - } - - return $outStr; - } - -} diff --git a/lib/zend/Zend/Pdf/Element/String/Binary.php b/lib/zend/Zend/Pdf/Element/String/Binary.php deleted file mode 100644 index 1874411858..0000000000 --- a/lib/zend/Zend/Pdf/Element/String/Binary.php +++ /dev/null @@ -1,111 +0,0 @@ -= 48 /*'0'*/ && - $nextCharCode <= 57 /*'9'*/ ) || - ($nextCharCode >= 97 /*'a'*/ && - $nextCharCode <= 102 /*'f'*/ ) || - ($nextCharCode >= 65 /*'A'*/ && - $nextCharCode <= 70 /*'F'*/ ) ) { - $nextHexCode .= $inStr[$count]; - } - - if (strlen($nextHexCode) == 2) { - $outStr .= chr(intval($nextHexCode, 16)); - $nextHexCode = ''; - } - } - - if ($nextHexCode != '') { - // We have odd number of digits. - // Final digit is assumed to be '0' - $outStr .= chr(base_convert($nextHexCode . '0', 16, 10)); - } - - return $outStr; - } - - - /** - * Return object as string - * - * @param Zend_Pdf_Factory $factory - * @return string - */ - public function toString($factory = null) - { - return '<' . self::escape((string)$this->value) . '>'; - } -} diff --git a/lib/zend/Zend/Pdf/ElementFactory.php b/lib/zend/Zend/Pdf/ElementFactory.php deleted file mode 100644 index 413a807282..0000000000 --- a/lib/zend/Zend/Pdf/ElementFactory.php +++ /dev/null @@ -1,475 +0,0 @@ - Zend_Pdf_Element_Object - * - * @var array - */ - private $_modifiedObjects = array(); - - /** - * List of the removed objects - * - * Array: ojbectNumber => Zend_Pdf_Element_Object - * - * @var SplObjectStorage - */ - private $_removedObjects; - - /** - * List of registered objects. - * Used for resources clean up when factory is destroyed. - * - * Array of Zend_Pdf_Element objects - * - * @var array - */ - private $_registeredObjects = array(); - - /** - * PDF object counter. - * Actually it's an object number for new PDF object - * - * @var integer - */ - private $_objectCount; - - - /** - * List of the attached object factories. - * Array of Zend_Pdf_ElementFactory_Interface objects - * - * @var array - */ - private $_attachedFactories = array(); - - - /** - * Factory internal id - * - * @var integer - */ - private $_factoryId; - - /** - * Identity, used for factory id generation - * - * @var integer - */ - private static $_identity = 0; - - - /** - * Internal cache to save calculated shifts - * - * @var array - */ - private $_shiftCalculationCache = array(); - - - /** - * Object constructor - * - * @param integer $objCount - */ - public function __construct($objCount) - { - $this->_objectCount = (int)$objCount; - $this->_factoryId = self::$_identity++; - $this->_removedObjects = new SplObjectStorage(); - } - - - /** - * Factory generator - * - * @param integer $objCount - * @return Zend_Pdf_ElementFactory_Interface - */ - static public function createFactory($objCount) - { - return new Zend_Pdf_ElementFactory_Proxy(new Zend_Pdf_ElementFactory($objCount)); - } - - /** - * Close factory and clean-up resources - * - * @internal - */ - public function close() - { - $this->_modifiedObjects = null; - $this->_removedObjects = null; - $this->_attachedFactories = null; - - foreach ($this->_registeredObjects as $obj) { - $obj->cleanUp(); - } - $this->_registeredObjects = null; - } - - /** - * Get source factory object - * - * @return Zend_Pdf_ElementFactory - */ - public function resolve() - { - return $this; - } - - /** - * Get factory ID - * - * @return integer - */ - public function getId() - { - return $this->_factoryId; - } - - /** - * Set object counter - * - * @param integer $objCount - */ - public function setObjectCount($objCount) - { - $this->_objectCount = (int)$objCount; - } - - /** - * Get object counter - * - * @return integer - */ - public function getObjectCount() - { - $count = $this->_objectCount; - - foreach ($this->_attachedFactories as $attached) { - $count += $attached->getObjectCount() - 1; // -1 as "0" object is a special case and shared between factories - } - - return $count; - } - - - /** - * Attach factory to the current; - * - * @param Zend_Pdf_ElementFactory_Interface $factory - */ - public function attach(Zend_Pdf_ElementFactory_Interface $factory) - { - if ( $factory === $this || isset($this->_attachedFactories[$factory->getId()])) { - /** - * Don't attach factory twice. - * We do not check recusively because of nature of attach operation - * (Pages are always attached to the Documents, Fonts are always attached - * to the pages even if pages already use Document level object factory and so on) - */ - return; - } - - $this->_attachedFactories[$factory->getId()] = $factory; - } - - - /** - * Calculate object enumeration shift. - * - * @param Zend_Pdf_ElementFactory_Interface $factory - * @return integer - */ - public function calculateShift(Zend_Pdf_ElementFactory_Interface $factory) - { - if ($factory === $this) { - return 0; - } - - if (isset($this->_shiftCalculationCache[$factory->_factoryId])) { - return $this->_shiftCalculationCache[$factory->_factoryId]; - } - - $shift = $this->_objectCount - 1; - - foreach ($this->_attachedFactories as $subFactory) { - $subFactoryShift = $subFactory->calculateShift($factory); - - if ($subFactoryShift != -1) { - // context found - $this->_shiftCalculationCache[$factory->_factoryId] = $shift + $subFactoryShift; - return $shift + $subFactoryShift; - } else { - $shift += $subFactory->getObjectCount()-1; - } - } - - $this->_shiftCalculationCache[$factory->_factoryId] = -1; - return -1; - } - - /** - * Clean enumeration shift cache. - * Has to be used after PDF render operation to let followed updates be correct. - * - * @param Zend_Pdf_ElementFactory_Interface $factory - * @return integer - */ - public function cleanEnumerationShiftCache() - { - $this->_shiftCalculationCache = array(); - - foreach ($this->_attachedFactories as $attached) { - $attached->cleanEnumerationShiftCache(); - } - } - - /** - * Retrive object enumeration shift. - * - * @param Zend_Pdf_ElementFactory_Interface $factory - * @return integer - * @throws Zend_Pdf_Exception - */ - public function getEnumerationShift(Zend_Pdf_ElementFactory_Interface $factory) - { - if (($shift = $this->calculateShift($factory)) == -1) { - throw new Zend_Pdf_Exception('Wrong object context'); - } - - return $shift; - } - - /** - * Mark object as modified in context of current factory. - * - * @param Zend_Pdf_Element_Object $obj - * @throws Zend_Pdf_Exception - */ - public function markAsModified(Zend_Pdf_Element_Object $obj) - { - if ($obj->getFactory() !== $this) { - throw new Zend_Pdf_Exception('Object is not generated by this factory'); - } - - $this->_modifiedObjects[$obj->getObjNum()] = $obj; - } - - - /** - * Remove object in context of current factory. - * - * @param Zend_Pdf_Element_Object $obj - * @throws Zend_Pdf_Exception - */ - public function remove(Zend_Pdf_Element_Object $obj) - { - if (!$obj->compareFactory($this)) { - throw new Zend_Pdf_Exception('Object is not generated by this factory'); - } - - $this->_modifiedObjects[$obj->getObjNum()] = $obj; - $this->_removedObjects->attach($obj); - } - - - /** - * Generate new Zend_Pdf_Element_Object - * - * @todo Reusage of the freed object. It's not a support of new feature, but only improvement. - * - * @param Zend_Pdf_Element $objectValue - * @return Zend_Pdf_Element_Object - */ - public function newObject(Zend_Pdf_Element $objectValue) - { - $obj = new Zend_Pdf_Element_Object($objectValue, $this->_objectCount++, 0, $this); - $this->_modifiedObjects[$obj->getObjNum()] = $obj; - return $obj; - } - - /** - * Generate new Zend_Pdf_Element_Object_Stream - * - * @todo Reusage of the freed object. It's not a support of new feature, but only improvement. - * - * @param mixed $objectValue - * @return Zend_Pdf_Element_Object_Stream - */ - public function newStreamObject($streamValue) - { - $obj = new Zend_Pdf_Element_Object_Stream($streamValue, $this->_objectCount++, 0, $this); - $this->_modifiedObjects[$obj->getObjNum()] = $obj; - return $obj; - } - - - /** - * Enumerate modified objects. - * Returns array of Zend_Pdf_UpdateInfoContainer - * - * @param Zend_Pdf_ElementFactory_Interface $rootFactory - * @return array - */ - public function listModifiedObjects($rootFactory = null) - { - if ($rootFactory == null) { - $rootFactory = $this; - $shift = 0; - } else { - $shift = $rootFactory->getEnumerationShift($this); - } - - ksort($this->_modifiedObjects); - - $result = array(); - foreach ($this->_modifiedObjects as $objNum => $obj) { - if ($this->_removedObjects->contains($obj)) { - $result[$objNum+$shift] = new Zend_Pdf_UpdateInfoContainer($objNum + $shift, - $obj->getGenNum()+1, - true); - } else { - $result[$objNum+$shift] = new Zend_Pdf_UpdateInfoContainer($objNum + $shift, - $obj->getGenNum(), - false, - $obj->dump($rootFactory)); - } - } - - foreach ($this->_attachedFactories as $factory) { - $result += $factory->listModifiedObjects($rootFactory); - } - - return $result; - } - - /** - * Register object in the factory - * - * It's used to clear "parent object" referencies when factory is closed and clean up resources - * - * @param string $refString - * @param Zend_Pdf_Element_Object $obj - */ - public function registerObject(Zend_Pdf_Element_Object $obj, $refString) - { - $this->_registeredObjects[$refString] = $obj; - } - - /** - * Fetch object specified by reference - * - * @param string $refString - * @return Zend_Pdf_Element_Object|null - */ - public function fetchObject($refString) - { - if (!isset($this->_registeredObjects[$refString])) { - return null; - } - return $this->_registeredObjects[$refString]; - } - - - /** - * Check if PDF file was modified - * - * @return boolean - */ - public function isModified() - { - if (count($this->_modifiedObjects) != 0) { - return true; - } - - foreach ($this->_attachedFactories as $subFactory) { - if ($subFactory->isModified()) { - return true; - } - } - - return false; - } -} - diff --git a/lib/zend/Zend/Pdf/ElementFactory/Interface.php b/lib/zend/Zend/Pdf/ElementFactory/Interface.php deleted file mode 100644 index da9876169a..0000000000 --- a/lib/zend/Zend/Pdf/ElementFactory/Interface.php +++ /dev/null @@ -1,152 +0,0 @@ -_factory = $factory; - } - - public function __destruct() - { - $this->_factory->close(); - $this->_factory = null; - } - - /** - * Close factory and clean-up resources - * - * @internal - */ - public function close() - { - // Do nothing - } - - /** - * Get source factory object - * - * @return Zend_Pdf_ElementFactory - */ - public function resolve() - { - return $this->_factory->resolve(); - } - - /** - * Get factory ID - * - * @return integer - */ - public function getId() - { - return $this->_factory->getId(); - } - - /** - * Set object counter - * - * @param integer $objCount - */ - public function setObjectCount($objCount) - { - $this->_factory->setObjectCount($objCount); - } - - /** - * Get object counter - * - * @return integer - */ - public function getObjectCount() - { - return $this->_factory->getObjectCount(); - } - - /** - * Attach factory to the current; - * - * @param Zend_Pdf_ElementFactory_Interface $factory - */ - public function attach(Zend_Pdf_ElementFactory_Interface $factory) - { - $this->_factory->attach($factory); - } - - /** - * Calculate object enumeration shift. - * - * @internal - * @param Zend_Pdf_ElementFactory_Interface $factory - * @return integer - */ - public function calculateShift(Zend_Pdf_ElementFactory_Interface $factory) - { - return $this->_factory->calculateShift($factory); - } - - /** - * Clean enumeration shift cache. - * Has to be used after PDF render operation to let followed updates be correct. - * - * @param Zend_Pdf_ElementFactory_Interface $factory - * @return integer - */ - public function cleanEnumerationShiftCache() - { - return $this->_factory->cleanEnumerationShiftCache(); - } - - /** - * Retrive object enumeration shift. - * - * @param Zend_Pdf_ElementFactory_Interface $factory - * @return integer - * @throws Zend_Pdf_Exception - */ - public function getEnumerationShift(Zend_Pdf_ElementFactory_Interface $factory) - { - return $this->_factory->getEnumerationShift($factory); - } - - /** - * Mark object as modified in context of current factory. - * - * @param Zend_Pdf_Element_Object $obj - * @throws Zend_Pdf_Exception - */ - public function markAsModified(Zend_Pdf_Element_Object $obj) - { - $this->_factory->markAsModified($obj); - } - - /** - * Remove object in context of current factory. - * - * @param Zend_Pdf_Element_Object $obj - * @throws Zend_Pdf_Exception - */ - public function remove(Zend_Pdf_Element_Object $obj) - { - $this->_factory->remove($obj); - } - - /** - * Generate new Zend_Pdf_Element_Object - * - * @todo Reusage of the freed object. It's not a support of new feature, but only improvement. - * - * @param Zend_Pdf_Element $objectValue - * @return Zend_Pdf_Element_Object - */ - public function newObject(Zend_Pdf_Element $objectValue) - { - return $this->_factory->newObject($objectValue); - } - - /** - * Generate new Zend_Pdf_Element_Object_Stream - * - * @todo Reusage of the freed object. It's not a support of new feature, but only improvement. - * - * @param mixed $objectValue - * @return Zend_Pdf_Element_Object_Stream - */ - public function newStreamObject($streamValue) - { - return $this->_factory->newStreamObject($streamValue); - } - - /** - * Enumerate modified objects. - * Returns array of Zend_Pdf_UpdateInfoContainer - * - * @param Zend_Pdf_ElementFactory $rootFactory - * @return array - */ - public function listModifiedObjects($rootFactory = null) - { - return $this->_factory->listModifiedObjects($rootFactory); - } - - /** - * Check if PDF file was modified - * - * @return boolean - */ - public function isModified() - { - return $this->_factory->isModified(); - } -} - diff --git a/lib/zend/Zend/Pdf/Exception.php b/lib/zend/Zend/Pdf/Exception.php deleted file mode 100644 index a4bca9b0be..0000000000 --- a/lib/zend/Zend/Pdf/Exception.php +++ /dev/null @@ -1,343 +0,0 @@ -_isScreened to true if successful. - * - * @throws Zend_Pdf_Exception - */ - abstract public function screen(); - - /** - * Reads and parses the complete binary file. - * - * Must set $this->_isParsed to true if successful. - * - * @throws Zend_Pdf_Exception - */ - abstract public function parse(); - - - /* Object Lifecycle */ - - /** - * Object constructor. - * - * Verifies that the data source has been properly initialized. - * - * @param Zend_Pdf_FileParserDataSource $dataSource - * @throws Zend_Pdf_Exception - */ - public function __construct(Zend_Pdf_FileParserDataSource $dataSource) - { - if ($dataSource->getSize() == 0) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('The data source has not been properly initialized', - Zend_Pdf_Exception::BAD_DATA_SOURCE); - } - $this->_dataSource = $dataSource; - } - - /** - * Object destructor. - * - * Discards the data source object. - */ - public function __destruct() - { - $this->_dataSource = null; - } - - - /* Accessors */ - - /** - * Returns true if the file has passed a cursory validation check. - * - * @return boolean - */ - public function isScreened() - { - return $this->_isScreened; - } - - /** - * Returns true if the file has been successfully parsed. - * - * @return boolean - */ - public function isParsed() - { - return $this->_isParsed; - } - - /** - * Returns the data source object representing the file being parsed. - * - * @return Zend_Pdf_FileParserDataSource - */ - public function getDataSource() - { - return $this->_dataSource; - } - - - /* Primitive Methods */ - - /** - * Convenience wrapper for the data source object's moveToOffset() method. - * - * @param integer $offset Destination byte offset. - * @throws Zend_Pdf_Exception - */ - public function moveToOffset($offset) - { - $this->_dataSource->moveToOffset($offset); - } - - public function getOffset() { - return $this->_dataSource->getOffset(); - } - - public function getSize() { - return $this->_dataSource->getSize(); - } - - /** - * Convenience wrapper for the data source object's readBytes() method. - * - * @param integer $byteCount Number of bytes to read. - * @return string - * @throws Zend_Pdf_Exception - */ - public function readBytes($byteCount) - { - return $this->_dataSource->readBytes($byteCount); - } - - /** - * Convenience wrapper for the data source object's skipBytes() method. - * - * @param integer $byteCount Number of bytes to skip. - * @throws Zend_Pdf_Exception - */ - public function skipBytes($byteCount) - { - $this->_dataSource->skipBytes($byteCount); - } - - - /* Parser Methods */ - - /** - * Reads the signed integer value from the binary file at the current byte - * offset. - * - * Advances the offset by the number of bytes read. Throws an exception if - * an error occurs. - * - * @param integer $size Size of integer in bytes: 1-4 - * @param integer $byteOrder (optional) Big- or little-endian byte order. - * Use the BYTE_ORDER_ constants defined in {@link Zend_Pdf_FileParser}. - * If omitted, uses big-endian. - * @return integer - * @throws Zend_Pdf_Exception - */ - public function readInt($size, $byteOrder = Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN) - { - if (($size < 1) || ($size > 4)) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("Invalid signed integer size: $size", - Zend_Pdf_Exception::INVALID_INTEGER_SIZE); - } - $bytes = $this->_dataSource->readBytes($size); - /* unpack() will not work for this method because it always works in - * the host byte order for signed integers. It also does not allow for - * variable integer sizes. - */ - if ($byteOrder == Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN) { - $number = ord($bytes[0]); - if (($number & 0x80) == 0x80) { - /* This number is negative. Extract the positive equivalent. - */ - $number = (~ $number) & 0xff; - for ($i = 1; $i < $size; $i++) { - $number = ($number << 8) | ((~ ord($bytes[$i])) & 0xff); - } - /* Now turn this back into a negative number by taking the - * two's complement (we didn't add one above so won't - * subtract it below). This works reliably on both 32- and - * 64-bit systems. - */ - $number = ~$number; - } else { - for ($i = 1; $i < $size; $i++) { - $number = ($number << 8) | ord($bytes[$i]); - } - } - } else if ($byteOrder == Zend_Pdf_FileParser::BYTE_ORDER_LITTLE_ENDIAN) { - $number = ord($bytes[$size - 1]); - if (($number & 0x80) == 0x80) { - /* Negative number. See discussion above. - */ - $number = 0; - for ($i = --$size; $i >= 0; $i--) { - $number |= ((~ ord($bytes[$i])) & 0xff) << ($i * 8); - } - $number = ~$number; - } else { - $number = 0; - for ($i = --$size; $i >= 0; $i--) { - $number |= ord($bytes[$i]) << ($i * 8); - } - } - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("Invalid byte order: $byteOrder", - Zend_Pdf_Exception::INVALID_BYTE_ORDER); - } - return $number; - } - - /** - * Reads the unsigned integer value from the binary file at the current byte - * offset. - * - * Advances the offset by the number of bytes read. Throws an exception if - * an error occurs. - * - * NOTE: If you ask for a 4-byte unsigned integer on a 32-bit machine, the - * resulting value WILL BE SIGNED because PHP uses signed integers internally - * for everything. To guarantee portability, be sure to use bitwise operators - * operators on large unsigned integers! - * - * @param integer $size Size of integer in bytes: 1-4 - * @param integer $byteOrder (optional) Big- or little-endian byte order. - * Use the BYTE_ORDER_ constants defined in {@link Zend_Pdf_FileParser}. - * If omitted, uses big-endian. - * @return integer - * @throws Zend_Pdf_Exception - */ - public function readUInt($size, $byteOrder = Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN) - { - if (($size < 1) || ($size > 4)) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("Invalid unsigned integer size: $size", - Zend_Pdf_Exception::INVALID_INTEGER_SIZE); - } - $bytes = $this->_dataSource->readBytes($size); - /* unpack() is a bit heavyweight for this simple conversion. Just - * work the bytes directly. - */ - if ($byteOrder == Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN) { - $number = ord($bytes[0]); - for ($i = 1; $i < $size; $i++) { - $number = ($number << 8) | ord($bytes[$i]); - } - } else if ($byteOrder == Zend_Pdf_FileParser::BYTE_ORDER_LITTLE_ENDIAN) { - $number = 0; - for ($i = --$size; $i >= 0; $i--) { - $number |= ord($bytes[$i]) << ($i * 8); - } - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("Invalid byte order: $byteOrder", - Zend_Pdf_Exception::INVALID_BYTE_ORDER); - } - return $number; - } - - /** - * Returns true if the specified bit is set in the integer bitfield. - * - * @param integer $bit Bit number to test (i.e. - 0-31) - * @param integer $bitField - * @return boolean - */ - public function isBitSet($bit, $bitField) - { - $bitMask = 1 << $bit; - $isSet = (($bitField & $bitMask) == $bitMask); - return $isSet; - } - - /** - * Reads the signed fixed-point number from the binary file at the current - * byte offset. - * - * Common fixed-point sizes are 2.14 and 16.16. - * - * Advances the offset by the number of bytes read. Throws an exception if - * an error occurs. - * - * @param integer $mantissaBits Number of bits in the mantissa - * @param integer $fractionBits Number of bits in the fraction - * @param integer $byteOrder (optional) Big- or little-endian byte order. - * Use the BYTE_ORDER_ constants defined in {@link Zend_Pdf_FileParser}. - * If omitted, uses big-endian. - * @return float - * @throws Zend_Pdf_Exception - */ - public function readFixed($mantissaBits, $fractionBits, - $byteOrder = Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN) - { - $bitsToRead = $mantissaBits + $fractionBits; - if (($bitsToRead % 8) !== 0) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Fixed-point numbers are whole bytes', - Zend_Pdf_Exception::BAD_FIXED_POINT_SIZE); - } - $number = $this->readInt(($bitsToRead >> 3), $byteOrder) / (1 << $fractionBits); - return $number; - } - - /** - * Reads the Unicode UTF-16-encoded string from the binary file at the - * current byte offset. - * - * The byte order of the UTF-16 string must be specified. You must also - * supply the desired resulting character set. - * - * Advances the offset by the number of bytes read. Throws an exception if - * an error occurs. - * - * @todo Consider changing $byteCount to a character count. They are not - * always equivalent (in the case of surrogates). - * @todo Make $byteOrder optional if there is a byte-order mark (BOM) in the - * string being extracted. - * - * @param integer $byteCount Number of bytes (characters * 2) to return. - * @param integer $byteOrder (optional) Big- or little-endian byte order. - * Use the BYTE_ORDER_ constants defined in {@link Zend_Pdf_FileParser}. - * If omitted, uses big-endian. - * @param string $characterSet (optional) Desired resulting character set. - * You may use any character set supported by {@link iconv()}. If omitted, - * uses 'current locale'. - * @return string - * @throws Zend_Pdf_Exception - */ - public function readStringUTF16($byteCount, - $byteOrder = Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN, - $characterSet = '') - { - if ($byteCount == 0) { - return ''; - } - $bytes = $this->_dataSource->readBytes($byteCount); - if ($byteOrder == Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN) { - if ($characterSet == 'UTF-16BE') { - return $bytes; - } - return iconv('UTF-16BE', $characterSet, $bytes); - } else if ($byteOrder == Zend_Pdf_FileParser::BYTE_ORDER_LITTLE_ENDIAN) { - if ($characterSet == 'UTF-16LE') { - return $bytes; - } - return iconv('UTF-16LE', $characterSet, $bytes); - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("Invalid byte order: $byteOrder", - Zend_Pdf_Exception::INVALID_BYTE_ORDER); - } - } - - /** - * Reads the Mac Roman-encoded string from the binary file at the current - * byte offset. - * - * You must supply the desired resulting character set. - * - * Advances the offset by the number of bytes read. Throws an exception if - * an error occurs. - * - * @param integer $byteCount Number of bytes (characters) to return. - * @param string $characterSet (optional) Desired resulting character set. - * You may use any character set supported by {@link iconv()}. If omitted, - * uses 'current locale'. - * @return string - * @throws Zend_Pdf_Exception - */ - public function readStringMacRoman($byteCount, $characterSet = '') - { - if ($byteCount == 0) { - return ''; - } - $bytes = $this->_dataSource->readBytes($byteCount); - if ($characterSet == 'MacRoman') { - return $bytes; - } - return iconv('MacRoman', $characterSet, $bytes); - } - - /** - * Reads the Pascal string from the binary file at the current byte offset. - * - * The length of the Pascal string is determined by reading the length bytes - * which preceed the character data. You must supply the desired resulting - * character set. - * - * Advances the offset by the number of bytes read. Throws an exception if - * an error occurs. - * - * @param string $characterSet (optional) Desired resulting character set. - * You may use any character set supported by {@link iconv()}. If omitted, - * uses 'current locale'. - * @param integer $lengthBytes (optional) Number of bytes that make up the - * length. Default is 1. - * @return string - * @throws Zend_Pdf_Exception - */ - public function readStringPascal($characterSet = '', $lengthBytes = 1) - { - $byteCount = $this->readUInt($lengthBytes); - if ($byteCount == 0) { - return ''; - } - $bytes = $this->_dataSource->readBytes($byteCount); - if ($characterSet == 'ASCII') { - return $bytes; - } - return iconv('ASCII', $characterSet, $bytes); - } - -} diff --git a/lib/zend/Zend/Pdf/FileParser/Font.php b/lib/zend/Zend/Pdf/FileParser/Font.php deleted file mode 100644 index 999c83ab18..0000000000 --- a/lib/zend/Zend/Pdf/FileParser/Font.php +++ /dev/null @@ -1,213 +0,0 @@ -fontType = Zend_Pdf_Font::TYPE_UNKNOWN; - } - - - /* Accessors */ - - /** - * Get handler - * - * @param string $property - * @return mixed - */ - public function __get($property) - { - if (isset($this->_fontProperties[$property])) { - return $this->_fontProperties[$property]; - } else { - return null; - } - } - - /* NOTE: The set handler is defined below in the internal methods group. */ - - - /* Parser Methods */ - - /** - * Reads the Unicode UTF-16-encoded string from the binary file at the - * current offset location. Overridden to fix return character set at UTF-16BE. - * - * @todo Deal with to-dos in the parent method. - * - * @param integer $byteCount Number of bytes (characters * 2) to return. - * @param integer $byteOrder (optional) Big- or little-endian byte order. - * Use the BYTE_ORDER_ constants defined in {@link Zend_Pdf_FileParser}. If - * omitted, uses big-endian. - * @param string $characterSet (optional) --Ignored-- - * @return string - * @throws Zend_Pdf_Exception - */ - public function readStringUTF16($byteCount, - $byteOrder = Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN, - $characterSet = '') - { - return parent::readStringUTF16($byteCount, $byteOrder, 'UTF-16BE'); - } - - /** - * Reads the Mac Roman-encoded string from the binary file at the current - * offset location. Overridden to fix return character set at UTF-16BE. - * - * @param integer $byteCount Number of bytes (characters) to return. - * @param string $characterSet (optional) --Ignored-- - * @return string - * @throws Zend_Pdf_Exception - */ - public function readStringMacRoman($byteCount, $characterSet = '') - { - return parent::readStringMacRoman($byteCount, 'UTF-16BE'); - } - - /** - * Reads the Pascal string from the binary file at the current offset - * location. Overridden to fix return character set at UTF-16BE. - * - * @param string $characterSet (optional) --Ignored-- - * @param integer $lengthBytes (optional) Number of bytes that make up the - * length. Default is 1. - * @return string - * @throws Zend_Pdf_Exception - */ - public function readStringPascal($characterSet = '', $lengthBytes = 1) - { - return parent::readStringPascal('UTF-16BE'); - } - - - /* Utility Methods */ - - /** - * Writes the entire font properties array to STDOUT. Used only for debugging. - */ - public function writeDebug() - { - print_r($this->_fontProperties); - } - - - - /**** Internal Methods ****/ - - - /* Internal Accessors */ - - /** - * Set handler - * - * NOTE: This method is protected. Other classes may freely interrogate - * the font properties, but only this and its subclasses may set them. - * - * @param string $property - * @param mixed $value - */ - public function __set($property, $value) - { - if ($value === null) { - unset($this->_fontProperties[$property]); - } else { - $this->_fontProperties[$property] = $value; - } - } - - - /* Internal Utility Methods */ - - /** - * If debug logging is enabled, writes the log message. - * - * The log message is a sprintf() style string and any number of arguments - * may accompany it as additional parameters. - * - * @param string $message - * @param mixed (optional, multiple) Additional arguments - */ - protected function _debugLog($message) - { - if (! $this->_debug) { - return; - } - if (func_num_args() > 1) { - $args = func_get_args(); - $message = array_shift($args); - $message = vsprintf($message, $args); - } - - $logger = new Zend_Log(); - $logger->log($message, Zend_Log::DEBUG); - } - -} diff --git a/lib/zend/Zend/Pdf/FileParser/Font/OpenType.php b/lib/zend/Zend/Pdf/FileParser/Font/OpenType.php deleted file mode 100644 index 4e03365a1c..0000000000 --- a/lib/zend/Zend/Pdf/FileParser/Font/OpenType.php +++ /dev/null @@ -1,1111 +0,0 @@ - - *
  • {@link http://developer.apple.com/textfonts/TTRefMan/} - *
  • {@link http://www.microsoft.com/typography/OTSPEC/} - *
  • {@link http://partners.adobe.com/public/developer/opentype/index_spec.html} - * - * - * @package Zend_Pdf - * @subpackage FileParser - * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - */ -abstract class Zend_Pdf_FileParser_Font_OpenType extends Zend_Pdf_FileParser_Font -{ - /**** Instance Variables ****/ - - - /** - * Stores the scaler type (font type) for the font file. See - * {@link _readScalerType()}. - * @var integer - */ - protected $_scalerType = 0; - - /** - * Stores the byte offsets to the various information tables. - * @var array - */ - protected $_tableDirectory = array(); - - - - /**** Public Interface ****/ - - - /* Semi-Concrete Class Implementation */ - - /** - * Verifies that the font file is in the expected format. - * - * NOTE: This method should be overridden in subclasses to check the - * specific format and set $this->_isScreened! - * - * @throws Zend_Pdf_Exception - */ - public function screen() - { - if ($this->_isScreened) { - return; - } - $this->_readScalerType(); - } - - /** - * Reads and parses the font data from the file on disk. - * - * NOTE: This method should be overridden in subclasses to add type- - * specific parsing and set $this->isParsed. - * - * @throws Zend_Pdf_Exception - */ - public function parse() - { - if ($this->_isParsed) { - return; - } - - /* Screen the font file first, if it hasn't been done yet. - */ - $this->screen(); - - /* Start by reading the table directory. - */ - $this->_parseTableDirectory(); - - /* Then parse all of the required tables. - */ - $this->_parseHeadTable(); - $this->_parseNameTable(); - $this->_parsePostTable(); - $this->_parseHheaTable(); - $this->_parseMaxpTable(); - $this->_parseOs2Table(); - $this->_parseHmtxTable(); - $this->_parseCmapTable(); - - /* If present, parse the optional tables. - */ - /** - * @todo Add parser for kerning pairs. - * @todo Add parser for ligatures. - * @todo Add parser for other useful hinting tables. - */ - } - - - - /**** Internal Methods ****/ - - - /* Parser Methods */ - - /** - * Parses the OpenType table directory. - * - * The table directory contains the identifier, checksum, byte offset, and - * length of each of the information tables housed in the font file. - * - * @throws Zend_Pdf_Exception - */ - protected function _parseTableDirectory() - { - $this->moveToOffset(4); - - $tableCount = $this->readUInt(2); - $this->_debugLog('%d tables', $tableCount); - - /* Sanity check, in case we're not actually reading a OpenType file and - * the first four bytes coincidentally matched an OpenType signature in - * screen() above. - * - * There are at minimum 7 required tables: cmap, head, hhea, hmtx, maxp, - * name, and post. In the current OpenType standard, only 32 table types - * are defined, so use 50 as a practical limit. - */ - if (($tableCount < 7) || ($tableCount > 50)) { - throw new Zend_Pdf_Exception('Table count not within expected range', - Zend_Pdf_Exception::BAD_TABLE_COUNT); - } - - /* Skip the next 6 bytes, which contain values to aid a binary search. - */ - $this->skipBytes(6); - - /* The directory contains four values: the name of the table, checksum, - * offset to the table from the beginning of the font, and actual data - * length of the table. - */ - for ($tableIndex = 0; $tableIndex < $tableCount; $tableIndex++) { - $tableName = $this->readBytes(4); - - /* We ignore the checksum here for two reasons: First, the PDF viewer - * will do this later anyway; Second, calculating the checksum would - * require unsigned integers, which PHP does not currently provide. - * We may revisit this in the future. - */ - $this->skipBytes(4); - - $tableOffset = $this->readUInt(4); - $tableLength = $this->readUInt(4); - $this->_debugLog('%s offset: 0x%x; length: %d', $tableName, $tableOffset, $tableLength); - - /* Sanity checks for offset and length values. - */ - $fileSize = $this->_dataSource->getSize(); - if (($tableOffset < 0) || ($tableOffset > $fileSize)) { - throw new Zend_Pdf_Exception("Table offset ($tableOffset) not within expected range", - Zend_Pdf_Exception::INDEX_OUT_OF_RANGE); - } - if (($tableLength < 0) || (($tableOffset + $tableLength) > $fileSize)) { - throw new Zend_Pdf_Exception("Table length ($tableLength) not within expected range", - Zend_Pdf_Exception::INDEX_OUT_OF_RANGE); - } - - $this->_tableDirectory[$tableName]['offset'] = $tableOffset; - $this->_tableDirectory[$tableName]['length'] = $tableLength; - } - } - - - /** - * Parses the OpenType head (Font Header) table. - * - * The head table contains global information about the font such as the - * revision number and global metrics. - * - * @throws Zend_Pdf_Exception - */ - protected function _parseHeadTable() - { - $this->_jumpToTable('head'); - - /* We can read any version 1 table. - */ - $tableVersion = $this->_readTableVersion(1, 1); - - /* Skip the font revision number and checksum adjustment. - */ - $this->skipBytes(8); - - $magicNumber = $this->readUInt(4); - if ($magicNumber != 0x5f0f3cf5) { - throw new Zend_Pdf_Exception('Wrong magic number. Expected: 0x5f0f3cf5; actual: ' - . sprintf('%x', $magicNumber), - Zend_Pdf_Exception::BAD_MAGIC_NUMBER); - } - - /* Most of the flags we ignore, but there are a few values that are - * useful for our layout routines. - */ - $flags = $this->readUInt(2); - $this->baselineAtZero = $this->isBitSet(0, $flags); - $this->useIntegerScaling = $this->isBitSet(3, $flags); - - $this->unitsPerEm = $this->readUInt(2); - $this->_debugLog('Units per em: %d', $this->unitsPerEm); - - /* Skip creation and modification date/time. - */ - $this->skipBytes(16); - - $this->xMin = $this->readInt(2); - $this->yMin = $this->readInt(2); - $this->xMax = $this->readInt(2); - $this->yMax = $this->readInt(2); - $this->_debugLog('Font bounding box: %d %d %d %d', - $this->xMin, $this->yMin, $this->xMax, $this->yMax); - - /* The style bits here must match the fsSelection bits in the OS/2 - * table, if present. - */ - $macStyleBits = $this->readUInt(2); - $this->isBold = $this->isBitSet(0, $macStyleBits); - $this->isItalic = $this->isBitSet(1, $macStyleBits); - - /* We don't need the remainder of data in this table: smallest readable - * size, font direction hint, indexToLocFormat, and glyphDataFormat. - */ - } - - - /** - * Parses the OpenType name (Naming) table. - * - * The name table contains all of the identifying strings associated with - * the font such as its name, copyright, trademark, license, etc. - * - * @throws Zend_Pdf_Exception - */ - protected function _parseNameTable() - { - $this->_jumpToTable('name'); - $baseOffset = $this->_tableDirectory['name']['offset']; - - /* The name table begins with a short header, followed by each of the - * fixed-length name records, followed by the variable-length strings. - */ - - /* We only understand version 0 tables. - */ - $tableFormat = $this->readUInt(2); - if ($tableFormat != 0) { - throw new Zend_Pdf_Exception("Unable to read format $tableFormat table", - Zend_Pdf_Exception::DONT_UNDERSTAND_TABLE_VERSION); - } - $this->_debugLog('Format %d table', $tableFormat); - - $nameCount = $this->readUInt(2); - $this->_debugLog('%d name strings', $nameCount); - - $storageOffset = $this->readUInt(2) + $baseOffset; - $this->_debugLog('Storage offset: 0x%x', $storageOffset); - - /* Scan the name records for those we're interested in. We'll skip over - * encodings and languages we don't understand or support. Prefer the - * Microsoft Unicode encoding for a given name/language combination, but - * use Mac Roman if nothing else is available. We will extract the - * actual strings later. - */ - $nameRecords = array(); - for ($nameIndex = 0; $nameIndex < $nameCount; $nameIndex++) { - - $platformID = $this->readUInt(2); - $encodingID = $this->readUInt(2); - - if (! ( (($platformID == 3) && ($encodingID == 1)) || // Microsoft Unicode - (($platformID == 1) && ($encodingID == 0)) // Mac Roman - ) ) { - $this->skipBytes(8); // Not a supported encoding. Move on. - continue; - } - - $languageID = $this->readUInt(2); - $nameID = $this->readUInt(2); - $nameLength = $this->readUInt(2); - $nameOffset = $this->readUInt(2); - - $languageCode = $this->_languageCodeForPlatform($platformID, $languageID); - if ($languageCode === null) { - $this->_debugLog('Skipping languageID: 0x%x; platformID %d', $languageID, $platformID); - continue; // Not a supported language. Move on. - } - - $this->_debugLog('Adding nameID: %d; languageID: 0x%x; platformID: %d; offset: 0x%x (0x%x); length: %d', - $nameID, $languageID, $platformID, $baseOffset + $nameOffset, $nameOffset, $nameLength); - - /* Entries in the name table are sorted by platform ID. If an entry - * exists for both Mac Roman and Microsoft Unicode, the Unicode entry - * will prevail since it is processed last. - */ - $nameRecords[$nameID][$languageCode] = array('platform' => $platformID, - 'offset' => $nameOffset, - 'length' => $nameLength ); - } - - /* Now go back and extract the interesting strings. - */ - $fontNames = array(); - foreach ($nameRecords as $name => $languages) { - foreach ($languages as $language => $attributes) { - $stringOffset = $storageOffset + $attributes['offset']; - $this->moveToOffset($stringOffset); - if ($attributes['platform'] == 3) { - $string = $this->readStringUTF16($attributes['length']); - } else { - $string = $this->readStringMacRoman($attributes['length']); - } - $fontNames[$name][$language] = $string; - } - } - - $this->names = $fontNames; - } - - - /** - * Parses the OpenType post (PostScript Information) table. - * - * The post table contains additional information required for using the font - * on PostScript printers. It also contains the preferred location and - * thickness for an underline, which is used by our layout code. - * - * @throws Zend_Pdf_Exception - */ - protected function _parsePostTable() - { - $this->_jumpToTable('post'); - - /* We can read versions 1-4 tables. - */ - $tableVersion = $this->_readTableVersion(1, 4); - - $this->italicAngle = $this->readFixed(16, 16); - - $this->underlinePosition = $this->readInt(2); - $this->underlineThickness = $this->readInt(2); - - $fixedPitch = $this->readUInt(4); - $this->isMonospaced = ($fixedPitch !== 0); - - /* Skip over PostScript virtual memory usage. - */ - $this->skipBytes(16); - - /* The format of the remainder of this table is dependent on the table - * version. However, since it contains glyph ordering information and - * PostScript names which we don't use, move on. (This may change at - * some point in the future though...) - */ - } - - - /** - * Parses the OpenType hhea (Horizontal Header) table. - * - * The hhea table contains information used for horizontal layout. It also - * contains some vertical layout information for Apple systems. The vertical - * layout information for the PDF file is usually taken from the OS/2 table. - * - * @throws Zend_Pdf_Exception - */ - protected function _parseHheaTable() - { - $this->_jumpToTable('hhea'); - - /* We can read any version 1 table. - */ - $tableVersion = $this->_readTableVersion(1, 1); - - /* The typographic ascent, descent, and line gap values are Apple- - * specific. Similar values exist in the OS/2 table. We'll use these - * values unless better values are found in OS/2. - */ - $this->ascent = $this->readInt(2); - $this->descent = $this->readInt(2); - $this->lineGap = $this->readInt(2); - - /* The descent value is supposed to be negative--it's the distance - * relative to the baseline. However, some fonts improperly store a - * positive value in this field. If a positive value is found, flip the - * sign and record a warning in the debug log that we did this. - */ - if ($this->descent > 0) { - $this->_debugLog('Warning: Font should specify negative descent. Actual: %d; Using %d', - $this->descent, -$this->descent); - $this->descent = -$this->descent; - } - - /* Skip over advance width, left and right sidebearing, max x extent, - * caret slope rise, run, and offset, and the four reserved fields. - */ - $this->skipBytes(22); - - /* These values are needed to read the hmtx table. - */ - $this->metricDataFormat = $this->readInt(2); - $this->numberHMetrics = $this->readUInt(2); - $this->_debugLog('hmtx data format: %d; number of metrics: %d', - $this->metricDataFormat, $this->numberHMetrics); - } - - - /** - * Parses the OpenType hhea (Horizontal Header) table. - * - * The hhea table contains information used for horizontal layout. It also - * contains some vertical layout information for Apple systems. The vertical - * layout information for the PDF file is usually taken from the OS/2 table. - * - * @throws Zend_Pdf_Exception - */ - protected function _parseMaxpTable() - { - $this->_jumpToTable('maxp'); - - /* We don't care about table version. - */ - $this->_readTableVersion(0, 1); - - /* The number of glyphs in the font. - */ - $this->numGlyphs = $this->readUInt(2); - $this->_debugLog('number of glyphs: %d', $this->numGlyphs); - - // Skip other maxp table entries (if presented with table version 1.0)... - } - - - /** - * Parses the OpenType OS/2 (OS/2 and Windows Metrics) table. - * - * The OS/2 table contains additional metrics data that is required to use - * the font on the OS/2 or Microsoft Windows platforms. It is not required - * for Macintosh fonts, so may not always be present. When available, we use - * this table to determine most of the vertical layout and stylistic - * information and for the font. - * - * @throws Zend_Pdf_Exception - */ - protected function _parseOs2Table() - { - if (! $this->numberHMetrics) { - throw new Zend_Pdf_Exception("hhea table must be parsed prior to calling this method", - Zend_Pdf_Exception::PARSED_OUT_OF_ORDER); - } - - try { - $this->_jumpToTable('OS/2'); - } catch (Zend_Pdf_Exception $exception) { - /* This table is not always present. If missing, use default values. - */ - if ($exception->getCode() == Zend_Pdf_Exception::REQUIRED_TABLE_NOT_FOUND) { - $this->_debugLog('No OS/2 table found. Using default values'); - $this->fontWeight = Zend_Pdf_Font::WEIGHT_NORMAL; - $this->fontWidth = Zend_Pdf_Font::WIDTH_NORMAL; - $this->isEmbeddable = true; - $this->isSubsettable = true; - $this->strikeThickness = $this->unitsPerEm * 0.05; - $this->strikePosition = $this->unitsPerEm * 0.225; - $this->isSerifFont = false; // the style of the font is unknown - $this->isSansSerifFont = false; - $this->isOrnamentalFont = false; - $this->isScriptFont = false; - $this->isSymbolicFont = false; - $this->isAdobeLatinSubset = false; - $this->vendorID = ''; - $this->xHeight = 0; - $this->capitalHeight = 0; - return; - } else { - /* Something else went wrong. Throw this exception higher up the chain. - */ - throw $exception; - } - } - - /* Version 0 tables are becoming rarer these days. They are only found - * in older fonts. - * - * Version 1 formally defines the Unicode character range bits and adds - * two new fields to the end of the table. - * - * Version 2 defines several additional flags to the embedding bits - * (fsType field) and five new fields to the end of the table. - * - * Versions 2 and 3 are structurally identical. There are only two - * significant differences between the two: First, in version 3, the - * average character width (xAvgCharWidth field) is calculated using all - * non-zero width glyphs in the font instead of just the Latin lower- - * case alphabetic characters; this doesn't affect us. Second, in - * version 3, the embedding bits (fsType field) have been made mutually - * exclusive; see additional discusson on this below. - * - * We can understand all four of these table versions. - */ - $tableVersion = $this->readUInt(2); - if (($tableVersion < 0) || ($tableVersion > 3)) { - throw new Zend_Pdf_Exception("Unable to read version $tableVersion table", - Zend_Pdf_Exception::DONT_UNDERSTAND_TABLE_VERSION); - } - $this->_debugLog('Version %d table', $tableVersion); - - $this->averageCharWidth = $this->readInt(2); - - /* Indicates the visual weight and aspect ratio of the characters. Used - * primarily to logically sort fonts in lists. Also used to help choose - * a more appropriate substitute font when necessary. See the WEIGHT_ - * and WIDTH_ constants defined in Zend_Pdf_Font. - */ - $this->fontWeight = $this->readUInt(2); - $this->fontWidth = $this->readUInt(2); - - /* Describes the font embedding licensing rights. We can only embed and - * subset a font when given explicit permission. - * - * NOTE: We always interpret these bits according to the rules defined - * in version 3 of this table, regardless of the actual version. This - * means we will perform our checks in order from the most-restrictive - * to the least. - */ - $embeddingFlags = $this->readUInt(2); - $this->_debugLog('Embedding flags: %d', $embeddingFlags); - if ($this->isBitSet(9, $embeddingFlags)) { - /* Only bitmaps may be embedded. We don't have the ability to strip - * outlines from fonts yet, so this means no embed. - */ - $this->isEmbeddable = false; - } else if ($this->isBitSet(1, $embeddingFlags)) { - /* Restricted license embedding. We currently don't have any way to - * enforce this, so interpret this as no embed. This may be revised - * in the future... - */ - $this->isEmbeddable = false; - } else { - /* The remainder of the bit settings grant us permission to embed - * the font. There may be additional usage rights granted or denied - * but those only affect the PDF viewer application, not our code. - */ - $this->isEmbeddable = true; - } - $this->_debugLog('Font ' . ($this->isEmbeddable ? 'may' : 'may not') . ' be embedded'); - $isSubsettable = $this->isBitSet($embeddingFlags, 8); - - /* Recommended size and offset for synthesized subscript characters. - */ - $this->subscriptXSize = $this->readInt(2); - $this->subscriptYSize = $this->readInt(2); - $this->subscriptXOffset = $this->readInt(2); - $this->subscriptYOffset = $this->readInt(2); - - /* Recommended size and offset for synthesized superscript characters. - */ - $this->superscriptXSize = $this->readInt(2); - $this->superscriptYSize = $this->readInt(2); - $this->superscriptXOffset = $this->readInt(2); - $this->superscriptYOffset = $this->readInt(2); - - /* Size and vertical offset for the strikethrough. - */ - $this->strikeThickness = $this->readInt(2); - $this->strikePosition = $this->readInt(2); - - /* Describes the class of font: serif, sans serif, script. etc. These - * values are defined here: - * http://www.microsoft.com/OpenType/OTSpec/ibmfc.htm - */ - $familyClass = ($this->readUInt(2) >> 8); // don't care about subclass - $this->_debugLog('Font family class: %d', $familyClass); - $this->isSerifFont = ((($familyClass >= 1) && ($familyClass <= 5)) || - ($familyClass == 7)); - $this->isSansSerifFont = ($familyClass == 8); - $this->isOrnamentalFont = ($familyClass == 9); - $this->isScriptFont = ($familyClass == 10); - $this->isSymbolicFont = ($familyClass == 12); - - /* Skip over the PANOSE number. The interesting values for us overlap - * with the font family class defined above. - */ - $this->skipBytes(10); - - /* The Unicode range is made up of four 4-byte unsigned long integers - * which are used as bitfields covering a 128-bit range. Each bit - * represents a Unicode code block. If the bit is set, this font at - * least partially covers the characters in that block. - */ - $unicodeRange1 = $this->readUInt(4); - $unicodeRange2 = $this->readUInt(4); - $unicodeRange3 = $this->readUInt(4); - $unicodeRange4 = $this->readUInt(4); - $this->_debugLog('Unicode ranges: 0x%x 0x%x 0x%x 0x%x', - $unicodeRange1, $unicodeRange2, $unicodeRange3, $unicodeRange4); - - /* The Unicode range is currently only used to decide if the character - * set covered by the font is a subset of the Adobe Latin set, meaning - * it only has the basic latin set. If it covers any other characters, - * even any of the extended latin characters, it is considered symbolic - * to PDF and must be described differently in the Font Descriptor. - */ - /** - * @todo Font is recognized as Adobe Latin subset font if it only contains - * Basic Latin characters (only bit 0 of Unicode range bits is set). - * Actually, other Unicode subranges like General Punctuation (bit 31) also - * fall into Adobe Latin characters. So this code has to be modified. - */ - $this->isAdobeLatinSubset = (($unicodeRange1 == 1) && ($unicodeRange2 == 0) && - ($unicodeRange3 == 0) && ($unicodeRange4 == 0)); - $this->_debugLog(($this->isAdobeLatinSubset ? 'Is' : 'Is not') . ' a subset of Adobe Latin'); - - $this->vendorID = $this->readBytes(4); - - /* Skip the font style bits. We use the values found in the 'head' table. - * Also skip the first Unicode and last Unicode character indicies. Our - * cmap implementation does not need these values. - */ - $this->skipBytes(6); - - /* Typographic ascender, descender, and line gap. These values are - * preferred to those in the 'hhea' table. - */ - $this->ascent = $this->readInt(2); - $this->descent = $this->readInt(2); - $this->lineGap = $this->readInt(2); - - /* The descent value is supposed to be negative--it's the distance - * relative to the baseline. However, some fonts improperly store a - * positive value in this field. If a positive value is found, flip the - * sign and record a warning in the debug log that we did this. - */ - if ($this->descent > 0) { - $this->_debugLog('Warning: Font should specify negative descent. Actual: %d; Using %d', - $this->descent, -$this->descent); - $this->descent = -$this->descent; - } - - /* Skip over Windows-specific ascent and descent. - */ - $this->skipBytes(4); - - /* Versions 0 and 1 tables do not contain the x or capital height - * fields. Record zero for unknown. - */ - if ($tableVersion < 2) { - $this->xHeight = 0; - $this->capitalHeight = 0; - } else { - - /* Skip over the Windows code page coverages. We are only concerned - * with Unicode coverage. - */ - $this->skipBytes(8); - - $this->xHeight = $this->readInt(2); - $this->capitalHeight = $this->readInt(2); - - /* Ignore the remaining fields in this table. They are Windows-specific. - */ - } - /** - * @todo Obtain the x and capital heights from the 'glyf' table if they - * haven't been supplied here instead of storing zero. - */ - } - - - /** - * Parses the OpenType hmtx (Horizontal Metrics) table. - * - * The hmtx table contains the horizontal metrics for every glyph contained - * within the font. These are the critical values for horizontal layout of - * text. - * - * @throws Zend_Pdf_Exception - */ - protected function _parseHmtxTable() - { - $this->_jumpToTable('hmtx'); - - if (! $this->numberHMetrics) { - throw new Zend_Pdf_Exception("hhea table must be parsed prior to calling this method", - Zend_Pdf_Exception::PARSED_OUT_OF_ORDER); - } - - /* We only understand version 0 tables. - */ - if ($this->metricDataFormat != 0) { - throw new Zend_Pdf_Exception("Unable to read format $this->metricDataFormat table.", - Zend_Pdf_Exception::DONT_UNDERSTAND_TABLE_VERSION); - } - - /* The hmtx table has no header. For each glpyh in the font, it contains - * the glyph's advance width and its left side bearing. We don't use the - * left side bearing. - */ - $glyphWidths = array(); - for ($i = 0; $i < $this->numberHMetrics; $i++) { - $glyphWidths[$i] = $this->readUInt(2); - $this->skipBytes(2); - } - /* Populate last value for the rest of array - */ - while (count($glyphWidths) < $this->numGlyphs) { - $glyphWidths[] = end($glyphWidths); - } - $this->glyphWidths = $glyphWidths; - - /* There is an optional table of left side bearings which is sometimes - * used for monospaced fonts. We don't use the left side bearing, so - * we can safely ignore it. - */ - } - - - /** - * Parses the OpenType cmap (Character to Glyph Mapping) table. - * - * The cmap table provides the maps from character codes to font glyphs. - * There are usually at least two character maps in a font: Microsoft Unicode - * and Macintosh Roman. For very complex fonts, there may also be mappings - * for the characters in the Unicode Surrogates Area, which are UCS-4 - * characters. - * - * @todo Need to rework the selection logic for picking a subtable. We should - * have an explicit list of preferences, followed by a list of those that - * are tolerable. Most specifically, since everything above this layer deals - * in Unicode, we need to be sure to only accept format 0 MacRoman tables. - * - * @throws Zend_Pdf_Exception - */ - protected function _parseCmapTable() - { - $this->_jumpToTable('cmap'); - $baseOffset = $this->_tableDirectory['cmap']['offset']; - - /* We only understand version 0 tables. - */ - $tableVersion = $this->readUInt(2); - if ($tableVersion != 0) { - throw new Zend_Pdf_Exception("Unable to read version $tableVersion table", - Zend_Pdf_Exception::DONT_UNDERSTAND_TABLE_VERSION); - } - $this->_debugLog('Version %d table', $tableVersion); - - $subtableCount = $this->readUInt(2); - $this->_debugLog('%d subtables', $subtableCount); - - /* Like the name table, there may be many different encoding subtables - * present. Ideally, we are looking for an acceptable Unicode table. - */ - $subtables = array(); - for ($subtableIndex = 0; $subtableIndex < $subtableCount; $subtableIndex++) { - - $platformID = $this->readUInt(2); - $encodingID = $this->readUInt(2); - - if (! ( (($platformID == 0) && ($encodingID == 3)) || // Unicode 2.0 or later - (($platformID == 0) && ($encodingID == 0)) || // Unicode - (($platformID == 3) && ($encodingID == 1)) || // Microsoft Unicode - (($platformID == 1) && ($encodingID == 0)) // Mac Roman - ) ) { - $this->_debugLog('Unsupported encoding: platformID: %d; encodingID: %d; skipping', - $platformID, $encodingID); - $this->skipBytes(4); - continue; - } - - $subtableOffset = $this->readUInt(4); - if ($subtableOffset < 0) { // Sanity check for 4-byte unsigned on 32-bit platform - $this->_debugLog('Offset 0x%x out of range for platformID: %d; skipping', - $subtableOffset, $platformID); - continue; - } - - $this->_debugLog('Found subtable; platformID: %d; encodingID: %d; offset: 0x%x (0x%x)', - $platformID, $encodingID, $baseOffset + $subtableOffset, $subtableOffset); - - $subtables[$platformID][$encodingID][] = $subtableOffset; - } - - /* In preferred order, find a subtable to use. - */ - $offsets = array(); - - /* Unicode 2.0 or later semantics - */ - if (isset($subtables[0][3])) { - foreach ($subtables[0][3] as $offset) { - $offsets[] = $offset; - } - } - - /* Unicode default semantics - */ - if (isset($subtables[0][0])) { - foreach ($subtables[0][0] as $offset) { - $offsets[] = $offset; - } - } - - /* Microsoft Unicode - */ - if (isset($subtables[3][1])) { - foreach ($subtables[3][1] as $offset) { - $offsets[] = $offset; - } - } - - /* Mac Roman. - */ - if (isset($subtables[1][0])) { - foreach ($subtables[1][0] as $offset) { - $offsets[] = $offset; - } - } - - $cmapType = -1; - - foreach ($offsets as $offset) { - $cmapOffset = $baseOffset + $offset; - $this->moveToOffset($cmapOffset); - $format = $this->readUInt(2); - $language = -1; - switch ($format) { - case 0x0: - $cmapLength = $this->readUInt(2); - $language = $this->readUInt(2); - if ($language != 0) { - $this->_debugLog('Type 0 cmap tables must be language-independent;' - . ' language: %d; skipping', $language); - continue; - } - break; - - case 0x4: // break intentionally omitted - case 0x6: - $cmapLength = $this->readUInt(2); - $language = $this->readUInt(2); - if ($language != 0) { - $this->_debugLog('Warning: cmap tables must be language-independent - this font' - . ' may not work properly; language: %d', $language); - } - break; - - case 0x2: // break intentionally omitted - case 0x8: // break intentionally omitted - case 0xa: // break intentionally omitted - case 0xc: - $this->_debugLog('Format: 0x%x currently unsupported; skipping', $format); - continue; - //$this->skipBytes(2); - //$cmapLength = $this->readUInt(4); - //$language = $this->readUInt(4); - //if ($language != 0) { - // $this->_debugLog('Warning: cmap tables must be language-independent - this font' - // . ' may not work properly; language: %d', $language); - //} - //break; - - default: - $this->_debugLog('Unknown subtable format: 0x%x; skipping', $format); - continue; - } - $cmapType = $format; - break; - } - if ($cmapType == -1) { - throw new Zend_Pdf_Exception('Unable to find usable cmap table', - Zend_Pdf_Exception::CANT_FIND_GOOD_CMAP); - } - - /* Now extract the subtable data and create a Zend_Pdf_FontCmap object. - */ - $this->_debugLog('Using cmap type %d; offset: 0x%x; length: %d', - $cmapType, $cmapOffset, $cmapLength); - $this->moveToOffset($cmapOffset); - $cmapData = $this->readBytes($cmapLength); - $this->cmap = Zend_Pdf_Cmap::cmapWithTypeData($cmapType, $cmapData); - } - - - /** - * Reads the scaler type from the header of the OpenType font file and - * returns it as an unsigned long integer. - * - * The scaler type defines the type of font: OpenType font files may contain - * TrueType or PostScript outlines. Throws an exception if the scaler type - * is not recognized. - * - * @return integer - * @throws Zend_Pdf_Exception - */ - protected function _readScalerType() - { - if ($this->_scalerType != 0) { - return $this->_scalerType; - } - - $this->moveToOffset(0); - - $this->_scalerType = $this->readUInt(4); - - switch ($this->_scalerType) { - case 0x00010000: // version 1.0 - Windows TrueType signature - $this->_debugLog('Windows TrueType signature'); - break; - - case 0x74727565: // 'true' - Macintosh TrueType signature - $this->_debugLog('Macintosh TrueType signature'); - break; - - case 0x4f54544f: // 'OTTO' - the CFF signature - $this->_debugLog('PostScript CFF signature'); - break; - - case 0x74797031: // 'typ1' - throw new Zend_Pdf_Exception('Unsupported font type: PostScript in sfnt wrapper', - Zend_Pdf_Exception::WRONG_FONT_TYPE); - - default: - throw new Zend_Pdf_Exception('Not an OpenType font file', - Zend_Pdf_Exception::WRONG_FONT_TYPE); - } - return $this->_scalerType; - } - - /** - * Validates a given table's existence, then sets the file pointer to the - * start of that table. - * - * @param string $tableName - * @throws Zend_Pdf_Exception - */ - protected function _jumpToTable($tableName) - { - if (empty($this->_tableDirectory[$tableName])) { // do not allow NULL or zero - throw new Zend_Pdf_Exception("Required table '$tableName' not found!", - Zend_Pdf_Exception::REQUIRED_TABLE_NOT_FOUND); - } - $this->_debugLog("Parsing $tableName table..."); - $this->moveToOffset($this->_tableDirectory[$tableName]['offset']); - } - - /** - * Reads the fixed 16.16 table version number and checks for compatibility. - * If the version is incompatible, throws an exception. If it is compatible, - * returns the version number. - * - * @param float $minVersion Minimum compatible version number. - * @param float $maxVertion Maximum compatible version number. - * @return float Table version number. - * @throws Zend_Pdf_Exception - */ - protected function _readTableVersion($minVersion, $maxVersion) - { - $tableVersion = $this->readFixed(16, 16); - if (($tableVersion < $minVersion) || ($tableVersion > $maxVersion)) { - throw new Zend_Pdf_Exception("Unable to read version $tableVersion table", - Zend_Pdf_Exception::DONT_UNDERSTAND_TABLE_VERSION); - } - $this->_debugLog('Version %.2f table', $tableVersion); - return $tableVersion; - } - - /** - * Utility method that returns ISO 639 two-letter language codes from the - * TrueType platform and language ID. Returns NULL for languages that are - * not supported. - * - * @param integer $platformID - * @param integer $encodingID - * @return string | null - */ - protected function _languageCodeForPlatform($platformID, $languageID) - { - if ($platformID == 3) { // Microsoft encoding. - /* The low-order bytes specify the language, the high-order bytes - * specify the dialect. We just care about the language. For the - * complete list, see: - * http://www.microsoft.com/globaldev/reference/lcid-all.mspx - */ - $languageID &= 0xff; - switch ($languageID) { - case 0x09: - return 'en'; - case 0x0c: - return 'fr'; - case 0x07: - return 'de'; - case 0x10: - return 'it'; - case 0x13: - return 'nl'; - case 0x1d: - return 'sv'; - case 0x0a: - return 'es'; - case 0x06: - return 'da'; - case 0x16: - return 'pt'; - case 0x14: - return 'no'; - case 0x0d: - return 'he'; - case 0x11: - return 'ja'; - case 0x01: - return 'ar'; - case 0x0b: - return 'fi'; - case 0x08: - return 'el'; - - default: - return null; - } - - } else if ($platformID == 1) { // Macintosh encoding. - switch ($languageID) { - case 0: - return 'en'; - case 1: - return 'fr'; - case 2: - return 'de'; - case 3: - return 'it'; - case 4: - return 'nl'; - case 5: - return 'sv'; - case 6: - return 'es'; - case 7: - return 'da'; - case 8: - return 'pt'; - case 9: - return 'no'; - case 10: - return 'he'; - case 11: - return 'ja'; - case 12: - return 'ar'; - case 13: - return 'fi'; - case 14: - return 'el'; - - default: - return null; - } - - } else { // Unknown encoding. - return null; - } - } - -} diff --git a/lib/zend/Zend/Pdf/FileParser/Font/OpenType/TrueType.php b/lib/zend/Zend/Pdf/FileParser/Font/OpenType/TrueType.php deleted file mode 100644 index 0cc414bc67..0000000000 --- a/lib/zend/Zend/Pdf/FileParser/Font/OpenType/TrueType.php +++ /dev/null @@ -1,89 +0,0 @@ -_isScreened) { - return; - } - - parent::screen(); - - switch ($this->_readScalerType()) { - case 0x00010000: // version 1.0 - Windows TrueType signature - break; - - case 0x74727565: // 'true' - Macintosh TrueType signature - break; - - default: - throw new Zend_Pdf_Exception('Not a TrueType font file', - Zend_Pdf_Exception::WRONG_FONT_TYPE); - } - - $this->fontType = Zend_Pdf_Font::TYPE_TRUETYPE; - $this->_isScreened = true; - } - - /** - * Reads and parses the TrueType font data from the file on disk. - * - * @throws Zend_Pdf_Exception - */ - public function parse() - { - if ($this->_isParsed) { - return; - } - - parent::parse(); - - /* There is nothing additional to parse for TrueType fonts at this time. - */ - - $this->_isParsed = true; - } -} diff --git a/lib/zend/Zend/Pdf/FileParser/Image.php b/lib/zend/Zend/Pdf/FileParser/Image.php deleted file mode 100644 index e0e44407da..0000000000 --- a/lib/zend/Zend/Pdf/FileParser/Image.php +++ /dev/null @@ -1,59 +0,0 @@ -imageType = Zend_Pdf_Image::TYPE_UNKNOWN; - } - -} diff --git a/lib/zend/Zend/Pdf/FileParser/Image/Png.php b/lib/zend/Zend/Pdf/FileParser/Image/Png.php deleted file mode 100644 index 1614b1e439..0000000000 --- a/lib/zend/Zend/Pdf/FileParser/Image/Png.php +++ /dev/null @@ -1,326 +0,0 @@ -_isParsed) { - $this->parse(); - } - return $this->_width; - } - - public function getHeight() { - if(!$this->_isParsed) { - $this->parse(); - } - return $this->_width; - } - - public function getBitDepth() { - if(!$this->_isParsed) { - $this->parse(); - } - return $this->_bits; - } - - public function getColorSpace() { - if(!$this->_isParsed) { - $this->parse(); - } - return $this->_color; - } - - public function getCompressionStrategy() { - if(!$this->_isParsed) { - $this->parse(); - } - return $this->_compression; - } - - public function getPaethFilter() { - if(!$this->_isParsed) { - $this->parse(); - } - return $this->_preFilter; - } - - public function getInterlacingMode() { - if(!$this->_isParsed) { - $this->parse(); - } - return $this->_interlacing; - } - - public function getRawImageData() { - if(!$this->_isParsed) { - $this->parse(); - } - return $this->_imageData; - } - - public function getRawPaletteData() { - if(!$this->_isParsed) { - $this->parse(); - } - return $this->_paletteData; - } - - public function getRawTransparencyData() { - if(!$this->_isParsed) { - $this->parse(); - } - return $this->_transparencyData; - } - - /* Semi-Concrete Class Implementation */ - - /** - * Verifies that the image file is in the expected format. - * - * @throws Zend_Pdf_Exception - */ - public function screen() - { - if ($this->_isScreened) { - return; - } - return $this->_checkSignature(); - } - - /** - * Reads and parses the image data from the file on disk. - * - * @throws Zend_Pdf_Exception - */ - public function parse() - { - if ($this->_isParsed) { - return; - } - - /* Screen the font file first, if it hasn't been done yet. - */ - $this->screen(); - - $this->_parseIHDRChunk(); - $this->_parseChunks(); - } - - - protected function _parseSignature() { - $this->moveToOffset(1); //Skip the first byte (%) - if('PNG' != $this->readBytes(3)) { - $this->_isPNG = false; - } else { - $this->_isPNG = true; - } - } - - protected function _checkSignature() { - if(!isset($this->_isPNG)) { - $this->_parseSignature(); - } - return $this->_isPNG; - } - - protected function _parseChunks() { - $this->moveToOffset(33); //Variable chunks start at the end of IHDR - - //Start processing chunks. If there are no more bytes to read parsing is complete. - $size = $this->getSize(); - while($size - $this->getOffset() >= 8) { - $chunkLength = $this->readUInt(4); - if($chunkLength < 0 || ($chunkLength + $this->getOffset() + 4) > $size) { - throw new Zend_Pdf_Exception("PNG Corrupt: Invalid Chunk Size In File."); - } - - $chunkType = $this->readBytes(4); - $offset = $this->getOffset(); - - //If we know how to process the chunk, do it here, else ignore the chunk and move on to the next - switch($chunkType) { - case 'IDAT': // This chunk may appear more than once. It contains the actual image data. - $this->_parseIDATChunk($offset, $chunkLength); - break; - - case 'PLTE': // This chunk contains the image palette. - $this->_parsePLTEChunk($offset, $chunkLength); - break; - - case 'tRNS': // This chunk contains non-alpha channel transparency data - $this->_parseTRNSChunk($offset, $chunkLength); - break; - - case 'IEND': - break 2; //End the loop too - - //@TODO Implement the rest of the PNG chunks. (There are many not implemented here) - } - if($offset + $chunkLength + 4 < $size) { - $this->moveToOffset($offset + $chunkLength + 4); //Skip past the data finalizer. (Don't rely on the parse to leave the offsets correct) - } - } - if(empty($this->_imageData)) { - throw new Zend_Pdf_Exception ( "This PNG is corrupt. All png must contain IDAT chunks." ); - } - } - - protected function _parseIHDRChunk() { - $this->moveToOffset(12); //IHDR must always start at offset 12 and run for 17 bytes - if(!$this->readBytes(4) == 'IHDR') { - throw new Zend_Pdf_Exception( "This PNG is corrupt. The first chunk in a PNG file must be IHDR." ); - } - $this->_width = $this->readUInt(4); - $this->_height = $this->readUInt(4); - $this->_bits = $this->readInt(1); - $this->_color = $this->readInt(1); - $this->_compression = $this->readInt(1); - $this->_preFilter = $this->readInt(1); - $this->_interlacing = $this->readInt(1); - if($this->_interlacing != Zend_Pdf_Image::PNG_INTERLACING_DISABLED) { - throw new Zend_Pdf_Exception( "Only non-interlaced images are currently supported." ); - } - } - - protected function _parseIDATChunk($chunkOffset, $chunkLength) { - $this->moveToOffset($chunkOffset); - if(!isset($this->_imageData)) { - $this->_imageData = $this->readBytes($chunkLength); - } else { - $this->_imageData .= $this->readBytes($chunkLength); - } - } - - protected function _parsePLTEChunk($chunkOffset, $chunkLength) { - $this->moveToOffset($chunkOffset); - $this->_paletteData = $this->readBytes($chunkLength); - } - - protected function _parseTRNSChunk($chunkOffset, $chunkLength) { - $this->moveToOffset($chunkOffset); - - //Processing of tRNS data varies dependending on the color depth - - switch($this->_color) { - case Zend_Pdf_Image::PNG_CHANNEL_GRAY: - $baseColor = $this->readInt(1); - $this->_transparencyData = array($baseColor, $baseColor); - break; - - case Zend_Pdf_Image::PNG_CHANNEL_RGB: - - //@TODO Fix this hack. - //This parser cheats and only uses the lsb's (and only works with < 16 bit depth images) - - /* - From the standard: - - For color type 2 (truecolor), the tRNS chunk contains a single RGB color value, stored in the format: - - Red: 2 bytes, range 0 .. (2^bitdepth)-1 - Green: 2 bytes, range 0 .. (2^bitdepth)-1 - Blue: 2 bytes, range 0 .. (2^bitdepth)-1 - - (If the image bit depth is less than 16, the least significant bits are used and the others are 0.) - Pixels of the specified color value are to be treated as transparent (equivalent to alpha value 0); - all other pixels are to be treated as fully opaque (alpha value 2bitdepth-1). - - */ - - $red = $this->readInt(1); - $this->skipBytes(1); - $green = $this->readInt(1); - $this->skipBytes(1); - $blue = $this->readInt(1); - - $this->_transparencyData = array($red, $red, $green, $green, $blue, $blue); - - break; - - case Zend_Pdf_Image::PNG_CHANNEL_INDEXED: - - //@TODO Fix this hack. - //This parser cheats too. It only masks the first color in the palette. - - /* - From the standard: - - For color type 3 (indexed color), the tRNS chunk contains a series of one-byte alpha values, corresponding to entries in the PLTE chunk: - - Alpha for palette index 0: 1 byte - Alpha for palette index 1: 1 byte - ...etc... - - Each entry indicates that pixels of the corresponding palette index must be treated as having the specified alpha value. - Alpha values have the same interpretation as in an 8-bit full alpha channel: 0 is fully transparent, 255 is fully opaque, - regardless of image bit depth. The tRNS chunk must not contain more alpha values than there are palette entries, - but tRNS can contain fewer values than there are palette entries. In this case, the alpha value for all remaining palette - entries is assumed to be 255. In the common case in which only palette index 0 need be made transparent, only a one-byte - tRNS chunk is needed. - - */ - - $tmpData = $this->readBytes($chunkLength); - if(($trnsIdx = strpos($tmpData, chr(0))) !== false) { - $this->_transparencyData = array($trnsIdx, $trnsIdx); - } - - break; - - case Zend_Pdf_Image::PNG_CHANNEL_GRAY_ALPHA: - //Fall through to the next case - case Zend_Pdf_Image::PING_CHANNEL_RGB_ALPHA: - throw new Zend_Pdf_Exception( "tRNS chunk illegal for Alpha Channel Images" ); - break; - } - } -} - - diff --git a/lib/zend/Zend/Pdf/FileParserDataSource.php b/lib/zend/Zend/Pdf/FileParserDataSource.php deleted file mode 100644 index 6eba1ee562..0000000000 --- a/lib/zend/Zend/Pdf/FileParserDataSource.php +++ /dev/null @@ -1,204 +0,0 @@ -_size to the total size in bytes of the data source. - * - * Upon return the data source can be interrogated using the primitive - * methods described here. - * - * If the data source cannot be opened for any reason (such as insufficient - * permissions, missing file, etc.), will throw an appropriate exception. - * - * @throws Zend_Pdf_Exception - */ - abstract public function __construct(); - - /** - * Object destructor. Closes the data source. - * - * May also perform cleanup tasks such as deleting temporary files. - */ - abstract public function __destruct(); - - /** - * Returns the specified number of raw bytes from the data source at the - * byte offset of the current read position. - * - * Must advance the read position by the number of bytes read by updating - * $this->_offset. - * - * Throws an exception if there is insufficient data to completely fulfill - * the request or if an error occurs. - * - * @param integer $byteCount Number of bytes to read. - * @return string - * @throws Zend_Pdf_Exception - */ - abstract public function readBytes($byteCount); - - /** - * Returns the entire contents of the data source as a string. - * - * This method may be called at any time and so must preserve the byte - * offset of the read position, both through $this->_offset and whatever - * other additional pointers (such as the seek position of a file pointer) - * that might be used. - * - * @return string - */ - abstract public function readAllBytes(); - - - /* Object Magic Methods */ - - /** - * Returns a description of the object for debugging purposes. - * - * Subclasses should override this method to provide a more specific - * description of the actual object being represented. - * - * @return string - */ - public function __toString() - { - return get_class($this); - } - - - /* Accessors */ - - /** - * Returns the byte offset of the current read position within the data - * source. - * - * @return integer - */ - public function getOffset() - { - return $this->_offset; - } - - /** - * Returns the total size in bytes of the data source. - * - * @return integer - */ - public function getSize() - { - return $this->_size; - } - - - /* Primitive Methods */ - - /** - * Moves the current read position to the specified byte offset. - * - * Throws an exception you attempt to move before the beginning or beyond - * the end of the data source. - * - * If a subclass needs to perform additional tasks (such as performing a - * fseek() on a filesystem source), it should do so after calling this - * parent method. - * - * @param integer $offset Destination byte offset. - * @throws Zend_Pdf_Exception - */ - public function moveToOffset($offset) - { - if ($this->_offset == $offset) { - return; // Not moving; do nothing. - } - if ($offset < 0) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Attempt to move before start of data source', - Zend_Pdf_Exception::MOVE_BEFORE_START_OF_FILE); - } - if ($offset >= $this->_size) { // Offsets are zero-based. - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Attempt to move beyond end of data source', - Zend_Pdf_Exception::MOVE_BEYOND_END_OF_FILE); - } - $this->_offset = $offset; - } - - /** - * Shifts the current read position within the data source by the specified - * number of bytes. - * - * You may move forward (positive numbers) or backward (negative numbers). - * Throws an exception you attempt to move before the beginning or beyond - * the end of the data source. - * - * @param integer $byteCount Number of bytes to skip. - * @throws Zend_Pdf_Exception - */ - public function skipBytes($byteCount) - { - $this->moveToOffset($this->_offset + $byteCount); - } -} diff --git a/lib/zend/Zend/Pdf/FileParserDataSource/File.php b/lib/zend/Zend/Pdf/FileParserDataSource/File.php deleted file mode 100644 index 9c1d6cc4b7..0000000000 --- a/lib/zend/Zend/Pdf/FileParserDataSource/File.php +++ /dev/null @@ -1,190 +0,0 @@ -_size = @filesize($filePath)) === false) { - throw new Zend_Pdf_Exception("Error while obtaining file size: $filePath", - Zend_Pdf_Exception::CANT_GET_FILE_SIZE); - } - if (($this->_fileResource = @fopen($filePath, 'rb')) === false) { - throw new Zend_Pdf_Exception("Cannot open file for reading: $filePath", - Zend_Pdf_Exception::CANT_OPEN_FILE); - } - $this->_filePath = $filePath; - } - - /** - * Object destructor. - * - * Closes the file if it had been successfully opened. - */ - public function __destruct() - { - if (is_resource($this->_fileResource)) { - @fclose($this->_fileResource); - } - } - - /** - * Returns the specified number of raw bytes from the file at the byte - * offset of the current read position. - * - * Advances the read position by the number of bytes read. - * - * Throws an exception if an error was encountered while reading the file or - * if there is insufficient data to completely fulfill the request. - * - * @param integer $byteCount Number of bytes to read. - * @return string - * @throws Zend_Pdf_Exception - */ - public function readBytes($byteCount) - { - $bytes = @fread($this->_fileResource, $byteCount); - if ($bytes === false) { - throw new Zend_Pdf_Exception('Unexpected error while reading file', - Zend_Pdf_Exception::ERROR_DURING_READ); - } - if (strlen($bytes) != $byteCount) { - throw new Zend_Pdf_Exception("Insufficient data to read $byteCount bytes", - Zend_Pdf_Exception::INSUFFICIENT_DATA); - } - $this->_offset += $byteCount; - return $bytes; - } - - /** - * Returns the entire contents of the file as a string. - * - * Preserves the current file seek position. - * - * @return string - */ - public function readAllBytes() - { - return file_get_contents($this->_filePath); - } - - - /* Object Magic Methods */ - - /** - * Returns the full filesystem path of the file. - * - * @return string - */ - public function __toString() - { - return $this->_filePath; - } - - - /* Primitive Methods */ - - /** - * Seeks the file read position to the specified byte offset. - * - * Throws an exception if the file pointer cannot be moved or if it is - * moved beyond EOF (end of file). - * - * @param integer $offset Destination byte offset. - * @throws Zend_Pdf_Exception - */ - public function moveToOffset($offset) - { - if ($this->_offset == $offset) { - return; // Not moving; do nothing. - } - parent::moveToOffset($offset); - $result = @fseek($this->_fileResource, $offset, SEEK_SET); - if ($result !== 0) { - throw new Zend_Pdf_Exception('Error while setting new file position', - Zend_Pdf_Exception::CANT_SET_FILE_POSITION); - } - if (feof($this->_fileResource)) { - throw new Zend_Pdf_Exception('Moved beyond the end of the file', - Zend_Pdf_Exception::MOVE_BEYOND_END_OF_FILE); - } - } - -} diff --git a/lib/zend/Zend/Pdf/FileParserDataSource/String.php b/lib/zend/Zend/Pdf/FileParserDataSource/String.php deleted file mode 100644 index 451d5e1315..0000000000 --- a/lib/zend/Zend/Pdf/FileParserDataSource/String.php +++ /dev/null @@ -1,128 +0,0 @@ -_size = strlen($string); - $this->_string = $string; - } - - /** - * Object destructor. - */ - public function __destruct() - { - $this->_string = ''; - } - - /** - * Returns the specified number of raw bytes from the string at the byte - * offset of the current read position. - * - * Advances the read position by the number of bytes read. - * - * Throws an exception if there is insufficient data to completely fulfill - * the request. - * - * @param integer $byteCount Number of bytes to read. - * @return string - * @throws Zend_Pdf_Exception - */ - public function readBytes($byteCount) - { - if (($this->_offset + $byteCount) > $this->_size) { - throw new Zend_Pdf_Exception("Insufficient data to read $byteCount bytes", - Zend_Pdf_Exception::INSUFFICIENT_DATA); - } - $bytes = substr($this->_string, $this->_offset, $byteCount); - $this->_offset += $byteCount; - return $bytes; - } - - /** - * Returns the entire string. - * - * Preserves the current read position. - * - * @return string - */ - public function readAllBytes() - { - return $this->_string; - } - - - /* Object Magic Methods */ - - /** - * Returns a string containing the parsed string's length. - * - * @return string - */ - public function __toString() - { - return "String ($this->_size bytes)"; - } - -} diff --git a/lib/zend/Zend/Pdf/Filter/Ascii85.php b/lib/zend/Zend/Pdf/Filter/Ascii85.php deleted file mode 100644 index e347655a60..0000000000 --- a/lib/zend/Zend/Pdf/Filter/Ascii85.php +++ /dev/null @@ -1,61 +0,0 @@ -'; - } - - /** - * Decode data - * - * @param string $data - * @param array $params - * @return string - * @throws Zend_Pdf_Exception - */ - public static function decode($data, $params = null) - { - $output = ''; - $oddCode = true; - $commentMode = false; - - for ($count = 0; $count < strlen($data) && $data[$count] != '>'; $count++) { - $charCode = ord($data[$count]); - - if ($commentMode) { - if ($charCode == 0x0A || $charCode == 0x0D ) { - $commentMode = false; - } - - continue; - } - - switch ($charCode) { - //Skip white space - case 0x00: // null character - // fall through to next case - case 0x09: // Tab - // fall through to next case - case 0x0A: // Line feed - // fall through to next case - case 0x0C: // Form Feed - // fall through to next case - case 0x0D: // Carriage return - // fall through to next case - case 0x20: // Space - // Do nothing - break; - - case 0x25: // '%' - // Switch to comment mode - $commentMode = true; - break; - - default: - if ($charCode >= 0x30 /*'0'*/ && $charCode <= 0x39 /*'9'*/) { - $code = $charCode - 0x30; - } else if ($charCode >= 0x41 /*'A'*/ && $charCode <= 0x46 /*'F'*/) { - $code = $charCode - 0x37/*0x41 - 0x0A*/; - } else if ($charCode >= 0x61 /*'a'*/ && $charCode <= 0x66 /*'f'*/) { - $code = $charCode - 0x57/*0x61 - 0x0A*/; - } else { - throw new Zend_Pdf_Exception('Wrong character in a encoded stream'); - } - - if ($oddCode) { - // Odd pass. Store hex digit for next pass - // Scope of $hexCodeHigh variable is whole function - $hexCodeHigh = $code; - } else { - // Even pass. - // Add decoded character to the output - // ($hexCodeHigh is stored in previous pass) - $output .= chr($hexCodeHigh*16 + $code); - } - $oddCode = !$oddCode; - - break; - } - } - - /* Check that stream is terminated by End Of Data marker */ - if ($data[$count] != '>') { - throw new Zend_Pdf_Exception('Wrong encoded stream End Of Data marker.'); - } - - /* Last '0' character is omitted */ - if (!$oddCode) { - $output .= chr($hexCodeHigh*16); - } - - return $output; - } -} diff --git a/lib/zend/Zend/Pdf/Filter/Compression.php b/lib/zend/Zend/Pdf/Filter/Compression.php deleted file mode 100644 index 89518618f6..0000000000 --- a/lib/zend/Zend/Pdf/Filter/Compression.php +++ /dev/null @@ -1,382 +0,0 @@ -getFontName(Zend_Pdf_Font::NAME_POSTSCRIPT, '', ''); - Zend_Pdf_Font::$_fontNames[$fontName] = $font; - $filePathKey = md5($filePath); - Zend_Pdf_Font::$_fontFilePaths[$filePathKey] = $font; - return $font; - - } else { - /* The type of font could not be determined. Give up. - */ - throw new Zend_Pdf_Exception("Cannot determine font type: $filePath", - Zend_Pdf_Exception::CANT_DETERMINE_FONT_TYPE); - } - - } - - - - /**** Internal Methods ****/ - - - /* Font Extraction Methods */ - - /** - * Attempts to extract a TrueType font from the data source. - * - * If the font parser throws an exception that suggests the data source - * simply doesn't contain a TrueType font, catches it and returns null. If - * an exception is thrown that suggests the TrueType font is corrupt or - * otherwise unusable, throws that exception. If successful, returns the - * font object. - * - * @param Zend_Pdf_FileParserDataSource $dataSource - * @param integer $embeddingOptions Options for font embedding. - * @return Zend_Pdf_Resource_Font_OpenType_TrueType May also return null if - * the data source does not appear to contain a TrueType font. - * @throws Zend_Pdf_Exception - */ - protected static function _extractTrueTypeFont($dataSource, $embeddingOptions) - { - try { - $fontParser = new Zend_Pdf_FileParser_Font_OpenType_TrueType($dataSource); - - $fontParser->parse(); - if ($fontParser->isAdobeLatinSubset) { - $font = new Zend_Pdf_Resource_Font_Simple_Parsed_TrueType($fontParser, $embeddingOptions); - } else { - /* Use Composite Type 0 font which supports Unicode character mapping */ - $cidFont = new Zend_Pdf_Resource_Font_CidFont_TrueType($fontParser, $embeddingOptions); - $font = new Zend_Pdf_Resource_Font_Type0($cidFont); - } - } catch (Zend_Pdf_Exception $exception) { - /* The following exception codes suggest that this isn't really a - * TrueType font. If we caught such an exception, simply return - * null. For all other cases, it probably is a TrueType font but has - * a problem; throw the exception again. - */ - $fontParser = null; - switch ($exception->getCode()) { - case Zend_Pdf_Exception::WRONG_FONT_TYPE: // break intentionally omitted - case Zend_Pdf_Exception::BAD_TABLE_COUNT: // break intentionally omitted - case Zend_Pdf_Exception::BAD_MAGIC_NUMBER: - return null; - - default: - throw $exception; - } - } - return $font; - } - -} diff --git a/lib/zend/Zend/Pdf/Image.php b/lib/zend/Zend/Pdf/Image.php deleted file mode 100644 index 2a2e574149..0000000000 --- a/lib/zend/Zend/Pdf/Image.php +++ /dev/null @@ -1,246 +0,0 @@ - object tree entries - * - * @var array - */ - protected $_items = array(); - - /** - * Object constructor - * - * @param $rootDictionary root of name dictionary - */ - public function __construct(Zend_Pdf_Element $rootDictionary) - { - if ($rootDictionary->getType() != Zend_Pdf_Element::TYPE_DICTIONARY) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Name tree root must be a dictionary.'); - } - - $intermediateNodes = array(); - $leafNodes = array(); - if ($rootDictionary->Kids !== null) { - $intermediateNodes[] = $rootDictionary; - } else { - $leafNodes[] = $rootDictionary; - } - - while (count($intermediateNodes) != 0) { - $newIntermediateNodes = array(); - foreach ($intermediateNodes as $node) { - foreach ($node->Kids->items as $childNode) { - if ($childNode->Kids !== null) { - $newIntermediateNodes[] = $childNode; - } else { - $leafNodes[] = $childNode; - } - } - } - $intermediateNodes = $newIntermediateNodes; - } - - foreach ($leafNodes as $leafNode) { - $destinationsCount = count($leafNode->Names->items)/2; - for ($count = 0; $count < $destinationsCount; $count++) { - $this->_items[$leafNode->Names->items[$count*2]->value] = $leafNode->Names->items[$count*2 + 1]; - } - } - } - - public function current() - { - return current($this->_items); - } - - - public function next() - { - return next($this->_items); - } - - - public function key() - { - return key($this->_items); - } - - - public function valid() { - return current($this->_items)!==false; - } - - - public function rewind() - { - reset($this->_items); - } - - - public function offsetExists($offset) - { - return array_key_exists($offset, $this->_items); - } - - - public function offsetGet($offset) - { - return $this->_items[$offset]; - } - - - public function offsetSet($offset, $value) - { - if ($offset === null) { - $this->_items[] = $value; - } else { - $this->_items[$offset] = $value; - } - } - - - public function offsetUnset($offset) - { - unset($this->_items[$offset]); - } - - - public function clear() - { - $this->_items = array(); - } - - public function count() - { - return count($this->_items); - } -} diff --git a/lib/zend/Zend/Pdf/Outline.php b/lib/zend/Zend/Pdf/Outline.php deleted file mode 100644 index 6b9598c08d..0000000000 --- a/lib/zend/Zend/Pdf/Outline.php +++ /dev/null @@ -1,376 +0,0 @@ -_open; - } - - /** - * Sets 'isOpen' outline flag - * - * @param boolean $isOpen - * @return Zend_Pdf_Outline - */ - public function setIsOpen($isOpen) - { - $this->_open = $isOpen; - return $this; - } - - /** - * Returns true if outline item is displayed in italic - * - * @return boolean - */ - abstract public function isItalic(); - - /** - * Sets 'isItalic' outline flag - * - * @param boolean $isItalic - * @return Zend_Pdf_Outline - */ - abstract public function setIsItalic($isItalic); - - /** - * Returns true if outline item is displayed in bold - * - * @return boolean - */ - abstract public function isBold(); - - /** - * Sets 'isBold' outline flag - * - * @param boolean $isBold - * @return Zend_Pdf_Outline - */ - abstract public function setIsBold($isBold); - - - /** - * Get outline text color. - * - * @return Zend_Pdf_Color_Rgb - */ - abstract public function getColor(); - - /** - * Set outline text color. - * (null means default color which is black) - * - * @param Zend_Pdf_Color_Rgb $color - * @return Zend_Pdf_Outline - */ - abstract public function setColor(Zend_Pdf_Color_Rgb $color); - - /** - * Get outline target. - * - * @return Zend_Pdf_Target - */ - abstract public function getTarget(); - - /** - * Set outline target. - * Null means no target - * - * @param Zend_Pdf_Target|string $target - * @return Zend_Pdf_Outline - */ - abstract public function setTarget($target = null); - - /** - * Get outline options - * - * @return array - */ - public function getOptions() - { - return array('title' => $this->_title, - 'open' => $this->_open, - 'color' => $this->_color, - 'italic' => $this->_italic, - 'bold' => $this->_bold, - 'target' => $this->_target); - } - - /** - * Set outline options - * - * @param array $options - * @return Zend_Pdf_Actions - * @throws Zend_Pdf_Exception - */ - public function setOptions(array $options) - { - foreach ($options as $key => $value) { - switch ($key) { - case 'title': - $this->setTitle($value); - break; - - case 'open': - $this->setIsOpen($value); - break; - - case 'color': - $this->setColor($value); - break; - case 'italic': - $this->setIsItalic($value); - break; - - case 'bold': - $this->setIsBold($value); - break; - - case 'target': - $this->setTarget($value); - break; - - default: - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("Unknown option name - '$key'."); - break; - } - } - - return $this; - } - - /** - * Create new Outline object - * - * It provides two forms of input parameters: - * - * 1. Zend_Pdf_Outline::create(string $title[, Zend_Pdf_Target $target]) - * 2. Zend_Pdf_Outline::create(array $options) - * - * Second form allows to provide outline options as an array. - * The followed options are supported: - * 'title' - string, outline title, required - * 'open' - boolean, true if outline entry is open (default value is false) - * 'color' - Zend_Pdf_Color_Rgb object, true if outline entry is open (default value is null - black) - * 'italic' - boolean, true if outline entry is displayed in italic (default value is false) - * 'bold' - boolean, true if outline entry is displayed in bold (default value is false) - * 'target' - Zend_Pdf_Target object or string, outline item destination - * - * @return Zend_Pdf_Outline - * @throws Zend_Pdf_Exception - */ - public static function create($param1, $param2 = null) - { - if (is_string($param1)) { - if ($param2 !== null && !($param2 instanceof Zend_Pdf_Target || is_string($param2))) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Outline create method takes $title (string) and $target (Zend_Pdf_Target or string) or an array as an input'); - } - - require_once 'Zend/Pdf/Outline/Created.php'; - return new Zend_Pdf_Outline_Created(array('title' => $param1, - 'target' => $param2)); - } else { - if (!is_array($param1) || $param2 !== null) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Outline create method takes $title (string) and $destination (Zend_Pdf_Destination) or an array as an input'); - } - - return new Zend_Pdf_Outline_Created($param1); - } - } - - /** - * Returns number of the total number of open items at all levels of the outline. - * - * @internal - * @return integer - */ - public function openOutlinesCount() - { - $count = 1; // Include this outline - - if ($this->isOpen()) { - foreach ($this->childOutlines as $child) { - $count += $child->openOutlinesCount(); - } - } - - return $count; - } - - /** - * Dump Outline and its child outlines into PDF structures - * - * Returns dictionary indirect object or reference - * - * @param Zend_Pdf_ElementFactory $factory object factory for newly created indirect objects - * @param boolean $updateNavigation Update navigation flag - * @param Zend_Pdf_Element $parent Parent outline dictionary reference - * @param Zend_Pdf_Element $prev Previous outline dictionary reference - * @param SplObjectStorage $processedOutlines List of already processed outlines - * @return Zend_Pdf_Element - */ - abstract public function dumpOutline(Zend_Pdf_ElementFactory_Interface $factory, - $updateNavigation, - Zend_Pdf_Element $parent, - Zend_Pdf_Element $prev = null, - SplObjectStorage $processedOutlines = null); - - - //////////////////////////////////////////////////////////////////////// - // RecursiveIterator interface methods - ////////////// - - /** - * Returns the child outline. - * - * @return Zend_Pdf_Outline - */ - public function current() - { - return current($this->childOutlines); - } - - /** - * Returns current iterator key - * - * @return integer - */ - public function key() - { - return key($this->childOutlines); - } - - /** - * Go to next child - */ - public function next() - { - return next($this->childOutlines); - } - - /** - * Rewind children - */ - public function rewind() - { - return reset($this->childOutlines); - } - - /** - * Check if current position is valid - * - * @return boolean - */ - public function valid() - { - return current($this->childOutlines) !== false; - } - - /** - * Returns the child outline. - * - * @return Zend_Pdf_Outline|null - */ - public function getChildren() - { - return current($this->childOutlines); - } - - /** - * Implements RecursiveIterator interface. - * - * @return bool whether container has any pages - */ - public function hasChildren() - { - return count($this->childOutlines) > 0; - } - - - //////////////////////////////////////////////////////////////////////// - // Countable interface methods - ////////////// - - /** - * count() - * - * @return int - */ - public function count() - { - return count($this->childOutlines); - } -} diff --git a/lib/zend/Zend/Pdf/Outline/Created.php b/lib/zend/Zend/Pdf/Outline/Created.php deleted file mode 100644 index 6b79a2f9e3..0000000000 --- a/lib/zend/Zend/Pdf/Outline/Created.php +++ /dev/null @@ -1,317 +0,0 @@ -_title; - } - - /** - * Set outline title - * - * @param string $title - * @return Zend_Pdf_Outline - */ - public function setTitle($title) - { - $this->_title = $title; - return $this; - } - - /** - * Returns true if outline item is displayed in italic - * - * @return boolean - */ - public function isItalic() - { - return $this->_italic; - } - - /** - * Sets 'isItalic' outline flag - * - * @param boolean $isItalic - * @return Zend_Pdf_Outline - */ - public function setIsItalic($isItalic) - { - $this->_italic = $isItalic; - return $this; - } - - /** - * Returns true if outline item is displayed in bold - * - * @return boolean - */ - public function isBold() - { - return $this->_bold; - } - - /** - * Sets 'isBold' outline flag - * - * @param boolean $isBold - * @return Zend_Pdf_Outline - */ - public function setIsBold($isBold) - { - $this->_bold = $isBold; - return $this; - } - - - /** - * Get outline text color. - * - * @return Zend_Pdf_Color_Rgb - */ - public function getColor() - { - return $this->_color; - } - - /** - * Set outline text color. - * (null means default color which is black) - * - * @param Zend_Pdf_Color_Rgb $color - * @return Zend_Pdf_Outline - */ - public function setColor(Zend_Pdf_Color_Rgb $color) - { - $this->_color = $color; - return $this; - } - - /** - * Get outline target. - * - * @return Zend_Pdf_Target - */ - public function getTarget() - { - return $this->_target; - } - - /** - * Set outline target. - * Null means no target - * - * @param Zend_Pdf_Target|string $target - * @return Zend_Pdf_Outline - * @throws Zend_Pdf_Exception - */ - public function setTarget($target = null) - { - if (is_string($target)) { - require_once 'Zend/Pdf/Destination/Named.php'; - $target = new Zend_Pdf_Destination_Named($target); - } - - if ($target === null || $target instanceof Zend_Pdf_Target) { - $this->_target = $target; - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Outline target has to be Zend_Pdf_Destination or Zend_Pdf_Action object or string'); - } - - return $this; - } - - - /** - * Object constructor - * - * @param array $options - * @throws Zend_Pdf_Exception - */ - public function __construct($options = array()) - { - if (!isset($options['title'])) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Title parameter is required.'); - } - - $this->setOptions($options); - } - - /** - * Dump Outline and its child outlines into PDF structures - * - * Returns dictionary indirect object or reference - * - * @internal - * @param Zend_Pdf_ElementFactory $factory object factory for newly created indirect objects - * @param boolean $updateNavigation Update navigation flag - * @param Zend_Pdf_Element $parent Parent outline dictionary reference - * @param Zend_Pdf_Element $prev Previous outline dictionary reference - * @param SplObjectStorage $processedOutlines List of already processed outlines - * @return Zend_Pdf_Element - * @throws Zend_Pdf_Exception - */ - public function dumpOutline(Zend_Pdf_ElementFactory_Interface $factory, - $updateNavigation, - Zend_Pdf_Element $parent, - Zend_Pdf_Element $prev = null, - SplObjectStorage $processedOutlines = null) - { - if ($processedOutlines === null) { - $processedOutlines = new SplObjectStorage(); - } - $processedOutlines->attach($this); - - $outlineDictionary = $factory->newObject(new Zend_Pdf_Element_Dictionary()); - - $outlineDictionary->Title = new Zend_Pdf_Element_String($this->getTitle()); - - $target = $this->getTarget(); - if ($target === null) { - // Do nothing - } else if ($target instanceof Zend_Pdf_Destination) { - $outlineDictionary->Dest = $target->getResource(); - } else if ($target instanceof Zend_Pdf_Action) { - $outlineDictionary->A = $target->getResource(); - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Outline target has to be Zend_Pdf_Destination, Zend_Pdf_Action object or null'); - } - - $color = $this->getColor(); - if ($color !== null) { - $components = $color->getComponents(); - $colorComponentElements = array(new Zend_Pdf_Element_Numeric($components[0]), - new Zend_Pdf_Element_Numeric($components[1]), - new Zend_Pdf_Element_Numeric($components[2])); - $outlineDictionary->C = new Zend_Pdf_Element_Array($colorComponentElements); - } - - if ($this->isItalic() || $this->isBold()) { - $outlineDictionary->F = new Zend_Pdf_Element_Numeric(($this->isItalic()? 1 : 0) | // Bit 1 - Italic - ($this->isBold()? 2 : 0)); // Bit 2 - Bold - } - - - $outlineDictionary->Parent = $parent; - $outlineDictionary->Prev = $prev; - - $lastChild = null; - foreach ($this->childOutlines as $childOutline) { - if ($processedOutlines->contains($childOutline)) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Outlines cyclyc reference is detected.'); - } - - if ($lastChild === null) { - $lastChild = $childOutline->dumpOutline($factory, true, $outlineDictionary, null, $processedOutlines); - $outlineDictionary->First = $lastChild; - } else { - $childOutlineDictionary = $childOutline->dumpOutline($factory, true, $outlineDictionary, $lastChild, $processedOutlines); - $lastChild->Next = $childOutlineDictionary; - $lastChild = $childOutlineDictionary; - } - } - $outlineDictionary->Last = $lastChild; - - if (count($this->childOutlines) != 0) { - $outlineDictionary->Count = new Zend_Pdf_Element_Numeric(($this->isOpen()? 1 : -1)*count($this->childOutlines)); - } - - return $outlineDictionary; - } -} diff --git a/lib/zend/Zend/Pdf/Outline/Loaded.php b/lib/zend/Zend/Pdf/Outline/Loaded.php deleted file mode 100644 index 8f2b8b883f..0000000000 --- a/lib/zend/Zend/Pdf/Outline/Loaded.php +++ /dev/null @@ -1,462 +0,0 @@ -_outlineDictionary->Title === null) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Outline dictionary Title entry is required.'); - } - return $this->_outlineDictionary->Title->value; - } - - /** - * Set outline title - * - * @param string $title - * @return Zend_Pdf_Outline - */ - public function setTitle($title) - { - $this->_outlineDictionary->Title->touch(); - $this->_outlineDictionary->Title = new Zend_Pdf_Element_String($title); - return $this; - } - - /** - * Sets 'isOpen' outline flag - * - * @param boolean $isOpen - * @return Zend_Pdf_Outline - */ - public function setIsOpen($isOpen) - { - parent::setIsOpen($isOpen); - - if ($this->_outlineDictionary->Count === null) { - // Do Nothing. - return this; - } - - $childrenCount = $this->_outlineDictionary->Count->value; - $isOpenCurrentState = ($childrenCount > 0); - if ($isOpen != $isOpenCurrentState) { - $this->_outlineDictionary->Count->touch(); - $this->_outlineDictionary->Count->value = ($isOpen? 1 : -1)*abs($childrenCount); - } - - return $this; - } - - /** - * Returns true if outline item is displayed in italic - * - * @return boolean - */ - public function isItalic() - { - if ($this->_outlineDictionary->F === null) { - return false; - } - return $this->_outlineDictionary->F->value & 1; - } - - /** - * Sets 'isItalic' outline flag - * - * @param boolean $isItalic - * @return Zend_Pdf_Outline - */ - public function setIsItalic($isItalic) - { - if ($this->_outlineDictionary->F === null) { - $this->_outlineDictionary->touch(); - $this->_outlineDictionary->F = new Zend_Pdf_Element_Numeric($isItalic? 1 : 0); - } else { - $this->_outlineDictionary->F->touch(); - if ($isItalic) { - $this->_outlineDictionary->F->value = $this->_outlineDictionary->F->value | 1; - } else { - $this->_outlineDictionary->F->value = $this->_outlineDictionary->F->value | ~1; - } - } - return $this; - } - - /** - * Returns true if outline item is displayed in bold - * - * @return boolean - */ - public function isBold() - { - if ($this->_outlineDictionary->F === null) { - return false; - } - return $this->_outlineDictionary->F->value & 2; - } - - /** - * Sets 'isBold' outline flag - * - * @param boolean $isBold - * @return Zend_Pdf_Outline - */ - public function setIsBold($isBold) - { - if ($this->_outlineDictionary->F === null) { - $this->_outlineDictionary->touch(); - $this->_outlineDictionary->F = new Zend_Pdf_Element_Numeric($isBold? 2 : 0); - } else { - $this->_outlineDictionary->F->touch(); - if ($isBold) { - $this->_outlineDictionary->F->value = $this->_outlineDictionary->F->value | 2; - } else { - $this->_outlineDictionary->F->value = $this->_outlineDictionary->F->value | ~2; - } - } - return $this; - } - - - /** - * Get outline text color. - * - * @return Zend_Pdf_Color_Rgb - */ - public function getColor() - { - if ($this->_outlineDictionary->C === null) { - return null; - } - - $components = $this->_outlineDictionary->C->items; - - require_once 'Zend/Pdf/Color/Rgb.php'; - return new Zend_Pdf_Color_Rgb($components[0], $components[1], $components[2]); - } - - /** - * Set outline text color. - * (null means default color which is black) - * - * @param Zend_Pdf_Color_Rgb $color - * @return Zend_Pdf_Outline - */ - public function setColor(Zend_Pdf_Color_Rgb $color) - { - $this->_outlineDictionary->touch(); - - if ($color === null) { - $this->_outlineDictionary->C = null; - } else { - $components = $color->getComponents(); - $colorComponentElements = array(new Zend_Pdf_Element_Numeric($components[0]), - new Zend_Pdf_Element_Numeric($components[1]), - new Zend_Pdf_Element_Numeric($components[2])); - $this->_outlineDictionary->C = new Zend_Pdf_Element_Array($colorComponentElements); - } - - return $this; - } - - /** - * Get outline target. - * - * @return Zend_Pdf_Target - * @thows Zend_Pdf_Exception - */ - public function getTarget() - { - if ($this->_outlineDictionary->Dest !== null) { - if ($this->_outlineDictionary->A !== null) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Outline dictionary may contain Dest or A entry, but not both.'); - } - - return Zend_Pdf_Destination::load($this->_outlineDictionary->Dest); - } else if ($this->_outlineDictionary->A !== null) { - return Zend_Pdf_Action::load($this->_outlineDictionary->A); - } - - return null; - } - - /** - * Set outline target. - * Null means no target - * - * @param Zend_Pdf_Target|string $target - * @return Zend_Pdf_Outline - * @throws Zend_Pdf_Exception - */ - public function setTarget($target = null) - { - $this->_outlineDictionary->touch(); - - if (is_string($target)) { - require_once 'Zend/Pdf/Destination/Named.php'; - $target = Zend_Pdf_Destination_Named::create($target); - } - - if ($target === null) { - $this->_outlineDictionary->Dest = null; - $this->_outlineDictionary->A = null; - } else if ($target instanceof Zend_Pdf_Destination) { - $this->_outlineDictionary->Dest = $target->getResource(); - $this->_outlineDictionary->A = null; - } else if ($target instanceof Zend_Pdf_Action) { - $this->_outlineDictionary->Dest = null; - $this->_outlineDictionary->A = $target->getResource(); - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Outline target has to be Zend_Pdf_Destination or Zend_Pdf_Action object or string'); - } - - return $this; - } - - /** - * Set outline options - * - * @param array $options - * @return Zend_Pdf_Actions_Traceable - * @throws Zend_Pdf_Exception - */ - public function setOptions(array $options) - { - parent::setOptions($options); - - return $this; - } - - - - /** - * Create PDF outline object using specified dictionary - * - * @internal - * @param Zend_Pdf_Element $dictionary (It's actually Dictionary or Dictionary Object or Reference to a Dictionary Object) - * @param Zend_Pdf_Action $parentAction - * @param SplObjectStorage $processedOutlines List of already processed Outline dictionaries, - * used to avoid cyclic references - * @return Zend_Pdf_Action - * @throws Zend_Pdf_Exception - */ - public function __construct(Zend_Pdf_Element $dictionary, SplObjectStorage $processedDictionaries = null) - { - if ($dictionary->getType() != Zend_Pdf_Element::TYPE_DICTIONARY) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('$dictionary mast be an indirect dictionary object.'); - } - - if ($processedDictionaries === null) { - $processedDictionaries = new SplObjectStorage(); - } - $processedDictionaries->attach($dictionary); - - $this->_outlineDictionary = $dictionary; - - if ($dictionary->Count !== null) { - if ($dictionary->Count->getType() != Zend_Pdf_Element::TYPE_NUMERIC) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Outline dictionary Count entry must be a numeric element.'); - } - - $childOutlinesCount = $dictionary->Count->value; - if ($childOutlinesCount > 0) { - $this->_open = true; - } - $childOutlinesCount = abs($childOutlinesCount); - - $childDictionary = $dictionary->First; - for ($count = 0; $count < $childOutlinesCount; $count++) { - if ($childDictionary === null) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Outline childs load error.'); - } - - if (!$processedDictionaries->contains($childDictionary)) { - $this->childOutlines[] = new Zend_Pdf_Outline_Loaded($childDictionary, $processedDictionaries); - } - - $childDictionary = $childDictionary->Next; - } - - if ($childDictionary !== null) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Outline childs load error.'); - } - - $this->_originalChildOutlines = $this->childOutlines; - } - } - - /** - * Dump Outline and its child outlines into PDF structures - * - * Returns dictionary indirect object or reference - * - * @internal - * @param Zend_Pdf_ElementFactory $factory object factory for newly created indirect objects - * @param boolean $updateNavigation Update navigation flag - * @param Zend_Pdf_Element $parent Parent outline dictionary reference - * @param Zend_Pdf_Element $prev Previous outline dictionary reference - * @param SplObjectStorage $processedOutlines List of already processed outlines - * @return Zend_Pdf_Element - * @throws Zend_Pdf_Exception - */ - public function dumpOutline(Zend_Pdf_ElementFactory_Interface $factory, - $updateNavigation, - Zend_Pdf_Element $parent, - Zend_Pdf_Element $prev = null, - SplObjectStorage $processedOutlines = null) - { - if ($processedOutlines === null) { - $processedOutlines = new SplObjectStorage(); - } - $processedOutlines->attach($this); - - if ($updateNavigation) { - $this->_outlineDictionary->touch(); - - $this->_outlineDictionary->Parent = $parent; - $this->_outlineDictionary->Prev = $prev; - $this->_outlineDictionary->Next = null; - } - - $updateChildNavigation = false; - if (count($this->_originalChildOutlines) != count($this->childOutlines)) { - // If original and current children arrays have different size then children list was updated - $updateChildNavigation = true; - } else if ( !(array_keys($this->_originalChildOutlines) === array_keys($this->childOutlines)) ) { - // If original and current children arrays have different keys (with a glance to an order) then children list was updated - $updateChildNavigation = true; - } else { - foreach ($this->childOutlines as $key => $childOutline) { - if ($this->_originalChildOutlines[$key] !== $childOutline) { - $updateChildNavigation = true; - break; - } - } - } - - $lastChild = null; - if ($updateChildNavigation) { - $this->_outlineDictionary->touch(); - $this->_outlineDictionary->First = null; - - foreach ($this->childOutlines as $childOutline) { - if ($processedOutlines->contains($childOutline)) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Outlines cyclyc reference is detected.'); - } - - if ($lastChild === null) { - // First pass. Update Outlines dictionary First entry using corresponding value - $lastChild = $childOutline->dumpOutline($factory, $updateChildNavigation, $this->_outlineDictionary, null, $processedOutlines); - $this->_outlineDictionary->First = $lastChild; - } else { - // Update previous outline dictionary Next entry (Prev is updated within dumpOutline() method) - $childOutlineDictionary = $childOutline->dumpOutline($factory, $updateChildNavigation, $this->_outlineDictionary, $lastChild, $processedOutlines); - $lastChild->Next = $childOutlineDictionary; - $lastChild = $childOutlineDictionary; - } - } - - $this->_outlineDictionary->Last = $lastChild; - - if (count($this->childOutlines) != 0) { - $this->_outlineDictionary->Count = new Zend_Pdf_Element_Numeric(($this->isOpen()? 1 : -1)*count($this->childOutlines)); - } else { - $this->_outlineDictionary->Count = null; - } - } else { - foreach ($this->childOutlines as $childOutline) { - if ($processedOutlines->contains($childOutline)) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Outlines cyclyc reference is detected.'); - } - $lastChild = $childOutline->dumpOutline($factory, $updateChildNavigation, $this->_outlineDictionary, $lastChild, $processedOutlines); - } - } - - return $this->_outlineDictionary; - } - - public function dump($level = 0) - { - printf(":%3d:%s:%s:%s%s :\n", count($this->childOutlines),$this->isItalic()? 'i':' ', $this->isBold()? 'b':' ', str_pad('', 4*$level), $this->getTitle()); - - if ($this->isOpen() || true) { - foreach ($this->childOutlines as $child) { - $child->dump($level + 1); - } - } - } -} diff --git a/lib/zend/Zend/Pdf/Page.php b/lib/zend/Zend/Pdf/Page.php deleted file mode 100644 index 32f9994d1f..0000000000 --- a/lib/zend/Zend/Pdf/Page.php +++ /dev/null @@ -1,1646 +0,0 @@ -getType() == Zend_Pdf_Element::TYPE_DICTIONARY && - $param2 instanceof Zend_Pdf_ElementFactory_Interface && - $param3 === null - ) { - $this->_pageDictionary = $param1; - $this->_objFactory = $param2; - $this->_attached = true; - $this->_safeGS = false; - - return; - - } else if ($param1 instanceof Zend_Pdf_Page && $param2 === null && $param3 === null) { - // Clone existing page. - // Let already existing content and resources to be shared between pages - // We don't give existing content modification functionality, so we don't need "deep copy" - $this->_objFactory = $param1->_objFactory; - $this->_attached = &$param1->_attached; - $this->_safeGS = false; - - $this->_pageDictionary = $this->_objFactory->newObject(new Zend_Pdf_Element_Dictionary()); - - foreach ($param1->_pageDictionary->getKeys() as $key) { - if ($key == 'Contents') { - // Clone Contents property - - $this->_pageDictionary->Contents = new Zend_Pdf_Element_Array(); - - if ($param1->_pageDictionary->Contents->getType() != Zend_Pdf_Element::TYPE_ARRAY) { - // Prepare array of content streams and add existing stream - $this->_pageDictionary->Contents->items[] = $param1->_pageDictionary->Contents; - } else { - // Clone array of the content streams - foreach ($param1->_pageDictionary->Contents->items as $srcContentStream) { - $this->_pageDictionary->Contents->items[] = $srcContentStream; - } - } - } else { - $this->_pageDictionary->$key = $param1->_pageDictionary->$key; - } - } - - return; - } else if (is_string($param1) && - ($param2 === null || $param2 instanceof Zend_Pdf_ElementFactory_Interface) && - $param3 === null) { - $this->_objFactory = ($param2 !== null)? $param2 : Zend_Pdf_ElementFactory::createFactory(1); - $this->_attached = false; - $this->_safeGS = true; /** New page created. That's users App responsibility to track GS changes */ - - switch (strtolower($param1)) { - case 'a4': - $param1 = Zend_Pdf_Page::SIZE_A4; - break; - case 'a4-landscape': - $param1 = Zend_Pdf_Page::SIZE_A4_LANDSCAPE; - break; - case 'letter': - $param1 = Zend_Pdf_Page::SIZE_LETTER; - break; - case 'letter-landscape': - $param1 = Zend_Pdf_Page::SIZE_LETTER_LANDSCAPE; - break; - default: - // should be in "x:y" form - } - - $pageDim = explode(':', $param1); - if(count($pageDim) == 3) { - $pageWidth = $pageDim[0]; - $pageHeight = $pageDim[1]; - } else { - /** - * @todo support of user defined pagesize notations, like: - * "210x297mm", "595x842", "8.5x11in", "612x792" - */ - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Wrong pagesize notation.'); - } - /** - * @todo support of pagesize recalculation to "default user space units" - */ - - } else if (is_numeric($param1) && is_numeric($param2) && - ($param3 === null || $param3 instanceof Zend_Pdf_ElementFactory_Interface)) { - $this->_objFactory = ($param3 !== null)? $param3 : Zend_Pdf_ElementFactory::createFactory(1); - $this->_attached = false; - $this->_safeGS = true; /** New page created. That's users App responsibility to track GS changes */ - $pageWidth = $param1; - $pageHeight = $param2; - - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Unrecognized method signature, wrong number of arguments or wrong argument types.'); - } - - $this->_pageDictionary = $this->_objFactory->newObject(new Zend_Pdf_Element_Dictionary()); - $this->_pageDictionary->Type = new Zend_Pdf_Element_Name('Page'); - $this->_pageDictionary->LastModified = new Zend_Pdf_Element_String(Zend_Pdf::pdfDate()); - $this->_pageDictionary->Resources = new Zend_Pdf_Element_Dictionary(); - $this->_pageDictionary->MediaBox = new Zend_Pdf_Element_Array(); - $this->_pageDictionary->MediaBox->items[] = new Zend_Pdf_Element_Numeric(0); - $this->_pageDictionary->MediaBox->items[] = new Zend_Pdf_Element_Numeric(0); - $this->_pageDictionary->MediaBox->items[] = new Zend_Pdf_Element_Numeric($pageWidth); - $this->_pageDictionary->MediaBox->items[] = new Zend_Pdf_Element_Numeric($pageHeight); - $this->_pageDictionary->Contents = new Zend_Pdf_Element_Array(); - } - - - /** - * Clone operator - * - * @throws Zend_Pdf_Exception - */ - public function __clone() - { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Cloning Zend_Pdf_Page object using \'clone\' keyword is not supported. Use \'new Zend_Pdf_Page($srcPage)\' syntax'); - } - - /** - * Attach resource to the page - * - * @param string $type - * @param Zend_Pdf_Resource $resource - * @return string - */ - protected function _attachResource($type, Zend_Pdf_Resource $resource) - { - // Check that Resources dictionary contains appropriate resource set - if ($this->_pageDictionary->Resources->$type === null) { - $this->_pageDictionary->Resources->touch(); - $this->_pageDictionary->Resources->$type = new Zend_Pdf_Element_Dictionary(); - } else { - $this->_pageDictionary->Resources->$type->touch(); - } - - // Check, that resource is already attached to resource set. - $resObject = $resource->getResource(); - foreach ($this->_pageDictionary->Resources->$type->getKeys() as $ResID) { - if ($this->_pageDictionary->Resources->$type->$ResID === $resObject) { - return $ResID; - } - } - - $idCounter = 1; - do { - $newResName = $type[0] . $idCounter++; - } while ($this->_pageDictionary->Resources->$type->$newResName !== null); - - $this->_pageDictionary->Resources->$type->$newResName = $resObject; - $this->_objFactory->attach($resource->getFactory()); - - return $newResName; - } - - /** - * Add procedureSet to the Page description - * - * @param string $procSetName - */ - protected function _addProcSet($procSetName) - { - // Check that Resources dictionary contains ProcSet entry - if ($this->_pageDictionary->Resources->ProcSet === null) { - $this->_pageDictionary->Resources->touch(); - $this->_pageDictionary->Resources->ProcSet = new Zend_Pdf_Element_Array(); - } else { - $this->_pageDictionary->Resources->ProcSet->touch(); - } - - foreach ($this->_pageDictionary->Resources->ProcSet->items as $procSetEntry) { - if ($procSetEntry->value == $procSetName) { - // Procset is already included into a ProcSet array - return; - } - } - - $this->_pageDictionary->Resources->ProcSet->items[] = new Zend_Pdf_Element_Name($procSetName); - } - - /** - * Retrive PDF file reference to the page - * - * @internal - * @return Zend_Pdf_Element_Dictionary - */ - public function getPageDictionary() - { - return $this->_pageDictionary; - } - - /** - * Dump current drawing instructions into the content stream. - * - * @todo Don't forget to close all current graphics operations (like path drawing) - * - * @throws Zend_Pdf_Exception - */ - public function flush() - { - if ($this->_saveCount != 0) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Saved graphics state is not restored'); - } - - if ($this->_contents == '') { - return; - } - - if ($this->_pageDictionary->Contents->getType() != Zend_Pdf_Element::TYPE_ARRAY) { - /** - * It's a stream object. - * Prepare Contents page attribute for update. - */ - $this->_pageDictionary->touch(); - - $currentPageContents = $this->_pageDictionary->Contents; - $this->_pageDictionary->Contents = new Zend_Pdf_Element_Array(); - $this->_pageDictionary->Contents->items[] = $currentPageContents; - } else { - $this->_pageDictionary->Contents->touch(); - } - - if ((!$this->_safeGS) && (count($this->_pageDictionary->Contents->items) != 0)) { - /** - * Page already has some content which is not treated as safe. - * - * Add save/restore GS operators - */ - $this->_addProcSet('PDF'); - - $newContentsArray = new Zend_Pdf_Element_Array(); - $newContentsArray->items[] = $this->_objFactory->newStreamObject(" q\n"); - foreach ($this->_pageDictionary->Contents->items as $contentStream) { - $newContentsArray->items[] = $contentStream; - } - $newContentsArray->items[] = $this->_objFactory->newStreamObject(" Q\n"); - - $this->_pageDictionary->touch(); - $this->_pageDictionary->Contents = $newContentsArray; - - $this->_safeGS = true; - } - - $this->_pageDictionary->Contents->items[] = - $this->_objFactory->newStreamObject($this->_contents); - - $this->_contents = ''; - } - - /** - * Prepare page to be rendered into PDF. - * - * @todo Don't forget to close all current graphics operations (like path drawing) - * - * @param Zend_Pdf_ElementFactory_Interface $objFactory - * @throws Zend_Pdf_Exception - */ - public function render(Zend_Pdf_ElementFactory_Interface $objFactory) - { - $this->flush(); - - if ($objFactory === $this->_objFactory) { - // Page is already attached to the document. - return; - } - - if ($this->_attached) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Page is attached to one documen, but rendered in context of another.'); - /** - * @todo Page cloning must be implemented here instead of exception. - * PDF objects (ex. fonts) can be shared between pages. - * Thus all referenced objects, which can be modified, must be cloned recursively, - * to avoid producing wrong object references in a context of source PDF. - */ - - //... - } else { - $objFactory->attach($this->_objFactory); - } - } - - - - /** - * Set fill color. - * - * @param Zend_Pdf_Color $color - * @return Zend_Pdf_Page - */ - public function setFillColor(Zend_Pdf_Color $color) - { - $this->_addProcSet('PDF'); - $this->_contents .= $color->instructions(false); - - return $this; - } - - /** - * Set line color. - * - * @param Zend_Pdf_Color $color - * @return Zend_Pdf_Page - */ - public function setLineColor(Zend_Pdf_Color $color) - { - $this->_addProcSet('PDF'); - $this->_contents .= $color->instructions(true); - - return $this; - } - - /** - * Set line width. - * - * @param float $width - * @return Zend_Pdf_Page - */ - public function setLineWidth($width) - { - $this->_addProcSet('PDF'); - $widthObj = new Zend_Pdf_Element_Numeric($width); - $this->_contents .= $widthObj->toString() . " w\n"; - - return $this; - } - - /** - * Set line dashing pattern - * - * Pattern is an array of floats: array(on_length, off_length, on_length, off_length, ...) - * Phase is shift from the beginning of line. - * - * @param array $pattern - * @param array $phase - * @return Zend_Pdf_Page - */ - public function setLineDashingPattern($pattern, $phase = 0) - { - $this->_addProcSet('PDF'); - - if ($pattern === Zend_Pdf_Page::LINE_DASHING_SOLID) { - $pattern = array(); - $phase = 0; - } - - $dashPattern = new Zend_Pdf_Element_Array(); - $phaseEleemnt = new Zend_Pdf_Element_Numeric($phase); - - foreach ($pattern as $dashItem) { - $dashElement = new Zend_Pdf_Element_Numeric($dashItem); - $dashPattern->items[] = $dashElement; - } - - $this->_contents .= $dashPattern->toString() . ' ' - . $phaseEleemnt->toString() . " d\n"; - - return $this; - } - - /** - * Set current font. - * - * @param Zend_Pdf_Resource_Font $font - * @param float $fontSize - * @return Zend_Pdf_Page - */ - public function setFont(Zend_Pdf_Resource_Font $font, $fontSize) - { - $this->_addProcSet('Text'); - $fontName = $this->_attachResource('Font', $font); - - $this->_font = $font; - $this->_fontSize = $fontSize; - - $fontNameObj = new Zend_Pdf_Element_Name($fontName); - $fontSizeObj = new Zend_Pdf_Element_Numeric($fontSize); - $this->_contents .= $fontNameObj->toString() . ' ' . $fontSizeObj->toString() . " Tf\n"; - - return $this; - } - - /** - * Set the style to use for future drawing operations on this page - * - * @param Zend_Pdf_Style $style - * @return Zend_Pdf_Page - */ - public function setStyle(Zend_Pdf_Style $style) - { - $this->_style = $style; - - $this->_addProcSet('Text'); - $this->_addProcSet('PDF'); - if ($style->getFont() !== null) { - $this->setFont($style->getFont(), $style->getFontSize()); - } - $this->_contents .= $style->instructions($this->_pageDictionary->Resources); - - return $this; - } - - /** - * Set the transparancy - * - * $alpha == 0 - transparent - * $alpha == 1 - opaque - * - * Transparency modes, supported by PDF: - * Normal (default), Multiply, Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn, HardLight, - * SoftLight, Difference, Exclusion - * - * @param float $alpha - * @param string $mode - * @throws Zend_Pdf_Exception - * @return Zend_Pdf_Page - */ - public function setAlpha($alpha, $mode = 'Normal') - { - if (!in_array($mode, array('Normal', 'Multiply', 'Screen', 'Overlay', 'Darken', 'Lighten', 'ColorDodge', - 'ColorBurn', 'HardLight', 'SoftLight', 'Difference', 'Exclusion'))) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Unsupported transparency mode.'); - } - if (!is_numeric($alpha) || $alpha < 0 || $alpha > 1) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Alpha value must be numeric between 0 (transparent) and 1 (opaque).'); - } - - $this->_addProcSet('Text'); - $this->_addProcSet('PDF'); - - $resources = $this->_pageDictionary->Resources; - - // Check if Resources dictionary contains ExtGState entry - if ($resources->ExtGState === null) { - $resources->touch(); - $resources->ExtGState = new Zend_Pdf_Element_Dictionary(); - } else { - $resources->ExtGState->touch(); - } - - $idCounter = 1; - do { - $gStateName = 'GS' . $idCounter++; - } while ($resources->ExtGState->$gStateName !== null); - - - $gStateDictionary = new Zend_Pdf_Element_Dictionary(); - $gStateDictionary->Type = new Zend_Pdf_Element_Name('ExtGState'); - $gStateDictionary->BM = new Zend_Pdf_Element_Name($mode); - $gStateDictionary->CA = new Zend_Pdf_Element_Numeric($alpha); - $gStateDictionary->ca = new Zend_Pdf_Element_Numeric($alpha); - - $resources->ExtGState->$gStateName = $this->_objFactory->newObject($gStateDictionary); - - $gStateNameObj = new Zend_Pdf_Element_Name($gStateName); - $this->_contents .= $gStateNameObj->toString() . " gs\n"; - - return $this; - } - - - /** - * Get current font. - * - * @return Zend_Pdf_Resource_Font $font - */ - public function getFont() - { - return $this->_font; - } - - /** - * Extract resources attached to the page - * - * This method is not intended to be used in userland, but helps to optimize some document wide operations - * - * returns array of Zend_Pdf_Element_Dictionary objects - * - * @internal - * @return array - */ - public function extractResources() - { - return $this->_pageDictionary->Resources; - } - - /** - * Extract fonts attached to the page - * - * returns array of Zend_Pdf_Resource_Font_Extracted objects - * - * @return array - * @throws Zend_Pdf_Exception - */ - public function extractFonts() - { - if ($this->_pageDictionary->Resources->Font === null) { - // Page doesn't have any font attached - // Return empty array - return array(); - } - - $fontResources = $this->_pageDictionary->Resources->Font; - - $fontResourcesUnique = array(); - foreach ($fontResources->getKeys() as $fontResourceName) { - $fontDictionary = $fontResources->$fontResourceName; - - if (! ($fontDictionary instanceof Zend_Pdf_Element_Reference || - $fontDictionary instanceof Zend_Pdf_Element_Object) ) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Font dictionary has to be an indirect object or object reference.'); - } - - $fontResourcesUnique[spl_object_hash($fontDictionary->getObject())] = $fontDictionary; - } - - $fonts = array(); - require_once 'Zend/Pdf/Exception.php'; - foreach ($fontResourcesUnique as $resourceId => $fontDictionary) { - try { - // Try to extract font - $extractedFont = new Zend_Pdf_Resource_Font_Extracted($fontDictionary); - - $fonts[$resourceId] = $extractedFont; - } catch (Zend_Pdf_Exception $e) { - if ($e->getMessage() != 'Unsupported font type.') { - throw $e; - } - } - } - - return $fonts; - } - - /** - * Extract font attached to the page by specific font name - * - * $fontName should be specified in UTF-8 encoding - * - * @return Zend_Pdf_Resource_Font_Extracted|null - * @throws Zend_Pdf_Exception - */ - public function extractFont($fontName) - { - if ($this->_pageDictionary->Resources->Font === null) { - // Page doesn't have any font attached - return null; - } - - $fontResources = $this->_pageDictionary->Resources->Font; - - $fontResourcesUnique = array(); - - require_once 'Zend/Pdf/Exception.php'; - foreach ($fontResources->getKeys() as $fontResourceName) { - $fontDictionary = $fontResources->$fontResourceName; - - if (! ($fontDictionary instanceof Zend_Pdf_Element_Reference || - $fontDictionary instanceof Zend_Pdf_Element_Object) ) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Font dictionary has to be an indirect object or object reference.'); - } - - $resourceId = spl_object_hash($fontDictionary->getObject()); - if (isset($fontResourcesUnique[$resourceId])) { - continue; - } else { - // Mark resource as processed - $fontResourcesUnique[$resourceId] = 1; - } - - if ($fontDictionary->BaseFont->value != $fontName) { - continue; - } - - try { - // Try to extract font - return new Zend_Pdf_Resource_Font_Extracted($fontDictionary); - } catch (Zend_Pdf_Exception $e) { - if ($e->getMessage() != 'Unsupported font type.') { - throw $e; - } - - // Continue searhing font with specified name - } - } - - return null; - } - - /** - * Get current font size - * - * @return float $fontSize - */ - public function getFontSize() - { - return $this->_fontSize; - } - - /** - * Return the style, applied to the page. - * - * @return Zend_Pdf_Style|null - */ - public function getStyle() - { - return $this->_style; - } - - - /** - * Save the graphics state of this page. - * This takes a snapshot of the currently applied style, position, clipping area and - * any rotation/translation/scaling that has been applied. - * - * @todo check for the open paths - * @throws Zend_Pdf_Exception - if a save is performed with an open path - * @return Zend_Pdf_Page - */ - public function saveGS() - { - $this->_saveCount++; - - $this->_addProcSet('PDF'); - $this->_contents .= " q\n"; - - return $this; - } - - /** - * Restore the graphics state that was saved with the last call to saveGS(). - * - * @throws Zend_Pdf_Exception - if there is no previously saved state - * @return Zend_Pdf_Page - */ - public function restoreGS() - { - if ($this->_saveCount-- <= 0) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Restoring graphics state which is not saved'); - } - $this->_contents .= " Q\n"; - - return $this; - } - - - /** - * Intersect current clipping area with a circle. - * - * @param float $x - * @param float $y - * @param float $radius - * @param float $startAngle - * @param float $endAngle - * @return Zend_Pdf_Page - */ - public function clipCircle($x, $y, $radius, $startAngle = null, $endAngle = null) - { - $this->clipEllipse($x - $radius, $y - $radius, - $x + $radius, $y + $radius, - $startAngle, $endAngle); - - return $this; - } - - /** - * Intersect current clipping area with a polygon. - * - * Method signatures: - * drawEllipse($x1, $y1, $x2, $y2); - * drawEllipse($x1, $y1, $x2, $y2, $startAngle, $endAngle); - * - * @todo process special cases with $x2-$x1 == 0 or $y2-$y1 == 0 - * - * @param float $x1 - * @param float $y1 - * @param float $x2 - * @param float $y2 - * @param float $startAngle - * @param float $endAngle - * @return Zend_Pdf_Page - */ - public function clipEllipse($x1, $y1, $x2, $y2, $startAngle = null, $endAngle = null) - { - $this->_addProcSet('PDF'); - - if ($x2 < $x1) { - $temp = $x1; - $x1 = $x2; - $x2 = $temp; - } - if ($y2 < $y1) { - $temp = $y1; - $y1 = $y2; - $y2 = $temp; - } - - $x = ($x1 + $x2)/2.; - $y = ($y1 + $y2)/2.; - - $xC = new Zend_Pdf_Element_Numeric($x); - $yC = new Zend_Pdf_Element_Numeric($y); - - if ($startAngle !== null) { - if ($startAngle != 0) { $startAngle = fmod($startAngle, M_PI*2); } - if ($endAngle != 0) { $endAngle = fmod($endAngle, M_PI*2); } - - if ($startAngle > $endAngle) { - $endAngle += M_PI*2; - } - - $clipPath = $xC->toString() . ' ' . $yC->toString() . " m\n"; - $clipSectors = (int)ceil(($endAngle - $startAngle)/M_PI_4); - $clipRadius = max($x2 - $x1, $y2 - $y1); - - for($count = 0; $count <= $clipSectors; $count++) { - $pAngle = $startAngle + ($endAngle - $startAngle)*$count/(float)$clipSectors; - - $pX = new Zend_Pdf_Element_Numeric($x + cos($pAngle)*$clipRadius); - $pY = new Zend_Pdf_Element_Numeric($y + sin($pAngle)*$clipRadius); - $clipPath .= $pX->toString() . ' ' . $pY->toString() . " l\n"; - } - - $this->_contents .= $clipPath . "h\nW\nn\n"; - } - - $xLeft = new Zend_Pdf_Element_Numeric($x1); - $xRight = new Zend_Pdf_Element_Numeric($x2); - $yUp = new Zend_Pdf_Element_Numeric($y2); - $yDown = new Zend_Pdf_Element_Numeric($y1); - - $xDelta = 2*(M_SQRT2 - 1)*($x2 - $x1)/3.; - $yDelta = 2*(M_SQRT2 - 1)*($y2 - $y1)/3.; - $xr = new Zend_Pdf_Element_Numeric($x + $xDelta); - $xl = new Zend_Pdf_Element_Numeric($x - $xDelta); - $yu = new Zend_Pdf_Element_Numeric($y + $yDelta); - $yd = new Zend_Pdf_Element_Numeric($y - $yDelta); - - $this->_contents .= $xC->toString() . ' ' . $yUp->toString() . " m\n" - . $xr->toString() . ' ' . $yUp->toString() . ' ' - . $xRight->toString() . ' ' . $yu->toString() . ' ' - . $xRight->toString() . ' ' . $yC->toString() . " c\n" - . $xRight->toString() . ' ' . $yd->toString() . ' ' - . $xr->toString() . ' ' . $yDown->toString() . ' ' - . $xC->toString() . ' ' . $yDown->toString() . " c\n" - . $xl->toString() . ' ' . $yDown->toString() . ' ' - . $xLeft->toString() . ' ' . $yd->toString() . ' ' - . $xLeft->toString() . ' ' . $yC->toString() . " c\n" - . $xLeft->toString() . ' ' . $yu->toString() . ' ' - . $xl->toString() . ' ' . $yUp->toString() . ' ' - . $xC->toString() . ' ' . $yUp->toString() . " c\n" - . "h\nW\nn\n"; - - return $this; - } - - - /** - * Intersect current clipping area with a polygon. - * - * @param array $x - array of float (the X co-ordinates of the vertices) - * @param array $y - array of float (the Y co-ordinates of the vertices) - * @param integer $fillMethod - * @return Zend_Pdf_Page - */ - public function clipPolygon($x, $y, $fillMethod = Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING) - { - $this->_addProcSet('PDF'); - - $firstPoint = true; - foreach ($x as $id => $xVal) { - $xObj = new Zend_Pdf_Element_Numeric($xVal); - $yObj = new Zend_Pdf_Element_Numeric($y[$id]); - - if ($firstPoint) { - $path = $xObj->toString() . ' ' . $yObj->toString() . " m\n"; - $firstPoint = false; - } else { - $path .= $xObj->toString() . ' ' . $yObj->toString() . " l\n"; - } - } - - $this->_contents .= $path; - - if ($fillMethod == Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING) { - $this->_contents .= " h\n W\nn\n"; - } else { - // Even-Odd fill method. - $this->_contents .= " h\n W*\nn\n"; - } - - return $this; - } - - /** - * Intersect current clipping area with a rectangle. - * - * @param float $x1 - * @param float $y1 - * @param float $x2 - * @param float $y2 - * @return Zend_Pdf_Page - */ - public function clipRectangle($x1, $y1, $x2, $y2) - { - $this->_addProcSet('PDF'); - - $x1Obj = new Zend_Pdf_Element_Numeric($x1); - $y1Obj = new Zend_Pdf_Element_Numeric($y1); - $widthObj = new Zend_Pdf_Element_Numeric($x2 - $x1); - $height2Obj = new Zend_Pdf_Element_Numeric($y2 - $y1); - - $this->_contents .= $x1Obj->toString() . ' ' . $y1Obj->toString() . ' ' - . $widthObj->toString() . ' ' . $height2Obj->toString() . " re\n" - . " W\nn\n"; - - return $this; - } - - /** - * Draw a Zend_Pdf_ContentStream at the specified position on the page - * - * @param ZPdfContentStream $cs - * @param float $x1 - * @param float $y1 - * @param float $x2 - * @param float $y2 - * @return Zend_Pdf_Page - */ - public function drawContentStream($cs, $x1, $y1, $x2, $y2) - { - /** @todo implementation */ - return $this; - } - - /** - * Draw a circle centered on x, y with a radius of radius. - * - * Method signatures: - * drawCircle($x, $y, $radius); - * drawCircle($x, $y, $radius, $fillType); - * drawCircle($x, $y, $radius, $startAngle, $endAngle); - * drawCircle($x, $y, $radius, $startAngle, $endAngle, $fillType); - * - * - * It's not a really circle, because PDF supports only cubic Bezier curves. - * But _very_ good approximation. - * It differs from a real circle on a maximum 0.00026 radiuses - * (at PI/8, 3*PI/8, 5*PI/8, 7*PI/8, 9*PI/8, 11*PI/8, 13*PI/8 and 15*PI/8 angles). - * At 0, PI/4, PI/2, 3*PI/4, PI, 5*PI/4, 3*PI/2 and 7*PI/4 it's exactly a tangent to a circle. - * - * @param float $x - * @param float $y - * @param float $radius - * @param mixed $param4 - * @param mixed $param5 - * @param mixed $param6 - * @return Zend_Pdf_Page - */ - public function drawCircle($x, $y, $radius, $param4 = null, $param5 = null, $param6 = null) - { - $this->drawEllipse($x - $radius, $y - $radius, - $x + $radius, $y + $radius, - $param4, $param5, $param6); - - return $this; - } - - /** - * Draw an ellipse inside the specified rectangle. - * - * Method signatures: - * drawEllipse($x1, $y1, $x2, $y2); - * drawEllipse($x1, $y1, $x2, $y2, $fillType); - * drawEllipse($x1, $y1, $x2, $y2, $startAngle, $endAngle); - * drawEllipse($x1, $y1, $x2, $y2, $startAngle, $endAngle, $fillType); - * - * @todo process special cases with $x2-$x1 == 0 or $y2-$y1 == 0 - * - * @param float $x1 - * @param float $y1 - * @param float $x2 - * @param float $y2 - * @param mixed $param5 - * @param mixed $param6 - * @param mixed $param7 - * @return Zend_Pdf_Page - */ - public function drawEllipse($x1, $y1, $x2, $y2, $param5 = null, $param6 = null, $param7 = null) - { - if ($param5 === null) { - // drawEllipse($x1, $y1, $x2, $y2); - $startAngle = null; - $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE; - } else if ($param6 === null) { - // drawEllipse($x1, $y1, $x2, $y2, $fillType); - $startAngle = null; - $fillType = $param5; - } else { - // drawEllipse($x1, $y1, $x2, $y2, $startAngle, $endAngle); - // drawEllipse($x1, $y1, $x2, $y2, $startAngle, $endAngle, $fillType); - $startAngle = $param5; - $endAngle = $param6; - - if ($param7 === null) { - $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE; - } else { - $fillType = $param7; - } - } - - $this->_addProcSet('PDF'); - - if ($x2 < $x1) { - $temp = $x1; - $x1 = $x2; - $x2 = $temp; - } - if ($y2 < $y1) { - $temp = $y1; - $y1 = $y2; - $y2 = $temp; - } - - $x = ($x1 + $x2)/2.; - $y = ($y1 + $y2)/2.; - - $xC = new Zend_Pdf_Element_Numeric($x); - $yC = new Zend_Pdf_Element_Numeric($y); - - if ($startAngle !== null) { - if ($startAngle != 0) { $startAngle = fmod($startAngle, M_PI*2); } - if ($endAngle != 0) { $endAngle = fmod($endAngle, M_PI*2); } - - if ($startAngle > $endAngle) { - $endAngle += M_PI*2; - } - - $clipPath = $xC->toString() . ' ' . $yC->toString() . " m\n"; - $clipSectors = (int)ceil(($endAngle - $startAngle)/M_PI_4); - $clipRadius = max($x2 - $x1, $y2 - $y1); - - for($count = 0; $count <= $clipSectors; $count++) { - $pAngle = $startAngle + ($endAngle - $startAngle)*$count/(float)$clipSectors; - - $pX = new Zend_Pdf_Element_Numeric($x + cos($pAngle)*$clipRadius); - $pY = new Zend_Pdf_Element_Numeric($y + sin($pAngle)*$clipRadius); - $clipPath .= $pX->toString() . ' ' . $pY->toString() . " l\n"; - } - - $this->_contents .= "q\n" . $clipPath . "h\nW\nn\n"; - } - - $xLeft = new Zend_Pdf_Element_Numeric($x1); - $xRight = new Zend_Pdf_Element_Numeric($x2); - $yUp = new Zend_Pdf_Element_Numeric($y2); - $yDown = new Zend_Pdf_Element_Numeric($y1); - - $xDelta = 2*(M_SQRT2 - 1)*($x2 - $x1)/3.; - $yDelta = 2*(M_SQRT2 - 1)*($y2 - $y1)/3.; - $xr = new Zend_Pdf_Element_Numeric($x + $xDelta); - $xl = new Zend_Pdf_Element_Numeric($x - $xDelta); - $yu = new Zend_Pdf_Element_Numeric($y + $yDelta); - $yd = new Zend_Pdf_Element_Numeric($y - $yDelta); - - $this->_contents .= $xC->toString() . ' ' . $yUp->toString() . " m\n" - . $xr->toString() . ' ' . $yUp->toString() . ' ' - . $xRight->toString() . ' ' . $yu->toString() . ' ' - . $xRight->toString() . ' ' . $yC->toString() . " c\n" - . $xRight->toString() . ' ' . $yd->toString() . ' ' - . $xr->toString() . ' ' . $yDown->toString() . ' ' - . $xC->toString() . ' ' . $yDown->toString() . " c\n" - . $xl->toString() . ' ' . $yDown->toString() . ' ' - . $xLeft->toString() . ' ' . $yd->toString() . ' ' - . $xLeft->toString() . ' ' . $yC->toString() . " c\n" - . $xLeft->toString() . ' ' . $yu->toString() . ' ' - . $xl->toString() . ' ' . $yUp->toString() . ' ' - . $xC->toString() . ' ' . $yUp->toString() . " c\n"; - - switch ($fillType) { - case Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE: - $this->_contents .= " B*\n"; - break; - case Zend_Pdf_Page::SHAPE_DRAW_FILL: - $this->_contents .= " f*\n"; - break; - case Zend_Pdf_Page::SHAPE_DRAW_STROKE: - $this->_contents .= " S\n"; - break; - } - - if ($startAngle !== null) { - $this->_contents .= "Q\n"; - } - - return $this; - } - - /** - * Draw an image at the specified position on the page. - * - * @param Zend_Pdf_Image $image - * @param float $x1 - * @param float $y1 - * @param float $x2 - * @param float $y2 - * @return Zend_Pdf_Page - */ - public function drawImage(Zend_Pdf_Resource_Image $image, $x1, $y1, $x2, $y2) - { - $this->_addProcSet('PDF'); - - $imageName = $this->_attachResource('XObject', $image); - $imageNameObj = new Zend_Pdf_Element_Name($imageName); - - $x1Obj = new Zend_Pdf_Element_Numeric($x1); - $y1Obj = new Zend_Pdf_Element_Numeric($y1); - $widthObj = new Zend_Pdf_Element_Numeric($x2 - $x1); - $heightObj = new Zend_Pdf_Element_Numeric($y2 - $y1); - - $this->_contents .= "q\n" - . '1 0 0 1 ' . $x1Obj->toString() . ' ' . $y1Obj->toString() . " cm\n" - . $widthObj->toString() . ' 0 0 ' . $heightObj->toString() . " 0 0 cm\n" - . $imageNameObj->toString() . " Do\n" - . "Q\n"; - - return $this; - } - - /** - * Draw a LayoutBox at the specified position on the page. - * - * @param Zend_Pdf_Element_LayoutBox $box - * @param float $x - * @param float $y - * @return Zend_Pdf_Page - */ - public function drawLayoutBox($box, $x, $y) - { - /** @todo implementation */ - return $this; - } - - /** - * Draw a line from x1,y1 to x2,y2. - * - * @param float $x1 - * @param float $y1 - * @param float $x2 - * @param float $y2 - * @return Zend_Pdf_Page - */ - public function drawLine($x1, $y1, $x2, $y2) - { - $this->_addProcSet('PDF'); - - $x1Obj = new Zend_Pdf_Element_Numeric($x1); - $y1Obj = new Zend_Pdf_Element_Numeric($y1); - $x2Obj = new Zend_Pdf_Element_Numeric($x2); - $y2Obj = new Zend_Pdf_Element_Numeric($y2); - - $this->_contents .= $x1Obj->toString() . ' ' . $y1Obj->toString() . " m\n" - . $x2Obj->toString() . ' ' . $y2Obj->toString() . " l\n S\n"; - - return $this; - } - - /** - * Draw a polygon. - * - * If $fillType is Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE or - * Zend_Pdf_Page::SHAPE_DRAW_FILL, then polygon is automatically closed. - * See detailed description of these methods in a PDF documentation - * (section 4.4.2 Path painting Operators, Filling) - * - * @param array $x - array of float (the X co-ordinates of the vertices) - * @param array $y - array of float (the Y co-ordinates of the vertices) - * @param integer $fillType - * @param integer $fillMethod - * @return Zend_Pdf_Page - */ - public function drawPolygon($x, $y, - $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE, - $fillMethod = Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING) - { - $this->_addProcSet('PDF'); - - $firstPoint = true; - foreach ($x as $id => $xVal) { - $xObj = new Zend_Pdf_Element_Numeric($xVal); - $yObj = new Zend_Pdf_Element_Numeric($y[$id]); - - if ($firstPoint) { - $path = $xObj->toString() . ' ' . $yObj->toString() . " m\n"; - $firstPoint = false; - } else { - $path .= $xObj->toString() . ' ' . $yObj->toString() . " l\n"; - } - } - - $this->_contents .= $path; - - switch ($fillType) { - case Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE: - if ($fillMethod == Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING) { - $this->_contents .= " b\n"; - } else { - // Even-Odd fill method. - $this->_contents .= " b*\n"; - } - break; - case Zend_Pdf_Page::SHAPE_DRAW_FILL: - if ($fillMethod == Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING) { - $this->_contents .= " h\n f\n"; - } else { - // Even-Odd fill method. - $this->_contents .= " h\n f*\n"; - } - break; - case Zend_Pdf_Page::SHAPE_DRAW_STROKE: - $this->_contents .= " S\n"; - break; - } - - return $this; - } - - /** - * Draw a rectangle. - * - * Fill types: - * Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE - fill rectangle and stroke (default) - * Zend_Pdf_Page::SHAPE_DRAW_STROKE - stroke rectangle - * Zend_Pdf_Page::SHAPE_DRAW_FILL - fill rectangle - * - * @param float $x1 - * @param float $y1 - * @param float $x2 - * @param float $y2 - * @param integer $fillType - * @return Zend_Pdf_Page - */ - public function drawRectangle($x1, $y1, $x2, $y2, $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE) - { - $this->_addProcSet('PDF'); - - $x1Obj = new Zend_Pdf_Element_Numeric($x1); - $y1Obj = new Zend_Pdf_Element_Numeric($y1); - $widthObj = new Zend_Pdf_Element_Numeric($x2 - $x1); - $height2Obj = new Zend_Pdf_Element_Numeric($y2 - $y1); - - $this->_contents .= $x1Obj->toString() . ' ' . $y1Obj->toString() . ' ' - . $widthObj->toString() . ' ' . $height2Obj->toString() . " re\n"; - - switch ($fillType) { - case Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE: - $this->_contents .= " B*\n"; - break; - case Zend_Pdf_Page::SHAPE_DRAW_FILL: - $this->_contents .= " f*\n"; - break; - case Zend_Pdf_Page::SHAPE_DRAW_STROKE: - $this->_contents .= " S\n"; - break; - } - - return $this; - } - - /** - * Draw a line of text at the specified position. - * - * @param string $text - * @param float $x - * @param float $y - * @param string $charEncoding (optional) Character encoding of source text. - * Defaults to current locale. - * @throws Zend_Pdf_Exception - * @return Zend_Pdf_Page - */ - public function drawText($text, $x, $y, $charEncoding = '') - { - if ($this->_font === null) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Font has not been set'); - } - - $this->_addProcSet('Text'); - - $textObj = new Zend_Pdf_Element_String($this->_font->encodeString($text, $charEncoding)); - $xObj = new Zend_Pdf_Element_Numeric($x); - $yObj = new Zend_Pdf_Element_Numeric($y); - - $this->_contents .= "BT\n" - . $xObj->toString() . ' ' . $yObj->toString() . " Td\n" - . $textObj->toString() . " Tj\n" - . "ET\n"; - - return $this; - } - - /** - * - * @param Zend_Pdf_Annotation $annotation - * @return Zend_Pdf_Page - */ - public function attachAnnotation(Zend_Pdf_Annotation $annotation) - { - $annotationDictionary = $annotation->getResource(); - if (!$annotationDictionary instanceof Zend_Pdf_Element_Object && - !$annotationDictionary instanceof Zend_Pdf_Element_Reference) { - $annotationDictionary = $this->_objFactory->newObject($annotationDictionary); - } - - if ($this->_pageDictionary->Annots === null) { - $this->_pageDictionary->touch(); - $this->_pageDictionary->Annots = new Zend_Pdf_Element_Array(); - } else { - $this->_pageDictionary->Annots->touch(); - } - - $this->_pageDictionary->Annots->items[] = $annotationDictionary; - - $annotationDictionary->touch(); - $annotationDictionary->P = $this->_pageDictionary; - - return $this; - } - - /** - * Return the height of this page in points. - * - * @return float - */ - public function getHeight() - { - return $this->_pageDictionary->MediaBox->items[3]->value - - $this->_pageDictionary->MediaBox->items[1]->value; - } - - /** - * Return the width of this page in points. - * - * @return float - */ - public function getWidth() - { - return $this->_pageDictionary->MediaBox->items[2]->value - - $this->_pageDictionary->MediaBox->items[0]->value; - } - - /** - * Close the path by drawing a straight line back to it's beginning. - * - * @throws Zend_Pdf_Exception - if a path hasn't been started with pathMove() - * @return Zend_Pdf_Page - */ - public function pathClose() - { - /** @todo implementation */ - return $this; - } - - /** - * Continue the open path in a straight line to the specified position. - * - * @param float $x - the X co-ordinate to move to - * @param float $y - the Y co-ordinate to move to - * @return Zend_Pdf_Page - */ - public function pathLine($x, $y) - { - /** @todo implementation */ - return $this; - } - - /** - * Start a new path at the specified position. If a path has already been started, - * move the cursor without drawing a line. - * - * @param float $x - the X co-ordinate to move to - * @param float $y - the Y co-ordinate to move to - * @return Zend_Pdf_Page - */ - public function pathMove($x, $y) - { - /** @todo implementation */ - return $this; - } - - /** - * Writes the raw data to the page's content stream. - * - * Be sure to consult the PDF reference to ensure your syntax is correct. No - * attempt is made to ensure the validity of the stream data. - * - * @param string $data - * @param string $procSet (optional) Name of ProcSet to add. - * @return Zend_Pdf_Page - */ - public function rawWrite($data, $procSet = null) - { - if (! empty($procSet)) { - $this->_addProcSet($procSet); - } - $this->_contents .= $data; - - return $this; - } - - /** - * Rotate the page. - * - * @param float $x - the X co-ordinate of rotation point - * @param float $y - the Y co-ordinate of rotation point - * @param float $angle - rotation angle - * @return Zend_Pdf_Page - */ - public function rotate($x, $y, $angle) - { - $cos = new Zend_Pdf_Element_Numeric(cos($angle)); - $sin = new Zend_Pdf_Element_Numeric(sin($angle)); - $mSin = new Zend_Pdf_Element_Numeric(-$sin->value); - - $xObj = new Zend_Pdf_Element_Numeric($x); - $yObj = new Zend_Pdf_Element_Numeric($y); - - $mXObj = new Zend_Pdf_Element_Numeric(-$x); - $mYObj = new Zend_Pdf_Element_Numeric(-$y); - - - $this->_addProcSet('PDF'); - $this->_contents .= '1 0 0 1 ' . $xObj->toString() . ' ' . $yObj->toString() . " cm\n" - . $cos->toString() . ' ' . $sin->toString() . ' ' . $mSin->toString() . ' ' . $cos->toString() . " 0 0 cm\n" - . '1 0 0 1 ' . $mXObj->toString() . ' ' . $mYObj->toString() . " cm\n"; - - return $this; - } - - /** - * Scale coordination system. - * - * @param float $xScale - X dimention scale factor - * @param float $yScale - Y dimention scale factor - * @return Zend_Pdf_Page - */ - public function scale($xScale, $yScale) - { - $xScaleObj = new Zend_Pdf_Element_Numeric($xScale); - $yScaleObj = new Zend_Pdf_Element_Numeric($yScale); - - $this->_addProcSet('PDF'); - $this->_contents .= $xScaleObj->toString() . ' 0 0 ' . $yScaleObj->toString() . " 0 0 cm\n"; - - return $this; - } - - /** - * Translate coordination system. - * - * @param float $xShift - X coordinate shift - * @param float $yShift - Y coordinate shift - * @return Zend_Pdf_Page - */ - public function translate($xShift, $yShift) - { - $xShiftObj = new Zend_Pdf_Element_Numeric($xShift); - $yShiftObj = new Zend_Pdf_Element_Numeric($yShift); - - $this->_addProcSet('PDF'); - $this->_contents .= '1 0 0 1 ' . $xShiftObj->toString() . ' ' . $yShiftObj->toString() . " cm\n"; - - return $this; - } - - /** - * Translate coordination system. - * - * @param float $x - the X co-ordinate of axis skew point - * @param float $y - the Y co-ordinate of axis skew point - * @param float $xAngle - X axis skew angle - * @param float $yAngle - Y axis skew angle - * @return Zend_Pdf_Page - */ - public function skew($x, $y, $xAngle, $yAngle) - { - $tanXObj = new Zend_Pdf_Element_Numeric(tan($xAngle)); - $tanYObj = new Zend_Pdf_Element_Numeric(-tan($yAngle)); - - $xObj = new Zend_Pdf_Element_Numeric($x); - $yObj = new Zend_Pdf_Element_Numeric($y); - - $mXObj = new Zend_Pdf_Element_Numeric(-$x); - $mYObj = new Zend_Pdf_Element_Numeric(-$y); - - $this->_addProcSet('PDF'); - $this->_contents .= '1 0 0 1 ' . $xObj->toString() . ' ' . $yObj->toString() . " cm\n" - . '1 ' . $tanXObj->toString() . ' ' . $tanYObj->toString() . " 1 0 0 cm\n" - . '1 0 0 1 ' . $mXObj->toString() . ' ' . $mYObj->toString() . " cm\n"; - - return $this; - } -} - diff --git a/lib/zend/Zend/Pdf/Parser.php b/lib/zend/Zend/Pdf/Parser.php deleted file mode 100644 index 13f9a50b1c..0000000000 --- a/lib/zend/Zend/Pdf/Parser.php +++ /dev/null @@ -1,483 +0,0 @@ -_stringParser->data); - } - - /** - * Get PDF String - * - * @return string - */ - public function getPDFString() - { - return $this->_stringParser->data; - } - - /** - * PDF version specified in the file header - * - * @return string - */ - public function getPDFVersion() - { - return $this->_pdfVersion; - } - - /** - * Load XReference table and referenced objects - * - * @param integer $offset - * @throws Zend_Pdf_Exception - * @return Zend_Pdf_Trailer_Keeper - */ - private function _loadXRefTable($offset) - { - $this->_stringParser->offset = $offset; - - $refTable = new Zend_Pdf_Element_Reference_Table(); - $context = new Zend_Pdf_Element_Reference_Context($this->_stringParser, $refTable); - $this->_stringParser->setContext($context); - - $nextLexeme = $this->_stringParser->readLexeme(); - if ($nextLexeme == 'xref') { - /** - * Common cross-reference table - */ - $this->_stringParser->skipWhiteSpace(); - while ( ($nextLexeme = $this->_stringParser->readLexeme()) != 'trailer' ) { - if (!ctype_digit($nextLexeme)) { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Cross-reference table subheader values must contain only digits.', $this->_stringParser->offset-strlen($nextLexeme))); - } - $objNum = (int)$nextLexeme; - - $refCount = $this->_stringParser->readLexeme(); - if (!ctype_digit($refCount)) { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Cross-reference table subheader values must contain only digits.', $this->_stringParser->offset-strlen($refCount))); - } - - $this->_stringParser->skipWhiteSpace(); - while ($refCount > 0) { - $objectOffset = substr($this->_stringParser->data, $this->_stringParser->offset, 10); - if (!ctype_digit($objectOffset)) { - throw new Zend_Pdf_Exception(sprintf('PDF file cross-reference table syntax error. Offset - 0x%X. Offset must contain only digits.', $this->_stringParser->offset)); - } - // Force $objectOffset to be treated as decimal instead of octal number - for ($numStart = 0; $numStart < strlen($objectOffset)-1; $numStart++) { - if ($objectOffset[$numStart] != '0') { - break; - } - } - $objectOffset = substr($objectOffset, $numStart); - $this->_stringParser->offset += 10; - - if ( !Zend_Pdf_StringParser::isWhiteSpace(ord( $this->_stringParser->data[$this->_stringParser->offset] )) ) { - throw new Zend_Pdf_Exception(sprintf('PDF file cross-reference table syntax error. Offset - 0x%X. Value separator must be white space.', $this->_stringParser->offset)); - } - $this->_stringParser->offset++; - - $genNumber = substr($this->_stringParser->data, $this->_stringParser->offset, 5); - if (!ctype_digit($objectOffset)) { - throw new Zend_Pdf_Exception(sprintf('PDF file cross-reference table syntax error. Offset - 0x%X. Offset must contain only digits.', $this->_stringParser->offset)); - } - // Force $objectOffset to be treated as decimal instead of octal number - for ($numStart = 0; $numStart < strlen($genNumber)-1; $numStart++) { - if ($genNumber[$numStart] != '0') { - break; - } - } - $genNumber = substr($genNumber, $numStart); - $this->_stringParser->offset += 5; - - if ( !Zend_Pdf_StringParser::isWhiteSpace(ord( $this->_stringParser->data[$this->_stringParser->offset] )) ) { - throw new Zend_Pdf_Exception(sprintf('PDF file cross-reference table syntax error. Offset - 0x%X. Value separator must be white space.', $this->_stringParser->offset)); - } - $this->_stringParser->offset++; - - $inUseKey = $this->_stringParser->data[$this->_stringParser->offset]; - $this->_stringParser->offset++; - - switch ($inUseKey) { - case 'f': - // free entry - unset( $this->_refTable[$objNum . ' ' . $genNumber . ' R'] ); - $refTable->addReference($objNum . ' ' . $genNumber . ' R', - $objectOffset, - false); - break; - - case 'n': - // in-use entry - - $refTable->addReference($objNum . ' ' . $genNumber . ' R', - $objectOffset, - true); - } - - if ( !Zend_Pdf_StringParser::isWhiteSpace(ord( $this->_stringParser->data[$this->_stringParser->offset] )) ) { - throw new Zend_Pdf_Exception(sprintf('PDF file cross-reference table syntax error. Offset - 0x%X. Value separator must be white space.', $this->_stringParser->offset)); - } - $this->_stringParser->offset++; - if ( !Zend_Pdf_StringParser::isWhiteSpace(ord( $this->_stringParser->data[$this->_stringParser->offset] )) ) { - throw new Zend_Pdf_Exception(sprintf('PDF file cross-reference table syntax error. Offset - 0x%X. Value separator must be white space.', $this->_stringParser->offset)); - } - $this->_stringParser->offset++; - - $refCount--; - $objNum++; - } - } - - $trailerDictOffset = $this->_stringParser->offset; - $trailerDict = $this->_stringParser->readElement(); - if (!$trailerDict instanceof Zend_Pdf_Element_Dictionary) { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Dictionary expected after \'trailer\' keyword.', $trailerDictOffset)); - } - } else { - $xrefStream = $this->_stringParser->getObject($offset, $context); - - if (!$xrefStream instanceof Zend_Pdf_Element_Object_Stream) { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Cross-reference stream expected.', $offset)); - } - - $trailerDict = $xrefStream->dictionary; - if ($trailerDict->Type->value != 'XRef') { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Cross-reference stream object must have /Type property assigned to /XRef.', $offset)); - } - if ($trailerDict->W === null || $trailerDict->W->getType() != Zend_Pdf_Element::TYPE_ARRAY) { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Cross reference stream dictionary doesn\'t have W entry or it\'s not an array.', $offset)); - } - - $entryField1Size = $trailerDict->W->items[0]->value; - $entryField2Size = $trailerDict->W->items[1]->value; - $entryField3Size = $trailerDict->W->items[2]->value; - - if ($entryField2Size == 0 || $entryField3Size == 0) { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Wrong W dictionary entry. Only type field of stream entries has default value and could be zero length.', $offset)); - } - - $xrefStreamData = &$xrefStream->value; - - if ($trailerDict->Index !== null) { - if ($trailerDict->Index->getType() != Zend_Pdf_Element::TYPE_ARRAY) { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Cross reference stream dictionary Index entry must be an array.', $offset)); - } - $sections = count($trailerDict->Index->items)/2; - } else { - $sections = 1; - } - - $streamOffset = 0; - - $size = $entryField1Size + $entryField2Size + $entryField3Size; - $entries = strlen($xrefStreamData)/$size; - - for ($count = 0; $count < $sections; $count++) { - if ($trailerDict->Index !== null) { - $objNum = $trailerDict->Index->items[$count*2 ]->value; - $entries = $trailerDict->Index->items[$count*2 + 1]->value; - } else { - $objNum = 0; - $entries = $trailerDict->Size->value; - } - - for ($count2 = 0; $count2 < $entries; $count2++) { - if ($entryField1Size == 0) { - $type = 1; - } else if ($entryField1Size == 1) { // Optimyze one-byte field case - $type = ord($xrefStreamData[$streamOffset++]); - } else { - $type = Zend_Pdf_StringParser::parseIntFromStream($xrefStreamData, $streamOffset, $entryField1Size); - $streamOffset += $entryField1Size; - } - - if ($entryField2Size == 1) { // Optimyze one-byte field case - $field2 = ord($xrefStreamData[$streamOffset++]); - } else { - $field2 = Zend_Pdf_StringParser::parseIntFromStream($xrefStreamData, $streamOffset, $entryField2Size); - $streamOffset += $entryField2Size; - } - - if ($entryField3Size == 1) { // Optimyze one-byte field case - $field3 = ord($xrefStreamData[$streamOffset++]); - } else { - $field3 = Zend_Pdf_StringParser::parseIntFromStream($xrefStreamData, $streamOffset, $entryField3Size); - $streamOffset += $entryField3Size; - } - - switch ($type) { - case 0: - // Free object - $refTable->addReference($objNum . ' ' . $field3 . ' R', $field2, false); - // Debug output: - // echo "Free object - $objNum $field3 R, next free - $field2\n"; - break; - - case 1: - // In use object - $refTable->addReference($objNum . ' ' . $field3 . ' R', $field2, true); - // Debug output: - // echo "In-use object - $objNum $field3 R, offset - $field2\n"; - break; - - case 2: - // Object in an object stream - // Debug output: - // echo "Compressed object - $objNum 0 R, object stream - $field2 0 R, offset - $field3\n"; - break; - } - - $objNum++; - } - } - - // $streamOffset . ' ' . strlen($xrefStreamData) . "\n"; - // "$entries\n"; - throw new Zend_Pdf_Exception('Cross-reference streams are not supported yet.'); - } - - - $trailerObj = new Zend_Pdf_Trailer_Keeper($trailerDict, $context); - if ($trailerDict->Prev instanceof Zend_Pdf_Element_Numeric || - $trailerDict->Prev instanceof Zend_Pdf_Element_Reference ) { - $trailerObj->setPrev($this->_loadXRefTable($trailerDict->Prev->value)); - $context->getRefTable()->setParent($trailerObj->getPrev()->getRefTable()); - } - - /** - * We set '/Prev' dictionary property to the current cross-reference section offset. - * It doesn't correspond to the actual data, but is true when trailer will be used - * as a trailer for next generated PDF section. - */ - $trailerObj->Prev = new Zend_Pdf_Element_Numeric($offset); - - return $trailerObj; - } - - - /** - * Get Trailer object - * - * @return Zend_Pdf_Trailer_Keeper - */ - public function getTrailer() - { - return $this->_trailer; - } - - /** - * Object constructor - * - * Note: PHP duplicates string, which is sent by value, only of it's updated. - * Thus we don't need to care about overhead - * - * @param mixed $source - * @param Zend_Pdf_ElementFactory_Interface $factory - * @param boolean $load - * @throws Zend_Exception - */ - public function __construct($source, Zend_Pdf_ElementFactory_Interface $factory, $load) - { - if ($load) { - if (($pdfFile = @fopen($source, 'rb')) === false ) { - throw new Zend_Pdf_Exception( "Can not open '$source' file for reading." ); - } - - $byteCount = filesize($source); - - $data = fread($pdfFile, $byteCount); - $byteCount -= strlen($data); - while ( $byteCount > 0 && ($nextBlock = fread($pdfFile, $byteCount)) != false ) { - $data .= $nextBlock; - $byteCount -= strlen($nextBlock); - } - fclose($pdfFile); - - $this->_stringParser = new Zend_Pdf_StringParser($data, $factory); - } else { - $this->_stringParser = new Zend_Pdf_StringParser($source, $factory); - } - - $pdfVersionComment = $this->_stringParser->readComment(); - if (substr($pdfVersionComment, 0, 5) != '%PDF-') { - throw new Zend_Pdf_Exception('File is not a PDF.'); - } - - $pdfVersion = substr($pdfVersionComment, 5); - if (version_compare($pdfVersion, '0.9', '<') || - version_compare($pdfVersion, '1.61', '>=') - ) { - /** - * @todo - * To support PDF versions 1.5 (Acrobat 6) and PDF version 1.7 (Acrobat 7) - * Stream compression filter must be implemented (for compressed object streams). - * Cross reference streams must be implemented - */ - throw new Zend_Pdf_Exception(sprintf('Unsupported PDF version. Zend_Pdf supports PDF 1.0-1.4. Current version - \'%f\'', $pdfVersion)); - } - $this->_pdfVersion = $pdfVersion; - - $this->_stringParser->offset = strrpos($this->_stringParser->data, '%%EOF'); - if ($this->_stringParser->offset === false || - strlen($this->_stringParser->data) - $this->_stringParser->offset > 7) { - throw new Zend_Pdf_Exception('Pdf file syntax error. End-of-fle marker expected at the end of file.'); - } - - $this->_stringParser->offset--; - /** - * Go to end of cross-reference table offset - */ - while (Zend_Pdf_StringParser::isWhiteSpace( ord($this->_stringParser->data[$this->_stringParser->offset]) )&& - ($this->_stringParser->offset > 0)) { - $this->_stringParser->offset--; - } - /** - * Go to the start of cross-reference table offset - */ - while ( (!Zend_Pdf_StringParser::isWhiteSpace( ord($this->_stringParser->data[$this->_stringParser->offset]) ))&& - ($this->_stringParser->offset > 0)) { - $this->_stringParser->offset--; - } - /** - * Go to the end of 'startxref' keyword - */ - while (Zend_Pdf_StringParser::isWhiteSpace( ord($this->_stringParser->data[$this->_stringParser->offset]) )&& - ($this->_stringParser->offset > 0)) { - $this->_stringParser->offset--; - } - /** - * Go to the white space (eol marker) before 'startxref' keyword - */ - $this->_stringParser->offset -= 9; - - $nextLexeme = $this->_stringParser->readLexeme(); - if ($nextLexeme != 'startxref') { - throw new Zend_Pdf_Exception(sprintf('Pdf file syntax error. \'startxref\' keyword expected. Offset - 0x%X.', $this->_stringParser->offset-strlen($nextLexeme))); - } - - $startXref = $this->_stringParser->readLexeme(); - if (!ctype_digit($startXref)) { - throw new Zend_Pdf_Exception(sprintf('Pdf file syntax error. Cross-reference table offset must contain only digits. Offset - 0x%X.', $this->_stringParser->offset-strlen($nextLexeme))); - } - - $this->_trailer = $this->_loadXRefTable($startXref); - $factory->setObjectCount($this->_trailer->Size->value); - } - - - /** - * Object destructor - */ - public function __destruct() - { - $this->_stringParser->cleanUp(); - } -} diff --git a/lib/zend/Zend/Pdf/RecursivelyIteratableObjectsContainer.php b/lib/zend/Zend/Pdf/RecursivelyIteratableObjectsContainer.php deleted file mode 100644 index ff55993d5b..0000000000 --- a/lib/zend/Zend/Pdf/RecursivelyIteratableObjectsContainer.php +++ /dev/null @@ -1,45 +0,0 @@ -_objects = $objects; } - - public function current() { return current($this->_objects); } - public function key() { return key($this->_objects); } - public function next() { return next($this->_objects); } - public function rewind() { return reset($this->_objects); } - public function valid() { return current($this->_objects) !== false; } - public function getChildren() { return current($this->_objects); } - public function hasChildren() { return count($this->_objects) > 0; } - - public function count() { return count($this->_objects); } -} diff --git a/lib/zend/Zend/Pdf/Resource.php b/lib/zend/Zend/Pdf/Resource.php deleted file mode 100644 index b30ab1cfc2..0000000000 --- a/lib/zend/Zend/Pdf/Resource.php +++ /dev/null @@ -1,110 +0,0 @@ -_objectFactory = Zend_Pdf_ElementFactory::createFactory(1); - if ($resource instanceof Zend_Pdf_Element) { - $this->_resource = $this->_objectFactory->newObject($resource); - } else { - $this->_resource = $this->_objectFactory->newStreamObject($resource); - } - } - - /** - * Get resource. - * Used to reference resource in an internal PDF data structures (resource dictionaries) - * - * @internal - * @return Zend_Pdf_Element_Object - */ - public function getResource() - { - return $this->_resource; - } - - /** - * Get factory. - * - * @internal - * @return Zend_Pdf_ElementFactory_Interface - */ - public function getFactory() - { - return $this->_objectFactory; - } -} - diff --git a/lib/zend/Zend/Pdf/Resource/Font.php b/lib/zend/Zend/Pdf/Resource/Font.php deleted file mode 100644 index 4357681657..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font.php +++ /dev/null @@ -1,522 +0,0 @@ -_resource->Type = new Zend_Pdf_Element_Name('Font'); - } - - - /* Object Magic Methods */ - - /** - * Returns the full name of the font in the encoding method of the current - * locale. Transliterates any characters that cannot be naturally - * represented in that character set. - * - * @return string - */ - public function __toString() - { - return $this->getFontName(Zend_Pdf_Font::NAME_FULL, '', '//TRANSLIT'); - } - - - /* Accessors */ - - /** - * Returns the type of font. - * - * @return integer One of the TYPE_ constants defined in - * {@link Zend_Pdf_Font}. - */ - public function getFontType() - { - return $this->_fontType; - } - - /** - * Returns the specified descriptive name for the font. - * - * The font name type is usually one of the following: - *
      - *
    • {@link Zend_Pdf_Font::NAME_FULL} - *
    • {@link Zend_Pdf_Font::NAME_FAMILY} - *
    • {@link Zend_Pdf_Font::NAME_PREFERRED_FAMILY} - *
    • {@link Zend_Pdf_Font::NAME_STYLE} - *
    • {@link Zend_Pdf_Font::NAME_PREFERRED_STYLE} - *
    • {@link Zend_Pdf_Font::NAME_DESCRIPTION} - *
    • {@link Zend_Pdf_Font::NAME_SAMPLE_TEXT} - *
    • {@link Zend_Pdf_Font::NAME_ID} - *
    • {@link Zend_Pdf_Font::NAME_VERSION} - *
    • {@link Zend_Pdf_Font::NAME_POSTSCRIPT} - *
    • {@link Zend_Pdf_Font::NAME_CID_NAME} - *
    • {@link Zend_Pdf_Font::NAME_DESIGNER} - *
    • {@link Zend_Pdf_Font::NAME_DESIGNER_URL} - *
    • {@link Zend_Pdf_Font::NAME_MANUFACTURER} - *
    • {@link Zend_Pdf_Font::NAME_VENDOR_URL} - *
    • {@link Zend_Pdf_Font::NAME_COPYRIGHT} - *
    • {@link Zend_Pdf_Font::NAME_TRADEMARK} - *
    • {@link Zend_Pdf_Font::NAME_LICENSE} - *
    • {@link Zend_Pdf_Font::NAME_LICENSE_URL} - *
    - * - * Note that not all names are available for all fonts. In addition, some - * fonts may contain additional names, whose indicies are in the range - * 256 to 32767 inclusive, which are used for certain font layout features. - * - * If the preferred language translation is not available, uses the first - * available translation for the name, which is usually English. - * - * If the requested name does not exist, returns null. - * - * All names are stored internally as Unicode strings, using UTF-16BE - * encoding. You may optionally supply a different resulting character set. - * - * @param integer $nameType Type of name requested. - * @param mixed $language Preferred language (string) or array of languages - * in preferred order. Use the ISO 639 standard 2-letter language codes. - * @param string $characterSet (optional) Desired resulting character set. - * You may use any character set supported by {@link iconv()}; - * @return string - */ - public function getFontName($nameType, $language, $characterSet = null) - { - if (! isset($this->_fontNames[$nameType])) { - return null; - } - $name = null; - if (is_array($language)) { - foreach ($language as $code) { - if (isset($this->_fontNames[$nameType][$code])) { - $name = $this->_fontNames[$nameType][$code]; - break; - } - } - } else { - if (isset($this->_fontNames[$nameType][$language])) { - $name = $this->_fontNames[$nameType][$language]; - } - } - /* If the preferred language could not be found, use whatever is first. - */ - if ($name === null) { - $names = $this->_fontNames[$nameType]; - $name = reset($names); - } - /* Convert the character set if requested. - */ - if (($characterSet !== null) && ($characterSet != 'UTF-16BE') && PHP_OS != 'AIX') { // AIX knows not this charset - $name = iconv('UTF-16BE', $characterSet, $name); - } - return $name; - } - - /** - * Returns whole set of font names. - * - * @return array - */ - public function getFontNames() - { - return $this->_fontNames; - } - - /** - * Returns true if font is bold. - * - * @return boolean - */ - public function isBold() - { - return $this->_isBold; - } - - /** - * Returns true if font is italic. - * - * @return boolean - */ - public function isItalic() - { - return $this->_isItalic; - } - - /** - * Returns true if font is monospace. - * - * @return boolean - */ - public function isMonospace() - { - return $this->_isMonospace; - } - - /** - * Returns the suggested position below the text baseline of the underline - * in glyph units. - * - * This value is usually negative. - * - * @return integer - */ - public function getUnderlinePosition() - { - return $this->_underlinePosition; - } - - /** - * Returns the suggested line thickness of the underline in glyph units. - * - * @return integer - */ - public function getUnderlineThickness() - { - return $this->_underlineThickness; - } - - /** - * Returns the suggested position above the text baseline of the - * strikethrough in glyph units. - * - * @return integer - */ - public function getStrikePosition() - { - return $this->_strikePosition; - } - - /** - * Returns the suggested line thickness of the strikethrough in glyph units. - * - * @return integer - */ - public function getStrikeThickness() - { - return $this->_strikeThickness; - } - - /** - * Returns the number of glyph units per em. - * - * Used to convert glyph space to user space. Frequently used in conjunction - * with {@link widthsForGlyphs()} to calculate the with of a run of text. - * - * @return integer - */ - public function getUnitsPerEm() - { - return $this->_unitsPerEm; - } - - /** - * Returns the typographic ascent in font glyph units. - * - * The typographic ascent is the distance from the font's baseline to the - * top of the text frame. It is frequently used to locate the initial - * baseline for a paragraph of text inside a given rectangle. - * - * @return integer - */ - public function getAscent() - { - return $this->_ascent; - } - - /** - * Returns the typographic descent in font glyph units. - * - * The typographic descent is the distance below the font's baseline to the - * bottom of the text frame. It is always negative. - * - * @return integer - */ - public function getDescent() - { - return $this->_descent; - } - - /** - * Returns the typographic line gap in font glyph units. - * - * The typographic line gap is the distance between the bottom of the text - * frame of one line to the top of the text frame of the next. It is - * typically combined with the typographical ascent and descent to determine - * the font's total line height (or leading). - * - * @return integer - */ - public function getLineGap() - { - return $this->_lineGap; - } - - /** - * Returns the suggested line height (or leading) in font glyph units. - * - * This value is determined by adding together the values of the typographic - * ascent, descent, and line gap. This value yields the suggested line - * spacing as determined by the font developer. - * - * It should be noted that this is only a guideline; layout engines will - * frequently modify this value to achieve special effects such as double- - * spacing. - * - * @return integer - */ - public function getLineHeight() - { - return $this->_ascent - $this->_descent + $this->_lineGap; - } - - - /* Information and Conversion Methods */ - - /** - * Returns an array of glyph numbers corresponding to the Unicode characters. - * - * If a particular character doesn't exist in this font, the special 'missing - * character glyph' will be substituted. - * - * See also {@link glyphNumberForCharacter()}. - * - * @param array $characterCodes Array of Unicode character codes (code points). - * @return array Array of glyph numbers. - */ - abstract public function glyphNumbersForCharacters($characterCodes); - - /** - * Returns the glyph number corresponding to the Unicode character. - * - * If a particular character doesn't exist in this font, the special 'missing - * character glyph' will be substituted. - * - * See also {@link glyphNumbersForCharacters()} which is optimized for bulk - * operations. - * - * @param integer $characterCode Unicode character code (code point). - * @return integer Glyph number. - */ - abstract public function glyphNumberForCharacter($characterCode); - - /** - * Returns a number between 0 and 1 inclusive that indicates the percentage - * of characters in the string which are covered by glyphs in this font. - * - * Since no one font will contain glyphs for the entire Unicode character - * range, this method can be used to help locate a suitable font when the - * actual contents of the string are not known. - * - * Note that some fonts lie about the characters they support. Additionally, - * fonts don't usually contain glyphs for control characters such as tabs - * and line breaks, so it is rare that you will get back a full 1.0 score. - * The resulting value should be considered informational only. - * - * @param string $string - * @param string $charEncoding (optional) Character encoding of source text. - * If omitted, uses 'current locale'. - * @return float - */ - abstract public function getCoveredPercentage($string, $charEncoding = ''); - - /** - * Returns the widths of the glyphs. - * - * The widths are expressed in the font's glyph space. You are responsible - * for converting to user space as necessary. See {@link unitsPerEm()}. - * - * See also {@link widthForGlyph()}. - * - * @param array $glyphNumbers Array of glyph numbers. - * @return array Array of glyph widths (integers). - * @throws Zend_Pdf_Exception - */ - abstract public function widthsForGlyphs($glyphNumbers); - - /** - * Returns the width of the glyph. - * - * Like {@link widthsForGlyphs()} but used for one glyph at a time. - * - * @param integer $glyphNumber - * @return integer - * @throws Zend_Pdf_Exception - */ - abstract public function widthForGlyph($glyphNumber); - - /** - * Convert string to the font encoding. - * - * The method is used to prepare string for text drawing operators - * - * @param string $string - * @param string $charEncoding Character encoding of source text. - * @return string - */ - abstract public function encodeString($string, $charEncoding); - - /** - * Convert string from the font encoding. - * - * The method is used to convert strings retrieved from existing content streams - * - * @param string $string - * @param string $charEncoding Character encoding of resulting text. - * @return string - */ - abstract public function decodeString($string, $charEncoding); - - - - /**** Internal Methods ****/ - - - /** - * If the font's glyph space is not 1000 units per em, converts the value. - * - * @internal - * @param integer $value - * @return integer - */ - public function toEmSpace($value) - { - if ($this->_unitsPerEm == 1000) { - return $value; - } - return ceil(($value / $this->_unitsPerEm) * 1000); // always round up - } -} - diff --git a/lib/zend/Zend/Pdf/Resource/Font/CidFont.php b/lib/zend/Zend/Pdf/Resource/Font/CidFont.php deleted file mode 100644 index 0c5b4aedcf..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/CidFont.php +++ /dev/null @@ -1,484 +0,0 @@ -parse(); - - - /* Object properties */ - - $this->_fontNames = $fontParser->names; - - $this->_isBold = $fontParser->isBold; - $this->_isItalic = $fontParser->isItalic; - $this->_isMonospaced = $fontParser->isMonospaced; - - $this->_underlinePosition = $fontParser->underlinePosition; - $this->_underlineThickness = $fontParser->underlineThickness; - $this->_strikePosition = $fontParser->strikePosition; - $this->_strikeThickness = $fontParser->strikeThickness; - - $this->_unitsPerEm = $fontParser->unitsPerEm; - - $this->_ascent = $fontParser->ascent; - $this->_descent = $fontParser->descent; - $this->_lineGap = $fontParser->lineGap; - - - $this->_cmap = $fontParser->cmap; - - - /* Resource dictionary */ - - $baseFont = $this->getFontName(Zend_Pdf_Font::NAME_POSTSCRIPT, 'en', 'UTF-8'); - $this->_resource->BaseFont = new Zend_Pdf_Element_Name($baseFont); - - - /** - * Prepare widths array. - */ - /* Constract characters widths array using font CMap and glyphs widths array */ - $glyphWidths = $fontParser->glyphWidths; - $charGlyphs = $this->_cmap->getCoveredCharactersGlyphs(); - $charWidths = array(); - foreach ($charGlyphs as $charCode => $glyph) { - $charWidths[$charCode] = $glyphWidths[$glyph]; - } - $this->_charWidths = $charWidths; - $this->_missingCharWidth = $glyphWidths[0]; - - /* Width array optimization. Step1: extract default value */ - $widthFrequencies = array_count_values($charWidths); - $defaultWidth = null; - $defaultWidthFrequency = -1; - foreach ($widthFrequencies as $width => $frequency) { - if ($frequency > $defaultWidthFrequency) { - $defaultWidth = $width; - $defaultWidthFrequency = $frequency; - } - } - - // Store default value in the font dictionary - $this->_resource->DW = new Zend_Pdf_Element_Numeric($this->toEmSpace($defaultWidth)); - - // Remove characters which corresponds to default width from the widths array - $defWidthChars = array_keys($charWidths, $defaultWidth); - foreach ($defWidthChars as $charCode) { - unset($charWidths[$charCode]); - } - - // Order cheracter widths aray by character codes - ksort($charWidths, SORT_NUMERIC); - - /* Width array optimization. Step2: Compact character codes sequences */ - $lastCharCode = -1; - $widthsSequences = array(); - foreach ($charWidths as $charCode => $width) { - if ($lastCharCode == -1) { - $charCodesSequense = array(); - $sequenceStartCode = $charCode; - } else if ($charCode != $lastCharCode + 1) { - // New chracters sequence detected - $widthsSequences[$sequenceStartCode] = $charCodesSequense; - $charCodesSequense = array(); - $sequenceStartCode = $charCode; - } - $charCodesSequense[] = $width; - $lastCharCode = $charCode; - } - // Save last sequence, if widths array is not empty (it may happens for monospaced fonts) - if (count($charWidths) != 0) { - $widthsSequences[$sequenceStartCode] = $charCodesSequense; - } - - $pdfCharsWidths = array(); - foreach ($widthsSequences as $startCode => $widthsSequence) { - /* Width array optimization. Step3: Compact widths sequences */ - $pdfWidths = array(); - $lastWidth = -1; - $widthsInSequence = 0; - foreach ($widthsSequence as $width) { - if ($lastWidth != $width) { - // New width is detected - if ($widthsInSequence != 0) { - // Previous width value was a part of the widths sequence. Save it as 'c_1st c_last w'. - $pdfCharsWidths[] = new Zend_Pdf_Element_Numeric($startCode); // First character code - $pdfCharsWidths[] = new Zend_Pdf_Element_Numeric($startCode + $widthsInSequence - 1); // Last character code - $pdfCharsWidths[] = new Zend_Pdf_Element_Numeric($this->toEmSpace($lastWidth)); // Width - - // Reset widths sequence - $startCode = $startCode + $widthsInSequence; - $widthsInSequence = 0; - } - - // Collect new width - $pdfWidths[] = new Zend_Pdf_Element_Numeric($this->toEmSpace($width)); - - $lastWidth = $width; - } else { - // Width is equal to previous - if (count($pdfWidths) != 0) { - // We already have some widths collected - // So, we've just detected new widths sequence - - // Remove last element from widths list, since it's a part of widths sequence - array_pop($pdfWidths); - - // and write the rest if it's not empty - if (count($pdfWidths) != 0) { - // Save it as 'c_1st [w1 w2 ... wn]'. - $pdfCharsWidths[] = new Zend_Pdf_Element_Numeric($startCode); // First character code - $pdfCharsWidths[] = new Zend_Pdf_Element_Array($pdfWidths); // Widths array - - // Reset widths collection - $startCode += count($pdfWidths); - $pdfWidths = array(); - } - - $widthsInSequence = 2; - } else { - // Continue widths sequence - $widthsInSequence++; - } - } - } - - // Check if we have widths collection or widths sequence to wite it down - if (count($pdfWidths) != 0) { - // We have some widths collected - // Save it as 'c_1st [w1 w2 ... wn]'. - $pdfCharsWidths[] = new Zend_Pdf_Element_Numeric($startCode); // First character code - $pdfCharsWidths[] = new Zend_Pdf_Element_Array($pdfWidths); // Widths array - } else if ($widthsInSequence != 0){ - // We have widths sequence - // Save it as 'c_1st c_last w'. - $pdfCharsWidths[] = new Zend_Pdf_Element_Numeric($startCode); // First character code - $pdfCharsWidths[] = new Zend_Pdf_Element_Numeric($startCode + $widthsInSequence - 1); // Last character code - $pdfCharsWidths[] = new Zend_Pdf_Element_Numeric($this->toEmSpace($lastWidth)); // Width - } - } - - /* Create the Zend_Pdf_Element_Array object and add it to the font's - * object factory and resource dictionary. - */ - $widthsArrayElement = new Zend_Pdf_Element_Array($pdfCharsWidths); - $widthsObject = $this->_objectFactory->newObject($widthsArrayElement); - $this->_resource->W = $widthsObject; - - - /* CIDSystemInfo dictionary */ - $cidSystemInfo = new Zend_Pdf_Element_Dictionary(); - $cidSystemInfo->Registry = new Zend_Pdf_Element_String('Adobe'); - $cidSystemInfo->Ordering = new Zend_Pdf_Element_String('UCS'); - $cidSystemInfo->Supplement = new Zend_Pdf_Element_Numeric(0); - $cidSystemInfoObject = $this->_objectFactory->newObject($cidSystemInfo); - $this->_resource->CIDSystemInfo = $cidSystemInfoObject; - } - - - - /** - * Returns an array of glyph numbers corresponding to the Unicode characters. - * - * If a particular character doesn't exist in this font, the special 'missing - * character glyph' will be substituted. - * - * See also {@link glyphNumberForCharacter()}. - * - * @param array $characterCodes Array of Unicode character codes (code points). - * @return array Array of glyph numbers. - */ - public function glyphNumbersForCharacters($characterCodes) - { - /** - * CIDFont object is not actually a font. It does not have an Encoding entry, - * it cannot be listed in the Font subdictionary of a resource dictionary, and - * it cannot be used as the operand of the Tf operator. - * - * Throw an exception. - */ - throw new Zend_Pdf_Exception('CIDFont PDF objects could not be used as the operand of the text drawing operators'); - } - - /** - * Returns the glyph number corresponding to the Unicode character. - * - * If a particular character doesn't exist in this font, the special 'missing - * character glyph' will be substituted. - * - * See also {@link glyphNumbersForCharacters()} which is optimized for bulk - * operations. - * - * @param integer $characterCode Unicode character code (code point). - * @return integer Glyph number. - */ - public function glyphNumberForCharacter($characterCode) - { - /** - * CIDFont object is not actually a font. It does not have an Encoding entry, - * it cannot be listed in the Font subdictionary of a resource dictionary, and - * it cannot be used as the operand of the Tf operator. - * - * Throw an exception. - */ - throw new Zend_Pdf_Exception('CIDFont PDF objects could not be used as the operand of the text drawing operators'); - } - - - /** - * Returns a number between 0 and 1 inclusive that indicates the percentage - * of characters in the string which are covered by glyphs in this font. - * - * Since no one font will contain glyphs for the entire Unicode character - * range, this method can be used to help locate a suitable font when the - * actual contents of the string are not known. - * - * Note that some fonts lie about the characters they support. Additionally, - * fonts don't usually contain glyphs for control characters such as tabs - * and line breaks, so it is rare that you will get back a full 1.0 score. - * The resulting value should be considered informational only. - * - * @param string $string - * @param string $charEncoding (optional) Character encoding of source text. - * If omitted, uses 'current locale'. - * @return float - */ - public function getCoveredPercentage($string, $charEncoding = '') - { - /* Convert the string to UTF-16BE encoding so we can match the string's - * character codes to those found in the cmap. - */ - if ($charEncoding != 'UTF-16BE') { - $string = iconv($charEncoding, 'UTF-16BE', $string); - } - - $charCount = iconv_strlen($string, 'UTF-16BE'); - if ($charCount == 0) { - return 0; - } - - /* Calculate the score by doing a lookup for each character. - */ - $score = 0; - $maxIndex = strlen($string); - for ($i = 0; $i < $maxIndex; $i++) { - /** - * @todo Properly handle characters encoded as surrogate pairs. - */ - $charCode = (ord($string[$i]) << 8) | ord($string[++$i]); - /* This could probably be optimized a bit with a binary search... - */ - if (isset($this->_charWidths[$charCode])) { - $score++; - } - } - return $score / $charCount; - } - - /** - * Returns the widths of the Chars. - * - * The widths are expressed in the font's glyph space. You are responsible - * for converting to user space as necessary. See {@link unitsPerEm()}. - * - * See also {@link widthForChar()}. - * - * @param array &$glyphNumbers Array of glyph numbers. - * @return array Array of glyph widths (integers). - */ - public function widthsForChars($charCodes) - { - $widths = array(); - foreach ($charCodes as $key => $charCode) { - if (!isset($this->_charWidths[$charCode])) { - $widths[$key] = $this->_missingCharWidth; - } else { - $widths[$key] = $this->_charWidths[$charCode]; - } - } - return $widths; - } - - /** - * Returns the width of the character. - * - * Like {@link widthsForChars()} but used for one char at a time. - * - * @param integer $charCode - * @return integer - */ - public function widthForChar($charCode) - { - if (!isset($this->_charWidths[$charCode])) { - return $this->_missingCharWidth; - } - return $this->_charWidths[$charCode]; - } - - /** - * Returns the widths of the glyphs. - * - * @param array &$glyphNumbers Array of glyph numbers. - * @return array Array of glyph widths (integers). - * @throws Zend_Pdf_Exception - */ - public function widthsForGlyphs($glyphNumbers) - { - /** - * CIDFont object is not actually a font. It does not have an Encoding entry, - * it cannot be listed in the Font subdictionary of a resource dictionary, and - * it cannot be used as the operand of the Tf operator. - * - * Throw an exception. - */ - throw new Zend_Pdf_Exception('CIDFont PDF objects could not be used as the operand of the text drawing operators'); - } - - /** - * Returns the width of the glyph. - * - * Like {@link widthsForGlyphs()} but used for one glyph at a time. - * - * @param integer $glyphNumber - * @return integer - * @throws Zend_Pdf_Exception - */ - public function widthForGlyph($glyphNumber) - { - /** - * CIDFont object is not actually a font. It does not have an Encoding entry, - * it cannot be listed in the Font subdictionary of a resource dictionary, and - * it cannot be used as the operand of the Tf operator. - * - * Throw an exception. - */ - throw new Zend_Pdf_Exception('CIDFont PDF objects could not be used as the operand of the text drawing operators'); - } - - /** - * Convert string to the font encoding. - * - * @param string $string - * @param string $charEncoding Character encoding of source text. - * @return string - * @throws Zend_Pdf_Exception - * */ - public function encodeString($string, $charEncoding) - { - /** - * CIDFont object is not actually a font. It does not have an Encoding entry, - * it cannot be listed in the Font subdictionary of a resource dictionary, and - * it cannot be used as the operand of the Tf operator. - * - * Throw an exception. - */ - throw new Zend_Pdf_Exception('CIDFont PDF objects could not be used as the operand of the text drawing operators'); - } - - /** - * Convert string from the font encoding. - * - * @param string $string - * @param string $charEncoding Character encoding of resulting text. - * @return string - * @throws Zend_Pdf_Exception - */ - public function decodeString($string, $charEncoding) - { - /** - * CIDFont object is not actually a font. It does not have an Encoding entry, - * it cannot be listed in the Font subdictionary of a resource dictionary, and - * it cannot be used as the operand of the Tf operator. - * - * Throw an exception. - */ - throw new Zend_Pdf_Exception('CIDFont PDF objects could not be used as the operand of the text drawing operators'); - } -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/CidFont/TrueType.php b/lib/zend/Zend/Pdf/Resource/Font/CidFont/TrueType.php deleted file mode 100644 index 5d3a4516ee..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/CidFont/TrueType.php +++ /dev/null @@ -1,83 +0,0 @@ -_fontType = Zend_Pdf_Font::TYPE_CIDFONT_TYPE_2; - - $this->_resource->Subtype = new Zend_Pdf_Element_Name('CIDFontType2'); - - $fontDescriptor = Zend_Pdf_Resource_Font_FontDescriptor::factory($this, $fontParser, $embeddingOptions); - $this->_resource->FontDescriptor = $this->_objectFactory->newObject($fontDescriptor); - - /* Prepare CIDToGIDMap */ - // Initialize 128K string of null characters (65536 2 byte integers) - $cidToGidMapData = str_repeat("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 8192); - // Fill the index - $charGlyphs = $this->_cmap->getCoveredCharactersGlyphs(); - foreach ($charGlyphs as $charCode => $glyph) { - $cidToGidMapData[$charCode*2 ] = chr($glyph >> 8); - $cidToGidMapData[$charCode*2 + 1] = chr($glyph & 0xFF); - } - // Store CIDToGIDMap within compressed stream object - $cidToGidMap = $this->_objectFactory->newStreamObject($cidToGidMapData); - $cidToGidMap->dictionary->Filter = new Zend_Pdf_Element_Name('FlateDecode'); - $this->_resource->CIDToGIDMap = $cidToGidMap; - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Extracted.php b/lib/zend/Zend/Pdf/Resource/Font/Extracted.php deleted file mode 100644 index 1f0b6314c0..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Extracted.php +++ /dev/null @@ -1,262 +0,0 @@ -_objectFactory = $fontDictionary->getFactory(); - $this->_resource = $fontDictionary; - - if ($fontDictionary->Encoding !== null) { - $this->_encoding = $fontDictionary->Encoding->value; - } - - switch ($fontDictionary->Subtype->value) { - case 'Type0': - // Composite type 0 font - if (count($fontDictionary->DescendantFonts->items) != 1) { - // Multiple descendant fonts are not supported - throw new Zend_Pdf_Exception('Unsupported font type.'); - } - - $fontDictionaryIterator = $fontDictionary->DescendantFonts->items->getIterator(); - $fontDictionaryIterator->rewind(); - $descendantFont = $fontDictionaryIterator->current(); - $fontDescriptor = $descendantFont->FontDescriptor; - break; - - case 'Type1': - if ($fontDictionary->FontDescriptor === null) { - // That's one of the standard fonts - $standardFont = Zend_Pdf_Font::fontWithName($fontDictionary->BaseFont->value); - - $this->_fontNames = $standardFont->getFontNames(); - $this->_isBold = $standardFont->isBold(); - $this->_isItalic = $standardFont->isItalic(); - $this->_isMonospace = $standardFont->isMonospace(); - $this->_underlinePosition = $standardFont->getUnderlinePosition(); - $this->_underlineThickness = $standardFont->getUnderlineThickness(); - $this->_strikePosition = $standardFont->getStrikePosition(); - $this->_strikeThickness = $standardFont->getStrikeThickness(); - $this->_unitsPerEm = $standardFont->getUnitsPerEm(); - $this->_ascent = $standardFont->getAscent(); - $this->_descent = $standardFont->getDescent(); - $this->_lineGap = $standardFont->getLineGap(); - - return; - } - - $fontDescriptor = $fontDictionary->FontDescriptor; - break; - - case 'TrueType': - $fontDescriptor = $fontDictionary->FontDescriptor; - break; - - default: - throw new Zend_Pdf_Exception('Unsupported font type.'); - } - - $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] = iconv('UTF-8', 'UTF-16BE', $fontDictionary->BaseFont->value); - - $this->_isBold = false; // this property is actually not used anywhere - $this->_isItalic = ( ($fontDescriptor->Flags->value & (1 << 6)) != 0 ); // Bit-7 is set - $this->_isMonospace = ( ($fontDescriptor->Flags->value & (1 << 0)) != 0 ); // Bit-1 is set - $this->_underlinePosition = null; // Can't be extracted - $this->_underlineThickness = null; // Can't be extracted - $this->_strikePosition = null; // Can't be extracted - $this->_strikeThickness = null; // Can't be extracted - $this->_unitsPerEm = null; // Can't be extracted - $this->_ascent = $fontDescriptor->Ascent->value; - $this->_descent = $fontDescriptor->Descent->value; - $this->_lineGap = null; // Can't be extracted - } - - /** - * Returns an array of glyph numbers corresponding to the Unicode characters. - * - * If a particular character doesn't exist in this font, the special 'missing - * character glyph' will be substituted. - * - * See also {@link glyphNumberForCharacter()}. - * - * @param array $characterCodes Array of Unicode character codes (code points). - * @return array Array of glyph numbers. - */ - public function glyphNumbersForCharacters($characterCodes) - { - throw new Zend_Pdf_Exception('Operation is not supported for extracted fonts'); - } - - /** - * Returns the glyph number corresponding to the Unicode character. - * - * If a particular character doesn't exist in this font, the special 'missing - * character glyph' will be substituted. - * - * See also {@link glyphNumbersForCharacters()} which is optimized for bulk - * operations. - * - * @param integer $characterCode Unicode character code (code point). - * @return integer Glyph number. - */ - public function glyphNumberForCharacter($characterCode) - { - throw new Zend_Pdf_Exception('Operation is not supported for extracted fonts'); - } - - /** - * Returns a number between 0 and 1 inclusive that indicates the percentage - * of characters in the string which are covered by glyphs in this font. - * - * Since no one font will contain glyphs for the entire Unicode character - * range, this method can be used to help locate a suitable font when the - * actual contents of the string are not known. - * - * Note that some fonts lie about the characters they support. Additionally, - * fonts don't usually contain glyphs for control characters such as tabs - * and line breaks, so it is rare that you will get back a full 1.0 score. - * The resulting value should be considered informational only. - * - * @param string $string - * @param string $charEncoding (optional) Character encoding of source text. - * If omitted, uses 'current locale'. - * @return float - */ - public function getCoveredPercentage($string, $charEncoding = '') - { - throw new Zend_Pdf_Exception('Operation is not supported for extracted fonts'); - } - - /** - * Returns the widths of the glyphs. - * - * The widths are expressed in the font's glyph space. You are responsible - * for converting to user space as necessary. See {@link unitsPerEm()}. - * - * See also {@link widthForGlyph()}. - * - * @param array $glyphNumbers Array of glyph numbers. - * @return array Array of glyph widths (integers). - * @throws Zend_Pdf_Exception - */ - public function widthsForGlyphs($glyphNumbers) - { - throw new Zend_Pdf_Exception('Operation is not supported for extracted fonts'); - } - - /** - * Returns the width of the glyph. - * - * Like {@link widthsForGlyphs()} but used for one glyph at a time. - * - * @param integer $glyphNumber - * @return integer - * @throws Zend_Pdf_Exception - */ - public function widthForGlyph($glyphNumber) - { - throw new Zend_Pdf_Exception('Operation is not supported for extracted fonts'); - } - - /** - * Convert string to the font encoding. - * - * The method is used to prepare string for text drawing operators - * - * @param string $string - * @param string $charEncoding Character encoding of source text. - * @return string - */ - public function encodeString($string, $charEncoding) - { - if ($this->_encoding == 'Identity-H') { - return iconv($charEncoding, 'UTF-16BE', $string); - } - - if ($this->_encoding == 'WinAnsiEncoding') { - return iconv($charEncoding, 'CP1252//IGNORE', $string); - } - - throw new Zend_Pdf_Exception('Fonf encoding is not supported'); - } - - /** - * Convert string from the font encoding. - * - * The method is used to convert strings retrieved from existing content streams - * - * @param string $string - * @param string $charEncoding Character encoding of resulting text. - * @return string - */ - public function decodeString($string, $charEncoding) - { - if ($this->_encoding == 'Identity-H') { - return iconv('UTF-16BE', $charEncoding, $string); - } - - if ($this->_encoding == 'WinAnsiEncoding') { - return iconv('CP1252', $charEncoding, $string); - } - - throw new Zend_Pdf_Exception('Fonf encoding is not supported'); - } -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/FontDescriptor.php b/lib/zend/Zend/Pdf/Resource/Font/FontDescriptor.php deleted file mode 100644 index 70c12bb8d2..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/FontDescriptor.php +++ /dev/null @@ -1,201 +0,0 @@ -Type = new Zend_Pdf_Element_Name('FontDescriptor'); - $fontDescriptor->FontName = new Zend_Pdf_Element_Name($font->getResource()->BaseFont->value); - - /* The font flags value is a bitfield that describes the stylistic - * attributes of the font. We will set as many of the bits as can be - * determined from the font parser. - */ - $flags = 0; - if ($fontParser->isMonospaced) { // bit 1: FixedPitch - $flags |= 1 << 0; - } - if ($fontParser->isSerifFont) { // bit 2: Serif - $flags |= 1 << 1; - } - if (! $fontParser->isAdobeLatinSubset) { // bit 3: Symbolic - $flags |= 1 << 2; - } - if ($fontParser->isScriptFont) { // bit 4: Script - $flags |= 1 << 3; - } - if ($fontParser->isAdobeLatinSubset) { // bit 6: Nonsymbolic - $flags |= 1 << 5; - } - if ($fontParser->isItalic) { // bit 7: Italic - $flags |= 1 << 6; - } - // bits 17-19: AllCap, SmallCap, ForceBold; not available - $fontDescriptor->Flags = new Zend_Pdf_Element_Numeric($flags); - - $fontBBox = array(new Zend_Pdf_Element_Numeric($font->toEmSpace($fontParser->xMin)), - new Zend_Pdf_Element_Numeric($font->toEmSpace($fontParser->yMin)), - new Zend_Pdf_Element_Numeric($font->toEmSpace($fontParser->xMax)), - new Zend_Pdf_Element_Numeric($font->toEmSpace($fontParser->yMax))); - $fontDescriptor->FontBBox = new Zend_Pdf_Element_Array($fontBBox); - - $fontDescriptor->ItalicAngle = new Zend_Pdf_Element_Numeric($fontParser->italicAngle); - - $fontDescriptor->Ascent = new Zend_Pdf_Element_Numeric($font->toEmSpace($fontParser->ascent)); - $fontDescriptor->Descent = new Zend_Pdf_Element_Numeric($font->toEmSpace($fontParser->descent)); - - $fontDescriptor->CapHeight = new Zend_Pdf_Element_Numeric($fontParser->capitalHeight); - /** - * The vertical stem width is not yet extracted from the OpenType font - * file. For now, record zero which is interpreted as 'unknown'. - * @todo Calculate value for StemV. - */ - $fontDescriptor->StemV = new Zend_Pdf_Element_Numeric(0); - - $fontDescriptor->MissingWidth = new Zend_Pdf_Element_Numeric($fontParser->glyphWidths[0]); - - /* Set up font embedding. This is where the actual font program itself - * is embedded within the PDF document. - * - * Note that it is not requried that fonts be embedded within the PDF - * document to use them. If the recipient of the PDF has the font - * installed on their computer, they will see the correct fonts in the - * document. If they don't, the PDF viewer will substitute or synthesize - * a replacement. - * - * There are several guidelines for font embedding: - * - * First, the developer might specifically request not to embed the font. - */ - if (!($embeddingOptions & Zend_Pdf_Font::EMBED_DONT_EMBED)) { - - /* Second, the font author may have set copyright bits that prohibit - * the font program from being embedded. Yes this is controversial, - * but it's the rules: - * http://partners.adobe.com/public/developer/en/acrobat/sdk/FontPolicies.pdf - * - * To keep the developer in the loop, and to prevent surprising bug - * reports of "your PDF doesn't have the right fonts," throw an - * exception if the font cannot be embedded. - */ - if (! $fontParser->isEmbeddable) { - /* This exception may be suppressed if the developer decides that - * it's not a big deal that the font program can't be embedded. - */ - if (!($embeddingOptions & Zend_Pdf_Font::EMBED_SUPPRESS_EMBED_EXCEPTION)) { - $message = 'This font cannot be embedded in the PDF document. If you would like to use ' - . 'it anyway, you must pass Zend_Pdf_Font::EMBED_SUPPRESS_EMBED_EXCEPTION ' - . 'in the $options parameter of the font constructor.'; - throw new Zend_Pdf_Exception($message, Zend_Pdf_Exception::FONT_CANT_BE_EMBEDDED); - } - - } else { - /* Otherwise, the default behavior is to embed all custom fonts. - */ - /* This section will change soon to a stream object data - * provider model so that we don't have to keep a copy of the - * entire font in memory. - * - * We also cannot build font subsetting until the data provider - * model is in place. - */ - $fontFile = $fontParser->getDataSource()->readAllBytes(); - $fontFileObject = $font->getFactory()->newStreamObject($fontFile); - $fontFileObject->dictionary->Length1 = new Zend_Pdf_Element_Numeric(strlen($fontFile)); - if (!($embeddingOptions & Zend_Pdf_Font::EMBED_DONT_COMPRESS)) { - /* Compress the font file using Flate. This generally cuts file - * sizes by about half! - */ - $fontFileObject->dictionary->Filter = new Zend_Pdf_Element_Name('FlateDecode'); - } - if ($fontParser instanceof Zend_Pdf_FileParser_Font_OpenType_Type1 /* not implemented now */) { - $fontDescriptor->FontFile = $fontFileObject; - } else if ($fontParser instanceof Zend_Pdf_FileParser_Font_OpenType_TrueType) { - $fontDescriptor->FontFile2 = $fontFileObject; - } else { - $fontDescriptor->FontFile3 = $fontFileObject; - } - } - } - - return $fontDescriptor; - } -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple.php b/lib/zend/Zend/Pdf/Resource/Font/Simple.php deleted file mode 100644 index 7cbbc4b49c..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple.php +++ /dev/null @@ -1,283 +0,0 @@ -_resource->Encoding = new Zend_Pdf_Element_Name('WinAnsiEncoding'); - } - - /** - * Returns an array of glyph numbers corresponding to the Unicode characters. - * - * If a particular character doesn't exist in this font, the special 'missing - * character glyph' will be substituted. - * - * See also {@link glyphNumberForCharacter()}. - * - * @param array $characterCodes Array of Unicode character codes (code points). - * @return array Array of glyph numbers. - */ - public function glyphNumbersForCharacters($characterCodes) - { - return $this->_cmap->glyphNumbersForCharacters($characterCodes); - } - - /** - * Returns the glyph number corresponding to the Unicode character. - * - * If a particular character doesn't exist in this font, the special 'missing - * character glyph' will be substituted. - * - * See also {@link glyphNumbersForCharacters()} which is optimized for bulk - * operations. - * - * @param integer $characterCode Unicode character code (code point). - * @return integer Glyph number. - */ - public function glyphNumberForCharacter($characterCode) - { - return $this->_cmap->glyphNumberForCharacter($characterCode); - } - - /** - * Returns a number between 0 and 1 inclusive that indicates the percentage - * of characters in the string which are covered by glyphs in this font. - * - * Since no one font will contain glyphs for the entire Unicode character - * range, this method can be used to help locate a suitable font when the - * actual contents of the string are not known. - * - * Note that some fonts lie about the characters they support. Additionally, - * fonts don't usually contain glyphs for control characters such as tabs - * and line breaks, so it is rare that you will get back a full 1.0 score. - * The resulting value should be considered informational only. - * - * @param string $string - * @param string $charEncoding (optional) Character encoding of source text. - * If omitted, uses 'current locale'. - * @return float - */ - public function getCoveredPercentage($string, $charEncoding = '') - { - /* Convert the string to UTF-16BE encoding so we can match the string's - * character codes to those found in the cmap. - */ - if ($charEncoding != 'UTF-16BE') { - if (PHP_OS != 'AIX') { // AIX doesnt know what UTF-16BE is - $string = iconv($charEncoding, 'UTF-16BE', $string); - } - } - - $charCount = (PHP_OS != 'AIX') ? iconv_strlen($string, 'UTF-16BE') : strlen($string); - if ($charCount == 0) { - return 0; - } - - /* Fetch the covered character code list from the font's cmap. - */ - $coveredCharacters = $this->_cmap->getCoveredCharacters(); - - /* Calculate the score by doing a lookup for each character. - */ - $score = 0; - $maxIndex = strlen($string); - for ($i = 0; $i < $maxIndex; $i++) { - /** - * @todo Properly handle characters encoded as surrogate pairs. - */ - $charCode = (ord($string[$i]) << 8) | ord($string[++$i]); - /* This could probably be optimized a bit with a binary search... - */ - if (in_array($charCode, $coveredCharacters)) { - $score++; - } - } - return $score / $charCount; - } - - /** - * Returns the widths of the glyphs. - * - * The widths are expressed in the font's glyph space. You are responsible - * for converting to user space as necessary. See {@link unitsPerEm()}. - * - * See also {@link widthForGlyph()}. - * - * @param array &$glyphNumbers Array of glyph numbers. - * @return array Array of glyph widths (integers). - */ - public function widthsForGlyphs($glyphNumbers) - { - $widths = array(); - foreach ($glyphNumbers as $key => $glyphNumber) { - if (!isset($this->_glyphWidths[$glyphNumber])) { - $widths[$key] = $this->_missingGlyphWidth; - } else { - $widths[$key] = $this->_glyphWidths[$glyphNumber]; - } - } - return $widths; - } - - /** - * Returns the width of the glyph. - * - * Like {@link widthsForGlyphs()} but used for one glyph at a time. - * - * @param integer $glyphNumber - * @return integer - */ - public function widthForGlyph($glyphNumber) - { - if (!isset($this->_glyphWidths[$glyphNumber])) { - return $this->_missingGlyphWidth; - } - return $this->_glyphWidths[$glyphNumber]; - } - - /** - * Convert string to the font encoding. - * - * The method is used to prepare string for text drawing operators - * - * @param string $string - * @param string $charEncoding Character encoding of source text. - * @return string - */ - public function encodeString($string, $charEncoding) - { - if (PHP_OS == 'AIX') { - return $string; // returning here b/c AIX doesnt know what CP1252 is - } - - return iconv($charEncoding, 'CP1252//IGNORE', $string); - } - - /** - * Convert string from the font encoding. - * - * The method is used to convert strings retrieved from existing content streams - * - * @param string $string - * @param string $charEncoding Character encoding of resulting text. - * @return string - */ - public function decodeString($string, $charEncoding) - { - return iconv('CP1252', $charEncoding, $string); - } -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Parsed.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Parsed.php deleted file mode 100644 index 1ae268636d..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Parsed.php +++ /dev/null @@ -1,103 +0,0 @@ -parse(); - - /* Object properties */ - - $this->_fontNames = $fontParser->names; - - $this->_isBold = $fontParser->isBold; - $this->_isItalic = $fontParser->isItalic; - $this->_isMonospaced = $fontParser->isMonospaced; - - $this->_underlinePosition = $fontParser->underlinePosition; - $this->_underlineThickness = $fontParser->underlineThickness; - $this->_strikePosition = $fontParser->strikePosition; - $this->_strikeThickness = $fontParser->strikeThickness; - - $this->_unitsPerEm = $fontParser->unitsPerEm; - - $this->_ascent = $fontParser->ascent; - $this->_descent = $fontParser->descent; - $this->_lineGap = $fontParser->lineGap; - - $this->_glyphWidths = $fontParser->glyphWidths; - $this->_missingGlyphWidth = $this->_glyphWidths[0]; - - - $this->_cmap = $fontParser->cmap; - - - /* Resource dictionary */ - - $baseFont = $this->getFontName(Zend_Pdf_Font::NAME_POSTSCRIPT, 'en', 'UTF-8'); - $this->_resource->BaseFont = new Zend_Pdf_Element_Name($baseFont); - - $this->_resource->FirstChar = new Zend_Pdf_Element_Numeric(0); - $this->_resource->LastChar = new Zend_Pdf_Element_Numeric(count($this->_glyphWidths) - 1); - - /* Now convert the scalar glyph widths to Zend_Pdf_Element_Numeric objects. - */ - $pdfWidths = array(); - foreach ($this->_glyphWidths as $width) { - $pdfWidths[] = new Zend_Pdf_Element_Numeric($this->toEmSpace($width)); - } - /* Create the Zend_Pdf_Element_Array object and add it to the font's - * object factory and resource dictionary. - */ - $widthsArrayElement = new Zend_Pdf_Element_Array($pdfWidths); - $widthsObject = $this->_objectFactory->newObject($widthsArrayElement); - $this->_resource->Widths = $widthsObject; - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Parsed/TrueType.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Parsed/TrueType.php deleted file mode 100644 index 739bbe7e1b..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Parsed/TrueType.php +++ /dev/null @@ -1,64 +0,0 @@ -_fontType = Zend_Pdf_Font::TYPE_TRUETYPE; - - $this->_resource->Subtype = new Zend_Pdf_Element_Name('TrueType'); - - $fontDescriptor = Zend_Pdf_Resource_Font_FontDescriptor::factory($this, $fontParser, $embeddingOptions); - $this->_resource->FontDescriptor = $this->_objectFactory->newObject($fontDescriptor); - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard.php deleted file mode 100644 index 5febfe91dd..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard.php +++ /dev/null @@ -1,79 +0,0 @@ - - *
  • Courier - {@link Zend_Pdf_Resource_Font_Simple_Standard_Courier} - *
  • Courier-Bold - {@link Zend_Pdf_Resource_Font_Simple_Standard_CourierBold} - *
  • Courier-Oblique - {@link Zend_Pdf_Resource_Font_Simple_Standard_CourierOblique} - *
  • Courier-BoldOblique - {@link Zend_Pdf_Resource_Font_Simple_Standard_CourierBoldOblique} - *
  • Helvetica - {@link Zend_Pdf_Resource_Font_Simple_Standard_Helvetica} - *
  • Helvetica-Bold - {@link Zend_Pdf_Resource_Font_Simple_Standard_HelveticaBold} - *
  • Helvetica-Oblique - {@link Zend_Pdf_Resource_Font_Simple_Standard_HelveticaOblique} - *
  • Helvetica-BoldOblique - {@link Zend_Pdf_Resource_Font_Simple_Standard_HelveticaBoldOblique} - *
  • Symbol - {@link Zend_Pdf_Resource_Font_Simple_Standard_Symbol} - *
  • Times - {@link Zend_Pdf_Resource_Font_Simple_Standard_Times} - *
  • Times-Bold - {@link Zend_Pdf_Resource_Font_Simple_Standard_TimesBold} - *
  • Times-Italic - {@link Zend_Pdf_Resource_Font_Simple_Standard_TimesItalic} - *
  • Times-BoldItalic - {@link Zend_Pdf_Resource_Font_Simple_Standard_TimesBoldItalic} - *
  • ZapfDingbats - {@link Zend_Pdf_Resource_Font_Simple_Standard_ZapfDingbats} - * - * - * Font objects should be normally be obtained from the factory methods - * {@link Zend_Pdf_Font::fontWithName} and {@link Zend_Pdf_Font::fontWithPath}. - * - * @package Zend_Pdf - * @subpackage Fonts - * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - */ -abstract class Zend_Pdf_Resource_Font_Simple_Standard extends Zend_Pdf_Resource_Font_Simple -{ - /**** Public Interface ****/ - - - /* Object Lifecycle */ - - /** - * Object constructor - */ - public function __construct() - { - $this->_fontType = Zend_Pdf_Font::TYPE_STANDARD; - - parent::__construct(); - $this->_resource->Subtype = new Zend_Pdf_Element_Name('Type1'); - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/Courier.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/Courier.php deleted file mode 100644 index 666eaa342b..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/Courier.php +++ /dev/null @@ -1,291 +0,0 @@ -_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] = - "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00" - . "\x38\x00\x39\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x30\x00" - . "\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x31\x00\x2c\x00\x20\x00" - . "\x31\x00\x39\x00\x39\x00\x32\x00\x2c\x00\x20\x00\x31\x00\x39\x00" - . "\x39\x00\x33\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x37\x00" - . "\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00\x20\x00\x53\x00" - . "\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00\x20\x00\x49\x00" - . "\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00\x72\x00\x61\x00" - . "\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00\x41\x00\x6c\x00" - . "\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00\x74\x00\x73\x00" - . "\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00\x76\x00\x65\x00" - . "\x64\x00\x2e"; - $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] = - "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72"; - $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] = - "\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d"; - $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] = - "\x00\x34\x00\x33\x00\x30\x00\x35\x00\x30"; - $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] = - "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72\x00\x20\x00" - . "\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d"; - $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] = - "\x00\x30\x00\x30\x00\x33\x00\x2e\x00\x30\x00\x30\x00\x30"; - $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] = - "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72"; - - $this->_isBold = false; - $this->_isItalic = false; - $this->_isMonospaced = true; - - $this->_underlinePosition = -100; - $this->_underlineThickness = 50; - $this->_strikePosition = 225; - $this->_strikeThickness = 50; - - $this->_unitsPerEm = 1000; - - $this->_ascent = 629; - $this->_descent = -157; - $this->_lineGap = 414; - - /* The glyph numbers assigned here are synthetic; they do not match the - * actual glyph numbers used by the font. This is not a big deal though - * since this data never makes it to the PDF file. It is only used - * internally for layout calculations. - */ - $this->_glyphWidths = array( - 0x00 => 0x01f4, 0x01 => 0x0258, 0x02 => 0x0258, 0x03 => 0x0258, - 0x04 => 0x0258, 0x05 => 0x0258, 0x06 => 0x0258, 0x07 => 0x0258, - 0x08 => 0x0258, 0x09 => 0x0258, 0x0a => 0x0258, 0x0b => 0x0258, - 0x0c => 0x0258, 0x0d => 0x0258, 0x0e => 0x0258, 0x0f => 0x0258, - 0x10 => 0x0258, 0x11 => 0x0258, 0x12 => 0x0258, 0x13 => 0x0258, - 0x14 => 0x0258, 0x15 => 0x0258, 0x16 => 0x0258, 0x17 => 0x0258, - 0x18 => 0x0258, 0x19 => 0x0258, 0x1a => 0x0258, 0x1b => 0x0258, - 0x1c => 0x0258, 0x1d => 0x0258, 0x1e => 0x0258, 0x1f => 0x0258, - 0x20 => 0x0258, 0x21 => 0x0258, 0x22 => 0x0258, 0x23 => 0x0258, - 0x24 => 0x0258, 0x25 => 0x0258, 0x26 => 0x0258, 0x27 => 0x0258, - 0x28 => 0x0258, 0x29 => 0x0258, 0x2a => 0x0258, 0x2b => 0x0258, - 0x2c => 0x0258, 0x2d => 0x0258, 0x2e => 0x0258, 0x2f => 0x0258, - 0x30 => 0x0258, 0x31 => 0x0258, 0x32 => 0x0258, 0x33 => 0x0258, - 0x34 => 0x0258, 0x35 => 0x0258, 0x36 => 0x0258, 0x37 => 0x0258, - 0x38 => 0x0258, 0x39 => 0x0258, 0x3a => 0x0258, 0x3b => 0x0258, - 0x3c => 0x0258, 0x3d => 0x0258, 0x3e => 0x0258, 0x3f => 0x0258, - 0x40 => 0x0258, 0x41 => 0x0258, 0x42 => 0x0258, 0x43 => 0x0258, - 0x44 => 0x0258, 0x45 => 0x0258, 0x46 => 0x0258, 0x47 => 0x0258, - 0x48 => 0x0258, 0x49 => 0x0258, 0x4a => 0x0258, 0x4b => 0x0258, - 0x4c => 0x0258, 0x4d => 0x0258, 0x4e => 0x0258, 0x4f => 0x0258, - 0x50 => 0x0258, 0x51 => 0x0258, 0x52 => 0x0258, 0x53 => 0x0258, - 0x54 => 0x0258, 0x55 => 0x0258, 0x56 => 0x0258, 0x57 => 0x0258, - 0x58 => 0x0258, 0x59 => 0x0258, 0x5a => 0x0258, 0x5b => 0x0258, - 0x5c => 0x0258, 0x5d => 0x0258, 0x5e => 0x0258, 0x5f => 0x0258, - 0x60 => 0x0258, 0x61 => 0x0258, 0x62 => 0x0258, 0x63 => 0x0258, - 0x64 => 0x0258, 0x65 => 0x0258, 0x66 => 0x0258, 0x67 => 0x0258, - 0x68 => 0x0258, 0x69 => 0x0258, 0x6a => 0x0258, 0x6b => 0x0258, - 0x6c => 0x0258, 0x6d => 0x0258, 0x6e => 0x0258, 0x6f => 0x0258, - 0x70 => 0x0258, 0x71 => 0x0258, 0x72 => 0x0258, 0x73 => 0x0258, - 0x74 => 0x0258, 0x75 => 0x0258, 0x76 => 0x0258, 0x77 => 0x0258, - 0x78 => 0x0258, 0x79 => 0x0258, 0x7a => 0x0258, 0x7b => 0x0258, - 0x7c => 0x0258, 0x7d => 0x0258, 0x7e => 0x0258, 0x7f => 0x0258, - 0x80 => 0x0258, 0x81 => 0x0258, 0x82 => 0x0258, 0x83 => 0x0258, - 0x84 => 0x0258, 0x85 => 0x0258, 0x86 => 0x0258, 0x87 => 0x0258, - 0x88 => 0x0258, 0x89 => 0x0258, 0x8a => 0x0258, 0x8b => 0x0258, - 0x8c => 0x0258, 0x8d => 0x0258, 0x8e => 0x0258, 0x8f => 0x0258, - 0x90 => 0x0258, 0x91 => 0x0258, 0x92 => 0x0258, 0x93 => 0x0258, - 0x94 => 0x0258, 0x95 => 0x0258, 0x96 => 0x0258, 0x97 => 0x0258, - 0x98 => 0x0258, 0x99 => 0x0258, 0x9a => 0x0258, 0x9b => 0x0258, - 0x9c => 0x0258, 0x9d => 0x0258, 0x9e => 0x0258, 0x9f => 0x0258, - 0xa0 => 0x0258, 0xa1 => 0x0258, 0xa2 => 0x0258, 0xa3 => 0x0258, - 0xa4 => 0x0258, 0xa5 => 0x0258, 0xa6 => 0x0258, 0xa7 => 0x0258, - 0xa8 => 0x0258, 0xa9 => 0x0258, 0xaa => 0x0258, 0xab => 0x0258, - 0xac => 0x0258, 0xad => 0x0258, 0xae => 0x0258, 0xaf => 0x0258, - 0xb0 => 0x0258, 0xb1 => 0x0258, 0xb2 => 0x0258, 0xb3 => 0x0258, - 0xb4 => 0x0258, 0xb5 => 0x0258, 0xb6 => 0x0258, 0xb7 => 0x0258, - 0xb8 => 0x0258, 0xb9 => 0x0258, 0xba => 0x0258, 0xbb => 0x0258, - 0xbc => 0x0258, 0xbd => 0x0258, 0xbe => 0x0258, 0xbf => 0x0258, - 0xc0 => 0x0258, 0xc1 => 0x0258, 0xc2 => 0x0258, 0xc3 => 0x0258, - 0xc4 => 0x0258, 0xc5 => 0x0258, 0xc6 => 0x0258, 0xc7 => 0x0258, - 0xc8 => 0x0258, 0xc9 => 0x0258, 0xca => 0x0258, 0xcb => 0x0258, - 0xcc => 0x0258, 0xcd => 0x0258, 0xce => 0x0258, 0xcf => 0x0258, - 0xd0 => 0x0258, 0xd1 => 0x0258, 0xd2 => 0x0258, 0xd3 => 0x0258, - 0xd4 => 0x0258, 0xd5 => 0x0258, 0xd6 => 0x0258, 0xd7 => 0x0258, - 0xd8 => 0x0258, 0xd9 => 0x0258, 0xda => 0x0258, 0xdb => 0x0258, - 0xdc => 0x0258, 0xdd => 0x0258, 0xde => 0x0258, 0xdf => 0x0258, - 0xe0 => 0x0258, 0xe1 => 0x0258, 0xe2 => 0x0258, 0xe3 => 0x0258, - 0xe4 => 0x0258, 0xe5 => 0x0258, 0xe6 => 0x0258, 0xe7 => 0x0258, - 0xe8 => 0x0258, 0xe9 => 0x0258, 0xea => 0x0258, 0xeb => 0x0258, - 0xec => 0x0258, 0xed => 0x0258, 0xee => 0x0258, 0xef => 0x0258, - 0xf0 => 0x0258, 0xf1 => 0x0258, 0xf2 => 0x0258, 0xf3 => 0x0258, - 0xf4 => 0x0258, 0xf5 => 0x0258, 0xf6 => 0x0258, 0xf7 => 0x0258, - 0xf8 => 0x0258, 0xf9 => 0x0258, 0xfa => 0x0258, 0xfb => 0x0258, - 0xfc => 0x0258, 0xfd => 0x0258, 0xfe => 0x0258, 0xff => 0x0258, - 0x0100 => 0x0258, 0x0101 => 0x0258, 0x0102 => 0x0258, 0x0103 => 0x0258, - 0x0104 => 0x0258, 0x0105 => 0x0258, 0x0106 => 0x0258, 0x0107 => 0x0258, - 0x0108 => 0x0258, 0x0109 => 0x0258, 0x010a => 0x0258, 0x010b => 0x0258, - 0x010c => 0x0258, 0x010d => 0x0258, 0x010e => 0x0258, 0x010f => 0x0258, - 0x0110 => 0x0258, 0x0111 => 0x0258, 0x0112 => 0x0258, 0x0113 => 0x0258, - 0x0114 => 0x0258, 0x0115 => 0x0258, 0x0116 => 0x0258, 0x0117 => 0x0258, - 0x0118 => 0x0258, 0x0119 => 0x0258, 0x011a => 0x0258, 0x011b => 0x0258, - 0x011c => 0x0258, 0x011d => 0x0258, 0x011e => 0x0258, 0x011f => 0x0258, - 0x0120 => 0x0258, 0x0121 => 0x0258, 0x0122 => 0x0258, 0x0123 => 0x0258, - 0x0124 => 0x0258, 0x0125 => 0x0258, 0x0126 => 0x0258, 0x0127 => 0x0258, - 0x0128 => 0x0258, 0x0129 => 0x0258, 0x012a => 0x0258, 0x012b => 0x0258, - 0x012c => 0x0258, 0x012d => 0x0258, 0x012e => 0x0258, 0x012f => 0x0258, - 0x0130 => 0x0258, 0x0131 => 0x0258, 0x0132 => 0x0258, 0x0133 => 0x0258, - 0x0134 => 0x0258, 0x0135 => 0x0258, 0x0136 => 0x0258, 0x0137 => 0x0258, - 0x0138 => 0x0258, 0x0139 => 0x0258, 0x013a => 0x0258, 0x013b => 0x0258, - ); - - /* The cmap table is similarly synthesized. - */ - $cmapData = array( - 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04, - 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08, - 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c, - 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10, - 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14, - 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18, - 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c, - 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20, - 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24, - 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28, - 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c, - 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30, - 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34, - 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38, - 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c, - 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40, - 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44, - 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48, - 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c, - 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50, - 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54, - 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58, - 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c, - 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60, - 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64, - 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68, - 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c, - 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70, - 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74, - 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78, - 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c, - 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80, - 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84, - 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88, - 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c, - 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90, - 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94, - 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98, - 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c, - 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0, - 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4, - 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8, - 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac, - 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0, - 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4, - 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8, - 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc, - 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0, - 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4, - 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8, - 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc, - 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0, - 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4, - 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8, - 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc, - 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0, - 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4, - 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8, - 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec, - 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0, - 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4, - 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8, - 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc, - 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100, - 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104, - 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108, - 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c, - 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110, - 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114, - 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118, - 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c, - 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120, - 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124, - 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128, - 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c, - 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130, - 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134, - 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138, - 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b); - $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData( - Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData); - - - /* Resource dictionary */ - - /* The resource dictionary for the standard fonts is sparse because PDF - * viewers already have all of the metrics data. We only need to provide - * the font name and encoding method. - */ - $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Courier'); - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/CourierBold.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/CourierBold.php deleted file mode 100644 index 488b4fd4f4..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/CourierBold.php +++ /dev/null @@ -1,292 +0,0 @@ -_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] = - "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00" - . "\x38\x00\x39\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x30\x00" - . "\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x31\x00\x2c\x00\x20\x00" - . "\x31\x00\x39\x00\x39\x00\x33\x00\x2c\x00\x20\x00\x31\x00\x39\x00" - . "\x39\x00\x37\x00\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00" - . "\x20\x00\x53\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00" - . "\x20\x00\x49\x00\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00" - . "\x72\x00\x61\x00\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00" - . "\x41\x00\x6c\x00\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x73\x00\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00" - . "\x76\x00\x65\x00\x64\x00\x2e"; - $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] = - "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72"; - $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] = - "\x00\x42\x00\x6f\x00\x6c\x00\x64"; - $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] = - "\x00\x34\x00\x33\x00\x30\x00\x34\x00\x38"; - $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] = - "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72\x00\x2d\x00" - . "\x42\x00\x6f\x00\x6c\x00\x64\x00\x20\x00\x42\x00\x6f\x00\x6c\x00" - . "\x64"; - $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] = - "\x00\x30\x00\x30\x00\x33\x00\x2e\x00\x30\x00\x30\x00\x30"; - $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] = - "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72\x00\x2d\x00" - . "\x42\x00\x6f\x00\x6c\x00\x64"; - - $this->_isBold = true; - $this->_isItalic = false; - $this->_isMonospaced = true; - - $this->_underlinePosition = -100; - $this->_underlineThickness = 50; - $this->_strikePosition = 225; - $this->_strikeThickness = 50; - - $this->_unitsPerEm = 1000; - - $this->_ascent = 629; - $this->_descent = -157; - $this->_lineGap = 414; - - /* The glyph numbers assigned here are synthetic; they do not match the - * actual glyph numbers used by the font. This is not a big deal though - * since this data never makes it to the PDF file. It is only used - * internally for layout calculations. - */ - $this->_glyphWidths = array( - 0x00 => 0x01f4, 0x01 => 0x0258, 0x02 => 0x0258, 0x03 => 0x0258, - 0x04 => 0x0258, 0x05 => 0x0258, 0x06 => 0x0258, 0x07 => 0x0258, - 0x08 => 0x0258, 0x09 => 0x0258, 0x0a => 0x0258, 0x0b => 0x0258, - 0x0c => 0x0258, 0x0d => 0x0258, 0x0e => 0x0258, 0x0f => 0x0258, - 0x10 => 0x0258, 0x11 => 0x0258, 0x12 => 0x0258, 0x13 => 0x0258, - 0x14 => 0x0258, 0x15 => 0x0258, 0x16 => 0x0258, 0x17 => 0x0258, - 0x18 => 0x0258, 0x19 => 0x0258, 0x1a => 0x0258, 0x1b => 0x0258, - 0x1c => 0x0258, 0x1d => 0x0258, 0x1e => 0x0258, 0x1f => 0x0258, - 0x20 => 0x0258, 0x21 => 0x0258, 0x22 => 0x0258, 0x23 => 0x0258, - 0x24 => 0x0258, 0x25 => 0x0258, 0x26 => 0x0258, 0x27 => 0x0258, - 0x28 => 0x0258, 0x29 => 0x0258, 0x2a => 0x0258, 0x2b => 0x0258, - 0x2c => 0x0258, 0x2d => 0x0258, 0x2e => 0x0258, 0x2f => 0x0258, - 0x30 => 0x0258, 0x31 => 0x0258, 0x32 => 0x0258, 0x33 => 0x0258, - 0x34 => 0x0258, 0x35 => 0x0258, 0x36 => 0x0258, 0x37 => 0x0258, - 0x38 => 0x0258, 0x39 => 0x0258, 0x3a => 0x0258, 0x3b => 0x0258, - 0x3c => 0x0258, 0x3d => 0x0258, 0x3e => 0x0258, 0x3f => 0x0258, - 0x40 => 0x0258, 0x41 => 0x0258, 0x42 => 0x0258, 0x43 => 0x0258, - 0x44 => 0x0258, 0x45 => 0x0258, 0x46 => 0x0258, 0x47 => 0x0258, - 0x48 => 0x0258, 0x49 => 0x0258, 0x4a => 0x0258, 0x4b => 0x0258, - 0x4c => 0x0258, 0x4d => 0x0258, 0x4e => 0x0258, 0x4f => 0x0258, - 0x50 => 0x0258, 0x51 => 0x0258, 0x52 => 0x0258, 0x53 => 0x0258, - 0x54 => 0x0258, 0x55 => 0x0258, 0x56 => 0x0258, 0x57 => 0x0258, - 0x58 => 0x0258, 0x59 => 0x0258, 0x5a => 0x0258, 0x5b => 0x0258, - 0x5c => 0x0258, 0x5d => 0x0258, 0x5e => 0x0258, 0x5f => 0x0258, - 0x60 => 0x0258, 0x61 => 0x0258, 0x62 => 0x0258, 0x63 => 0x0258, - 0x64 => 0x0258, 0x65 => 0x0258, 0x66 => 0x0258, 0x67 => 0x0258, - 0x68 => 0x0258, 0x69 => 0x0258, 0x6a => 0x0258, 0x6b => 0x0258, - 0x6c => 0x0258, 0x6d => 0x0258, 0x6e => 0x0258, 0x6f => 0x0258, - 0x70 => 0x0258, 0x71 => 0x0258, 0x72 => 0x0258, 0x73 => 0x0258, - 0x74 => 0x0258, 0x75 => 0x0258, 0x76 => 0x0258, 0x77 => 0x0258, - 0x78 => 0x0258, 0x79 => 0x0258, 0x7a => 0x0258, 0x7b => 0x0258, - 0x7c => 0x0258, 0x7d => 0x0258, 0x7e => 0x0258, 0x7f => 0x0258, - 0x80 => 0x0258, 0x81 => 0x0258, 0x82 => 0x0258, 0x83 => 0x0258, - 0x84 => 0x0258, 0x85 => 0x0258, 0x86 => 0x0258, 0x87 => 0x0258, - 0x88 => 0x0258, 0x89 => 0x0258, 0x8a => 0x0258, 0x8b => 0x0258, - 0x8c => 0x0258, 0x8d => 0x0258, 0x8e => 0x0258, 0x8f => 0x0258, - 0x90 => 0x0258, 0x91 => 0x0258, 0x92 => 0x0258, 0x93 => 0x0258, - 0x94 => 0x0258, 0x95 => 0x0258, 0x96 => 0x0258, 0x97 => 0x0258, - 0x98 => 0x0258, 0x99 => 0x0258, 0x9a => 0x0258, 0x9b => 0x0258, - 0x9c => 0x0258, 0x9d => 0x0258, 0x9e => 0x0258, 0x9f => 0x0258, - 0xa0 => 0x0258, 0xa1 => 0x0258, 0xa2 => 0x0258, 0xa3 => 0x0258, - 0xa4 => 0x0258, 0xa5 => 0x0258, 0xa6 => 0x0258, 0xa7 => 0x0258, - 0xa8 => 0x0258, 0xa9 => 0x0258, 0xaa => 0x0258, 0xab => 0x0258, - 0xac => 0x0258, 0xad => 0x0258, 0xae => 0x0258, 0xaf => 0x0258, - 0xb0 => 0x0258, 0xb1 => 0x0258, 0xb2 => 0x0258, 0xb3 => 0x0258, - 0xb4 => 0x0258, 0xb5 => 0x0258, 0xb6 => 0x0258, 0xb7 => 0x0258, - 0xb8 => 0x0258, 0xb9 => 0x0258, 0xba => 0x0258, 0xbb => 0x0258, - 0xbc => 0x0258, 0xbd => 0x0258, 0xbe => 0x0258, 0xbf => 0x0258, - 0xc0 => 0x0258, 0xc1 => 0x0258, 0xc2 => 0x0258, 0xc3 => 0x0258, - 0xc4 => 0x0258, 0xc5 => 0x0258, 0xc6 => 0x0258, 0xc7 => 0x0258, - 0xc8 => 0x0258, 0xc9 => 0x0258, 0xca => 0x0258, 0xcb => 0x0258, - 0xcc => 0x0258, 0xcd => 0x0258, 0xce => 0x0258, 0xcf => 0x0258, - 0xd0 => 0x0258, 0xd1 => 0x0258, 0xd2 => 0x0258, 0xd3 => 0x0258, - 0xd4 => 0x0258, 0xd5 => 0x0258, 0xd6 => 0x0258, 0xd7 => 0x0258, - 0xd8 => 0x0258, 0xd9 => 0x0258, 0xda => 0x0258, 0xdb => 0x0258, - 0xdc => 0x0258, 0xdd => 0x0258, 0xde => 0x0258, 0xdf => 0x0258, - 0xe0 => 0x0258, 0xe1 => 0x0258, 0xe2 => 0x0258, 0xe3 => 0x0258, - 0xe4 => 0x0258, 0xe5 => 0x0258, 0xe6 => 0x0258, 0xe7 => 0x0258, - 0xe8 => 0x0258, 0xe9 => 0x0258, 0xea => 0x0258, 0xeb => 0x0258, - 0xec => 0x0258, 0xed => 0x0258, 0xee => 0x0258, 0xef => 0x0258, - 0xf0 => 0x0258, 0xf1 => 0x0258, 0xf2 => 0x0258, 0xf3 => 0x0258, - 0xf4 => 0x0258, 0xf5 => 0x0258, 0xf6 => 0x0258, 0xf7 => 0x0258, - 0xf8 => 0x0258, 0xf9 => 0x0258, 0xfa => 0x0258, 0xfb => 0x0258, - 0xfc => 0x0258, 0xfd => 0x0258, 0xfe => 0x0258, 0xff => 0x0258, - 0x0100 => 0x0258, 0x0101 => 0x0258, 0x0102 => 0x0258, 0x0103 => 0x0258, - 0x0104 => 0x0258, 0x0105 => 0x0258, 0x0106 => 0x0258, 0x0107 => 0x0258, - 0x0108 => 0x0258, 0x0109 => 0x0258, 0x010a => 0x0258, 0x010b => 0x0258, - 0x010c => 0x0258, 0x010d => 0x0258, 0x010e => 0x0258, 0x010f => 0x0258, - 0x0110 => 0x0258, 0x0111 => 0x0258, 0x0112 => 0x0258, 0x0113 => 0x0258, - 0x0114 => 0x0258, 0x0115 => 0x0258, 0x0116 => 0x0258, 0x0117 => 0x0258, - 0x0118 => 0x0258, 0x0119 => 0x0258, 0x011a => 0x0258, 0x011b => 0x0258, - 0x011c => 0x0258, 0x011d => 0x0258, 0x011e => 0x0258, 0x011f => 0x0258, - 0x0120 => 0x0258, 0x0121 => 0x0258, 0x0122 => 0x0258, 0x0123 => 0x0258, - 0x0124 => 0x0258, 0x0125 => 0x0258, 0x0126 => 0x0258, 0x0127 => 0x0258, - 0x0128 => 0x0258, 0x0129 => 0x0258, 0x012a => 0x0258, 0x012b => 0x0258, - 0x012c => 0x0258, 0x012d => 0x0258, 0x012e => 0x0258, 0x012f => 0x0258, - 0x0130 => 0x0258, 0x0131 => 0x0258, 0x0132 => 0x0258, 0x0133 => 0x0258, - 0x0134 => 0x0258, 0x0135 => 0x0258, 0x0136 => 0x0258, 0x0137 => 0x0258, - 0x0138 => 0x0258, 0x0139 => 0x0258, 0x013a => 0x0258, 0x013b => 0x0258, - ); - - /* The cmap table is similarly synthesized. - */ - $cmapData = array( - 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04, - 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08, - 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c, - 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10, - 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14, - 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18, - 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c, - 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20, - 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24, - 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28, - 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c, - 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30, - 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34, - 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38, - 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c, - 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40, - 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44, - 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48, - 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c, - 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50, - 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54, - 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58, - 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c, - 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60, - 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64, - 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68, - 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c, - 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70, - 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74, - 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78, - 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c, - 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80, - 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84, - 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88, - 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c, - 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90, - 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94, - 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98, - 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c, - 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0, - 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4, - 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8, - 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac, - 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0, - 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4, - 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8, - 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc, - 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0, - 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4, - 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8, - 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc, - 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0, - 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4, - 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8, - 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc, - 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0, - 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4, - 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8, - 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec, - 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0, - 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4, - 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8, - 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc, - 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100, - 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104, - 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108, - 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c, - 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110, - 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114, - 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118, - 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c, - 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120, - 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124, - 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128, - 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c, - 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130, - 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134, - 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138, - 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b); - $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData( - Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData); - - - /* Resource dictionary */ - - /* The resource dictionary for the standard fonts is sparse because PDF - * viewers already have all of the metrics data. We only need to provide - * the font name and encoding method. - */ - $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Courier-Bold'); - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/CourierBoldOblique.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/CourierBoldOblique.php deleted file mode 100644 index 0ef2f10252..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/CourierBoldOblique.php +++ /dev/null @@ -1,293 +0,0 @@ -_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] = - "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00" - . "\x38\x00\x39\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x30\x00" - . "\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x31\x00\x2c\x00\x20\x00" - . "\x31\x00\x39\x00\x39\x00\x33\x00\x2c\x00\x20\x00\x31\x00\x39\x00" - . "\x39\x00\x37\x00\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00" - . "\x20\x00\x53\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00" - . "\x20\x00\x49\x00\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00" - . "\x72\x00\x61\x00\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00" - . "\x41\x00\x6c\x00\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x73\x00\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00" - . "\x76\x00\x65\x00\x64\x00\x2e"; - $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] = - "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72"; - $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] = - "\x00\x42\x00\x6f\x00\x6c\x00\x64"; - $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] = - "\x00\x34\x00\x33\x00\x30\x00\x34\x00\x39"; - $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] = - "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72\x00\x2d\x00" - . "\x42\x00\x6f\x00\x6c\x00\x64\x00\x4f\x00\x62\x00\x6c\x00\x69\x00" - . "\x71\x00\x75\x00\x65\x00\x20\x00\x42\x00\x6f\x00\x6c\x00\x64"; - $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] = - "\x00\x30\x00\x30\x00\x33\x00\x2e\x00\x30\x00\x30\x00\x30"; - $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] = - "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72\x00\x2d\x00" - . "\x42\x00\x6f\x00\x6c\x00\x64\x00\x4f\x00\x62\x00\x6c\x00\x69\x00" - . "\x71\x00\x75\x00\x65"; - - $this->_isBold = true; - $this->_isItalic = true; - $this->_isMonospaced = true; - - $this->_underlinePosition = -100; - $this->_underlineThickness = 50; - $this->_strikePosition = 225; - $this->_strikeThickness = 50; - - $this->_unitsPerEm = 1000; - - $this->_ascent = 629; - $this->_descent = -157; - $this->_lineGap = 414; - - /* The glyph numbers assigned here are synthetic; they do not match the - * actual glyph numbers used by the font. This is not a big deal though - * since this data never makes it to the PDF file. It is only used - * internally for layout calculations. - */ - $this->_glyphWidths = array( - 0x00 => 0x01f4, 0x01 => 0x0258, 0x02 => 0x0258, 0x03 => 0x0258, - 0x04 => 0x0258, 0x05 => 0x0258, 0x06 => 0x0258, 0x07 => 0x0258, - 0x08 => 0x0258, 0x09 => 0x0258, 0x0a => 0x0258, 0x0b => 0x0258, - 0x0c => 0x0258, 0x0d => 0x0258, 0x0e => 0x0258, 0x0f => 0x0258, - 0x10 => 0x0258, 0x11 => 0x0258, 0x12 => 0x0258, 0x13 => 0x0258, - 0x14 => 0x0258, 0x15 => 0x0258, 0x16 => 0x0258, 0x17 => 0x0258, - 0x18 => 0x0258, 0x19 => 0x0258, 0x1a => 0x0258, 0x1b => 0x0258, - 0x1c => 0x0258, 0x1d => 0x0258, 0x1e => 0x0258, 0x1f => 0x0258, - 0x20 => 0x0258, 0x21 => 0x0258, 0x22 => 0x0258, 0x23 => 0x0258, - 0x24 => 0x0258, 0x25 => 0x0258, 0x26 => 0x0258, 0x27 => 0x0258, - 0x28 => 0x0258, 0x29 => 0x0258, 0x2a => 0x0258, 0x2b => 0x0258, - 0x2c => 0x0258, 0x2d => 0x0258, 0x2e => 0x0258, 0x2f => 0x0258, - 0x30 => 0x0258, 0x31 => 0x0258, 0x32 => 0x0258, 0x33 => 0x0258, - 0x34 => 0x0258, 0x35 => 0x0258, 0x36 => 0x0258, 0x37 => 0x0258, - 0x38 => 0x0258, 0x39 => 0x0258, 0x3a => 0x0258, 0x3b => 0x0258, - 0x3c => 0x0258, 0x3d => 0x0258, 0x3e => 0x0258, 0x3f => 0x0258, - 0x40 => 0x0258, 0x41 => 0x0258, 0x42 => 0x0258, 0x43 => 0x0258, - 0x44 => 0x0258, 0x45 => 0x0258, 0x46 => 0x0258, 0x47 => 0x0258, - 0x48 => 0x0258, 0x49 => 0x0258, 0x4a => 0x0258, 0x4b => 0x0258, - 0x4c => 0x0258, 0x4d => 0x0258, 0x4e => 0x0258, 0x4f => 0x0258, - 0x50 => 0x0258, 0x51 => 0x0258, 0x52 => 0x0258, 0x53 => 0x0258, - 0x54 => 0x0258, 0x55 => 0x0258, 0x56 => 0x0258, 0x57 => 0x0258, - 0x58 => 0x0258, 0x59 => 0x0258, 0x5a => 0x0258, 0x5b => 0x0258, - 0x5c => 0x0258, 0x5d => 0x0258, 0x5e => 0x0258, 0x5f => 0x0258, - 0x60 => 0x0258, 0x61 => 0x0258, 0x62 => 0x0258, 0x63 => 0x0258, - 0x64 => 0x0258, 0x65 => 0x0258, 0x66 => 0x0258, 0x67 => 0x0258, - 0x68 => 0x0258, 0x69 => 0x0258, 0x6a => 0x0258, 0x6b => 0x0258, - 0x6c => 0x0258, 0x6d => 0x0258, 0x6e => 0x0258, 0x6f => 0x0258, - 0x70 => 0x0258, 0x71 => 0x0258, 0x72 => 0x0258, 0x73 => 0x0258, - 0x74 => 0x0258, 0x75 => 0x0258, 0x76 => 0x0258, 0x77 => 0x0258, - 0x78 => 0x0258, 0x79 => 0x0258, 0x7a => 0x0258, 0x7b => 0x0258, - 0x7c => 0x0258, 0x7d => 0x0258, 0x7e => 0x0258, 0x7f => 0x0258, - 0x80 => 0x0258, 0x81 => 0x0258, 0x82 => 0x0258, 0x83 => 0x0258, - 0x84 => 0x0258, 0x85 => 0x0258, 0x86 => 0x0258, 0x87 => 0x0258, - 0x88 => 0x0258, 0x89 => 0x0258, 0x8a => 0x0258, 0x8b => 0x0258, - 0x8c => 0x0258, 0x8d => 0x0258, 0x8e => 0x0258, 0x8f => 0x0258, - 0x90 => 0x0258, 0x91 => 0x0258, 0x92 => 0x0258, 0x93 => 0x0258, - 0x94 => 0x0258, 0x95 => 0x0258, 0x96 => 0x0258, 0x97 => 0x0258, - 0x98 => 0x0258, 0x99 => 0x0258, 0x9a => 0x0258, 0x9b => 0x0258, - 0x9c => 0x0258, 0x9d => 0x0258, 0x9e => 0x0258, 0x9f => 0x0258, - 0xa0 => 0x0258, 0xa1 => 0x0258, 0xa2 => 0x0258, 0xa3 => 0x0258, - 0xa4 => 0x0258, 0xa5 => 0x0258, 0xa6 => 0x0258, 0xa7 => 0x0258, - 0xa8 => 0x0258, 0xa9 => 0x0258, 0xaa => 0x0258, 0xab => 0x0258, - 0xac => 0x0258, 0xad => 0x0258, 0xae => 0x0258, 0xaf => 0x0258, - 0xb0 => 0x0258, 0xb1 => 0x0258, 0xb2 => 0x0258, 0xb3 => 0x0258, - 0xb4 => 0x0258, 0xb5 => 0x0258, 0xb6 => 0x0258, 0xb7 => 0x0258, - 0xb8 => 0x0258, 0xb9 => 0x0258, 0xba => 0x0258, 0xbb => 0x0258, - 0xbc => 0x0258, 0xbd => 0x0258, 0xbe => 0x0258, 0xbf => 0x0258, - 0xc0 => 0x0258, 0xc1 => 0x0258, 0xc2 => 0x0258, 0xc3 => 0x0258, - 0xc4 => 0x0258, 0xc5 => 0x0258, 0xc6 => 0x0258, 0xc7 => 0x0258, - 0xc8 => 0x0258, 0xc9 => 0x0258, 0xca => 0x0258, 0xcb => 0x0258, - 0xcc => 0x0258, 0xcd => 0x0258, 0xce => 0x0258, 0xcf => 0x0258, - 0xd0 => 0x0258, 0xd1 => 0x0258, 0xd2 => 0x0258, 0xd3 => 0x0258, - 0xd4 => 0x0258, 0xd5 => 0x0258, 0xd6 => 0x0258, 0xd7 => 0x0258, - 0xd8 => 0x0258, 0xd9 => 0x0258, 0xda => 0x0258, 0xdb => 0x0258, - 0xdc => 0x0258, 0xdd => 0x0258, 0xde => 0x0258, 0xdf => 0x0258, - 0xe0 => 0x0258, 0xe1 => 0x0258, 0xe2 => 0x0258, 0xe3 => 0x0258, - 0xe4 => 0x0258, 0xe5 => 0x0258, 0xe6 => 0x0258, 0xe7 => 0x0258, - 0xe8 => 0x0258, 0xe9 => 0x0258, 0xea => 0x0258, 0xeb => 0x0258, - 0xec => 0x0258, 0xed => 0x0258, 0xee => 0x0258, 0xef => 0x0258, - 0xf0 => 0x0258, 0xf1 => 0x0258, 0xf2 => 0x0258, 0xf3 => 0x0258, - 0xf4 => 0x0258, 0xf5 => 0x0258, 0xf6 => 0x0258, 0xf7 => 0x0258, - 0xf8 => 0x0258, 0xf9 => 0x0258, 0xfa => 0x0258, 0xfb => 0x0258, - 0xfc => 0x0258, 0xfd => 0x0258, 0xfe => 0x0258, 0xff => 0x0258, - 0x0100 => 0x0258, 0x0101 => 0x0258, 0x0102 => 0x0258, 0x0103 => 0x0258, - 0x0104 => 0x0258, 0x0105 => 0x0258, 0x0106 => 0x0258, 0x0107 => 0x0258, - 0x0108 => 0x0258, 0x0109 => 0x0258, 0x010a => 0x0258, 0x010b => 0x0258, - 0x010c => 0x0258, 0x010d => 0x0258, 0x010e => 0x0258, 0x010f => 0x0258, - 0x0110 => 0x0258, 0x0111 => 0x0258, 0x0112 => 0x0258, 0x0113 => 0x0258, - 0x0114 => 0x0258, 0x0115 => 0x0258, 0x0116 => 0x0258, 0x0117 => 0x0258, - 0x0118 => 0x0258, 0x0119 => 0x0258, 0x011a => 0x0258, 0x011b => 0x0258, - 0x011c => 0x0258, 0x011d => 0x0258, 0x011e => 0x0258, 0x011f => 0x0258, - 0x0120 => 0x0258, 0x0121 => 0x0258, 0x0122 => 0x0258, 0x0123 => 0x0258, - 0x0124 => 0x0258, 0x0125 => 0x0258, 0x0126 => 0x0258, 0x0127 => 0x0258, - 0x0128 => 0x0258, 0x0129 => 0x0258, 0x012a => 0x0258, 0x012b => 0x0258, - 0x012c => 0x0258, 0x012d => 0x0258, 0x012e => 0x0258, 0x012f => 0x0258, - 0x0130 => 0x0258, 0x0131 => 0x0258, 0x0132 => 0x0258, 0x0133 => 0x0258, - 0x0134 => 0x0258, 0x0135 => 0x0258, 0x0136 => 0x0258, 0x0137 => 0x0258, - 0x0138 => 0x0258, 0x0139 => 0x0258, 0x013a => 0x0258, 0x013b => 0x0258, - ); - - /* The cmap table is similarly synthesized. - */ - $cmapData = array( - 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04, - 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08, - 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c, - 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10, - 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14, - 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18, - 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c, - 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20, - 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24, - 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28, - 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c, - 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30, - 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34, - 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38, - 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c, - 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40, - 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44, - 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48, - 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c, - 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50, - 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54, - 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58, - 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c, - 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60, - 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64, - 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68, - 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c, - 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70, - 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74, - 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78, - 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c, - 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80, - 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84, - 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88, - 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c, - 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90, - 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94, - 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98, - 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c, - 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0, - 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4, - 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8, - 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac, - 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0, - 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4, - 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8, - 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc, - 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0, - 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4, - 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8, - 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc, - 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0, - 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4, - 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8, - 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc, - 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0, - 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4, - 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8, - 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec, - 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0, - 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4, - 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8, - 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc, - 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100, - 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104, - 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108, - 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c, - 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110, - 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114, - 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118, - 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c, - 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120, - 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124, - 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128, - 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c, - 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130, - 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134, - 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138, - 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b); - $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData( - Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData); - - - /* Resource dictionary */ - - /* The resource dictionary for the standard fonts is sparse because PDF - * viewers already have all of the metrics data. We only need to provide - * the font name and encoding method. - */ - $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Courier-BoldOblique'); - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/CourierOblique.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/CourierOblique.php deleted file mode 100644 index 3699361068..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/CourierOblique.php +++ /dev/null @@ -1,293 +0,0 @@ -_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] = - "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00" - . "\x38\x00\x39\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x30\x00" - . "\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x31\x00\x2c\x00\x20\x00" - . "\x31\x00\x39\x00\x39\x00\x32\x00\x2c\x00\x20\x00\x31\x00\x39\x00" - . "\x39\x00\x33\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x37\x00" - . "\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00\x20\x00\x53\x00" - . "\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00\x20\x00\x49\x00" - . "\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00\x72\x00\x61\x00" - . "\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00\x41\x00\x6c\x00" - . "\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00\x74\x00\x73\x00" - . "\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00\x76\x00\x65\x00" - . "\x64\x00\x2e"; - $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] = - "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72"; - $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] = - "\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d"; - $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] = - "\x00\x34\x00\x33\x00\x30\x00\x35\x00\x31"; - $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] = - "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72\x00\x2d\x00" - . "\x4f\x00\x62\x00\x6c\x00\x69\x00\x71\x00\x75\x00\x65\x00\x20\x00" - . "\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d"; - $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] = - "\x00\x30\x00\x30\x00\x33\x00\x2e\x00\x30\x00\x30\x00\x30"; - $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] = - "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72\x00\x2d\x00" - . "\x4f\x00\x62\x00\x6c\x00\x69\x00\x71\x00\x75\x00\x65"; - - $this->_isBold = false; - $this->_isItalic = true; - $this->_isMonospaced = true; - - $this->_underlinePosition = -100; - $this->_underlineThickness = 50; - $this->_strikePosition = 225; - $this->_strikeThickness = 50; - - $this->_unitsPerEm = 1000; - - $this->_ascent = 629; - $this->_descent = -157; - $this->_lineGap = 414; - - /* The glyph numbers assigned here are synthetic; they do not match the - * actual glyph numbers used by the font. This is not a big deal though - * since this data never makes it to the PDF file. It is only used - * internally for layout calculations. - */ - $this->_glyphWidths = array( - 0x00 => 0x01f4, 0x01 => 0x0258, 0x02 => 0x0258, 0x03 => 0x0258, - 0x04 => 0x0258, 0x05 => 0x0258, 0x06 => 0x0258, 0x07 => 0x0258, - 0x08 => 0x0258, 0x09 => 0x0258, 0x0a => 0x0258, 0x0b => 0x0258, - 0x0c => 0x0258, 0x0d => 0x0258, 0x0e => 0x0258, 0x0f => 0x0258, - 0x10 => 0x0258, 0x11 => 0x0258, 0x12 => 0x0258, 0x13 => 0x0258, - 0x14 => 0x0258, 0x15 => 0x0258, 0x16 => 0x0258, 0x17 => 0x0258, - 0x18 => 0x0258, 0x19 => 0x0258, 0x1a => 0x0258, 0x1b => 0x0258, - 0x1c => 0x0258, 0x1d => 0x0258, 0x1e => 0x0258, 0x1f => 0x0258, - 0x20 => 0x0258, 0x21 => 0x0258, 0x22 => 0x0258, 0x23 => 0x0258, - 0x24 => 0x0258, 0x25 => 0x0258, 0x26 => 0x0258, 0x27 => 0x0258, - 0x28 => 0x0258, 0x29 => 0x0258, 0x2a => 0x0258, 0x2b => 0x0258, - 0x2c => 0x0258, 0x2d => 0x0258, 0x2e => 0x0258, 0x2f => 0x0258, - 0x30 => 0x0258, 0x31 => 0x0258, 0x32 => 0x0258, 0x33 => 0x0258, - 0x34 => 0x0258, 0x35 => 0x0258, 0x36 => 0x0258, 0x37 => 0x0258, - 0x38 => 0x0258, 0x39 => 0x0258, 0x3a => 0x0258, 0x3b => 0x0258, - 0x3c => 0x0258, 0x3d => 0x0258, 0x3e => 0x0258, 0x3f => 0x0258, - 0x40 => 0x0258, 0x41 => 0x0258, 0x42 => 0x0258, 0x43 => 0x0258, - 0x44 => 0x0258, 0x45 => 0x0258, 0x46 => 0x0258, 0x47 => 0x0258, - 0x48 => 0x0258, 0x49 => 0x0258, 0x4a => 0x0258, 0x4b => 0x0258, - 0x4c => 0x0258, 0x4d => 0x0258, 0x4e => 0x0258, 0x4f => 0x0258, - 0x50 => 0x0258, 0x51 => 0x0258, 0x52 => 0x0258, 0x53 => 0x0258, - 0x54 => 0x0258, 0x55 => 0x0258, 0x56 => 0x0258, 0x57 => 0x0258, - 0x58 => 0x0258, 0x59 => 0x0258, 0x5a => 0x0258, 0x5b => 0x0258, - 0x5c => 0x0258, 0x5d => 0x0258, 0x5e => 0x0258, 0x5f => 0x0258, - 0x60 => 0x0258, 0x61 => 0x0258, 0x62 => 0x0258, 0x63 => 0x0258, - 0x64 => 0x0258, 0x65 => 0x0258, 0x66 => 0x0258, 0x67 => 0x0258, - 0x68 => 0x0258, 0x69 => 0x0258, 0x6a => 0x0258, 0x6b => 0x0258, - 0x6c => 0x0258, 0x6d => 0x0258, 0x6e => 0x0258, 0x6f => 0x0258, - 0x70 => 0x0258, 0x71 => 0x0258, 0x72 => 0x0258, 0x73 => 0x0258, - 0x74 => 0x0258, 0x75 => 0x0258, 0x76 => 0x0258, 0x77 => 0x0258, - 0x78 => 0x0258, 0x79 => 0x0258, 0x7a => 0x0258, 0x7b => 0x0258, - 0x7c => 0x0258, 0x7d => 0x0258, 0x7e => 0x0258, 0x7f => 0x0258, - 0x80 => 0x0258, 0x81 => 0x0258, 0x82 => 0x0258, 0x83 => 0x0258, - 0x84 => 0x0258, 0x85 => 0x0258, 0x86 => 0x0258, 0x87 => 0x0258, - 0x88 => 0x0258, 0x89 => 0x0258, 0x8a => 0x0258, 0x8b => 0x0258, - 0x8c => 0x0258, 0x8d => 0x0258, 0x8e => 0x0258, 0x8f => 0x0258, - 0x90 => 0x0258, 0x91 => 0x0258, 0x92 => 0x0258, 0x93 => 0x0258, - 0x94 => 0x0258, 0x95 => 0x0258, 0x96 => 0x0258, 0x97 => 0x0258, - 0x98 => 0x0258, 0x99 => 0x0258, 0x9a => 0x0258, 0x9b => 0x0258, - 0x9c => 0x0258, 0x9d => 0x0258, 0x9e => 0x0258, 0x9f => 0x0258, - 0xa0 => 0x0258, 0xa1 => 0x0258, 0xa2 => 0x0258, 0xa3 => 0x0258, - 0xa4 => 0x0258, 0xa5 => 0x0258, 0xa6 => 0x0258, 0xa7 => 0x0258, - 0xa8 => 0x0258, 0xa9 => 0x0258, 0xaa => 0x0258, 0xab => 0x0258, - 0xac => 0x0258, 0xad => 0x0258, 0xae => 0x0258, 0xaf => 0x0258, - 0xb0 => 0x0258, 0xb1 => 0x0258, 0xb2 => 0x0258, 0xb3 => 0x0258, - 0xb4 => 0x0258, 0xb5 => 0x0258, 0xb6 => 0x0258, 0xb7 => 0x0258, - 0xb8 => 0x0258, 0xb9 => 0x0258, 0xba => 0x0258, 0xbb => 0x0258, - 0xbc => 0x0258, 0xbd => 0x0258, 0xbe => 0x0258, 0xbf => 0x0258, - 0xc0 => 0x0258, 0xc1 => 0x0258, 0xc2 => 0x0258, 0xc3 => 0x0258, - 0xc4 => 0x0258, 0xc5 => 0x0258, 0xc6 => 0x0258, 0xc7 => 0x0258, - 0xc8 => 0x0258, 0xc9 => 0x0258, 0xca => 0x0258, 0xcb => 0x0258, - 0xcc => 0x0258, 0xcd => 0x0258, 0xce => 0x0258, 0xcf => 0x0258, - 0xd0 => 0x0258, 0xd1 => 0x0258, 0xd2 => 0x0258, 0xd3 => 0x0258, - 0xd4 => 0x0258, 0xd5 => 0x0258, 0xd6 => 0x0258, 0xd7 => 0x0258, - 0xd8 => 0x0258, 0xd9 => 0x0258, 0xda => 0x0258, 0xdb => 0x0258, - 0xdc => 0x0258, 0xdd => 0x0258, 0xde => 0x0258, 0xdf => 0x0258, - 0xe0 => 0x0258, 0xe1 => 0x0258, 0xe2 => 0x0258, 0xe3 => 0x0258, - 0xe4 => 0x0258, 0xe5 => 0x0258, 0xe6 => 0x0258, 0xe7 => 0x0258, - 0xe8 => 0x0258, 0xe9 => 0x0258, 0xea => 0x0258, 0xeb => 0x0258, - 0xec => 0x0258, 0xed => 0x0258, 0xee => 0x0258, 0xef => 0x0258, - 0xf0 => 0x0258, 0xf1 => 0x0258, 0xf2 => 0x0258, 0xf3 => 0x0258, - 0xf4 => 0x0258, 0xf5 => 0x0258, 0xf6 => 0x0258, 0xf7 => 0x0258, - 0xf8 => 0x0258, 0xf9 => 0x0258, 0xfa => 0x0258, 0xfb => 0x0258, - 0xfc => 0x0258, 0xfd => 0x0258, 0xfe => 0x0258, 0xff => 0x0258, - 0x0100 => 0x0258, 0x0101 => 0x0258, 0x0102 => 0x0258, 0x0103 => 0x0258, - 0x0104 => 0x0258, 0x0105 => 0x0258, 0x0106 => 0x0258, 0x0107 => 0x0258, - 0x0108 => 0x0258, 0x0109 => 0x0258, 0x010a => 0x0258, 0x010b => 0x0258, - 0x010c => 0x0258, 0x010d => 0x0258, 0x010e => 0x0258, 0x010f => 0x0258, - 0x0110 => 0x0258, 0x0111 => 0x0258, 0x0112 => 0x0258, 0x0113 => 0x0258, - 0x0114 => 0x0258, 0x0115 => 0x0258, 0x0116 => 0x0258, 0x0117 => 0x0258, - 0x0118 => 0x0258, 0x0119 => 0x0258, 0x011a => 0x0258, 0x011b => 0x0258, - 0x011c => 0x0258, 0x011d => 0x0258, 0x011e => 0x0258, 0x011f => 0x0258, - 0x0120 => 0x0258, 0x0121 => 0x0258, 0x0122 => 0x0258, 0x0123 => 0x0258, - 0x0124 => 0x0258, 0x0125 => 0x0258, 0x0126 => 0x0258, 0x0127 => 0x0258, - 0x0128 => 0x0258, 0x0129 => 0x0258, 0x012a => 0x0258, 0x012b => 0x0258, - 0x012c => 0x0258, 0x012d => 0x0258, 0x012e => 0x0258, 0x012f => 0x0258, - 0x0130 => 0x0258, 0x0131 => 0x0258, 0x0132 => 0x0258, 0x0133 => 0x0258, - 0x0134 => 0x0258, 0x0135 => 0x0258, 0x0136 => 0x0258, 0x0137 => 0x0258, - 0x0138 => 0x0258, 0x0139 => 0x0258, 0x013a => 0x0258, 0x013b => 0x0258, - ); - - /* The cmap table is similarly synthesized. - */ - $cmapData = array( - 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04, - 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08, - 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c, - 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10, - 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14, - 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18, - 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c, - 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20, - 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24, - 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28, - 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c, - 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30, - 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34, - 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38, - 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c, - 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40, - 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44, - 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48, - 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c, - 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50, - 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54, - 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58, - 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c, - 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60, - 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64, - 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68, - 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c, - 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70, - 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74, - 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78, - 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c, - 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80, - 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84, - 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88, - 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c, - 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90, - 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94, - 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98, - 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c, - 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0, - 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4, - 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8, - 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac, - 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0, - 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4, - 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8, - 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc, - 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0, - 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4, - 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8, - 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc, - 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0, - 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4, - 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8, - 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc, - 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0, - 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4, - 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8, - 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec, - 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0, - 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4, - 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8, - 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc, - 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100, - 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104, - 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108, - 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c, - 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110, - 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114, - 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118, - 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c, - 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120, - 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124, - 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128, - 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c, - 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130, - 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134, - 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138, - 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b); - $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData( - Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData); - - - /* Resource dictionary */ - - /* The resource dictionary for the standard fonts is sparse because PDF - * viewers already have all of the metrics data. We only need to provide - * the font name and encoding method. - */ - $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Courier-Oblique'); - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/Helvetica.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/Helvetica.php deleted file mode 100644 index 6c5822e1ec..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/Helvetica.php +++ /dev/null @@ -1,301 +0,0 @@ -_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] = - "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00" - . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00" - . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00" - . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00" - . "\x39\x00\x37\x00\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00" - . "\x20\x00\x53\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00" - . "\x20\x00\x49\x00\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00" - . "\x72\x00\x61\x00\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00" - . "\x41\x00\x6c\x00\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x73\x00\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00" - . "\x76\x00\x65\x00\x64\x00\x2e\x00\x48\x00\x65\x00\x6c\x00\x76\x00" - . "\x65\x00\x74\x00\x69\x00\x63\x00\x61\x00\x20\x00\x69\x00\x73\x00" - . "\x20\x00\x61\x00\x20\x00\x74\x00\x72\x00\x61\x00\x64\x00\x65\x00" - . "\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00\x66\x00\x20\x00" - . "\x4c\x00\x69\x00\x6e\x00\x6f\x00\x74\x00\x79\x00\x70\x00\x65\x00" - . "\x2d\x00\x48\x00\x65\x00\x6c\x00\x6c\x00\x20\x00\x41\x00\x47\x00" - . "\x20\x00\x61\x00\x6e\x00\x64\x00\x2f\x00\x6f\x00\x72\x00\x20\x00" - . "\x69\x00\x74\x00\x73\x00\x20\x00\x73\x00\x75\x00\x62\x00\x73\x00" - . "\x69\x00\x64\x00\x69\x00\x61\x00\x72\x00\x69\x00\x65\x00\x73\x00" - . "\x2e"; - $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] = - "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00" - . "\x61"; - $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] = - "\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d"; - $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] = - "\x00\x34\x00\x33\x00\x30\x00\x35\x00\x34"; - $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] = - "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00" - . "\x61\x00\x20\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d"; - $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] = - "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30"; - $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] = - "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00" - . "\x61"; - - $this->_isBold = false; - $this->_isItalic = false; - $this->_isMonospaced = false; - - $this->_underlinePosition = -100; - $this->_underlineThickness = 50; - $this->_strikePosition = 225; - $this->_strikeThickness = 50; - - $this->_unitsPerEm = 1000; - - $this->_ascent = 718; - $this->_descent = -207; - $this->_lineGap = 275; - - /* The glyph numbers assigned here are synthetic; they do not match the - * actual glyph numbers used by the font. This is not a big deal though - * since this data never makes it to the PDF file. It is only used - * internally for layout calculations. - */ - $this->_glyphWidths = array( - 0x00 => 0x01f4, 0x01 => 0x0116, 0x02 => 0x0116, 0x03 => 0x0163, - 0x04 => 0x022c, 0x05 => 0x022c, 0x06 => 0x0379, 0x07 => 0x029b, - 0x08 => 0xde, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x0185, - 0x0c => 0x0248, 0x0d => 0x0116, 0x0e => 0x014d, 0x0f => 0x0116, - 0x10 => 0x0116, 0x11 => 0x022c, 0x12 => 0x022c, 0x13 => 0x022c, - 0x14 => 0x022c, 0x15 => 0x022c, 0x16 => 0x022c, 0x17 => 0x022c, - 0x18 => 0x022c, 0x19 => 0x022c, 0x1a => 0x022c, 0x1b => 0x0116, - 0x1c => 0x0116, 0x1d => 0x0248, 0x1e => 0x0248, 0x1f => 0x0248, - 0x20 => 0x022c, 0x21 => 0x03f7, 0x22 => 0x029b, 0x23 => 0x029b, - 0x24 => 0x02d2, 0x25 => 0x02d2, 0x26 => 0x029b, 0x27 => 0x0263, - 0x28 => 0x030a, 0x29 => 0x02d2, 0x2a => 0x0116, 0x2b => 0x01f4, - 0x2c => 0x029b, 0x2d => 0x022c, 0x2e => 0x0341, 0x2f => 0x02d2, - 0x30 => 0x030a, 0x31 => 0x029b, 0x32 => 0x030a, 0x33 => 0x02d2, - 0x34 => 0x029b, 0x35 => 0x0263, 0x36 => 0x02d2, 0x37 => 0x029b, - 0x38 => 0x03b0, 0x39 => 0x029b, 0x3a => 0x029b, 0x3b => 0x0263, - 0x3c => 0x0116, 0x3d => 0x0116, 0x3e => 0x0116, 0x3f => 0x01d5, - 0x40 => 0x022c, 0x41 => 0xde, 0x42 => 0x022c, 0x43 => 0x022c, - 0x44 => 0x01f4, 0x45 => 0x022c, 0x46 => 0x022c, 0x47 => 0x0116, - 0x48 => 0x022c, 0x49 => 0x022c, 0x4a => 0xde, 0x4b => 0xde, - 0x4c => 0x01f4, 0x4d => 0xde, 0x4e => 0x0341, 0x4f => 0x022c, - 0x50 => 0x022c, 0x51 => 0x022c, 0x52 => 0x022c, 0x53 => 0x014d, - 0x54 => 0x01f4, 0x55 => 0x0116, 0x56 => 0x022c, 0x57 => 0x01f4, - 0x58 => 0x02d2, 0x59 => 0x01f4, 0x5a => 0x01f4, 0x5b => 0x01f4, - 0x5c => 0x014e, 0x5d => 0x0104, 0x5e => 0x014e, 0x5f => 0x0248, - 0x60 => 0x014d, 0x61 => 0x022c, 0x62 => 0x022c, 0x63 => 0xa7, - 0x64 => 0x022c, 0x65 => 0x022c, 0x66 => 0x022c, 0x67 => 0x022c, - 0x68 => 0xbf, 0x69 => 0x014d, 0x6a => 0x022c, 0x6b => 0x014d, - 0x6c => 0x014d, 0x6d => 0x01f4, 0x6e => 0x01f4, 0x6f => 0x022c, - 0x70 => 0x022c, 0x71 => 0x022c, 0x72 => 0x0116, 0x73 => 0x0219, - 0x74 => 0x015e, 0x75 => 0xde, 0x76 => 0x014d, 0x77 => 0x014d, - 0x78 => 0x022c, 0x79 => 0x03e8, 0x7a => 0x03e8, 0x7b => 0x0263, - 0x7c => 0x014d, 0x7d => 0x014d, 0x7e => 0x014d, 0x7f => 0x014d, - 0x80 => 0x014d, 0x81 => 0x014d, 0x82 => 0x014d, 0x83 => 0x014d, - 0x84 => 0x014d, 0x85 => 0x014d, 0x86 => 0x014d, 0x87 => 0x014d, - 0x88 => 0x014d, 0x89 => 0x03e8, 0x8a => 0x03e8, 0x8b => 0x0172, - 0x8c => 0x022c, 0x8d => 0x030a, 0x8e => 0x03e8, 0x8f => 0x016d, - 0x90 => 0x0379, 0x91 => 0x0116, 0x92 => 0xde, 0x93 => 0x0263, - 0x94 => 0x03b0, 0x95 => 0x0263, 0x96 => 0x0116, 0x97 => 0x022c, - 0x98 => 0x022c, 0x99 => 0x022c, 0x9a => 0x022c, 0x9b => 0x029b, - 0x9c => 0x0248, 0x9d => 0x029b, 0x9e => 0x029b, 0x9f => 0x022c, - 0xa0 => 0x02d2, 0xa1 => 0x01f4, 0xa2 => 0x01f4, 0xa3 => 0x022c, - 0xa4 => 0x02d2, 0xa5 => 0x02d2, 0xa6 => 0x022c, 0xa7 => 0x02d2, - 0xa8 => 0x022c, 0xa9 => 0x029b, 0xaa => 0x02d2, 0xab => 0xfa, - 0xac => 0x02e1, 0xad => 0x029b, 0xae => 0x01f4, 0xaf => 0x022c, - 0xb0 => 0x02d2, 0xb1 => 0xde, 0xb2 => 0x022c, 0xb3 => 0x0263, - 0xb4 => 0x02d2, 0xb5 => 0x022c, 0xb6 => 0x029b, 0xb7 => 0x01f4, - 0xb8 => 0x01f4, 0xb9 => 0x0116, 0xba => 0x01d7, 0xbb => 0x02d2, - 0xbc => 0x030a, 0xbd => 0x022c, 0xbe => 0x022c, 0xbf => 0x029b, - 0xc0 => 0x014d, 0xc1 => 0x01f4, 0xc2 => 0x0263, 0xc3 => 0x029b, - 0xc4 => 0x030a, 0xc5 => 0x02d2, 0xc6 => 0x029b, 0xc7 => 0x0283, - 0xc8 => 0x02d2, 0xc9 => 0x022c, 0xca => 0x014d, 0xcb => 0x030a, - 0xcc => 0x029b, 0xcd => 0x029b, 0xce => 0x0248, 0xcf => 0x022c, - 0xd0 => 0x0263, 0xd1 => 0x01dc, 0xd2 => 0x01f4, 0xd3 => 0x02d2, - 0xd4 => 0x0116, 0xd5 => 0x029b, 0xd6 => 0x022c, 0xd7 => 0x022c, - 0xd8 => 0x01f4, 0xd9 => 0x022c, 0xda => 0x022c, 0xdb => 0x02d2, - 0xdc => 0x0116, 0xdd => 0x0248, 0xde => 0x0104, 0xdf => 0x02e1, - 0xe0 => 0x030a, 0xe1 => 0x0116, 0xe2 => 0x0258, 0xe3 => 0x029b, - 0xe4 => 0x014d, 0xe5 => 0x022c, 0xe6 => 0x0263, 0xe7 => 0x0263, - 0xe8 => 0x0225, 0xe9 => 0x02d2, 0xea => 0x02d2, 0xeb => 0xde, - 0xec => 0x013d, 0xed => 0x022c, 0xee => 0x02d2, 0xef => 0x029b, - 0xf0 => 0x029b, 0xf1 => 0x022c, 0xf2 => 0x01f4, 0xf3 => 0xde, - 0xf4 => 0x030a, 0xf5 => 0x022c, 0xf6 => 0x022c, 0xf7 => 0x01f4, - 0xf8 => 0x0116, 0xf9 => 0x030a, 0xfa => 0x02d2, 0xfb => 0x0264, - 0xfc => 0x022c, 0xfd => 0x014d, 0xfe => 0x030a, 0xff => 0x022c, - 0x0100 => 0x0116, 0x0101 => 0x022c, 0x0102 => 0x029b, 0x0103 => 0x022c, - 0x0104 => 0x0342, 0x0105 => 0x029b, 0x0106 => 0x012b, 0x0107 => 0x029b, - 0x0108 => 0x022c, 0x0109 => 0x03e8, 0x010a => 0x022c, 0x010b => 0x0116, - 0x010c => 0x0116, 0x010d => 0x022c, 0x010e => 0x0342, 0x010f => 0x0225, - 0x0110 => 0x022c, 0x0111 => 0x022c, 0x0112 => 0x02d2, 0x0113 => 0x029b, - 0x0114 => 0x022c, 0x0115 => 0x022c, 0x0116 => 0x0342, 0x0117 => 0x029b, - 0x0118 => 0x029b, 0x0119 => 0x030a, 0x011a => 0x0190, 0x011b => 0x022c, - 0x011c => 0x02d2, 0x011d => 0x022c, 0x011e => 0x01c5, 0x011f => 0x02d2, - 0x0120 => 0x014d, 0x0121 => 0x02d2, 0x0122 => 0x022c, 0x0123 => 0x02d2, - 0x0124 => 0x022c, 0x0125 => 0x029b, 0x0126 => 0x029b, 0x0127 => 0x029b, - 0x0128 => 0x030a, 0x0129 => 0x01f4, 0x012a => 0x029b, 0x012b => 0x0116, - 0x012c => 0x01f4, 0x012d => 0x0248, 0x012e => 0x0116, 0x012f => 0x022c, - 0x0130 => 0x0116, 0x0131 => 0x0248, 0x0132 => 0x022c, 0x0133 => 0x022c, - 0x0134 => 0x0225, 0x0135 => 0x022c, 0x0136 => 0x022c, 0x0137 => 0x01f4, - 0x0138 => 0x022c, 0x0139 => 0x014d, 0x013a => 0x0116, 0x013b => 0x022c, - ); - - /* The cmap table is similarly synthesized. - */ - $cmapData = array( - 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04, - 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08, - 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c, - 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10, - 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14, - 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18, - 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c, - 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20, - 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24, - 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28, - 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c, - 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30, - 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34, - 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38, - 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c, - 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40, - 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44, - 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48, - 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c, - 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50, - 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54, - 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58, - 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c, - 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60, - 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64, - 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68, - 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c, - 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70, - 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74, - 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78, - 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c, - 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80, - 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84, - 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88, - 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c, - 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90, - 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94, - 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98, - 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c, - 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0, - 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4, - 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8, - 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac, - 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0, - 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4, - 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8, - 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc, - 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0, - 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4, - 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8, - 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc, - 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0, - 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4, - 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8, - 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc, - 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0, - 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4, - 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8, - 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec, - 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0, - 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4, - 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8, - 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc, - 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100, - 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104, - 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108, - 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c, - 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110, - 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114, - 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118, - 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c, - 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120, - 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124, - 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128, - 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c, - 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130, - 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134, - 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138, - 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b); - $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData( - Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData); - - - /* Resource dictionary */ - - /* The resource dictionary for the standard fonts is sparse because PDF - * viewers already have all of the metrics data. We only need to provide - * the font name and encoding method. - */ - $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Helvetica'); - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaBold.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaBold.php deleted file mode 100644 index 8b42106c16..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaBold.php +++ /dev/null @@ -1,302 +0,0 @@ -_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] = - "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00" - . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00" - . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00" - . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00" - . "\x39\x00\x37\x00\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00" - . "\x20\x00\x53\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00" - . "\x20\x00\x49\x00\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00" - . "\x72\x00\x61\x00\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00" - . "\x41\x00\x6c\x00\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x73\x00\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00" - . "\x76\x00\x65\x00\x64\x00\x2e\x00\x48\x00\x65\x00\x6c\x00\x76\x00" - . "\x65\x00\x74\x00\x69\x00\x63\x00\x61\x00\x20\x00\x69\x00\x73\x00" - . "\x20\x00\x61\x00\x20\x00\x74\x00\x72\x00\x61\x00\x64\x00\x65\x00" - . "\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00\x66\x00\x20\x00" - . "\x4c\x00\x69\x00\x6e\x00\x6f\x00\x74\x00\x79\x00\x70\x00\x65\x00" - . "\x2d\x00\x48\x00\x65\x00\x6c\x00\x6c\x00\x20\x00\x41\x00\x47\x00" - . "\x20\x00\x61\x00\x6e\x00\x64\x00\x2f\x00\x6f\x00\x72\x00\x20\x00" - . "\x69\x00\x74\x00\x73\x00\x20\x00\x73\x00\x75\x00\x62\x00\x73\x00" - . "\x69\x00\x64\x00\x69\x00\x61\x00\x72\x00\x69\x00\x65\x00\x73\x00" - . "\x2e"; - $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] = - "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00" - . "\x61"; - $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] = - "\x00\x42\x00\x6f\x00\x6c\x00\x64"; - $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] = - "\x00\x34\x00\x33\x00\x30\x00\x35\x00\x32"; - $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] = - "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00" - . "\x61\x00\x2d\x00\x42\x00\x6f\x00\x6c\x00\x64\x00\x20\x00\x42\x00" - . "\x6f\x00\x6c\x00\x64"; - $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] = - "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30"; - $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] = - "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00" - . "\x61\x00\x2d\x00\x42\x00\x6f\x00\x6c\x00\x64"; - - $this->_isBold = true; - $this->_isItalic = false; - $this->_isMonospaced = false; - - $this->_underlinePosition = -100; - $this->_underlineThickness = 50; - $this->_strikePosition = 225; - $this->_strikeThickness = 50; - - $this->_unitsPerEm = 1000; - - $this->_ascent = 718; - $this->_descent = -207; - $this->_lineGap = 275; - - /* The glyph numbers assigned here are synthetic; they do not match the - * actual glyph numbers used by the font. This is not a big deal though - * since this data never makes it to the PDF file. It is only used - * internally for layout calculations. - */ - $this->_glyphWidths = array( - 0x00 => 0x01f4, 0x01 => 0x0116, 0x02 => 0x014d, 0x03 => 0x01da, - 0x04 => 0x022c, 0x05 => 0x022c, 0x06 => 0x0379, 0x07 => 0x02d2, - 0x08 => 0x0116, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x0185, - 0x0c => 0x0248, 0x0d => 0x0116, 0x0e => 0x014d, 0x0f => 0x0116, - 0x10 => 0x0116, 0x11 => 0x022c, 0x12 => 0x022c, 0x13 => 0x022c, - 0x14 => 0x022c, 0x15 => 0x022c, 0x16 => 0x022c, 0x17 => 0x022c, - 0x18 => 0x022c, 0x19 => 0x022c, 0x1a => 0x022c, 0x1b => 0x014d, - 0x1c => 0x014d, 0x1d => 0x0248, 0x1e => 0x0248, 0x1f => 0x0248, - 0x20 => 0x0263, 0x21 => 0x03cf, 0x22 => 0x02d2, 0x23 => 0x02d2, - 0x24 => 0x02d2, 0x25 => 0x02d2, 0x26 => 0x029b, 0x27 => 0x0263, - 0x28 => 0x030a, 0x29 => 0x02d2, 0x2a => 0x0116, 0x2b => 0x022c, - 0x2c => 0x02d2, 0x2d => 0x0263, 0x2e => 0x0341, 0x2f => 0x02d2, - 0x30 => 0x030a, 0x31 => 0x029b, 0x32 => 0x030a, 0x33 => 0x02d2, - 0x34 => 0x029b, 0x35 => 0x0263, 0x36 => 0x02d2, 0x37 => 0x029b, - 0x38 => 0x03b0, 0x39 => 0x029b, 0x3a => 0x029b, 0x3b => 0x0263, - 0x3c => 0x014d, 0x3d => 0x0116, 0x3e => 0x014d, 0x3f => 0x0248, - 0x40 => 0x022c, 0x41 => 0x0116, 0x42 => 0x022c, 0x43 => 0x0263, - 0x44 => 0x022c, 0x45 => 0x0263, 0x46 => 0x022c, 0x47 => 0x014d, - 0x48 => 0x0263, 0x49 => 0x0263, 0x4a => 0x0116, 0x4b => 0x0116, - 0x4c => 0x022c, 0x4d => 0x0116, 0x4e => 0x0379, 0x4f => 0x0263, - 0x50 => 0x0263, 0x51 => 0x0263, 0x52 => 0x0263, 0x53 => 0x0185, - 0x54 => 0x022c, 0x55 => 0x014d, 0x56 => 0x0263, 0x57 => 0x022c, - 0x58 => 0x030a, 0x59 => 0x022c, 0x5a => 0x022c, 0x5b => 0x01f4, - 0x5c => 0x0185, 0x5d => 0x0118, 0x5e => 0x0185, 0x5f => 0x0248, - 0x60 => 0x014d, 0x61 => 0x022c, 0x62 => 0x022c, 0x63 => 0xa7, - 0x64 => 0x022c, 0x65 => 0x022c, 0x66 => 0x022c, 0x67 => 0x022c, - 0x68 => 0xee, 0x69 => 0x01f4, 0x6a => 0x022c, 0x6b => 0x014d, - 0x6c => 0x014d, 0x6d => 0x0263, 0x6e => 0x0263, 0x6f => 0x022c, - 0x70 => 0x022c, 0x71 => 0x022c, 0x72 => 0x0116, 0x73 => 0x022c, - 0x74 => 0x015e, 0x75 => 0x0116, 0x76 => 0x01f4, 0x77 => 0x01f4, - 0x78 => 0x022c, 0x79 => 0x03e8, 0x7a => 0x03e8, 0x7b => 0x0263, - 0x7c => 0x014d, 0x7d => 0x014d, 0x7e => 0x014d, 0x7f => 0x014d, - 0x80 => 0x014d, 0x81 => 0x014d, 0x82 => 0x014d, 0x83 => 0x014d, - 0x84 => 0x014d, 0x85 => 0x014d, 0x86 => 0x014d, 0x87 => 0x014d, - 0x88 => 0x014d, 0x89 => 0x03e8, 0x8a => 0x03e8, 0x8b => 0x0172, - 0x8c => 0x0263, 0x8d => 0x030a, 0x8e => 0x03e8, 0x8f => 0x016d, - 0x90 => 0x0379, 0x91 => 0x0116, 0x92 => 0x0116, 0x93 => 0x0263, - 0x94 => 0x03b0, 0x95 => 0x0263, 0x96 => 0x0116, 0x97 => 0x022c, - 0x98 => 0x022c, 0x99 => 0x0263, 0x9a => 0x022c, 0x9b => 0x029b, - 0x9c => 0x0248, 0x9d => 0x029b, 0x9e => 0x02d2, 0x9f => 0x022c, - 0xa0 => 0x02d2, 0xa1 => 0x022c, 0xa2 => 0x022c, 0xa3 => 0x022c, - 0xa4 => 0x02d2, 0xa5 => 0x02d2, 0xa6 => 0x022c, 0xa7 => 0x02d2, - 0xa8 => 0x0263, 0xa9 => 0x029b, 0xaa => 0x02d2, 0xab => 0xfa, - 0xac => 0x02e1, 0xad => 0x029b, 0xae => 0x022c, 0xaf => 0x022c, - 0xb0 => 0x02d2, 0xb1 => 0x0116, 0xb2 => 0x022c, 0xb3 => 0x0263, - 0xb4 => 0x02d2, 0xb5 => 0x022c, 0xb6 => 0x029b, 0xb7 => 0x022c, - 0xb8 => 0x022c, 0xb9 => 0x0116, 0xba => 0x01ee, 0xbb => 0x02d2, - 0xbc => 0x030a, 0xbd => 0x0263, 0xbe => 0x022c, 0xbf => 0x02d2, - 0xc0 => 0x0185, 0xc1 => 0x022c, 0xc2 => 0x0263, 0xc3 => 0x029b, - 0xc4 => 0x030a, 0xc5 => 0x02d2, 0xc6 => 0x029b, 0xc7 => 0x02e7, - 0xc8 => 0x02d2, 0xc9 => 0x0263, 0xca => 0x014d, 0xcb => 0x030a, - 0xcc => 0x02d2, 0xcd => 0x02d2, 0xce => 0x0248, 0xcf => 0x0263, - 0xd0 => 0x0263, 0xd1 => 0x01ee, 0xd2 => 0x022c, 0xd3 => 0x02d2, - 0xd4 => 0x0116, 0xd5 => 0x029b, 0xd6 => 0x022c, 0xd7 => 0x022c, - 0xd8 => 0x022c, 0xd9 => 0x0263, 0xda => 0x0263, 0xdb => 0x02d2, - 0xdc => 0x0116, 0xdd => 0x0248, 0xde => 0x0118, 0xdf => 0x02e1, - 0xe0 => 0x030a, 0xe1 => 0x0116, 0xe2 => 0x0258, 0xe3 => 0x029b, - 0xe4 => 0x0185, 0xe5 => 0x0263, 0xe6 => 0x0263, 0xe7 => 0x0263, - 0xe8 => 0x0225, 0xe9 => 0x02d2, 0xea => 0x02d2, 0xeb => 0x0116, - 0xec => 0x0185, 0xed => 0x022c, 0xee => 0x02d2, 0xef => 0x02d2, - 0xf0 => 0x02d2, 0xf1 => 0x022c, 0xf2 => 0x01f4, 0xf3 => 0x0116, - 0xf4 => 0x030a, 0xf5 => 0x0263, 0xf6 => 0x022c, 0xf7 => 0x022c, - 0xf8 => 0x0116, 0xf9 => 0x030a, 0xfa => 0x02d2, 0xfb => 0x0264, - 0xfc => 0x0263, 0xfd => 0x014d, 0xfe => 0x030a, 0xff => 0x0263, - 0x0100 => 0x0116, 0x0101 => 0x0263, 0x0102 => 0x029b, 0x0103 => 0x0263, - 0x0104 => 0x0342, 0x0105 => 0x029b, 0x0106 => 0x0190, 0x0107 => 0x02d2, - 0x0108 => 0x0263, 0x0109 => 0x03e8, 0x010a => 0x022c, 0x010b => 0x0116, - 0x010c => 0x0116, 0x010d => 0x0263, 0x010e => 0x0342, 0x010f => 0x0225, - 0x0110 => 0x0263, 0x0111 => 0x0263, 0x0112 => 0x02d2, 0x0113 => 0x029b, - 0x0114 => 0x022c, 0x0115 => 0x0263, 0x0116 => 0x0342, 0x0117 => 0x029b, - 0x0118 => 0x029b, 0x0119 => 0x030a, 0x011a => 0x0190, 0x011b => 0x0263, - 0x011c => 0x02d2, 0x011d => 0x0263, 0x011e => 0x0225, 0x011f => 0x02d2, - 0x0120 => 0x0185, 0x0121 => 0x02d2, 0x0122 => 0x0263, 0x0123 => 0x02d2, - 0x0124 => 0x0263, 0x0125 => 0x02d2, 0x0126 => 0x02d2, 0x0127 => 0x02d2, - 0x0128 => 0x030a, 0x0129 => 0x01f4, 0x012a => 0x029b, 0x012b => 0x0116, - 0x012c => 0x022c, 0x012d => 0x0248, 0x012e => 0x0116, 0x012f => 0x0263, - 0x0130 => 0x014d, 0x0131 => 0x0248, 0x0132 => 0x0263, 0x0133 => 0x0263, - 0x0134 => 0x0225, 0x0135 => 0x0263, 0x0136 => 0x0263, 0x0137 => 0x01f4, - 0x0138 => 0x0263, 0x0139 => 0x014d, 0x013a => 0x0116, 0x013b => 0x022c, - ); - - /* The cmap table is similarly synthesized. - */ - $cmapData = array( - 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04, - 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08, - 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c, - 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10, - 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14, - 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18, - 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c, - 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20, - 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24, - 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28, - 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c, - 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30, - 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34, - 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38, - 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c, - 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40, - 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44, - 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48, - 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c, - 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50, - 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54, - 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58, - 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c, - 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60, - 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64, - 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68, - 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c, - 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70, - 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74, - 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78, - 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c, - 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80, - 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84, - 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88, - 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c, - 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90, - 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94, - 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98, - 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c, - 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0, - 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4, - 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8, - 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac, - 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0, - 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4, - 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8, - 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc, - 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0, - 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4, - 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8, - 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc, - 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0, - 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4, - 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8, - 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc, - 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0, - 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4, - 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8, - 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec, - 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0, - 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4, - 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8, - 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc, - 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100, - 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104, - 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108, - 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c, - 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110, - 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114, - 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118, - 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c, - 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120, - 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124, - 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128, - 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c, - 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130, - 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134, - 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138, - 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b); - $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData( - Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData); - - - /* Resource dictionary */ - - /* The resource dictionary for the standard fonts is sparse because PDF - * viewers already have all of the metrics data. We only need to provide - * the font name and encoding method. - */ - $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Helvetica-Bold'); - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaBoldOblique.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaBoldOblique.php deleted file mode 100644 index ded18a887c..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaBoldOblique.php +++ /dev/null @@ -1,304 +0,0 @@ -_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] = - "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00" - . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00" - . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00" - . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00" - . "\x39\x00\x37\x00\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00" - . "\x20\x00\x53\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00" - . "\x20\x00\x49\x00\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00" - . "\x72\x00\x61\x00\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00" - . "\x41\x00\x6c\x00\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x73\x00\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00" - . "\x76\x00\x65\x00\x64\x00\x2e\x00\x48\x00\x65\x00\x6c\x00\x76\x00" - . "\x65\x00\x74\x00\x69\x00\x63\x00\x61\x00\x20\x00\x69\x00\x73\x00" - . "\x20\x00\x61\x00\x20\x00\x74\x00\x72\x00\x61\x00\x64\x00\x65\x00" - . "\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00\x66\x00\x20\x00" - . "\x4c\x00\x69\x00\x6e\x00\x6f\x00\x74\x00\x79\x00\x70\x00\x65\x00" - . "\x2d\x00\x48\x00\x65\x00\x6c\x00\x6c\x00\x20\x00\x41\x00\x47\x00" - . "\x20\x00\x61\x00\x6e\x00\x64\x00\x2f\x00\x6f\x00\x72\x00\x20\x00" - . "\x69\x00\x74\x00\x73\x00\x20\x00\x73\x00\x75\x00\x62\x00\x73\x00" - . "\x69\x00\x64\x00\x69\x00\x61\x00\x72\x00\x69\x00\x65\x00\x73\x00" - . "\x2e"; - $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] = - "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00" - . "\x61"; - $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] = - "\x00\x42\x00\x6f\x00\x6c\x00\x64"; - $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] = - "\x00\x34\x00\x33\x00\x30\x00\x35\x00\x33"; - $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] = - "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00" - . "\x61\x00\x2d\x00\x42\x00\x6f\x00\x6c\x00\x64\x00\x4f\x00\x62\x00" - . "\x6c\x00\x69\x00\x71\x00\x75\x00\x65\x00\x20\x00\x42\x00\x6f\x00" - . "\x6c\x00\x64"; - $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] = - "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30"; - $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] = - "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00" - . "\x61\x00\x2d\x00\x42\x00\x6f\x00\x6c\x00\x64\x00\x4f\x00\x62\x00" - . "\x6c\x00\x69\x00\x71\x00\x75\x00\x65"; - - $this->_isBold = true; - $this->_isItalic = true; - $this->_isMonospaced = false; - - $this->_underlinePosition = -100; - $this->_underlineThickness = 50; - $this->_strikePosition = 225; - $this->_strikeThickness = 50; - - $this->_unitsPerEm = 1000; - - $this->_ascent = 718; - $this->_descent = -207; - $this->_lineGap = 275; - - /* The glyph numbers assigned here are synthetic; they do not match the - * actual glyph numbers used by the font. This is not a big deal though - * since this data never makes it to the PDF file. It is only used - * internally for layout calculations. - */ - $this->_glyphWidths = array( - 0x00 => 0x01f4, 0x01 => 0x0116, 0x02 => 0x014d, 0x03 => 0x01da, - 0x04 => 0x022c, 0x05 => 0x022c, 0x06 => 0x0379, 0x07 => 0x02d2, - 0x08 => 0x0116, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x0185, - 0x0c => 0x0248, 0x0d => 0x0116, 0x0e => 0x014d, 0x0f => 0x0116, - 0x10 => 0x0116, 0x11 => 0x022c, 0x12 => 0x022c, 0x13 => 0x022c, - 0x14 => 0x022c, 0x15 => 0x022c, 0x16 => 0x022c, 0x17 => 0x022c, - 0x18 => 0x022c, 0x19 => 0x022c, 0x1a => 0x022c, 0x1b => 0x014d, - 0x1c => 0x014d, 0x1d => 0x0248, 0x1e => 0x0248, 0x1f => 0x0248, - 0x20 => 0x0263, 0x21 => 0x03cf, 0x22 => 0x02d2, 0x23 => 0x02d2, - 0x24 => 0x02d2, 0x25 => 0x02d2, 0x26 => 0x029b, 0x27 => 0x0263, - 0x28 => 0x030a, 0x29 => 0x02d2, 0x2a => 0x0116, 0x2b => 0x022c, - 0x2c => 0x02d2, 0x2d => 0x0263, 0x2e => 0x0341, 0x2f => 0x02d2, - 0x30 => 0x030a, 0x31 => 0x029b, 0x32 => 0x030a, 0x33 => 0x02d2, - 0x34 => 0x029b, 0x35 => 0x0263, 0x36 => 0x02d2, 0x37 => 0x029b, - 0x38 => 0x03b0, 0x39 => 0x029b, 0x3a => 0x029b, 0x3b => 0x0263, - 0x3c => 0x014d, 0x3d => 0x0116, 0x3e => 0x014d, 0x3f => 0x0248, - 0x40 => 0x022c, 0x41 => 0x0116, 0x42 => 0x022c, 0x43 => 0x0263, - 0x44 => 0x022c, 0x45 => 0x0263, 0x46 => 0x022c, 0x47 => 0x014d, - 0x48 => 0x0263, 0x49 => 0x0263, 0x4a => 0x0116, 0x4b => 0x0116, - 0x4c => 0x022c, 0x4d => 0x0116, 0x4e => 0x0379, 0x4f => 0x0263, - 0x50 => 0x0263, 0x51 => 0x0263, 0x52 => 0x0263, 0x53 => 0x0185, - 0x54 => 0x022c, 0x55 => 0x014d, 0x56 => 0x0263, 0x57 => 0x022c, - 0x58 => 0x030a, 0x59 => 0x022c, 0x5a => 0x022c, 0x5b => 0x01f4, - 0x5c => 0x0185, 0x5d => 0x0118, 0x5e => 0x0185, 0x5f => 0x0248, - 0x60 => 0x014d, 0x61 => 0x022c, 0x62 => 0x022c, 0x63 => 0xa7, - 0x64 => 0x022c, 0x65 => 0x022c, 0x66 => 0x022c, 0x67 => 0x022c, - 0x68 => 0xee, 0x69 => 0x01f4, 0x6a => 0x022c, 0x6b => 0x014d, - 0x6c => 0x014d, 0x6d => 0x0263, 0x6e => 0x0263, 0x6f => 0x022c, - 0x70 => 0x022c, 0x71 => 0x022c, 0x72 => 0x0116, 0x73 => 0x022c, - 0x74 => 0x015e, 0x75 => 0x0116, 0x76 => 0x01f4, 0x77 => 0x01f4, - 0x78 => 0x022c, 0x79 => 0x03e8, 0x7a => 0x03e8, 0x7b => 0x0263, - 0x7c => 0x014d, 0x7d => 0x014d, 0x7e => 0x014d, 0x7f => 0x014d, - 0x80 => 0x014d, 0x81 => 0x014d, 0x82 => 0x014d, 0x83 => 0x014d, - 0x84 => 0x014d, 0x85 => 0x014d, 0x86 => 0x014d, 0x87 => 0x014d, - 0x88 => 0x014d, 0x89 => 0x03e8, 0x8a => 0x03e8, 0x8b => 0x0172, - 0x8c => 0x0263, 0x8d => 0x030a, 0x8e => 0x03e8, 0x8f => 0x016d, - 0x90 => 0x0379, 0x91 => 0x0116, 0x92 => 0x0116, 0x93 => 0x0263, - 0x94 => 0x03b0, 0x95 => 0x0263, 0x96 => 0x0116, 0x97 => 0x022c, - 0x98 => 0x022c, 0x99 => 0x0263, 0x9a => 0x022c, 0x9b => 0x029b, - 0x9c => 0x0248, 0x9d => 0x029b, 0x9e => 0x02d2, 0x9f => 0x022c, - 0xa0 => 0x02d2, 0xa1 => 0x022c, 0xa2 => 0x022c, 0xa3 => 0x022c, - 0xa4 => 0x02d2, 0xa5 => 0x02d2, 0xa6 => 0x022c, 0xa7 => 0x02d2, - 0xa8 => 0x0263, 0xa9 => 0x029b, 0xaa => 0x02d2, 0xab => 0xfa, - 0xac => 0x02e1, 0xad => 0x029b, 0xae => 0x022c, 0xaf => 0x022c, - 0xb0 => 0x02d2, 0xb1 => 0x0116, 0xb2 => 0x022c, 0xb3 => 0x0263, - 0xb4 => 0x02d2, 0xb5 => 0x022c, 0xb6 => 0x029b, 0xb7 => 0x022c, - 0xb8 => 0x022c, 0xb9 => 0x0116, 0xba => 0x01ee, 0xbb => 0x02d2, - 0xbc => 0x030a, 0xbd => 0x0263, 0xbe => 0x022c, 0xbf => 0x02d2, - 0xc0 => 0x0185, 0xc1 => 0x022c, 0xc2 => 0x0263, 0xc3 => 0x029b, - 0xc4 => 0x030a, 0xc5 => 0x02d2, 0xc6 => 0x029b, 0xc7 => 0x02e7, - 0xc8 => 0x02d2, 0xc9 => 0x0263, 0xca => 0x014d, 0xcb => 0x030a, - 0xcc => 0x02d2, 0xcd => 0x02d2, 0xce => 0x0248, 0xcf => 0x0263, - 0xd0 => 0x0263, 0xd1 => 0x01ee, 0xd2 => 0x022c, 0xd3 => 0x02d2, - 0xd4 => 0x0116, 0xd5 => 0x029b, 0xd6 => 0x022c, 0xd7 => 0x022c, - 0xd8 => 0x022c, 0xd9 => 0x0263, 0xda => 0x0263, 0xdb => 0x02d2, - 0xdc => 0x0116, 0xdd => 0x0248, 0xde => 0x0118, 0xdf => 0x02e1, - 0xe0 => 0x030a, 0xe1 => 0x0116, 0xe2 => 0x0258, 0xe3 => 0x029b, - 0xe4 => 0x0185, 0xe5 => 0x0263, 0xe6 => 0x0263, 0xe7 => 0x0263, - 0xe8 => 0x0225, 0xe9 => 0x02d2, 0xea => 0x02d2, 0xeb => 0x0116, - 0xec => 0x0185, 0xed => 0x022c, 0xee => 0x02d2, 0xef => 0x02d2, - 0xf0 => 0x02d2, 0xf1 => 0x022c, 0xf2 => 0x01f4, 0xf3 => 0x0116, - 0xf4 => 0x030a, 0xf5 => 0x0263, 0xf6 => 0x022c, 0xf7 => 0x022c, - 0xf8 => 0x0116, 0xf9 => 0x030a, 0xfa => 0x02d2, 0xfb => 0x0264, - 0xfc => 0x0263, 0xfd => 0x014d, 0xfe => 0x030a, 0xff => 0x0263, - 0x0100 => 0x0116, 0x0101 => 0x0263, 0x0102 => 0x029b, 0x0103 => 0x0263, - 0x0104 => 0x0342, 0x0105 => 0x029b, 0x0106 => 0x0190, 0x0107 => 0x02d2, - 0x0108 => 0x0263, 0x0109 => 0x03e8, 0x010a => 0x022c, 0x010b => 0x0116, - 0x010c => 0x0116, 0x010d => 0x0263, 0x010e => 0x0342, 0x010f => 0x0225, - 0x0110 => 0x0263, 0x0111 => 0x0263, 0x0112 => 0x02d2, 0x0113 => 0x029b, - 0x0114 => 0x022c, 0x0115 => 0x0263, 0x0116 => 0x0342, 0x0117 => 0x029b, - 0x0118 => 0x029b, 0x0119 => 0x030a, 0x011a => 0x0190, 0x011b => 0x0263, - 0x011c => 0x02d2, 0x011d => 0x0263, 0x011e => 0x0225, 0x011f => 0x02d2, - 0x0120 => 0x0185, 0x0121 => 0x02d2, 0x0122 => 0x0263, 0x0123 => 0x02d2, - 0x0124 => 0x0263, 0x0125 => 0x02d2, 0x0126 => 0x02d2, 0x0127 => 0x02d2, - 0x0128 => 0x030a, 0x0129 => 0x01f4, 0x012a => 0x029b, 0x012b => 0x0116, - 0x012c => 0x022c, 0x012d => 0x0248, 0x012e => 0x0116, 0x012f => 0x0263, - 0x0130 => 0x014d, 0x0131 => 0x0248, 0x0132 => 0x0263, 0x0133 => 0x0263, - 0x0134 => 0x0225, 0x0135 => 0x0263, 0x0136 => 0x0263, 0x0137 => 0x01f4, - 0x0138 => 0x0263, 0x0139 => 0x014d, 0x013a => 0x0116, 0x013b => 0x022c, - ); - - /* The cmap table is similarly synthesized. - */ - $cmapData = array( - 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04, - 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08, - 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c, - 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10, - 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14, - 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18, - 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c, - 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20, - 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24, - 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28, - 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c, - 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30, - 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34, - 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38, - 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c, - 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40, - 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44, - 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48, - 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c, - 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50, - 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54, - 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58, - 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c, - 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60, - 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64, - 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68, - 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c, - 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70, - 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74, - 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78, - 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c, - 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80, - 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84, - 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88, - 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c, - 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90, - 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94, - 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98, - 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c, - 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0, - 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4, - 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8, - 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac, - 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0, - 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4, - 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8, - 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc, - 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0, - 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4, - 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8, - 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc, - 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0, - 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4, - 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8, - 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc, - 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0, - 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4, - 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8, - 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec, - 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0, - 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4, - 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8, - 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc, - 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100, - 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104, - 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108, - 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c, - 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110, - 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114, - 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118, - 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c, - 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120, - 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124, - 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128, - 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c, - 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130, - 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134, - 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138, - 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b); - $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData( - Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData); - - - /* Resource dictionary */ - - /* The resource dictionary for the standard fonts is sparse because PDF - * viewers already have all of the metrics data. We only need to provide - * the font name and encoding method. - */ - $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Helvetica-BoldOblique'); - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaOblique.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaOblique.php deleted file mode 100644 index fb687933e2..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaOblique.php +++ /dev/null @@ -1,303 +0,0 @@ -_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] = - "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00" - . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00" - . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00" - . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00" - . "\x39\x00\x37\x00\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00" - . "\x20\x00\x53\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00" - . "\x20\x00\x49\x00\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00" - . "\x72\x00\x61\x00\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00" - . "\x41\x00\x6c\x00\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x73\x00\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00" - . "\x76\x00\x65\x00\x64\x00\x2e\x00\x48\x00\x65\x00\x6c\x00\x76\x00" - . "\x65\x00\x74\x00\x69\x00\x63\x00\x61\x00\x20\x00\x69\x00\x73\x00" - . "\x20\x00\x61\x00\x20\x00\x74\x00\x72\x00\x61\x00\x64\x00\x65\x00" - . "\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00\x66\x00\x20\x00" - . "\x4c\x00\x69\x00\x6e\x00\x6f\x00\x74\x00\x79\x00\x70\x00\x65\x00" - . "\x2d\x00\x48\x00\x65\x00\x6c\x00\x6c\x00\x20\x00\x41\x00\x47\x00" - . "\x20\x00\x61\x00\x6e\x00\x64\x00\x2f\x00\x6f\x00\x72\x00\x20\x00" - . "\x69\x00\x74\x00\x73\x00\x20\x00\x73\x00\x75\x00\x62\x00\x73\x00" - . "\x69\x00\x64\x00\x69\x00\x61\x00\x72\x00\x69\x00\x65\x00\x73\x00" - . "\x2e"; - $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] = - "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00" - . "\x61"; - $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] = - "\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d"; - $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] = - "\x00\x34\x00\x33\x00\x30\x00\x35\x00\x35"; - $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] = - "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00" - . "\x61\x00\x2d\x00\x4f\x00\x62\x00\x6c\x00\x69\x00\x71\x00\x75\x00" - . "\x65\x00\x20\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d"; - $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] = - "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30"; - $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] = - "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00" - . "\x61\x00\x2d\x00\x4f\x00\x62\x00\x6c\x00\x69\x00\x71\x00\x75\x00" - . "\x65"; - - $this->_isBold = false; - $this->_isItalic = true; - $this->_isMonospaced = false; - - $this->_underlinePosition = -100; - $this->_underlineThickness = 50; - $this->_strikePosition = 225; - $this->_strikeThickness = 50; - - $this->_unitsPerEm = 1000; - - $this->_ascent = 718; - $this->_descent = -207; - $this->_lineGap = 275; - - /* The glyph numbers assigned here are synthetic; they do not match the - * actual glyph numbers used by the font. This is not a big deal though - * since this data never makes it to the PDF file. It is only used - * internally for layout calculations. - */ - $this->_glyphWidths = array( - 0x00 => 0x01f4, 0x01 => 0x0116, 0x02 => 0x0116, 0x03 => 0x0163, - 0x04 => 0x022c, 0x05 => 0x022c, 0x06 => 0x0379, 0x07 => 0x029b, - 0x08 => 0xde, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x0185, - 0x0c => 0x0248, 0x0d => 0x0116, 0x0e => 0x014d, 0x0f => 0x0116, - 0x10 => 0x0116, 0x11 => 0x022c, 0x12 => 0x022c, 0x13 => 0x022c, - 0x14 => 0x022c, 0x15 => 0x022c, 0x16 => 0x022c, 0x17 => 0x022c, - 0x18 => 0x022c, 0x19 => 0x022c, 0x1a => 0x022c, 0x1b => 0x0116, - 0x1c => 0x0116, 0x1d => 0x0248, 0x1e => 0x0248, 0x1f => 0x0248, - 0x20 => 0x022c, 0x21 => 0x03f7, 0x22 => 0x029b, 0x23 => 0x029b, - 0x24 => 0x02d2, 0x25 => 0x02d2, 0x26 => 0x029b, 0x27 => 0x0263, - 0x28 => 0x030a, 0x29 => 0x02d2, 0x2a => 0x0116, 0x2b => 0x01f4, - 0x2c => 0x029b, 0x2d => 0x022c, 0x2e => 0x0341, 0x2f => 0x02d2, - 0x30 => 0x030a, 0x31 => 0x029b, 0x32 => 0x030a, 0x33 => 0x02d2, - 0x34 => 0x029b, 0x35 => 0x0263, 0x36 => 0x02d2, 0x37 => 0x029b, - 0x38 => 0x03b0, 0x39 => 0x029b, 0x3a => 0x029b, 0x3b => 0x0263, - 0x3c => 0x0116, 0x3d => 0x0116, 0x3e => 0x0116, 0x3f => 0x01d5, - 0x40 => 0x022c, 0x41 => 0xde, 0x42 => 0x022c, 0x43 => 0x022c, - 0x44 => 0x01f4, 0x45 => 0x022c, 0x46 => 0x022c, 0x47 => 0x0116, - 0x48 => 0x022c, 0x49 => 0x022c, 0x4a => 0xde, 0x4b => 0xde, - 0x4c => 0x01f4, 0x4d => 0xde, 0x4e => 0x0341, 0x4f => 0x022c, - 0x50 => 0x022c, 0x51 => 0x022c, 0x52 => 0x022c, 0x53 => 0x014d, - 0x54 => 0x01f4, 0x55 => 0x0116, 0x56 => 0x022c, 0x57 => 0x01f4, - 0x58 => 0x02d2, 0x59 => 0x01f4, 0x5a => 0x01f4, 0x5b => 0x01f4, - 0x5c => 0x014e, 0x5d => 0x0104, 0x5e => 0x014e, 0x5f => 0x0248, - 0x60 => 0x014d, 0x61 => 0x022c, 0x62 => 0x022c, 0x63 => 0xa7, - 0x64 => 0x022c, 0x65 => 0x022c, 0x66 => 0x022c, 0x67 => 0x022c, - 0x68 => 0xbf, 0x69 => 0x014d, 0x6a => 0x022c, 0x6b => 0x014d, - 0x6c => 0x014d, 0x6d => 0x01f4, 0x6e => 0x01f4, 0x6f => 0x022c, - 0x70 => 0x022c, 0x71 => 0x022c, 0x72 => 0x0116, 0x73 => 0x0219, - 0x74 => 0x015e, 0x75 => 0xde, 0x76 => 0x014d, 0x77 => 0x014d, - 0x78 => 0x022c, 0x79 => 0x03e8, 0x7a => 0x03e8, 0x7b => 0x0263, - 0x7c => 0x014d, 0x7d => 0x014d, 0x7e => 0x014d, 0x7f => 0x014d, - 0x80 => 0x014d, 0x81 => 0x014d, 0x82 => 0x014d, 0x83 => 0x014d, - 0x84 => 0x014d, 0x85 => 0x014d, 0x86 => 0x014d, 0x87 => 0x014d, - 0x88 => 0x014d, 0x89 => 0x03e8, 0x8a => 0x03e8, 0x8b => 0x0172, - 0x8c => 0x022c, 0x8d => 0x030a, 0x8e => 0x03e8, 0x8f => 0x016d, - 0x90 => 0x0379, 0x91 => 0x0116, 0x92 => 0xde, 0x93 => 0x0263, - 0x94 => 0x03b0, 0x95 => 0x0263, 0x96 => 0x0116, 0x97 => 0x022c, - 0x98 => 0x022c, 0x99 => 0x022c, 0x9a => 0x022c, 0x9b => 0x029b, - 0x9c => 0x0248, 0x9d => 0x029b, 0x9e => 0x029b, 0x9f => 0x022c, - 0xa0 => 0x02d2, 0xa1 => 0x01f4, 0xa2 => 0x01f4, 0xa3 => 0x022c, - 0xa4 => 0x02d2, 0xa5 => 0x02d2, 0xa6 => 0x022c, 0xa7 => 0x02d2, - 0xa8 => 0x022c, 0xa9 => 0x029b, 0xaa => 0x02d2, 0xab => 0xfa, - 0xac => 0x02e1, 0xad => 0x029b, 0xae => 0x01f4, 0xaf => 0x022c, - 0xb0 => 0x02d2, 0xb1 => 0xde, 0xb2 => 0x022c, 0xb3 => 0x0263, - 0xb4 => 0x02d2, 0xb5 => 0x022c, 0xb6 => 0x029b, 0xb7 => 0x01f4, - 0xb8 => 0x01f4, 0xb9 => 0x0116, 0xba => 0x01d7, 0xbb => 0x02d2, - 0xbc => 0x030a, 0xbd => 0x022c, 0xbe => 0x022c, 0xbf => 0x029b, - 0xc0 => 0x014d, 0xc1 => 0x01f4, 0xc2 => 0x0263, 0xc3 => 0x029b, - 0xc4 => 0x030a, 0xc5 => 0x02d2, 0xc6 => 0x029b, 0xc7 => 0x0283, - 0xc8 => 0x02d2, 0xc9 => 0x022c, 0xca => 0x014d, 0xcb => 0x030a, - 0xcc => 0x029b, 0xcd => 0x029b, 0xce => 0x0248, 0xcf => 0x022c, - 0xd0 => 0x0263, 0xd1 => 0x01dc, 0xd2 => 0x01f4, 0xd3 => 0x02d2, - 0xd4 => 0x0116, 0xd5 => 0x029b, 0xd6 => 0x022c, 0xd7 => 0x022c, - 0xd8 => 0x01f4, 0xd9 => 0x022c, 0xda => 0x022c, 0xdb => 0x02d2, - 0xdc => 0x0116, 0xdd => 0x0248, 0xde => 0x0104, 0xdf => 0x02e1, - 0xe0 => 0x030a, 0xe1 => 0x0116, 0xe2 => 0x0258, 0xe3 => 0x029b, - 0xe4 => 0x014d, 0xe5 => 0x022c, 0xe6 => 0x0263, 0xe7 => 0x0263, - 0xe8 => 0x0225, 0xe9 => 0x02d2, 0xea => 0x02d2, 0xeb => 0xde, - 0xec => 0x013d, 0xed => 0x022c, 0xee => 0x02d2, 0xef => 0x029b, - 0xf0 => 0x029b, 0xf1 => 0x022c, 0xf2 => 0x01f4, 0xf3 => 0xde, - 0xf4 => 0x030a, 0xf5 => 0x022c, 0xf6 => 0x022c, 0xf7 => 0x01f4, - 0xf8 => 0x0116, 0xf9 => 0x030a, 0xfa => 0x02d2, 0xfb => 0x0264, - 0xfc => 0x022c, 0xfd => 0x014d, 0xfe => 0x030a, 0xff => 0x022c, - 0x0100 => 0x0116, 0x0101 => 0x022c, 0x0102 => 0x029b, 0x0103 => 0x022c, - 0x0104 => 0x0342, 0x0105 => 0x029b, 0x0106 => 0x012b, 0x0107 => 0x029b, - 0x0108 => 0x022c, 0x0109 => 0x03e8, 0x010a => 0x022c, 0x010b => 0x0116, - 0x010c => 0x0116, 0x010d => 0x022c, 0x010e => 0x0342, 0x010f => 0x0225, - 0x0110 => 0x022c, 0x0111 => 0x022c, 0x0112 => 0x02d2, 0x0113 => 0x029b, - 0x0114 => 0x022c, 0x0115 => 0x022c, 0x0116 => 0x0342, 0x0117 => 0x029b, - 0x0118 => 0x029b, 0x0119 => 0x030a, 0x011a => 0x0190, 0x011b => 0x022c, - 0x011c => 0x02d2, 0x011d => 0x022c, 0x011e => 0x01c5, 0x011f => 0x02d2, - 0x0120 => 0x014d, 0x0121 => 0x02d2, 0x0122 => 0x022c, 0x0123 => 0x02d2, - 0x0124 => 0x022c, 0x0125 => 0x029b, 0x0126 => 0x029b, 0x0127 => 0x029b, - 0x0128 => 0x030a, 0x0129 => 0x01f4, 0x012a => 0x029b, 0x012b => 0x0116, - 0x012c => 0x01f4, 0x012d => 0x0248, 0x012e => 0x0116, 0x012f => 0x022c, - 0x0130 => 0x0116, 0x0131 => 0x0248, 0x0132 => 0x022c, 0x0133 => 0x022c, - 0x0134 => 0x0225, 0x0135 => 0x022c, 0x0136 => 0x022c, 0x0137 => 0x01f4, - 0x0138 => 0x022c, 0x0139 => 0x014d, 0x013a => 0x0116, 0x013b => 0x022c, - ); - - /* The cmap table is similarly synthesized. - */ - $cmapData = array( - 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04, - 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08, - 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c, - 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10, - 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14, - 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18, - 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c, - 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20, - 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24, - 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28, - 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c, - 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30, - 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34, - 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38, - 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c, - 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40, - 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44, - 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48, - 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c, - 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50, - 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54, - 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58, - 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c, - 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60, - 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64, - 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68, - 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c, - 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70, - 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74, - 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78, - 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c, - 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80, - 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84, - 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88, - 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c, - 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90, - 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94, - 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98, - 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c, - 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0, - 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4, - 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8, - 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac, - 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0, - 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4, - 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8, - 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc, - 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0, - 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4, - 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8, - 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc, - 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0, - 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4, - 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8, - 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc, - 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0, - 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4, - 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8, - 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec, - 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0, - 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4, - 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8, - 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc, - 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100, - 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104, - 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108, - 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c, - 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110, - 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114, - 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118, - 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c, - 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120, - 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124, - 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128, - 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c, - 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130, - 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134, - 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138, - 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b); - $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData( - Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData); - - - /* Resource dictionary */ - - /* The resource dictionary for the standard fonts is sparse because PDF - * viewers already have all of the metrics data. We only need to provide - * the font name and encoding method. - */ - $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Helvetica-Oblique'); - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/Symbol.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/Symbol.php deleted file mode 100644 index 121c5ee035..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/Symbol.php +++ /dev/null @@ -1,461 +0,0 @@ - "\x20", 0x21 => "\x21", 0x2200 => "\x22", 0x23 => "\x23", - 0x2203 => "\x24", 0x25 => "\x25", 0x26 => "\x26", 0x220b => "\x27", - 0x28 => "\x28", 0x29 => "\x29", 0x2217 => "\x2a", 0x2b => "\x2b", - 0x2c => "\x2c", 0x2212 => "\x2d", 0x2e => "\x2e", 0x2f => "\x2f", - 0x30 => "\x30", 0x31 => "\x31", 0x32 => "\x32", 0x33 => "\x33", - 0x34 => "\x34", 0x35 => "\x35", 0x36 => "\x36", 0x37 => "\x37", - 0x38 => "\x38", 0x39 => "\x39", 0x3a => "\x3a", 0x3b => "\x3b", - 0x3c => "\x3c", 0x3d => "\x3d", 0x3e => "\x3e", 0x3f => "\x3f", - 0x2245 => "\x40", 0x0391 => "\x41", 0x0392 => "\x42", 0x03a7 => "\x43", - 0x2206 => "\x44", 0x0395 => "\x45", 0x03a6 => "\x46", 0x0393 => "\x47", - 0x0397 => "\x48", 0x0399 => "\x49", 0x03d1 => "\x4a", 0x039a => "\x4b", - 0x039b => "\x4c", 0x039c => "\x4d", 0x039d => "\x4e", 0x039f => "\x4f", - 0x03a0 => "\x50", 0x0398 => "\x51", 0x03a1 => "\x52", 0x03a3 => "\x53", - 0x03a4 => "\x54", 0x03a5 => "\x55", 0x03c2 => "\x56", 0x2126 => "\x57", - 0x039e => "\x58", 0x03a8 => "\x59", 0x0396 => "\x5a", 0x5b => "\x5b", - 0x2234 => "\x5c", 0x5d => "\x5d", 0x22a5 => "\x5e", 0x5f => "\x5f", - 0xf8e5 => "\x60", 0x03b1 => "\x61", 0x03b2 => "\x62", 0x03c7 => "\x63", - 0x03b4 => "\x64", 0x03b5 => "\x65", 0x03c6 => "\x66", 0x03b3 => "\x67", - 0x03b7 => "\x68", 0x03b9 => "\x69", 0x03d5 => "\x6a", 0x03ba => "\x6b", - 0x03bb => "\x6c", 0xb5 => "\x6d", 0x03bd => "\x6e", 0x03bf => "\x6f", - 0x03c0 => "\x70", 0x03b8 => "\x71", 0x03c1 => "\x72", 0x03c3 => "\x73", - 0x03c4 => "\x74", 0x03c5 => "\x75", 0x03d6 => "\x76", 0x03c9 => "\x77", - 0x03be => "\x78", 0x03c8 => "\x79", 0x03b6 => "\x7a", 0x7b => "\x7b", - 0x7c => "\x7c", 0x7d => "\x7d", 0x223c => "\x7e", 0x20ac => "\xa0", - 0x03d2 => "\xa1", 0x2032 => "\xa2", 0x2264 => "\xa3", 0x2044 => "\xa4", - 0x221e => "\xa5", 0x0192 => "\xa6", 0x2663 => "\xa7", 0x2666 => "\xa8", - 0x2665 => "\xa9", 0x2660 => "\xaa", 0x2194 => "\xab", 0x2190 => "\xac", - 0x2191 => "\xad", 0x2192 => "\xae", 0x2193 => "\xaf", 0xb0 => "\xb0", - 0xb1 => "\xb1", 0x2033 => "\xb2", 0x2265 => "\xb3", 0xd7 => "\xb4", - 0x221d => "\xb5", 0x2202 => "\xb6", 0x2022 => "\xb7", 0xf7 => "\xb8", - 0x2260 => "\xb9", 0x2261 => "\xba", 0x2248 => "\xbb", 0x2026 => "\xbc", - 0xf8e6 => "\xbd", 0xf8e7 => "\xbe", 0x21b5 => "\xbf", 0x2135 => "\xc0", - 0x2111 => "\xc1", 0x211c => "\xc2", 0x2118 => "\xc3", 0x2297 => "\xc4", - 0x2295 => "\xc5", 0x2205 => "\xc6", 0x2229 => "\xc7", 0x222a => "\xc8", - 0x2283 => "\xc9", 0x2287 => "\xca", 0x2284 => "\xcb", 0x2282 => "\xcc", - 0x2286 => "\xcd", 0x2208 => "\xce", 0x2209 => "\xcf", 0x2220 => "\xd0", - 0x2207 => "\xd1", 0xf6da => "\xd2", 0xf6d9 => "\xd3", 0xf6db => "\xd4", - 0x220f => "\xd5", 0x221a => "\xd6", 0x22c5 => "\xd7", 0xac => "\xd8", - 0x2227 => "\xd9", 0x2228 => "\xda", 0x21d4 => "\xdb", 0x21d0 => "\xdc", - 0x21d1 => "\xdd", 0x21d2 => "\xde", 0x21d3 => "\xdf", 0x25ca => "\xe0", - 0x2329 => "\xe1", 0xf8e8 => "\xe2", 0xf8e9 => "\xe3", 0xf8ea => "\xe4", - 0x2211 => "\xe5", 0xf8eb => "\xe6", 0xf8ec => "\xe7", 0xf8ed => "\xe8", - 0xf8ee => "\xe9", 0xf8ef => "\xea", 0xf8f0 => "\xeb", 0xf8f1 => "\xec", - 0xf8f2 => "\xed", 0xf8f3 => "\xee", 0xf8f4 => "\xef", 0x232a => "\xf1", - 0x222b => "\xf2", 0x2320 => "\xf3", 0xf8f5 => "\xf4", 0x2321 => "\xf5", - 0xf8f6 => "\xf6", 0xf8f7 => "\xf7", 0xf8f8 => "\xf8", 0xf8f9 => "\xf9", - 0xf8fa => "\xfa", 0xf8fb => "\xfb", 0xf8fc => "\xfc", 0xf8fd => "\xfd", - 0xf8fe => "\xfe"); - - /** - * Array for conversion from special font encoding to local encoding. - * See {@link decodeString()}. - * @var array - */ - protected $_fromFontEncoding = array( - 0x20 => "\x00\x20", 0x21 => "\x00\x21", 0x22 => "\x22\x00", - 0x23 => "\x00\x23", 0x24 => "\x22\x03", 0x25 => "\x00\x25", - 0x26 => "\x00\x26", 0x27 => "\x22\x0b", 0x28 => "\x00\x28", - 0x29 => "\x00\x29", 0x2a => "\x22\x17", 0x2b => "\x00\x2b", - 0x2c => "\x00\x2c", 0x2d => "\x22\x12", 0x2e => "\x00\x2e", - 0x2f => "\x00\x2f", 0x30 => "\x00\x30", 0x31 => "\x00\x31", - 0x32 => "\x00\x32", 0x33 => "\x00\x33", 0x34 => "\x00\x34", - 0x35 => "\x00\x35", 0x36 => "\x00\x36", 0x37 => "\x00\x37", - 0x38 => "\x00\x38", 0x39 => "\x00\x39", 0x3a => "\x00\x3a", - 0x3b => "\x00\x3b", 0x3c => "\x00\x3c", 0x3d => "\x00\x3d", - 0x3e => "\x00\x3e", 0x3f => "\x00\x3f", 0x40 => "\x22\x45", - 0x41 => "\x03\x91", 0x42 => "\x03\x92", 0x43 => "\x03\xa7", - 0x44 => "\x22\x06", 0x45 => "\x03\x95", 0x46 => "\x03\xa6", - 0x47 => "\x03\x93", 0x48 => "\x03\x97", 0x49 => "\x03\x99", - 0x4a => "\x03\xd1", 0x4b => "\x03\x9a", 0x4c => "\x03\x9b", - 0x4d => "\x03\x9c", 0x4e => "\x03\x9d", 0x4f => "\x03\x9f", - 0x50 => "\x03\xa0", 0x51 => "\x03\x98", 0x52 => "\x03\xa1", - 0x53 => "\x03\xa3", 0x54 => "\x03\xa4", 0x55 => "\x03\xa5", - 0x56 => "\x03\xc2", 0x57 => "\x21\x26", 0x58 => "\x03\x9e", - 0x59 => "\x03\xa8", 0x5a => "\x03\x96", 0x5b => "\x00\x5b", - 0x5c => "\x22\x34", 0x5d => "\x00\x5d", 0x5e => "\x22\xa5", - 0x5f => "\x00\x5f", 0x60 => "\xf8\xe5", 0x61 => "\x03\xb1", - 0x62 => "\x03\xb2", 0x63 => "\x03\xc7", 0x64 => "\x03\xb4", - 0x65 => "\x03\xb5", 0x66 => "\x03\xc6", 0x67 => "\x03\xb3", - 0x68 => "\x03\xb7", 0x69 => "\x03\xb9", 0x6a => "\x03\xd5", - 0x6b => "\x03\xba", 0x6c => "\x03\xbb", 0x6d => "\x00\xb5", - 0x6e => "\x03\xbd", 0x6f => "\x03\xbf", 0x70 => "\x03\xc0", - 0x71 => "\x03\xb8", 0x72 => "\x03\xc1", 0x73 => "\x03\xc3", - 0x74 => "\x03\xc4", 0x75 => "\x03\xc5", 0x76 => "\x03\xd6", - 0x77 => "\x03\xc9", 0x78 => "\x03\xbe", 0x79 => "\x03\xc8", - 0x7a => "\x03\xb6", 0x7b => "\x00\x7b", 0x7c => "\x00\x7c", - 0x7d => "\x00\x7d", 0x7e => "\x22\x3c", 0xa0 => "\x20\xac", - 0xa1 => "\x03\xd2", 0xa2 => "\x20\x32", 0xa3 => "\x22\x64", - 0xa4 => "\x20\x44", 0xa5 => "\x22\x1e", 0xa6 => "\x01\x92", - 0xa7 => "\x26\x63", 0xa8 => "\x26\x66", 0xa9 => "\x26\x65", - 0xaa => "\x26\x60", 0xab => "\x21\x94", 0xac => "\x21\x90", - 0xad => "\x21\x91", 0xae => "\x21\x92", 0xaf => "\x21\x93", - 0xb0 => "\x00\xb0", 0xb1 => "\x00\xb1", 0xb2 => "\x20\x33", - 0xb3 => "\x22\x65", 0xb4 => "\x00\xd7", 0xb5 => "\x22\x1d", - 0xb6 => "\x22\x02", 0xb7 => "\x20\x22", 0xb8 => "\x00\xf7", - 0xb9 => "\x22\x60", 0xba => "\x22\x61", 0xbb => "\x22\x48", - 0xbc => "\x20\x26", 0xbd => "\xf8\xe6", 0xbe => "\xf8\xe7", - 0xbf => "\x21\xb5", 0xc0 => "\x21\x35", 0xc1 => "\x21\x11", - 0xc2 => "\x21\x1c", 0xc3 => "\x21\x18", 0xc4 => "\x22\x97", - 0xc5 => "\x22\x95", 0xc6 => "\x22\x05", 0xc7 => "\x22\x29", - 0xc8 => "\x22\x2a", 0xc9 => "\x22\x83", 0xca => "\x22\x87", - 0xcb => "\x22\x84", 0xcc => "\x22\x82", 0xcd => "\x22\x86", - 0xce => "\x22\x08", 0xcf => "\x22\x09", 0xd0 => "\x22\x20", - 0xd1 => "\x22\x07", 0xd2 => "\xf6\xda", 0xd3 => "\xf6\xd9", - 0xd4 => "\xf6\xdb", 0xd5 => "\x22\x0f", 0xd6 => "\x22\x1a", - 0xd7 => "\x22\xc5", 0xd8 => "\x00\xac", 0xd9 => "\x22\x27", - 0xda => "\x22\x28", 0xdb => "\x21\xd4", 0xdc => "\x21\xd0", - 0xdd => "\x21\xd1", 0xde => "\x21\xd2", 0xdf => "\x21\xd3", - 0xe0 => "\x25\xca", 0xe1 => "\x23\x29", 0xe2 => "\xf8\xe8", - 0xe3 => "\xf8\xe9", 0xe4 => "\xf8\xea", 0xe5 => "\x22\x11", - 0xe6 => "\xf8\xeb", 0xe7 => "\xf8\xec", 0xe8 => "\xf8\xed", - 0xe9 => "\xf8\xee", 0xea => "\xf8\xef", 0xeb => "\xf8\xf0", - 0xec => "\xf8\xf1", 0xed => "\xf8\xf2", 0xee => "\xf8\xf3", - 0xef => "\xf8\xf4", 0xf1 => "\x23\x2a", 0xf2 => "\x22\x2b", - 0xf3 => "\x23\x20", 0xf4 => "\xf8\xf5", 0xf5 => "\x23\x21", - 0xf6 => "\xf8\xf6", 0xf7 => "\xf8\xf7", 0xf8 => "\xf8\xf8", - 0xf9 => "\xf8\xf9", 0xfa => "\xf8\xfa", 0xfb => "\xf8\xfb", - 0xfc => "\xf8\xfc", 0xfd => "\xf8\xfd", 0xfe => "\xf8\xfe", - ); - - - - /**** Public Interface ****/ - - - /* Object Lifecycle */ - - /** - * Object constructor - */ - public function __construct() - { - parent::__construct(); - - - /* Object properties */ - - /* The font names are stored internally as Unicode UTF-16BE-encoded - * strings. Since this information is static, save unnecessary trips - * through iconv() and just use pre-encoded hexidecimal strings. - */ - $this->_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] = - "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00" - . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00" - . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00" - . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00" - . "\x39\x00\x37\x00\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00" - . "\x20\x00\x53\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00" - . "\x20\x00\x49\x00\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00" - . "\x72\x00\x61\x00\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x41\x00" - . "\x6c\x00\x6c\x00\x20\x00\x72\x00\x69\x00\x67\x00\x68\x00\x74\x00" - . "\x73\x00\x20\x00\x72\x00\x65\x00\x73\x00\x65\x00\x72\x00\x76\x00" - . "\x65\x00\x64\x00\x2e"; - $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] = - "\x00\x53\x00\x79\x00\x6d\x00\x62\x00\x6f\x00\x6c"; - $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] = - "\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d"; - $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] = - "\x00\x34\x00\x33\x00\x30\x00\x36\x00\x34"; - $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] = - "\x00\x53\x00\x79\x00\x6d\x00\x62\x00\x6f\x00\x6c\x00\x20\x00\x4d\x00" - . "\x65\x00\x64\x00\x69\x00\x75\x00\x6d"; - $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] = - "\x00\x30\x00\x30\x00\x31\x00\x2e\x00\x30\x00\x30\x00\x38"; - $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] = - "\x00\x53\x00\x79\x00\x6d\x00\x62\x00\x6f\x00\x6c"; - - $this->_isBold = false; - $this->_isItalic = false; - $this->_isMonospaced = false; - - $this->_underlinePosition = -100; - $this->_underlineThickness = 50; - $this->_strikePosition = 225; - $this->_strikeThickness = 50; - - $this->_unitsPerEm = 1000; - - $this->_ascent = 1000; - $this->_descent = 0; - $this->_lineGap = 200; - - /* The glyph numbers assigned here are synthetic; they do not match the - * actual glyph numbers used by the font. This is not a big deal though - * since this data never makes it to the PDF file. It is only used - * internally for layout calculations. - */ - $this->_glyphWidths = array( - 0x00 => 0x01f4, 0x01 => 0xfa, 0x02 => 0x014d, 0x03 => 0x02c9, - 0x04 => 0x01f4, 0x05 => 0x0225, 0x06 => 0x0341, 0x07 => 0x030a, - 0x08 => 0x01b7, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x01f4, - 0x0c => 0x0225, 0x0d => 0xfa, 0x0e => 0x0225, 0x0f => 0xfa, - 0x10 => 0x0116, 0x11 => 0x01f4, 0x12 => 0x01f4, 0x13 => 0x01f4, - 0x14 => 0x01f4, 0x15 => 0x01f4, 0x16 => 0x01f4, 0x17 => 0x01f4, - 0x18 => 0x01f4, 0x19 => 0x01f4, 0x1a => 0x01f4, 0x1b => 0x0116, - 0x1c => 0x0116, 0x1d => 0x0225, 0x1e => 0x0225, 0x1f => 0x0225, - 0x20 => 0x01bc, 0x21 => 0x0225, 0x22 => 0x02d2, 0x23 => 0x029b, - 0x24 => 0x02d2, 0x25 => 0x0264, 0x26 => 0x0263, 0x27 => 0x02fb, - 0x28 => 0x025b, 0x29 => 0x02d2, 0x2a => 0x014d, 0x2b => 0x0277, - 0x2c => 0x02d2, 0x2d => 0x02ae, 0x2e => 0x0379, 0x2f => 0x02d2, - 0x30 => 0x02d2, 0x31 => 0x0300, 0x32 => 0x02e5, 0x33 => 0x022c, - 0x34 => 0x0250, 0x35 => 0x0263, 0x36 => 0x02b2, 0x37 => 0x01b7, - 0x38 => 0x0300, 0x39 => 0x0285, 0x3a => 0x031b, 0x3b => 0x0263, - 0x3c => 0x014d, 0x3d => 0x035f, 0x3e => 0x014d, 0x3f => 0x0292, - 0x40 => 0x01f4, 0x41 => 0x01f4, 0x42 => 0x0277, 0x43 => 0x0225, - 0x44 => 0x0225, 0x45 => 0x01ee, 0x46 => 0x01b7, 0x47 => 0x0209, - 0x48 => 0x019b, 0x49 => 0x025b, 0x4a => 0x0149, 0x4b => 0x025b, - 0x4c => 0x0225, 0x4d => 0x0225, 0x4e => 0x0240, 0x4f => 0x0209, - 0x50 => 0x0225, 0x51 => 0x0225, 0x52 => 0x0209, 0x53 => 0x0225, - 0x54 => 0x025b, 0x55 => 0x01b7, 0x56 => 0x0240, 0x57 => 0x02c9, - 0x58 => 0x02ae, 0x59 => 0x01ed, 0x5a => 0x02ae, 0x5b => 0x01ee, - 0x5c => 0x01e0, 0x5d => 0xc8, 0x5e => 0x01e0, 0x5f => 0x0225, - 0x60 => 0x02ee, 0x61 => 0x026c, 0x62 => 0xf7, 0x63 => 0x0225, - 0x64 => 0xa7, 0x65 => 0x02c9, 0x66 => 0x01f4, 0x67 => 0x02f1, - 0x68 => 0x02f1, 0x69 => 0x02f1, 0x6a => 0x02f1, 0x6b => 0x0412, - 0x6c => 0x03db, 0x6d => 0x025b, 0x6e => 0x03db, 0x6f => 0x025b, - 0x70 => 0x0190, 0x71 => 0x0225, 0x72 => 0x019b, 0x73 => 0x0225, - 0x74 => 0x0225, 0x75 => 0x02c9, 0x76 => 0x01ee, 0x77 => 0x01cc, - 0x78 => 0x0225, 0x79 => 0x0225, 0x7a => 0x0225, 0x7b => 0x0225, - 0x7c => 0x03e8, 0x7d => 0x025b, 0x7e => 0x03e8, 0x7f => 0x0292, - 0x80 => 0x0337, 0x81 => 0x02ae, 0x82 => 0x031b, 0x83 => 0x03db, - 0x84 => 0x0300, 0x85 => 0x0300, 0x86 => 0x0337, 0x87 => 0x0300, - 0x88 => 0x0300, 0x89 => 0x02c9, 0x8a => 0x02c9, 0x8b => 0x02c9, - 0x8c => 0x02c9, 0x8d => 0x02c9, 0x8e => 0x02c9, 0x8f => 0x02c9, - 0x90 => 0x0300, 0x91 => 0x02c9, 0x92 => 0x0316, 0x93 => 0x0316, - 0x94 => 0x037a, 0x95 => 0x0337, 0x96 => 0x0225, 0x97 => 0xfa, - 0x98 => 0x02c9, 0x99 => 0x025b, 0x9a => 0x025b, 0x9b => 0x0412, - 0x9c => 0x03db, 0x9d => 0x025b, 0x9e => 0x03db, 0x9f => 0x025b, - 0xa0 => 0x01ee, 0xa1 => 0x0149, 0xa2 => 0x0316, 0xa3 => 0x0316, - 0xa4 => 0x0312, 0xa5 => 0x02c9, 0xa6 => 0x0180, 0xa7 => 0x0180, - 0xa8 => 0x0180, 0xa9 => 0x0180, 0xaa => 0x0180, 0xab => 0x0180, - 0xac => 0x01ee, 0xad => 0x01ee, 0xae => 0x01ee, 0xaf => 0x01ee, - 0xb0 => 0x0149, 0xb1 => 0x0112, 0xb2 => 0x02ae, 0xb3 => 0x02ae, - 0xb4 => 0x02ae, 0xb5 => 0x0180, 0xb6 => 0x0180, 0xb7 => 0x0180, - 0xb8 => 0x0180, 0xb9 => 0x0180, 0xba => 0x0180, 0xbb => 0x01ee, - 0xbc => 0x01ee, 0xbd => 0x01ee, 0xbe => 0x0316); - - /* The cmap table is similarly synthesized. - */ - $cmapData = array( - 0x20 => 0x01, 0x21 => 0x02, 0x2200 => 0x03, 0x23 => 0x04, - 0x2203 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x220b => 0x08, - 0x28 => 0x09, 0x29 => 0x0a, 0x2217 => 0x0b, 0x2b => 0x0c, - 0x2c => 0x0d, 0x2212 => 0x0e, 0x2e => 0x0f, 0x2f => 0x10, - 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14, - 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18, - 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c, - 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20, - 0x2245 => 0x21, 0x0391 => 0x22, 0x0392 => 0x23, 0x03a7 => 0x24, - 0x2206 => 0x25, 0x0395 => 0x26, 0x03a6 => 0x27, 0x0393 => 0x28, - 0x0397 => 0x29, 0x0399 => 0x2a, 0x03d1 => 0x2b, 0x039a => 0x2c, - 0x039b => 0x2d, 0x039c => 0x2e, 0x039d => 0x2f, 0x039f => 0x30, - 0x03a0 => 0x31, 0x0398 => 0x32, 0x03a1 => 0x33, 0x03a3 => 0x34, - 0x03a4 => 0x35, 0x03a5 => 0x36, 0x03c2 => 0x37, 0x2126 => 0x38, - 0x039e => 0x39, 0x03a8 => 0x3a, 0x0396 => 0x3b, 0x5b => 0x3c, - 0x2234 => 0x3d, 0x5d => 0x3e, 0x22a5 => 0x3f, 0x5f => 0x40, - 0xf8e5 => 0x41, 0x03b1 => 0x42, 0x03b2 => 0x43, 0x03c7 => 0x44, - 0x03b4 => 0x45, 0x03b5 => 0x46, 0x03c6 => 0x47, 0x03b3 => 0x48, - 0x03b7 => 0x49, 0x03b9 => 0x4a, 0x03d5 => 0x4b, 0x03ba => 0x4c, - 0x03bb => 0x4d, 0xb5 => 0x4e, 0x03bd => 0x4f, 0x03bf => 0x50, - 0x03c0 => 0x51, 0x03b8 => 0x52, 0x03c1 => 0x53, 0x03c3 => 0x54, - 0x03c4 => 0x55, 0x03c5 => 0x56, 0x03d6 => 0x57, 0x03c9 => 0x58, - 0x03be => 0x59, 0x03c8 => 0x5a, 0x03b6 => 0x5b, 0x7b => 0x5c, - 0x7c => 0x5d, 0x7d => 0x5e, 0x223c => 0x5f, 0x20ac => 0x60, - 0x03d2 => 0x61, 0x2032 => 0x62, 0x2264 => 0x63, 0x2044 => 0x64, - 0x221e => 0x65, 0x0192 => 0x66, 0x2663 => 0x67, 0x2666 => 0x68, - 0x2665 => 0x69, 0x2660 => 0x6a, 0x2194 => 0x6b, 0x2190 => 0x6c, - 0x2191 => 0x6d, 0x2192 => 0x6e, 0x2193 => 0x6f, 0xb0 => 0x70, - 0xb1 => 0x71, 0x2033 => 0x72, 0x2265 => 0x73, 0xd7 => 0x74, - 0x221d => 0x75, 0x2202 => 0x76, 0x2022 => 0x77, 0xf7 => 0x78, - 0x2260 => 0x79, 0x2261 => 0x7a, 0x2248 => 0x7b, 0x2026 => 0x7c, - 0xf8e6 => 0x7d, 0xf8e7 => 0x7e, 0x21b5 => 0x7f, 0x2135 => 0x80, - 0x2111 => 0x81, 0x211c => 0x82, 0x2118 => 0x83, 0x2297 => 0x84, - 0x2295 => 0x85, 0x2205 => 0x86, 0x2229 => 0x87, 0x222a => 0x88, - 0x2283 => 0x89, 0x2287 => 0x8a, 0x2284 => 0x8b, 0x2282 => 0x8c, - 0x2286 => 0x8d, 0x2208 => 0x8e, 0x2209 => 0x8f, 0x2220 => 0x90, - 0x2207 => 0x91, 0xf6da => 0x92, 0xf6d9 => 0x93, 0xf6db => 0x94, - 0x220f => 0x95, 0x221a => 0x96, 0x22c5 => 0x97, 0xac => 0x98, - 0x2227 => 0x99, 0x2228 => 0x9a, 0x21d4 => 0x9b, 0x21d0 => 0x9c, - 0x21d1 => 0x9d, 0x21d2 => 0x9e, 0x21d3 => 0x9f, 0x25ca => 0xa0, - 0x2329 => 0xa1, 0xf8e8 => 0xa2, 0xf8e9 => 0xa3, 0xf8ea => 0xa4, - 0x2211 => 0xa5, 0xf8eb => 0xa6, 0xf8ec => 0xa7, 0xf8ed => 0xa8, - 0xf8ee => 0xa9, 0xf8ef => 0xaa, 0xf8f0 => 0xab, 0xf8f1 => 0xac, - 0xf8f2 => 0xad, 0xf8f3 => 0xae, 0xf8f4 => 0xaf, 0x232a => 0xb0, - 0x222b => 0xb1, 0x2320 => 0xb2, 0xf8f5 => 0xb3, 0x2321 => 0xb4, - 0xf8f6 => 0xb5, 0xf8f7 => 0xb6, 0xf8f8 => 0xb7, 0xf8f9 => 0xb8, - 0xf8fa => 0xb9, 0xf8fb => 0xba, 0xf8fc => 0xbb, 0xf8fd => 0xbc, - 0xf8fe => 0xbd, 0xf8ff => 0xbe); - $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData( - Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData); - - - /* Resource dictionary */ - - /* The resource dictionary for the standard fonts is sparse because PDF - * viewers already have all of the metrics data. We only need to provide - * the font name and encoding method. - */ - $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Symbol'); - - /* This font has a built-in custom character encoding method. Don't - * override with WinAnsi like the other built-in fonts or else it will - * not work as expected. - */ - $this->_resource->Encoding = null; - } - - - /* Information and Conversion Methods */ - - /** - * Convert string encoding from local encoding to font encoding. Overridden - * to defeat the conversion behavior for this ornamental font. - * - * @param string $string - * @param string $charEncoding Character encoding of source text. - * @return string - */ - public function encodeString($string, $charEncoding) - { - /* This isn't the optimal time to perform this conversion, but it must - * live here until the remainder of the layout code is completed. This, - * and the $charEncoding parameter, will go away soon... - */ - if ($charEncoding != 'UTF-16BE') { - $string = iconv($charEncoding, 'UTF-16BE', $string); - } - /** - * @todo Properly handle characters encoded as surrogate pairs. - */ - $encodedString = ''; - for ($i = 0; $i < strlen($string); $i++) { - $characterCode = (ord($string[$i++]) << 8) | ord($string[$i]); - if (isset($this->_toFontEncoding[$characterCode])) { - $encodedString .= $this->_toFontEncoding[$characterCode]; - } else { - /* For now, mimic the behavior in Zend_Pdf_Font::encodeString() - * where unknown characters are removed completely. This is not - * perfect, but we should be consistent. In a future revision, - * we will use the well-known substitution character 0x1a - * (Control-Z). - */ - } - } - return $encodedString; - } - - /** - * Convert string encoding from font encoding to local encoding. Overridden - * to defeat the conversion behavior for this ornamental font. - * - * @param string $string - * @param string $charEncoding Character encoding of resulting text. - * @return string - */ - public function decodeString($string, $charEncoding) - { - $decodedString = ''; - for ($i = 0; $i < strlen($string); $i++) { - $characterCode = ord($string[$i]); - if (isset($this->_fromFontEncoding[$characterCode])) { - $decodedString .= $this->_fromFontEncoding[$characterCode]; - } else { - /* For now, mimic the behavior in Zend_Pdf_Font::encodeString() - * where unknown characters are removed completely. This is not - * perfect, but we should be consistent. In a future revision, - * we will use the Unicode substitution character (U+FFFD). - */ - } - } - if ($charEncoding != 'UTF-16BE') { - $decodedString = iconv('UTF-16BE', $charEncoding, $decodedString); - } - return $decodedString; - } - - /** - * Converts a Latin-encoded string that fakes the font's internal encoding - * to the proper Unicode characters, in UTF-16BE encoding. - * - * Used to maintain backwards compatibility with the 20 year-old legacy - * method of using this font, which is still employed by recent versions of - * some popular word processors. - * - * Note that using this method adds overhead due to the additional - * character conversion. Don't use this for new code; it is more efficient - * to use the appropriate Unicode characters directly. - * - * @param string $string - * @param string $charEncoding (optional) Character encoding of source - * string. Defaults to current locale. - * @return string - */ - public function toUnicode($string, $charEncoding = '') - { - /* When using these faked strings, the closest match to the font's - * internal encoding is ISO-8859-1. - */ - if ($charEncoding != 'ISO-8859-1') { - $string = iconv($charEncoding, 'ISO-8859-1', $string); - } - return $this->decodeString($string, 'UTF-16BE'); - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/TimesBold.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/TimesBold.php deleted file mode 100644 index 2672019c0e..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/TimesBold.php +++ /dev/null @@ -1,300 +0,0 @@ -_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] = - "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00" - . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00" - . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00" - . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00" - . "\x39\x00\x33\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x37\x00" - . "\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00\x20\x00\x53\x00" - . "\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00\x20\x00\x49\x00" - . "\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00\x72\x00\x61\x00" - . "\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00\x41\x00\x6c\x00" - . "\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00\x74\x00\x73\x00" - . "\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00\x76\x00\x65\x00" - . "\x64\x00\x2e\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x20\x00" - . "\x69\x00\x73\x00\x20\x00\x61\x00\x20\x00\x74\x00\x72\x00\x61\x00" - . "\x64\x00\x65\x00\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00" - . "\x66\x00\x20\x00\x4c\x00\x69\x00\x6e\x00\x6f\x00\x74\x00\x79\x00" - . "\x70\x00\x65\x00\x2d\x00\x48\x00\x65\x00\x6c\x00\x6c\x00\x20\x00" - . "\x41\x00\x47\x00\x20\x00\x61\x00\x6e\x00\x64\x00\x2f\x00\x6f\x00" - . "\x72\x00\x20\x00\x69\x00\x74\x00\x73\x00\x20\x00\x73\x00\x75\x00" - . "\x62\x00\x73\x00\x69\x00\x64\x00\x69\x00\x61\x00\x72\x00\x69\x00" - . "\x65\x00\x73\x00\x2e"; - $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] = - "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73"; - $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] = - "\x00\x42\x00\x6f\x00\x6c\x00\x64"; - $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] = - "\x00\x34\x00\x33\x00\x30\x00\x36\x00\x35"; - $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] = - "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x2d\x00\x42\x00\x6f\x00" - . "\x6c\x00\x64\x00\x20\x00\x42\x00\x6f\x00\x6c\x00\x64"; - $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] = - "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30"; - $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] = - "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x2d\x00\x42\x00\x6f\x00" - . "\x6c\x00\x64"; - - $this->_isBold = true; - $this->_isItalic = false; - $this->_isMonospaced = false; - - $this->_underlinePosition = -100; - $this->_underlineThickness = 50; - $this->_strikePosition = 225; - $this->_strikeThickness = 50; - - $this->_unitsPerEm = 1000; - - $this->_ascent = 683; - $this->_descent = -217; - $this->_lineGap = 300; - - /* The glyph numbers assigned here are synthetic; they do not match the - * actual glyph numbers used by the font. This is not a big deal though - * since this data never makes it to the PDF file. It is only used - * internally for layout calculations. - */ - $this->_glyphWidths = array( - 0x00 => 0x01f4, 0x01 => 0xfa, 0x02 => 0x014d, 0x03 => 0x022b, - 0x04 => 0x01f4, 0x05 => 0x01f4, 0x06 => 0x03e8, 0x07 => 0x0341, - 0x08 => 0x014d, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x01f4, - 0x0c => 0x023a, 0x0d => 0xfa, 0x0e => 0x014d, 0x0f => 0xfa, - 0x10 => 0x0116, 0x11 => 0x01f4, 0x12 => 0x01f4, 0x13 => 0x01f4, - 0x14 => 0x01f4, 0x15 => 0x01f4, 0x16 => 0x01f4, 0x17 => 0x01f4, - 0x18 => 0x01f4, 0x19 => 0x01f4, 0x1a => 0x01f4, 0x1b => 0x014d, - 0x1c => 0x014d, 0x1d => 0x023a, 0x1e => 0x023a, 0x1f => 0x023a, - 0x20 => 0x01f4, 0x21 => 0x03a2, 0x22 => 0x02d2, 0x23 => 0x029b, - 0x24 => 0x02d2, 0x25 => 0x02d2, 0x26 => 0x029b, 0x27 => 0x0263, - 0x28 => 0x030a, 0x29 => 0x030a, 0x2a => 0x0185, 0x2b => 0x01f4, - 0x2c => 0x030a, 0x2d => 0x029b, 0x2e => 0x03b0, 0x2f => 0x02d2, - 0x30 => 0x030a, 0x31 => 0x0263, 0x32 => 0x030a, 0x33 => 0x02d2, - 0x34 => 0x022c, 0x35 => 0x029b, 0x36 => 0x02d2, 0x37 => 0x02d2, - 0x38 => 0x03e8, 0x39 => 0x02d2, 0x3a => 0x02d2, 0x3b => 0x029b, - 0x3c => 0x014d, 0x3d => 0x0116, 0x3e => 0x014d, 0x3f => 0x0245, - 0x40 => 0x01f4, 0x41 => 0x014d, 0x42 => 0x01f4, 0x43 => 0x022c, - 0x44 => 0x01bc, 0x45 => 0x022c, 0x46 => 0x01bc, 0x47 => 0x014d, - 0x48 => 0x01f4, 0x49 => 0x022c, 0x4a => 0x0116, 0x4b => 0x014d, - 0x4c => 0x022c, 0x4d => 0x0116, 0x4e => 0x0341, 0x4f => 0x022c, - 0x50 => 0x01f4, 0x51 => 0x022c, 0x52 => 0x022c, 0x53 => 0x01bc, - 0x54 => 0x0185, 0x55 => 0x014d, 0x56 => 0x022c, 0x57 => 0x01f4, - 0x58 => 0x02d2, 0x59 => 0x01f4, 0x5a => 0x01f4, 0x5b => 0x01bc, - 0x5c => 0x018a, 0x5d => 0xdc, 0x5e => 0x018a, 0x5f => 0x0208, - 0x60 => 0x014d, 0x61 => 0x01f4, 0x62 => 0x01f4, 0x63 => 0xa7, - 0x64 => 0x01f4, 0x65 => 0x01f4, 0x66 => 0x01f4, 0x67 => 0x01f4, - 0x68 => 0x0116, 0x69 => 0x01f4, 0x6a => 0x01f4, 0x6b => 0x014d, - 0x6c => 0x014d, 0x6d => 0x022c, 0x6e => 0x022c, 0x6f => 0x01f4, - 0x70 => 0x01f4, 0x71 => 0x01f4, 0x72 => 0xfa, 0x73 => 0x021c, - 0x74 => 0x015e, 0x75 => 0x014d, 0x76 => 0x01f4, 0x77 => 0x01f4, - 0x78 => 0x01f4, 0x79 => 0x03e8, 0x7a => 0x03e8, 0x7b => 0x01f4, - 0x7c => 0x014d, 0x7d => 0x014d, 0x7e => 0x014d, 0x7f => 0x014d, - 0x80 => 0x014d, 0x81 => 0x014d, 0x82 => 0x014d, 0x83 => 0x014d, - 0x84 => 0x014d, 0x85 => 0x014d, 0x86 => 0x014d, 0x87 => 0x014d, - 0x88 => 0x014d, 0x89 => 0x03e8, 0x8a => 0x03e8, 0x8b => 0x012c, - 0x8c => 0x029b, 0x8d => 0x030a, 0x8e => 0x03e8, 0x8f => 0x014a, - 0x90 => 0x02d2, 0x91 => 0x0116, 0x92 => 0x0116, 0x93 => 0x01f4, - 0x94 => 0x02d2, 0x95 => 0x022c, 0x96 => 0x0185, 0x97 => 0x01bc, - 0x98 => 0x01f4, 0x99 => 0x022c, 0x9a => 0x01bc, 0x9b => 0x02d2, - 0x9c => 0x023a, 0x9d => 0x02d2, 0x9e => 0x02d2, 0x9f => 0x01f4, - 0xa0 => 0x02d2, 0xa1 => 0x01f4, 0xa2 => 0x0185, 0xa3 => 0x01bc, - 0xa4 => 0x02d2, 0xa5 => 0x02d2, 0xa6 => 0x01f4, 0xa7 => 0x02d2, - 0xa8 => 0x022c, 0xa9 => 0x029b, 0xaa => 0x02d2, 0xab => 0xfa, - 0xac => 0x02eb, 0xad => 0x029b, 0xae => 0x01bc, 0xaf => 0x01f4, - 0xb0 => 0x02d2, 0xb1 => 0x0116, 0xb2 => 0x01f4, 0xb3 => 0x029b, - 0xb4 => 0x02d2, 0xb5 => 0x01f4, 0xb6 => 0x029b, 0xb7 => 0x0185, - 0xb8 => 0x0185, 0xb9 => 0x0116, 0xba => 0x01ee, 0xbb => 0x02d2, - 0xbc => 0x030a, 0xbd => 0x022c, 0xbe => 0x01f4, 0xbf => 0x02d2, - 0xc0 => 0x01bc, 0xc1 => 0x01bc, 0xc2 => 0x029b, 0xc3 => 0x0263, - 0xc4 => 0x030a, 0xc5 => 0x02d2, 0xc6 => 0x022c, 0xc7 => 0x02a0, - 0xc8 => 0x02d2, 0xc9 => 0x022c, 0xca => 0x012c, 0xcb => 0x030a, - 0xcc => 0x02d2, 0xcd => 0x02d2, 0xce => 0x023a, 0xcf => 0x022c, - 0xd0 => 0x029b, 0xd1 => 0x01ee, 0xd2 => 0x01f4, 0xd3 => 0x02d2, - 0xd4 => 0x0116, 0xd5 => 0x029b, 0xd6 => 0x01f4, 0xd7 => 0x01bc, - 0xd8 => 0x01bc, 0xd9 => 0x022c, 0xda => 0x022c, 0xdb => 0x02d2, - 0xdc => 0x0185, 0xdd => 0x023a, 0xde => 0xdc, 0xdf => 0x02eb, - 0xe0 => 0x030a, 0xe1 => 0x0185, 0xe2 => 0x0258, 0xe3 => 0x029b, - 0xe4 => 0x01bc, 0xe5 => 0x01f4, 0xe6 => 0x029b, 0xe7 => 0x029b, - 0xe8 => 0x0225, 0xe9 => 0x02d2, 0xea => 0x02d2, 0xeb => 0x0116, - 0xec => 0x01a0, 0xed => 0x01bc, 0xee => 0x02d2, 0xef => 0x02d2, - 0xf0 => 0x02d2, 0xf1 => 0x01bc, 0xf2 => 0x01bc, 0xf3 => 0x0116, - 0xf4 => 0x030a, 0xf5 => 0x01f4, 0xf6 => 0x01f4, 0xf7 => 0x0185, - 0xf8 => 0x0116, 0xf9 => 0x030a, 0xfa => 0x02d2, 0xfb => 0x0264, - 0xfc => 0x022c, 0xfd => 0x012c, 0xfe => 0x030a, 0xff => 0x022c, - 0x0100 => 0x0116, 0x0101 => 0x01f4, 0x0102 => 0x029b, 0x0103 => 0x022c, - 0x0104 => 0x02ee, 0x0105 => 0x022c, 0x0106 => 0x018a, 0x0107 => 0x030a, - 0x0108 => 0x029b, 0x0109 => 0x03e8, 0x010a => 0x01bc, 0x010b => 0x0185, - 0x010c => 0x0185, 0x010d => 0x029b, 0x010e => 0x02ee, 0x010f => 0x0225, - 0x0110 => 0x01f4, 0x0111 => 0x022c, 0x0112 => 0x02d2, 0x0113 => 0x029b, - 0x0114 => 0x01bc, 0x0115 => 0x01f4, 0x0116 => 0x02ee, 0x0117 => 0x022c, - 0x0118 => 0x022c, 0x0119 => 0x030a, 0x011a => 0x0190, 0x011b => 0x01f4, - 0x011c => 0x02d2, 0x011d => 0x022c, 0x011e => 0x0225, 0x011f => 0x02d2, - 0x0120 => 0x01bc, 0x0121 => 0x02d2, 0x0122 => 0x01f4, 0x0123 => 0x02d2, - 0x0124 => 0x029b, 0x0125 => 0x02d2, 0x0126 => 0x02d2, 0x0127 => 0x02d2, - 0x0128 => 0x030a, 0x0129 => 0x01bc, 0x012a => 0x029b, 0x012b => 0x0185, - 0x012c => 0x022c, 0x012d => 0x023a, 0x012e => 0x0185, 0x012f => 0x022c, - 0x0130 => 0x014d, 0x0131 => 0x023a, 0x0132 => 0x01f4, 0x0133 => 0x022c, - 0x0134 => 0x0225, 0x0135 => 0x01f4, 0x0136 => 0x01f4, 0x0137 => 0x01bc, - 0x0138 => 0x022c, 0x0139 => 0x012c, 0x013a => 0x0116, 0x013b => 0x01f4, - ); - - /* The cmap table is similarly synthesized. - */ - $cmapData = array( - 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04, - 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08, - 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c, - 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10, - 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14, - 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18, - 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c, - 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20, - 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24, - 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28, - 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c, - 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30, - 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34, - 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38, - 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c, - 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40, - 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44, - 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48, - 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c, - 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50, - 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54, - 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58, - 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c, - 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60, - 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64, - 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68, - 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c, - 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70, - 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74, - 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78, - 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c, - 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80, - 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84, - 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88, - 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c, - 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90, - 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94, - 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98, - 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c, - 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0, - 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4, - 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8, - 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac, - 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0, - 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4, - 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8, - 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc, - 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0, - 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4, - 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8, - 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc, - 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0, - 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4, - 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8, - 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc, - 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0, - 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4, - 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8, - 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec, - 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0, - 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4, - 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8, - 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc, - 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100, - 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104, - 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108, - 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c, - 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110, - 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114, - 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118, - 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c, - 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120, - 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124, - 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128, - 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c, - 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130, - 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134, - 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138, - 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b); - $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData( - Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData); - - - /* Resource dictionary */ - - /* The resource dictionary for the standard fonts is sparse because PDF - * viewers already have all of the metrics data. We only need to provide - * the font name and encoding method. - */ - $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Times-Bold'); - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/TimesBoldItalic.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/TimesBoldItalic.php deleted file mode 100644 index 23a7cdcb40..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/TimesBoldItalic.php +++ /dev/null @@ -1,301 +0,0 @@ -_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] = - "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00" - . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00" - . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00" - . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00" - . "\x39\x00\x33\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x37\x00" - . "\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00\x20\x00\x53\x00" - . "\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00\x20\x00\x49\x00" - . "\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00\x72\x00\x61\x00" - . "\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00\x41\x00\x6c\x00" - . "\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00\x74\x00\x73\x00" - . "\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00\x76\x00\x65\x00" - . "\x64\x00\x2e\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x20\x00" - . "\x69\x00\x73\x00\x20\x00\x61\x00\x20\x00\x74\x00\x72\x00\x61\x00" - . "\x64\x00\x65\x00\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00" - . "\x66\x00\x20\x00\x4c\x00\x69\x00\x6e\x00\x6f\x00\x74\x00\x79\x00" - . "\x70\x00\x65\x00\x2d\x00\x48\x00\x65\x00\x6c\x00\x6c\x00\x20\x00" - . "\x41\x00\x47\x00\x20\x00\x61\x00\x6e\x00\x64\x00\x2f\x00\x6f\x00" - . "\x72\x00\x20\x00\x69\x00\x74\x00\x73\x00\x20\x00\x73\x00\x75\x00" - . "\x62\x00\x73\x00\x69\x00\x64\x00\x69\x00\x61\x00\x72\x00\x69\x00" - . "\x65\x00\x73\x00\x2e"; - $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] = - "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73"; - $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] = - "\x00\x42\x00\x6f\x00\x6c\x00\x64"; - $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] = - "\x00\x34\x00\x33\x00\x30\x00\x36\x00\x36"; - $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] = - "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x2d\x00\x42\x00\x6f\x00" - . "\x6c\x00\x64\x00\x49\x00\x74\x00\x61\x00\x6c\x00\x69\x00\x63\x00" - . "\x20\x00\x42\x00\x6f\x00\x6c\x00\x64"; - $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] = - "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30"; - $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] = - "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x2d\x00\x42\x00\x6f\x00" - . "\x6c\x00\x64\x00\x49\x00\x74\x00\x61\x00\x6c\x00\x69\x00\x63"; - - $this->_isBold = true; - $this->_isItalic = true; - $this->_isMonospaced = false; - - $this->_underlinePosition = -100; - $this->_underlineThickness = 50; - $this->_strikePosition = 225; - $this->_strikeThickness = 50; - - $this->_unitsPerEm = 1000; - - $this->_ascent = 683; - $this->_descent = -217; - $this->_lineGap = 300; - - /* The glyph numbers assigned here are synthetic; they do not match the - * actual glyph numbers used by the font. This is not a big deal though - * since this data never makes it to the PDF file. It is only used - * internally for layout calculations. - */ - $this->_glyphWidths = array( - 0x00 => 0x01f4, 0x01 => 0xfa, 0x02 => 0x0185, 0x03 => 0x022b, - 0x04 => 0x01f4, 0x05 => 0x01f4, 0x06 => 0x0341, 0x07 => 0x030a, - 0x08 => 0x014d, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x01f4, - 0x0c => 0x023a, 0x0d => 0xfa, 0x0e => 0x014d, 0x0f => 0xfa, - 0x10 => 0x0116, 0x11 => 0x01f4, 0x12 => 0x01f4, 0x13 => 0x01f4, - 0x14 => 0x01f4, 0x15 => 0x01f4, 0x16 => 0x01f4, 0x17 => 0x01f4, - 0x18 => 0x01f4, 0x19 => 0x01f4, 0x1a => 0x01f4, 0x1b => 0x014d, - 0x1c => 0x014d, 0x1d => 0x023a, 0x1e => 0x023a, 0x1f => 0x023a, - 0x20 => 0x01f4, 0x21 => 0x0340, 0x22 => 0x029b, 0x23 => 0x029b, - 0x24 => 0x029b, 0x25 => 0x02d2, 0x26 => 0x029b, 0x27 => 0x029b, - 0x28 => 0x02d2, 0x29 => 0x030a, 0x2a => 0x0185, 0x2b => 0x01f4, - 0x2c => 0x029b, 0x2d => 0x0263, 0x2e => 0x0379, 0x2f => 0x02d2, - 0x30 => 0x02d2, 0x31 => 0x0263, 0x32 => 0x02d2, 0x33 => 0x029b, - 0x34 => 0x022c, 0x35 => 0x0263, 0x36 => 0x02d2, 0x37 => 0x029b, - 0x38 => 0x0379, 0x39 => 0x029b, 0x3a => 0x0263, 0x3b => 0x0263, - 0x3c => 0x014d, 0x3d => 0x0116, 0x3e => 0x014d, 0x3f => 0x023a, - 0x40 => 0x01f4, 0x41 => 0x014d, 0x42 => 0x01f4, 0x43 => 0x01f4, - 0x44 => 0x01bc, 0x45 => 0x01f4, 0x46 => 0x01bc, 0x47 => 0x014d, - 0x48 => 0x01f4, 0x49 => 0x022c, 0x4a => 0x0116, 0x4b => 0x0116, - 0x4c => 0x01f4, 0x4d => 0x0116, 0x4e => 0x030a, 0x4f => 0x022c, - 0x50 => 0x01f4, 0x51 => 0x01f4, 0x52 => 0x01f4, 0x53 => 0x0185, - 0x54 => 0x0185, 0x55 => 0x0116, 0x56 => 0x022c, 0x57 => 0x01bc, - 0x58 => 0x029b, 0x59 => 0x01f4, 0x5a => 0x01bc, 0x5b => 0x0185, - 0x5c => 0x015c, 0x5d => 0xdc, 0x5e => 0x015c, 0x5f => 0x023a, - 0x60 => 0x0185, 0x61 => 0x01f4, 0x62 => 0x01f4, 0x63 => 0xa7, - 0x64 => 0x01f4, 0x65 => 0x01f4, 0x66 => 0x01f4, 0x67 => 0x01f4, - 0x68 => 0x0116, 0x69 => 0x01f4, 0x6a => 0x01f4, 0x6b => 0x014d, - 0x6c => 0x014d, 0x6d => 0x022c, 0x6e => 0x022c, 0x6f => 0x01f4, - 0x70 => 0x01f4, 0x71 => 0x01f4, 0x72 => 0xfa, 0x73 => 0x01f4, - 0x74 => 0x015e, 0x75 => 0x014d, 0x76 => 0x01f4, 0x77 => 0x01f4, - 0x78 => 0x01f4, 0x79 => 0x03e8, 0x7a => 0x03e8, 0x7b => 0x01f4, - 0x7c => 0x014d, 0x7d => 0x014d, 0x7e => 0x014d, 0x7f => 0x014d, - 0x80 => 0x014d, 0x81 => 0x014d, 0x82 => 0x014d, 0x83 => 0x014d, - 0x84 => 0x014d, 0x85 => 0x014d, 0x86 => 0x014d, 0x87 => 0x014d, - 0x88 => 0x014d, 0x89 => 0x03e8, 0x8a => 0x03b0, 0x8b => 0x010a, - 0x8c => 0x0263, 0x8d => 0x02d2, 0x8e => 0x03b0, 0x8f => 0x012c, - 0x90 => 0x02d2, 0x91 => 0x0116, 0x92 => 0x0116, 0x93 => 0x01f4, - 0x94 => 0x02d2, 0x95 => 0x01f4, 0x96 => 0x0185, 0x97 => 0x01bc, - 0x98 => 0x01f4, 0x99 => 0x022c, 0x9a => 0x01bc, 0x9b => 0x0263, - 0x9c => 0x023a, 0x9d => 0x0263, 0x9e => 0x029b, 0x9f => 0x01f4, - 0xa0 => 0x02d2, 0xa1 => 0x01bc, 0xa2 => 0x0185, 0xa3 => 0x01bc, - 0xa4 => 0x02d2, 0xa5 => 0x02d2, 0xa6 => 0x01f4, 0xa7 => 0x02d2, - 0xa8 => 0x022c, 0xa9 => 0x029b, 0xaa => 0x02d2, 0xab => 0xfa, - 0xac => 0x02eb, 0xad => 0x029b, 0xae => 0x01bc, 0xaf => 0x01f4, - 0xb0 => 0x02d2, 0xb1 => 0x0116, 0xb2 => 0x01f4, 0xb3 => 0x0263, - 0xb4 => 0x029b, 0xb5 => 0x01f4, 0xb6 => 0x029b, 0xb7 => 0x0185, - 0xb8 => 0x0185, 0xb9 => 0x0116, 0xba => 0x01ee, 0xbb => 0x029b, - 0xbc => 0x02d2, 0xbd => 0x022c, 0xbe => 0x01f4, 0xbf => 0x029b, - 0xc0 => 0x0185, 0xc1 => 0x01bc, 0xc2 => 0x0263, 0xc3 => 0x0263, - 0xc4 => 0x02d2, 0xc5 => 0x029b, 0xc6 => 0x022c, 0xc7 => 0x0260, - 0xc8 => 0x02d2, 0xc9 => 0x022c, 0xca => 0x012c, 0xcb => 0x02d2, - 0xcc => 0x029b, 0xcd => 0x029b, 0xce => 0x023a, 0xcf => 0x022c, - 0xd0 => 0x0263, 0xd1 => 0x01ee, 0xd2 => 0x01bc, 0xd3 => 0x02d2, - 0xd4 => 0x0116, 0xd5 => 0x029b, 0xd6 => 0x01f4, 0xd7 => 0x01bc, - 0xd8 => 0x01bc, 0xd9 => 0x022c, 0xda => 0x022c, 0xdb => 0x02d2, - 0xdc => 0x0185, 0xdd => 0x023a, 0xde => 0xdc, 0xdf => 0x02eb, - 0xe0 => 0x02d2, 0xe1 => 0x0185, 0xe2 => 0x0258, 0xe3 => 0x029b, - 0xe4 => 0x0185, 0xe5 => 0x01f4, 0xe6 => 0x0263, 0xe7 => 0x0263, - 0xe8 => 0x0225, 0xe9 => 0x02d2, 0xea => 0x029b, 0xeb => 0x0116, - 0xec => 0x016e, 0xed => 0x01bc, 0xee => 0x02d2, 0xef => 0x029b, - 0xf0 => 0x029b, 0xf1 => 0x01bc, 0xf2 => 0x0185, 0xf3 => 0x0116, - 0xf4 => 0x02d2, 0xf5 => 0x01f4, 0xf6 => 0x01f4, 0xf7 => 0x0185, - 0xf8 => 0x0116, 0xf9 => 0x02d2, 0xfa => 0x02d2, 0xfb => 0x0264, - 0xfc => 0x01f4, 0xfd => 0x012c, 0xfe => 0x02d2, 0xff => 0x0240, - 0x0100 => 0x0116, 0x0101 => 0x01f4, 0x0102 => 0x029b, 0x0103 => 0x01f4, - 0x0104 => 0x02ee, 0x0105 => 0x022c, 0x0106 => 0x017e, 0x0107 => 0x029b, - 0x0108 => 0x0263, 0x0109 => 0x03e8, 0x010a => 0x01bc, 0x010b => 0x0185, - 0x010c => 0x0185, 0x010d => 0x0263, 0x010e => 0x02ee, 0x010f => 0x0225, - 0x0110 => 0x01f4, 0x0111 => 0x022c, 0x0112 => 0x02d2, 0x0113 => 0x029b, - 0x0114 => 0x01bc, 0x0115 => 0x01f4, 0x0116 => 0x02ee, 0x0117 => 0x022c, - 0x0118 => 0x022c, 0x0119 => 0x02d2, 0x011a => 0x0190, 0x011b => 0x01f4, - 0x011c => 0x029b, 0x011d => 0x022c, 0x011e => 0x0225, 0x011f => 0x02d2, - 0x0120 => 0x0185, 0x0121 => 0x02d2, 0x0122 => 0x01f4, 0x0123 => 0x029b, - 0x0124 => 0x0263, 0x0125 => 0x029b, 0x0126 => 0x029b, 0x0127 => 0x029b, - 0x0128 => 0x02d2, 0x0129 => 0x0185, 0x012a => 0x029b, 0x012b => 0x0185, - 0x012c => 0x01f4, 0x012d => 0x025e, 0x012e => 0x0185, 0x012f => 0x022c, - 0x0130 => 0x0116, 0x0131 => 0x025e, 0x0132 => 0x01f4, 0x0133 => 0x022c, - 0x0134 => 0x0225, 0x0135 => 0x01f4, 0x0136 => 0x01f4, 0x0137 => 0x0185, - 0x0138 => 0x022c, 0x0139 => 0x012c, 0x013a => 0x0116, 0x013b => 0x01f4, - ); - - /* The cmap table is similarly synthesized. - */ - $cmapData = array( - 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04, - 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08, - 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c, - 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10, - 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14, - 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18, - 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c, - 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20, - 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24, - 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28, - 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c, - 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30, - 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34, - 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38, - 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c, - 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40, - 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44, - 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48, - 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c, - 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50, - 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54, - 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58, - 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c, - 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60, - 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64, - 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68, - 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c, - 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70, - 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74, - 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78, - 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c, - 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80, - 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84, - 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88, - 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c, - 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90, - 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94, - 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98, - 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c, - 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0, - 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4, - 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8, - 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac, - 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0, - 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4, - 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8, - 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc, - 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0, - 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4, - 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8, - 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc, - 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0, - 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4, - 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8, - 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc, - 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0, - 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4, - 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8, - 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec, - 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0, - 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4, - 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8, - 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc, - 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100, - 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104, - 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108, - 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c, - 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110, - 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114, - 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118, - 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c, - 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120, - 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124, - 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128, - 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c, - 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130, - 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134, - 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138, - 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b); - $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData( - Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData); - - - /* Resource dictionary */ - - /* The resource dictionary for the standard fonts is sparse because PDF - * viewers already have all of the metrics data. We only need to provide - * the font name and encoding method. - */ - $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Times-BoldItalic'); - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/TimesItalic.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/TimesItalic.php deleted file mode 100644 index e242048dc8..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/TimesItalic.php +++ /dev/null @@ -1,301 +0,0 @@ -_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] = - "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00" - . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00" - . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00" - . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00" - . "\x39\x00\x33\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x37\x00" - . "\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00\x20\x00\x53\x00" - . "\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00\x20\x00\x49\x00" - . "\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00\x72\x00\x61\x00" - . "\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00\x41\x00\x6c\x00" - . "\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00\x74\x00\x73\x00" - . "\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00\x76\x00\x65\x00" - . "\x64\x00\x2e\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x20\x00" - . "\x69\x00\x73\x00\x20\x00\x61\x00\x20\x00\x74\x00\x72\x00\x61\x00" - . "\x64\x00\x65\x00\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00" - . "\x66\x00\x20\x00\x4c\x00\x69\x00\x6e\x00\x6f\x00\x74\x00\x79\x00" - . "\x70\x00\x65\x00\x2d\x00\x48\x00\x65\x00\x6c\x00\x6c\x00\x20\x00" - . "\x41\x00\x47\x00\x20\x00\x61\x00\x6e\x00\x64\x00\x2f\x00\x6f\x00" - . "\x72\x00\x20\x00\x69\x00\x74\x00\x73\x00\x20\x00\x73\x00\x75\x00" - . "\x62\x00\x73\x00\x69\x00\x64\x00\x69\x00\x61\x00\x72\x00\x69\x00" - . "\x65\x00\x73\x00\x2e"; - $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] = - "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73"; - $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] = - "\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d"; - $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] = - "\x00\x34\x00\x33\x00\x30\x00\x36\x00\x37"; - $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] = - "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x2d\x00\x49\x00\x74\x00" - . "\x61\x00\x6c\x00\x69\x00\x63\x00\x20\x00\x4d\x00\x65\x00\x64\x00" - . "\x69\x00\x75\x00\x6d"; - $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] = - "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30"; - $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] = - "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x2d\x00\x49\x00\x74\x00" - . "\x61\x00\x6c\x00\x69\x00\x63"; - - $this->_isBold = false; - $this->_isItalic = true; - $this->_isMonospaced = false; - - $this->_underlinePosition = -100; - $this->_underlineThickness = 50; - $this->_strikePosition = 225; - $this->_strikeThickness = 50; - - $this->_unitsPerEm = 1000; - - $this->_ascent = 683; - $this->_descent = -217; - $this->_lineGap = 300; - - /* The glyph numbers assigned here are synthetic; they do not match the - * actual glyph numbers used by the font. This is not a big deal though - * since this data never makes it to the PDF file. It is only used - * internally for layout calculations. - */ - $this->_glyphWidths = array( - 0x00 => 0x01f4, 0x01 => 0xfa, 0x02 => 0x014d, 0x03 => 0x01a4, - 0x04 => 0x01f4, 0x05 => 0x01f4, 0x06 => 0x0341, 0x07 => 0x030a, - 0x08 => 0x014d, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x01f4, - 0x0c => 0x02a3, 0x0d => 0xfa, 0x0e => 0x014d, 0x0f => 0xfa, - 0x10 => 0x0116, 0x11 => 0x01f4, 0x12 => 0x01f4, 0x13 => 0x01f4, - 0x14 => 0x01f4, 0x15 => 0x01f4, 0x16 => 0x01f4, 0x17 => 0x01f4, - 0x18 => 0x01f4, 0x19 => 0x01f4, 0x1a => 0x01f4, 0x1b => 0x014d, - 0x1c => 0x014d, 0x1d => 0x02a3, 0x1e => 0x02a3, 0x1f => 0x02a3, - 0x20 => 0x01f4, 0x21 => 0x0398, 0x22 => 0x0263, 0x23 => 0x0263, - 0x24 => 0x029b, 0x25 => 0x02d2, 0x26 => 0x0263, 0x27 => 0x0263, - 0x28 => 0x02d2, 0x29 => 0x02d2, 0x2a => 0x014d, 0x2b => 0x01bc, - 0x2c => 0x029b, 0x2d => 0x022c, 0x2e => 0x0341, 0x2f => 0x029b, - 0x30 => 0x02d2, 0x31 => 0x0263, 0x32 => 0x02d2, 0x33 => 0x0263, - 0x34 => 0x01f4, 0x35 => 0x022c, 0x36 => 0x02d2, 0x37 => 0x0263, - 0x38 => 0x0341, 0x39 => 0x0263, 0x3a => 0x022c, 0x3b => 0x022c, - 0x3c => 0x0185, 0x3d => 0x0116, 0x3e => 0x0185, 0x3f => 0x01a6, - 0x40 => 0x01f4, 0x41 => 0x014d, 0x42 => 0x01f4, 0x43 => 0x01f4, - 0x44 => 0x01bc, 0x45 => 0x01f4, 0x46 => 0x01bc, 0x47 => 0x0116, - 0x48 => 0x01f4, 0x49 => 0x01f4, 0x4a => 0x0116, 0x4b => 0x0116, - 0x4c => 0x01bc, 0x4d => 0x0116, 0x4e => 0x02d2, 0x4f => 0x01f4, - 0x50 => 0x01f4, 0x51 => 0x01f4, 0x52 => 0x01f4, 0x53 => 0x0185, - 0x54 => 0x0185, 0x55 => 0x0116, 0x56 => 0x01f4, 0x57 => 0x01bc, - 0x58 => 0x029b, 0x59 => 0x01bc, 0x5a => 0x01bc, 0x5b => 0x0185, - 0x5c => 0x0190, 0x5d => 0x0113, 0x5e => 0x0190, 0x5f => 0x021d, - 0x60 => 0x0185, 0x61 => 0x01f4, 0x62 => 0x01f4, 0x63 => 0xa7, - 0x64 => 0x01f4, 0x65 => 0x01f4, 0x66 => 0x01f4, 0x67 => 0x01f4, - 0x68 => 0xd6, 0x69 => 0x022c, 0x6a => 0x01f4, 0x6b => 0x014d, - 0x6c => 0x014d, 0x6d => 0x01f4, 0x6e => 0x01f4, 0x6f => 0x01f4, - 0x70 => 0x01f4, 0x71 => 0x01f4, 0x72 => 0xfa, 0x73 => 0x020b, - 0x74 => 0x015e, 0x75 => 0x014d, 0x76 => 0x022c, 0x77 => 0x022c, - 0x78 => 0x01f4, 0x79 => 0x0379, 0x7a => 0x03e8, 0x7b => 0x01f4, - 0x7c => 0x014d, 0x7d => 0x014d, 0x7e => 0x014d, 0x7f => 0x014d, - 0x80 => 0x014d, 0x81 => 0x014d, 0x82 => 0x014d, 0x83 => 0x014d, - 0x84 => 0x014d, 0x85 => 0x014d, 0x86 => 0x014d, 0x87 => 0x014d, - 0x88 => 0x014d, 0x89 => 0x0379, 0x8a => 0x0379, 0x8b => 0x0114, - 0x8c => 0x022c, 0x8d => 0x02d2, 0x8e => 0x03b0, 0x8f => 0x0136, - 0x90 => 0x029b, 0x91 => 0x0116, 0x92 => 0x0116, 0x93 => 0x01f4, - 0x94 => 0x029b, 0x95 => 0x01f4, 0x96 => 0x014d, 0x97 => 0x01bc, - 0x98 => 0x01f4, 0x99 => 0x01f4, 0x9a => 0x01bc, 0x9b => 0x022c, - 0x9c => 0x02a3, 0x9d => 0x022c, 0x9e => 0x0263, 0x9f => 0x01f4, - 0xa0 => 0x02d2, 0xa1 => 0x01bc, 0xa2 => 0x0185, 0xa3 => 0x01bc, - 0xa4 => 0x02d2, 0xa5 => 0x02d2, 0xa6 => 0x01f4, 0xa7 => 0x02d2, - 0xa8 => 0x01f4, 0xa9 => 0x0263, 0xaa => 0x02d2, 0xab => 0xfa, - 0xac => 0x02f8, 0xad => 0x0263, 0xae => 0x01bc, 0xaf => 0x01f4, - 0xb0 => 0x029b, 0xb1 => 0x0116, 0xb2 => 0x01f4, 0xb3 => 0x022c, - 0xb4 => 0x029b, 0xb5 => 0x01f4, 0xb6 => 0x0263, 0xb7 => 0x0185, - 0xb8 => 0x0185, 0xb9 => 0x0116, 0xba => 0x01d7, 0xbb => 0x0263, - 0xbc => 0x02d2, 0xbd => 0x01f4, 0xbe => 0x01f4, 0xbf => 0x0263, - 0xc0 => 0x0185, 0xc1 => 0x01bc, 0xc2 => 0x022c, 0xc3 => 0x0263, - 0xc4 => 0x02d2, 0xc5 => 0x0263, 0xc6 => 0x01f4, 0xc7 => 0x0220, - 0xc8 => 0x02d2, 0xc9 => 0x01f4, 0xca => 0x012c, 0xcb => 0x02d2, - 0xcc => 0x0263, 0xcd => 0x0263, 0xce => 0x02a3, 0xcf => 0x01f4, - 0xd0 => 0x022c, 0xd1 => 0x01dc, 0xd2 => 0x01bc, 0xd3 => 0x029b, - 0xd4 => 0x0116, 0xd5 => 0x0263, 0xd6 => 0x01f4, 0xd7 => 0x01bc, - 0xd8 => 0x01bc, 0xd9 => 0x01f4, 0xda => 0x01f4, 0xdb => 0x029b, - 0xdc => 0x014d, 0xdd => 0x02a3, 0xde => 0x0113, 0xdf => 0x02f8, - 0xe0 => 0x02d2, 0xe1 => 0x014d, 0xe2 => 0x0258, 0xe3 => 0x0263, - 0xe4 => 0x0185, 0xe5 => 0x01f4, 0xe6 => 0x022c, 0xe7 => 0x022c, - 0xe8 => 0x0225, 0xe9 => 0x02d2, 0xea => 0x029b, 0xeb => 0x0116, - 0xec => 0x012c, 0xed => 0x01bc, 0xee => 0x02d2, 0xef => 0x0263, - 0xf0 => 0x0263, 0xf1 => 0x01bc, 0xf2 => 0x0185, 0xf3 => 0x0116, - 0xf4 => 0x02d2, 0xf5 => 0x01f4, 0xf6 => 0x01f4, 0xf7 => 0x0185, - 0xf8 => 0x0116, 0xf9 => 0x02d2, 0xfa => 0x02d2, 0xfb => 0x0264, - 0xfc => 0x01f4, 0xfd => 0x012c, 0xfe => 0x02d2, 0xff => 0x01f4, - 0x0100 => 0x0116, 0x0101 => 0x01f4, 0x0102 => 0x0263, 0x0103 => 0x01f4, - 0x0104 => 0x02ee, 0x0105 => 0x01f4, 0x0106 => 0x012c, 0x0107 => 0x029b, - 0x0108 => 0x022c, 0x0109 => 0x03d4, 0x010a => 0x01bc, 0x010b => 0x014d, - 0x010c => 0x014d, 0x010d => 0x0263, 0x010e => 0x02ee, 0x010f => 0x0225, - 0x0110 => 0x01f4, 0x0111 => 0x01f4, 0x0112 => 0x02d2, 0x0113 => 0x0263, - 0x0114 => 0x01bc, 0x0115 => 0x01f4, 0x0116 => 0x02ee, 0x0117 => 0x01f4, - 0x0118 => 0x01f4, 0x0119 => 0x02d2, 0x011a => 0x0190, 0x011b => 0x01f4, - 0x011c => 0x029b, 0x011d => 0x01f4, 0x011e => 0x01c5, 0x011f => 0x02d2, - 0x0120 => 0x0185, 0x0121 => 0x029b, 0x0122 => 0x01f4, 0x0123 => 0x0263, - 0x0124 => 0x022c, 0x0125 => 0x0263, 0x0126 => 0x0263, 0x0127 => 0x0263, - 0x0128 => 0x02d2, 0x0129 => 0x0185, 0x012a => 0x0263, 0x012b => 0x014d, - 0x012c => 0x01bc, 0x012d => 0x02a3, 0x012e => 0x014d, 0x012f => 0x01f4, - 0x0130 => 0x0116, 0x0131 => 0x02a3, 0x0132 => 0x01f4, 0x0133 => 0x01f4, - 0x0134 => 0x0225, 0x0135 => 0x01f4, 0x0136 => 0x01f4, 0x0137 => 0x0185, - 0x0138 => 0x01f4, 0x0139 => 0x012c, 0x013a => 0x0116, 0x013b => 0x01f4, - ); - - /* The cmap table is similarly synthesized. - */ - $cmapData = array( - 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04, - 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08, - 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c, - 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10, - 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14, - 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18, - 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c, - 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20, - 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24, - 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28, - 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c, - 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30, - 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34, - 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38, - 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c, - 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40, - 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44, - 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48, - 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c, - 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50, - 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54, - 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58, - 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c, - 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60, - 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64, - 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68, - 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c, - 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70, - 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74, - 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78, - 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c, - 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80, - 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84, - 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88, - 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c, - 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90, - 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94, - 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98, - 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c, - 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0, - 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4, - 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8, - 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac, - 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0, - 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4, - 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8, - 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc, - 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0, - 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4, - 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8, - 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc, - 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0, - 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4, - 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8, - 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc, - 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0, - 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4, - 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8, - 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec, - 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0, - 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4, - 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8, - 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc, - 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100, - 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104, - 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108, - 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c, - 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110, - 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114, - 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118, - 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c, - 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120, - 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124, - 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128, - 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c, - 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130, - 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134, - 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138, - 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b); - $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData( - Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData); - - - /* Resource dictionary */ - - /* The resource dictionary for the standard fonts is sparse because PDF - * viewers already have all of the metrics data. We only need to provide - * the font name and encoding method. - */ - $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Times-Italic'); - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/TimesRoman.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/TimesRoman.php deleted file mode 100644 index 34f16477a9..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/TimesRoman.php +++ /dev/null @@ -1,301 +0,0 @@ -_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] = - "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00" - . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00" - . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00" - . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00" - . "\x39\x00\x33\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x37\x00" - . "\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00\x20\x00\x53\x00" - . "\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00\x20\x00\x49\x00" - . "\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00\x72\x00\x61\x00" - . "\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00\x41\x00\x6c\x00" - . "\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00\x74\x00\x73\x00" - . "\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00\x76\x00\x65\x00" - . "\x64\x00\x2e\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x20\x00" - . "\x69\x00\x73\x00\x20\x00\x61\x00\x20\x00\x74\x00\x72\x00\x61\x00" - . "\x64\x00\x65\x00\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00" - . "\x66\x00\x20\x00\x4c\x00\x69\x00\x6e\x00\x6f\x00\x74\x00\x79\x00" - . "\x70\x00\x65\x00\x2d\x00\x48\x00\x65\x00\x6c\x00\x6c\x00\x20\x00" - . "\x41\x00\x47\x00\x20\x00\x61\x00\x6e\x00\x64\x00\x2f\x00\x6f\x00" - . "\x72\x00\x20\x00\x69\x00\x74\x00\x73\x00\x20\x00\x73\x00\x75\x00" - . "\x62\x00\x73\x00\x69\x00\x64\x00\x69\x00\x61\x00\x72\x00\x69\x00" - . "\x65\x00\x73\x00\x2e"; - $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] = - "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73"; - $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] = - "\x00\x52\x00\x6f\x00\x6d\x00\x61\x00\x6e"; - $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] = - "\x00\x34\x00\x33\x00\x30\x00\x36\x00\x38"; - $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] = - "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x2d\x00\x52\x00\x6f\x00" - . "\x6d\x00\x61\x00\x6e\x00\x20\x00\x52\x00\x6f\x00\x6d\x00\x61\x00" - . "\x6e"; - $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] = - "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30"; - $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] = - "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x2d\x00\x52\x00\x6f\x00" - . "\x6d\x00\x61\x00\x6e"; - - $this->_isBold = false; - $this->_isItalic = false; - $this->_isMonospaced = false; - - $this->_underlinePosition = -100; - $this->_underlineThickness = 50; - $this->_strikePosition = 225; - $this->_strikeThickness = 50; - - $this->_unitsPerEm = 1000; - - $this->_ascent = 683; - $this->_descent = -217; - $this->_lineGap = 300; - - /* The glyph numbers assigned here are synthetic; they do not match the - * actual glyph numbers used by the font. This is not a big deal though - * since this data never makes it to the PDF file. It is only used - * internally for layout calculations. - */ - $this->_glyphWidths = array( - 0x00 => 0x01f4, 0x01 => 0xfa, 0x02 => 0x014d, 0x03 => 0x0198, - 0x04 => 0x01f4, 0x05 => 0x01f4, 0x06 => 0x0341, 0x07 => 0x030a, - 0x08 => 0x014d, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x01f4, - 0x0c => 0x0234, 0x0d => 0xfa, 0x0e => 0x014d, 0x0f => 0xfa, - 0x10 => 0x0116, 0x11 => 0x01f4, 0x12 => 0x01f4, 0x13 => 0x01f4, - 0x14 => 0x01f4, 0x15 => 0x01f4, 0x16 => 0x01f4, 0x17 => 0x01f4, - 0x18 => 0x01f4, 0x19 => 0x01f4, 0x1a => 0x01f4, 0x1b => 0x0116, - 0x1c => 0x0116, 0x1d => 0x0234, 0x1e => 0x0234, 0x1f => 0x0234, - 0x20 => 0x01bc, 0x21 => 0x0399, 0x22 => 0x02d2, 0x23 => 0x029b, - 0x24 => 0x029b, 0x25 => 0x02d2, 0x26 => 0x0263, 0x27 => 0x022c, - 0x28 => 0x02d2, 0x29 => 0x02d2, 0x2a => 0x014d, 0x2b => 0x0185, - 0x2c => 0x02d2, 0x2d => 0x0263, 0x2e => 0x0379, 0x2f => 0x02d2, - 0x30 => 0x02d2, 0x31 => 0x022c, 0x32 => 0x02d2, 0x33 => 0x029b, - 0x34 => 0x022c, 0x35 => 0x0263, 0x36 => 0x02d2, 0x37 => 0x02d2, - 0x38 => 0x03b0, 0x39 => 0x02d2, 0x3a => 0x02d2, 0x3b => 0x0263, - 0x3c => 0x014d, 0x3d => 0x0116, 0x3e => 0x014d, 0x3f => 0x01d5, - 0x40 => 0x01f4, 0x41 => 0x014d, 0x42 => 0x01bc, 0x43 => 0x01f4, - 0x44 => 0x01bc, 0x45 => 0x01f4, 0x46 => 0x01bc, 0x47 => 0x014d, - 0x48 => 0x01f4, 0x49 => 0x01f4, 0x4a => 0x0116, 0x4b => 0x0116, - 0x4c => 0x01f4, 0x4d => 0x0116, 0x4e => 0x030a, 0x4f => 0x01f4, - 0x50 => 0x01f4, 0x51 => 0x01f4, 0x52 => 0x01f4, 0x53 => 0x014d, - 0x54 => 0x0185, 0x55 => 0x0116, 0x56 => 0x01f4, 0x57 => 0x01f4, - 0x58 => 0x02d2, 0x59 => 0x01f4, 0x5a => 0x01f4, 0x5b => 0x01bc, - 0x5c => 0x01e0, 0x5d => 0xc8, 0x5e => 0x01e0, 0x5f => 0x021d, - 0x60 => 0x014d, 0x61 => 0x01f4, 0x62 => 0x01f4, 0x63 => 0xa7, - 0x64 => 0x01f4, 0x65 => 0x01f4, 0x66 => 0x01f4, 0x67 => 0x01f4, - 0x68 => 0xb4, 0x69 => 0x01bc, 0x6a => 0x01f4, 0x6b => 0x014d, - 0x6c => 0x014d, 0x6d => 0x022c, 0x6e => 0x022c, 0x6f => 0x01f4, - 0x70 => 0x01f4, 0x71 => 0x01f4, 0x72 => 0xfa, 0x73 => 0x01c5, - 0x74 => 0x015e, 0x75 => 0x014d, 0x76 => 0x01bc, 0x77 => 0x01bc, - 0x78 => 0x01f4, 0x79 => 0x03e8, 0x7a => 0x03e8, 0x7b => 0x01bc, - 0x7c => 0x014d, 0x7d => 0x014d, 0x7e => 0x014d, 0x7f => 0x014d, - 0x80 => 0x014d, 0x81 => 0x014d, 0x82 => 0x014d, 0x83 => 0x014d, - 0x84 => 0x014d, 0x85 => 0x014d, 0x86 => 0x014d, 0x87 => 0x014d, - 0x88 => 0x014d, 0x89 => 0x03e8, 0x8a => 0x0379, 0x8b => 0x0114, - 0x8c => 0x0263, 0x8d => 0x02d2, 0x8e => 0x0379, 0x8f => 0x0136, - 0x90 => 0x029b, 0x91 => 0x0116, 0x92 => 0x0116, 0x93 => 0x01f4, - 0x94 => 0x02d2, 0x95 => 0x01f4, 0x96 => 0x014d, 0x97 => 0x01bc, - 0x98 => 0x01bc, 0x99 => 0x01f4, 0x9a => 0x01bc, 0x9b => 0x02d2, - 0x9c => 0x0234, 0x9d => 0x02d2, 0x9e => 0x02d2, 0x9f => 0x01bc, - 0xa0 => 0x02d2, 0xa1 => 0x01f4, 0xa2 => 0x0185, 0xa3 => 0x01bc, - 0xa4 => 0x02d2, 0xa5 => 0x02d2, 0xa6 => 0x01bc, 0xa7 => 0x02d2, - 0xa8 => 0x01f4, 0xa9 => 0x0263, 0xaa => 0x02d2, 0xab => 0xfa, - 0xac => 0x02f8, 0xad => 0x0263, 0xae => 0x01bc, 0xaf => 0x01bc, - 0xb0 => 0x02d2, 0xb1 => 0x0116, 0xb2 => 0x01bc, 0xb3 => 0x0263, - 0xb4 => 0x029b, 0xb5 => 0x01bc, 0xb6 => 0x0263, 0xb7 => 0x0185, - 0xb8 => 0x0185, 0xb9 => 0x0116, 0xba => 0x01d7, 0xbb => 0x029b, - 0xbc => 0x02d2, 0xbd => 0x01f4, 0xbe => 0x01bc, 0xbf => 0x02d2, - 0xc0 => 0x014d, 0xc1 => 0x01bc, 0xc2 => 0x0263, 0xc3 => 0x022c, - 0xc4 => 0x02d2, 0xc5 => 0x029b, 0xc6 => 0x022c, 0xc7 => 0x024c, - 0xc8 => 0x02d2, 0xc9 => 0x01f4, 0xca => 0x012c, 0xcb => 0x02d2, - 0xcc => 0x02d2, 0xcd => 0x02d2, 0xce => 0x0234, 0xcf => 0x01f4, - 0xd0 => 0x0263, 0xd1 => 0x01dc, 0xd2 => 0x01f4, 0xd3 => 0x02d2, - 0xd4 => 0x0116, 0xd5 => 0x0263, 0xd6 => 0x01bc, 0xd7 => 0x01bc, - 0xd8 => 0x01bc, 0xd9 => 0x01f4, 0xda => 0x01f4, 0xdb => 0x02d2, - 0xdc => 0x014d, 0xdd => 0x0234, 0xde => 0xc8, 0xdf => 0x02f8, - 0xe0 => 0x02d2, 0xe1 => 0x014d, 0xe2 => 0x0258, 0xe3 => 0x0263, - 0xe4 => 0x014d, 0xe5 => 0x01f4, 0xe6 => 0x0263, 0xe7 => 0x0263, - 0xe8 => 0x0225, 0xe9 => 0x02d2, 0xea => 0x029b, 0xeb => 0x0116, - 0xec => 0x0146, 0xed => 0x01bc, 0xee => 0x02d2, 0xef => 0x02d2, - 0xf0 => 0x02d2, 0xf1 => 0x01bc, 0xf2 => 0x01bc, 0xf3 => 0x0116, - 0xf4 => 0x02d2, 0xf5 => 0x01f4, 0xf6 => 0x01bc, 0xf7 => 0x0185, - 0xf8 => 0x0116, 0xf9 => 0x02d2, 0xfa => 0x02d2, 0xfb => 0x0264, - 0xfc => 0x01f4, 0xfd => 0x012c, 0xfe => 0x02d2, 0xff => 0x01f4, - 0x0100 => 0x0116, 0x0101 => 0x01f4, 0x0102 => 0x0263, 0x0103 => 0x01f4, - 0x0104 => 0x02ee, 0x0105 => 0x022c, 0x0106 => 0x0158, 0x0107 => 0x02d2, - 0x0108 => 0x0263, 0x0109 => 0x03d4, 0x010a => 0x01bc, 0x010b => 0x014d, - 0x010c => 0x014d, 0x010d => 0x0263, 0x010e => 0x02ee, 0x010f => 0x0225, - 0x0110 => 0x01f4, 0x0111 => 0x01f4, 0x0112 => 0x02d2, 0x0113 => 0x0263, - 0x0114 => 0x01bc, 0x0115 => 0x01f4, 0x0116 => 0x02ee, 0x0117 => 0x022c, - 0x0118 => 0x022c, 0x0119 => 0x02d2, 0x011a => 0x0190, 0x011b => 0x01f4, - 0x011c => 0x029b, 0x011d => 0x01f4, 0x011e => 0x01c5, 0x011f => 0x02d2, - 0x0120 => 0x014d, 0x0121 => 0x02d2, 0x0122 => 0x01f4, 0x0123 => 0x029b, - 0x0124 => 0x0263, 0x0125 => 0x02d2, 0x0126 => 0x02d2, 0x0127 => 0x02d2, - 0x0128 => 0x02d2, 0x0129 => 0x01bc, 0x012a => 0x0263, 0x012b => 0x014d, - 0x012c => 0x01f4, 0x012d => 0x0234, 0x012e => 0x014d, 0x012f => 0x01f4, - 0x0130 => 0x0116, 0x0131 => 0x0234, 0x0132 => 0x01f4, 0x0133 => 0x01f4, - 0x0134 => 0x0225, 0x0135 => 0x01f4, 0x0136 => 0x01f4, 0x0137 => 0x01bc, - 0x0138 => 0x01f4, 0x0139 => 0x012c, 0x013a => 0x0116, 0x013b => 0x01f4, - ); - - /* The cmap table is similarly synthesized. - */ - $cmapData = array( - 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04, - 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08, - 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c, - 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10, - 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14, - 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18, - 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c, - 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20, - 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24, - 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28, - 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c, - 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30, - 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34, - 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38, - 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c, - 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40, - 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44, - 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48, - 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c, - 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50, - 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54, - 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58, - 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c, - 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60, - 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64, - 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68, - 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c, - 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70, - 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74, - 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78, - 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c, - 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80, - 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84, - 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88, - 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c, - 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90, - 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94, - 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98, - 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c, - 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0, - 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4, - 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8, - 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac, - 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0, - 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4, - 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8, - 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc, - 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0, - 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4, - 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8, - 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc, - 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0, - 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4, - 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8, - 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc, - 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0, - 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4, - 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8, - 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec, - 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0, - 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4, - 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8, - 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc, - 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100, - 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104, - 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108, - 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c, - 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110, - 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114, - 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118, - 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c, - 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120, - 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124, - 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128, - 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c, - 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130, - 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134, - 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138, - 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b); - $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData( - Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData); - - - /* Resource dictionary */ - - /* The resource dictionary for the standard fonts is sparse because PDF - * viewers already have all of the metrics data. We only need to provide - * the font name and encoding method. - */ - $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Times-Roman'); - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/ZapfDingbats.php b/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/ZapfDingbats.php deleted file mode 100644 index 60b75badb6..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Simple/Standard/ZapfDingbats.php +++ /dev/null @@ -1,487 +0,0 @@ - "\x20", 0x2701 => "\x21", 0x2702 => "\x22", 0x2703 => "\x23", - 0x2704 => "\x24", 0x260e => "\x25", 0x2706 => "\x26", 0x2707 => "\x27", - 0x2708 => "\x28", 0x2709 => "\x29", 0x261b => "\x2a", 0x261e => "\x2b", - 0x270c => "\x2c", 0x270d => "\x2d", 0x270e => "\x2e", 0x270f => "\x2f", - 0x2710 => "\x30", 0x2711 => "\x31", 0x2712 => "\x32", 0x2713 => "\x33", - 0x2714 => "\x34", 0x2715 => "\x35", 0x2716 => "\x36", 0x2717 => "\x37", - 0x2718 => "\x38", 0x2719 => "\x39", 0x271a => "\x3a", 0x271b => "\x3b", - 0x271c => "\x3c", 0x271d => "\x3d", 0x271e => "\x3e", 0x271f => "\x3f", - 0x2720 => "\x40", 0x2721 => "\x41", 0x2722 => "\x42", 0x2723 => "\x43", - 0x2724 => "\x44", 0x2725 => "\x45", 0x2726 => "\x46", 0x2727 => "\x47", - 0x2605 => "\x48", 0x2729 => "\x49", 0x272a => "\x4a", 0x272b => "\x4b", - 0x272c => "\x4c", 0x272d => "\x4d", 0x272e => "\x4e", 0x272f => "\x4f", - 0x2730 => "\x50", 0x2731 => "\x51", 0x2732 => "\x52", 0x2733 => "\x53", - 0x2734 => "\x54", 0x2735 => "\x55", 0x2736 => "\x56", 0x2737 => "\x57", - 0x2738 => "\x58", 0x2739 => "\x59", 0x273a => "\x5a", 0x273b => "\x5b", - 0x273c => "\x5c", 0x273d => "\x5d", 0x273e => "\x5e", 0x273f => "\x5f", - 0x2740 => "\x60", 0x2741 => "\x61", 0x2742 => "\x62", 0x2743 => "\x63", - 0x2744 => "\x64", 0x2745 => "\x65", 0x2746 => "\x66", 0x2747 => "\x67", - 0x2748 => "\x68", 0x2749 => "\x69", 0x274a => "\x6a", 0x274b => "\x6b", - 0x25cf => "\x6c", 0x274d => "\x6d", 0x25a0 => "\x6e", 0x274f => "\x6f", - 0x2750 => "\x70", 0x2751 => "\x71", 0x2752 => "\x72", 0x25b2 => "\x73", - 0x25bc => "\x74", 0x25c6 => "\x75", 0x2756 => "\x76", 0x25d7 => "\x77", - 0x2758 => "\x78", 0x2759 => "\x79", 0x275a => "\x7a", 0x275b => "\x7b", - 0x275c => "\x7c", 0x275d => "\x7d", 0x275e => "\x7e", 0x2768 => "\x80", - 0x2769 => "\x81", 0x276a => "\x82", 0x276b => "\x83", 0x276c => "\x84", - 0x276d => "\x85", 0x276e => "\x86", 0x276f => "\x87", 0x2770 => "\x88", - 0x2771 => "\x89", 0x2772 => "\x8a", 0x2773 => "\x8b", 0x2774 => "\x8c", - 0x2775 => "\x8d", 0x2761 => "\xa1", 0x2762 => "\xa2", 0x2763 => "\xa3", - 0x2764 => "\xa4", 0x2765 => "\xa5", 0x2766 => "\xa6", 0x2767 => "\xa7", - 0x2663 => "\xa8", 0x2666 => "\xa9", 0x2665 => "\xaa", 0x2660 => "\xab", - 0x2460 => "\xac", 0x2461 => "\xad", 0x2462 => "\xae", 0x2463 => "\xaf", - 0x2464 => "\xb0", 0x2465 => "\xb1", 0x2466 => "\xb2", 0x2467 => "\xb3", - 0x2468 => "\xb4", 0x2469 => "\xb5", 0x2776 => "\xb6", 0x2777 => "\xb7", - 0x2778 => "\xb8", 0x2779 => "\xb9", 0x277a => "\xba", 0x277b => "\xbb", - 0x277c => "\xbc", 0x277d => "\xbd", 0x277e => "\xbe", 0x277f => "\xbf", - 0x2780 => "\xc0", 0x2781 => "\xc1", 0x2782 => "\xc2", 0x2783 => "\xc3", - 0x2784 => "\xc4", 0x2785 => "\xc5", 0x2786 => "\xc6", 0x2787 => "\xc7", - 0x2788 => "\xc8", 0x2789 => "\xc9", 0x278a => "\xca", 0x278b => "\xcb", - 0x278c => "\xcc", 0x278d => "\xcd", 0x278e => "\xce", 0x278f => "\xcf", - 0x2790 => "\xd0", 0x2791 => "\xd1", 0x2792 => "\xd2", 0x2793 => "\xd3", - 0x2794 => "\xd4", 0x2192 => "\xd5", 0x2194 => "\xd6", 0x2195 => "\xd7", - 0x2798 => "\xd8", 0x2799 => "\xd9", 0x279a => "\xda", 0x279b => "\xdb", - 0x279c => "\xdc", 0x279d => "\xdd", 0x279e => "\xde", 0x279f => "\xdf", - 0x27a0 => "\xe0", 0x27a1 => "\xe1", 0x27a2 => "\xe2", 0x27a3 => "\xe3", - 0x27a4 => "\xe4", 0x27a5 => "\xe5", 0x27a6 => "\xe6", 0x27a7 => "\xe7", - 0x27a8 => "\xe8", 0x27a9 => "\xe9", 0x27aa => "\xea", 0x27ab => "\xeb", - 0x27ac => "\xec", 0x27ad => "\xed", 0x27ae => "\xee", 0x27af => "\xef", - 0x27b1 => "\xf1", 0x27b2 => "\xf2", 0x27b3 => "\xf3", 0x27b4 => "\xf4", - 0x27b5 => "\xf5", 0x27b6 => "\xf6", 0x27b7 => "\xf7", 0x27b8 => "\xf8", - 0x27b9 => "\xf9", 0x27ba => "\xfa", 0x27bb => "\xfb", 0x27bc => "\xfc", - 0x27bd => "\xfd", 0x27be => "\xfe"); - - /** - * Array for conversion from special font encoding to local encoding. - * See {@link decodeString()}. - * @var array - */ - protected $_fromFontEncoding = array( - 0x20 => "\x00\x20", 0x21 => "\x27\x01", 0x22 => "\x27\x02", - 0x23 => "\x27\x03", 0x24 => "\x27\x04", 0x25 => "\x26\x0e", - 0x26 => "\x27\x06", 0x27 => "\x27\x07", 0x28 => "\x27\x08", - 0x29 => "\x27\x09", 0x2a => "\x26\x1b", 0x2b => "\x26\x1e", - 0x2c => "\x27\x0c", 0x2d => "\x27\x0d", 0x2e => "\x27\x0e", - 0x2f => "\x27\x0f", 0x30 => "\x27\x10", 0x31 => "\x27\x11", - 0x32 => "\x27\x12", 0x33 => "\x27\x13", 0x34 => "\x27\x14", - 0x35 => "\x27\x15", 0x36 => "\x27\x16", 0x37 => "\x27\x17", - 0x38 => "\x27\x18", 0x39 => "\x27\x19", 0x3a => "\x27\x1a", - 0x3b => "\x27\x1b", 0x3c => "\x27\x1c", 0x3d => "\x27\x1d", - 0x3e => "\x27\x1e", 0x3f => "\x27\x1f", 0x40 => "\x27\x20", - 0x41 => "\x27\x21", 0x42 => "\x27\x22", 0x43 => "\x27\x23", - 0x44 => "\x27\x24", 0x45 => "\x27\x25", 0x46 => "\x27\x26", - 0x47 => "\x27\x27", 0x48 => "\x26\x05", 0x49 => "\x27\x29", - 0x4a => "\x27\x2a", 0x4b => "\x27\x2b", 0x4c => "\x27\x2c", - 0x4d => "\x27\x2d", 0x4e => "\x27\x2e", 0x4f => "\x27\x2f", - 0x50 => "\x27\x30", 0x51 => "\x27\x31", 0x52 => "\x27\x32", - 0x53 => "\x27\x33", 0x54 => "\x27\x34", 0x55 => "\x27\x35", - 0x56 => "\x27\x36", 0x57 => "\x27\x37", 0x58 => "\x27\x38", - 0x59 => "\x27\x39", 0x5a => "\x27\x3a", 0x5b => "\x27\x3b", - 0x5c => "\x27\x3c", 0x5d => "\x27\x3d", 0x5e => "\x27\x3e", - 0x5f => "\x27\x3f", 0x60 => "\x27\x40", 0x61 => "\x27\x41", - 0x62 => "\x27\x42", 0x63 => "\x27\x43", 0x64 => "\x27\x44", - 0x65 => "\x27\x45", 0x66 => "\x27\x46", 0x67 => "\x27\x47", - 0x68 => "\x27\x48", 0x69 => "\x27\x49", 0x6a => "\x27\x4a", - 0x6b => "\x27\x4b", 0x6c => "\x25\xcf", 0x6d => "\x27\x4d", - 0x6e => "\x25\xa0", 0x6f => "\x27\x4f", 0x70 => "\x27\x50", - 0x71 => "\x27\x51", 0x72 => "\x27\x52", 0x73 => "\x25\xb2", - 0x74 => "\x25\xbc", 0x75 => "\x25\xc6", 0x76 => "\x27\x56", - 0x77 => "\x25\xd7", 0x78 => "\x27\x58", 0x79 => "\x27\x59", - 0x7a => "\x27\x5a", 0x7b => "\x27\x5b", 0x7c => "\x27\x5c", - 0x7d => "\x27\x5d", 0x7e => "\x27\x5e", 0x80 => "\x27\x68", - 0x81 => "\x27\x69", 0x82 => "\x27\x6a", 0x83 => "\x27\x6b", - 0x84 => "\x27\x6c", 0x85 => "\x27\x6d", 0x86 => "\x27\x6e", - 0x87 => "\x27\x6f", 0x88 => "\x27\x70", 0x89 => "\x27\x71", - 0x8a => "\x27\x72", 0x8b => "\x27\x73", 0x8c => "\x27\x74", - 0x8d => "\x27\x75", 0xa1 => "\x27\x61", 0xa2 => "\x27\x62", - 0xa3 => "\x27\x63", 0xa4 => "\x27\x64", 0xa5 => "\x27\x65", - 0xa6 => "\x27\x66", 0xa7 => "\x27\x67", 0xa8 => "\x26\x63", - 0xa9 => "\x26\x66", 0xaa => "\x26\x65", 0xab => "\x26\x60", - 0xac => "\x24\x60", 0xad => "\x24\x61", 0xae => "\x24\x62", - 0xaf => "\x24\x63", 0xb0 => "\x24\x64", 0xb1 => "\x24\x65", - 0xb2 => "\x24\x66", 0xb3 => "\x24\x67", 0xb4 => "\x24\x68", - 0xb5 => "\x24\x69", 0xb6 => "\x27\x76", 0xb7 => "\x27\x77", - 0xb8 => "\x27\x78", 0xb9 => "\x27\x79", 0xba => "\x27\x7a", - 0xbb => "\x27\x7b", 0xbc => "\x27\x7c", 0xbd => "\x27\x7d", - 0xbe => "\x27\x7e", 0xbf => "\x27\x7f", 0xc0 => "\x27\x80", - 0xc1 => "\x27\x81", 0xc2 => "\x27\x82", 0xc3 => "\x27\x83", - 0xc4 => "\x27\x84", 0xc5 => "\x27\x85", 0xc6 => "\x27\x86", - 0xc7 => "\x27\x87", 0xc8 => "\x27\x88", 0xc9 => "\x27\x89", - 0xca => "\x27\x8a", 0xcb => "\x27\x8b", 0xcc => "\x27\x8c", - 0xcd => "\x27\x8d", 0xce => "\x27\x8e", 0xcf => "\x27\x8f", - 0xd0 => "\x27\x90", 0xd1 => "\x27\x91", 0xd2 => "\x27\x92", - 0xd3 => "\x27\x93", 0xd4 => "\x27\x94", 0xd5 => "\x21\x92", - 0xd6 => "\x21\x94", 0xd7 => "\x21\x95", 0xd8 => "\x27\x98", - 0xd9 => "\x27\x99", 0xda => "\x27\x9a", 0xdb => "\x27\x9b", - 0xdc => "\x27\x9c", 0xdd => "\x27\x9d", 0xde => "\x27\x9e", - 0xdf => "\x27\x9f", 0xe0 => "\x27\xa0", 0xe1 => "\x27\xa1", - 0xe2 => "\x27\xa2", 0xe3 => "\x27\xa3", 0xe4 => "\x27\xa4", - 0xe5 => "\x27\xa5", 0xe6 => "\x27\xa6", 0xe7 => "\x27\xa7", - 0xe8 => "\x27\xa8", 0xe9 => "\x27\xa9", 0xea => "\x27\xaa", - 0xeb => "\x27\xab", 0xec => "\x27\xac", 0xed => "\x27\xad", - 0xee => "\x27\xae", 0xef => "\x27\xaf", 0xf1 => "\x27\xb1", - 0xf2 => "\x27\xb2", 0xf3 => "\x27\xb3", 0xf4 => "\x27\xb4", - 0xf5 => "\x27\xb5", 0xf6 => "\x27\xb6", 0xf7 => "\x27\xb7", - 0xf8 => "\x27\xb8", 0xf9 => "\x27\xb9", 0xfa => "\x27\xba", - 0xfb => "\x27\xbb", 0xfc => "\x27\xbc", 0xfd => "\x27\xbd", - 0xfe => "\x27\xbe"); - - - - /**** Public Interface ****/ - - - /* Object Lifecycle */ - - /** - * Object constructor - */ - public function __construct() - { - parent::__construct(); - - - /* Object properties */ - - /* The font names are stored internally as Unicode UTF-16BE-encoded - * strings. Since this information is static, save unnecessary trips - * through iconv() and just use pre-encoded hexidecimal strings. - */ - $this->_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] = - "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00" - . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00" - . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00" - . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x38\x00\x2c\x00\x20\x00" - . "\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00\x31\x00\x39\x00" - . "\x39\x00\x37\x00\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00" - . "\x20\x00\x53\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00" - . "\x20\x00\x49\x00\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00" - . "\x72\x00\x61\x00\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x41\x00" - . "\x6c\x00\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00\x74\x00" - . "\x73\x00\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00\x76\x00" - . "\x65\x00\x64\x00\x2e\x00\x49\x00\x54\x00\x43\x00\x20\x00\x5a\x00" - . "\x61\x00\x70\x00\x66\x00\x20\x00\x44\x00\x69\x00\x6e\x00\x67\x00" - . "\x62\x00\x61\x00\x74\x00\x73\x00\x20\x00\x69\x00\x73\x00\x20\x00" - . "\x61\x00\x20\x00\x72\x00\x65\x00\x67\x00\x69\x00\x73\x00\x74\x00" - . "\x65\x00\x72\x00\x65\x00\x64\x00\x20\x00\x74\x00\x72\x00\x61\x00" - . "\x64\x00\x65\x00\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00" - . "\x66\x00\x20\x00\x49\x00\x6e\x00\x74\x00\x65\x00\x72\x00\x6e\x00" - . "\x61\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x61\x00\x6c\x00\x20\x00" - . "\x54\x00\x79\x00\x70\x00\x65\x00\x66\x00\x61\x00\x63\x00\x65\x00" - . "\x20\x00\x43\x00\x6f\x00\x72\x00\x70\x00\x6f\x00\x72\x00\x61\x00" - . "\x74\x00\x69\x00\x6f\x00\x6e\x00\x2e"; - $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] = - "\x00\x5a\x00\x61\x00\x70\x00\x66\x00\x44\x00\x69\x00\x6e\x00\x67\x00" - . "\x62\x00\x61\x00\x74\x00\x73"; - $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] = - "\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d"; - $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] = - "\x00\x34\x00\x33\x00\x30\x00\x38\x00\x32"; - $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] = - "\x00\x5a\x00\x61\x00\x70\x00\x66\x00\x44\x00\x69\x00\x6e\x00\x67\x00" - . "\x62\x00\x61\x00\x74\x00\x73\x00\x20\x00\x4d\x00\x65\x00\x64\x00" - . "\x69\x00\x75\x00\x6d"; - $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] = - "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30"; - $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] = - "\x00\x5a\x00\x61\x00\x70\x00\x66\x00\x44\x00\x69\x00\x6e\x00\x67\x00" - . "\x62\x00\x61\x00\x74\x00\x73"; - - $this->_isBold = false; - $this->_isItalic = false; - $this->_isMonospaced = false; - - $this->_underlinePosition = -100; - $this->_underlineThickness = 50; - $this->_strikePosition = 225; - $this->_strikeThickness = 50; - - $this->_unitsPerEm = 1000; - - $this->_ascent = 1000; - $this->_descent = 0; - $this->_lineGap = 200; - - /* The glyph numbers assigned here are synthetic; they do not match the - * actual glyph numbers used by the font. This is not a big deal though - * since this data never makes it to the PDF file. It is only used - * internally for layout calculations. - */ - $this->_glyphWidths = array( - 0x00 => 0x01f4, 0x01 => 0x0116, 0x02 => 0x03ce, 0x03 => 0x03c1, - 0x04 => 0x03ce, 0x05 => 0x03d4, 0x06 => 0x02cf, 0x07 => 0x0315, - 0x08 => 0x0316, 0x09 => 0x0317, 0x0a => 0x02b2, 0x0b => 0x03c0, - 0x0c => 0x03ab, 0x0d => 0x0225, 0x0e => 0x0357, 0x0f => 0x038f, - 0x10 => 0x03a5, 0x11 => 0x038f, 0x12 => 0x03b1, 0x13 => 0x03ce, - 0x14 => 0x02f3, 0x15 => 0x034e, 0x16 => 0x02fa, 0x17 => 0x02f9, - 0x18 => 0x023b, 0x19 => 0x02a5, 0x1a => 0x02fb, 0x1b => 0x02f8, - 0x1c => 0x02f7, 0x1d => 0x02f2, 0x1e => 0x01ee, 0x1f => 0x0228, - 0x20 => 0x0219, 0x21 => 0x0241, 0x22 => 0x02b4, 0x23 => 0x0312, - 0x24 => 0x0314, 0x25 => 0x0314, 0x26 => 0x0316, 0x27 => 0x0319, - 0x28 => 0x031a, 0x29 => 0x0330, 0x2a => 0x0337, 0x2b => 0x0315, - 0x2c => 0x0349, 0x2d => 0x0337, 0x2e => 0x0341, 0x2f => 0x0330, - 0x30 => 0x033f, 0x31 => 0x039b, 0x32 => 0x02e8, 0x33 => 0x02d3, - 0x34 => 0x02ed, 0x35 => 0x0316, 0x36 => 0x0318, 0x37 => 0x02b7, - 0x38 => 0x0308, 0x39 => 0x0300, 0x3a => 0x0318, 0x3b => 0x02f7, - 0x3c => 0x02c3, 0x3d => 0x02c4, 0x3e => 0x02aa, 0x3f => 0x02bd, - 0x40 => 0x033a, 0x41 => 0x032f, 0x42 => 0x0315, 0x43 => 0x0315, - 0x44 => 0x02c3, 0x45 => 0x02af, 0x46 => 0x02b8, 0x47 => 0x02b1, - 0x48 => 0x0312, 0x49 => 0x0313, 0x4a => 0x02c9, 0x4b => 0x0317, - 0x4c => 0x0311, 0x4d => 0x0317, 0x4e => 0x0369, 0x4f => 0x02f9, - 0x50 => 0x02fa, 0x51 => 0x02fa, 0x52 => 0x02f7, 0x53 => 0x02f7, - 0x54 => 0x037c, 0x55 => 0x037c, 0x56 => 0x0314, 0x57 => 0x0310, - 0x58 => 0x01b6, 0x59 => 0x8a, 0x5a => 0x0115, 0x5b => 0x019f, - 0x5c => 0x0188, 0x5d => 0x0188, 0x5e => 0x029c, 0x5f => 0x029c, - 0x60 => 0x0186, 0x61 => 0x0186, 0x62 => 0x013d, 0x63 => 0x013d, - 0x64 => 0x0114, 0x65 => 0x0114, 0x66 => 0x01fd, 0x67 => 0x01fd, - 0x68 => 0x019a, 0x69 => 0x019a, 0x6a => 0xea, 0x6b => 0xea, - 0x6c => 0x014e, 0x6d => 0x014e, 0x6e => 0x02dc, 0x6f => 0x0220, - 0x70 => 0x0220, 0x71 => 0x038e, 0x72 => 0x029b, 0x73 => 0x02f8, - 0x74 => 0x02f8, 0x75 => 0x0308, 0x76 => 0x0253, 0x77 => 0x02b6, - 0x78 => 0x0272, 0x79 => 0x0314, 0x7a => 0x0314, 0x7b => 0x0314, - 0x7c => 0x0314, 0x7d => 0x0314, 0x7e => 0x0314, 0x7f => 0x0314, - 0x80 => 0x0314, 0x81 => 0x0314, 0x82 => 0x0314, 0x83 => 0x0314, - 0x84 => 0x0314, 0x85 => 0x0314, 0x86 => 0x0314, 0x87 => 0x0314, - 0x88 => 0x0314, 0x89 => 0x0314, 0x8a => 0x0314, 0x8b => 0x0314, - 0x8c => 0x0314, 0x8d => 0x0314, 0x8e => 0x0314, 0x8f => 0x0314, - 0x90 => 0x0314, 0x91 => 0x0314, 0x92 => 0x0314, 0x93 => 0x0314, - 0x94 => 0x0314, 0x95 => 0x0314, 0x96 => 0x0314, 0x97 => 0x0314, - 0x98 => 0x0314, 0x99 => 0x0314, 0x9a => 0x0314, 0x9b => 0x0314, - 0x9c => 0x0314, 0x9d => 0x0314, 0x9e => 0x0314, 0x9f => 0x0314, - 0xa0 => 0x0314, 0xa1 => 0x037e, 0xa2 => 0x0346, 0xa3 => 0x03f8, - 0xa4 => 0x01ca, 0xa5 => 0x02ec, 0xa6 => 0x039c, 0xa7 => 0x02ec, - 0xa8 => 0x0396, 0xa9 => 0x039f, 0xaa => 0x03a0, 0xab => 0x03a0, - 0xac => 0x0342, 0xad => 0x0369, 0xae => 0x033c, 0xaf => 0x039c, - 0xb0 => 0x039c, 0xb1 => 0x0395, 0xb2 => 0x03a2, 0xb3 => 0x03a3, - 0xb4 => 0x01cf, 0xb5 => 0x0373, 0xb6 => 0x0344, 0xb7 => 0x0344, - 0xb8 => 0x0363, 0xb9 => 0x0363, 0xba => 0x02b8, 0xbb => 0x02b8, - 0xbc => 0x036a, 0xbd => 0x036a, 0xbe => 0x02f8, 0xbf => 0x03b2, - 0xc0 => 0x0303, 0xc1 => 0x0361, 0xc2 => 0x0303, 0xc3 => 0x0378, - 0xc4 => 0x03c7, 0xc5 => 0x0378, 0xc6 => 0x033f, 0xc7 => 0x0369, - 0xc8 => 0x039f, 0xc9 => 0x03ca, 0xca => 0x0396); - - /* The cmap table is similarly synthesized. - */ - $cmapData = array( - 0x20 => 0x01, 0x2701 => 0x02, 0x2702 => 0x03, 0x2703 => 0x04, - 0x2704 => 0x05, 0x260e => 0x06, 0x2706 => 0x07, 0x2707 => 0x08, - 0x2708 => 0x09, 0x2709 => 0x0a, 0x261b => 0x0b, 0x261e => 0x0c, - 0x270c => 0x0d, 0x270d => 0x0e, 0x270e => 0x0f, 0x270f => 0x10, - 0x2710 => 0x11, 0x2711 => 0x12, 0x2712 => 0x13, 0x2713 => 0x14, - 0x2714 => 0x15, 0x2715 => 0x16, 0x2716 => 0x17, 0x2717 => 0x18, - 0x2718 => 0x19, 0x2719 => 0x1a, 0x271a => 0x1b, 0x271b => 0x1c, - 0x271c => 0x1d, 0x271d => 0x1e, 0x271e => 0x1f, 0x271f => 0x20, - 0x2720 => 0x21, 0x2721 => 0x22, 0x2722 => 0x23, 0x2723 => 0x24, - 0x2724 => 0x25, 0x2725 => 0x26, 0x2726 => 0x27, 0x2727 => 0x28, - 0x2605 => 0x29, 0x2729 => 0x2a, 0x272a => 0x2b, 0x272b => 0x2c, - 0x272c => 0x2d, 0x272d => 0x2e, 0x272e => 0x2f, 0x272f => 0x30, - 0x2730 => 0x31, 0x2731 => 0x32, 0x2732 => 0x33, 0x2733 => 0x34, - 0x2734 => 0x35, 0x2735 => 0x36, 0x2736 => 0x37, 0x2737 => 0x38, - 0x2738 => 0x39, 0x2739 => 0x3a, 0x273a => 0x3b, 0x273b => 0x3c, - 0x273c => 0x3d, 0x273d => 0x3e, 0x273e => 0x3f, 0x273f => 0x40, - 0x2740 => 0x41, 0x2741 => 0x42, 0x2742 => 0x43, 0x2743 => 0x44, - 0x2744 => 0x45, 0x2745 => 0x46, 0x2746 => 0x47, 0x2747 => 0x48, - 0x2748 => 0x49, 0x2749 => 0x4a, 0x274a => 0x4b, 0x274b => 0x4c, - 0x25cf => 0x4d, 0x274d => 0x4e, 0x25a0 => 0x4f, 0x274f => 0x50, - 0x2750 => 0x51, 0x2751 => 0x52, 0x2752 => 0x53, 0x25b2 => 0x54, - 0x25bc => 0x55, 0x25c6 => 0x56, 0x2756 => 0x57, 0x25d7 => 0x58, - 0x2758 => 0x59, 0x2759 => 0x5a, 0x275a => 0x5b, 0x275b => 0x5c, - 0x275c => 0x5d, 0x275d => 0x5e, 0x275e => 0x5f, 0x2768 => 0x60, - 0x2769 => 0x61, 0x276a => 0x62, 0x276b => 0x63, 0x276c => 0x64, - 0x276d => 0x65, 0x276e => 0x66, 0x276f => 0x67, 0x2770 => 0x68, - 0x2771 => 0x69, 0x2772 => 0x6a, 0x2773 => 0x6b, 0x2774 => 0x6c, - 0x2775 => 0x6d, 0x2761 => 0x6e, 0x2762 => 0x6f, 0x2763 => 0x70, - 0x2764 => 0x71, 0x2765 => 0x72, 0x2766 => 0x73, 0x2767 => 0x74, - 0x2663 => 0x75, 0x2666 => 0x76, 0x2665 => 0x77, 0x2660 => 0x78, - 0x2460 => 0x79, 0x2461 => 0x7a, 0x2462 => 0x7b, 0x2463 => 0x7c, - 0x2464 => 0x7d, 0x2465 => 0x7e, 0x2466 => 0x7f, 0x2467 => 0x80, - 0x2468 => 0x81, 0x2469 => 0x82, 0x2776 => 0x83, 0x2777 => 0x84, - 0x2778 => 0x85, 0x2779 => 0x86, 0x277a => 0x87, 0x277b => 0x88, - 0x277c => 0x89, 0x277d => 0x8a, 0x277e => 0x8b, 0x277f => 0x8c, - 0x2780 => 0x8d, 0x2781 => 0x8e, 0x2782 => 0x8f, 0x2783 => 0x90, - 0x2784 => 0x91, 0x2785 => 0x92, 0x2786 => 0x93, 0x2787 => 0x94, - 0x2788 => 0x95, 0x2789 => 0x96, 0x278a => 0x97, 0x278b => 0x98, - 0x278c => 0x99, 0x278d => 0x9a, 0x278e => 0x9b, 0x278f => 0x9c, - 0x2790 => 0x9d, 0x2791 => 0x9e, 0x2792 => 0x9f, 0x2793 => 0xa0, - 0x2794 => 0xa1, 0x2192 => 0xa2, 0x2194 => 0xa3, 0x2195 => 0xa4, - 0x2798 => 0xa5, 0x2799 => 0xa6, 0x279a => 0xa7, 0x279b => 0xa8, - 0x279c => 0xa9, 0x279d => 0xaa, 0x279e => 0xab, 0x279f => 0xac, - 0x27a0 => 0xad, 0x27a1 => 0xae, 0x27a2 => 0xaf, 0x27a3 => 0xb0, - 0x27a4 => 0xb1, 0x27a5 => 0xb2, 0x27a6 => 0xb3, 0x27a7 => 0xb4, - 0x27a8 => 0xb5, 0x27a9 => 0xb6, 0x27aa => 0xb7, 0x27ab => 0xb8, - 0x27ac => 0xb9, 0x27ad => 0xba, 0x27ae => 0xbb, 0x27af => 0xbc, - 0x27b1 => 0xbd, 0x27b2 => 0xbe, 0x27b3 => 0xbf, 0x27b4 => 0xc0, - 0x27b5 => 0xc1, 0x27b6 => 0xc2, 0x27b7 => 0xc3, 0x27b8 => 0xc4, - 0x27b9 => 0xc5, 0x27ba => 0xc6, 0x27bb => 0xc7, 0x27bc => 0xc8, - 0x27bd => 0xc9, 0x27be => 0xca); - $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData( - Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData); - - - /* Resource dictionary */ - - /* The resource dictionary for the standard fonts is sparse because PDF - * viewers already have all of the metrics data. We only need to provide - * the font name and encoding method. - */ - $this->_resource->BaseFont = new Zend_Pdf_Element_Name('ZapfDingbats'); - - /* This font has a built-in custom character encoding method. Don't - * override with WinAnsi like the other built-in fonts or else it will - * not work as expected. - */ - $this->_resource->Encoding = null; - } - - - /* Information and Conversion Methods */ - - /** - * Convert string encoding from local encoding to font encoding. Overridden - * to defeat the conversion behavior for this ornamental font. - * - * @param string $string - * @param string $charEncoding Character encoding of source text. - * @return string - */ - public function encodeString($string, $charEncoding) - { - /* This isn't the optimal time to perform this conversion, but it must - * live here until the remainder of the layout code is completed. This, - * and the $charEncoding parameter, will go away soon... - */ - if ($charEncoding != 'UTF-16BE') { - $string = iconv($charEncoding, 'UTF-16BE', $string); - } - /** - * @todo Properly handle characters encoded as surrogate pairs. - */ - $encodedString = ''; - for ($i = 0; $i < strlen($string); $i++) { - $characterCode = (ord($string[$i++]) << 8) | ord($string[$i]); - if (isset($this->_toFontEncoding[$characterCode])) { - $encodedString .= $this->_toFontEncoding[$characterCode]; - } else { - /* For now, mimic the behavior in Zend_Pdf_Font::encodeString() - * where unknown characters are removed completely. This is not - * perfect, but we should be consistent. In a future revision, - * we will use the well-known substitution character 0x1a - * (Control-Z). - */ - } - } - return $encodedString; - } - - /** - * Convert string encoding from font encoding to local encoding. Overridden - * to defeat the conversion behavior for this ornamental font. - * - * @param string $string - * @param string $charEncoding Character encoding of resulting text. - * @return string - */ - public function decodeString($string, $charEncoding) - { - $decodedString = ''; - for ($i = 0; $i < strlen($string); $i++) { - $characterCode = ord($string[$i]); - if (isset($this->_fromFontEncoding[$characterCode])) { - $decodedString .= $this->_fromFontEncoding[$characterCode]; - } else { - /* For now, mimic the behavior in Zend_Pdf_Font::encodeString() - * where unknown characters are removed completely. This is not - * perfect, but we should be consistent. In a future revision, - * we will use the Unicode substitution character (U+FFFD). - */ - } - } - if ($charEncoding != 'UTF-16BE') { - $decodedString = iconv('UTF-16BE', $charEncoding, $decodedString); - } - return $decodedString; - } - - /** - * Converts a Latin-encoded string that fakes the font's internal encoding - * to the proper Unicode characters, in UTF-16BE encoding. - * - * Used to maintain backwards compatibility with the 20 year-old legacy - * method of using this font, which is still employed by recent versions of - * some popular word processors. - * - * Note that using this method adds overhead due to the additional - * character conversion. Don't use this for new code; it is more efficient - * to use the appropriate Unicode characters directly. - * - * @param string $string - * @param string $charEncoding (optional) Character encoding of source - * string. Defaults to current locale. - * @return string - */ - public function toUnicode($string, $charEncoding = '') - { - /* When using these faked strings, the closest match to the font's - * internal encoding is ISO-8859-1. - */ - if ($charEncoding != 'ISO-8859-1') { - $string = iconv($charEncoding, 'ISO-8859-1', $string); - } - return $this->decodeString($string, 'UTF-16BE'); - } - -} diff --git a/lib/zend/Zend/Pdf/Resource/Font/Type0.php b/lib/zend/Zend/Pdf/Resource/Font/Type0.php deleted file mode 100644 index 815e43640f..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Font/Type0.php +++ /dev/null @@ -1,258 +0,0 @@ -> def' . "\n" - . '/CMapName /Adobe-Identity-UCS def ' . "\n" - . '/CMapType 2 def ' . "\n" - . '1 begincodespacerange' . "\n" - . '<0000> ' . "\n" - . 'endcodespacerange ' . "\n" - . '1 beginbfrange ' . "\n" - . '<0000> <0000> ' . "\n" - . 'endbfrange ' . "\n" - . 'endcmap ' . "\n" - . 'CMapName currentdict /CMap defineresource pop ' . "\n" - . 'end ' - . 'end '; - } - - /** - * Object constructor - * - */ - public function __construct(Zend_Pdf_Resource_Font_CidFont $descendantFont) - { - parent::__construct(); - - $this->_objectFactory->attach($descendantFont->getFactory()); - - $this->_fontType = Zend_Pdf_Font::TYPE_TYPE_0; - $this->_descendantFont = $descendantFont; - - - $this->_fontNames = $descendantFont->getFontNames(); - - $this->_isBold = $descendantFont->isBold(); - $this->_isItalic = $descendantFont->isItalic(); - $this->_isMonospaced = $descendantFont->isMonospace(); - - $this->_underlinePosition = $descendantFont->getUnderlinePosition(); - $this->_underlineThickness = $descendantFont->getUnderlineThickness(); - $this->_strikePosition = $descendantFont->getStrikePosition(); - $this->_strikeThickness = $descendantFont->getStrikeThickness(); - - $this->_unitsPerEm = $descendantFont->getUnitsPerEm(); - - $this->_ascent = $descendantFont->getAscent(); - $this->_descent = $descendantFont->getDescent(); - $this->_lineGap = $descendantFont->getLineGap(); - - - $this->_resource->Subtype = new Zend_Pdf_Element_Name('Type0'); - $this->_resource->BaseFont = new Zend_Pdf_Element_Name($descendantFont->getResource()->BaseFont->value); - $this->_resource->DescendantFonts = new Zend_Pdf_Element_Array(array( $descendantFont->getResource() )); - $this->_resource->Encoding = new Zend_Pdf_Element_Name('Identity-H'); - - $toUnicode = $this->_objectFactory->newStreamObject(self::getToUnicodeCMapData()); - $this->_resource->ToUnicode = $toUnicode; - - } - - /** - * Returns an array of glyph numbers corresponding to the Unicode characters. - * - * Zend_Pdf uses 'Identity-H' encoding for Type 0 fonts. - * So we don't need to perform any conversion - * - * See also {@link glyphNumberForCharacter()}. - * - * @param array $characterCodes Array of Unicode character codes (code points). - * @return array Array of glyph numbers. - */ - public function glyphNumbersForCharacters($characterCodes) - { - return $characterCodes; - } - - /** - * Returns the glyph number corresponding to the Unicode character. - * - * Zend_Pdf uses 'Identity-H' encoding for Type 0 fonts. - * So we don't need to perform any conversion - * - * @param integer $characterCode Unicode character code (code point). - * @return integer Glyph number. - */ - public function glyphNumberForCharacter($characterCode) - { - return $characterCode; - } - - /** - * Returns a number between 0 and 1 inclusive that indicates the percentage - * of characters in the string which are covered by glyphs in this font. - * - * Since no one font will contain glyphs for the entire Unicode character - * range, this method can be used to help locate a suitable font when the - * actual contents of the string are not known. - * - * Note that some fonts lie about the characters they support. Additionally, - * fonts don't usually contain glyphs for control characters such as tabs - * and line breaks, so it is rare that you will get back a full 1.0 score. - * The resulting value should be considered informational only. - * - * @param string $string - * @param string $charEncoding (optional) Character encoding of source text. - * If omitted, uses 'current locale'. - * @return float - */ - public function getCoveredPercentage($string, $charEncoding = '') - { - return $this->_descendantFont->getCoveredPercentage($string, $charEncoding); - } - - /** - * Returns the widths of the glyphs. - * - * The widths are expressed in the font's glyph space. You are responsible - * for converting to user space as necessary. See {@link unitsPerEm()}. - * - * Throws an exception if the glyph number is out of range. - * - * See also {@link widthForGlyph()}. - * - * @param array &$glyphNumbers Array of glyph numbers. - * @return array Array of glyph widths (integers). - * @throws Zend_Pdf_Exception - */ - public function widthsForGlyphs($glyphNumbers) - { - return $this->_descendantFont->widthsForChars($glyphNumbers); - } - - /** - * Returns the width of the glyph. - * - * Like {@link widthsForGlyphs()} but used for one glyph at a time. - * - * @param integer $glyphNumber - * @return integer - * @throws Zend_Pdf_Exception - */ - public function widthForGlyph($glyphNumber) - { - return $this->_descendantFont->widthForChar($glyphNumber); - } - - /** - * Convert string to the font encoding. - * - * The method is used to prepare string for text drawing operators - * - * @param string $string - * @param string $charEncoding Character encoding of source text. - * @return string - */ - public function encodeString($string, $charEncoding) - { - return iconv($charEncoding, 'UTF-16BE', $string); - } - - /** - * Convert string from the font encoding. - * - * The method is used to convert strings retrieved from existing content streams - * - * @param string $string - * @param string $charEncoding Character encoding of resulting text. - * @return string - */ - public function decodeString($string, $charEncoding) - { - return iconv('UTF-16BE', $charEncoding, $string); - } -} diff --git a/lib/zend/Zend/Pdf/Resource/Image.php b/lib/zend/Zend/Pdf/Resource/Image.php deleted file mode 100644 index 315b28c651..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Image.php +++ /dev/null @@ -1,80 +0,0 @@ -_resource->dictionary->Type = new Zend_Pdf_Element_Name('XObject'); - $this->_resource->dictionary->Subtype = new Zend_Pdf_Element_Name('Image'); - } - /** - * get the height in pixels of the image - * - * @return integer - */ - abstract public function getPixelHeight(); - - /** - * get the width in pixels of the image - * - * @return integer - */ - abstract public function getPixelWidth(); - - /** - * gets an associative array of information about an image - * - * @return array - */ - abstract public function getProperties(); -} - diff --git a/lib/zend/Zend/Pdf/Resource/Image/Jpeg.php b/lib/zend/Zend/Pdf/Resource/Image/Jpeg.php deleted file mode 100644 index 232858d6ab..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Image/Jpeg.php +++ /dev/null @@ -1,142 +0,0 @@ -_resource->dictionary; - $imageDictionary->Width = new Zend_Pdf_Element_Numeric($imageInfo[0]); - $imageDictionary->Height = new Zend_Pdf_Element_Numeric($imageInfo[1]); - $imageDictionary->ColorSpace = new Zend_Pdf_Element_Name($colorSpace); - $imageDictionary->BitsPerComponent = new Zend_Pdf_Element_Numeric($imageInfo['bits']); - if ($imageInfo[2] == IMAGETYPE_JPEG) { - $imageDictionary->Filter = new Zend_Pdf_Element_Name('DCTDecode'); - } else if ($imageInfo[2] == IMAGETYPE_JPEG2000){ - $imageDictionary->Filter = new Zend_Pdf_Element_Name('JPXDecode'); - } - - if (($imageFile = @fopen($imageFileName, 'rb')) === false ) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception( "Can not open '$imageFileName' file for reading." ); - } - $byteCount = filesize($imageFileName); - $this->_resource->value = ''; - while ( $byteCount > 0 && ($nextBlock = fread($imageFile, $byteCount)) != false ) { - $this->_resource->value .= $nextBlock; - $byteCount -= strlen($nextBlock); - } - fclose($imageFile); - $this->_resource->skipFilters(); - - $this->_width = $imageInfo[0]; - $this->_height = $imageInfo[1]; - $this->_imageProperties = array(); - $this->_imageProperties['bitDepth'] = $imageInfo['bits']; - $this->_imageProperties['jpegImageType'] = $imageInfo[2]; - $this->_imageProperties['jpegColorType'] = $imageInfo['channels']; - } - - /** - * Image width - */ - public function getPixelWidth() { - return $this->_width; - } - - /** - * Image height - */ - public function getPixelHeight() { - return $this->_height; - } - - /** - * Image properties - */ - public function getProperties() { - return $this->_imageProperties; - } -} - diff --git a/lib/zend/Zend/Pdf/Resource/Image/Png.php b/lib/zend/Zend/Pdf/Resource/Image/Png.php deleted file mode 100644 index 926b6394b3..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Image/Png.php +++ /dev/null @@ -1,365 +0,0 @@ -_width = $width; - $this->_height = $height; - $this->_imageProperties = array(); - $this->_imageProperties['bitDepth'] = $bits; - $this->_imageProperties['pngColorType'] = $color; - $this->_imageProperties['pngFilterType'] = $prefilter; - $this->_imageProperties['pngCompressionType'] = $compression; - $this->_imageProperties['pngInterlacingType'] = $interlacing; - - fseek($imageFile, 4, SEEK_CUR); //4 Byte Ending Sequence - $imageData = ''; - - /* - * The following loop processes PNG chunks. 4 Byte Longs are packed first give the chunk length - * followed by the chunk signature, a four byte code. IDAT and IEND are manditory in any PNG. - */ - while(($chunkLengthBytes = fread($imageFile, 4)) !== false) { - $chunkLengthtmp = unpack('Ni', $chunkLengthBytes); - $chunkLength = $chunkLengthtmp['i']; - $chunkType = fread($imageFile, 4); - switch($chunkType) { - case 'IDAT': //Image Data - /* - * Reads the actual image data from the PNG file. Since we know at this point that the compression - * strategy is the default strategy, we also know that this data is Zip compressed. We will either copy - * the data directly to the PDF and provide the correct FlateDecode predictor, or decompress the data - * decode the filters and output the data as a raw pixel map. - */ - $imageData .= fread($imageFile, $chunkLength); - fseek($imageFile, 4, SEEK_CUR); - break; - - case 'PLTE': //Palette - $paletteData = fread($imageFile, $chunkLength); - fseek($imageFile, 4, SEEK_CUR); - break; - - case 'tRNS': //Basic (non-alpha channel) transparency. - $trnsData = fread($imageFile, $chunkLength); - switch ($color) { - case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_GRAY: - $baseColor = ord(substr($trnsData, 1, 1)); - $transparencyData = array(new Zend_Pdf_Element_Numeric($baseColor), new Zend_Pdf_Element_Numeric($baseColor)); - break; - - case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_RGB: - $red = ord(substr($trnsData,1,1)); - $green = ord(substr($trnsData,3,1)); - $blue = ord(substr($trnsData,5,1)); - $transparencyData = array(new Zend_Pdf_Element_Numeric($red), new Zend_Pdf_Element_Numeric($red), new Zend_Pdf_Element_Numeric($green), new Zend_Pdf_Element_Numeric($green), new Zend_Pdf_Element_Numeric($blue), new Zend_Pdf_Element_Numeric($blue)); - break; - - case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_INDEXED: - //Find the first transparent color in the index, we will mask that. (This is a bit of a hack. This should be a SMask and mask all entries values). - if(($trnsIdx = strpos($trnsData, chr(0))) !== false) { - $transparencyData = array(new Zend_Pdf_Element_Numeric($trnsIdx), new Zend_Pdf_Element_Numeric($trnsIdx)); - } - break; - - case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_GRAY_ALPHA: - // Fall through to the next case - - case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_RGB_ALPHA: - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception( "tRNS chunk illegal for Alpha Channel Images" ); - break; - } - fseek($imageFile, 4, SEEK_CUR); //4 Byte Ending Sequence - break; - - case 'IEND'; - break 2; //End the loop too - - default: - fseek($imageFile, $chunkLength + 4, SEEK_CUR); //Skip the section - break; - } - } - fclose($imageFile); - - $compressed = true; - $imageDataTmp = ''; - $smaskData = ''; - switch ($color) { - case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_RGB: - $colorSpace = new Zend_Pdf_Element_Name('DeviceRGB'); - break; - - case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_GRAY: - $colorSpace = new Zend_Pdf_Element_Name('DeviceGray'); - break; - - case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_INDEXED: - if(empty($paletteData)) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception( "PNG Corruption: No palette data read for indexed type PNG." ); - } - $colorSpace = new Zend_Pdf_Element_Array(); - $colorSpace->items[] = new Zend_Pdf_Element_Name('Indexed'); - $colorSpace->items[] = new Zend_Pdf_Element_Name('DeviceRGB'); - $colorSpace->items[] = new Zend_Pdf_Element_Numeric((strlen($paletteData)/3-1)); - $paletteObject = $this->_objectFactory->newObject(new Zend_Pdf_Element_String_Binary($paletteData)); - $colorSpace->items[] = $paletteObject; - break; - - case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_GRAY_ALPHA: - /* - * To decode PNG's with alpha data we must create two images from one. One image will contain the Gray data - * the other will contain the Gray transparency overlay data. The former will become the object data and the latter - * will become the Shadow Mask (SMask). - */ - if($bits > 8) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("Alpha PNGs with bit depth > 8 are not yet supported"); - } - - $colorSpace = new Zend_Pdf_Element_Name('DeviceGray'); - - $decodingObjFactory = Zend_Pdf_ElementFactory::createFactory(1); - $decodingStream = $decodingObjFactory->newStreamObject($imageData); - $decodingStream->dictionary->Filter = new Zend_Pdf_Element_Name('FlateDecode'); - $decodingStream->dictionary->DecodeParms = new Zend_Pdf_Element_Dictionary(); - $decodingStream->dictionary->DecodeParms->Predictor = new Zend_Pdf_Element_Numeric(15); - $decodingStream->dictionary->DecodeParms->Columns = new Zend_Pdf_Element_Numeric($width); - $decodingStream->dictionary->DecodeParms->Colors = new Zend_Pdf_Element_Numeric(2); //GreyAlpha - $decodingStream->dictionary->DecodeParms->BitsPerComponent = new Zend_Pdf_Element_Numeric($bits); - $decodingStream->skipFilters(); - - $pngDataRawDecoded = $decodingStream->value; - - //Iterate every pixel and copy out gray data and alpha channel (this will be slow) - for($pixel = 0, $pixelcount = ($width * $height); $pixel < $pixelcount; $pixel++) { - $imageDataTmp .= $pngDataRawDecoded[($pixel*2)]; - $smaskData .= $pngDataRawDecoded[($pixel*2)+1]; - } - $compressed = false; - $imageData = $imageDataTmp; //Overwrite image data with the gray channel without alpha - break; - - case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_RGB_ALPHA: - /* - * To decode PNG's with alpha data we must create two images from one. One image will contain the RGB data - * the other will contain the Gray transparency overlay data. The former will become the object data and the latter - * will become the Shadow Mask (SMask). - */ - if($bits > 8) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("Alpha PNGs with bit depth > 8 are not yet supported"); - } - - $colorSpace = new Zend_Pdf_Element_Name('DeviceRGB'); - - $decodingObjFactory = Zend_Pdf_ElementFactory::createFactory(1); - $decodingStream = $decodingObjFactory->newStreamObject($imageData); - $decodingStream->dictionary->Filter = new Zend_Pdf_Element_Name('FlateDecode'); - $decodingStream->dictionary->DecodeParms = new Zend_Pdf_Element_Dictionary(); - $decodingStream->dictionary->DecodeParms->Predictor = new Zend_Pdf_Element_Numeric(15); - $decodingStream->dictionary->DecodeParms->Columns = new Zend_Pdf_Element_Numeric($width); - $decodingStream->dictionary->DecodeParms->Colors = new Zend_Pdf_Element_Numeric(4); //RGBA - $decodingStream->dictionary->DecodeParms->BitsPerComponent = new Zend_Pdf_Element_Numeric($bits); - $decodingStream->skipFilters(); - - $pngDataRawDecoded = $decodingStream->value; - - //Iterate every pixel and copy out rgb data and alpha channel (this will be slow) - for($pixel = 0, $pixelcount = ($width * $height); $pixel < $pixelcount; $pixel++) { - $imageDataTmp .= $pngDataRawDecoded[($pixel*4)+0] . $pngDataRawDecoded[($pixel*4)+1] . $pngDataRawDecoded[($pixel*4)+2]; - $smaskData .= $pngDataRawDecoded[($pixel*4)+3]; - } - - $compressed = false; - $imageData = $imageDataTmp; //Overwrite image data with the RGB channel without alpha - break; - - default: - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception( "PNG Corruption: Invalid color space." ); - } - - if(empty($imageData)) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception( "Corrupt PNG Image. Mandatory IDAT chunk not found." ); - } - - $imageDictionary = $this->_resource->dictionary; - if(!empty($smaskData)) { - /* - * Includes the Alpha transparency data as a Gray Image, then assigns the image as the Shadow Mask for the main image data. - */ - $smaskStream = $this->_objectFactory->newStreamObject($smaskData); - $smaskStream->dictionary->Type = new Zend_Pdf_Element_Name('XObject'); - $smaskStream->dictionary->Subtype = new Zend_Pdf_Element_Name('Image'); - $smaskStream->dictionary->Width = new Zend_Pdf_Element_Numeric($width); - $smaskStream->dictionary->Height = new Zend_Pdf_Element_Numeric($height); - $smaskStream->dictionary->ColorSpace = new Zend_Pdf_Element_Name('DeviceGray'); - $smaskStream->dictionary->BitsPerComponent = new Zend_Pdf_Element_Numeric($bits); - $imageDictionary->SMask = $smaskStream; - - // Encode stream with FlateDecode filter - $smaskStreamDecodeParms = array(); - $smaskStreamDecodeParms['Predictor'] = new Zend_Pdf_Element_Numeric(15); - $smaskStreamDecodeParms['Columns'] = new Zend_Pdf_Element_Numeric($width); - $smaskStreamDecodeParms['Colors'] = new Zend_Pdf_Element_Numeric(1); - $smaskStreamDecodeParms['BitsPerComponent'] = new Zend_Pdf_Element_Numeric(8); - $smaskStream->dictionary->DecodeParms = new Zend_Pdf_Element_Dictionary($smaskStreamDecodeParms); - $smaskStream->dictionary->Filter = new Zend_Pdf_Element_Name('FlateDecode'); - } - - if(!empty($transparencyData)) { - //This is experimental and not properly tested. - $imageDictionary->Mask = new Zend_Pdf_Element_Array($transparencyData); - } - - $imageDictionary->Width = new Zend_Pdf_Element_Numeric($width); - $imageDictionary->Height = new Zend_Pdf_Element_Numeric($height); - $imageDictionary->ColorSpace = $colorSpace; - $imageDictionary->BitsPerComponent = new Zend_Pdf_Element_Numeric($bits); - $imageDictionary->Filter = new Zend_Pdf_Element_Name('FlateDecode'); - - $decodeParms = array(); - $decodeParms['Predictor'] = new Zend_Pdf_Element_Numeric(15); // Optimal prediction - $decodeParms['Columns'] = new Zend_Pdf_Element_Numeric($width); - $decodeParms['Colors'] = new Zend_Pdf_Element_Numeric((($color==Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_RGB || $color==Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_RGB_ALPHA)?(3):(1))); - $decodeParms['BitsPerComponent'] = new Zend_Pdf_Element_Numeric($bits); - $imageDictionary->DecodeParms = new Zend_Pdf_Element_Dictionary($decodeParms); - - //Include only the image IDAT section data. - $this->_resource->value = $imageData; - - //Skip double compression - if ($compressed) { - $this->_resource->skipFilters(); - } - } - - /** - * Image width - */ - public function getPixelWidth() { - return $this->_width; - } - - /** - * Image height - */ - public function getPixelHeight() { - return $this->_height; - } - - /** - * Image properties - */ - public function getProperties() { - return $this->_imageProperties; - } -} diff --git a/lib/zend/Zend/Pdf/Resource/Image/Tiff.php b/lib/zend/Zend/Pdf/Resource/Image/Tiff.php deleted file mode 100644 index 3e338e92cf..0000000000 --- a/lib/zend/Zend/Pdf/Resource/Image/Tiff.php +++ /dev/null @@ -1,442 +0,0 @@ -_endianType)) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("The unpackBytes function can only be used after the endianness of the file is known"); - } - switch($type) { - case Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_BYTE: - $format = 'C'; - $unpacked = unpack($format, $bytes); - return $unpacked[1]; - break; - case Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_SHORT: - $format = ($this->_endianType == Zend_Pdf_Resource_Image_Tiff::TIFF_ENDIAN_LITTLE)?'v':'n'; - $unpacked = unpack($format, $bytes); - return $unpacked[1]; - break; - case Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_LONG: - $format = ($this->_endianType == Zend_Pdf_Resource_Image_Tiff::TIFF_ENDIAN_LITTLE)?'V':'N'; - $unpacked = unpack($format, $bytes); - return $unpacked[1]; - break; - case Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_RATIONAL: - $format = ($this->_endianType == Zend_Pdf_Resource_Image_Tiff::TIFF_ENDIAN_LITTLE)?'V2':'N2'; - $unpacked = unpack($format, $bytes); - return ($unpacked[1]/$unpacked[2]); - break; - } - } - - /** - * Object constructor - * - * @param string $imageFileName - * @throws Zend_Pdf_Exception - */ - public function __construct($imageFileName) - { - if (($imageFile = @fopen($imageFileName, 'rb')) === false ) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception( "Can not open '$imageFileName' file for reading." ); - } - - $byteOrderIndicator = fread($imageFile, 2); - if($byteOrderIndicator == 'II') { - $this->_endianType = Zend_Pdf_Resource_Image_Tiff::TIFF_ENDIAN_LITTLE; - } else if($byteOrderIndicator == 'MM') { - $this->_endianType = Zend_Pdf_Resource_Image_Tiff::TIFF_ENDIAN_BIG; - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception( "Not a tiff file or Tiff corrupt. No byte order indication found" ); - } - - $version = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_SHORT, fread($imageFile, 2)); - - if($version != 42) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception( "Not a tiff file or Tiff corrupt. Incorrect version number." ); - } - $ifdOffset = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_LONG, fread($imageFile, 4)); - - $fileStats = fstat($imageFile); - $this->_fileSize = $fileStats['size']; - - /* - * Tiff files are stored as a series of Image File Directories (IFD) each direcctory - * has a specific number of entries each 12 bytes in length. At the end of the directories - * is four bytes pointing to the offset of the next IFD. - */ - - while($ifdOffset > 0) { - if(fseek($imageFile, $ifdOffset, SEEK_SET) == -1 || $ifdOffset+2 >= $this->_fileSize) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("Could not seek to the image file directory as indexed by the file. Likely cause is TIFF corruption. Offset: ". $ifdOffset); - } - - $numDirEntries = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_SHORT, fread($imageFile, 2)); - - /* - * Since we now know how many entries are in this (IFD) we can extract the data. - * The format of a TIFF directory entry is: - * - * 2 bytes (short) tag code; See TIFF_TAG constants at the top for supported values. (There are many more in the spec) - * 2 bytes (short) field type - * 4 bytes (long) number of values, or value count. - * 4 bytes (mixed) data if the data will fit into 4 bytes or an offset if the data is too large. - */ - for($dirEntryIdx = 1; $dirEntryIdx <= $numDirEntries; $dirEntryIdx++) { - $tag = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_SHORT, fread($imageFile, 2)); - $fieldType = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_SHORT, fread($imageFile, 2)); - $valueCount = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_LONG, fread($imageFile, 4)); - - switch($fieldType) { - case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_BYTE: - $fieldLength = $valueCount; - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_ASCII: - $fieldLength = $valueCount; - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_SHORT: - $fieldLength = $valueCount * 2; - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_LONG: - $fieldLength = $valueCount * 4; - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_RATIONAL: - $fieldLength = $valueCount * 8; - break; - default: - $fieldLength = $valueCount; - } - - $offsetBytes = fread($imageFile, 4); - - if($fieldLength <= 4) { - switch($fieldType) { - case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_BYTE: - $value = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_BYTE, $offsetBytes); - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_ASCII: - //Fall through to next case - case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_LONG: - $value = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_LONG, $offsetBytes); - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_SHORT: - //Fall through to next case - default: - $value = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_SHORT, $offsetBytes); - } - } else { - $refOffset = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_LONG, $offsetBytes); - } - /* - * Linear tag processing is probably not the best way to do this. I've processed the tags according to the - * Tiff 6 specification and make some assumptions about when tags will be < 4 bytes and fit into $value and when - * they will be > 4 bytes and require seek/extraction of the offset. Same goes for extracting arrays of data, like - * the data offsets and length. This should be fixed in the future. - */ - switch($tag) { - case Zend_Pdf_Resource_Image_Tiff::TIFF_TAG_IMAGE_WIDTH: - $this->_width = $value; - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_TAG_IMAGE_LENGTH: - $this->_height = $value; - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_TAG_BITS_PER_SAMPLE: - if($valueCount>1) { - $fp = ftell($imageFile); - fseek($imageFile, $refOffset, SEEK_SET); - $this->_bitsPerSample = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_SHORT, fread($imageFile, 2)); - fseek($imageFile, $fp, SEEK_SET); - } else { - $this->_bitsPerSample = $value; - } - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_TAG_COMPRESSION: - $this->_compression = $value; - switch($value) { - case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_UNCOMPRESSED: - $this->_filter = 'None'; - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_CCITT1D: - //Fall through to next case - case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_GROUP_3_FAX: - //Fall through to next case - case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_GROUP_4_FAX: - $this->_filter = 'CCITTFaxDecode'; - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("CCITTFaxDecode Compression Mode Not Currently Supported"); - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_LZW: - $this->_filter = 'LZWDecode'; - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("LZWDecode Compression Mode Not Currently Supported"); - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_JPEG: - $this->_filter = 'DCTDecode'; //Should work, doesnt... - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("JPEG Compression Mode Not Currently Supported"); - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_FLATE: - //fall through to next case - case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_FLATE_OBSOLETE_CODE: - $this->_filter = 'FlateDecode'; - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("ZIP/Flate Compression Mode Not Currently Supported"); - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_PACKBITS: - $this->_filter = 'RunLengthDecode'; - break; - } - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_TAG_PHOTOMETRIC_INTERPRETATION: - $this->_colorCode = $value; - $this->_whiteIsZero = false; - $this->_blackIsZero = false; - switch($value) { - case Zend_Pdf_Resource_Image_Tiff::TIFF_PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO: - $this->_whiteIsZero = true; - $this->_colorSpace = 'DeviceGray'; - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO: - $this->_blackIsZero = true; - $this->_colorSpace = 'DeviceGray'; - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_PHOTOMETRIC_INTERPRETATION_YCBCR: - //fall through to next case - case Zend_Pdf_Resource_Image_Tiff::TIFF_PHOTOMETRIC_INTERPRETATION_RGB: - $this->_colorSpace = 'DeviceRGB'; - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_PHOTOMETRIC_INTERPRETATION_RGB_INDEXED: - $this->_colorSpace = 'Indexed'; - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_PHOTOMETRIC_INTERPRETATION_CMYK: - $this->_colorSpace = 'DeviceCMYK'; - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_PHOTOMETRIC_INTERPRETATION_CIELAB: - $this->_colorSpace = 'Lab'; - break; - default: - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('TIFF: Unknown or Unsupported Color Type: '. $value); - } - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_TAG_STRIP_OFFSETS: - if($valueCount>1) { - $format = ($this->_endianType == Zend_Pdf_Resource_Image_Tiff::TIFF_ENDIAN_LITTLE)?'V*':'N*'; - $fp = ftell($imageFile); - fseek($imageFile, $refOffset, SEEK_SET); - $stripOffsetsBytes = fread($imageFile, $fieldLength); - $this->_imageDataOffset = unpack($format, $stripOffsetsBytes); - fseek($imageFile, $fp, SEEK_SET); - } else { - $this->_imageDataOffset = $value; - } - break; - case Zend_Pdf_Resource_Image_Tiff::TIFF_TAG_STRIP_BYTE_COUNTS: - if($valueCount>1) { - $format = ($this->_endianType == Zend_Pdf_Resource_Image_Tiff::TIFF_ENDIAN_LITTLE)?'V*':'N*'; - $fp = ftell($imageFile); - fseek($imageFile, $refOffset, SEEK_SET); - $stripByteCountsBytes = fread($imageFile, $fieldLength); - $this->_imageDataLength = unpack($format, $stripByteCountsBytes); - fseek($imageFile, $fp, SEEK_SET); - } else { - $this->_imageDataLength = $value; - } - break; - default: - //For debugging. It should be harmless to ignore unknown tags, though there is some good info in them. - //echo "Unknown tag detected: ". $tag . " value: ". $value; - } - } - $ifdOffset = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_LONG, fread($imageFile, 4)); - } - - if(!isset($this->_imageDataOffset) || !isset($this->_imageDataLength)) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("TIFF: The image processed did not contain image data as expected."); - } - - $imageDataBytes = ''; - if(is_array($this->_imageDataOffset)) { - if(!is_array($this->_imageDataLength)) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("TIFF: The image contained multiple data offsets but not multiple data lengths. Tiff may be corrupt."); - } - foreach($this->_imageDataOffset as $idx => $offset) { - fseek($imageFile, $this->_imageDataOffset[$idx], SEEK_SET); - $imageDataBytes .= fread($imageFile, $this->_imageDataLength[$idx]); - } - } else { - fseek($imageFile, $this->_imageDataOffset, SEEK_SET); - $imageDataBytes = fread($imageFile, $this->_imageDataLength); - } - if($imageDataBytes === '') { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("TIFF: No data. Image Corruption"); - } - - fclose($imageFile); - - parent::__construct(); - - $imageDictionary = $this->_resource->dictionary; - if(!isset($this->_width) || !isset($this->_width)) { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception("Problem reading tiff file. Tiff is probably corrupt."); - } - - $this->_imageProperties = array(); - $this->_imageProperties['bitDepth'] = $this->_bitsPerSample; - $this->_imageProperties['fileSize'] = $this->_fileSize; - $this->_imageProperties['TIFFendianType'] = $this->_endianType; - $this->_imageProperties['TIFFcompressionType'] = $this->_compression; - $this->_imageProperties['TIFFwhiteIsZero'] = $this->_whiteIsZero; - $this->_imageProperties['TIFFblackIsZero'] = $this->_blackIsZero; - $this->_imageProperties['TIFFcolorCode'] = $this->_colorCode; - $this->_imageProperties['TIFFimageDataOffset'] = $this->_imageDataOffset; - $this->_imageProperties['TIFFimageDataLength'] = $this->_imageDataLength; - $this->_imageProperties['PDFfilter'] = $this->_filter; - $this->_imageProperties['PDFcolorSpace'] = $this->_colorSpace; - - $imageDictionary->Width = new Zend_Pdf_Element_Numeric($this->_width); - if($this->_whiteIsZero === true) { - $imageDictionary->Decode = new Zend_Pdf_Element_Array(array(new Zend_Pdf_Element_Numeric(1), new Zend_Pdf_Element_Numeric(0))); - } - $imageDictionary->Height = new Zend_Pdf_Element_Numeric($this->_height); - $imageDictionary->ColorSpace = new Zend_Pdf_Element_Name($this->_colorSpace); - $imageDictionary->BitsPerComponent = new Zend_Pdf_Element_Numeric($this->_bitsPerSample); - if(isset($this->_filter) && $this->_filter != 'None') { - $imageDictionary->Filter = new Zend_Pdf_Element_Name($this->_filter); - } - - $this->_resource->value = $imageDataBytes; - $this->_resource->skipFilters(); - } - /** - * Image width (defined in Zend_Pdf_Resource_Image_Interface) - */ - public function getPixelWidth() { - return $this->_width; - } - - /** - * Image height (defined in Zend_Pdf_Resource_Image_Interface) - */ - public function getPixelHeight() { - return $this->_height; - } - - /** - * Image properties (defined in Zend_Pdf_Resource_Image_Interface) - */ - public function getProperties() { - return $this->_imageProperties; - } -} - diff --git a/lib/zend/Zend/Pdf/Resource/ImageFactory.php b/lib/zend/Zend/Pdf/Resource/ImageFactory.php deleted file mode 100644 index 8f5739c351..0000000000 --- a/lib/zend/Zend/Pdf/Resource/ImageFactory.php +++ /dev/null @@ -1,70 +0,0 @@ -_context = null; - $this->_elements = array(); - $this->_objFactory = null; - } - - /** - * Character with code $chCode is white space - * - * @param integer $chCode - * @return boolean - */ - public static function isWhiteSpace($chCode) - { - if ($chCode == 0x00 || // null character - $chCode == 0x09 || // Tab - $chCode == 0x0A || // Line feed - $chCode == 0x0C || // Form Feed - $chCode == 0x0D || // Carriage return - $chCode == 0x20 // Space - ) { - return true; - } else { - return false; - } - } - - - /** - * Character with code $chCode is a delimiter character - * - * @param integer $chCode - * @return boolean - */ - public static function isDelimiter($chCode ) - { - if ($chCode == 0x28 || // '(' - $chCode == 0x29 || // ')' - $chCode == 0x3C || // '<' - $chCode == 0x3E || // '>' - $chCode == 0x5B || // '[' - $chCode == 0x5D || // ']' - $chCode == 0x7B || // '{' - $chCode == 0x7D || // '}' - $chCode == 0x2F || // '/' - $chCode == 0x25 // '%' - ) { - return true; - } else { - return false; - } - } - - - /** - * Skip white space - * - * @param boolean $skipComment - */ - public function skipWhiteSpace($skipComment = true) - { - while ($this->offset < strlen($this->data)) { - if (self::isWhiteSpace( ord($this->data[$this->offset]) )) { - $this->offset++; - } else if (ord($this->data[$this->offset]) == 0x25 && $skipComment) { // '%' - $this->skipComment(); - } else { - return; - } - } - } - - - /** - * Skip comment - */ - public function skipComment() - { - while ($this->offset < strlen($this->data)) - { - if (ord($this->data[$this->offset]) != 0x0A || // Line feed - ord($this->data[$this->offset]) != 0x0d // Carriage return - ) { - $this->offset++; - } else { - return; - } - } - } - - - /** - * Read comment line - * - * @return string - */ - public function readComment() - { - $this->skipWhiteSpace(false); - - /** Check if it's a comment line */ - if ($this->data[$this->offset] != '%') { - return ''; - } - - for ($start = $this->offset; - $this->offset < strlen($this->data); - $this->offset++) { - if (ord($this->data[$this->offset]) == 0x0A || // Line feed - ord($this->data[$this->offset]) == 0x0d // Carriage return - ) { - break; - } - } - - return substr($this->data, $start, $this->offset-$start); - } - - - /** - * Returns next lexeme from a pdf stream - * - * @return string - */ - public function readLexeme() - { - // $this->skipWhiteSpace(); - while (true) { - $this->offset += strspn($this->data, "\x00\t\n\f\r ", $this->offset); - - if ($this->data[$this->offset] == '%') { - preg_match('/[\r\n]/', $this->data, $matches, PREG_OFFSET_CAPTURE, $this->offset); - if (count($matches) > 0) { - $this->offset += strlen($matches[0][0]) + $matches[0][1]; - } else { - $this->offset = strlen($this->data); - } - } else { - break; - } - } - - if ($this->offset >= strlen($this->data)) { - return ''; - } - - $start = $this->offset; - - if (self::isDelimiter( ord($this->data[$start]) )) { - if ($this->data[$start] == '<' && $this->offset + 1 < strlen($this->data) && $this->data[$start+1] == '<') { - $this->offset += 2; - return '<<'; - } else if ($this->data[$start] == '>' && $this->offset + 1 < strlen($this->data) && $this->data[$start+1] == '>') { - $this->offset += 2; - return '>>'; - } else { - $this->offset++; - return $this->data[$start]; - } - } else { - while ( ($this->offset < strlen($this->data)) && - (!self::isDelimiter( ord($this->data[$this->offset]) )) && - (!self::isWhiteSpace( ord($this->data[$this->offset]) )) ) { - $this->offset++; - } - - return substr($this->data, $start, $this->offset - $start); - } - } - - - /** - * Read elemental object from a PDF stream - * - * @return Zend_Pdf_Element - * @throws Zend_Pdf_Exception - */ - public function readElement($nextLexeme = null) - { - if ($nextLexeme === null) { - $nextLexeme = $this->readLexeme(); - } - - /** - * Note: readElement() method is a public method and could be invoked from other classes. - * If readElement() is used not by Zend_Pdf_StringParser::getObject() method, then we should not care - * about _elements member management. - */ - switch ($nextLexeme) { - case '(': - return ($this->_elements[] = $this->_readString()); - - case '<': - return ($this->_elements[] = $this->_readBinaryString()); - - case '/': - return ($this->_elements[] = new Zend_Pdf_Element_Name( - Zend_Pdf_Element_Name::unescape( $this->readLexeme() ) - )); - - case '[': - return ($this->_elements[] = $this->_readArray()); - - case '<<': - return ($this->_elements[] = $this->_readDictionary()); - - case ')': - // fall through to next case - case '>': - // fall through to next case - case ']': - // fall through to next case - case '>>': - // fall through to next case - case '{': - // fall through to next case - case '}': - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X.', - $this->offset)); - - default: - if (strcasecmp($nextLexeme, 'true') == 0) { - return ($this->_elements[] = new Zend_Pdf_Element_Boolean(true)); - } else if (strcasecmp($nextLexeme, 'false') == 0) { - return ($this->_elements[] = new Zend_Pdf_Element_Boolean(false)); - } else if (strcasecmp($nextLexeme, 'null') == 0) { - return ($this->_elements[] = new Zend_Pdf_Element_Null()); - } - - $ref = $this->_readReference($nextLexeme); - if ($ref !== null) { - return ($this->_elements[] = $ref); - } - - return ($this->_elements[] = $this->_readNumeric($nextLexeme)); - } - } - - - /** - * Read string PDF object - * Also reads trailing ')' from a pdf stream - * - * @return Zend_Pdf_Element_String - * @throws Zend_Pdf_Exception - */ - private function _readString() - { - $start = $this->offset; - $openedBrackets = 1; - - while ($this->offset < strlen($this->data)) { - switch (ord( $this->data[$this->offset] )) { - case 0x28: // '(' - opened bracket in the string, needs balanced pair. - $openedBrackets++; - break; - - case 0x29: // ')' - pair to the opened bracket - $openedBrackets--; - break; - - case 0x5C: // '\\' - escape sequence, skip next char from a check - $this->offset++; - } - - $this->offset++; - if ($openedBrackets == 0) { - break; // end of string - } - } - if ($openedBrackets != 0) { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Unexpected end of file while string reading. Offset - 0x%X. \')\' expected.', $start)); - } - - return new Zend_Pdf_Element_String(Zend_Pdf_Element_String::unescape( substr($this->data, - $start, - $this->offset - $start - 1) )); - } - - - /** - * Read binary string PDF object - * Also reads trailing '>' from a pdf stream - * - * @return Zend_Pdf_Element_String_Binary - * @throws Zend_Pdf_Exception - */ - private function _readBinaryString() - { - $start = $this->offset; - - while ($this->offset < strlen($this->data)) { - if (self::isWhiteSpace( ord($this->data[$this->offset]) ) || - ctype_xdigit( $this->data[$this->offset] ) ) { - $this->offset++; - } else if ($this->data[$this->offset] == '>') { - $this->offset++; - return new Zend_Pdf_Element_String_Binary( - Zend_Pdf_Element_String_Binary::unescape( substr($this->data, - $start, - $this->offset - $start - 1) )); - } else { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Unexpected character while binary string reading. Offset - 0x%X.', $this->offset)); - } - } - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Unexpected end of file while binary string reading. Offset - 0x%X. \'>\' expected.', $start)); - } - - - /** - * Read array PDF object - * Also reads trailing ']' from a pdf stream - * - * @return Zend_Pdf_Element_Array - * @throws Zend_Pdf_Exception - */ - private function _readArray() - { - $elements = array(); - - while ( strlen($nextLexeme = $this->readLexeme()) != 0 ) { - if ($nextLexeme != ']') { - $elements[] = $this->readElement($nextLexeme); - } else { - return new Zend_Pdf_Element_Array($elements); - } - } - - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Unexpected end of file while array reading. Offset - 0x%X. \']\' expected.', $this->offset)); - } - - - /** - * Read dictionary PDF object - * Also reads trailing '>>' from a pdf stream - * - * @return Zend_Pdf_Element_Dictionary - * @throws Zend_Pdf_Exception - */ - private function _readDictionary() - { - $dictionary = new Zend_Pdf_Element_Dictionary(); - - while ( strlen($nextLexeme = $this->readLexeme()) != 0 ) { - if ($nextLexeme != '>>') { - $nameStart = $this->offset - strlen($nextLexeme); - - $name = $this->readElement($nextLexeme); - $value = $this->readElement(); - - if (!$name instanceof Zend_Pdf_Element_Name) { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Name object expected while dictionary reading. Offset - 0x%X.', $nameStart)); - } - - $dictionary->add($name, $value); - } else { - return $dictionary; - } - } - - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Unexpected end of file while dictionary reading. Offset - 0x%X. \'>>\' expected.', $this->offset)); - } - - - /** - * Read reference PDF object - * - * @param string $nextLexeme - * @return Zend_Pdf_Element_Reference - */ - private function _readReference($nextLexeme = null) - { - $start = $this->offset; - - if ($nextLexeme === null) { - $objNum = $this->readLexeme(); - } else { - $objNum = $nextLexeme; - } - if (!ctype_digit($objNum)) { // it's not a reference - $this->offset = $start; - return null; - } - - $genNum = $this->readLexeme(); - if (!ctype_digit($genNum)) { // it's not a reference - $this->offset = $start; - return null; - } - - $rMark = $this->readLexeme(); - if ($rMark != 'R') { // it's not a reference - $this->offset = $start; - return null; - } - - $ref = new Zend_Pdf_Element_Reference((int)$objNum, (int)$genNum, $this->_context, $this->_objFactory->resolve()); - - return $ref; - } - - - /** - * Read numeric PDF object - * - * @param string $nextLexeme - * @return Zend_Pdf_Element_Numeric - */ - private function _readNumeric($nextLexeme = null) - { - if ($nextLexeme === null) { - $nextLexeme = $this->readLexeme(); - } - - return new Zend_Pdf_Element_Numeric($nextLexeme); - } - - - /** - * Read inderect object from a PDF stream - * - * @param integer $offset - * @param Zend_Pdf_Element_Reference_Context $context - * @return Zend_Pdf_Element_Object - */ - public function getObject($offset, Zend_Pdf_Element_Reference_Context $context) - { - if ($offset === null ) { - return new Zend_Pdf_Element_Null(); - } - - // Save current offset to make getObject() reentrant - $offsetSave = $this->offset; - - $this->offset = $offset; - $this->_context = $context; - $this->_elements = array(); - - $objNum = $this->readLexeme(); - if (!ctype_digit($objNum)) { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Object number expected.', $this->offset - strlen($objNum))); - } - - $genNum = $this->readLexeme(); - if (!ctype_digit($genNum)) { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Object generation number expected.', $this->offset - strlen($genNum))); - } - - $objKeyword = $this->readLexeme(); - if ($objKeyword != 'obj') { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. \'obj\' keyword expected.', $this->offset - strlen($objKeyword))); - } - - $objValue = $this->readElement(); - - $nextLexeme = $this->readLexeme(); - - if( $nextLexeme == 'endobj' ) { - /** - * Object is not generated by factory (thus it's not marked as modified object). - * But factory is assigned to the obect. - */ - $obj = new Zend_Pdf_Element_Object($objValue, (int)$objNum, (int)$genNum, $this->_objFactory->resolve()); - - foreach ($this->_elements as $element) { - $element->setParentObject($obj); - } - - // Restore offset value - $this->offset = $offsetSave; - - return $obj; - } - - /** - * It's a stream object - */ - if ($nextLexeme != 'stream') { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. \'endobj\' or \'stream\' keywords expected.', $this->offset - strlen($nextLexeme))); - } - - if (!$objValue instanceof Zend_Pdf_Element_Dictionary) { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Stream extent must be preceded by stream dictionary.', $this->offset - strlen($nextLexeme))); - } - - /** - * References are automatically dereferenced at this moment. - */ - $streamLength = $objValue->Length->value; - - /** - * 'stream' keyword must be followed by either cr-lf sequence or lf character only. - * This restriction gives the possibility to recognize all cases exactly - */ - if ($this->data[$this->offset] == "\r" && - $this->data[$this->offset + 1] == "\n" ) { - $this->offset += 2; - } else if ($this->data[$this->offset] == "\n" ) { - $this->offset++; - } else { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. \'stream\' must be followed by either cr-lf sequence or lf character only.', $this->offset - strlen($nextLexeme))); - } - - $dataOffset = $this->offset; - - $this->offset += $streamLength; - - $nextLexeme = $this->readLexeme(); - if ($nextLexeme != 'endstream') { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. \'endstream\' keyword expected.', $this->offset - strlen($nextLexeme))); - } - - $nextLexeme = $this->readLexeme(); - if ($nextLexeme != 'endobj') { - throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. \'endobj\' keyword expected.', $this->offset - strlen($nextLexeme))); - } - - $obj = new Zend_Pdf_Element_Object_Stream(substr($this->data, - $dataOffset, - $streamLength), - (int)$objNum, - (int)$genNum, - $this->_objFactory->resolve(), - $objValue); - - foreach ($this->_elements as $element) { - $element->setParentObject($obj); - } - - // Restore offset value - $this->offset = $offsetSave; - - return $obj; - } - - - /** - * Get length of source string - * - * @return integer - */ - public function getLength() - { - return strlen($this->data); - } - - /** - * Get source string - * - * @return string - */ - public function getString() - { - return $this->data; - } - - - /** - * Parse integer value from a binary stream - * - * @param string $stream - * @param integer $offset - * @param integer $size - * @return integer - */ - public static function parseIntFromStream($stream, $offset, $size) - { - $value = 0; - for ($count = 0; $count < $size; $count++) { - $value *= 256; - $value += ord($stream[$offset + $count]); - } - - return $value; - } - - - - /** - * Set current context - * - * @param Zend_Pdf_Element_Reference_Context $context - */ - public function setContext(Zend_Pdf_Element_Reference_Context $context) - { - $this->_context = $context; - } - - /** - * Object constructor - * - * Note: PHP duplicates string, which is sent by value, only of it's updated. - * Thus we don't need to care about overhead - * - * @param string $pdfString - * @param Zend_Pdf_ElementFactory_Interface $factory - */ - public function __construct($source, Zend_Pdf_ElementFactory_Interface $factory) - { - $this->data = $source; - $this->_objFactory = $factory; - } -} diff --git a/lib/zend/Zend/Pdf/Style.php b/lib/zend/Zend/Pdf/Style.php deleted file mode 100644 index cca8ce9e6c..0000000000 --- a/lib/zend/Zend/Pdf/Style.php +++ /dev/null @@ -1,304 +0,0 @@ -_fillColor = $anotherStyle->_fillColor; - $this->_color = $anotherStyle->_color; - $this->_lineWidth = $anotherStyle->_lineWidth; - $this->_lineDashingPattern = $anotherStyle->_lineDashingPattern; - $this->_lineDashingPhase = $anotherStyle->_lineDashingPhase; - $this->_font = $anotherStyle->_font; - $this->_fontSize = $anotherStyle->_fontSize; - } - } - - - /** - * Set fill color. - * - * @param Zend_Pdf_Color $color - */ - public function setFillColor(Zend_Pdf_Color $color) - { - $this->_fillColor = $color; - } - - /** - * Set line color. - * - * @param Zend_Pdf_Color $color - */ - public function setLineColor(Zend_Pdf_Color $color) - { - $this->_color = $color; - } - - /** - * Set line width. - * - * @param float $width - */ - public function setLineWidth($width) - { - $this->_lineWidth = new Zend_Pdf_Element_Numeric($width); - } - - - /** - * Set line dashing pattern - * - * @param array $pattern - * @param float $phase - */ - public function setLineDashingPattern($pattern, $phase = 0) - { - if ($pattern === Zend_Pdf_Page::LINE_DASHING_SOLID) { - $pattern = array(); - $phase = 0; - } - - $this->_lineDashingPattern = $pattern; - $this->_lineDashingPhase = new Zend_Pdf_Element_Numeric($phase); - } - - - /** - * Set current font. - * - * @param Zend_Pdf_Resource_Font $font - * @param float $fontSize - */ - public function setFont(Zend_Pdf_Resource_Font $font, $fontSize) - { - $this->_font = $font; - $this->_fontSize = $fontSize; - } - - /** - * Modify current font size - * - * @param float $fontSize - */ - public function setFontSize($fontSize) - { - $this->_fontSize = $fontSize; - } - - /** - * Get fill color. - * - * @return Zend_Pdf_Color|null - */ - public function getFillColor() - { - return $this->_fillColor; - } - - /** - * Get line color. - * - * @return Zend_Pdf_Color|null - */ - public function getLineColor() - { - return $this->_color; - } - - /** - * Get line width. - * - * @return float - */ - public function getLineWidth() - { - return $this->_lineWidth->value; - } - - /** - * Get line dashing pattern - * - * @return array - */ - public function getLineDashingPattern() - { - return $this->_lineDashingPattern; - } - - - /** - * Get current font. - * - * @return Zend_Pdf_Resource_Font $font - */ - public function getFont() - { - return $this->_font; - } - - /** - * Get current font size - * - * @return float $fontSize - */ - public function getFontSize() - { - return $this->_fontSize; - } - - /** - * Get line dashing phase - * - * @return float - */ - public function getLineDashingPhase() - { - return $this->_lineDashingPhase->value; - } - - - /** - * Dump style to a string, which can be directly inserted into content stream - * - * @return string - */ - public function instructions() - { - $instructions = ''; - - if ($this->_fillColor !== null) { - $instructions .= $this->_fillColor->instructions(false); - } - - if ($this->_color !== null) { - $instructions .= $this->_color->instructions(true); - } - - if ($this->_lineWidth !== null) { - $instructions .= $this->_lineWidth->toString() . " w\n"; - } - - if ($this->_lineDashingPattern !== null) { - $dashPattern = new Zend_Pdf_Element_Array(); - - foreach ($this->_lineDashingPattern as $dashItem) { - $dashElement = new Zend_Pdf_Element_Numeric($dashItem); - $dashPattern->items[] = $dashElement; - } - - $instructions .= $dashPattern->toString() . ' ' - . $this->_lineDashingPhase->toString() . " d\n"; - } - - return $instructions; - } - -} - diff --git a/lib/zend/Zend/Pdf/Target.php b/lib/zend/Zend/Pdf/Target.php deleted file mode 100644 index 45e4973ef8..0000000000 --- a/lib/zend/Zend/Pdf/Target.php +++ /dev/null @@ -1,76 +0,0 @@ -getType() == Zend_Pdf_Element::TYPE_DICTIONARY) { - if (($resource->Type === null || $resource->Type->value =='Action') && $resource->S !== null) { - // It's a well-formed action, load it - return Zend_Pdf_Action::load($resource); - } else if ($resource->D !== null) { - // It's a destination - $resource = $resource->D; - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception('Wrong resource type.'); - } - } - - if ($resource->getType() == Zend_Pdf_Element::TYPE_ARRAY || - $resource->getType() == Zend_Pdf_Element::TYPE_NAME || - $resource->getType() == Zend_Pdf_Element::TYPE_STRING) { - // Resource is an array, just treat it as an explicit destination array - return Zend_Pdf_Destination::load($resource); - } else { - require_once 'Zend/Pdf/Exception.php'; - throw new Zend_Pdf_Exception( 'Wrong resource type.' ); - } - } - - /** - * Get resource - * - * @internal - * @return Zend_Pdf_Element - */ - abstract public function getResource(); -} diff --git a/lib/zend/Zend/Pdf/Trailer.php b/lib/zend/Zend/Pdf/Trailer.php deleted file mode 100644 index 6bd4f4d870..0000000000 --- a/lib/zend/Zend/Pdf/Trailer.php +++ /dev/null @@ -1,129 +0,0 @@ -_dict = $dict; - - foreach ($this->_dict->getKeys() as $dictKey) { - $this->_checkDictKey($dictKey); - } - } - - /** - * Get handler - * - * @param string $property - * @return mixed - */ - public function __get($property) - { - return $this->_dict->$property; - } - - /** - * Set handler - * - * @param string $property - * @param mixed $value - */ - public function __set($property, $value) - { - $this->_checkDictKey($property); - $this->_dict->$property = $value; - } - - /** - * Return string trailer representation - * - * @return string - */ - public function toString() - { - return "trailer\n" . $this->_dict->toString() . "\n"; - } - - - /** - * Get length of source PDF - * - * @return string - */ - abstract public function getPDFLength(); - - /** - * Get PDF String - * - * @return string - */ - abstract public function getPDFString(); - - /** - * Get header of free objects list - * Returns object number of last free object - * - * @return integer - */ - abstract public function getLastFreeObject(); -} diff --git a/lib/zend/Zend/Pdf/Trailer/Generator.php b/lib/zend/Zend/Pdf/Trailer/Generator.php deleted file mode 100644 index 5363673f02..0000000000 --- a/lib/zend/Zend/Pdf/Trailer/Generator.php +++ /dev/null @@ -1,76 +0,0 @@ -_context = $context; - $this->_prev = $prev; - } - - /** - * Setter for $this->_prev - * - * @param Zend_Pdf_Trailer_Keeper $prev - */ - public function setPrev(Zend_Pdf_Trailer_Keeper $prev) - { - $this->_prev = $prev; - } - - /** - * Getter for $this->_prev - * - * @return Zend_Pdf_Trailer - */ - public function getPrev() - { - return $this->_prev; - } - - /** - * Get length of source PDF - * - * @return string - */ - public function getPDFLength() - { - return $this->_context->getParser()->getLength(); - } - - /** - * Get PDF String - * - * @return string - */ - public function getPDFString() - { - return $this->_context->getParser()->getString(); - } - - /** - * Get reference table, which corresponds to the trailer. - * Proxy to the $_context member methad call - * - * @return Zend_Pdf_Element_Reference_Context - */ - public function getRefTable() - { - return $this->_context->getRefTable(); - } - - /** - * Get header of free objects list - * Returns object number of last free object - * - * @throws Zend_Pdf_Exception - * @return integer - */ - public function getLastFreeObject() - { - try { - $this->_context->getRefTable()->getNextFree('0 65535 R'); - } catch (Zend_Pdf_Exception $e) { - if ($e->getMessage() == 'Object not found.') { - /** - * Here is work around for some wrong generated PDFs. - * We have not found reference to the header of free object list, - * thus we treat it as there are no free objects. - */ - return 0; - } - - throw $e; - } - } -} diff --git a/lib/zend/Zend/Pdf/UpdateInfoContainer.php b/lib/zend/Zend/Pdf/UpdateInfoContainer.php deleted file mode 100644 index 1b965bb801..0000000000 --- a/lib/zend/Zend/Pdf/UpdateInfoContainer.php +++ /dev/null @@ -1,139 +0,0 @@ -_objNum = $objNum; - $this->_genNum = $genNum; - $this->_isFree = $isFree; - - if ($dump !== null) { - if (strlen($dump) > 1024) { - $this->_dump = Zend_Pdf::getMemoryManager()->create($dump); - } else { - $this->_dump = $dump; - } - } - } - - - /** - * Get object number - * - * @return integer - */ - public function getObjNum() - { - return $this->_objNum; - } - - /** - * Get generation number - * - * @return integer - */ - public function getGenNum() - { - return $this->_genNum; - } - - /** - * Check, that object is free - * - * @return boolean - */ - public function isFree() - { - return $this->_isFree; - } - - /** - * Get string representation of the object - * - * @return string - */ - public function getObjectDump() - { - if ($this->_dump === null) { - return ''; - } - - if (is_string($this->_dump)) { - return $this->_dump; - } - - return $this->_dump->getRef(); - } -} - diff --git a/lib/zend/Zend/ProgressBar.php b/lib/zend/Zend/ProgressBar.php deleted file mode 100644 index bb7141a206..0000000000 --- a/lib/zend/Zend/ProgressBar.php +++ /dev/null @@ -1,209 +0,0 @@ - $max) { - require_once 'Zend/ProgressBar/Exception.php'; - throw new Zend_ProgressBar_Exception('$max must be greater than $min'); - } - - $this->_min = (float) $min; - $this->_max = (float) $max; - $this->_current = (float) $min; - - // See if we have to open a session namespace - if ($persistenceNamespace !== null) { - require_once 'Zend/Session/Namespace.php'; - - $this->_persistenceNamespace = new Zend_Session_Namespace($persistenceNamespace); - } - - // Set adapter - $this->_adapter = $adapter; - - // Track the start time - $this->_startTime = time(); - - // See If a persistenceNamespace exists and handle accordingly - if ($this->_persistenceNamespace !== null) { - if (isset($this->_persistenceNamespace->isSet)) { - $this->_startTime = $this->_persistenceNamespace->startTime; - $this->_current = $this->_persistenceNamespace->current; - $this->_statusText = $this->_persistenceNamespace->statusText; - } else { - $this->_persistenceNamespace->isSet = true; - $this->_persistenceNamespace->startTime = $this->_startTime; - $this->_persistenceNamespace->current = $this->_current; - $this->_persistenceNamespace->statusText = $this->_statusText; - } - } else { - $this->update(); - } - } - - /** - * Get the current adapter - * - * @return Zend_ProgressBar_Adapter - */ - public function getAdapter() - { - return $this->_adapter; - } - - /** - * Update the progressbar - * - * @param float $value - * @param string $text - * @return void - */ - public function update($value = null, $text = null) - { - // Update value if given - if ($value !== null) { - $this->_current = min($this->_max, max($this->_min, $value)); - } - - // Update text if given - if ($text !== null) { - $this->_statusText = $text; - } - - // See if we have to update a namespace - if ($this->_persistenceNamespace !== null) { - $this->_persistenceNamespace->current = $this->_current; - $this->_persistenceNamespace->statusText = $this->_statusText; - } - - // Calculate percent - if ($this->_min === $this->_max) { - $percent = false; - } else { - $percent = (float) ($this->_current - $this->_min) / ($this->_max - $this->_min); - } - - // Calculate ETA - $timeTaken = time() - $this->_startTime; - - if ($percent === .0 || $percent === false) { - $timeRemaining = null; - } else { - $timeRemaining = round(((1 / $percent) * $timeTaken) - $timeTaken); - } - - // Poll the adapter - $this->_adapter->notify($this->_current, $this->_max, $percent, $timeTaken, $timeRemaining, $this->_statusText); - } - - /** - * Update the progressbar to the next value - * - * @param string $text - * @return void - */ - public function next($diff = 1, $text = null) - { - $this->update(max($this->_min, min($this->_max, $this->_current + $diff)), $text); - } - - /** - * Call the adapters finish() behaviour - * - * @return void - */ - public function finish() - { - if ($this->_persistenceNamespace !== null) { - unset($this->_persistenceNamespace->isSet); - } - - $this->_adapter->finish(); - } -} diff --git a/lib/zend/Zend/ProgressBar/Adapter.php b/lib/zend/Zend/ProgressBar/Adapter.php deleted file mode 100644 index 3f39de9c74..0000000000 --- a/lib/zend/Zend/ProgressBar/Adapter.php +++ /dev/null @@ -1,113 +0,0 @@ -setOptions($options); - } elseif ($options instanceof Zend_Config) { - $this->setConfig($options); - } - } - - /** - * Set options via a Zend_Config instance - * - * @param Zend_Config $config - * @return Zend_ProgressBar_Adapter - */ - public function setConfig(Zend_Config $config) - { - $this->setOptions($config->toArray()); - - return $this; - } - - /** - * Set options via an array - * - * @param array $options - * @return Zend_ProgressBar_Adapter - */ - public function setOptions(array $options) - { - foreach ($options as $key => $value) { - if (in_array(strtolower($key), $this->_skipOptions)) { - continue; - } - - $method = 'set' . ucfirst($key); - if (method_exists($this, $method)) { - $this->$method($value); - } - } - - return $this; - } - - /** - * Notify the adapter about an update - * - * @param float $current Current progress value - * @param float $max Max progress value - * @param float $percent Current percent value - * @param integer $timeTaken Taken time in seconds - * @param integer $timeRemaining Remaining time in seconds - * @param string $text Status text - * @return void - */ - abstract public function notify($current, $max, $percent, $timeTaken, $timeRemaining, $text); - - /** - * Called when the progress is explicitly finished - * - * @return void - */ - abstract public function finish(); -} diff --git a/lib/zend/Zend/ProgressBar/Adapter/Console.php b/lib/zend/Zend/ProgressBar/Adapter/Console.php deleted file mode 100644 index 16b5a1b2ea..0000000000 --- a/lib/zend/Zend/ProgressBar/Adapter/Console.php +++ /dev/null @@ -1,534 +0,0 @@ -_width === null) { - $this->setWidth(); - } - } - - /** - * Close local stdout, when open - */ - public function __destruct() - { - if ($this->_outputStream !== null) { - fclose($this->_outputStream); - } - } - - /** - * Set a different output-stream - * - * @param string $resource - * @return Zend_ProgressBar_Adapter_Console - */ - public function setOutputStream($resource) - { - $stream = @fopen($resource, 'w'); - - if ($stream === false) { - require_once 'Zend/ProgressBar/Adapter/Exception.php'; - throw new Zend_ProgressBar_Adapter_Exception('Unable to open stream'); - } - - if ($this->_outputStream !== null) { - fclose($this->_outputStream); - } - - $this->_outputStream = $stream; - } - - /** - * Get the current output stream - * - * @return resource - */ - public function getOutputStream() - { - if ($this->_outputStream === null) { - if (!defined('STDOUT')) { - $this->_outputStream = fopen('php://stdout', 'w'); - } else { - return STDOUT; - } - } - - return $this->_outputStream; - } - - /** - * Set the width of the progressbar - * - * @param integer $width - * @return Zend_ProgressBar_Adapter_Console - */ - public function setWidth($width = null) - { - if ($width === null || !is_integer($width)) { - if (substr(PHP_OS, 0, 3) === 'WIN') { - // We have to default to 79 on windows, because the windows - // terminal always has a fixed width of 80 characters and the - // cursor is counted to the line, else windows would line break - // after every update. - $this->_width = 79; - } else { - // Set the default width of 80 - $this->_width = 80; - - // Try to determine the width through stty - if (preg_match('#\d+ (\d+)#', @shell_exec('stty size'), $match) === 1) { - $this->_width = (int) $match[1]; - } else if (preg_match('#columns = (\d+);#', @shell_exec('stty'), $match) === 1) { - $this->_width = (int) $match[1]; - } - } - } else { - $this->_width = (int) $width; - } - - $this->_calculateBarWidth(); - - return $this; - } - - /** - * Set the elements to display with the progressbar - * - * @param array $elements - * @throws Zend_ProgressBar_Adapter_Exception When an invalid element is foudn in the array - * @return Zend_ProgressBar_Adapter_Console - */ - public function setElements(array $elements) - { - $allowedElements = array(self::ELEMENT_PERCENT, - self::ELEMENT_BAR, - self::ELEMENT_ETA, - self::ELEMENT_TEXT); - - if (count(array_diff($elements, $allowedElements)) > 0) { - require_once 'Zend/ProgressBar/Adapter/Exception.php'; - throw new Zend_ProgressBar_Adapter_Exception('Invalid element found in $elements array'); - } - - $this->_elements = $elements; - - $this->_calculateBarWidth(); - - return $this; - } - - /** - * Set the left-hand character for the bar - * - * @param string $char - * @throws Zend_ProgressBar_Adapter_Exception When character is empty - * @return Zend_ProgressBar_Adapter_Console - */ - public function setBarLeftChar($char) - { - if (empty($char)) { - require_once 'Zend/ProgressBar/Adapter/Exception.php'; - throw new Zend_ProgressBar_Adapter_Exception('Character may not be empty'); - } - - $this->_barLeftChar = (string) $char; - - return $this; - } - - /** - * Set the right-hand character for the bar - * - * @param string $char - * @throws Zend_ProgressBar_Adapter_Exception When character is empty - * @return Zend_ProgressBar_Adapter_Console - */ - public function setBarRightChar($char) - { - if (empty($char)) { - require_once 'Zend/ProgressBar/Adapter/Exception.php'; - throw new Zend_ProgressBar_Adapter_Exception('Character may not be empty'); - } - - $this->_barRightChar = (string) $char; - - return $this; - } - - /** - * Set the indicator character for the bar - * - * @param string $char - * @return Zend_ProgressBar_Adapter_Console - */ - public function setBarIndicatorChar($char) - { - $this->_barIndicatorChar = (string) $char; - - return $this; - } - - /** - * Set the width of the text element - * - * @param integer $width - * @return Zend_ProgressBar_Adapter_Console - */ - public function setTextWidth($width) - { - $this->_textWidth = (int) $width; - - $this->_calculateBarWidth(); - - return $this; - } - - /** - * Set the charset of the text element - * - * @param string $charset - */ - public function setCharset($charset) - { - $this->_charset = $charset; - } - - /** - * Set the finish action - * - * @param string $action - * @throws Zend_ProgressBar_Adapter_Exception When an invalid action is specified - * @return Zend_ProgressBar_Adapter_Console - */ - public function setFinishAction($action) - { - $allowedActions = array(self::FINISH_ACTION_CLEAR_LINE, - self::FINISH_ACTION_EOL, - self::FINISH_ACTION_NONE); - - if (!in_array($action, $allowedActions)) { - require_once 'Zend/ProgressBar/Adapter/Exception.php'; - throw new Zend_ProgressBar_Adapter_Exception('Invalid finish action specified'); - } - - $this->_finishAction = $action; - - return $this; - } - - /** - * Defined by Zend_ProgressBar_Adapter_Interface - * - * @param float $current Current progress value - * @param float $max Max progress value - * @param float $percent Current percent value - * @param integer $timeTaken Taken time in seconds - * @param integer $timeRemaining Remaining time in seconds - * @param string $text Status text - * @return void - */ - public function notify($current, $max, $percent, $timeTaken, $timeRemaining, $text) - { - // See if we must clear the line - if ($this->_outputStarted) { - $data = str_repeat("\x08", $this->_width); - } else { - $data = ''; - $this->_outputStarted = true; - } - - // Build all elements - $renderedElements = array(); - - foreach ($this->_elements as $element) { - switch ($element) { - case self::ELEMENT_BAR: - $visualWidth = $this->_barWidth - 2; - $bar = '['; - - $indicatorWidth = strlen($this->_barIndicatorChar); - - $doneWidth = min($visualWidth - $indicatorWidth, round($visualWidth * $percent)); - if ($doneWidth > 0) { - $bar .= substr(str_repeat($this->_barLeftChar, ceil($doneWidth / strlen($this->_barLeftChar))), 0, $doneWidth); - } - - $bar .= $this->_barIndicatorChar; - - $leftWidth = $visualWidth - $doneWidth - $indicatorWidth; - if ($leftWidth > 0) { - $bar .= substr(str_repeat($this->_barRightChar, ceil($leftWidth / strlen($this->_barRightChar))), 0, $leftWidth); - } - - $bar .= ']'; - - $renderedElements[] = $bar; - break; - - case self::ELEMENT_PERCENT: - $renderedElements[] = str_pad(round($percent * 100), 3, ' ', STR_PAD_LEFT) . '%'; - break; - - case self::ELEMENT_ETA: - // In the first 5 seconds we don't get accurate results, - // this skipping technique is found in many progressbar - // implementations. - if ($timeTaken < 5) { - $renderedElements[] = str_repeat(' ', 12); - break; - } - - if ($timeRemaining === null || $timeRemaining > 86400) { - $etaFormatted = '??:??:??'; - } else { - $hours = floor($timeRemaining / 3600); - $minutes = floor(($timeRemaining % 3600) / 60); - $seconds = ($timeRemaining % 3600 % 60); - - $etaFormatted = sprintf('%02d:%02d:%02d', $hours, $minutes, $seconds); - } - - $renderedElements[] = 'ETA ' . $etaFormatted; - break; - - case self::ELEMENT_TEXT: - $renderedElements[] = Zend_Text_MultiByte::strPad(substr($text, 0, $this->_textWidth), $this->_textWidth, ' ', STR_PAD_RIGHT, $this->_charset); - break; - } - } - - $data .= implode(' ', $renderedElements); - - // Output line data - $this->_outputData($data); - } - - /** - * Defined by Zend_ProgressBar_Adapter_Interface - * - * @return void - */ - public function finish() - { - switch ($this->_finishAction) { - case self::FINISH_ACTION_EOL: - $this->_outputData(PHP_EOL); - break; - - case self::FINISH_ACTION_CLEAR_LINE: - if ($this->_outputStarted) { - $data = str_repeat("\x08", $this->_width) - . str_repeat(' ', $this->_width) - . str_repeat("\x08", $this->_width); - - $this->_outputData($data); - } - break; - - case self::FINISH_ACTION_NONE: - break; - } - } - - /** - * Calculate the bar width when other elements changed - * - * @return void - */ - protected function _calculateBarWidth() - { - if (in_array(self::ELEMENT_BAR, $this->_elements)) { - $barWidth = $this->_width; - - if (in_array(self::ELEMENT_PERCENT, $this->_elements)) { - $barWidth -= 4; - } - - if (in_array(self::ELEMENT_ETA, $this->_elements)) { - $barWidth -= 12; - } - - if (in_array(self::ELEMENT_TEXT, $this->_elements)) { - $barWidth -= $this->_textWidth; - } - - $this->_barWidth = $barWidth - (count($this->_elements) - 1); - } - } - - /** - * Outputs given data to STDOUT. - * - * This split-off is required for unit-testing. - * - * @param string $data - * @return void - */ - protected function _outputData($data) - { - fwrite($this->getOutputStream(), $data); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/ProgressBar/Adapter/Exception.php b/lib/zend/Zend/ProgressBar/Adapter/Exception.php deleted file mode 100644 index 1e1c700690..0000000000 --- a/lib/zend/Zend/ProgressBar/Adapter/Exception.php +++ /dev/null @@ -1,38 +0,0 @@ -_exitAfterSend = $exitAfterSend; - } - - /** - * Defined by Zend_ProgressBar_Adapter_Interface - * - * @param float $current Current progress value - * @param float $max Max progress value - * @param float $percent Current percent value - * @param integer $timeTaken Taken time in seconds - * @param integer $timeRemaining Remaining time in seconds - * @param string $text Status text - * @return void - */ - public function notify($current, $max, $percent, $timeTaken, $timeRemaining, $text) - { - $arguments = array( - 'current' => $current, - 'max' => $max, - 'percent' => ($percent * 100), - 'timeTaken' => $timeTaken, - 'timeRemaining' => $timeRemaining, - 'text' => $text, - 'finished' => false - ); - - $data = Zend_Json::encode($arguments); - - // Output the data - $this->_outputData($data); - } - - /** - * Defined by Zend_ProgressBar_Adapter_Interface - * - * @return void - */ - public function finish() - { - $data = Zend_Json::encode(array('finished' => true)); - - $this->_outputData($data); - } - - /** - * Outputs given data the user agent. - * - * This split-off is required for unit-testing. - * - * @param string $data - * @return void - */ - protected function _outputData($data) - { - echo $data; - - if ($this->_exitAfterSend) { - exit; - } - } -} diff --git a/lib/zend/Zend/ProgressBar/Adapter/JsPush.php b/lib/zend/Zend/ProgressBar/Adapter/JsPush.php deleted file mode 100644 index c4d30ac775..0000000000 --- a/lib/zend/Zend/ProgressBar/Adapter/JsPush.php +++ /dev/null @@ -1,148 +0,0 @@ -_updateMethodName = $methodName; - - return $this; - } - - /** - * Set the finish method name - * - * @param string $methodName - * @return Zend_ProgressBar_Adapter_JsPush - */ - public function setFinishMethodName($methodName) - { - $this->_finishMethodName = $methodName; - - return $this; - } - - /** - * Defined by Zend_ProgressBar_Adapter_Interface - * - * @param float $current Current progress value - * @param float $max Max progress value - * @param float $percent Current percent value - * @param integer $timeTaken Taken time in seconds - * @param integer $timeRemaining Remaining time in seconds - * @param string $text Status text - * @return void - */ - public function notify($current, $max, $percent, $timeTaken, $timeRemaining, $text) - { - $arguments = array( - 'current' => $current, - 'max' => $max, - 'percent' => ($percent * 100), - 'timeTaken' => $timeTaken, - 'timeRemaining' => $timeRemaining, - 'text' => $text - ); - - $data = ''; - - // Output the data - $this->_outputData($data); - } - - /** - * Defined by Zend_ProgressBar_Adapter_Interface - * - * @return void - */ - public function finish() - { - if ($this->_finishMethodName === null) { - return; - } - - $data = ''; - - $this->_outputData($data); - } - - /** - * Outputs given data the user agent. - * - * This split-off is required for unit-testing. - * - * @param string $data - * @return void - */ - protected function _outputData($data) - { - // 1024 padding is required for Safari, while 256 padding is required - // for Internet Explorer. The
    is required so Safari actually - // executes the '; - - if (isset($item->attributes['conditional']) - && !empty($item->attributes['conditional']) - && is_string($item->attributes['conditional'])) - { - $html = ''; - } - - return $html; - } - - /** - * Retrieve string representation - * - * @param string|int $indent - * @return string - */ - public function toString($indent = null) - { - $indent = (null !== $indent) - ? $this->getWhitespace($indent) - : $this->getIndent(); - - if ($this->view) { - $useCdata = $this->view->doctype()->isXhtml() ? true : false; - } else { - $useCdata = $this->useCdata ? true : false; - } - $escapeStart = ($useCdata) ? '//' : '//-->'; - - $items = array(); - $this->getContainer()->ksort(); - foreach ($this as $item) { - if (!$this->_isValid($item)) { - continue; - } - - $items[] = $this->itemToString($item, $indent, $escapeStart, $escapeEnd); - } - - $return = implode($this->getSeparator(), $items); - return $return; - } - - /** - * Create data item containing all necessary components of script - * - * @param string $type - * @param array $attributes - * @param string $content - * @return stdClass - */ - public function createData($type, array $attributes, $content = null) - { - $data = new stdClass(); - $data->type = $type; - $data->attributes = $attributes; - $data->source = $content; - return $data; - } -} diff --git a/lib/zend/Zend/View/Helper/HeadStyle.php b/lib/zend/Zend/View/Helper/HeadStyle.php deleted file mode 100644 index 77d5d5061a..0000000000 --- a/lib/zend/Zend/View/Helper/HeadStyle.php +++ /dev/null @@ -1,400 +0,0 @@ -setSeparator(PHP_EOL); - } - - /** - * Return headStyle object - * - * Returns headStyle helper object; optionally, allows specifying - * - * @param string $content Stylesheet contents - * @param string $placement Append, prepend, or set - * @param string|array $attributes Optional attributes to utilize - * @return Zend_View_Helper_HeadStyle - */ - public function headStyle($content = null, $placement = 'APPEND', $attributes = array()) - { - if ((null !== $content) && is_string($content)) { - switch (strtoupper($placement)) { - case 'SET': - $action = 'setStyle'; - break; - case 'PREPEND': - $action = 'prependStyle'; - break; - case 'APPEND': - default: - $action = 'appendStyle'; - break; - } - $this->$action($content, $attributes); - } - - return $this; - } - - /** - * Overload method calls - * - * Allows the following method calls: - * - appendStyle($content, $attributes = array()) - * - offsetSetStyle($index, $content, $attributes = array()) - * - prependStyle($content, $attributes = array()) - * - setStyle($content, $attributes = array()) - * - * @param string $method - * @param array $args - * @return void - * @throws Zend_View_Exception When no $content provided or invalid method - */ - public function __call($method, $args) - { - if (preg_match('/^(?Pset|(ap|pre)pend|offsetSet)(Style)$/', $method, $matches)) { - $index = null; - $argc = count($args); - $action = $matches['action']; - - if ('offsetSet' == $action) { - if (0 < $argc) { - $index = array_shift($args); - --$argc; - } - } - - if (1 > $argc) { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception(sprintf('Method "%s" requires minimally content for the stylesheet', $method)); - } - - $content = $args[0]; - $attrs = array(); - if (isset($args[1])) { - $attrs = (array) $args[1]; - } - - $item = $this->createData($content, $attrs); - - if ('offsetSet' == $action) { - $this->offsetSet($index, $item); - } else { - $this->$action($item); - } - - return $this; - } - - return parent::__call($method, $args); - } - - /** - * Determine if a value is a valid style tag - * - * @param mixed $value - * @param string $method - * @return boolean - */ - protected function _isValid($value) - { - if ((!$value instanceof stdClass) - || !isset($value->content) - || !isset($value->attributes)) - { - return false; - } - - return true; - } - - /** - * Override append to enforce style creation - * - * @param mixed $value - * @return void - */ - public function append($value) - { - if (!$this->_isValid($value)) { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception('Invalid value passed to append; please use appendStyle()'); - } - - return $this->getContainer()->append($value); - } - - /** - * Override offsetSet to enforce style creation - * - * @param string|int $index - * @param mixed $value - * @return void - */ - public function offsetSet($index, $value) - { - if (!$this->_isValid($value)) { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception('Invalid value passed to offsetSet; please use offsetSetStyle()'); - } - - return $this->getContainer()->offsetSet($index, $value); - } - - /** - * Override prepend to enforce style creation - * - * @param mixed $value - * @return void - */ - public function prepend($value) - { - if (!$this->_isValid($value)) { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception('Invalid value passed to prepend; please use prependStyle()'); - } - - return $this->getContainer()->prepend($value); - } - - /** - * Override set to enforce style creation - * - * @param mixed $value - * @return void - */ - public function set($value) - { - if (!$this->_isValid($value)) { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception('Invalid value passed to set; please use setStyle()'); - } - - return $this->getContainer()->set($value); - } - - /** - * Start capture action - * - * @param mixed $captureType - * @param string $typeOrAttrs - * @return void - */ - public function captureStart($type = Zend_View_Helper_Placeholder_Container_Abstract::APPEND, $attrs = null) - { - if ($this->_captureLock) { - require_once 'Zend/View/Helper/Placeholder/Container/Exception.php'; - throw new Zend_View_Helper_Placeholder_Container_Exception('Cannot nest headStyle captures'); - } - - $this->_captureLock = true; - $this->_captureAttrs = $attrs; - $this->_captureType = $type; - ob_start(); - } - - /** - * End capture action and store - * - * @return void - */ - public function captureEnd() - { - $content = ob_get_clean(); - $attrs = $this->_captureAttrs; - $this->_captureAttrs = null; - $this->_captureLock = false; - - switch ($this->_captureType) { - case Zend_View_Helper_Placeholder_Container_Abstract::SET: - $this->setStyle($content, $attrs); - break; - case Zend_View_Helper_Placeholder_Container_Abstract::PREPEND: - $this->prependStyle($content, $attrs); - break; - case Zend_View_Helper_Placeholder_Container_Abstract::APPEND: - default: - $this->appendStyle($content, $attrs); - break; - } - } - - /** - * Convert content and attributes into valid style tag - * - * @param stdClass $item Item to render - * @param string $indent Indentation to use - * @return string - */ - public function itemToString(stdClass $item, $indent) - { - $attrString = ''; - if (!empty($item->attributes)) { - foreach ($item->attributes as $key => $value) { - if (!in_array($key, $this->_optionalAttributes)) { - continue; - } - if ('media' == $key) { - if(false === strpos($value, ',')) { - if (!in_array($value, $this->_mediaTypes)) { - continue; - } - } else { - $media_types = explode(',', $value); - $value = ''; - foreach($media_types as $type) { - if (!in_array($type, $this->_mediaTypes)) { - continue; - } - $value .= $type .','; - } - $value = substr($value, 0, -1); - } - } - $attrString .= sprintf(' %s="%s"', $key, htmlspecialchars($value)); - } - } - - $html = ''; - - if (isset($item->attributes['conditional']) - && !empty($item->attributes['conditional']) - && is_string($item->attributes['conditional'])) - { - $html = ''; - } - - return $html; - } - - /** - * Create string representation of placeholder - * - * @param string|int $indent - * @return string - */ - public function toString($indent = null) - { - $indent = (null !== $indent) - ? $this->getWhitespace($indent) - : $this->getIndent(); - - $items = array(); - $this->getContainer()->ksort(); - foreach ($this as $item) { - if (!$this->_isValid($item)) { - continue; - } - $items[] = $this->itemToString($item, $indent); - } - - $return = $indent . implode($this->getSeparator() . $indent, $items); - $return = preg_replace("/(\r\n?|\n)/", '$1' . $indent, $return); - return $return; - } - - /** - * Create data item for use in stack - * - * @param string $content - * @param array $attributes - * @return stdClass - */ - public function createData($content, array $attributes) - { - if (!isset($attributes['media'])) { - $attributes['media'] = 'screen'; - } else if(is_array($attributes['media'])) { - $attributes['media'] = implode(',', $attributes['media']); - } - - $data = new stdClass(); - $data->content = $content; - $data->attributes = $attributes; - - return $data; - } -} diff --git a/lib/zend/Zend/View/Helper/HeadTitle.php b/lib/zend/Zend/View/Helper/HeadTitle.php deleted file mode 100644 index 58679bf82a..0000000000 --- a/lib/zend/Zend/View/Helper/HeadTitle.php +++ /dev/null @@ -1,178 +0,0 @@ -set($title); - } elseif ($setType == Zend_View_Helper_Placeholder_Container_Abstract::PREPEND) { - $this->prepend($title); - } else { - $this->append($title); - } - } - - return $this; - } - - /** - * Sets a translation Adapter for translation - * - * @param Zend_Translate|Zend_Translate_Adapter $translate - * @return Zend_View_Helper_HeadTitle - */ - public function setTranslator($translate) - { - if ($translate instanceof Zend_Translate_Adapter) { - $this->_translator = $translate; - } elseif ($translate instanceof Zend_Translate) { - $this->_translator = $translate->getAdapter(); - } else { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception("You must set an instance of Zend_Translate or Zend_Translate_Adapter"); - } - return $this; - } - - /* - * Retrieve translation object - * - * If none is currently registered, attempts to pull it from the registry - * using the key 'Zend_Translate'. - * - * @return Zend_Translate_Adapter|null - */ - public function getTranslator() - { - if (null === $this->_translator) { - require_once 'Zend/Registry.php'; - if (Zend_Registry::isRegistered('Zend_Translate')) { - $this->setTranslator(Zend_Registry::get('Zend_Translate')); - } - } - return $this->_translator; - } - - /** - * Enables translation - * - * @return Zend_View_Helper_HeadTitle - */ - public function enableTranslation() - { - $this->_translate = true; - return $this; - } - - /** - * Disables translation - * - * @return Zend_View_Helper_HeadTitle - */ - public function disableTranslation() - { - $this->_translate = false; - return $this; - } - - /** - * Turn helper into string - * - * @param string|null $indent - * @param string|null $locale - * @return string - */ - public function toString($indent = null, $locale = null) - { - $indent = (null !== $indent) - ? $this->getWhitespace($indent) - : $this->getIndent(); - - $items = array(); - - if($this->_translate && $translator = $this->getTranslator()) { - foreach ($this as $item) { - $items[] = $translator->translate($item, $locale); - } - } else { - foreach ($this as $item) { - $items[] = $item; - } - } - - $separator = $this->getSeparator(); - $output = ''; - if(($prefix = $this->getPrefix())) { - $output .= $prefix; - } - $output .= implode($separator, $items); - if(($postfix = $this->getPostfix())) { - $output .= $postfix; - } - - $output = ($this->_autoEscape) ? $this->_escape($output) : $output; - - return $indent . '' . $output . ''; - } -} diff --git a/lib/zend/Zend/View/Helper/HtmlElement.php b/lib/zend/Zend/View/Helper/HtmlElement.php deleted file mode 100644 index bfac219ef3..0000000000 --- a/lib/zend/Zend/View/Helper/HtmlElement.php +++ /dev/null @@ -1,141 +0,0 @@ -_closingBracket) { - if ($this->_isXhtml()) { - $this->_closingBracket = ' />'; - } else { - $this->_closingBracket = '>'; - } - } - - return $this->_closingBracket; - } - - /** - * Is doctype XHTML? - * - * @return boolean - */ - protected function _isXhtml() - { - $doctype = $this->view->doctype(); - return $doctype->isXhtml(); - } - - /** - * Converts an associative array to a string of tag attributes. - * - * @access public - * - * @param array $attribs From this array, each key-value pair is - * converted to an attribute name and value. - * - * @return string The XHTML for the attributes. - */ - protected function _htmlAttribs($attribs) - { - $xhtml = ''; - foreach ((array) $attribs as $key => $val) { - $key = $this->view->escape($key); - - if (('on' == substr($key, 0, 2)) || ('constraints' == $key)) { - // Don't escape event attributes; _do_ substitute double quotes with singles - if (!is_scalar($val)) { - // non-scalar data should be cast to JSON first - require_once 'Zend/Json.php'; - $val = Zend_Json::encode($val); - } - $val = preg_replace('/"([^"]*)":/', '$1:', $val); - } else { - if (is_array($val)) { - $val = implode(' ', $val); - } - $val = $this->view->escape($val); - } - - if ('id' == $key) { - $val = $this->_normalizeId($val); - } - - if (strpos($val, '"') !== false) { - $xhtml .= " $key='$val'"; - } else { - $xhtml .= " $key=\"$val\""; - } - - } - return $xhtml; - } - - /** - * Normalize an ID - * - * @param string $value - * @return string - */ - protected function _normalizeId($value) - { - if (strstr($value, '[')) { - if ('[]' == substr($value, -2)) { - $value = substr($value, 0, strlen($value) - 2); - } - $value = trim($value, ']'); - $value = str_replace('][', '-', $value); - $value = str_replace('[', '-', $value); - } - return $value; - } -} diff --git a/lib/zend/Zend/View/Helper/HtmlFlash.php b/lib/zend/Zend/View/Helper/HtmlFlash.php deleted file mode 100644 index f54339adc2..0000000000 --- a/lib/zend/Zend/View/Helper/HtmlFlash.php +++ /dev/null @@ -1,60 +0,0 @@ - $data, - 'quality' => 'high'), $params); - - return $this->htmlObject($data, self::TYPE, $attribs, $params, $content); - } -} diff --git a/lib/zend/Zend/View/Helper/HtmlList.php b/lib/zend/Zend/View/Helper/HtmlList.php deleted file mode 100644 index 71736334ac..0000000000 --- a/lib/zend/Zend/View/Helper/HtmlList.php +++ /dev/null @@ -1,88 +0,0 @@ -view->escape($item); - } - $list .= '
  • ' . $item . '
  • ' . self::EOL; - } else { - if (6 < strlen($list)) { - $list = substr($list, 0, strlen($list) - 6) - . $this->htmlList($item, $ordered, $attribs, $escape) . '' . self::EOL; - } else { - $list .= '
  • ' . $this->htmlList($item, $ordered, $attribs, $escape) . '
  • ' . self::EOL; - } - } - } - - if ($attribs) { - $attribs = $this->_htmlAttribs($attribs); - } else { - $attribs = ''; - } - - $tag = 'ul'; - if ($ordered) { - $tag = 'ol'; - } - - return '<' . $tag . $attribs . '>' . self::EOL . $list . '' . self::EOL; - } -} diff --git a/lib/zend/Zend/View/Helper/HtmlObject.php b/lib/zend/Zend/View/Helper/HtmlObject.php deleted file mode 100644 index 7f93d4dd98..0000000000 --- a/lib/zend/Zend/View/Helper/HtmlObject.php +++ /dev/null @@ -1,80 +0,0 @@ - $data, - 'type' => $type), $attribs); - - // Params - $paramHtml = array(); - $closingBracket = $this->getClosingBracket(); - - foreach ($params as $param => $options) { - if (is_string($options)) { - $options = array('value' => $options); - } - - $options = array_merge(array('name' => $param), $options); - - $paramHtml[] = '_htmlAttribs($options) . $closingBracket; - } - - // Content - if (is_array($content)) { - $content = implode(self::EOL, $content); - } - - // Object header - $xhtml = '_htmlAttribs($attribs) . '>' . self::EOL - . implode(self::EOL, $paramHtml) . self::EOL - . ($content ? $content . self::EOL : '') - . ''; - - return $xhtml; - } -} diff --git a/lib/zend/Zend/View/Helper/HtmlPage.php b/lib/zend/Zend/View/Helper/HtmlPage.php deleted file mode 100644 index 2256662066..0000000000 --- a/lib/zend/Zend/View/Helper/HtmlPage.php +++ /dev/null @@ -1,75 +0,0 @@ - self::ATTRIB_CLASSID); - - /** - * Output a html object tag - * - * @param string $data The html url - * @param array $attribs Attribs for the object tag - * @param array $params Params for in the object tag - * @param string $content Alternative content - * @return string - */ - public function htmlPage($data, array $attribs = array(), array $params = array(), $content = null) - { - // Attrs - $attribs = array_merge($this->_attribs, $attribs); - - // Params - $params = array_merge(array('data' => $data), $params); - - return $this->htmlObject($data, self::TYPE, $attribs, $params, $content); - } -} diff --git a/lib/zend/Zend/View/Helper/HtmlQuicktime.php b/lib/zend/Zend/View/Helper/HtmlQuicktime.php deleted file mode 100644 index 52e4fdd72e..0000000000 --- a/lib/zend/Zend/View/Helper/HtmlQuicktime.php +++ /dev/null @@ -1,82 +0,0 @@ - self::ATTRIB_CLASSID, - 'codebase' => self::ATTRIB_CODEBASE); - - /** - * Output a quicktime movie object tag - * - * @param string $data The quicktime file - * @param array $attribs Attribs for the object tag - * @param array $params Params for in the object tag - * @param string $content Alternative content - * @return string - */ - public function htmlQuicktime($data, array $attribs = array(), array $params = array(), $content = null) - { - // Attrs - $attribs = array_merge($this->_attribs, $attribs); - - // Params - $params = array_merge(array('src' => $data), $params); - - return $this->htmlObject($data, self::TYPE, $attribs, $params, $content); - } -} diff --git a/lib/zend/Zend/View/Helper/InlineScript.php b/lib/zend/Zend/View/Helper/InlineScript.php deleted file mode 100644 index feb56ab20e..0000000000 --- a/lib/zend/Zend/View/Helper/InlineScript.php +++ /dev/null @@ -1,61 +0,0 @@ -headScript($mode, $spec, $placement, $attrs, $type); - } -} diff --git a/lib/zend/Zend/View/Helper/Interface.php b/lib/zend/Zend/View/Helper/Interface.php deleted file mode 100644 index f59433e4e0..0000000000 --- a/lib/zend/Zend/View/Helper/Interface.php +++ /dev/null @@ -1,46 +0,0 @@ -true|false - * this array can contains a 'keepLayout'=>true|false - * that will not be passed to Zend_Json::encode method but will be used here - * @return string|void - */ - public function json($data, $keepLayouts = false) - { - $options = array(); - if (is_array($keepLayouts)) - { - $options = $keepLayouts; - $keepLayouts = (array_key_exists('keepLayouts', $keepLayouts)) - ? $keepLayouts['keepLayouts'] - : false; - unset($options['keepLayouts']); - } - - $data = Zend_Json::encode($data, null, $options); - if (!$keepLayouts) { - require_once 'Zend/Layout.php'; - $layout = Zend_Layout::getMvcInstance(); - if ($layout instanceof Zend_Layout) { - $layout->disableLayout(); - } - } - - $response = Zend_Controller_Front::getInstance()->getResponse(); - $response->setHeader('Content-Type', 'application/json'); - return $data; - } -} diff --git a/lib/zend/Zend/View/Helper/Layout.php b/lib/zend/Zend/View/Helper/Layout.php deleted file mode 100644 index 6023cacdfd..0000000000 --- a/lib/zend/Zend/View/Helper/Layout.php +++ /dev/null @@ -1,81 +0,0 @@ -_layout) { - require_once 'Zend/Layout.php'; - $this->_layout = Zend_Layout::getMvcInstance(); - if (null === $this->_layout) { - // Implicitly creates layout object - $this->_layout = new Zend_Layout(); - } - } - - return $this->_layout; - } - - /** - * Set layout object - * - * @param Zend_Layout $layout - * @return Zend_Layout_Controller_Action_Helper_Layout - */ - public function setLayout(Zend_Layout $layout) - { - $this->_layout = $layout; - return $this; - } - - /** - * Return layout object - * - * Usage: $this->layout()->setLayout('alternate'); - * - * @return Zend_Layout - */ - public function layout() - { - return $this->getLayout(); - } -} diff --git a/lib/zend/Zend/View/Helper/Navigation.php b/lib/zend/Zend/View/Helper/Navigation.php deleted file mode 100644 index 6e21900bd2..0000000000 --- a/lib/zend/Zend/View/Helper/Navigation.php +++ /dev/null @@ -1,336 +0,0 @@ -setContainer($container); - } - - return $this; - } - - /** - * Magic overload: Proxy to other navigation helpers or the container - * - * Examples of usage from a view script or layout: - * - * // proxy to Menu helper and render container: - * echo $this->navigation()->menu(); - * - * // proxy to Breadcrumbs helper and set indentation: - * $this->navigation()->breadcrumbs()->setIndent(8); - * - * // proxy to container and find all pages with 'blog' route: - * $blogPages = $this->navigation()->findAllByRoute('blog'); - * - * - * @param string $method helper name or method name in - * container - * @param array $arguments [optional] arguments to pass - * @return mixed returns what the proxied call returns - * @throws Zend_View_Exception if proxying to a helper, and the - * helper is not an instance of the - * interface specified in - * {@link findHelper()} - * @throws Zend_Navigation_Exception if method does not exist in container - */ - public function __call($method, array $arguments = array()) - { - // check if call should proxy to another helper - if ($helper = $this->findHelper($method, false)) { - return call_user_func_array(array($helper, $method), $arguments); - } - - // default behaviour: proxy call to container - return parent::__call($method, $arguments); - } - - /** - * Returns the helper matching $proxy - * - * The helper must implement the interface - * {@link Zend_View_Helper_Navigation_Helper}. - * - * @param string $proxy helper name - * @param bool $strict [optional] whether - * exceptions should be - * thrown if something goes - * wrong. Default is true. - * @return Zend_View_Helper_Navigation_Helper helper instance - * @throws Zend_Loader_PluginLoader_Exception if $strict is true and - * helper cannot be found - * @throws Zend_View_Exception if $strict is true and - * helper does not implement - * the specified interface - */ - public function findHelper($proxy, $strict = true) - { - if (isset($this->_helpers[$proxy])) { - return $this->_helpers[$proxy]; - } - - if (!$this->view->getPluginLoader('helper')->getPaths(self::NS)) { - $this->view->addHelperPath( - str_replace('_', '/', self::NS), - self::NS); - } - - if ($strict) { - $helper = $this->view->getHelper($proxy); - } else { - try { - $helper = $this->view->getHelper($proxy); - } catch (Zend_Loader_PluginLoader_Exception $e) { - return null; - } - } - - if (!$helper instanceof Zend_View_Helper_Navigation_Helper) { - if ($strict) { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception(sprintf( - 'Proxy helper "%s" is not an instance of ' . - 'Zend_View_Helper_Navigation_Helper', - get_class($helper))); - } - - return null; - } - - $this->_inject($helper); - $this->_helpers[$proxy] = $helper; - - return $helper; - } - - /** - * Injects container, ACL, and translator to the given $helper if this - * helper is configured to do so - * - * @param Zend_View_Helper_Navigation_Helper $helper helper instance - * @return void - */ - protected function _inject(Zend_View_Helper_Navigation_Helper $helper) - { - if ($this->getInjectContainer() && !$helper->hasContainer()) { - $helper->setContainer($this->getContainer()); - } - - if ($this->getInjectAcl()) { - if (!$helper->hasAcl()) { - $helper->setAcl($this->getAcl()); - } - if (!$helper->hasRole()) { - $helper->setRole($this->getRole()); - } - } - - if ($this->getInjectTranslator() && !$helper->hasTranslator()) { - $helper->setTranslator($this->getTranslator()); - } - } - - // Accessors: - - /** - * Sets the default proxy to use in {@link render()} - * - * @param string $proxy default proxy - * @return Zend_View_Helper_Navigation fluent interface, returns self - */ - public function setDefaultProxy($proxy) - { - $this->_defaultProxy = (string) $proxy; - return $this; - } - - /** - * Returns the default proxy to use in {@link render()} - * - * @return string the default proxy to use in {@link render()} - */ - public function getDefaultProxy() - { - return $this->_defaultProxy; - } - - /** - * Sets whether container should be injected when proxying - * - * @param bool $injectContainer [optional] whether container should - * be injected when proxying. Default - * is true. - * @return Zend_View_Helper_Navigation fluent interface, returns self - */ - public function setInjectContainer($injectContainer = true) - { - $this->_injectContainer = (bool) $injectContainer; - return $this; - } - - /** - * Returns whether container should be injected when proxying - * - * @return bool whether container should be injected when proxying - */ - public function getInjectContainer() - { - return $this->_injectContainer; - } - - /** - * Sets whether ACL should be injected when proxying - * - * @param bool $injectAcl [optional] whether ACL should be - * injected when proxying. Default is - * true. - * @return Zend_View_Helper_Navigation fluent interface, returns self - */ - public function setInjectAcl($injectAcl = true) - { - $this->_injectAcl = (bool) $injectAcl; - return $this; - } - - /** - * Returns whether ACL should be injected when proxying - * - * @return bool whether ACL should be injected when proxying - */ - public function getInjectAcl() - { - return $this->_injectAcl; - } - - /** - * Sets whether translator should be injected when proxying - * - * @param bool $injectTranslator [optional] whether translator should - * be injected when proxying. Default - * is true. - * @return Zend_View_Helper_Navigation fluent interface, returns self - */ - public function setInjectTranslator($injectTranslator = true) - { - $this->_injectTranslator = (bool) $injectTranslator; - return $this; - } - - /** - * Returns whether translator should be injected when proxying - * - * @return bool whether translator should be injected when proxying - */ - public function getInjectTranslator() - { - return $this->_injectTranslator; - } - - // Zend_View_Helper_Navigation_Helper: - - /** - * Renders helper - * - * @param Zend_Navigation_Container $container [optional] container to - * render. Default is to - * render the container - * registered in the helper. - * @return string helper output - * @throws Zend_Loader_PluginLoader_Exception if helper cannot be found - * @throws Zend_View_Exception if helper doesn't implement - * the interface specified in - * {@link findHelper()} - */ - public function render(Zend_Navigation_Container $container = null) - { - $helper = $this->findHelper($this->getDefaultProxy()); - return $helper->render($container); - } -} diff --git a/lib/zend/Zend/View/Helper/Navigation/Breadcrumbs.php b/lib/zend/Zend/View/Helper/Navigation/Breadcrumbs.php deleted file mode 100644 index a4ef71f527..0000000000 --- a/lib/zend/Zend/View/Helper/Navigation/Breadcrumbs.php +++ /dev/null @@ -1,325 +0,0 @@ -setContainer($container); - } - - return $this; - } - - // Accessors: - - /** - * Sets breadcrumb separator - * - * @param string $separator separator string - * @return Zend_View_Helper_Navigation_Breadcrumbs fluent interface, - * returns self - */ - public function setSeparator($separator) - { - if (is_string($separator)) { - $this->_separator = $separator; - } - - return $this; - } - - /** - * Returns breadcrumb separator - * - * @return string breadcrumb separator - */ - public function getSeparator() - { - return $this->_separator; - } - - /** - * Sets whether last page in breadcrumbs should be hyperlinked - * - * @param bool $linkLast whether last page should - * be hyperlinked - * @return Zend_View_Helper_Navigation_Breadcrumbs fluent interface, - * returns self - */ - public function setLinkLast($linkLast) - { - $this->_linkLast = (bool) $linkLast; - return $this; - } - - /** - * Returns whether last page in breadcrumbs should be hyperlinked - * - * @return bool whether last page in breadcrumbs should be hyperlinked - */ - public function getLinkLast() - { - return $this->_linkLast; - } - - /** - * Sets which partial view script to use for rendering menu - * - * @param string|array $partial partial view script or - * null. If an array is - * given, it is expected to - * contain two values; - * the partial view script - * to use, and the module - * where the script can be - * found. - * @return Zend_View_Helper_Navigation_Breadcrumbs fluent interface, - * returns self - */ - public function setPartial($partial) - { - if (null === $partial || is_string($partial) || is_array($partial)) { - $this->_partial = $partial; - } - - return $this; - } - - /** - * Returns partial view script to use for rendering menu - * - * @return string|array|null - */ - public function getPartial() - { - return $this->_partial; - } - - // Render methods: - - /** - * Renders breadcrumbs by chaining 'a' elements with the separator - * registered in the helper - * - * @param Zend_Navigation_Container $container [optional] container to - * render. Default is to - * render the container - * registered in the helper. - * @return string helper output - */ - public function renderStraight(Zend_Navigation_Container $container = null) - { - if (null === $container) { - $container = $this->getContainer(); - } - - // find deepest active - if (!$active = $this->findActive($container)) { - return ''; - } - - $active = $active['page']; - - // put the deepest active page last in breadcrumbs - if ($this->getLinkLast()) { - $html = $this->htmlify($active); - } else { - $html = $active->getLabel(); - if ($this->getUseTranslator() && $t = $this->getTranslator()) { - $html = $t->translate($html); - } - $html = $this->view->escape($html); - } - - // walk back to root - while ($parent = $active->getParent()) { - if ($parent instanceof Zend_Navigation_Page) { - // prepend crumb to html - $html = $this->htmlify($parent) - . $this->getSeparator() - . $html; - } - - if ($parent === $container) { - // at the root of the given container - break; - } - - $active = $parent; - } - - return strlen($html) ? $this->getIndent() . $html : ''; - } - - /** - * Renders the given $container by invoking the partial view helper - * - * The container will simply be passed on as a model to the view script, - * so in the script it will be available in $this->container. - * - * @param Zend_Navigation_Container $container [optional] container to - * pass to view script. - * Default is to use the - * container registered in the - * helper. - * @param string|array $partial [optional] partial view - * script to use. Default is - * to use the partial - * registered in the helper. - * If an array is given, it is - * expected to contain two - * values; the partial view - * script to use, and the - * module where the script can - * be found. - * @return string helper output - */ - public function renderPartial(Zend_Navigation_Container $container = null, - $partial = null) - { - if (null === $container) { - $container = $this->getContainer(); - } - - if (null === $partial) { - $partial = $this->getPartial(); - } - - if (empty($partial)) { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception( - 'Unable to render menu: No partial view script provided'); - } - - // put breadcrumb pages in model - $model = array('pages' => array()); - if ($active = $this->findActive($container)) { - $active = $active['page']; - $model['pages'][] = $active; - while ($parent = $active->getParent()) { - if ($parent instanceof Zend_Navigation_Page) { - $model['pages'][] = $parent; - } else { - break; - } - - if ($parent === $container) { - // break if at the root of the given container - break; - } - - $active = $parent; - } - $model['pages'] = array_reverse($model['pages']); - } - - if (is_array($partial)) { - if (count($partial) != 2) { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception( - 'Unable to render menu: A view partial supplied as ' . - 'an array must contain two values: partial view ' . - 'script and module where script can be found'); - } - - return $this->view->partial($partial[0], $partial[1], $model); - } - - return $this->view->partial($partial, null, $model); - } - - // Zend_View_Helper_Navigation_Helper: - - /** - * Renders helper - * - * Implements {@link Zend_View_Helper_Navigation_Helper::render()}. - * - * @param Zend_Navigation_Container $container [optional] container to - * render. Default is to - * render the container - * registered in the helper. - * @return string helper output - */ - public function render(Zend_Navigation_Container $container = null) - { - if ($partial = $this->getPartial()) { - return $this->renderPartial($container, $partial); - } else { - return $this->renderStraight($container); - } - } -} diff --git a/lib/zend/Zend/View/Helper/Navigation/Helper.php b/lib/zend/Zend/View/Helper/Navigation/Helper.php deleted file mode 100644 index a9b675090a..0000000000 --- a/lib/zend/Zend/View/Helper/Navigation/Helper.php +++ /dev/null @@ -1,212 +0,0 @@ -_container = $container; - return $this; - } - - /** - * Returns the navigation container helper operates on by default - * - * Implements {@link Zend_View_Helper_Navigation_Interface::getContainer()}. - * - * If a helper is not explicitly set in this helper instance by calling - * {@link setContainer()} or by passing it through the helper entry point, - * this method will look in {@link Zend_Registry} for a container by using - * the key 'Zend_Navigation'. - * - * If no container is set, and nothing is found in Zend_Registry, a new - * container will be instantiated and stored in the helper. - * - * @return Zend_Navigation_Container navigation container - */ - public function getContainer() - { - if (null === $this->_container) { - // try to fetch from registry first - require_once 'Zend/Registry.php'; - if (Zend_Registry::isRegistered('Zend_Navigation')) { - $nav = Zend_Registry::get('Zend_Navigation'); - if ($nav instanceof Zend_Navigation_Container) { - return $this->_container = $nav; - } - } - - // nothing found in registry, create new container - require_once 'Zend/Navigation.php'; - $this->_container = new Zend_Navigation(); - } - - return $this->_container; - } - - /** - * Sets the minimum depth a page must have to be included when rendering - * - * @param int $minDepth [optional] minimum - * depth. Default is - * null, which sets - * no minimum depth. - * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface, - * returns self - */ - public function setMinDepth($minDepth = null) - { - if (null === $minDepth || is_int($minDepth)) { - $this->_minDepth = $minDepth; - } else { - $this->_minDepth = (int) $minDepth; - } - return $this; - } - - /** - * Returns minimum depth a page must have to be included when rendering - * - * @return int|null minimum depth or null - */ - public function getMinDepth() - { - if (!is_int($this->_minDepth) || $this->_minDepth < 0) { - return 0; - } - return $this->_minDepth; - } - - /** - * Sets the maximum depth a page can have to be included when rendering - * - * @param int $maxDepth [optional] maximum - * depth. Default is - * null, which sets no - * maximum depth. - * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface, - * returns self - */ - public function setMaxDepth($maxDepth = null) - { - if (null === $maxDepth || is_int($maxDepth)) { - $this->_maxDepth = $maxDepth; - } else { - $this->_maxDepth = (int) $maxDepth; - } - return $this; - } - - /** - * Returns maximum depth a page can have to be included when rendering - * - * @return int|null maximum depth or null - */ - public function getMaxDepth() - { - return $this->_maxDepth; - } - - /** - * Set the indentation string for using in {@link render()}, optionally a - * number of spaces to indent with - * - * @param string|int $indent indentation string or - * number of spaces - * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface, - * returns self - */ - public function setIndent($indent) - { - $this->_indent = $this->_getWhitespace($indent); - return $this; - } - - /** - * Returns indentation - * - * @return string - */ - public function getIndent() - { - return $this->_indent; - } - - /** - * Sets translator to use in helper - * - * Implements {@link Zend_View_Helper_Navigation_Helper::setTranslator()}. - * - * @param mixed $translator [optional] translator. - * Expects an object of - * type - * {@link Zend_Translate_Adapter} - * or {@link Zend_Translate}, - * or null. Default is - * null, which sets no - * translator. - * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface, - * returns self - */ - public function setTranslator($translator = null) - { - if (null == $translator || - $translator instanceof Zend_Translate_Adapter) { - $this->_translator = $translator; - } elseif ($translator instanceof Zend_Translate) { - $this->_translator = $translator->getAdapter(); - } - - return $this; - } - - /** - * Returns translator used in helper - * - * Implements {@link Zend_View_Helper_Navigation_Helper::getTranslator()}. - * - * @return Zend_Translate_Adapter|null translator or null - */ - public function getTranslator() - { - if (null === $this->_translator) { - require_once 'Zend/Registry.php'; - if (Zend_Registry::isRegistered('Zend_Translate')) { - $this->setTranslator(Zend_Registry::get('Zend_Translate')); - } - } - - return $this->_translator; - } - - /** - * Sets ACL to use when iterating pages - * - * Implements {@link Zend_View_Helper_Navigation_Helper::setAcl()}. - * - * @param Zend_Acl $acl [optional] ACL object. - * Default is null. - * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface, - * returns self - */ - public function setAcl(Zend_Acl $acl = null) - { - $this->_acl = $acl; - return $this; - } - - /** - * Returns ACL or null if it isn't set using {@link setAcl()} or - * {@link setDefaultAcl()} - * - * Implements {@link Zend_View_Helper_Navigation_Helper::getAcl()}. - * - * @return Zend_Acl|null ACL object or null - */ - public function getAcl() - { - if ($this->_acl === null && self::$_defaultAcl !== null) { - return self::$_defaultAcl; - } - - return $this->_acl; - } - - /** - * Sets ACL role(s) to use when iterating pages - * - * Implements {@link Zend_View_Helper_Navigation_Helper::setRole()}. - * - * @param mixed $role [optional] role to - * set. Expects a string, - * an instance of type - * {@link Zend_Acl_Role_Interface}, - * or null. Default is - * null, which will set - * no role. - * @throws Zend_View_Exception if $role is invalid - * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface, - * returns self - */ - public function setRole($role = null) - { - if (null === $role || is_string($role) || - $role instanceof Zend_Acl_Role_Interface) { - $this->_role = $role; - } else { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception(sprintf( - '$role must be a string, null, or an instance of ' . - 'Zend_Acl_Role_Interface; %s given', - gettype($role))); - } - - return $this; - } - - /** - * Returns ACL role to use when iterating pages, or null if it isn't set - * using {@link setRole()} or {@link setDefaultRole()} - * - * Implements {@link Zend_View_Helper_Navigation_Helper::getRole()}. - * - * @return string|Zend_Acl_Role_Interface|null role or null - */ - public function getRole() - { - if ($this->_role === null && self::$_defaultRole !== null) { - return self::$_defaultRole; - } - - return $this->_role; - } - - /** - * Sets whether ACL should be used - * - * Implements {@link Zend_View_Helper_Navigation_Helper::setUseAcl()}. - * - * @param bool $useAcl [optional] whether ACL - * should be used. - * Default is true. - * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface, - * returns self - */ - public function setUseAcl($useAcl = true) - { - $this->_useAcl = (bool) $useAcl; - return $this; - } - - /** - * Returns whether ACL should be used - * - * Implements {@link Zend_View_Helper_Navigation_Helper::getUseAcl()}. - * - * @return bool whether ACL should be used - */ - public function getUseAcl() - { - return $this->_useAcl; - } - - /** - * Return renderInvisible flag - * - * @return bool - */ - public function getRenderInvisible() - { - return $this->_renderInvisible; - } - - /** - * Render invisible items? - * - * @param bool $renderInvisible [optional] boolean flag - * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface - * returns self - */ - public function setRenderInvisible($renderInvisible = true) - { - $this->_renderInvisible = (bool) $renderInvisible; - return $this; - } - - /** - * Sets whether translator should be used - * - * Implements {@link Zend_View_Helper_Navigation_Helper::setUseTranslator()}. - * - * @param bool $useTranslator [optional] whether - * translator should be - * used. Default is true. - * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface, - * returns self - */ - public function setUseTranslator($useTranslator = true) - { - $this->_useTranslator = (bool) $useTranslator; - return $this; - } - - /** - * Returns whether translator should be used - * - * Implements {@link Zend_View_Helper_Navigation_Helper::getUseTranslator()}. - * - * @return bool whether translator should be used - */ - public function getUseTranslator() - { - return $this->_useTranslator; - } - - // Magic overloads: - - /** - * Magic overload: Proxy calls to the navigation container - * - * @param string $method method name in container - * @param array $arguments [optional] arguments to pass - * @return mixed returns what the container returns - * @throws Zend_Navigation_Exception if method does not exist in container - */ - public function __call($method, array $arguments = array()) - { - return call_user_func_array( - array($this->getContainer(), $method), - $arguments); - } - - /** - * Magic overload: Proxy to {@link render()}. - * - * This method will trigger an E_USER_ERROR if rendering the helper causes - * an exception to be thrown. - * - * Implements {@link Zend_View_Helper_Navigation_Helper::__toString()}. - * - * @return string - */ - public function __toString() - { - try { - return $this->render(); - } catch (Exception $e) { - $msg = get_class($e) . ': ' . $e->getMessage(); - trigger_error($msg, E_USER_ERROR); - return ''; - } - } - - // Public methods: - - /** - * Finds the deepest active page in the given container - * - * @param Zend_Navigation_Container $container container to search - * @param int|null $minDepth [optional] minimum depth - * required for page to be - * valid. Default is to use - * {@link getMinDepth()}. A - * null value means no minimum - * depth required. - * @param int|null $minDepth [optional] maximum depth - * a page can have to be - * valid. Default is to use - * {@link getMaxDepth()}. A - * null value means no maximum - * depth required. - * @return array an associative array with - * the values 'depth' and - * 'page', or an empty array - * if not found - */ - public function findActive(Zend_Navigation_Container $container, - $minDepth = null, - $maxDepth = -1) - { - if (!is_int($minDepth)) { - $minDepth = $this->getMinDepth(); - } - if ((!is_int($maxDepth) || $maxDepth < 0) && null !== $maxDepth) { - $maxDepth = $this->getMaxDepth(); - } - - $found = null; - $foundDepth = -1; - $iterator = new RecursiveIteratorIterator($container, - RecursiveIteratorIterator::CHILD_FIRST); - - foreach ($iterator as $page) { - $currDepth = $iterator->getDepth(); - if ($currDepth < $minDepth || !$this->accept($page)) { - // page is not accepted - continue; - } - - if ($page->isActive(false) && $currDepth > $foundDepth) { - // found an active page at a deeper level than before - $found = $page; - $foundDepth = $currDepth; - } - } - - if (is_int($maxDepth) && $foundDepth > $maxDepth) { - while ($foundDepth > $maxDepth) { - if (--$foundDepth < $minDepth) { - $found = null; - break; - } - - $found = $found->getParent(); - if (!$found instanceof Zend_Navigation_Page) { - $found = null; - break; - } - } - } - - if ($found) { - return array('page' => $found, 'depth' => $foundDepth); - } else { - return array(); - } - } - - /** - * Checks if the helper has a container - * - * Implements {@link Zend_View_Helper_Navigation_Helper::hasContainer()}. - * - * @return bool whether the helper has a container or not - */ - public function hasContainer() - { - return null !== $this->_container; - } - - /** - * Checks if the helper has an ACL instance - * - * Implements {@link Zend_View_Helper_Navigation_Helper::hasAcl()}. - * - * @return bool whether the helper has a an ACL instance or not - */ - public function hasAcl() - { - return null !== $this->_acl; - } - - /** - * Checks if the helper has an ACL role - * - * Implements {@link Zend_View_Helper_Navigation_Helper::hasRole()}. - * - * @return bool whether the helper has a an ACL role or not - */ - public function hasRole() - { - return null !== $this->_role; - } - - /** - * Checks if the helper has a translator - * - * Implements {@link Zend_View_Helper_Navigation_Helper::hasTranslator()}. - * - * @return bool whether the helper has a translator or not - */ - public function hasTranslator() - { - return null !== $this->_translator; - } - - /** - * Returns an HTML string containing an 'a' element for the given page - * - * @param Zend_Navigation_Page $page page to generate HTML for - * @return string HTML string for the given page - */ - public function htmlify(Zend_Navigation_Page $page) - { - // get label and title for translating - $label = $page->getLabel(); - $title = $page->getTitle(); - - if ($this->getUseTranslator() && $t = $this->getTranslator()) { - if (is_string($label) && !empty($label)) { - $label = $t->translate($label); - } - if (is_string($title) && !empty($title)) { - $title = $t->translate($title); - } - } - - // get attribs for anchor element - $attribs = array( - 'id' => $page->getId(), - 'title' => $title, - 'class' => $page->getClass(), - 'href' => $page->getHref(), - 'target' => $page->getTarget() - ); - - return '_htmlAttribs($attribs) . '>' - . $this->view->escape($label) - . ''; - } - - // Iterator filter methods: - - /** - * Determines whether a page should be accepted when iterating - * - * Rules: - * - If a page is not visible it is not accepted, unless RenderInvisible has - * been set to true. - * - If helper has no ACL, page is accepted - * - If helper has ACL, but no role, page is not accepted - * - If helper has ACL and role: - * - Page is accepted if it has no resource or privilege - * - Page is accepted if ACL allows page's resource or privilege - * - If page is accepted by the rules above and $recursive is true, the page - * will not be accepted if it is the descendant of a non-accepted page. - * - * @param Zend_Navigation_Page $page page to check - * @param bool $recursive [optional] if true, page will not - * be accepted if it is the - * descendant of a page that is not - * accepted. Default is true. - * @return bool whether page should be accepted - */ - public function accept(Zend_Navigation_Page $page, $recursive = true) - { - // accept by default - $accept = true; - - if (!$page->isVisible(false) && !$this->getRenderInvisible()) { - // don't accept invisible pages - $accept = false; - } elseif ($this->getUseAcl() && !$this->_acceptAcl($page)) { - // acl is not amused - $accept = false; - } - - if ($accept && $recursive) { - $parent = $page->getParent(); - if ($parent instanceof Zend_Navigation_Page) { - $accept = $this->accept($parent, true); - } - } - - return $accept; - } - - /** - * Determines whether a page should be accepted by ACL when iterating - * - * Rules: - * - If helper has no ACL, page is accepted - * - If page has a resource or privilege defined, page is accepted - * if the ACL allows access to it using the helper's role - * - If page has no resource or privilege, page is accepted - * - * @param Zend_Navigation_Page $page page to check - * @return bool whether page is accepted by ACL - */ - protected function _acceptAcl(Zend_Navigation_Page $page) - { - if (!$acl = $this->getAcl()) { - // no acl registered means don't use acl - return true; - } - - $role = $this->getRole(); - $resource = $page->getResource(); - $privilege = $page->getPrivilege(); - - if ($resource || $privilege) { - // determine using helper role and page resource/privilege - return $acl->isAllowed($role, $resource, $privilege); - } - - return true; - } - - // Util methods: - - /** - * Retrieve whitespace representation of $indent - * - * @param int|string $indent - * @return string - */ - protected function _getWhitespace($indent) - { - if (is_int($indent)) { - $indent = str_repeat(' ', $indent); - } - - return (string) $indent; - } - - /** - * Converts an associative array to a string of tag attributes. - * - * Overloads {@link Zend_View_Helper_HtmlElement::_htmlAttribs()}. - * - * @param array $attribs an array where each key-value pair is converted - * to an attribute name and value - * @return string an attribute string - */ - protected function _htmlAttribs($attribs) - { - // filter out null values and empty string values - foreach ($attribs as $key => $value) { - if ($value === null || (is_string($value) && !strlen($value))) { - unset($attribs[$key]); - } - } - - return parent::_htmlAttribs($attribs); - } - - /** - * Normalize an ID - * - * Overrides {@link Zend_View_Helper_HtmlElement::_normalizeId()}. - * - * @param string $value - * @return string - */ - protected function _normalizeId($value) - { - $prefix = get_class($this); - $prefix = strtolower(trim(substr($prefix, strrpos($prefix, '_')), '_')); - - return $prefix . '-' . $value; - } - - // Static methods: - - /** - * Sets default ACL to use if another ACL is not explicitly set - * - * @param Zend_Acl $acl [optional] ACL object. Default is null, which - * sets no ACL object. - * @return void - */ - public static function setDefaultAcl(Zend_Acl $acl = null) - { - self::$_defaultAcl = $acl; - } - - /** - * Sets default ACL role(s) to use when iterating pages if not explicitly - * set later with {@link setRole()} - * - * @param midex $role [optional] role to set. Expects null, - * string, or an instance of - * {@link Zend_Acl_Role_Interface}. - * Default is null, which sets no default - * role. - * @throws Zend_View_Exception if role is invalid - * @return void - */ - public static function setDefaultRole($role = null) - { - if (null === $role || - is_string($role) || - $role instanceof Zend_Acl_Role_Interface) { - self::$_defaultRole = $role; - } else { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception( - '$role must be null|string|Zend_Acl_Role_Interface'); - } - } -} diff --git a/lib/zend/Zend/View/Helper/Navigation/Links.php b/lib/zend/Zend/View/Helper/Navigation/Links.php deleted file mode 100644 index f4302b8404..0000000000 --- a/lib/zend/Zend/View/Helper/Navigation/Links.php +++ /dev/null @@ -1,779 +0,0 @@ - elements - * - * @category Zend - * @package Zend_View - * @subpackage Helper - * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - */ -class Zend_View_Helper_Navigation_Links - extends Zend_View_Helper_Navigation_HelperAbstract -{ - /**#@+ - * Constants used for specifying which link types to find and render - * - * @var int - */ - const RENDER_ALTERNATE = 0x0001; - const RENDER_STYLESHEET = 0x0002; - const RENDER_START = 0x0004; - const RENDER_NEXT = 0x0008; - const RENDER_PREV = 0x0010; - const RENDER_CONTENTS = 0x0020; - const RENDER_INDEX = 0x0040; - const RENDER_GLOSSARY = 0x0080; - const RENDER_COPYRIGHT = 0x0100; - const RENDER_CHAPTER = 0x0200; - const RENDER_SECTION = 0x0400; - const RENDER_SUBSECTION = 0x0800; - const RENDER_APPENDIX = 0x1000; - const RENDER_HELP = 0x2000; - const RENDER_BOOKMARK = 0x4000; - const RENDER_CUSTOM = 0x8000; - const RENDER_ALL = 0xffff; - /**#@+**/ - - /** - * Maps render constants to W3C link types - * - * @var array - */ - protected static $_RELATIONS = array( - self::RENDER_ALTERNATE => 'alternate', - self::RENDER_STYLESHEET => 'stylesheet', - self::RENDER_START => 'start', - self::RENDER_NEXT => 'next', - self::RENDER_PREV => 'prev', - self::RENDER_CONTENTS => 'contents', - self::RENDER_INDEX => 'index', - self::RENDER_GLOSSARY => 'glossary', - self::RENDER_COPYRIGHT => 'copyright', - self::RENDER_CHAPTER => 'chapter', - self::RENDER_SECTION => 'section', - self::RENDER_SUBSECTION => 'subsection', - self::RENDER_APPENDIX => 'appendix', - self::RENDER_HELP => 'help', - self::RENDER_BOOKMARK => 'bookmark' - ); - - /** - * The helper's render flag - * - * @see render() - * @see setRenderFlag() - * @var int - */ - protected $_renderFlag = self::RENDER_ALL; - - /** - * Root container - * - * Used for preventing methods to traverse above the container given to - * the {@link render()} method. - * - * @see _findRoot() - * - * @var Zend_Navigation_Container - */ - protected $_root; - - /** - * View helper entry point: - * Retrieves helper and optionally sets container to operate on - * - * @param Zend_Navigation_Container $container [optional] container to - * operate on - * @return Zend_View_Helper_Navigation_Links fluent interface, returns - * self - */ - public function links(Zend_Navigation_Container $container = null) - { - if (null !== $container) { - $this->setContainer($container); - } - - return $this; - } - - /** - * Magic overload: Proxy calls to {@link findRelation()} or container - * - * Examples of finder calls: - * - * // METHOD // SAME AS - * $h->findRelNext($page); // $h->findRelation($page, 'rel', 'next') - * $h->findRevSection($page); // $h->findRelation($page, 'rev', 'section'); - * $h->findRelFoo($page); // $h->findRelation($page, 'rel', 'foo'); - * - * - * @param string $method method name - * @param array $arguments method arguments - * @throws Zend_Navigation_Exception if method does not exist in container - */ - public function __call($method, array $arguments = array()) - { - if (@preg_match('/find(Rel|Rev)(.+)/', $method, $match)) { - return $this->findRelation($arguments[0], - strtolower($match[1]), - strtolower($match[2])); - } - - return parent::__call($method, $arguments); - } - - // Accessors: - - /** - * Sets the helper's render flag - * - * The helper uses the bitwise '&' operator against the hex values of the - * render constants. This means that the flag can is "bitwised" value of - * the render constants. Examples: - * - * // render all links except glossary - * $flag = Zend_View_Helper_Navigation_Links:RENDER_ALL ^ - * Zend_View_Helper_Navigation_Links:RENDER_GLOSSARY; - * $helper->setRenderFlag($flag); - * - * // render only chapters and sections - * $flag = Zend_View_Helper_Navigation_Links:RENDER_CHAPTER | - * Zend_View_Helper_Navigation_Links:RENDER_SECTION; - * $helper->setRenderFlag($flag); - * - * // render only relations that are not native W3C relations - * $helper->setRenderFlag(Zend_View_Helper_Navigation_Links:RENDER_CUSTOM); - * - * // render all relations (default) - * $helper->setRenderFlag(Zend_View_Helper_Navigation_Links:RENDER_ALL); - * - * - * Note that custom relations can also be rendered directly using the - * {@link renderLink()} method. - * - * @param int $renderFlag render flag - * @return Zend_View_Helper_Navigation_Links fluent interface, returns self - */ - public function setRenderFlag($renderFlag) - { - $this->_renderFlag = (int) $renderFlag; - return $this; - } - - /** - * Returns the helper's render flag - * - * @return int render flag - */ - public function getRenderFlag() - { - return $this->_renderFlag; - } - - // Finder methods: - - /** - * Finds all relations (forward and reverse) for the given $page - * - * The form of the returned array: - * - * // $page denotes an instance of Zend_Navigation_Page - * $returned = array( - * 'rel' => array( - * 'alternate' => array($page, $page, $page), - * 'start' => array($page), - * 'next' => array($page), - * 'prev' => array($page), - * 'canonical' => array($page) - * ), - * 'rev' => array( - * 'section' => array($page) - * ) - * ); - * - * - * @param Zend_Navigation_Page $page page to find links for - * @return array related pages - */ - public function findAllRelations(Zend_Navigation_Page $page, - $flag = null) - { - if (!is_int($flag)) { - $flag = self::RENDER_ALL; - } - - $result = array('rel' => array(), 'rev' => array()); - $native = array_values(self::$_RELATIONS); - - foreach (array_keys($result) as $rel) { - $meth = 'getDefined' . ucfirst($rel); - $types = array_merge($native, array_diff($page->$meth(), $native)); - - foreach ($types as $type) { - if (!$relFlag = array_search($type, self::$_RELATIONS)) { - $relFlag = self::RENDER_CUSTOM; - } - if (!($flag & $relFlag)) { - continue; - } - if ($found = $this->findRelation($page, $rel, $type)) { - if (!is_array($found)) { - $found = array($found); - } - $result[$rel][$type] = $found; - } - } - } - - return $result; - } - - /** - * Finds relations of the given $rel=$type from $page - * - * This method will first look for relations in the page instance, then - * by searching the root container if nothing was found in the page. - * - * @param Zend_Navigation_Page $page page to find relations for - * @param string $rel relation, "rel" or "rev" - * @param string $type link type, e.g. 'start', 'next' - * @return Zend_Navigaiton_Page|array|null page(s), or null if not found - * @throws Zend_View_Exception if $rel is not "rel" or "rev" - */ - public function findRelation(Zend_Navigation_Page $page, $rel, $type) - { - if (!in_array($rel, array('rel', 'rev'))) { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception(sprintf( - 'Invalid argument: $rel must be "rel" or "rev"; "%s" given', - $rel)); - } - - if (!$result = $this->_findFromProperty($page, $rel, $type)) { - $result = $this->_findFromSearch($page, $rel, $type); - } - - return $result; - } - - /** - * Finds relations of given $type for $page by checking if the - * relation is specified as a property of $page - * - * @param Zend_Navigation_Page $page page to find relations for - * @param string $rel relation, 'rel' or 'rev' - * @param string $type link type, e.g. 'start', 'next' - * @return Zend_Navigation_Page|array|null page(s), or null if not found - */ - protected function _findFromProperty(Zend_Navigation_Page $page, $rel, $type) - { - $method = 'get' . ucfirst($rel); - if ($result = $page->$method($type)) { - if ($result = $this->_convertToPages($result)) { - if (!is_array($result)) { - $result = array($result); - } - - foreach ($result as $key => $page) { - if (!$this->accept($page)) { - unset($result[$key]); - } - } - - return count($result) == 1 ? $result[0] : $result; - } - } - - return null; - } - - /** - * Finds relations of given $rel=$type for $page by using the helper to - * search for the relation in the root container - * - * @param Zend_Navigation_Page $page page to find relations for - * @param string $rel relation, 'rel' or 'rev' - * @param string $type link type, e.g. 'start', 'next', etc - * @return array|null array of pages, or null if not found - */ - protected function _findFromSearch(Zend_Navigation_Page $page, $rel, $type) - { - $found = null; - - $method = 'search' . ucfirst($rel) . ucfirst($type); - if (method_exists($this, $method)) { - $found = $this->$method($page); - } - - return $found; - } - - // Search methods: - - /** - * Searches the root container for the forward 'start' relation of the given - * $page - * - * From {@link http://www.w3.org/TR/html4/types.html#type-links}: - * Refers to the first document in a collection of documents. This link type - * tells search engines which document is considered by the author to be the - * starting point of the collection. - * - * @param Zend_Navigation_Page $page page to find relation for - * @return Zend_Navigation_Page|null page or null - */ - public function searchRelStart(Zend_Navigation_Page $page) - { - $found = $this->_findRoot($page); - if (!$found instanceof Zend_Navigation_Page) { - $found->rewind(); - $found = $found->current(); - } - - if ($found === $page || !$this->accept($found)) { - $found = null; - } - - return $found; - } - - /** - * Searches the root container for the forward 'next' relation of the given - * $page - * - * From {@link http://www.w3.org/TR/html4/types.html#type-links}: - * Refers to the next document in a linear sequence of documents. User - * agents may choose to preload the "next" document, to reduce the perceived - * load time. - * - * @param Zend_Navigation_Page $page page to find relation for - * @return Zend_Navigation_Page|null page(s) or null - */ - public function searchRelNext(Zend_Navigation_Page $page) - { - $found = null; - $break = false; - $iterator = new RecursiveIteratorIterator($this->_findRoot($page), - RecursiveIteratorIterator::SELF_FIRST); - foreach ($iterator as $intermediate) { - if ($intermediate === $page) { - // current page; break at next accepted page - $break = true; - continue; - } - - if ($break && $this->accept($intermediate)) { - $found = $intermediate; - break; - } - } - - return $found; - } - - /** - * Searches the root container for the forward 'prev' relation of the given - * $page - * - * From {@link http://www.w3.org/TR/html4/types.html#type-links}: - * Refers to the previous document in an ordered series of documents. Some - * user agents also support the synonym "Previous". - * - * @param Zend_Navigation_Page $page page to find relation for - * @return Zend_Navigation_Page|null page or null - */ - public function searchRelPrev(Zend_Navigation_Page $page) - { - $found = null; - $prev = null; - $iterator = new RecursiveIteratorIterator( - $this->_findRoot($page), - RecursiveIteratorIterator::SELF_FIRST); - foreach ($iterator as $intermediate) { - if (!$this->accept($intermediate)) { - continue; - } - if ($intermediate === $page) { - $found = $prev; - break; - } - - $prev = $intermediate; - } - - return $found; - } - - /** - * Searches the root container for forward 'chapter' relations of the given - * $page - * - * From {@link http://www.w3.org/TR/html4/types.html#type-links}: - * Refers to a document serving as a chapter in a collection of documents. - * - * @param Zend_Navigation_Page $page page to find relation for - * @return Zend_Navigation_Page|array|null page(s) or null - */ - public function searchRelChapter(Zend_Navigation_Page $page) - { - $found = array(); - - // find first level of pages - $root = $this->_findRoot($page); - - // find start page(s) - $start = $this->findRelation($page, 'rel', 'start'); - if (!is_array($start)) { - $start = array($start); - } - - foreach ($root as $chapter) { - // exclude self and start page from chapters - if ($chapter !== $page && - !in_array($chapter, $start) && - $this->accept($chapter)) { - $found[] = $chapter; - } - } - - switch (count($found)) { - case 0: - return null; - case 1: - return $found[0]; - default: - return $found; - } - } - - /** - * Searches the root container for forward 'section' relations of the given - * $page - * - * From {@link http://www.w3.org/TR/html4/types.html#type-links}: - * Refers to a document serving as a section in a collection of documents. - * - * @param Zend_Navigation_Page $page page to find relation for - * @return Zend_Navigation_Page|array|null page(s) or null - */ - public function searchRelSection(Zend_Navigation_Page $page) - { - $found = array(); - - // check if given page has pages and is a chapter page - if ($page->hasPages() && $this->_findRoot($page)->hasPage($page)) { - foreach ($page as $section) { - if ($this->accept($section)) { - $found[] = $section; - } - } - } - - switch (count($found)) { - case 0: - return null; - case 1: - return $found[0]; - default: - return $found; - } - } - - /** - * Searches the root container for forward 'subsection' relations of the - * given $page - * - * From {@link http://www.w3.org/TR/html4/types.html#type-links}: - * Refers to a document serving as a subsection in a collection of - * documents. - * - * @param Zend_Navigation_Page $page page to find relation for - * @return Zend_Navigation_Page|array|null page(s) or null - */ - public function searchRelSubsection(Zend_Navigation_Page $page) - { - $found = array(); - - if ($page->hasPages()) { - // given page has child pages, loop chapters - foreach ($this->_findRoot($page) as $chapter) { - // is page a section? - if ($chapter->hasPage($page)) { - foreach ($page as $subsection) { - if ($this->accept($subsection)) { - $found[] = $subsection; - } - } - } - } - } - - switch (count($found)) { - case 0: - return null; - case 1: - return $found[0]; - default: - return $found; - } - } - - /** - * Searches the root container for the reverse 'section' relation of the - * given $page - * - * From {@link http://www.w3.org/TR/html4/types.html#type-links}: - * Refers to a document serving as a section in a collection of documents. - * - * @param Zend_Navigation_Page $page page to find relation for - * @return Zend_Navigation_Page|null page(s) or null - */ - public function searchRevSection(Zend_Navigation_Page $page) - { - $found = null; - - if ($parent = $page->getParent()) { - if ($parent instanceof Zend_Navigation_Page && - $this->_findRoot($page)->hasPage($parent)) { - $found = $parent; - } - } - - return $found; - } - - /** - * Searches the root container for the reverse 'section' relation of the - * given $page - * - * From {@link http://www.w3.org/TR/html4/types.html#type-links}: - * Refers to a document serving as a subsection in a collection of - * documents. - * - * @param Zend_Navigation_Page $page page to find relation for - * @return Zend_Navigation_Page|null page(s) or null - */ - public function searchRevSubsection(Zend_Navigation_Page $page) - { - $found = null; - - if ($parent = $page->getParent()) { - if ($parent instanceof Zend_Navigation_Page) { - $root = $this->_findRoot($page); - foreach ($root as $chapter) { - if ($chapter->hasPage($parent)) { - $found = $parent; - break; - } - } - } - } - - return $found; - } - - // Util methods: - - /** - * Returns the root container of the given page - * - * When rendering a container, the render method still store the given - * container as the root container, and unset it when done rendering. This - * makes sure finder methods will not traverse above the container given - * to the render method. - * - * @param Zend_Navigaiton_Page $page page to find root for - * @return Zend_Navigation_Container the root container of the given page - */ - protected function _findRoot(Zend_Navigation_Page $page) - { - if ($this->_root) { - return $this->_root; - } - - $root = $page; - - while ($parent = $page->getParent()) { - $root = $parent; - if ($parent instanceof Zend_Navigation_Page) { - $page = $parent; - } else { - break; - } - } - - return $root; - } - - /** - * Converts a $mixed value to an array of pages - * - * @param mixed $mixed mixed value to get page(s) from - * @param bool $recursive whether $value should be looped - * if it is an array or a config - * @return Zend_Navigation_Page|array|null empty if unable to convert - */ - protected function _convertToPages($mixed, $recursive = true) - { - if (is_object($mixed)) { - if ($mixed instanceof Zend_Navigation_Page) { - // value is a page instance; return directly - return $mixed; - } elseif ($mixed instanceof Zend_Navigation_Container) { - // value is a container; return pages in it - $pages = array(); - foreach ($mixed as $page) { - $pages[] = $page; - } - return $pages; - } elseif ($mixed instanceof Zend_Config) { - // convert config object to array and extract - return $this->_convertToPages($mixed->toArray(), $recursive); - } - } elseif (is_string($mixed)) { - // value is a string; make an URI page - return Zend_Navigation_Page::factory(array( - 'type' => 'uri', - 'uri' => $mixed - )); - } elseif (is_array($mixed) && !empty($mixed)) { - if ($recursive && is_numeric(key($mixed))) { - // first key is numeric; assume several pages - $pages = array(); - foreach ($mixed as $value) { - if ($value = $this->_convertToPages($value, false)) { - $pages[] = $value; - } - } - return $pages; - } else { - // pass array to factory directly - try { - $page = Zend_Navigation_Page::factory($mixed); - return $page; - } catch (Exception $e) { - } - } - } - - // nothing found - return null; - } - - // Render methods: - - /** - * Renders the given $page as a link element, with $attrib = $relation - * - * @param Zend_Navigation_Page $page the page to render the link for - * @param string $attrib the attribute to use for $type, - * either 'rel' or 'rev' - * @param string $relation relation type, muse be one of; - * alternate, appendix, bookmark, - * chapter, contents, copyright, - * glossary, help, home, index, next, - * prev, section, start, stylesheet, - * subsection - * @return string rendered link element - * @throws Zend_View_Exception if $attrib is invalid - */ - public function renderLink(Zend_Navigation_Page $page, $attrib, $relation) - { - if (!in_array($attrib, array('rel', 'rev'))) { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception(sprintf( - 'Invalid relation attribute "%s", must be "rel" or "rev"', - $attrib)); - } - - if (!$href = $page->getHref()) { - return ''; - } - - // TODO: add more attribs - // http://www.w3.org/TR/html401/struct/links.html#h-12.2 - $attribs = array( - $attrib => $relation, - 'href' => $href, - 'title' => $page->getLabel() - ); - - return '_htmlAttribs($attribs) . - $this->getClosingBracket(); - } - - // Zend_View_Helper_Navigation_Helper: - - /** - * Renders helper - * - * Implements {@link Zend_View_Helper_Navigation_Helper::render()}. - * - * @param Zend_Navigation_Container $container [optional] container to - * render. Default is to - * render the container - * registered in the helper. - * @return string helper output - */ - public function render(Zend_Navigation_Container $container = null) - { - if (null === $container) { - $container = $this->getContainer(); - } - - if ($active = $this->findActive($container)) { - $active = $active['page']; - } else { - // no active page - return ''; - } - - $output = ''; - $indent = $this->getIndent(); - $this->_root = $container; - - $result = $this->findAllRelations($active, $this->getRenderFlag()); - foreach ($result as $attrib => $types) { - foreach ($types as $relation => $pages) { - foreach ($pages as $page) { - if ($r = $this->renderLink($page, $attrib, $relation)) { - $output .= $indent . $r . self::EOL; - } - } - } - } - - $this->_root = null; - - // return output (trim last newline by spec) - return strlen($output) ? rtrim($output, self::EOL) : ''; - } -} diff --git a/lib/zend/Zend/View/Helper/Navigation/Menu.php b/lib/zend/Zend/View/Helper/Navigation/Menu.php deleted file mode 100644 index be14ba914e..0000000000 --- a/lib/zend/Zend/View/Helper/Navigation/Menu.php +++ /dev/null @@ -1,641 +0,0 @@ -setContainer($container); - } - - return $this; - } - - // Accessors: - - /** - * Sets CSS class to use for the first 'ul' element when rendering - * - * @param string $ulClass CSS class to set - * @return Zend_View_Helper_Navigation_Menu fluent interface, returns self - */ - public function setUlClass($ulClass) - { - if (is_string($ulClass)) { - $this->_ulClass = $ulClass; - } - - return $this; - } - - /** - * Returns CSS class to use for the first 'ul' element when rendering - * - * @return string CSS class - */ - public function getUlClass() - { - return $this->_ulClass; - } - - /** - * Sets a flag indicating whether only active branch should be rendered - * - * @param bool $flag [optional] render only active - * branch. Default is true. - * @return Zend_View_Helper_Navigation_Menu fluent interface, returns self - */ - public function setOnlyActiveBranch($flag = true) - { - $this->_onlyActiveBranch = (bool) $flag; - return $this; - } - - /** - * Returns a flag indicating whether only active branch should be rendered - * - * By default, this value is false, meaning the entire menu will be - * be rendered. - * - * @return bool whether only active branch should be rendered - */ - public function getOnlyActiveBranch() - { - return $this->_onlyActiveBranch; - } - - /** - * Enables/disables rendering of parents when only rendering active branch - * - * See {@link setOnlyActiveBranch()} for more information. - * - * @param bool $flag [optional] render parents when - * rendering active branch. - * Default is true. - * @return Zend_View_Helper_Navigation_Menu fluent interface, returns self - */ - public function setRenderParents($flag = true) - { - $this->_renderParents = (bool) $flag; - return $this; - } - - /** - * Returns flag indicating whether parents should be rendered when rendering - * only the active branch - * - * By default, this value is true. - * - * @return bool whether parents should be rendered - */ - public function getRenderParents() - { - return $this->_renderParents; - } - - /** - * Sets which partial view script to use for rendering menu - * - * @param string|array $partial partial view script or null. If - * an array is given, it is - * expected to contain two values; - * the partial view script to use, - * and the module where the script - * can be found. - * @return Zend_View_Helper_Navigation_Menu fluent interface, returns self - */ - public function setPartial($partial) - { - if (null === $partial || is_string($partial) || is_array($partial)) { - $this->_partial = $partial; - } - - return $this; - } - - /** - * Returns partial view script to use for rendering menu - * - * @return string|array|null - */ - public function getPartial() - { - return $this->_partial; - } - - // Public methods: - - /** - * Returns an HTML string containing an 'a' element for the given page if - * the page's href is not empty, and a 'span' element if it is empty - * - * Overrides {@link Zend_View_Helper_Navigation_Abstract::htmlify()}. - * - * @param Zend_Navigation_Page $page page to generate HTML for - * @return string HTML string for the given page - */ - public function htmlify(Zend_Navigation_Page $page) - { - // get label and title for translating - $label = $page->getLabel(); - $title = $page->getTitle(); - - // translate label and title? - if ($this->getUseTranslator() && $t = $this->getTranslator()) { - if (is_string($label) && !empty($label)) { - $label = $t->translate($label); - } - if (is_string($title) && !empty($title)) { - $title = $t->translate($title); - } - } - - // get attribs for element - $attribs = array( - 'id' => $page->getId(), - 'title' => $title, - 'class' => $page->getClass() - ); - - // does page have a href? - if ($href = $page->getHref()) { - $element = 'a'; - $attribs['href'] = $href; - $attribs['target'] = $page->getTarget(); - } else { - $element = 'span'; - } - - return '<' . $element . $this->_htmlAttribs($attribs) . '>' - . $this->view->escape($label) - . ''; - } - - /** - * Normalizes given render options - * - * @param array $options [optional] options to normalize - * @return array normalized options - */ - protected function _normalizeOptions(array $options = array()) - { - if (isset($options['indent'])) { - $options['indent'] = $this->_getWhitespace($options['indent']); - } else { - $options['indent'] = $this->getIndent(); - } - - if (isset($options['ulClass']) && $options['ulClass'] !== null) { - $options['ulClass'] = (string) $options['ulClass']; - } else { - $options['ulClass'] = $this->getUlClass(); - } - - if (array_key_exists('minDepth', $options)) { - if (null !== $options['minDepth']) { - $options['minDepth'] = (int) $options['minDepth']; - } - } else { - $options['minDepth'] = $this->getMinDepth(); - } - - if ($options['minDepth'] < 0 || $options['minDepth'] === null) { - $options['minDepth'] = 0; - } - - if (array_key_exists('maxDepth', $options)) { - if (null !== $options['maxDepth']) { - $options['maxDepth'] = (int) $options['maxDepth']; - } - } else { - $options['maxDepth'] = $this->getMaxDepth(); - } - - if (!isset($options['onlyActiveBranch'])) { - $options['onlyActiveBranch'] = $this->getOnlyActiveBranch(); - } - - if (!isset($options['renderParents'])) { - $options['renderParents'] = $this->getRenderParents(); - } - - return $options; - } - - // Render methods: - - /** - * Renders the deepest active menu within [$minDepth, $maxDeth], (called - * from {@link renderMenu()}) - * - * @param Zend_Navigation_Container $container container to render - * @param array $active active page and depth - * @param string $ulClass CSS class for first UL - * @param string $indent initial indentation - * @param int|null $minDepth minimum depth - * @param int|null $maxDepth maximum depth - * @return string rendered menu - */ - protected function _renderDeepestMenu(Zend_Navigation_Container $container, - $ulClass, - $indent, - $minDepth, - $maxDepth) - { - if (!$active = $this->findActive($container, $minDepth - 1, $maxDepth)) { - return ''; - } - - // special case if active page is one below minDepth - if ($active['depth'] < $minDepth) { - if (!$active['page']->hasPages()) { - return ''; - } - } else if (!$active['page']->hasPages()) { - // found pages has no children; render siblings - $active['page'] = $active['page']->getParent(); - } else if (is_int($maxDepth) && $active['depth'] +1 > $maxDepth) { - // children are below max depth; render siblings - $active['page'] = $active['page']->getParent(); - } - - $ulClass = $ulClass ? ' class="' . $ulClass . '"' : ''; - $html = $indent . '' . self::EOL; - - foreach ($active['page'] as $subPage) { - if (!$this->accept($subPage)) { - continue; - } - $liClass = $subPage->isActive(true) ? ' class="active"' : ''; - $html .= $indent . ' ' . self::EOL; - $html .= $indent . ' ' . $this->htmlify($subPage) . self::EOL; - $html .= $indent . ' ' . self::EOL; - } - - $html .= $indent . ''; - - return $html; - } - - /** - * Renders a normal menu (called from {@link renderMenu()}) - * - * @param Zend_Navigation_Container $container container to render - * @param string $ulClass CSS class for first UL - * @param string $indent initial indentation - * @param int|null $minDepth minimum depth - * @param int|null $maxDepth maximum depth - * @param bool $onlyActive render only active branch? - * @return string - */ - protected function _renderMenu(Zend_Navigation_Container $container, - $ulClass, - $indent, - $minDepth, - $maxDepth, - $onlyActive) - { - $html = ''; - - // find deepest active - if ($found = $this->findActive($container, $minDepth, $maxDepth)) { - $foundPage = $found['page']; - $foundDepth = $found['depth']; - } else { - $foundPage = null; - } - - // create iterator - $iterator = new RecursiveIteratorIterator($container, - RecursiveIteratorIterator::SELF_FIRST); - if (is_int($maxDepth)) { - $iterator->setMaxDepth($maxDepth); - } - - // iterate container - $prevDepth = -1; - foreach ($iterator as $page) { - $depth = $iterator->getDepth(); - $isActive = $page->isActive(true); - if ($depth < $minDepth || !$this->accept($page)) { - // page is below minDepth or not accepted by acl/visibilty - continue; - } else if ($onlyActive && !$isActive) { - // page is not active itself, but might be in the active branch - $accept = false; - if ($foundPage) { - if ($foundPage->hasPage($page)) { - // accept if page is a direct child of the active page - $accept = true; - } else if ($foundPage->getParent()->hasPage($page)) { - // page is a sibling of the active page... - if (!$foundPage->hasPages() || - is_int($maxDepth) && $foundDepth + 1 > $maxDepth) { - // accept if active page has no children, or the - // children are too deep to be rendered - $accept = true; - } - } - } - - if (!$accept) { - continue; - } - } - - // make sure indentation is correct - $depth -= $minDepth; - $myIndent = $indent . str_repeat(' ', $depth); - - if ($depth > $prevDepth) { - // start new ul tag - if ($ulClass && $depth == 0) { - $ulClass = ' class="' . $ulClass . '"'; - } else { - $ulClass = ''; - } - $html .= $myIndent . '' . self::EOL; - } else if ($prevDepth > $depth) { - // close li/ul tags until we're at current depth - for ($i = $prevDepth; $i > $depth; $i--) { - $ind = $indent . str_repeat(' ', $i); - $html .= $ind . ' ' . self::EOL; - $html .= $ind . '' . self::EOL; - } - // close previous li tag - $html .= $myIndent . ' ' . self::EOL; - } else { - // close previous li tag - $html .= $myIndent . ' ' . self::EOL; - } - - // render li tag and page - $liClass = $isActive ? ' class="active"' : ''; - $html .= $myIndent . ' ' . self::EOL - . $myIndent . ' ' . $this->htmlify($page) . self::EOL; - - // store as previous depth for next iteration - $prevDepth = $depth; - } - - if ($html) { - // done iterating container; close open ul/li tags - for ($i = $prevDepth+1; $i > 0; $i--) { - $myIndent = $indent . str_repeat(' ', $i-1); - $html .= $myIndent . ' ' . self::EOL - . $myIndent . '' . self::EOL; - } - $html = rtrim($html, self::EOL); - } - - return $html; - } - - /** - * Renders helper - * - * Renders a HTML 'ul' for the given $container. If $container is not given, - * the container registered in the helper will be used. - * - * Available $options: - * - * - * @param Zend_Navigation_Container $container [optional] container to - * create menu from. Default - * is to use the container - * retrieved from - * {@link getContainer()}. - * @param array $options [optional] options for - * controlling rendering - * @return string rendered menu - */ - public function renderMenu(Zend_Navigation_Container $container = null, - array $options = array()) - { - if (null === $container) { - $container = $this->getContainer(); - } - - $options = $this->_normalizeOptions($options); - - if ($options['onlyActiveBranch'] && !$options['renderParents']) { - $html = $this->_renderDeepestMenu($container, - $options['ulClass'], - $options['indent'], - $options['minDepth'], - $options['maxDepth']); - } else { - $html = $this->_renderMenu($container, - $options['ulClass'], - $options['indent'], - $options['minDepth'], - $options['maxDepth'], - $options['onlyActiveBranch']); - } - - return $html; - } - - /** - * Renders the inner-most sub menu for the active page in the $container - * - * This is a convenience method which is equivalent to the following call: - * - * renderMenu($container, array( - * 'indent' => $indent, - * 'ulClass' => $ulClass, - * 'minDepth' => null, - * 'maxDepth' => null, - * 'onlyActiveBranch' => true, - * 'renderParents' => false - * )); - * - * - * @param Zend_Navigation_Container $container [optional] container to - * render. Default is to render - * the container registered in - * the helper. - * @param string $ulClass [optional] CSS class to - * use for UL element. Default - * is to use the value from - * {@link getUlClass()}. - * @param string|int $indent [optional] indentation as - * a string or number of - * spaces. Default is to use - * the value retrieved from - * {@link getIndent()}. - * @return string rendered content - */ - public function renderSubMenu(Zend_Navigation_Container $container = null, - $ulClass = null, - $indent = null) - { - return $this->renderMenu($container, array( - 'indent' => $indent, - 'ulClass' => $ulClass, - 'minDepth' => null, - 'maxDepth' => null, - 'onlyActiveBranch' => true, - 'renderParents' => false - )); - } - - /** - * Renders the given $container by invoking the partial view helper - * - * The container will simply be passed on as a model to the view script - * as-is, and will be available in the partial script as 'container', e.g. - * echo 'Number of pages: ', count($this->container);. - * - * @param Zend_Navigation_Container $container [optional] container to - * pass to view script. Default - * is to use the container - * registered in the helper. - * @param string|array $partial [optional] partial view - * script to use. Default is to - * use the partial registered - * in the helper. If an array - * is given, it is expected to - * contain two values; the - * partial view script to use, - * and the module where the - * script can be found. - * @return string helper output - */ - public function renderPartial(Zend_Navigation_Container $container = null, - $partial = null) - { - if (null === $container) { - $container = $this->getContainer(); - } - - if (null === $partial) { - $partial = $this->getPartial(); - } - - if (empty($partial)) { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception( - 'Unable to render menu: No partial view script provided'); - } - - $model = array( - 'container' => $container - ); - - if (is_array($partial)) { - if (count($partial) != 2) { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception( - 'Unable to render menu: A view partial supplied as ' . - 'an array must contain two values: partial view ' . - 'script and module where script can be found'); - } - - return $this->view->partial($partial[0], $partial[1], $model); - } - - return $this->view->partial($partial, null, $model); - } - - // Zend_View_Helper_Navigation_Helper: - - /** - * Renders menu - * - * Implements {@link Zend_View_Helper_Navigation_Helper::render()}. - * - * If a partial view is registered in the helper, the menu will be rendered - * using the given partial script. If no partial is registered, the menu - * will be rendered as an 'ul' element by the helper's internal method. - * - * @see renderPartial() - * @see renderMenu() - * - * @param Zend_Navigation_Container $container [optional] container to - * render. Default is to - * render the container - * registered in the helper. - * @return string helper output - */ - public function render(Zend_Navigation_Container $container = null) - { - if ($partial = $this->getPartial()) { - return $this->renderPartial($container, $partial); - } else { - return $this->renderMenu($container); - } - } -} diff --git a/lib/zend/Zend/View/Helper/Navigation/Sitemap.php b/lib/zend/Zend/View/Helper/Navigation/Sitemap.php deleted file mode 100644 index 25c25e4fa6..0000000000 --- a/lib/zend/Zend/View/Helper/Navigation/Sitemap.php +++ /dev/null @@ -1,470 +0,0 @@ - tag - * - * @var string - */ - const SITEMAP_NS = 'http://www.sitemaps.org/schemas/sitemap/0.9'; - - /** - * Schema URL - * - * @var string - */ - const SITEMAP_XSD = 'http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd'; - - /** - * Whether XML output should be formatted - * - * @var bool - */ - protected $_formatOutput = false; - - /** - * Whether the XML declaration should be included in XML output - * - * @var bool - */ - protected $_useXmlDeclaration = true; - - /** - * Whether sitemap should be validated using Zend_Validate_Sitemap_* - * - * @var bool - */ - protected $_useSitemapValidators = true; - - /** - * Whether sitemap should be schema validated when generated - * - * @var bool - */ - protected $_useSchemaValidation = false; - - /** - * Server url - * - * @var string - */ - protected $_serverUrl; - - /** - * View helper entry point: - * Retrieves helper and optionally sets container to operate on - * - * @param Zend_Navigation_Container $container [optional] container to - * operate on - * @return Zend_View_Helper_Navigation_Sitemap fluent interface, returns - * self - */ - public function sitemap(Zend_Navigation_Container $container = null) - { - if (null !== $container) { - $this->setContainer($container); - } - - return $this; - } - - // Accessors: - - /** - * Sets whether XML output should be formatted - * - * @param bool $formatOutput [optional] whether output - * should be formatted. Default - * is true. - * @return Zend_View_Helper_Navigation_Sitemap fluent interface, returns - * self - */ - public function setFormatOutput($formatOutput = true) - { - $this->_formatOutput = (bool) $formatOutput; - return $this; - } - - /** - * Returns whether XML output should be formatted - * - * @return bool whether XML output should be formatted - */ - public function getFormatOutput() - { - return $this->_formatOutput; - } - - /** - * Sets whether the XML declaration should be used in output - * - * @param bool $useXmlDecl whether XML delcaration - * should be rendered - * @return Zend_View_Helper_Navigation_Sitemap fluent interface, returns - * self - */ - public function setUseXmlDeclaration($useXmlDecl) - { - $this->_useXmlDeclaration = (bool) $useXmlDecl; - return $this; - } - - /** - * Returns whether the XML declaration should be used in output - * - * @return bool whether the XML declaration should be used in output - */ - public function getUseXmlDeclaration() - { - return $this->_useXmlDeclaration; - } - - /** - * Sets whether sitemap should be validated using Zend_Validate_Sitemap_* - * - * @param bool $useSitemapValidators whether sitemap validators - * should be used - * @return Zend_View_Helper_Navigation_Sitemap fluent interface, returns - * self - */ - public function setUseSitemapValidators($useSitemapValidators) - { - $this->_useSitemapValidators = (bool) $useSitemapValidators; - return $this; - } - - /** - * Returns whether sitemap should be validated using Zend_Validate_Sitemap_* - * - * @return bool whether sitemap should be validated using validators - */ - public function getUseSitemapValidators() - { - return $this->_useSitemapValidators; - } - - /** - * Sets whether sitemap should be schema validated when generated - * - * @param bool $schemaValidation whether sitemap should - * validated using XSD Schema - * @return Zend_View_Helper_Navigation_Sitemap fluent interface, returns - * self - */ - public function setUseSchemaValidation($schemaValidation) - { - $this->_useSchemaValidation = (bool) $schemaValidation; - return $this; - } - - /** - * Returns true if sitemap should be schema validated when generated - * - * @return bool - */ - public function getUseSchemaValidation() - { - return $this->_useSchemaValidation; - } - - /** - * Sets server url (scheme and host-related stuff without request URI) - * - * E.g. http://www.example.com - * - * @param string $serverUrl server URL to set (only - * scheme and host) - * @throws Zend_Uri_Exception if invalid server URL - * @return Zend_View_Helper_Navigation_Sitemap fluent interface, returns - * self - */ - public function setServerUrl($serverUrl) - { - require_once 'Zend/Uri.php'; - $uri = Zend_Uri::factory($serverUrl); - $uri->setFragment(''); - $uri->setPath(''); - $uri->setQuery(''); - - if ($uri->valid()) { - $this->_serverUrl = $uri->getUri(); - } else { - require_once 'Zend/Uri/Exception.php'; - throw new Zend_Uri_Exception(sprintf( - 'Invalid server URL: "%s"', - $serverUrl)); - } - - return $this; - } - - /** - * Returns server URL - * - * @return string server URL - */ - public function getServerUrl() - { - if (!isset($this->_serverUrl)) { - $this->_serverUrl = $this->view->serverUrl(); - } - - return $this->_serverUrl; - } - - // Helper methods: - - /** - * Escapes string for XML usage - * - * @param string $string string to escape - * @return string escaped string - */ - protected function _xmlEscape($string) - { - // TODO: remove check when minimum PHP version is >= 5.2.3 - if (version_compare(PHP_VERSION, '5.2.3', '>=')) { - // do not encode existing HTML entities - return htmlspecialchars($string, ENT_QUOTES, 'UTF-8', false); - } else { - $string = preg_replace('/&(?!(?:#\d++|[a-z]++);)/ui', '&', $string); - $string = str_replace(array('<', '>', '\'', '"'), array('<', '>', ''', '"'), $string); - return $string; - } - } - - // Public methods: - - /** - * Returns an escaped absolute URL for the given page - * - * @param Zend_Navigation_Page $page page to get URL from - * @return string - */ - public function url(Zend_Navigation_Page $page) - { - $href = $page->getHref(); - - if (!isset($href{0})) { - // no href - return ''; - } elseif ($href{0} == '/') { - // href is relative to root; use serverUrl helper - $url = $this->getServerUrl() . $href; - } elseif (preg_match('/^[a-z]+:/im', (string) $href)) { - // scheme is given in href; assume absolute URL already - $url = (string) $href; - } else { - // href is relative to current document; use url helpers - $url = $this->getServerUrl() - . rtrim($this->view->url(), '/') . '/' - . $href; - } - - return $this->_xmlEscape($url); - } - - /** - * Returns a DOMDocument containing the Sitemap XML for the given container - * - * @param Zend_Navigation_Container $container [optional] container to get - * breadcrumbs from, defaults - * to what is registered in the - * helper - * @return DOMDocument DOM representation of the - * container - * @throws Zend_View_Exception if schema validation is on - * and the sitemap is invalid - * according to the sitemap - * schema, or if sitemap - * validators are used and the - * loc element fails validation - */ - public function getDomSitemap(Zend_Navigation_Container $container = null) - { - if (null === $container) { - $container = $this->getContainer(); - } - - // check if we should validate using our own validators - if ($this->getUseSitemapValidators()) { - require_once 'Zend/Validate/Sitemap/Changefreq.php'; - require_once 'Zend/Validate/Sitemap/Lastmod.php'; - require_once 'Zend/Validate/Sitemap/Loc.php'; - require_once 'Zend/Validate/Sitemap/Priority.php'; - - // create validators - $locValidator = new Zend_Validate_Sitemap_Loc(); - $lastmodValidator = new Zend_Validate_Sitemap_Lastmod(); - $changefreqValidator = new Zend_Validate_Sitemap_Changefreq(); - $priorityValidator = new Zend_Validate_Sitemap_Priority(); - } - - // create document - $dom = new DOMDocument('1.0', 'UTF-8'); - $dom->formatOutput = $this->getFormatOutput(); - - // ...and urlset (root) element - $urlSet = $dom->createElementNS(self::SITEMAP_NS, 'urlset'); - $dom->appendChild($urlSet); - - // create iterator - $iterator = new RecursiveIteratorIterator($container, - RecursiveIteratorIterator::SELF_FIRST); - - $maxDepth = $this->getMaxDepth(); - if (is_int($maxDepth)) { - $iterator->setMaxDepth($maxDepth); - } - $minDepth = $this->getMinDepth(); - if (!is_int($minDepth) || $minDepth < 0) { - $minDepth = 0; - } - - // iterate container - foreach ($iterator as $page) { - if ($iterator->getDepth() < $minDepth || !$this->accept($page)) { - // page should not be included - continue; - } - - // get absolute url from page - if (!$url = $this->url($page)) { - // skip page if it has no url (rare case) - continue; - } - - // create url node for this page - $urlNode = $dom->createElementNS(self::SITEMAP_NS, 'url'); - $urlSet->appendChild($urlNode); - - if ($this->getUseSitemapValidators() && - !$locValidator->isValid($url)) { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception(sprintf( - 'Encountered an invalid URL for Sitemap XML: "%s"', - $url)); - } - - // put url in 'loc' element - $urlNode->appendChild($dom->createElementNS(self::SITEMAP_NS, - 'loc', $url)); - - // add 'lastmod' element if a valid lastmod is set in page - if (isset($page->lastmod)) { - $lastmod = strtotime((string) $page->lastmod); - - // prevent 1970-01-01... - if ($lastmod !== false) { - $lastmod = date('c', $lastmod); - } - - if (!$this->getUseSitemapValidators() || - $lastmodValidator->isValid($lastmod)) { - $urlNode->appendChild( - $dom->createElementNS(self::SITEMAP_NS, 'lastmod', - $lastmod) - ); - } - } - - // add 'changefreq' element if a valid changefreq is set in page - if (isset($page->changefreq)) { - $changefreq = $page->changefreq; - if (!$this->getUseSitemapValidators() || - $changefreqValidator->isValid($changefreq)) { - $urlNode->appendChild( - $dom->createElementNS(self::SITEMAP_NS, 'changefreq', - $changefreq) - ); - } - } - - // add 'priority' element if a valid priority is set in page - if (isset($page->priority)) { - $priority = $page->priority; - if (!$this->getUseSitemapValidators() || - $priorityValidator->isValid($priority)) { - $urlNode->appendChild( - $dom->createElementNS(self::SITEMAP_NS, 'priority', - $priority) - ); - } - } - } - - // validate using schema if specified - if ($this->getUseSchemaValidation()) { - if (!@$dom->schemaValidate(self::SITEMAP_XSD)) { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception(sprintf( - 'Sitemap is invalid according to XML Schema at "%s"', - self::SITEMAP_XSD)); - } - } - - return $dom; - } - - // Zend_View_Helper_Navigation_Helper: - - /** - * Renders helper - * - * Implements {@link Zend_View_Helper_Navigation_Helper::render()}. - * - * @param Zend_Navigation_Container $container [optional] container to - * render. Default is to - * render the container - * registered in the helper. - * @return string helper output - */ - public function render(Zend_Navigation_Container $container = null) - { - $dom = $this->getDomSitemap($container); - - $xml = $this->getUseXmlDeclaration() ? - $dom->saveXML() : - $dom->saveXML($dom->documentElement); - - return rtrim($xml, PHP_EOL); - } -} diff --git a/lib/zend/Zend/View/Helper/PaginationControl.php b/lib/zend/Zend/View/Helper/PaginationControl.php deleted file mode 100644 index 959e38f68c..0000000000 --- a/lib/zend/Zend/View/Helper/PaginationControl.php +++ /dev/null @@ -1,141 +0,0 @@ -view = $view; - return $this; - } - - /** - * Sets the default view partial. - * - * @param string $partial View partial - */ - public static function setDefaultViewPartial($partial) - { - self::$_defaultViewPartial = $partial; - } - - /** - * Gets the default view partial - * - * @return string - */ - public static function getDefaultViewPartial() - { - return self::$_defaultViewPartial; - } - - /** - * Render the provided pages. This checks if $view->paginator is set and, - * if so, uses that. Also, if no scrolling style or partial are specified, - * the defaults will be used (if set). - * - * @param Zend_Paginator (Optional) $paginator - * @param string $scrollingStyle (Optional) Scrolling style - * @param string $partial (Optional) View partial - * @param array|string $params (Optional) params to pass to the partial - * @return string - * @throws Zend_View_Exception - */ - public function paginationControl(Zend_Paginator $paginator = null, $scrollingStyle = null, $partial = null, $params = null) - { - if ($paginator === null) { - if (isset($this->view->paginator) and $this->view->paginator !== null and $this->view->paginator instanceof Zend_Paginator) { - $paginator = $this->view->paginator; - } else { - /** - * @see Zend_View_Exception - */ - require_once 'Zend/View/Exception.php'; - - throw new Zend_View_Exception('No paginator instance provided or incorrect type'); - } - } - - if ($partial === null) { - if (self::$_defaultViewPartial === null) { - /** - * @see Zend_View_Exception - */ - require_once 'Zend/View/Exception.php'; - - throw new Zend_View_Exception('No view partial provided and no default set'); - } - - $partial = self::$_defaultViewPartial; - } - - $pages = get_object_vars($paginator->getPages($scrollingStyle)); - - if ($params !== null) { - $pages = array_merge($pages, (array) $params); - } - - if (is_array($partial)) { - if (count($partial) != 2) { - /** - * @see Zend_View_Exception - */ - require_once 'Zend/View/Exception.php'; - - throw new Zend_View_Exception('A view partial supplied as an array must contain two values: the filename and its module'); - } - - if ($partial[1] !== null) { - return $this->view->partial($partial[0], $partial[1], $pages); - } - - $partial = $partial[0]; - } - - return $this->view->partial($partial, $pages); - } -} \ No newline at end of file diff --git a/lib/zend/Zend/View/Helper/Partial.php b/lib/zend/Zend/View/Helper/Partial.php deleted file mode 100644 index ab6c16f716..0000000000 --- a/lib/zend/Zend/View/Helper/Partial.php +++ /dev/null @@ -1,147 +0,0 @@ -cloneView(); - if (isset($this->partialCounter)) { - $view->partialCounter = $this->partialCounter; - } - if ((null !== $module) && is_string($module)) { - require_once 'Zend/Controller/Front.php'; - $moduleDir = Zend_Controller_Front::getInstance()->getControllerDirectory($module); - if (null === $moduleDir) { - require_once 'Zend/View/Helper/Partial/Exception.php'; - throw new Zend_View_Helper_Partial_Exception('Cannot render partial; module does not exist'); - } - $viewsDir = dirname($moduleDir) . '/views'; - $view->addBasePath($viewsDir); - } elseif ((null == $model) && (null !== $module) - && (is_array($module) || is_object($module))) - { - $model = $module; - } - - if (!empty($model)) { - if (is_array($model)) { - $view->assign($model); - } elseif (is_object($model)) { - if (null !== ($objectKey = $this->getObjectKey())) { - $view->assign($objectKey, $model); - } elseif (method_exists($model, 'toArray')) { - $view->assign($model->toArray()); - } else { - $view->assign(get_object_vars($model)); - } - } - } - - return $view->render($name); - } - - /** - * Clone the current View - * - * @return Zend_View_Interface - */ - public function cloneView() - { - $view = clone $this->view; - $view->clearVars(); - return $view; - } - - /** - * Set object key - * - * @param string $key - * @return Zend_View_Helper_Partial - */ - public function setObjectKey($key) - { - if (null === $key) { - $this->_objectKey = null; - } else { - $this->_objectKey = (string) $key; - } - - return $this; - } - - /** - * Retrieve object key - * - * The objectKey is the variable to which an object in the iterator will be - * assigned. - * - * @return null|string - */ - public function getObjectKey() - { - return $this->_objectKey; - } -} diff --git a/lib/zend/Zend/View/Helper/Partial/Exception.php b/lib/zend/Zend/View/Helper/Partial/Exception.php deleted file mode 100644 index 8e3bbd90c6..0000000000 --- a/lib/zend/Zend/View/Helper/Partial/Exception.php +++ /dev/null @@ -1,39 +0,0 @@ -toArray(); - } - - $content = ''; - // reset the counter if it's call again - $this->partialCounter = 0; - foreach ($model as $item) { - // increment the counter variable - $this->partialCounter++; - - $content .= $this->partial($name, $module, $item); - } - - return $content; - } -} diff --git a/lib/zend/Zend/View/Helper/Placeholder.php b/lib/zend/Zend/View/Helper/Placeholder.php deleted file mode 100644 index 2dada150c9..0000000000 --- a/lib/zend/Zend/View/Helper/Placeholder.php +++ /dev/null @@ -1,87 +0,0 @@ -_registry = Zend_View_Helper_Placeholder_Registry::getRegistry(); - } - - - /** - * Placeholder helper - * - * @param string $name - * @return Zend_View_Helper_Placeholder_Container_Abstract - */ - public function placeholder($name) - { - $name = (string) $name; - return $this->_registry->getContainer($name); - } - - /** - * Retrieve the registry - * - * @return Zend_View_Helper_Placeholder_Registry - */ - public function getRegistry() - { - return $this->_registry; - } -} diff --git a/lib/zend/Zend/View/Helper/Placeholder/Container.php b/lib/zend/Zend/View/Helper/Placeholder/Container.php deleted file mode 100644 index de23a3c65e..0000000000 --- a/lib/zend/Zend/View/Helper/Placeholder/Container.php +++ /dev/null @@ -1,36 +0,0 @@ -exchangeArray(array($value)); - } - - /** - * Prepend a value to the top of the container - * - * @param mixed $value - * @return void - */ - public function prepend($value) - { - $values = $this->getArrayCopy(); - array_unshift($values, $value); - $this->exchangeArray($values); - } - - /** - * Retrieve container value - * - * If single element registered, returns that element; otherwise, - * serializes to array. - * - * @return mixed - */ - public function getValue() - { - if (1 == count($this)) { - $keys = $this->getKeys(); - $key = array_shift($keys); - return $this[$key]; - } - - return $this->getArrayCopy(); - } - - /** - * Set prefix for __toString() serialization - * - * @param string $prefix - * @return Zend_View_Helper_Placeholder_Container - */ - public function setPrefix($prefix) - { - $this->_prefix = (string) $prefix; - return $this; - } - - /** - * Retrieve prefix - * - * @return string - */ - public function getPrefix() - { - return $this->_prefix; - } - - /** - * Set postfix for __toString() serialization - * - * @param string $postfix - * @return Zend_View_Helper_Placeholder_Container - */ - public function setPostfix($postfix) - { - $this->_postfix = (string) $postfix; - return $this; - } - - /** - * Retrieve postfix - * - * @return string - */ - public function getPostfix() - { - return $this->_postfix; - } - - /** - * Set separator for __toString() serialization - * - * Used to implode elements in container - * - * @param string $separator - * @return Zend_View_Helper_Placeholder_Container - */ - public function setSeparator($separator) - { - $this->_separator = (string) $separator; - return $this; - } - - /** - * Retrieve separator - * - * @return string - */ - public function getSeparator() - { - return $this->_separator; - } - - /** - * Set the indentation string for __toString() serialization, - * optionally, if a number is passed, it will be the number of spaces - * - * @param string|int $indent - * @return Zend_View_Helper_Placeholder_Container_Abstract - */ - public function setIndent($indent) - { - $this->_indent = $this->getWhitespace($indent); - return $this; - } - - /** - * Retrieve indentation - * - * @return string - */ - public function getIndent() - { - return $this->_indent; - } - - /** - * Retrieve whitespace representation of $indent - * - * @param int|string $indent - * @return string - */ - public function getWhitespace($indent) - { - if (is_int($indent)) { - $indent = str_repeat(' ', $indent); - } - - return (string) $indent; - } - - /** - * Start capturing content to push into placeholder - * - * @param int $type How to capture content into placeholder; append, prepend, or set - * @return void - * @throws Zend_View_Helper_Placeholder_Exception if nested captures detected - */ - public function captureStart($type = Zend_View_Helper_Placeholder_Container_Abstract::APPEND, $key = null) - { - if ($this->_captureLock) { - require_once 'Zend/View/Helper/Placeholder/Container/Exception.php'; - throw new Zend_View_Helper_Placeholder_Container_Exception('Cannot nest placeholder captures for the same placeholder'); - } - - $this->_captureLock = true; - $this->_captureType = $type; - if ((null !== $key) && is_scalar($key)) { - $this->_captureKey = (string) $key; - } - ob_start(); - } - - /** - * End content capture - * - * @return void - */ - public function captureEnd() - { - $data = ob_get_clean(); - $key = null; - $this->_captureLock = false; - if (null !== $this->_captureKey) { - $key = $this->_captureKey; - } - switch ($this->_captureType) { - case self::SET: - if (null !== $key) { - $this[$key] = $data; - } else { - $this->exchangeArray(array($data)); - } - break; - case self::PREPEND: - if (null !== $key) { - $array = array($key => $data); - $values = $this->getArrayCopy(); - $final = $array + $values; - $this->exchangeArray($final); - } else { - $this->prepend($data); - } - break; - case self::APPEND: - default: - if (null !== $key) { - if (empty($this[$key])) { - $this[$key] = $data; - } else { - $this[$key] .= $data; - } - } else { - $this[$this->nextIndex()] = $data; - } - break; - } - } - - /** - * Get keys - * - * @return array - */ - public function getKeys() - { - $array = $this->getArrayCopy(); - return array_keys($array); - } - - /** - * Next Index - * - * as defined by the PHP manual - * @return int - */ - public function nextIndex() - { - $keys = $this->getKeys(); - if (0 == count($keys)) { - return 0; - } - - return $nextIndex = max($keys) + 1; - } - - /** - * Render the placeholder - * - * @return string - */ - public function toString($indent = null) - { - $indent = ($indent !== null) - ? $this->getWhitespace($indent) - : $this->getIndent(); - - $items = $this->getArrayCopy(); - $return = $indent - . $this->getPrefix() - . implode($this->getSeparator(), $items) - . $this->getPostfix(); - $return = preg_replace("/(\r\n?|\n)/", '$1' . $indent, $return); - return $return; - } - - /** - * Serialize object to string - * - * @return string - */ - public function __toString() - { - return $this->toString(); - } -} diff --git a/lib/zend/Zend/View/Helper/Placeholder/Container/Exception.php b/lib/zend/Zend/View/Helper/Placeholder/Container/Exception.php deleted file mode 100644 index 115651982b..0000000000 --- a/lib/zend/Zend/View/Helper/Placeholder/Container/Exception.php +++ /dev/null @@ -1,39 +0,0 @@ -setRegistry(Zend_View_Helper_Placeholder_Registry::getRegistry()); - $this->setContainer($this->getRegistry()->getContainer($this->_regKey)); - } - - /** - * Retrieve registry - * - * @return Zend_View_Helper_Placeholder_Registry - */ - public function getRegistry() - { - return $this->_registry; - } - - /** - * Set registry object - * - * @param Zend_View_Helper_Placeholder_Registry $registry - * @return Zend_View_Helper_Placeholder_Container_Standalone - */ - public function setRegistry(Zend_View_Helper_Placeholder_Registry $registry) - { - $this->_registry = $registry; - return $this; - } - - /** - * Set whether or not auto escaping should be used - * - * @param bool $autoEscape whether or not to auto escape output - * @return Zend_View_Helper_Placeholder_Container_Standalone - */ - public function setAutoEscape($autoEscape = true) - { - $this->_autoEscape = ($autoEscape) ? true : false; - return $this; - } - - /** - * Return whether autoEscaping is enabled or disabled - * - * return bool - */ - public function getAutoEscape() - { - return $this->_autoEscape; - } - - /** - * Escape a string - * - * @param string $string - * @return string - */ - protected function _escape($string) - { - if ($this->view instanceof Zend_View_Interface) { - return $this->view->escape($string); - } - - return htmlentities((string) $string, null, 'UTF-8'); - } - - /** - * Set container on which to operate - * - * @param Zend_View_Helper_Placeholder_Container_Abstract $container - * @return Zend_View_Helper_Placeholder_Container_Standalone - */ - public function setContainer(Zend_View_Helper_Placeholder_Container_Abstract $container) - { - $this->_container = $container; - return $this; - } - - /** - * Retrieve placeholder container - * - * @return Zend_View_Helper_Placeholder_Container_Abstract - */ - public function getContainer() - { - return $this->_container; - } - - /** - * Overloading: set property value - * - * @param string $key - * @param mixed $value - * @return void - */ - public function __set($key, $value) - { - $container = $this->getContainer(); - $container[$key] = $value; - } - - /** - * Overloading: retrieve property - * - * @param string $key - * @return mixed - */ - public function __get($key) - { - $container = $this->getContainer(); - if (isset($container[$key])) { - return $container[$key]; - } - - return null; - } - - /** - * Overloading: check if property is set - * - * @param string $key - * @return bool - */ - public function __isset($key) - { - $container = $this->getContainer(); - return isset($container[$key]); - } - - /** - * Overloading: unset property - * - * @param string $key - * @return void - */ - public function __unset($key) - { - $container = $this->getContainer(); - if (isset($container[$key])) { - unset($container[$key]); - } - } - - /** - * Overload - * - * Proxy to container methods - * - * @param string $method - * @param array $args - * @return mixed - */ - public function __call($method, $args) - { - $container = $this->getContainer(); - if (method_exists($container, $method)) { - $return = call_user_func_array(array($container, $method), $args); - if ($return === $container) { - // If the container is returned, we really want the current object - return $this; - } - return $return; - } - - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception('Method "' . $method . '" does not exist'); - } - - /** - * String representation - * - * @return string - */ - public function toString() - { - return $this->getContainer()->toString(); - } - - /** - * Cast to string representation - * - * @return string - */ - public function __toString() - { - return $this->toString(); - } - - /** - * Countable - * - * @return int - */ - public function count() - { - $container = $this->getContainer(); - return count($container); - } - - /** - * ArrayAccess: offsetExists - * - * @param string|int $offset - * @return bool - */ - public function offsetExists($offset) - { - return $this->getContainer()->offsetExists($offset); - } - - /** - * ArrayAccess: offsetGet - * - * @param string|int $offset - * @return mixed - */ - public function offsetGet($offset) - { - return $this->getContainer()->offsetGet($offset); - } - - /** - * ArrayAccess: offsetSet - * - * @param string|int $offset - * @param mixed $value - * @return void - */ - public function offsetSet($offset, $value) - { - return $this->getContainer()->offsetSet($offset, $value); - } - - /** - * ArrayAccess: offsetUnset - * - * @param string|int $offset - * @return void - */ - public function offsetUnset($offset) - { - return $this->getContainer()->offsetUnset($offset); - } - - /** - * IteratorAggregate: get Iterator - * - * @return Iterator - */ - public function getIterator() - { - return $this->getContainer()->getIterator(); - } -} diff --git a/lib/zend/Zend/View/Helper/Placeholder/Registry.php b/lib/zend/Zend/View/Helper/Placeholder/Registry.php deleted file mode 100644 index 05dbe05c06..0000000000 --- a/lib/zend/Zend/View/Helper/Placeholder/Registry.php +++ /dev/null @@ -1,186 +0,0 @@ -_items[$key] = new $this->_containerClass(array()); - return $this->_items[$key]; - } - - /** - * Retrieve a placeholder container - * - * @param string $key - * @return Zend_View_Helper_Placeholder_Container_Abstract - */ - public function getContainer($key) - { - $key = (string) $key; - if (isset($this->_items[$key])) { - return $this->_items[$key]; - } - - $container = $this->createContainer($key); - - return $container; - } - - /** - * Does a particular container exist? - * - * @param string $key - * @return bool - */ - public function containerExists($key) - { - $key = (string) $key; - $return = array_key_exists($key, $this->_items); - return $return; - } - - /** - * Set the container for an item in the registry - * - * @param string $key - * @param Zend_View_Placeholder_Container_Abstract $container - * @return Zend_View_Placeholder_Registry - */ - public function setContainer($key, Zend_View_Helper_Placeholder_Container_Abstract $container) - { - $key = (string) $key; - $this->_items[$key] = $container; - return $this; - } - - /** - * Delete a container - * - * @param string $key - * @return bool - */ - public function deleteContainer($key) - { - $key = (string) $key; - if (isset($this->_items[$key])) { - unset($this->_items[$key]); - return true; - } - - return false; - } - - /** - * Set the container class to use - * - * @param string $name - * @return Zend_View_Helper_Placeholder_Registry - */ - public function setContainerClass($name) - { - if (!class_exists($name)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($name); - } - - $reflection = new ReflectionClass($name); - if (!$reflection->isSubclassOf(new ReflectionClass('Zend_View_Helper_Placeholder_Container_Abstract'))) { - require_once 'Zend/View/Helper/Placeholder/Registry/Exception.php'; - throw new Zend_View_Helper_Placeholder_Registry_Exception('Invalid Container class specified'); - } - - $this->_containerClass = $name; - return $this; - } - - /** - * Retrieve the container class - * - * @return string - */ - public function getContainerClass() - { - return $this->_containerClass; - } -} diff --git a/lib/zend/Zend/View/Helper/Placeholder/Registry/Exception.php b/lib/zend/Zend/View/Helper/Placeholder/Registry/Exception.php deleted file mode 100644 index aa0d594c43..0000000000 --- a/lib/zend/Zend/View/Helper/Placeholder/Registry/Exception.php +++ /dev/null @@ -1,39 +0,0 @@ -view->placeholder($placeholder)->captureStart(); - echo $this->view->render($script); - $this->view->placeholder($placeholder)->captureEnd(); - } -} diff --git a/lib/zend/Zend/View/Helper/ServerUrl.php b/lib/zend/Zend/View/Helper/ServerUrl.php deleted file mode 100644 index 9dc3dccd9b..0000000000 --- a/lib/zend/Zend/View/Helper/ServerUrl.php +++ /dev/null @@ -1,144 +0,0 @@ -setScheme($scheme); - - if (isset($_SERVER['HTTP_HOST']) && !empty($_SERVER['HTTP_HOST'])) { - $this->setHost($_SERVER['HTTP_HOST']); - } else if (isset($_SERVER['SERVER_NAME'], $_SERVER['SERVER_PORT'])) { - $name = $_SERVER['SERVER_NAME']; - $port = $_SERVER['SERVER_PORT']; - - if (($scheme == 'http' && $port == 80) || - ($scheme == 'https' && $port == 443)) { - $this->setHost($name); - } else { - $this->setHost($name . ':' . $port); - } - } - } - - /** - * View helper entry point: - * Returns the current host's URL like http://site.com - * - * @param string|boolean $requestUri [optional] if true, the request URI - * found in $_SERVER will be appended - * as a path. If a string is given, it - * will be appended as a path. Default - * is to not append any path. - * @return string server url - */ - public function serverUrl($requestUri = null) - { - if ($requestUri === true) { - $path = $_SERVER['REQUEST_URI']; - } else if (is_string($requestUri)) { - $path = $requestUri; - } else { - $path = ''; - } - - return $this->getScheme() . '://' . $this->getHost() . $path; - } - - /** - * Returns host - * - * @return string host - */ - public function getHost() - { - return $this->_host; - } - - /** - * Sets host - * - * @param string $host new host - * @return Zend_View_Helper_ServerUrl fluent interface, returns self - */ - public function setHost($host) - { - $this->_host = $host; - return $this; - } - - /** - * Returns scheme (typically http or https) - * - * @return string scheme (typically http or https) - */ - public function getScheme() - { - return $this->_scheme; - } - - /** - * Sets scheme (typically http or https) - * - * @param string $scheme new scheme (typically http or https) - * @return Zend_View_Helper_ServerUrl fluent interface, returns self - */ - public function setScheme($scheme) - { - $this->_scheme = $scheme; - return $this; - } -} diff --git a/lib/zend/Zend/View/Helper/Translate.php b/lib/zend/Zend/View/Helper/Translate.php deleted file mode 100644 index 28ff1f7b2a..0000000000 --- a/lib/zend/Zend/View/Helper/Translate.php +++ /dev/null @@ -1,178 +0,0 @@ -setTranslator($translate); - } - } - - /** - * Translate a message - * You can give multiple params or an array of params. - * If you want to output another locale just set it as last single parameter - * Example 1: translate('%1\$s + %2\$s', $value1, $value2, $locale); - * Example 2: translate('%1\$s + %2\$s', array($value1, $value2), $locale); - * - * @param string $messageid Id of the message to be translated - * @return string Translated message - */ - public function translate($messageid = null) - { - if ($messageid === null) { - return $this; - } - - $translate = $this->getTranslator(); - if ($translate === null) { - return $messageid; - } - - $options = func_get_args(); - array_shift($options); - - $count = count($options); - $locale = null; - if ($count > 0) { - if (Zend_Locale::isLocale($options[($count - 1)], null, false) !== false) { - $locale = array_pop($options); - } - } - - if ((count($options) === 1) and (is_array($options[0]) === true)) { - $options = $options[0]; - } - - $message = $translate->translate($messageid, $locale); - if (count($options) === 0) { - return $message; - } - - return vsprintf($message, $options); - } - - /** - * Sets a translation Adapter for translation - * - * @param Zend_Translate|Zend_Translate_Adapter $translate Instance of Zend_Translate - * @throws Zend_View_Exception When no or a false instance was set - * @return Zend_View_Helper_Translate - */ - public function setTranslator($translate) - { - if ($translate instanceof Zend_Translate_Adapter) { - $this->_translator = $translate; - } else if ($translate instanceof Zend_Translate) { - $this->_translator = $translate->getAdapter(); - } else { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception('You must set an instance of Zend_Translate or Zend_Translate_Adapter'); - } - - return $this; - } - - /** - * Retrieve translation object - * - * If none is currently registered, attempts to pull it from the registry - * using the key 'Zend_Translate'. - * - * @return Zend_Translate_Adapter|null - */ - public function getTranslator() - { - if ($this->_translator === null) { - require_once 'Zend/Registry.php'; - if (Zend_Registry::isRegistered('Zend_Translate') === true) { - $this->setTranslator(Zend_Registry::get('Zend_Translate')); - } - } - - return $this->_translator; - } - - /** - * Set's an new locale for all further translations - * - * @param string|Zend_Locale $locale New locale to set - * @throws Zend_View_Exception When no Zend_Translate instance was set - * @return Zend_View_Helper_Translate - */ - public function setLocale($locale = null) - { - $translate = $this->getTranslator(); - if ($translate === null) { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception('You must set an instance of Zend_Translate or Zend_Translate_Adapter'); - } - - $translate->setLocale($locale); - return $this; - } - - /** - * Returns the set locale for translations - * - * @throws Zend_View_Exception When no Zend_Translate instance was set - * @return string|Zend_Locale - */ - public function getLocale() - { - $translate = $this->getTranslator(); - if ($translate === null) { - require_once 'Zend/View/Exception.php'; - throw new Zend_View_Exception('You must set an instance of Zend_Translate or Zend_Translate_Adapter'); - } - - return $translate->getLocale(); - } -} diff --git a/lib/zend/Zend/View/Helper/Url.php b/lib/zend/Zend/View/Helper/Url.php deleted file mode 100644 index 63a6db214f..0000000000 --- a/lib/zend/Zend/View/Helper/Url.php +++ /dev/null @@ -1,51 +0,0 @@ -getRouter(); - return $router->assemble($urlOptions, $name, $reset, $encode); - } -} diff --git a/lib/zend/Zend/View/Interface.php b/lib/zend/Zend/View/Interface.php deleted file mode 100644 index 141e2a9061..0000000000 --- a/lib/zend/Zend/View/Interface.php +++ /dev/null @@ -1,137 +0,0 @@ - value pairs to set en - * masse. - * - * @see __set() - * @param string|array $spec The assignment strategy to use (key or array of key - * => value pairs) - * @param mixed $value (Optional) If assigning a named variable, use this - * as the value. - * @return void - */ - public function assign($spec, $value = null); - - /** - * Clear all assigned variables - * - * Clears all variables assigned to Zend_View either via {@link assign()} or - * property overloading ({@link __get()}/{@link __set()}). - * - * @return void - */ - public function clearVars(); - - /** - * Processes a view script and returns the output. - * - * @param string $name The script script name to process. - * @return string The script output. - */ - public function render($name); -} diff --git a/lib/zend/Zend/View/Stream.php b/lib/zend/Zend/View/Stream.php deleted file mode 100644 index 759eae71a9..0000000000 --- a/lib/zend/Zend/View/Stream.php +++ /dev/null @@ -1,183 +0,0 @@ -_data = file_get_contents($path); - - /** - * If reading the file failed, update our local stat store - * to reflect the real stat of the file, then return on failure - */ - if ($this->_data === false) { - $this->_stat = stat($path); - return false; - } - - /** - * Convert to long-form and to - * - */ - $this->_data = preg_replace('/\<\?\=/', "_data); - $this->_data = preg_replace('/<\?(?!xml|php)/s', '_data); - - /** - * file_get_contents() won't update PHP's stat cache, so we grab a stat - * of the file to prevent additional reads should the script be - * requested again, which will make include() happy. - */ - $this->_stat = stat($path); - - return true; - } - - /** - * Included so that __FILE__ returns the appropriate info - * - * @return array - */ - public function url_stat() - { - return $this->_stat; - } - - /** - * Reads from the stream. - */ - public function stream_read($count) - { - $ret = substr($this->_data, $this->_pos, $count); - $this->_pos += strlen($ret); - return $ret; - } - - - /** - * Tells the current position in the stream. - */ - public function stream_tell() - { - return $this->_pos; - } - - - /** - * Tells if we are at the end of the stream. - */ - public function stream_eof() - { - return $this->_pos >= strlen($this->_data); - } - - - /** - * Stream statistics. - */ - public function stream_stat() - { - return $this->_stat; - } - - - /** - * Seek to a specific point in the stream. - */ - public function stream_seek($offset, $whence) - { - switch ($whence) { - case SEEK_SET: - if ($offset < strlen($this->_data) && $offset >= 0) { - $this->_pos = $offset; - return true; - } else { - return false; - } - break; - - case SEEK_CUR: - if ($offset >= 0) { - $this->_pos += $offset; - return true; - } else { - return false; - } - break; - - case SEEK_END: - if (strlen($this->_data) + $offset >= 0) { - $this->_pos = strlen($this->_data) + $offset; - return true; - } else { - return false; - } - break; - - default: - return false; - } - } -} diff --git a/lib/zend/Zend/Wildfire/Channel/HttpHeaders.php b/lib/zend/Zend/Wildfire/Channel/HttpHeaders.php deleted file mode 100644 index 13165ea2e5..0000000000 --- a/lib/zend/Zend/Wildfire/Channel/HttpHeaders.php +++ /dev/null @@ -1,336 +0,0 @@ -_protocols[$uri])) { - $this->_protocols[$uri] = $this->_initProtocol($uri); - } - - $this->_registerControllerPlugin(); - - return $this->_protocols[$uri]; - } - - /** - * Initialize a new protocol - * - * @param string $uri The URI for the protocol to be initialized - * @return object Returns the new initialized protocol instance - * @throws Zend_Wildfire_Exception - */ - protected function _initProtocol($uri) - { - switch ($uri) { - case Zend_Wildfire_Protocol_JsonStream::PROTOCOL_URI; - return new Zend_Wildfire_Protocol_JsonStream(); - } - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('Tyring to initialize unknown protocol for URI "'.$uri.'".'); - } - - - /** - * Flush all data from all protocols and send all data to response headers. - * - * @return boolean Returns TRUE if data was flushed - */ - public function flush() - { - if (!$this->_protocols || !$this->isReady()) { - return false; - } - - foreach ( $this->_protocols as $protocol ) { - - $payload = $protocol->getPayload($this); - - if ($payload) { - foreach( $payload as $message ) { - - $this->getResponse()->setHeader(self::$_headerPrefix.$message[0], - $message[1], true); - } - } - } - return true; - } - - /** - * Set the index of the plugin in the controller dispatch loop plugin stack - * - * @param integer $index The index of the plugin in the stack - * @return integer The previous index. - */ - public static function setControllerPluginStackIndex($index) - { - $previous = self::$_controllerPluginStackIndex; - self::$_controllerPluginStackIndex = $index; - return $previous; - } - - /** - * Register this object as a controller plugin. - * - * @return void - */ - protected function _registerControllerPlugin() - { - $controller = Zend_Controller_Front::getInstance(); - if (!$controller->hasPlugin(get_class($this))) { - $controller->registerPlugin($this, self::$_controllerPluginStackIndex); - } - } - - - /* - * Zend_Wildfire_Channel_Interface - */ - - /** - * Determine if channel is ready. - * - * The channel is ready as long as the request and response objects are initialized, - * can send headers and the FirePHP header exists in the User-Agent. - * - * If the header does not exist in the User-Agent, no appropriate client - * is making this request and the messages should not be sent. - * - * A timing issue arises when messages are logged before the request/response - * objects are initialized. In this case we do not yet know if the client - * will be able to accept the messages. If we consequently indicate that - * the channel is not ready, these messages will be dropped which is in - * most cases not the intended behaviour. The intent is to send them at the - * end of the request when the request/response objects will be available - * for sure. - * - * If the request/response objects are not yet initialized we assume if messages are - * logged, the client will be able to receive them. As soon as the request/response - * objects are availoable and a message is logged this assumption is challenged. - * If the client cannot accept the messages any further messages are dropped - * and messages sent prior are kept but discarded when the channel is finally - * flushed at the end of the request. - * - * When the channel is flushed the $forceCheckRequest option is used to force - * a check of the request/response objects. This is the last verification to ensure - * messages are only sent when the client can accept them. - * - * @param boolean $forceCheckRequest OPTIONAL Set to TRUE if the request must be checked - * @return boolean Returns TRUE if channel is ready. - */ - public function isReady($forceCheckRequest=false) - { - if (!$forceCheckRequest - && !$this->_request - && !$this->_response - ) { - return true; - } - - return ($this->getResponse()->canSendHeaders() - && preg_match_all( - '/\s?FirePHP\/([\.|\d]*)\s?/si', - $this->getRequest()->getHeader('User-Agent'), - $m - ) - ); - } - - - /* - * Zend_Controller_Plugin_Abstract - */ - - /** - * Flush messages to headers as late as possible but before headers have been sent. - * - * @return void - */ - public function dispatchLoopShutdown() - { - $this->flush(); - } - - /** - * Get the request object - * - * @return Zend_Controller_Request_Abstract - * @throws Zend_Wildfire_Exception - */ - public function getRequest() - { - if (!$this->_request) { - $controller = Zend_Controller_Front::getInstance(); - $this->setRequest($controller->getRequest()); - } - if (!$this->_request) { - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('Request objects not initialized.'); - } - return $this->_request; - } - - /** - * Get the response object - * - * @return Zend_Controller_Response_Abstract - * @throws Zend_Wildfire_Exception - */ - public function getResponse() - { - if (!$this->_response) { - $response = Zend_Controller_Front::getInstance()->getResponse(); - if ($response) { - $this->setResponse($response); - } - } - if (!$this->_response) { - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('Response objects not initialized.'); - } - return $this->_response; - } -} diff --git a/lib/zend/Zend/Wildfire/Channel/Interface.php b/lib/zend/Zend/Wildfire/Channel/Interface.php deleted file mode 100644 index 5ec7173f3f..0000000000 --- a/lib/zend/Zend/Wildfire/Channel/Interface.php +++ /dev/null @@ -1,38 +0,0 @@ - 1, /* The offset in the trace which identifies the source of the message */ - 'maxTraceDepth' => 99, /* Maximum depth for stack traces */ - 'maxObjectDepth' => 10, /* The maximum depth to traverse objects when encoding */ - 'maxArrayDepth' => 20, /* The maximum depth to traverse nested arrays when encoding */ - 'includeLineNumbers' => true /* Whether to include line and file info for each message */ - ); - - /** - * Filters used to exclude object members when encoding - * @var array - */ - protected $_objectFilters = array(); - - /** - * A stack of objects used during encoding to detect recursion - * @var array - */ - protected $_objectStack = array(); - - /** - * Create singleton instance. - * - * @param string $class OPTIONAL Subclass of Zend_Wildfire_Plugin_FirePhp - * @return Zend_Wildfire_Plugin_FirePhp Returns the singleton Zend_Wildfire_Plugin_FirePhp instance - * @throws Zend_Wildfire_Exception - */ - public static function init($class = null) - { - if (self::$_instance !== null) { - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('Singleton instance of Zend_Wildfire_Plugin_FirePhp already exists!'); - } - if ($class !== null) { - if (!is_string($class)) { - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('Third argument is not a class string'); - } - - if (!class_exists($class)) { - require_once 'Zend/Loader.php'; - Zend_Loader::loadClass($class); - } - self::$_instance = new $class(); - if (!self::$_instance instanceof Zend_Wildfire_Plugin_FirePhp) { - self::$_instance = null; - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('Invalid class to third argument. Must be subclass of Zend_Wildfire_Plugin_FirePhp.'); - } - } else { - self::$_instance = new self(); - } - - return self::$_instance; - } - - /** - * Constructor - * @return void - */ - protected function __construct() - { - $this->_channel = Zend_Wildfire_Channel_HttpHeaders::getInstance(); - $this->_channel->getProtocol(self::PROTOCOL_URI)->registerPlugin($this); - } - - /** - * Get or create singleton instance - * - * @param $skipCreate boolean True if an instance should not be created - * @return Zend_Wildfire_Plugin_FirePhp - */ - public static function getInstance($skipCreate=false) - { - if (self::$_instance===null && $skipCreate!==true) { - return self::init(); - } - return self::$_instance; - } - - /** - * Destroys the singleton instance - * - * Primarily used for testing. - * - * @return void - */ - public static function destroyInstance() - { - self::$_instance = null; - } - - /** - * Enable or disable sending of messages to user-agent. - * If disabled all headers to be sent will be removed. - * - * @param boolean $enabled Set to TRUE to enable sending of messages. - * @return boolean The previous value. - */ - public function setEnabled($enabled) - { - $previous = $this->_enabled; - $this->_enabled = $enabled; - if (!$this->_enabled) { - $this->_messages = array(); - $this->_channel->getProtocol(self::PROTOCOL_URI)->clearMessages($this); - } - return $previous; - } - - /** - * Determine if logging to user-agent is enabled. - * - * @return boolean Returns TRUE if logging is enabled. - */ - public function getEnabled() - { - return $this->_enabled; - } - - /** - * Set a single option - * - * @param string $key The name of the option - * @param mixed $value The value of the option - * @return mixed The previous value of the option - */ - public function setOption($key, $value) - { - if (!array_key_exists($key,$this->_options)) { - throw new Zend_Wildfire_Exception('Option with name "'.$key.'" does not exist!'); - } - $previous = $this->_options[$key]; - $this->_options[$key] = $value; - return $previous; - } - - /** - * Retrieve a single option - * - * @param string $key The name of the option - * @return mixed The value of the option - */ - public function getOption($key) - { - if (!array_key_exists($key,$this->_options)) { - throw new Zend_Wildfire_Exception('Option with name "'.$key.'" does not exist!'); - } - return $this->_options[$key]; - } - - /** - * Retrieve all options - * - * @return array All options - */ - public function getOptions() - { - return $this->_options; - } - - /** - * Specify a filter to be used when encoding an object - * - * Filters are used to exclude object members. - * - * @param string $Class The class name of the object - * @param array $Filter An array of members to exclude - * @return void - */ - public function setObjectFilter($class, $filter) { - $this->_objectFilters[$class] = $filter; - } - - /** - * Starts a group in the Firebug Console - * - * @param string $title The title of the group - * @return TRUE if the group instruction was added to the response headers or buffered. - */ - public static function group($title) - { - return self::send(null, $title, self::GROUP_START); - } - - /** - * Ends a group in the Firebug Console - * - * @return TRUE if the group instruction was added to the response headers or buffered. - */ - public static function groupEnd() - { - return self::send(null, null, self::GROUP_END); - } - - /** - * Logs variables to the Firebug Console - * via HTTP response headers and the FirePHP Firefox Extension. - * - * @param mixed $var The variable to log. - * @param string $label OPTIONAL Label to prepend to the log event. - * @param string $style OPTIONAL Style of the log event. - * @param array $options OPTIONAL Options to change how messages are processed and sent - * @return boolean Returns TRUE if the variable was added to the response headers or buffered. - * @throws Zend_Wildfire_Exception - */ - public static function send($var, $label=null, $style=null, $options=array()) - { - $firephp = self::getInstance(); - - if (!$firephp->getEnabled()) { - return false; - } - - if ($var instanceof Zend_Wildfire_Plugin_FirePhp_Message) { - - if ($var->getBuffered()) { - if (!in_array($var, self::$_instance->_messages)) { - self::$_instance->_messages[] = $var; - } - return true; - } - - if ($var->getDestroy()) { - return false; - } - - $style = $var->getStyle(); - $label = $var->getLabel(); - $options = $var->getOptions(); - $var = $var->getMessage(); - } - - if (!self::$_instance->_channel->isReady()) { - return false; - } - - foreach ($options as $name => $value) { - if ($value===null) { - unset($options[$name]); - } - } - $options = array_merge($firephp->getOptions(), $options); - - $trace = null; - - $skipFinalEncode = false; - - $meta = array(); - $meta['Type'] = $style; - - if ($var instanceof Exception) { - - $eTrace = $var->getTrace(); - $eTrace = array_splice($eTrace, 0, $options['maxTraceDepth']); - - $var = array('Class'=>get_class($var), - 'Message'=>$var->getMessage(), - 'File'=>$var->getFile(), - 'Line'=>$var->getLine(), - 'Type'=>'throw', - 'Trace'=>$firephp->_encodeTrace($eTrace)); - - $meta['Type'] = self::EXCEPTION; - - $skipFinalEncode = true; - - } else - if ($meta['Type']==self::TRACE) { - - if (!$label && $var) { - $label = $var; - $var = null; - } - - if (!$trace) { - $trace = $firephp->_getStackTrace(array_merge($options, - array('maxTraceDepth'=>$options['maxTraceDepth']+1))); - } - - $var = array('Class'=>$trace[0]['class'], - 'Type'=>$trace[0]['type'], - 'Function'=>$trace[0]['function'], - 'Message'=>$label, - 'File'=>isset($trace[0]['file'])?$trace[0]['file']:'', - 'Line'=>isset($trace[0]['line'])?$trace[0]['line']:'', - 'Args'=>isset($trace[0]['args'])?$firephp->_encodeObject($trace[0]['args']):'', - 'Trace'=>$firephp->_encodeTrace(array_splice($trace,1))); - - $skipFinalEncode = true; - - } else - if ($meta['Type']==self::TABLE) { - - $var = $firephp->_encodeTable($var); - - $skipFinalEncode = true; - - } else { - if ($meta['Type']===null) { - $meta['Type'] = self::LOG; - } - } - - if ($label!=null) { - $meta['Label'] = $label; - } - - switch ($meta['Type']) { - case self::LOG: - case self::INFO: - case self::WARN: - case self::ERROR: - case self::EXCEPTION: - case self::TRACE: - case self::TABLE: - case self::DUMP: - case self::GROUP_START: - case self::GROUP_END: - break; - default: - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('Log style "'.$meta['Type'].'" not recognized!'); - break; - } - - if ($meta['Type'] != self::DUMP && $options['includeLineNumbers']) { - if (!isset($meta['File']) || !isset($meta['Line'])) { - - if (!$trace) { - $trace = $firephp->_getStackTrace($options); - } - - $meta['File'] = isset($trace[0]['file'])?$trace[0]['file']:''; - $meta['Line'] = isset($trace[0]['line'])?$trace[0]['line']:''; - - } - } else { - unset($meta['File']); - unset($meta['Line']); - } - - if ($meta['Type'] == self::DUMP) { - - return $firephp->_recordMessage(self::STRUCTURE_URI_DUMP, - array('key'=>$meta['Label'], - 'data'=>$var), - $skipFinalEncode); - - } else { - - return $firephp->_recordMessage(self::STRUCTURE_URI_FIREBUGCONSOLE, - array('data'=>$var, - 'meta'=>$meta), - $skipFinalEncode); - } - } - - /** - * Gets a stack trace - * - * @param array $options Options to change how the stack trace is returned - * @return array The stack trace - */ - protected function _getStackTrace($options) - { - $trace = debug_backtrace(); - - return array_splice($trace, $options['traceOffset'], $options['maxTraceDepth']); - } - - /** - * Record a message with the given data in the given structure - * - * @param string $structure The structure to be used for the data - * @param array $data The data to be recorded - * @param boolean $skipEncode TRUE if variable encoding should be skipped - * @return boolean Returns TRUE if message was recorded - * @throws Zend_Wildfire_Exception - */ - protected function _recordMessage($structure, $data, $skipEncode=false) - { - switch($structure) { - - case self::STRUCTURE_URI_DUMP: - - if (!isset($data['key'])) { - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('You must supply a key.'); - } - if (!array_key_exists('data',$data)) { - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('You must supply data.'); - } - - $value = $data['data']; - if (!$skipEncode) { - $value = $this->_encodeObject($data['data']); - } - - return $this->_channel->getProtocol(self::PROTOCOL_URI)-> - recordMessage($this, - $structure, - array($data['key']=>$value)); - - case self::STRUCTURE_URI_FIREBUGCONSOLE: - - if (!isset($data['meta']) || - !is_array($data['meta']) || - !array_key_exists('Type',$data['meta'])) { - - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('You must supply a "Type" in the meta information.'); - } - if (!array_key_exists('data',$data)) { - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('You must supply data.'); - } - - $value = $data['data']; - if (!$skipEncode) { - $value = $this->_encodeObject($data['data']); - } - - return $this->_channel->getProtocol(self::PROTOCOL_URI)-> - recordMessage($this, - $structure, - array($data['meta'], - $value)); - - default: - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('Structure of name "'.$structure.'" is not recognized.'); - break; - } - return false; - } - - /** - * Encodes a table by encoding each row and column with _encodeObject() - * - * @param array $Table The table to be encoded - * @return array - */ - protected function _encodeTable($table) - { - if (!$table) { - return $table; - } - for ($i=0 ; $i_encodeObject($table[$i][$j]); - } - } - } - return $table; - } - - /** - * Encodes a trace by encoding all "args" with _encodeObject() - * - * @param array $Trace The trace to be encoded - * @return array The encoded trace - */ - protected function _encodeTrace($trace) - { - if (!$trace) { - return $trace; - } - for ($i=0 ; $i_encodeObject($trace[$i]['args']); - } - } - return $trace; - } - - /** - * Encode an object by generating an array containing all object members. - * - * All private and protected members are included. Some meta info about - * the object class is added. - * - * @param mixed $object The object/array/value to be encoded - * @return array The encoded object - */ - protected function _encodeObject($object, $objectDepth = 1, $arrayDepth = 1) - { - $return = array(); - - if (is_resource($object)) { - - return '** '.(string)$object.' **'; - - } else - if (is_object($object)) { - - if ($objectDepth > $this->_options['maxObjectDepth']) { - return '** Max Object Depth ('.$this->_options['maxObjectDepth'].') **'; - } - - foreach ($this->_objectStack as $refVal) { - if ($refVal === $object) { - return '** Recursion ('.get_class($object).') **'; - } - } - array_push($this->_objectStack, $object); - - $return['__className'] = $class = get_class($object); - - $reflectionClass = new ReflectionClass($class); - $properties = array(); - foreach ( $reflectionClass->getProperties() as $property) { - $properties[$property->getName()] = $property; - } - - $members = (array)$object; - - foreach ($properties as $just_name => $property) { - - $name = $raw_name = $just_name; - - if ($property->isStatic()) { - $name = 'static:'.$name; - } - if ($property->isPublic()) { - $name = 'public:'.$name; - } else - if ($property->isPrivate()) { - $name = 'private:'.$name; - $raw_name = "\0".$class."\0".$raw_name; - } else - if ($property->isProtected()) { - $name = 'protected:'.$name; - $raw_name = "\0".'*'."\0".$raw_name; - } - - if (!(isset($this->_objectFilters[$class]) - && is_array($this->_objectFilters[$class]) - && in_array($just_name,$this->_objectFilters[$class]))) { - - if (array_key_exists($raw_name,$members) - && !$property->isStatic()) { - - $return[$name] = $this->_encodeObject($members[$raw_name], $objectDepth + 1, 1); - - } else { - if (method_exists($property,'setAccessible')) { - $property->setAccessible(true); - $return[$name] = $this->_encodeObject($property->getValue($object), $objectDepth + 1, 1); - } else - if ($property->isPublic()) { - $return[$name] = $this->_encodeObject($property->getValue($object), $objectDepth + 1, 1); - } else { - $return[$name] = '** Need PHP 5.3 to get value **'; - } - } - } else { - $return[$name] = '** Excluded by Filter **'; - } - } - - // Include all members that are not defined in the class - // but exist in the object - foreach($members as $just_name => $value) { - - $name = $raw_name = $just_name; - - if ($name{0} == "\0") { - $parts = explode("\0", $name); - $name = $parts[2]; - } - if (!isset($properties[$name])) { - $name = 'undeclared:'.$name; - - if (!(isset($this->objectFilters[$class]) - && is_array($this->objectFilters[$class]) - && in_array($just_name,$this->objectFilters[$class]))) { - - $return[$name] = $this->_encodeObject($value, $objectDepth + 1, 1); - } else { - $return[$name] = '** Excluded by Filter **'; - } - } - } - - array_pop($this->_objectStack); - - } elseif (is_array($object)) { - - if ($arrayDepth > $this->_options['maxArrayDepth']) { - return '** Max Array Depth ('.$this->_options['maxArrayDepth'].') **'; - } - - foreach ($object as $key => $val) { - - // Encoding the $GLOBALS PHP array causes an infinite loop - // if the recursion is not reset here as it contains - // a reference to itself. This is the only way I have come up - // with to stop infinite recursion in this case. - if ($key=='GLOBALS' - && is_array($val) - && array_key_exists('GLOBALS',$val)) { - - $val['GLOBALS'] = '** Recursion (GLOBALS) **'; - } - $return[$key] = $this->_encodeObject($val, 1, $arrayDepth + 1); - } - } else { - return $object; - } - return $return; - } - - /* - * Zend_Wildfire_Plugin_Interface - */ - - /** - * Get the unique indentifier for this plugin. - * - * @return string Returns the URI of the plugin. - */ - public function getUri() - { - return self::PLUGIN_URI; - } - - /** - * Flush any buffered data. - * - * @param string $protocolUri The URI of the protocol that should be flushed to - * @return void - */ - public function flushMessages($protocolUri) - { - if (!$this->_messages || $protocolUri!=self::PROTOCOL_URI) { - return; - } - - foreach( $this->_messages as $message ) { - if (!$message->getDestroy()) { - $this->send($message->getMessage(), - $message->getLabel(), - $message->getStyle(), - $message->getOptions()); - } - } - - $this->_messages = array(); - } -} diff --git a/lib/zend/Zend/Wildfire/Plugin/FirePhp/Message.php b/lib/zend/Zend/Wildfire/Plugin/FirePhp/Message.php deleted file mode 100644 index 3ad11dc41f..0000000000 --- a/lib/zend/Zend/Wildfire/Plugin/FirePhp/Message.php +++ /dev/null @@ -1,246 +0,0 @@ - null, /* The offset in the trace which identifies the source of the message */ - 'includeLineNumbers' => null /* Whether to include line and file info for this message */ - ); - - /** - * Creates a new message with the given style and message - * - * @param string $style Style of the message. - * @param mixed $message The message - * @return void - */ - function __construct($style, $message) - { - $this->_style = $style; - $this->_message = $message; - $this->_ruid = md5(microtime().mt_rand()); - } - - /** - * Set the label of the message - * - * @param string $label The label to be set - * @return void - */ - public function setLabel($label) - { - $this->_label = $label; - } - - /** - * Get the label of the message - * - * @return string The label of the message - */ - public function getLabel() - { - return $this->_label; - } - - /** - * Enable or disable message buffering - * - * If a message is buffered it can be updated for the duration of the - * request and is only flushed at the end of the request. - * - * @param boolean $buffered TRUE to enable buffering FALSE otherwise - * @return boolean Returns previous buffering value - */ - public function setBuffered($buffered) - { - $previous = $this->_buffered; - $this->_buffered = $buffered; - return $previous; - } - - /** - * Determine if buffering is enabled or disabled - * - * @return boolean Returns TRUE if buffering is enabled, FALSE otherwise. - */ - public function getBuffered() - { - return $this->_buffered; - } - - /** - * Destroy the message to prevent delivery - * - * @param boolean $destroy TRUE to destroy FALSE otherwise - * @return boolean Returns previous destroy value - */ - public function setDestroy($destroy) - { - $previous = $this->_destroy; - $this->_destroy = $destroy; - return $previous; - } - - /** - * Determine if message should be destroyed - * - * @return boolean Returns TRUE if message should be destroyed, FALSE otherwise. - */ - public function getDestroy() - { - return $this->_destroy; - } - - /** - * Set the style of the message - * - * @return void - */ - public function setStyle($style) - { - $this->_style = $style; - } - - /** - * Get the style of the message - * - * @return string The style of the message - */ - public function getStyle() - { - return $this->_style; - } - - /** - * Set the actual message to be sent in its final format. - * - * @return void - */ - public function setMessage($message) - { - $this->_message = $message; - } - - /** - * Get the actual message to be sent in its final format. - * - * @return mixed Returns the message to be sent. - */ - public function getMessage() - { - return $this->_message; - } - - /** - * Set a single option - * - * @param string $key The name of the option - * @param mixed $value The value of the option - * @return mixed The previous value of the option - */ - public function setOption($key, $value) - { - if(!array_key_exists($key,$this->_options)) { - throw new Zend_Wildfire_Exception('Option with name "'.$key.'" does not exist!'); - } - $previous = $this->_options[$key]; - $this->_options[$key] = $value; - return $previous; - } - - /** - * Retrieve a single option - * - * @param string $key The name of the option - * @return mixed The value of the option - */ - public function getOption($key) - { - if(!array_key_exists($key,$this->_options)) { - throw new Zend_Wildfire_Exception('Option with name "'.$key.'" does not exist!'); - } - return $this->_options[$key]; - } - - /** - * Retrieve all options - * - * @return array All options - */ - public function getOptions() - { - return $this->_options; - } -} - diff --git a/lib/zend/Zend/Wildfire/Plugin/FirePhp/TableMessage.php b/lib/zend/Zend/Wildfire/Plugin/FirePhp/TableMessage.php deleted file mode 100644 index efbf3ec71b..0000000000 --- a/lib/zend/Zend/Wildfire/Plugin/FirePhp/TableMessage.php +++ /dev/null @@ -1,165 +0,0 @@ -setLabel($label); - } - - /** - * Set the table header - * - * @param array $header The header columns - * @return void - */ - public function setHeader($header) - { - $this->_header = $header; - } - - /** - * Append a row to the end of the table. - * - * @param array $row An array of column values representing a row. - * @return void - */ - public function addRow($row) - { - $this->_rows[] = $row; - } - - /** - * Get the actual message to be sent in its final format. - * - * @return mixed Returns the message to be sent. - */ - public function getMessage() - { - $table = $this->_rows; - if($this->_header) { - array_unshift($table,$this->_header); - } - return $table; - } - - /** - * Returns the row at the given index - * - * @param integer $index The index of the row - * @return array Returns the row - * @throws Zend_Wildfire_Exception - */ - public function getRowAt($index) - { - $count = $this->getRowCount(); - - if($index < 0 || $index > $count-1) { - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('Row index('.$index.') out of bounds('.$count.')!'); - } - - return $this->_rows[$index]; - } - - /** - * Sets the row on the given index to a new row - * - * @param integer $index The index of the row - * @param array $row The new data for the row - * @throws Zend_Wildfire_Exception - */ - public function setRowAt($index, $row) - { - $count = $this->getRowCount(); - - if($index < 0 || $index > $count-1) { - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('Row index('.$index.') out of bounds('.$count.')!'); - } - - $this->_rows[$index] = $row; - } - - /** - * Returns the number of rows - * - * @return integer - */ - public function getRowCount() - { - return count($this->_rows); - } - - /** - * Returns the last row of the table - * - * @return array Returns the last row - * @throws Zend_Wildfire_Exception - */ - public function getLastRow() - { - $count = $this->getRowCount(); - - if($count==0) { - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('Cannot get last row as no rows exist!'); - } - - return $this->_rows[$count-1]; - } -} diff --git a/lib/zend/Zend/Wildfire/Plugin/Interface.php b/lib/zend/Zend/Wildfire/Plugin/Interface.php deleted file mode 100644 index 8e3caf361b..0000000000 --- a/lib/zend/Zend/Wildfire/Plugin/Interface.php +++ /dev/null @@ -1,48 +0,0 @@ -_plugins)) { - return false; - } - $this->_plugins[] = $plugin; - return true; - } - - /** - * Record a message with the given data in the given structure - * - * @param Zend_Wildfire_Plugin_Interface $plugin The plugin recording the message - * @param string $structure The structure to be used for the data - * @param array $data The data to be recorded - * @return boolean Returns TRUE if message was recorded - */ - public function recordMessage(Zend_Wildfire_Plugin_Interface $plugin, $structure, $data) - { - if(!isset($this->_messages[$structure])) { - $this->_messages[$structure] = array(); - } - - $uri = $plugin->getUri(); - - if(!isset($this->_messages[$structure][$uri])) { - $this->_messages[$structure][$uri] = array(); - } - - $this->_messages[$structure][$uri][] = $this->_encode($data); - return true; - } - - /** - * Remove all qued messages - * - * @param Zend_Wildfire_Plugin_Interface $plugin The plugin for which to clear messages - * @return boolean Returns TRUE if messages were present - */ - public function clearMessages(Zend_Wildfire_Plugin_Interface $plugin) - { - $uri = $plugin->getUri(); - - $present = false; - foreach ($this->_messages as $structure => $messages) { - - if(!isset($this->_messages[$structure][$uri])) { - continue; - } - - $present = true; - - unset($this->_messages[$structure][$uri]); - - if (!$this->_messages[$structure]) { - unset($this->_messages[$structure]); - } - } - return $present; - } - - /** - * Get all qued messages - * - * @return mixed Returns qued messages or FALSE if no messages are qued - */ - public function getMessages() - { - if (!$this->_messages) { - return false; - } - return $this->_messages; - } - - /** - * Use the JSON encoding scheme for the value specified - * - * @param mixed $value The value to be encoded - * @return string The encoded value - */ - protected function _encode($value) - { - return Zend_Json::encode($value, true, array('silenceCyclicalExceptions'=>true)); - } - - /** - * Retrieves all formatted data ready to be sent by the channel. - * - * @param Zend_Wildfire_Channel_Interface $channel The instance of the channel that will be transmitting the data - * @return mixed Returns the data to be sent by the channel. - * @throws Zend_Wildfire_Exception - */ - public function getPayload(Zend_Wildfire_Channel_Interface $channel) - { - if (!$channel instanceof Zend_Wildfire_Channel_HttpHeaders) { - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('The '.get_class($channel).' channel is not supported by the '.get_class($this).' protocol.'); - } - - if ($this->_plugins) { - foreach ($this->_plugins as $plugin) { - $plugin->flushMessages(self::PROTOCOL_URI); - } - } - - if (!$this->_messages) { - return false; - } - - $protocol_index = 1; - $structure_index = 1; - $plugin_index = 1; - $message_index = 1; - - $payload = array(); - - $payload[] = array('Protocol-'.$protocol_index, self::PROTOCOL_URI); - - foreach ($this->_messages as $structure_uri => $plugin_messages ) { - - $payload[] = array($protocol_index.'-Structure-'.$structure_index, $structure_uri); - - foreach ($plugin_messages as $plugin_uri => $messages ) { - - $payload[] = array($protocol_index.'-Plugin-'.$plugin_index, $plugin_uri); - - foreach ($messages as $message) { - - $parts = explode("\n",chunk_split($message, 5000, "\n")); - - for ($i=0 ; $i2) { - $msg = (($i==0)?strlen($message):'') - . '|' . $part . '|' - . (($i 99999) { - require_once 'Zend/Wildfire/Exception.php'; - throw new Zend_Wildfire_Exception('Maximum number (99,999) of messages reached!'); - } - } - } - } - $plugin_index++; - } - $structure_index++; - } - - return $payload; - } - -} - diff --git a/lib/zend/readme_moodle.txt b/lib/zend/readme_moodle.txt index f5f43679ef..7a228427b5 100644 --- a/lib/zend/readme_moodle.txt +++ b/lib/zend/readme_moodle.txt @@ -1,6 +1,8 @@ Description of Zend framework 1.9.4 import into Moodle +Please note the zend framework is severly crippled - everything not needed in /webservice/* is removed. + +Do not use outside of our /webservice/* !! -Changes: -* none -Note: this might be removed or significantly reduced before the Moodle 2.0beta \ No newline at end of file +Changes: +* lots of files removed, no changes -- 2.39.5