From 43335b172b8683f3546ba8c5afb735a22880136f Mon Sep 17 00:00:00 2001 From: titoko titoko Date: Sun, 24 Nov 2013 11:03:28 +0100 Subject: [PATCH] add 1.10 source --- source/LICENSE | 339 + source/README.md | 41 + source/api/index.php | 74 + source/atom-to-html.xsl | 51 + source/backend.php | 154 + source/cache/.htaccess | 2 + source/classes/.htaccess | 2 + source/classes/api.php | 784 +++ source/classes/article.php | 346 + source/classes/auth/base.php | 61 + source/classes/backend.php | 119 + source/classes/db.php | 98 + source/classes/db/mysql.php | 76 + source/classes/db/mysqli.php | 80 + source/classes/db/pdo.php | 100 + source/classes/db/pgsql.php | 85 + source/classes/db/prefs.php | 190 + source/classes/db/stmt.php | 32 + source/classes/dbupdater.php | 65 + source/classes/dlg.php | 272 + source/classes/feedenclosure.php | 8 + source/classes/feeditem.php | 15 + source/classes/feeditem/atom.php | 159 + source/classes/feeditem/common.php | 62 + source/classes/feeditem/rss.php | 134 + source/classes/feedparser.php | 246 + source/classes/feeds.php | 1161 ++++ source/classes/handler.php | 24 + source/classes/handler/protected.php | 8 + source/classes/handler/public.php | 976 +++ source/classes/iauthmodule.php | 5 + source/classes/idb.php | 13 + source/classes/ihandler.php | 7 + source/classes/logger.php | 65 + source/classes/logger/sql.php | 28 + source/classes/logger/syslog.php | 31 + source/classes/opml.php | 523 ++ source/classes/plugin.php | 30 + source/classes/pluginhandler.php | 22 + source/classes/pluginhost.php | 389 ++ source/classes/pref/feeds.php | 1928 ++++++ source/classes/pref/filters.php | 1070 +++ source/classes/pref/labels.php | 330 + source/classes/pref/prefs.php | 1127 +++ source/classes/pref/system.php | 90 + source/classes/pref/users.php | 457 ++ source/classes/rpc.php | 655 ++ source/classes/ttrssmailer.php | 64 + source/config.php-dist | 214 + source/css/cdm.css | 344 + source/css/layout.css | 7 + source/css/prefs.css | 126 + source/css/tt-rss.css | 1200 ++++ source/css/utility.css | 264 + source/errors.php | 50 + source/image.php | 54 + source/images/alert.png | Bin 0 -> 701 bytes source/images/archive.png | Bin 0 -> 555 bytes source/images/blank_icon.gif | Bin 0 -> 80 bytes source/images/collapse.png | Bin 0 -> 317 bytes source/images/cross.png | Bin 0 -> 655 bytes source/images/error.png | Bin 0 -> 666 bytes source/images/favicon-72px.png | Bin 0 -> 5474 bytes source/images/favicon.png | Bin 0 -> 772 bytes source/images/feed.png | Bin 0 -> 691 bytes source/images/filter.png | Bin 0 -> 586 bytes source/images/folder.png | Bin 0 -> 537 bytes source/images/fresh.png | Bin 0 -> 633 bytes source/images/indicator_tiny.gif | Bin 0 -> 723 bytes source/images/indicator_white.gif | Bin 0 -> 2611 bytes source/images/information.png | Bin 0 -> 778 bytes source/images/label.png | Bin 0 -> 586 bytes source/images/logo_small.png | Bin 0 -> 4134 bytes source/images/logo_wide.png | Bin 0 -> 2065 bytes source/images/mark_set.png | Bin 0 -> 670 bytes source/images/mark_unset.png | Bin 0 -> 610 bytes source/images/new_version.png | Bin 0 -> 372 bytes source/images/page_white_go.png | Bin 0 -> 612 bytes source/images/plugin.png | Bin 0 -> 591 bytes source/images/plugin_disabled.png | Bin 0 -> 347 bytes source/images/pub_set.png | Bin 0 -> 691 bytes source/images/pub_unset.png | Bin 0 -> 718 bytes source/images/score_half_high.png | Bin 0 -> 332 bytes source/images/score_half_low.png | Bin 0 -> 295 bytes source/images/score_high.png | Bin 0 -> 295 bytes source/images/score_low.png | Bin 0 -> 211 bytes source/images/score_neutral.png | Bin 0 -> 201 bytes source/images/star.png | Bin 0 -> 670 bytes source/images/tag.png | Bin 0 -> 594 bytes source/images/time.png | Bin 0 -> 793 bytes source/images/toolbar.png | Bin 0 -> 415 bytes source/images/user.png | Bin 0 -> 741 bytes source/include/autoload.php | 14 + source/include/ccache.php | 222 + source/include/colors.php | 351 + source/include/crypt.php | 36 + source/include/db-prefs.php | 11 + source/include/db.php | 36 + source/include/digest.php | 194 + source/include/errorhandler.php | 39 + source/include/feedbrowser.php | 112 + source/include/functions.php | 4369 ++++++++++++ source/include/labels.php | 201 + source/include/login_form.php | 254 + source/include/rssfuncs.php | 1397 ++++ source/include/sanity_check.php | 204 + source/include/sanity_config.php | 3 + source/include/sessions.php | 165 + source/include/version.php | 19 + source/index.php | 281 + source/install/index.php | 498 ++ source/js/FeedTree.js | 584 ++ source/js/PluginHost.js | 35 + source/js/PrefFeedTree.js | 125 + source/js/PrefFilterTree.js | 88 + source/js/PrefLabelTree.js | 43 + source/js/deprecated.js | 29 + source/js/feedlist.js | 506 ++ source/js/functions.js | 1936 ++++++ source/js/index.html | 0 source/js/prefs.js | 1806 +++++ source/js/tt-rss.js | 1139 +++ source/js/viewfeed.js | 2317 +++++++ source/lib/CheckBoxTree.js | 474 ++ source/lib/MiniTemplator.class.php | 922 +++ source/lib/Mobile_Detect.php | 220 + source/lib/accept-to-gettext.php | 184 + source/lib/button/license.txt | 10 + source/lib/button/musicplayer.swf | Bin 0 -> 6134 bytes source/lib/button/musicplayer_f6.swf | Bin 0 -> 6463 bytes source/lib/dijit/BackgroundIframe.js | 2 + source/lib/dijit/Calendar.js | 2 + source/lib/dijit/CalendarLite.js | 2 + source/lib/dijit/CheckedMenuItem.js | 2 + source/lib/dijit/ColorPalette.js | 2 + source/lib/dijit/Declaration.js | 2 + source/lib/dijit/Destroyable.js | 2 + source/lib/dijit/Dialog.js | 2 + source/lib/dijit/DialogUnderlay.js | 2 + source/lib/dijit/DropDownMenu.js | 2 + source/lib/dijit/Editor.js | 2 + source/lib/dijit/InlineEditBox.js | 2 + source/lib/dijit/LICENSE | 195 + source/lib/dijit/Menu.js | 2 + source/lib/dijit/MenuBar.js | 2 + source/lib/dijit/MenuBarItem.js | 2 + source/lib/dijit/MenuItem.js | 2 + source/lib/dijit/MenuSeparator.js | 2 + source/lib/dijit/PopupMenuBarItem.js | 2 + source/lib/dijit/PopupMenuItem.js | 2 + source/lib/dijit/ProgressBar.js | 2 + source/lib/dijit/TitlePane.js | 2 + source/lib/dijit/Toolbar.js | 2 + source/lib/dijit/ToolbarSeparator.js | 2 + source/lib/dijit/Tooltip.js | 2 + source/lib/dijit/TooltipDialog.js | 2 + source/lib/dijit/Tree.js | 2 + source/lib/dijit/Viewport.js | 2 + source/lib/dijit/WidgetSet.js | 2 + source/lib/dijit/_BidiSupport.js | 2 + source/lib/dijit/_Calendar.js | 2 + source/lib/dijit/_Contained.js | 2 + source/lib/dijit/_Container.js | 2 + source/lib/dijit/_CssStateMixin.js | 2 + source/lib/dijit/_DialogMixin.js | 2 + source/lib/dijit/_FocusMixin.js | 2 + source/lib/dijit/_HasDropDown.js | 2 + source/lib/dijit/_KeyNavContainer.js | 2 + source/lib/dijit/_MenuBase.js | 2 + source/lib/dijit/_OnDijitClickMixin.js | 2 + source/lib/dijit/_PaletteMixin.js | 2 + source/lib/dijit/_Templated.js | 2 + source/lib/dijit/_TemplatedMixin.js | 2 + source/lib/dijit/_TimePicker.js | 2 + source/lib/dijit/_Widget.js | 2 + source/lib/dijit/_WidgetBase.js | 2 + source/lib/dijit/_WidgetsInTemplateMixin.js | 2 + source/lib/dijit/_base.js | 2 + source/lib/dijit/_base/focus.js | 2 + source/lib/dijit/_base/manager.js | 2 + source/lib/dijit/_base/place.js | 2 + source/lib/dijit/_base/popup.js | 2 + source/lib/dijit/_base/scroll.js | 2 + source/lib/dijit/_base/sniff.js | 2 + source/lib/dijit/_base/typematic.js | 2 + source/lib/dijit/_base/wai.js | 2 + source/lib/dijit/_base/window.js | 2 + source/lib/dijit/_editor/RichText.js | 2 + source/lib/dijit/_editor/_Plugin.js | 2 + source/lib/dijit/_editor/html.js | 2 + source/lib/dijit/_editor/nls/FontChoice.js | 2 + source/lib/dijit/_editor/nls/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/ar/FontChoice.js | 2 + source/lib/dijit/_editor/nls/ar/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/ar/commands.js | 2 + source/lib/dijit/_editor/nls/az/FontChoice.js | 2 + source/lib/dijit/_editor/nls/az/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/az/commands.js | 2 + source/lib/dijit/_editor/nls/ca/FontChoice.js | 2 + source/lib/dijit/_editor/nls/ca/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/ca/commands.js | 2 + source/lib/dijit/_editor/nls/commands.js | 2 + source/lib/dijit/_editor/nls/cs/FontChoice.js | 2 + source/lib/dijit/_editor/nls/cs/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/cs/commands.js | 2 + source/lib/dijit/_editor/nls/da/FontChoice.js | 2 + source/lib/dijit/_editor/nls/da/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/da/commands.js | 2 + source/lib/dijit/_editor/nls/de/FontChoice.js | 2 + source/lib/dijit/_editor/nls/de/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/de/commands.js | 2 + source/lib/dijit/_editor/nls/el/FontChoice.js | 2 + source/lib/dijit/_editor/nls/el/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/el/commands.js | 2 + source/lib/dijit/_editor/nls/es/FontChoice.js | 2 + source/lib/dijit/_editor/nls/es/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/es/commands.js | 2 + source/lib/dijit/_editor/nls/fi/FontChoice.js | 2 + source/lib/dijit/_editor/nls/fi/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/fi/commands.js | 2 + source/lib/dijit/_editor/nls/fr/FontChoice.js | 2 + source/lib/dijit/_editor/nls/fr/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/fr/commands.js | 2 + source/lib/dijit/_editor/nls/he/FontChoice.js | 2 + source/lib/dijit/_editor/nls/he/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/he/commands.js | 2 + source/lib/dijit/_editor/nls/hr/FontChoice.js | 2 + source/lib/dijit/_editor/nls/hr/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/hr/commands.js | 2 + source/lib/dijit/_editor/nls/hu/FontChoice.js | 2 + source/lib/dijit/_editor/nls/hu/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/hu/commands.js | 2 + source/lib/dijit/_editor/nls/it/FontChoice.js | 2 + source/lib/dijit/_editor/nls/it/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/it/commands.js | 2 + source/lib/dijit/_editor/nls/ja/FontChoice.js | 2 + source/lib/dijit/_editor/nls/ja/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/ja/commands.js | 2 + source/lib/dijit/_editor/nls/kk/FontChoice.js | 2 + source/lib/dijit/_editor/nls/kk/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/kk/commands.js | 2 + source/lib/dijit/_editor/nls/ko/FontChoice.js | 2 + source/lib/dijit/_editor/nls/ko/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/ko/commands.js | 2 + source/lib/dijit/_editor/nls/nb/FontChoice.js | 2 + source/lib/dijit/_editor/nls/nb/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/nb/commands.js | 2 + source/lib/dijit/_editor/nls/nl/FontChoice.js | 2 + source/lib/dijit/_editor/nls/nl/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/nl/commands.js | 2 + source/lib/dijit/_editor/nls/pl/FontChoice.js | 2 + source/lib/dijit/_editor/nls/pl/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/pl/commands.js | 2 + .../lib/dijit/_editor/nls/pt-pt/FontChoice.js | 2 + .../lib/dijit/_editor/nls/pt-pt/LinkDialog.js | 2 + .../lib/dijit/_editor/nls/pt-pt/commands.js | 2 + source/lib/dijit/_editor/nls/pt/FontChoice.js | 2 + source/lib/dijit/_editor/nls/pt/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/pt/commands.js | 2 + source/lib/dijit/_editor/nls/ro/FontChoice.js | 2 + source/lib/dijit/_editor/nls/ro/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/ro/commands.js | 2 + source/lib/dijit/_editor/nls/ru/FontChoice.js | 2 + source/lib/dijit/_editor/nls/ru/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/ru/commands.js | 2 + source/lib/dijit/_editor/nls/sk/FontChoice.js | 2 + source/lib/dijit/_editor/nls/sk/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/sk/commands.js | 2 + source/lib/dijit/_editor/nls/sl/FontChoice.js | 2 + source/lib/dijit/_editor/nls/sl/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/sl/commands.js | 2 + source/lib/dijit/_editor/nls/sv/FontChoice.js | 2 + source/lib/dijit/_editor/nls/sv/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/sv/commands.js | 2 + source/lib/dijit/_editor/nls/th/FontChoice.js | 2 + source/lib/dijit/_editor/nls/th/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/th/commands.js | 2 + source/lib/dijit/_editor/nls/tr/FontChoice.js | 2 + source/lib/dijit/_editor/nls/tr/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/tr/commands.js | 2 + .../lib/dijit/_editor/nls/zh-tw/FontChoice.js | 2 + .../lib/dijit/_editor/nls/zh-tw/LinkDialog.js | 2 + .../lib/dijit/_editor/nls/zh-tw/commands.js | 2 + source/lib/dijit/_editor/nls/zh/FontChoice.js | 2 + source/lib/dijit/_editor/nls/zh/LinkDialog.js | 2 + source/lib/dijit/_editor/nls/zh/commands.js | 2 + .../_editor/plugins/AlwaysShowToolbar.js | 2 + .../dijit/_editor/plugins/EnterKeyHandling.js | 2 + .../lib/dijit/_editor/plugins/FontChoice.js | 2 + .../lib/dijit/_editor/plugins/FullScreen.js | 2 + .../lib/dijit/_editor/plugins/LinkDialog.js | 2 + source/lib/dijit/_editor/plugins/NewPage.js | 2 + source/lib/dijit/_editor/plugins/Print.js | 2 + source/lib/dijit/_editor/plugins/TabIndent.js | 2 + source/lib/dijit/_editor/plugins/TextColor.js | 2 + source/lib/dijit/_editor/plugins/ToggleDir.js | 2 + .../lib/dijit/_editor/plugins/ViewSource.js | 2 + source/lib/dijit/_editor/range.js | 2 + source/lib/dijit/_editor/selection.js | 2 + source/lib/dijit/_tree/dndSource.js | 2 + source/lib/dijit/a11y.js | 2 + source/lib/dijit/a11yclick.js | 2 + source/lib/dijit/dijit-all.js | 2 + source/lib/dijit/dijit.js | 2 + source/lib/dijit/dijit.profile.js | 35 + source/lib/dijit/focus.js | 2 + source/lib/dijit/form/Button.js | 2 + source/lib/dijit/form/CheckBox.js | 2 + source/lib/dijit/form/ComboBox.js | 2 + source/lib/dijit/form/ComboBoxMixin.js | 2 + source/lib/dijit/form/ComboButton.js | 2 + source/lib/dijit/form/CurrencyTextBox.js | 2 + source/lib/dijit/form/DataList.js | 2 + source/lib/dijit/form/DateTextBox.js | 2 + source/lib/dijit/form/DropDownButton.js | 2 + source/lib/dijit/form/FilteringSelect.js | 2 + source/lib/dijit/form/Form.js | 2 + source/lib/dijit/form/HorizontalRule.js | 2 + source/lib/dijit/form/HorizontalRuleLabels.js | 2 + source/lib/dijit/form/HorizontalSlider.js | 2 + source/lib/dijit/form/MappedTextBox.js | 2 + source/lib/dijit/form/MultiSelect.js | 2 + source/lib/dijit/form/NumberSpinner.js | 2 + source/lib/dijit/form/NumberTextBox.js | 2 + source/lib/dijit/form/RadioButton.js | 2 + source/lib/dijit/form/RangeBoundTextBox.js | 2 + source/lib/dijit/form/Select.js | 2 + source/lib/dijit/form/SimpleTextarea.js | 2 + source/lib/dijit/form/Slider.js | 2 + source/lib/dijit/form/TextBox.js | 2 + source/lib/dijit/form/Textarea.js | 2 + source/lib/dijit/form/TimeTextBox.js | 2 + source/lib/dijit/form/ToggleButton.js | 2 + source/lib/dijit/form/ValidationTextBox.js | 2 + source/lib/dijit/form/VerticalRule.js | 2 + source/lib/dijit/form/VerticalRuleLabels.js | 2 + source/lib/dijit/form/VerticalSlider.js | 2 + source/lib/dijit/form/_AutoCompleterMixin.js | 2 + source/lib/dijit/form/_ButtonMixin.js | 2 + source/lib/dijit/form/_CheckBoxMixin.js | 2 + source/lib/dijit/form/_ComboBoxMenu.js | 2 + source/lib/dijit/form/_ComboBoxMenuMixin.js | 2 + source/lib/dijit/form/_DateTimeTextBox.js | 2 + .../lib/dijit/form/_ExpandingTextAreaMixin.js | 2 + source/lib/dijit/form/_FormMixin.js | 2 + source/lib/dijit/form/_FormSelectWidget.js | 2 + source/lib/dijit/form/_FormValueMixin.js | 2 + source/lib/dijit/form/_FormValueWidget.js | 2 + source/lib/dijit/form/_FormWidget.js | 2 + source/lib/dijit/form/_FormWidgetMixin.js | 2 + source/lib/dijit/form/_ListBase.js | 2 + source/lib/dijit/form/_ListMouseMixin.js | 2 + source/lib/dijit/form/_RadioButtonMixin.js | 2 + source/lib/dijit/form/_SearchMixin.js | 2 + source/lib/dijit/form/_Spinner.js | 2 + source/lib/dijit/form/_TextBoxMixin.js | 2 + source/lib/dijit/form/_ToggleButtonMixin.js | 2 + source/lib/dijit/form/nls/ComboBox.js | 2 + source/lib/dijit/form/nls/Textarea.js | 2 + source/lib/dijit/form/nls/ar/ComboBox.js | 2 + source/lib/dijit/form/nls/ar/Textarea.js | 2 + source/lib/dijit/form/nls/ar/validate.js | 2 + source/lib/dijit/form/nls/az/ComboBox.js | 2 + source/lib/dijit/form/nls/az/Textarea.js | 2 + source/lib/dijit/form/nls/az/validate.js | 2 + source/lib/dijit/form/nls/ca/ComboBox.js | 2 + source/lib/dijit/form/nls/ca/Textarea.js | 2 + source/lib/dijit/form/nls/ca/validate.js | 2 + source/lib/dijit/form/nls/cs/ComboBox.js | 2 + source/lib/dijit/form/nls/cs/Textarea.js | 2 + source/lib/dijit/form/nls/cs/validate.js | 2 + source/lib/dijit/form/nls/da/ComboBox.js | 2 + source/lib/dijit/form/nls/da/Textarea.js | 2 + source/lib/dijit/form/nls/da/validate.js | 2 + source/lib/dijit/form/nls/de/ComboBox.js | 2 + source/lib/dijit/form/nls/de/Textarea.js | 2 + source/lib/dijit/form/nls/de/validate.js | 2 + source/lib/dijit/form/nls/el/ComboBox.js | 2 + source/lib/dijit/form/nls/el/Textarea.js | 2 + source/lib/dijit/form/nls/el/validate.js | 2 + source/lib/dijit/form/nls/es/ComboBox.js | 2 + source/lib/dijit/form/nls/es/Textarea.js | 2 + source/lib/dijit/form/nls/es/validate.js | 2 + source/lib/dijit/form/nls/fi/ComboBox.js | 2 + source/lib/dijit/form/nls/fi/Textarea.js | 2 + source/lib/dijit/form/nls/fi/validate.js | 2 + source/lib/dijit/form/nls/fr/ComboBox.js | 2 + source/lib/dijit/form/nls/fr/Textarea.js | 2 + source/lib/dijit/form/nls/fr/validate.js | 2 + source/lib/dijit/form/nls/he/ComboBox.js | 2 + source/lib/dijit/form/nls/he/Textarea.js | 2 + source/lib/dijit/form/nls/he/validate.js | 2 + source/lib/dijit/form/nls/hr/ComboBox.js | 2 + source/lib/dijit/form/nls/hr/Textarea.js | 2 + source/lib/dijit/form/nls/hr/validate.js | 2 + source/lib/dijit/form/nls/hu/ComboBox.js | 2 + source/lib/dijit/form/nls/hu/Textarea.js | 2 + source/lib/dijit/form/nls/hu/validate.js | 2 + source/lib/dijit/form/nls/it/ComboBox.js | 2 + source/lib/dijit/form/nls/it/Textarea.js | 2 + source/lib/dijit/form/nls/it/validate.js | 2 + source/lib/dijit/form/nls/ja/ComboBox.js | 2 + source/lib/dijit/form/nls/ja/Textarea.js | 2 + source/lib/dijit/form/nls/ja/validate.js | 2 + source/lib/dijit/form/nls/kk/ComboBox.js | 2 + source/lib/dijit/form/nls/kk/Textarea.js | 2 + source/lib/dijit/form/nls/kk/validate.js | 2 + source/lib/dijit/form/nls/ko/ComboBox.js | 2 + source/lib/dijit/form/nls/ko/Textarea.js | 2 + source/lib/dijit/form/nls/ko/validate.js | 2 + source/lib/dijit/form/nls/nb/ComboBox.js | 2 + source/lib/dijit/form/nls/nb/Textarea.js | 2 + source/lib/dijit/form/nls/nb/validate.js | 2 + source/lib/dijit/form/nls/nl/ComboBox.js | 2 + source/lib/dijit/form/nls/nl/Textarea.js | 2 + source/lib/dijit/form/nls/nl/validate.js | 2 + source/lib/dijit/form/nls/pl/ComboBox.js | 2 + source/lib/dijit/form/nls/pl/Textarea.js | 2 + source/lib/dijit/form/nls/pl/validate.js | 2 + source/lib/dijit/form/nls/pt-pt/ComboBox.js | 2 + source/lib/dijit/form/nls/pt-pt/Textarea.js | 2 + source/lib/dijit/form/nls/pt-pt/validate.js | 2 + source/lib/dijit/form/nls/pt/ComboBox.js | 2 + source/lib/dijit/form/nls/pt/Textarea.js | 2 + source/lib/dijit/form/nls/pt/validate.js | 2 + source/lib/dijit/form/nls/ro/ComboBox.js | 2 + source/lib/dijit/form/nls/ro/Textarea.js | 2 + source/lib/dijit/form/nls/ro/validate.js | 2 + source/lib/dijit/form/nls/ru/ComboBox.js | 2 + source/lib/dijit/form/nls/ru/Textarea.js | 2 + source/lib/dijit/form/nls/ru/validate.js | 2 + source/lib/dijit/form/nls/sk/ComboBox.js | 2 + source/lib/dijit/form/nls/sk/Textarea.js | 2 + source/lib/dijit/form/nls/sk/validate.js | 2 + source/lib/dijit/form/nls/sl/ComboBox.js | 2 + source/lib/dijit/form/nls/sl/Textarea.js | 2 + source/lib/dijit/form/nls/sl/validate.js | 2 + source/lib/dijit/form/nls/sv/ComboBox.js | 2 + source/lib/dijit/form/nls/sv/Textarea.js | 2 + source/lib/dijit/form/nls/sv/validate.js | 2 + source/lib/dijit/form/nls/th/ComboBox.js | 2 + source/lib/dijit/form/nls/th/Textarea.js | 2 + source/lib/dijit/form/nls/th/validate.js | 2 + source/lib/dijit/form/nls/tr/ComboBox.js | 2 + source/lib/dijit/form/nls/tr/Textarea.js | 2 + source/lib/dijit/form/nls/tr/validate.js | 2 + source/lib/dijit/form/nls/validate.js | 2 + source/lib/dijit/form/nls/zh-tw/ComboBox.js | 2 + source/lib/dijit/form/nls/zh-tw/Textarea.js | 2 + source/lib/dijit/form/nls/zh-tw/validate.js | 2 + source/lib/dijit/form/nls/zh/ComboBox.js | 2 + source/lib/dijit/form/nls/zh/Textarea.js | 2 + source/lib/dijit/form/nls/zh/validate.js | 2 + source/lib/dijit/form/templates/Button.html | 17 + source/lib/dijit/form/templates/CheckBox.html | 7 + .../lib/dijit/form/templates/ComboButton.html | 23 + .../lib/dijit/form/templates/DropDownBox.html | 16 + .../dijit/form/templates/DropDownButton.html | 20 + .../form/templates/HorizontalSlider.html | 38 + source/lib/dijit/form/templates/Select.html | 18 + source/lib/dijit/form/templates/Spinner.html | 27 + source/lib/dijit/form/templates/TextBox.html | 6 + .../form/templates/ValidationTextBox.html | 10 + .../dijit/form/templates/VerticalSlider.html | 46 + source/lib/dijit/hccss.js | 2 + source/lib/dijit/icons/commonIcons.css | 1 + source/lib/dijit/icons/commonIcons_rtl.css | 1 + source/lib/dijit/icons/editorIcons.css | 1 + source/lib/dijit/icons/editorIcons_rtl.css | 1 + .../images/commonIconsObjActDisabled.png | Bin 0 -> 4956 bytes .../images/commonIconsObjActDisabled_rtl.png | Bin 0 -> 5820 bytes .../icons/images/commonIconsObjActEnabled.png | Bin 0 -> 12474 bytes .../images/commonIconsObjActEnabled8bit.png | Bin 0 -> 4334 bytes .../commonIconsObjActEnabled8bit_rtl.png | Bin 0 -> 5258 bytes .../images/commonIconsObjActEnabled_rtl.png | Bin 0 -> 10481 bytes .../icons/images/editorIconsDisabled.png | Bin 0 -> 3289 bytes .../icons/images/editorIconsDisabled_rtl.png | Bin 0 -> 6965 bytes .../dijit/icons/images/editorIconsEnabled.png | Bin 0 -> 3846 bytes .../icons/images/editorIconsEnabled_rtl.png | Bin 0 -> 7144 bytes .../icons/images/loadingAnimation_rtl.gif | Bin 0 -> 1513 bytes source/lib/dijit/layout/AccordionContainer.js | 2 + source/lib/dijit/layout/AccordionPane.js | 2 + source/lib/dijit/layout/BorderContainer.js | 2 + source/lib/dijit/layout/ContentPane.js | 2 + source/lib/dijit/layout/LayoutContainer.js | 2 + source/lib/dijit/layout/LinkPane.js | 2 + .../dijit/layout/ScrollingTabController.js | 2 + source/lib/dijit/layout/SplitContainer.js | 2 + source/lib/dijit/layout/StackContainer.js | 2 + source/lib/dijit/layout/StackController.js | 2 + source/lib/dijit/layout/TabContainer.js | 2 + source/lib/dijit/layout/TabController.js | 2 + .../dijit/layout/_ContentPaneResizeMixin.js | 2 + source/lib/dijit/layout/_LayoutWidget.js | 2 + source/lib/dijit/layout/_TabContainerBase.js | 2 + .../layout/templates/AccordionButton.html | 10 + .../templates/ScrollingTabController.html | 22 + .../dijit/layout/templates/TabContainer.html | 5 + .../_ScrollingTabControllerButton.html | 4 + .../dijit/layout/templates/_TabButton.html | 8 + source/lib/dijit/layout/utils.js | 2 + source/lib/dijit/main.js | 2 + source/lib/dijit/nls/ar/common.js | 2 + source/lib/dijit/nls/ar/loading.js | 2 + source/lib/dijit/nls/az/common.js | 2 + source/lib/dijit/nls/az/loading.js | 2 + source/lib/dijit/nls/ca/common.js | 2 + source/lib/dijit/nls/ca/loading.js | 2 + source/lib/dijit/nls/common.js | 2 + source/lib/dijit/nls/cs/common.js | 2 + source/lib/dijit/nls/cs/loading.js | 2 + source/lib/dijit/nls/da/common.js | 2 + source/lib/dijit/nls/da/loading.js | 2 + source/lib/dijit/nls/de/common.js | 2 + source/lib/dijit/nls/de/loading.js | 2 + source/lib/dijit/nls/el/common.js | 2 + source/lib/dijit/nls/el/loading.js | 2 + source/lib/dijit/nls/es/common.js | 2 + source/lib/dijit/nls/es/loading.js | 2 + source/lib/dijit/nls/fi/common.js | 2 + source/lib/dijit/nls/fi/loading.js | 2 + source/lib/dijit/nls/fr/common.js | 2 + source/lib/dijit/nls/fr/loading.js | 2 + source/lib/dijit/nls/he/common.js | 2 + source/lib/dijit/nls/he/loading.js | 2 + source/lib/dijit/nls/hr/common.js | 2 + source/lib/dijit/nls/hr/loading.js | 2 + source/lib/dijit/nls/hu/common.js | 2 + source/lib/dijit/nls/hu/loading.js | 2 + source/lib/dijit/nls/it/common.js | 2 + source/lib/dijit/nls/it/loading.js | 2 + source/lib/dijit/nls/ja/common.js | 2 + source/lib/dijit/nls/ja/loading.js | 2 + source/lib/dijit/nls/kk/common.js | 2 + source/lib/dijit/nls/kk/loading.js | 2 + source/lib/dijit/nls/ko/common.js | 2 + source/lib/dijit/nls/ko/loading.js | 2 + source/lib/dijit/nls/loading.js | 2 + source/lib/dijit/nls/nb/common.js | 2 + source/lib/dijit/nls/nb/loading.js | 2 + source/lib/dijit/nls/nl/common.js | 2 + source/lib/dijit/nls/nl/loading.js | 2 + source/lib/dijit/nls/pl/common.js | 2 + source/lib/dijit/nls/pl/loading.js | 2 + source/lib/dijit/nls/pt-pt/common.js | 2 + source/lib/dijit/nls/pt-pt/loading.js | 2 + source/lib/dijit/nls/pt/common.js | 2 + source/lib/dijit/nls/pt/loading.js | 2 + source/lib/dijit/nls/ro/common.js | 2 + source/lib/dijit/nls/ro/loading.js | 2 + source/lib/dijit/nls/ru/common.js | 2 + source/lib/dijit/nls/ru/loading.js | 2 + source/lib/dijit/nls/sk/common.js | 2 + source/lib/dijit/nls/sk/loading.js | 2 + source/lib/dijit/nls/sl/common.js | 2 + source/lib/dijit/nls/sl/loading.js | 2 + source/lib/dijit/nls/sv/common.js | 2 + source/lib/dijit/nls/sv/loading.js | 2 + source/lib/dijit/nls/th/common.js | 2 + source/lib/dijit/nls/th/loading.js | 2 + source/lib/dijit/nls/tr/common.js | 2 + source/lib/dijit/nls/tr/loading.js | 2 + source/lib/dijit/nls/zh-tw/common.js | 2 + source/lib/dijit/nls/zh-tw/loading.js | 2 + source/lib/dijit/nls/zh/common.js | 2 + source/lib/dijit/nls/zh/loading.js | 2 + source/lib/dijit/package.json | 26 + source/lib/dijit/place.js | 2 + source/lib/dijit/popup.js | 2 + source/lib/dijit/registry.js | 2 + source/lib/dijit/templates/Calendar.html | 35 + .../lib/dijit/templates/CheckedMenuItem.html | 9 + source/lib/dijit/templates/ColorPalette.html | 5 + source/lib/dijit/templates/Dialog.html | 10 + source/lib/dijit/templates/InlineEditBox.html | 10 + source/lib/dijit/templates/Menu.html | 4 + source/lib/dijit/templates/MenuBar.html | 1 + source/lib/dijit/templates/MenuBarItem.html | 4 + source/lib/dijit/templates/MenuItem.html | 13 + source/lib/dijit/templates/MenuSeparator.html | 10 + source/lib/dijit/templates/ProgressBar.html | 8 + source/lib/dijit/templates/TimePicker.html | 9 + source/lib/dijit/templates/TitlePane.html | 17 + source/lib/dijit/templates/Tooltip.html | 4 + source/lib/dijit/templates/TooltipDialog.html | 6 + source/lib/dijit/templates/Tree.html | 3 + source/lib/dijit/templates/TreeNode.html | 14 + source/lib/dijit/themes/a11y/README.txt | 3 + source/lib/dijit/themes/a11y/colors3x4.png | Bin 0 -> 282 bytes source/lib/dijit/themes/a11y/colors7x10.png | Bin 0 -> 808 bytes .../themes/a11y/indeterminate_progress.gif | Bin 0 -> 2907 bytes source/lib/dijit/themes/claro/Calendar.css | 1 + source/lib/dijit/themes/claro/Calendar.less | 277 + .../lib/dijit/themes/claro/Calendar_rtl.css | 1 + .../lib/dijit/themes/claro/Calendar_rtl.less | 19 + .../lib/dijit/themes/claro/ColorPalette.css | 1 + .../lib/dijit/themes/claro/ColorPalette.less | 44 + source/lib/dijit/themes/claro/Common.css | 1 + source/lib/dijit/themes/claro/Common.less | 86 + source/lib/dijit/themes/claro/Dialog.css | 1 + source/lib/dijit/themes/claro/Dialog.less | 209 + source/lib/dijit/themes/claro/Dialog_rtl.css | 1 + source/lib/dijit/themes/claro/Dialog_rtl.less | 13 + source/lib/dijit/themes/claro/Editor.css | 1 + source/lib/dijit/themes/claro/Editor.less | 57 + source/lib/dijit/themes/claro/Editor_rtl.css | 1 + source/lib/dijit/themes/claro/Editor_rtl.less | 9 + .../lib/dijit/themes/claro/InlineEditBox.css | 1 + .../lib/dijit/themes/claro/InlineEditBox.less | 25 + source/lib/dijit/themes/claro/Menu.css | 1 + source/lib/dijit/themes/claro/Menu.less | 179 + source/lib/dijit/themes/claro/Menu_rtl.css | 1 + source/lib/dijit/themes/claro/Menu_rtl.less | 11 + source/lib/dijit/themes/claro/ProgressBar.css | 1 + .../lib/dijit/themes/claro/ProgressBar.less | 64 + source/lib/dijit/themes/claro/README | 11 + source/lib/dijit/themes/claro/TimePicker.css | 1 + source/lib/dijit/themes/claro/TimePicker.less | 115 + .../lib/dijit/themes/claro/TimePicker_rtl.css | 1 + .../dijit/themes/claro/TimePicker_rtl.less | 12 + source/lib/dijit/themes/claro/TitlePane.css | 1 + source/lib/dijit/themes/claro/TitlePane.less | 70 + .../lib/dijit/themes/claro/TitlePane_rtl.css | 1 + .../lib/dijit/themes/claro/TitlePane_rtl.less | 7 + source/lib/dijit/themes/claro/Toolbar.css | 1 + source/lib/dijit/themes/claro/Toolbar.less | 173 + source/lib/dijit/themes/claro/Toolbar_rtl.css | 1 + .../lib/dijit/themes/claro/Toolbar_rtl.less | 32 + source/lib/dijit/themes/claro/Tree.css | 1 + source/lib/dijit/themes/claro/Tree.less | 127 + source/lib/dijit/themes/claro/claro.css | 1 + source/lib/dijit/themes/claro/claro_rtl.css | 1 + source/lib/dijit/themes/claro/compile.js | 52 + source/lib/dijit/themes/claro/document.css | 1 + source/lib/dijit/themes/claro/document.less | 45 + source/lib/dijit/themes/claro/form/Button.css | 1 + .../lib/dijit/themes/claro/form/Button.less | 164 + .../dijit/themes/claro/form/Button_rtl.css | 1 + .../dijit/themes/claro/form/Button_rtl.less | 16 + .../lib/dijit/themes/claro/form/Checkbox.css | 1 + .../lib/dijit/themes/claro/form/Checkbox.less | 79 + source/lib/dijit/themes/claro/form/Common.css | 1 + .../lib/dijit/themes/claro/form/Common.less | 241 + .../dijit/themes/claro/form/Common_rtl.css | 1 + .../dijit/themes/claro/form/Common_rtl.less | 8 + .../dijit/themes/claro/form/NumberSpinner.css | 1 + .../themes/claro/form/NumberSpinner.less | 150 + .../dijit/themes/claro/form/RadioButton.css | 1 + .../dijit/themes/claro/form/RadioButton.less | 84 + source/lib/dijit/themes/claro/form/Select.css | 1 + .../lib/dijit/themes/claro/form/Select.less | 98 + source/lib/dijit/themes/claro/form/Slider.css | 1 + .../lib/dijit/themes/claro/form/Slider.less | 344 + .../dijit/themes/claro/form/Slider_rtl.css | 1 + .../dijit/themes/claro/form/Slider_rtl.less | 33 + .../themes/claro/form/images/buttonArrows.png | Bin 0 -> 297 bytes .../claro/form/images/buttonDisabled.png | Bin 0 -> 105 bytes .../claro/form/images/buttonDisabled.svg | 23 + .../claro/form/images/buttonEnabled.png | Bin 0 -> 122 bytes .../claro/form/images/buttonEnabled.svg | 24 + .../images/checkboxAndRadioButtons_IE6.png | Bin 0 -> 2160 bytes .../form/images/checkboxRadioButtonStates.png | Bin 0 -> 3438 bytes .../claro/form/images/commonFormArrows.png | Bin 0 -> 314 bytes .../dijit/themes/claro/form/images/error.png | Bin 0 -> 355 bytes .../themes/claro/form/images/sliderThumbs.png | Bin 0 -> 1222 bytes .../themes/claro/images/activeGradient.png | Bin 0 -> 146 bytes .../themes/claro/images/activeGradient.svg | 19 + .../dijit/themes/claro/images/calendar.png | Bin 0 -> 194 bytes .../themes/claro/images/calendarArrows.png | Bin 0 -> 1425 bytes .../claro/images/calendarArrows8bit.png | Bin 0 -> 1053 bytes .../themes/claro/images/checkmarkNoBorder.gif | Bin 0 -> 1658 bytes .../themes/claro/images/checkmarkNoBorder.png | Bin 0 -> 4401 bytes .../themes/claro/images/dialogCloseIcon.png | Bin 0 -> 1660 bytes .../claro/images/dialogCloseIcon8bit.png | Bin 0 -> 705 bytes source/lib/dijit/themes/claro/images/dnd.png | Bin 0 -> 2127 bytes .../themes/claro/images/loadingAnimation.gif | Bin 0 -> 718 bytes .../themes/claro/images/progressBarAnim.gif | Bin 0 -> 4458 bytes .../themes/claro/images/progressBarFull.png | Bin 0 -> 177 bytes .../themes/claro/images/spriteArrows.png | Bin 0 -> 233 bytes .../themes/claro/images/standardGradient.png | Bin 0 -> 153 bytes .../themes/claro/images/standardGradient.svg | 18 + .../lib/dijit/themes/claro/images/tooltip.png | Bin 0 -> 1818 bytes .../dijit/themes/claro/images/tooltip8bit.png | Bin 0 -> 589 bytes .../themes/claro/images/treeExpandImages.png | Bin 0 -> 676 bytes .../claro/images/treeExpandImages8bit.png | Bin 0 -> 799 bytes .../claro/layout/AccordionContainer.css | 1 + .../claro/layout/AccordionContainer.less | 111 + .../themes/claro/layout/BorderContainer.css | 1 + .../themes/claro/layout/BorderContainer.less | 124 + .../dijit/themes/claro/layout/ContentPane.css | 1 + .../themes/claro/layout/ContentPane.less | 43 + .../themes/claro/layout/TabContainer.css | 1 + .../themes/claro/layout/TabContainer.less | 366 + .../themes/claro/layout/TabContainer_rtl.css | 1 + .../themes/claro/layout/TabContainer_rtl.less | 7 + .../claro/layout/images/tabBottomSelected.png | Bin 0 -> 118 bytes .../claro/layout/images/tabBottomSelected.svg | 18 + .../layout/images/tabBottomUnselected.png | Bin 0 -> 110 bytes .../layout/images/tabBottomUnselected.svg | 19 + .../themes/claro/layout/images/tabClose.png | Bin 0 -> 1410 bytes .../claro/layout/images/tabLeftSelected.png | Bin 0 -> 213 bytes .../claro/layout/images/tabLeftSelected.svg | 17 + .../claro/layout/images/tabLeftUnselected.png | Bin 0 -> 106 bytes .../claro/layout/images/tabLeftUnselected.svg | 16 + .../themes/claro/layout/images/tabNested.png | Bin 0 -> 272 bytes .../claro/layout/images/tabRightSelected.png | Bin 0 -> 210 bytes .../claro/layout/images/tabRightSelected.svg | 17 + .../layout/images/tabRightUnselected.png | Bin 0 -> 105 bytes .../layout/images/tabRightUnselected.svg | 16 + .../claro/layout/images/tabTopSelected.png | Bin 0 -> 120 bytes .../claro/layout/images/tabTopSelected.svg | 18 + .../claro/layout/images/tabTopUnselected.png | Bin 0 -> 121 bytes .../claro/layout/images/tabTopUnselected.svg | 19 + source/lib/dijit/themes/claro/variables.less | 378 + source/lib/dijit/themes/dijit.css | 1 + source/lib/dijit/themes/dijit_rtl.css | 1 + source/lib/dijit/themes/nihilo/Calendar.css | 1 + .../lib/dijit/themes/nihilo/Calendar_rtl.css | 1 + .../lib/dijit/themes/nihilo/ColorPalette.css | 1 + source/lib/dijit/themes/nihilo/Common.css | 1 + source/lib/dijit/themes/nihilo/Dialog.css | 1 + source/lib/dijit/themes/nihilo/Dialog_rtl.css | 1 + source/lib/dijit/themes/nihilo/Editor.css | 1 + source/lib/dijit/themes/nihilo/Editor_rtl.css | 1 + source/lib/dijit/themes/nihilo/Menu.css | 1 + source/lib/dijit/themes/nihilo/Menu_rtl.css | 1 + .../lib/dijit/themes/nihilo/ProgressBar.css | 1 + source/lib/dijit/themes/nihilo/TimePicker.css | 1 + .../dijit/themes/nihilo/TimePicker_rtl.css | 1 + source/lib/dijit/themes/nihilo/TitlePane.css | 1 + .../lib/dijit/themes/nihilo/TitlePane_rtl.css | 1 + source/lib/dijit/themes/nihilo/Toolbar.css | 1 + source/lib/dijit/themes/nihilo/Tree.css | 1 + source/lib/dijit/themes/nihilo/Tree_rtl.css | 1 + .../lib/dijit/themes/nihilo/form/Button.css | 1 + .../dijit/themes/nihilo/form/Button_rtl.css | 1 + .../lib/dijit/themes/nihilo/form/Checkbox.css | 1 + .../lib/dijit/themes/nihilo/form/Common.css | 1 + .../dijit/themes/nihilo/form/RadioButton.css | 1 + .../lib/dijit/themes/nihilo/form/Select.css | 1 + .../lib/dijit/themes/nihilo/form/Slider.css | 1 + .../dijit/themes/nihilo/form/Slider_rtl.css | 1 + .../dijit/themes/nihilo/form/TimeTextBox.css | 1 + .../nihilo/images/accordionItemActive.png | Bin 0 -> 148 bytes .../themes/nihilo/images/buttonActive.png | Bin 0 -> 139 bytes .../themes/nihilo/images/buttonDisabled.png | Bin 0 -> 139 bytes .../themes/nihilo/images/buttonEnabled.png | Bin 0 -> 135 bytes .../themes/nihilo/images/buttonHover.png | Bin 0 -> 134 bytes .../dijit/themes/nihilo/images/dndCopy.png | Bin 0 -> 777 bytes .../dijit/themes/nihilo/images/dndMove.png | Bin 0 -> 726 bytes .../dijit/themes/nihilo/images/dndNoCopy.png | Bin 0 -> 1332 bytes .../dijit/themes/nihilo/images/dndNoMove.png | Bin 0 -> 991 bytes source/lib/dijit/themes/nihilo/images/no.gif | Bin 0 -> 179 bytes .../nihilo/images/preciseSliderThumb.gif | Bin 0 -> 258 bytes .../nihilo/images/preciseSliderThumb.png | Bin 0 -> 413 bytes .../nihilo/images/preciseSliderThumbFocus.gif | Bin 0 -> 258 bytes .../nihilo/images/preciseSliderThumbFocus.png | Bin 0 -> 434 bytes .../themes/nihilo/images/progressBarAnim.gif | Bin 0 -> 7064 bytes .../themes/nihilo/images/progressBarEmpty.png | Bin 0 -> 314 bytes .../themes/nihilo/images/progressBarFull.png | Bin 0 -> 746 bytes .../themes/nihilo/images/sliderEmpty.png | Bin 0 -> 114 bytes .../nihilo/images/sliderEmptyVertical.png | Bin 0 -> 114 bytes .../dijit/themes/nihilo/images/sliderFull.png | Bin 0 -> 130 bytes .../themes/nihilo/images/sliderFullFocus.png | Bin 0 -> 132 bytes .../nihilo/images/sliderFullVertical.png | Bin 0 -> 126 bytes .../nihilo/images/sliderFullVerticalFocus.png | Bin 0 -> 126 bytes .../themes/nihilo/images/sliderThumb.gif | Bin 0 -> 238 bytes .../themes/nihilo/images/sliderThumb.png | Bin 0 -> 413 bytes .../themes/nihilo/images/sliderThumbFocus.gif | Bin 0 -> 238 bytes .../themes/nihilo/images/sliderThumbFocus.png | Bin 0 -> 421 bytes .../images/splitContainerSizerH-thumb.png | Bin 0 -> 127 bytes .../nihilo/images/splitContainerSizerH.png | Bin 0 -> 121 bytes .../images/splitContainerSizerV-thumb.png | Bin 0 -> 129 bytes .../nihilo/images/splitContainerSizerV.png | Bin 0 -> 116 bytes .../themes/nihilo/images/spriteArrows.gif | Bin 0 -> 446 bytes .../themes/nihilo/images/spriteArrows.png | Bin 0 -> 720 bytes .../themes/nihilo/images/spriteCheckbox.gif | Bin 0 -> 774 bytes .../themes/nihilo/images/spriteCheckbox.png | Bin 0 -> 707 bytes .../themes/nihilo/images/spriteDivIcons.gif | Bin 0 -> 875 bytes .../themes/nihilo/images/spriteDivIcons.png | Bin 0 -> 1062 bytes .../themes/nihilo/images/spriteRadio.gif | Bin 0 -> 1137 bytes .../themes/nihilo/images/spriteRadio.png | Bin 0 -> 1073 bytes .../nihilo/images/spriteRoundedIconsSmall.gif | Bin 0 -> 1863 bytes .../nihilo/images/spriteRoundedIconsSmall.png | Bin 0 -> 2195 bytes .../dijit/themes/nihilo/images/spriteTree.gif | Bin 0 -> 233 bytes .../dijit/themes/nihilo/images/spriteTree.png | Bin 0 -> 337 bytes .../themes/nihilo/images/spriteTree_rtl.gif | Bin 0 -> 233 bytes .../themes/nihilo/images/spriteTree_rtl.png | Bin 0 -> 335 bytes .../themes/nihilo/images/tabBottomActiveC.gif | Bin 0 -> 518 bytes .../nihilo/images/tabBottomEnabledC.gif | Bin 0 -> 511 bytes .../themes/nihilo/images/tabBottomHoverC.gif | Bin 0 -> 542 bytes .../nihilo/images/tabContainerSprite.gif | Bin 0 -> 1285 bytes .../dijit/themes/nihilo/images/titleBar.png | Bin 0 -> 148 bytes .../themes/nihilo/images/titleBarActive.png | Bin 0 -> 155 bytes .../nihilo/images/tooltipConnectorDown.gif | Bin 0 -> 205 bytes .../nihilo/images/tooltipConnectorDown.png | Bin 0 -> 342 bytes .../nihilo/images/tooltipConnectorLeft.gif | Bin 0 -> 205 bytes .../nihilo/images/tooltipConnectorLeft.png | Bin 0 -> 361 bytes .../nihilo/images/tooltipConnectorRight.gif | Bin 0 -> 204 bytes .../nihilo/images/tooltipConnectorRight.png | Bin 0 -> 363 bytes .../nihilo/images/tooltipConnectorUp.gif | Bin 0 -> 205 bytes .../nihilo/images/tooltipConnectorUp.png | Bin 0 -> 319 bytes .../nihilo/images/treeExpand_loading.gif | Bin 0 -> 662 bytes .../dijit/themes/nihilo/images/treeHover.png | Bin 0 -> 112 bytes .../lib/dijit/themes/nihilo/images/treeI.gif | Bin 0 -> 71 bytes .../dijit/themes/nihilo/images/treeI_half.gif | Bin 0 -> 65 bytes .../themes/nihilo/images/treeI_half_rtl.gif | Bin 0 -> 66 bytes .../dijit/themes/nihilo/images/treeI_rtl.gif | Bin 0 -> 72 bytes .../nihilo/images/validationInputBg.gif | Bin 0 -> 93 bytes .../nihilo/images/validationInputBg.png | Bin 0 -> 126 bytes .../dijit/themes/nihilo/images/warning.png | Bin 0 -> 1275 bytes .../nihilo/layout/AccordionContainer.css | 1 + .../nihilo/layout/AccordionContainer_rtl.css | 1 + .../themes/nihilo/layout/BorderContainer.css | 1 + .../themes/nihilo/layout/ContentPane.css | 1 + .../themes/nihilo/layout/SplitContainer.css | 1 + .../themes/nihilo/layout/TabContainer.css | 1 + .../themes/nihilo/layout/TabContainer_rtl.css | 1 + source/lib/dijit/themes/nihilo/nihilo.css | 1 + source/lib/dijit/themes/nihilo/nihilo_rtl.css | 1 + source/lib/dijit/themes/soria/Calendar.css | 1 + .../lib/dijit/themes/soria/Calendar_rtl.css | 1 + .../lib/dijit/themes/soria/ColorPalette.css | 1 + source/lib/dijit/themes/soria/Common.css | 1 + source/lib/dijit/themes/soria/Dialog.css | 1 + source/lib/dijit/themes/soria/Dialog_rtl.css | 1 + source/lib/dijit/themes/soria/Editor.css | 1 + source/lib/dijit/themes/soria/Editor_rtl.css | 1 + source/lib/dijit/themes/soria/Menu.css | 1 + source/lib/dijit/themes/soria/Menu_rtl.css | 1 + source/lib/dijit/themes/soria/ProgressBar.css | 1 + source/lib/dijit/themes/soria/TimePicker.css | 1 + .../lib/dijit/themes/soria/TimePicker_rtl.css | 1 + source/lib/dijit/themes/soria/TitlePane.css | 1 + .../lib/dijit/themes/soria/TitlePane_rtl.css | 1 + source/lib/dijit/themes/soria/Toolbar.css | 1 + source/lib/dijit/themes/soria/Tree.css | 1 + source/lib/dijit/themes/soria/Tree_rtl.css | 1 + source/lib/dijit/themes/soria/form/Button.css | 1 + .../dijit/themes/soria/form/Button_rtl.css | 1 + .../lib/dijit/themes/soria/form/Checkbox.css | 1 + source/lib/dijit/themes/soria/form/Common.css | 1 + .../dijit/themes/soria/form/RadioButton.css | 1 + source/lib/dijit/themes/soria/form/Select.css | 1 + source/lib/dijit/themes/soria/form/Slider.css | 1 + .../dijit/themes/soria/form/Slider_rtl.css | 1 + .../dijit/themes/soria/form/TimeTextBox.css | 1 + .../soria/images/accordionItemActive.gif | Bin 0 -> 174 bytes .../soria/images/accordionItemActive.png | Bin 0 -> 171 bytes .../themes/soria/images/buttonActive.png | Bin 0 -> 187 bytes .../themes/soria/images/buttonDisabled.png | Bin 0 -> 187 bytes .../themes/soria/images/buttonEnabled.png | Bin 0 -> 174 bytes .../dijit/themes/soria/images/buttonHover.png | Bin 0 -> 160 bytes .../lib/dijit/themes/soria/images/dndCopy.png | Bin 0 -> 777 bytes .../lib/dijit/themes/soria/images/dndMove.png | Bin 0 -> 726 bytes .../dijit/themes/soria/images/dndNoCopy.png | Bin 0 -> 1332 bytes .../dijit/themes/soria/images/dndNoMove.png | Bin 0 -> 991 bytes .../soria/images/preciseSliderThumb.gif | Bin 0 -> 258 bytes .../soria/images/preciseSliderThumb.png | Bin 0 -> 413 bytes .../soria/images/preciseSliderThumbFocus.gif | Bin 0 -> 258 bytes .../soria/images/preciseSliderThumbFocus.png | Bin 0 -> 434 bytes .../themes/soria/images/progressBarAnim.gif | Bin 0 -> 9304 bytes .../themes/soria/images/progressBarEmpty.png | Bin 0 -> 232 bytes .../themes/soria/images/progressBarFull.png | Bin 0 -> 251 bytes .../dijit/themes/soria/images/sliderEmpty.png | Bin 0 -> 114 bytes .../soria/images/sliderEmptyVertical.png | Bin 0 -> 114 bytes .../dijit/themes/soria/images/sliderFull.png | Bin 0 -> 131 bytes .../themes/soria/images/sliderFullFocus.png | Bin 0 -> 146 bytes .../soria/images/sliderFullVertical.png | Bin 0 -> 127 bytes .../soria/images/sliderFullVerticalFocus.png | Bin 0 -> 143 bytes .../dijit/themes/soria/images/sliderThumb.gif | Bin 0 -> 238 bytes .../dijit/themes/soria/images/sliderThumb.png | Bin 0 -> 413 bytes .../themes/soria/images/sliderThumbFocus.gif | Bin 0 -> 238 bytes .../themes/soria/images/sliderThumbFocus.png | Bin 0 -> 421 bytes .../images/splitContainerSizerH-thumb.png | Bin 0 -> 125 bytes .../soria/images/splitContainerSizerH.png | Bin 0 -> 127 bytes .../images/splitContainerSizerV-thumb.png | Bin 0 -> 121 bytes .../soria/images/splitContainerSizerV.png | Bin 0 -> 124 bytes .../themes/soria/images/spriteArrows.gif | Bin 0 -> 446 bytes .../themes/soria/images/spriteArrows.png | Bin 0 -> 720 bytes .../themes/soria/images/spriteCheckbox.gif | Bin 0 -> 774 bytes .../themes/soria/images/spriteCheckbox.png | Bin 0 -> 707 bytes .../themes/soria/images/spriteDivIcons.gif | Bin 0 -> 884 bytes .../themes/soria/images/spriteDivIcons.png | Bin 0 -> 1114 bytes .../dijit/themes/soria/images/spriteRadio.gif | Bin 0 -> 1137 bytes .../dijit/themes/soria/images/spriteRadio.png | Bin 0 -> 1073 bytes .../soria/images/spriteRoundedIconsSmall.gif | Bin 0 -> 1937 bytes .../soria/images/spriteRoundedIconsSmall.png | Bin 0 -> 3187 bytes .../images/spriteRoundedIconsSmallBl.gif | Bin 0 -> 1907 bytes .../images/spriteRoundedIconsSmallBl.png | Bin 0 -> 3010 bytes .../dijit/themes/soria/images/spriteTree.gif | Bin 0 -> 233 bytes .../dijit/themes/soria/images/spriteTree.png | Bin 0 -> 337 bytes .../themes/soria/images/spriteTree_rtl.gif | Bin 0 -> 233 bytes .../themes/soria/images/spriteTree_rtl.png | Bin 0 -> 335 bytes .../themes/soria/images/tabBottomActiveC.gif | Bin 0 -> 482 bytes .../themes/soria/images/tabBottomEnabledC.gif | Bin 0 -> 337 bytes .../soria/images/tabBottomEnabledSpriteLR.gif | Bin 0 -> 676 bytes .../themes/soria/images/tabBottomHoverC.gif | Bin 0 -> 280 bytes .../soria/images/tabContainerSprite.gif | Bin 0 -> 2570 bytes .../themes/soria/images/tabLeftChecked.gif | Bin 0 -> 2005 bytes .../themes/soria/images/tabRightChecked.gif | Bin 0 -> 2003 bytes .../dijit/themes/soria/images/titleBar.png | Bin 0 -> 183 bytes .../themes/soria/images/titleBarActive.png | Bin 0 -> 183 bytes .../soria/images/tooltipConnectorDown.gif | Bin 0 -> 205 bytes .../soria/images/tooltipConnectorDown.png | Bin 0 -> 342 bytes .../soria/images/tooltipConnectorLeft.gif | Bin 0 -> 205 bytes .../soria/images/tooltipConnectorLeft.png | Bin 0 -> 361 bytes .../soria/images/tooltipConnectorRight.gif | Bin 0 -> 204 bytes .../soria/images/tooltipConnectorRight.png | Bin 0 -> 363 bytes .../soria/images/tooltipConnectorUp.gif | Bin 0 -> 205 bytes .../soria/images/tooltipConnectorUp.png | Bin 0 -> 319 bytes .../soria/images/treeExpand_loading.gif | Bin 0 -> 662 bytes .../dijit/themes/soria/images/treeHover.png | Bin 0 -> 112 bytes .../lib/dijit/themes/soria/images/treeI.gif | Bin 0 -> 71 bytes .../dijit/themes/soria/images/treeI_half.gif | Bin 0 -> 65 bytes .../themes/soria/images/treeI_half_rtl.gif | Bin 0 -> 66 bytes .../dijit/themes/soria/images/treeI_rtl.gif | Bin 0 -> 72 bytes .../themes/soria/images/validationInputBg.gif | Bin 0 -> 93 bytes .../themes/soria/images/validationInputBg.png | Bin 0 -> 126 bytes .../lib/dijit/themes/soria/images/warning.png | Bin 0 -> 1275 bytes .../soria/layout/AccordionContainer.css | 1 + .../soria/layout/AccordionContainer_rtl.css | 1 + .../themes/soria/layout/BorderContainer.css | 1 + .../dijit/themes/soria/layout/ContentPane.css | 1 + .../themes/soria/layout/SplitContainer.css | 1 + .../themes/soria/layout/TabContainer.css | 1 + .../themes/soria/layout/TabContainer_rtl.css | 1 + source/lib/dijit/themes/soria/soria.css | 1 + source/lib/dijit/themes/soria/soria_rtl.css | 1 + source/lib/dijit/themes/tundra/Calendar.css | 1 + .../lib/dijit/themes/tundra/Calendar_rtl.css | 1 + .../lib/dijit/themes/tundra/ColorPalette.css | 1 + source/lib/dijit/themes/tundra/Common.css | 1 + source/lib/dijit/themes/tundra/Dialog.css | 1 + source/lib/dijit/themes/tundra/Dialog_rtl.css | 1 + source/lib/dijit/themes/tundra/Editor.css | 1 + source/lib/dijit/themes/tundra/Editor_rtl.css | 1 + source/lib/dijit/themes/tundra/Menu.css | 1 + source/lib/dijit/themes/tundra/Menu_rtl.css | 1 + .../lib/dijit/themes/tundra/ProgressBar.css | 1 + source/lib/dijit/themes/tundra/TimePicker.css | 1 + .../dijit/themes/tundra/TimePicker_rtl.css | 1 + source/lib/dijit/themes/tundra/TitlePane.css | 1 + .../lib/dijit/themes/tundra/TitlePane_rtl.css | 1 + source/lib/dijit/themes/tundra/Toolbar.css | 1 + source/lib/dijit/themes/tundra/Tree.css | 1 + source/lib/dijit/themes/tundra/Tree_rtl.css | 1 + .../lib/dijit/themes/tundra/form/Button.css | 1 + .../lib/dijit/themes/tundra/form/Checkbox.css | 1 + .../lib/dijit/themes/tundra/form/Common.css | 1 + .../dijit/themes/tundra/form/RadioButton.css | 1 + .../lib/dijit/themes/tundra/form/Select.css | 1 + .../lib/dijit/themes/tundra/form/Slider.css | 1 + .../dijit/themes/tundra/form/Slider_rtl.css | 1 + .../tundra/images/accordionItemActive.gif | Bin 0 -> 107 bytes .../tundra/images/accordionItemHover.gif | Bin 0 -> 171 bytes .../themes/tundra/images/buttonActive.png | Bin 0 -> 129 bytes .../themes/tundra/images/buttonDisabled.png | Bin 0 -> 135 bytes .../themes/tundra/images/buttonEnabled.png | Bin 0 -> 120 bytes .../themes/tundra/images/buttonHover.png | Bin 0 -> 144 bytes .../themes/tundra/images/calendarDayLabel.png | Bin 0 -> 161 bytes .../tundra/images/calendarMonthLabel.png | Bin 0 -> 162 bytes .../tundra/images/calendarYearLabel.png | Bin 0 -> 172 bytes .../dijit/themes/tundra/images/checkmark.gif | Bin 0 -> 2060 bytes .../dijit/themes/tundra/images/checkmark.png | Bin 0 -> 5529 bytes .../tundra/images/checkmarkNoBorder.gif | Bin 0 -> 1658 bytes .../tundra/images/checkmarkNoBorder.png | Bin 0 -> 4401 bytes .../dijit/themes/tundra/images/circleIcon.gif | Bin 0 -> 204 bytes .../dijit/themes/tundra/images/circleIcon.png | Bin 0 -> 2975 bytes .../themes/tundra/images/comboArrowDown.gif | Bin 0 -> 49 bytes .../tundra/images/dijitProgressBarAnim.gif | Bin 0 -> 1676 bytes .../tundra/images/dijitProgressBarAnim.psd | Bin 0 -> 40142 bytes .../dijit/themes/tundra/images/dndCopy.png | Bin 0 -> 777 bytes .../dijit/themes/tundra/images/dndMove.png | Bin 0 -> 726 bytes .../dijit/themes/tundra/images/dndNoCopy.png | Bin 0 -> 1332 bytes .../dijit/themes/tundra/images/dndNoMove.png | Bin 0 -> 991 bytes .../tundra/images/dojoTundraGradientBg.gif | Bin 0 -> 65 bytes .../tundra/images/dojoTundraGradientBg.png | Bin 0 -> 135 bytes .../themes/tundra/images/doubleArrowDown.png | Bin 0 -> 152 bytes .../themes/tundra/images/doubleArrowUp.png | Bin 0 -> 158 bytes .../themes/tundra/images/folderClosed.gif | Bin 0 -> 933 bytes .../themes/tundra/images/folderOpened.gif | Bin 0 -> 941 bytes source/lib/dijit/themes/tundra/images/i.gif | Bin 0 -> 48 bytes .../lib/dijit/themes/tundra/images/i_half.gif | Bin 0 -> 63 bytes .../dijit/themes/tundra/images/i_half_rtl.gif | Bin 0 -> 61 bytes .../lib/dijit/themes/tundra/images/i_rtl.gif | Bin 0 -> 48 bytes .../lib/dijit/themes/tundra/images/leaf.gif | Bin 0 -> 403 bytes .../dijit/themes/tundra/images/loading.gif | Bin 0 -> 751 bytes .../lib/dijit/themes/tundra/images/menu.png | Bin 0 -> 140 bytes .../themes/tundra/images/minusButton.gif | Bin 0 -> 148 bytes source/lib/dijit/themes/tundra/images/no.gif | Bin 0 -> 179 bytes source/lib/dijit/themes/tundra/images/noX.gif | Bin 0 -> 80 bytes .../dijit/themes/tundra/images/plusButton.gif | Bin 0 -> 212 bytes .../themes/tundra/images/popupMenuBg.gif | Bin 0 -> 151 bytes .../tundra/images/preciseSliderThumb.gif | Bin 0 -> 212 bytes .../tundra/images/preciseSliderThumb.png | Bin 0 -> 248 bytes .../tundra/images/preciseSliderThumbFocus.gif | Bin 0 -> 212 bytes .../tundra/images/preciseSliderThumbFocus.png | Bin 0 -> 281 bytes .../tundra/images/progressBarAnim-1.png | Bin 0 -> 288 bytes .../tundra/images/progressBarAnim-2.png | Bin 0 -> 289 bytes .../tundra/images/progressBarAnim-3.png | Bin 0 -> 288 bytes .../tundra/images/progressBarAnim-4.png | Bin 0 -> 287 bytes .../tundra/images/progressBarAnim-5.png | Bin 0 -> 283 bytes .../tundra/images/progressBarAnim-6.png | Bin 0 -> 283 bytes .../tundra/images/progressBarAnim-7.png | Bin 0 -> 284 bytes .../tundra/images/progressBarAnim-8.png | Bin 0 -> 286 bytes .../tundra/images/progressBarAnim-9.png | Bin 0 -> 289 bytes .../themes/tundra/images/progressBarAnim.gif | Bin 0 -> 2624 bytes .../themes/tundra/images/progressBarAnim.psd | Bin 0 -> 40142 bytes .../themes/tundra/images/progressBarEmpty.png | Bin 0 -> 164 bytes .../themes/tundra/images/progressBarFull.png | Bin 0 -> 160 bytes .../tundra/images/radioButtonActive.png | Bin 0 -> 550 bytes .../images/radioButtonActiveDisabled.png | Bin 0 -> 517 bytes .../tundra/images/radioButtonActiveHover.png | Bin 0 -> 646 bytes .../tundra/images/radioButtonDisabled.png | Bin 0 -> 403 bytes .../tundra/images/radioButtonEnabled.png | Bin 0 -> 487 bytes .../themes/tundra/images/radioButtonHover.png | Bin 0 -> 497 bytes .../themes/tundra/images/sliderEmpty.png | Bin 0 -> 124 bytes .../tundra/images/sliderEmptyVertical.png | Bin 0 -> 88 bytes .../dijit/themes/tundra/images/sliderFull.png | Bin 0 -> 135 bytes .../themes/tundra/images/sliderFullFocus.png | Bin 0 -> 163 bytes .../tundra/images/sliderFullVertical.png | Bin 0 -> 99 bytes .../tundra/images/sliderFullVerticalFocus.png | Bin 0 -> 164 bytes .../themes/tundra/images/sliderThumb.png | Bin 0 -> 241 bytes .../themes/tundra/images/sliderThumbFocus.gif | Bin 0 -> 216 bytes .../themes/tundra/images/sliderThumbFocus.png | Bin 0 -> 288 bytes .../themes/tundra/images/smallArrowDown.png | Bin 0 -> 134 bytes .../themes/tundra/images/smallArrowUp.png | Bin 0 -> 134 bytes .../images/splitContainerSizerH-thumb.png | Bin 0 -> 127 bytes .../tundra/images/splitContainerSizerH.png | Bin 0 -> 140 bytes .../images/splitContainerSizerV-thumb.png | Bin 0 -> 129 bytes .../tundra/images/splitContainerSizerV.png | Bin 0 -> 135 bytes .../themes/tundra/images/spriteArrows.gif | Bin 0 -> 116 bytes .../themes/tundra/images/spriteArrows.png | Bin 0 -> 338 bytes .../tundra/images/spriteRoundedIconsSmall.gif | Bin 0 -> 1863 bytes .../tundra/images/spriteRoundedIconsSmall.png | Bin 0 -> 2195 bytes .../dijit/themes/tundra/images/tabActive.png | Bin 0 -> 155 bytes .../dijit/themes/tundra/images/tabClose.gif | Bin 0 -> 193 bytes .../dijit/themes/tundra/images/tabClose.png | Bin 0 -> 220 bytes .../themes/tundra/images/tabCloseHover.gif | Bin 0 -> 193 bytes .../themes/tundra/images/tabCloseHover.png | Bin 0 -> 220 bytes .../themes/tundra/images/tabDisabled.png | Bin 0 -> 139 bytes .../dijit/themes/tundra/images/tabEnabled.png | Bin 0 -> 142 bytes .../dijit/themes/tundra/images/tabHover.gif | Bin 0 -> 156 bytes .../dijit/themes/tundra/images/tabHover.png | Bin 0 -> 154 bytes .../dijit/themes/tundra/images/titleBar.png | Bin 0 -> 151 bytes .../dijit/themes/tundra/images/titleBarBg.gif | Bin 0 -> 97 bytes .../tundra/images/tooltipConnectorDown.gif | Bin 0 -> 179 bytes .../tundra/images/tooltipConnectorDown.png | Bin 0 -> 410 bytes .../tundra/images/tooltipConnectorLeft.gif | Bin 0 -> 193 bytes .../tundra/images/tooltipConnectorLeft.png | Bin 0 -> 3106 bytes .../tundra/images/tooltipConnectorRight.gif | Bin 0 -> 194 bytes .../tundra/images/tooltipConnectorRight.png | Bin 0 -> 3121 bytes .../tundra/images/tooltipConnectorUp.gif | Bin 0 -> 184 bytes .../tundra/images/tooltipConnectorUp.png | Bin 0 -> 3092 bytes .../themes/tundra/images/treeExpand_leaf.gif | Bin 0 -> 839 bytes .../tundra/images/treeExpand_leaf_rtl.gif | Bin 0 -> 841 bytes .../tundra/images/treeExpand_loading.gif | Bin 0 -> 1944 bytes .../themes/tundra/images/treeExpand_minus.gif | Bin 0 -> 211 bytes .../tundra/images/treeExpand_minus_rtl.gif | Bin 0 -> 210 bytes .../themes/tundra/images/treeExpand_mius.gif | Bin 0 -> 211 bytes .../themes/tundra/images/treeExpand_plus.gif | Bin 0 -> 216 bytes .../tundra/images/treeExpand_plus_rtl.gif | Bin 0 -> 215 bytes .../dijit/themes/tundra/images/treeHover.png | Bin 0 -> 112 bytes .../tundra/images/validationInputBg.gif | Bin 0 -> 109 bytes .../tundra/images/validationInputBg.png | Bin 0 -> 165 bytes .../dijit/themes/tundra/images/warning.png | Bin 0 -> 1275 bytes .../tundra/layout/AccordionContainer.css | 1 + .../themes/tundra/layout/BorderContainer.css | 1 + .../themes/tundra/layout/ContentPane.css | 1 + .../themes/tundra/layout/SplitContainer.css | 1 + .../themes/tundra/layout/TabContainer.css | 1 + .../themes/tundra/layout/TabContainer_rtl.css | 1 + source/lib/dijit/themes/tundra/tundra.css | 1 + source/lib/dijit/themes/tundra/tundra_rtl.css | 1 + source/lib/dijit/tree/ForestStoreModel.js | 2 + source/lib/dijit/tree/ObjectStoreModel.js | 2 + source/lib/dijit/tree/TreeStoreModel.js | 2 + source/lib/dijit/tree/_dndContainer.js | 2 + source/lib/dijit/tree/_dndSelector.js | 2 + source/lib/dijit/tree/dndSource.js | 2 + source/lib/dijit/tree/model.js | 2 + source/lib/dijit/typematic.js | 2 + source/lib/dojo-src/.gitignore | 7 + source/lib/dojo-src/rebuild-dojo.sh | 44 + source/lib/dojo-src/tt-rss.profile.js | 65 + source/lib/dojo/AdapterRegistry.js | 8 + source/lib/dojo/Deferred.js | 8 + source/lib/dojo/DeferredList.js | 8 + source/lib/dojo/Evented.js | 8 + source/lib/dojo/LICENSE | 195 + source/lib/dojo/NodeList-data.js | 8 + source/lib/dojo/NodeList-dom.js | 8 + source/lib/dojo/NodeList-fx.js | 8 + source/lib/dojo/NodeList-html.js | 8 + source/lib/dojo/NodeList-manipulate.js | 8 + source/lib/dojo/NodeList-traverse.js | 8 + source/lib/dojo/NodeList.js | 8 + source/lib/dojo/OpenAjax.js | 192 + source/lib/dojo/Stateful.js | 8 + source/lib/dojo/_base/Color.js | 8 + source/lib/dojo/_base/Deferred.js | 8 + source/lib/dojo/_base/NodeList.js | 8 + source/lib/dojo/_base/array.js | 8 + source/lib/dojo/_base/browser.js | 8 + source/lib/dojo/_base/config.js | 8 + .../lib/dojo/_base/configFirefoxExtension.js | 336 + source/lib/dojo/_base/configNode.js | 87 + source/lib/dojo/_base/configRhino.js | 121 + source/lib/dojo/_base/configSpidermonkey.js | 80 + source/lib/dojo/_base/connect.js | 8 + source/lib/dojo/_base/declare.js | 8 + source/lib/dojo/_base/event.js | 8 + source/lib/dojo/_base/fx.js | 8 + source/lib/dojo/_base/html.js | 8 + source/lib/dojo/_base/json.js | 8 + source/lib/dojo/_base/kernel.js | 8 + source/lib/dojo/_base/lang.js | 8 + source/lib/dojo/_base/loader.js | 8 + source/lib/dojo/_base/query.js | 8 + source/lib/dojo/_base/sniff.js | 8 + source/lib/dojo/_base/unload.js | 8 + source/lib/dojo/_base/url.js | 8 + source/lib/dojo/_base/window.js | 8 + source/lib/dojo/_base/xhr.js | 8 + source/lib/dojo/_firebug/LICENSE | 37 + source/lib/dojo/_firebug/errorIcon.png | Bin 0 -> 457 bytes source/lib/dojo/_firebug/firebug.css | 1 + source/lib/dojo/_firebug/firebug.js | 8 + source/lib/dojo/_firebug/infoIcon.png | Bin 0 -> 524 bytes source/lib/dojo/_firebug/tab_lft_norm.png | Bin 0 -> 193 bytes source/lib/dojo/_firebug/tab_lft_over.png | Bin 0 -> 196 bytes source/lib/dojo/_firebug/tab_rgt_norm.png | Bin 0 -> 208 bytes source/lib/dojo/_firebug/tab_rgt_over.png | Bin 0 -> 208 bytes source/lib/dojo/_firebug/warningIcon.png | Bin 0 -> 516 bytes source/lib/dojo/aspect.js | 8 + source/lib/dojo/back.js | 8 + source/lib/dojo/behavior.js | 8 + source/lib/dojo/cache.js | 8 + source/lib/dojo/cldr/LICENSE | 29 + source/lib/dojo/cldr/README | 18 + source/lib/dojo/cldr/monetary.js | 8 + source/lib/dojo/cldr/nls/ar/buddhist.js | 8 + source/lib/dojo/cldr/nls/ar/currency.js | 8 + source/lib/dojo/cldr/nls/ar/gregorian.js | 8 + source/lib/dojo/cldr/nls/ar/hebrew.js | 8 + source/lib/dojo/cldr/nls/ar/islamic.js | 8 + source/lib/dojo/cldr/nls/ar/number.js | 8 + source/lib/dojo/cldr/nls/buddhist.js | 8 + source/lib/dojo/cldr/nls/ca/buddhist.js | 8 + source/lib/dojo/cldr/nls/ca/currency.js | 8 + source/lib/dojo/cldr/nls/ca/gregorian.js | 8 + source/lib/dojo/cldr/nls/ca/number.js | 8 + source/lib/dojo/cldr/nls/cs/buddhist.js | 8 + source/lib/dojo/cldr/nls/cs/currency.js | 8 + source/lib/dojo/cldr/nls/cs/gregorian.js | 8 + source/lib/dojo/cldr/nls/cs/islamic.js | 8 + source/lib/dojo/cldr/nls/cs/number.js | 8 + source/lib/dojo/cldr/nls/currency.js | 8 + source/lib/dojo/cldr/nls/da/buddhist.js | 8 + source/lib/dojo/cldr/nls/da/currency.js | 8 + source/lib/dojo/cldr/nls/da/gregorian.js | 8 + source/lib/dojo/cldr/nls/da/islamic.js | 8 + source/lib/dojo/cldr/nls/da/number.js | 8 + source/lib/dojo/cldr/nls/de/buddhist.js | 8 + source/lib/dojo/cldr/nls/de/currency.js | 8 + source/lib/dojo/cldr/nls/de/gregorian.js | 8 + source/lib/dojo/cldr/nls/de/islamic.js | 8 + source/lib/dojo/cldr/nls/de/number.js | 8 + source/lib/dojo/cldr/nls/el/buddhist.js | 8 + source/lib/dojo/cldr/nls/el/currency.js | 8 + source/lib/dojo/cldr/nls/el/gregorian.js | 8 + source/lib/dojo/cldr/nls/el/hebrew.js | 8 + source/lib/dojo/cldr/nls/el/number.js | 8 + source/lib/dojo/cldr/nls/en-au/currency.js | 8 + source/lib/dojo/cldr/nls/en-au/gregorian.js | 8 + source/lib/dojo/cldr/nls/en-au/number.js | 8 + source/lib/dojo/cldr/nls/en-ca/currency.js | 8 + source/lib/dojo/cldr/nls/en-ca/gregorian.js | 8 + source/lib/dojo/cldr/nls/en-gb/buddhist.js | 8 + source/lib/dojo/cldr/nls/en-gb/currency.js | 8 + source/lib/dojo/cldr/nls/en-gb/gregorian.js | 8 + source/lib/dojo/cldr/nls/en-gb/islamic.js | 8 + source/lib/dojo/cldr/nls/en-gb/number.js | 8 + source/lib/dojo/cldr/nls/en/buddhist.js | 8 + source/lib/dojo/cldr/nls/en/currency.js | 8 + source/lib/dojo/cldr/nls/en/gregorian.js | 8 + source/lib/dojo/cldr/nls/en/islamic.js | 8 + source/lib/dojo/cldr/nls/en/number.js | 8 + source/lib/dojo/cldr/nls/es/buddhist.js | 8 + source/lib/dojo/cldr/nls/es/currency.js | 8 + source/lib/dojo/cldr/nls/es/gregorian.js | 8 + source/lib/dojo/cldr/nls/es/islamic.js | 8 + source/lib/dojo/cldr/nls/es/number.js | 8 + source/lib/dojo/cldr/nls/fi/buddhist.js | 8 + source/lib/dojo/cldr/nls/fi/currency.js | 8 + source/lib/dojo/cldr/nls/fi/gregorian.js | 8 + source/lib/dojo/cldr/nls/fi/hebrew.js | 8 + source/lib/dojo/cldr/nls/fi/islamic.js | 8 + source/lib/dojo/cldr/nls/fi/number.js | 8 + source/lib/dojo/cldr/nls/fr-ch/gregorian.js | 8 + source/lib/dojo/cldr/nls/fr-ch/number.js | 8 + source/lib/dojo/cldr/nls/fr/buddhist.js | 8 + source/lib/dojo/cldr/nls/fr/currency.js | 8 + source/lib/dojo/cldr/nls/fr/gregorian.js | 8 + source/lib/dojo/cldr/nls/fr/hebrew.js | 8 + source/lib/dojo/cldr/nls/fr/islamic.js | 8 + source/lib/dojo/cldr/nls/fr/number.js | 8 + source/lib/dojo/cldr/nls/gregorian.js | 8 + source/lib/dojo/cldr/nls/he/currency.js | 8 + source/lib/dojo/cldr/nls/he/gregorian.js | 8 + source/lib/dojo/cldr/nls/he/hebrew.js | 8 + source/lib/dojo/cldr/nls/he/islamic.js | 8 + source/lib/dojo/cldr/nls/he/number.js | 8 + source/lib/dojo/cldr/nls/hebrew.js | 8 + source/lib/dojo/cldr/nls/hu/buddhist.js | 8 + source/lib/dojo/cldr/nls/hu/currency.js | 8 + source/lib/dojo/cldr/nls/hu/gregorian.js | 8 + source/lib/dojo/cldr/nls/hu/hebrew.js | 8 + source/lib/dojo/cldr/nls/hu/islamic.js | 8 + source/lib/dojo/cldr/nls/hu/number.js | 8 + source/lib/dojo/cldr/nls/islamic.js | 8 + source/lib/dojo/cldr/nls/it/buddhist.js | 8 + source/lib/dojo/cldr/nls/it/currency.js | 8 + source/lib/dojo/cldr/nls/it/gregorian.js | 8 + source/lib/dojo/cldr/nls/it/islamic.js | 8 + source/lib/dojo/cldr/nls/it/number.js | 8 + source/lib/dojo/cldr/nls/ja/buddhist.js | 8 + source/lib/dojo/cldr/nls/ja/currency.js | 8 + source/lib/dojo/cldr/nls/ja/gregorian.js | 8 + source/lib/dojo/cldr/nls/ja/hebrew.js | 8 + source/lib/dojo/cldr/nls/ja/islamic.js | 8 + source/lib/dojo/cldr/nls/ja/number.js | 8 + source/lib/dojo/cldr/nls/ko/buddhist.js | 8 + source/lib/dojo/cldr/nls/ko/currency.js | 8 + source/lib/dojo/cldr/nls/ko/gregorian.js | 8 + source/lib/dojo/cldr/nls/ko/number.js | 8 + source/lib/dojo/cldr/nls/nb/buddhist.js | 8 + source/lib/dojo/cldr/nls/nb/currency.js | 8 + source/lib/dojo/cldr/nls/nb/gregorian.js | 8 + source/lib/dojo/cldr/nls/nb/islamic.js | 8 + source/lib/dojo/cldr/nls/nb/number.js | 8 + source/lib/dojo/cldr/nls/nl/buddhist.js | 8 + source/lib/dojo/cldr/nls/nl/currency.js | 8 + source/lib/dojo/cldr/nls/nl/gregorian.js | 8 + source/lib/dojo/cldr/nls/nl/hebrew.js | 8 + source/lib/dojo/cldr/nls/nl/islamic.js | 8 + source/lib/dojo/cldr/nls/nl/number.js | 8 + source/lib/dojo/cldr/nls/number.js | 8 + source/lib/dojo/cldr/nls/pl/buddhist.js | 8 + source/lib/dojo/cldr/nls/pl/currency.js | 8 + source/lib/dojo/cldr/nls/pl/gregorian.js | 8 + source/lib/dojo/cldr/nls/pl/hebrew.js | 8 + source/lib/dojo/cldr/nls/pl/islamic.js | 8 + source/lib/dojo/cldr/nls/pl/number.js | 8 + source/lib/dojo/cldr/nls/pt-pt/buddhist.js | 8 + source/lib/dojo/cldr/nls/pt-pt/currency.js | 8 + source/lib/dojo/cldr/nls/pt-pt/gregorian.js | 8 + source/lib/dojo/cldr/nls/pt-pt/islamic.js | 8 + source/lib/dojo/cldr/nls/pt-pt/number.js | 8 + source/lib/dojo/cldr/nls/pt/buddhist.js | 8 + source/lib/dojo/cldr/nls/pt/currency.js | 8 + source/lib/dojo/cldr/nls/pt/gregorian.js | 8 + source/lib/dojo/cldr/nls/pt/hebrew.js | 8 + source/lib/dojo/cldr/nls/pt/islamic.js | 8 + source/lib/dojo/cldr/nls/pt/number.js | 8 + source/lib/dojo/cldr/nls/ro/buddhist.js | 8 + source/lib/dojo/cldr/nls/ro/currency.js | 8 + source/lib/dojo/cldr/nls/ro/gregorian.js | 8 + source/lib/dojo/cldr/nls/ro/hebrew.js | 8 + source/lib/dojo/cldr/nls/ro/islamic.js | 8 + source/lib/dojo/cldr/nls/ro/number.js | 8 + source/lib/dojo/cldr/nls/ru/buddhist.js | 8 + source/lib/dojo/cldr/nls/ru/currency.js | 8 + source/lib/dojo/cldr/nls/ru/gregorian.js | 8 + source/lib/dojo/cldr/nls/ru/hebrew.js | 8 + source/lib/dojo/cldr/nls/ru/islamic.js | 8 + source/lib/dojo/cldr/nls/ru/number.js | 8 + source/lib/dojo/cldr/nls/sk/currency.js | 8 + source/lib/dojo/cldr/nls/sk/gregorian.js | 8 + source/lib/dojo/cldr/nls/sk/number.js | 8 + source/lib/dojo/cldr/nls/sl/currency.js | 8 + source/lib/dojo/cldr/nls/sl/gregorian.js | 8 + source/lib/dojo/cldr/nls/sl/number.js | 8 + source/lib/dojo/cldr/nls/sv/buddhist.js | 8 + source/lib/dojo/cldr/nls/sv/currency.js | 8 + source/lib/dojo/cldr/nls/sv/gregorian.js | 8 + source/lib/dojo/cldr/nls/sv/hebrew.js | 8 + source/lib/dojo/cldr/nls/sv/islamic.js | 8 + source/lib/dojo/cldr/nls/sv/number.js | 8 + source/lib/dojo/cldr/nls/th/buddhist.js | 8 + source/lib/dojo/cldr/nls/th/currency.js | 8 + source/lib/dojo/cldr/nls/th/gregorian.js | 8 + source/lib/dojo/cldr/nls/th/hebrew.js | 8 + source/lib/dojo/cldr/nls/th/islamic.js | 8 + source/lib/dojo/cldr/nls/th/number.js | 8 + source/lib/dojo/cldr/nls/tr/buddhist.js | 8 + source/lib/dojo/cldr/nls/tr/currency.js | 8 + source/lib/dojo/cldr/nls/tr/gregorian.js | 8 + source/lib/dojo/cldr/nls/tr/hebrew.js | 8 + source/lib/dojo/cldr/nls/tr/islamic.js | 8 + source/lib/dojo/cldr/nls/tr/number.js | 8 + source/lib/dojo/cldr/nls/zh-hant/buddhist.js | 8 + source/lib/dojo/cldr/nls/zh-hant/currency.js | 8 + source/lib/dojo/cldr/nls/zh-hant/gregorian.js | 8 + source/lib/dojo/cldr/nls/zh-hant/hebrew.js | 8 + source/lib/dojo/cldr/nls/zh-hant/islamic.js | 8 + source/lib/dojo/cldr/nls/zh-hant/number.js | 8 + source/lib/dojo/cldr/nls/zh-hk/currency.js | 8 + source/lib/dojo/cldr/nls/zh-hk/gregorian.js | 8 + source/lib/dojo/cldr/nls/zh-hk/number.js | 8 + source/lib/dojo/cldr/nls/zh-tw/currency.js | 8 + source/lib/dojo/cldr/nls/zh-tw/gregorian.js | 8 + source/lib/dojo/cldr/nls/zh-tw/number.js | 8 + source/lib/dojo/cldr/nls/zh/buddhist.js | 8 + source/lib/dojo/cldr/nls/zh/currency.js | 8 + source/lib/dojo/cldr/nls/zh/gregorian.js | 8 + source/lib/dojo/cldr/nls/zh/hebrew.js | 8 + source/lib/dojo/cldr/nls/zh/islamic.js | 8 + source/lib/dojo/cldr/nls/zh/number.js | 8 + source/lib/dojo/cldr/supplemental.js | 8 + source/lib/dojo/colors.js | 8 + source/lib/dojo/cookie.js | 8 + source/lib/dojo/currency.js | 8 + source/lib/dojo/data/ItemFileReadStore.js | 8 + source/lib/dojo/data/ItemFileWriteStore.js | 8 + source/lib/dojo/data/ObjectStore.js | 8 + source/lib/dojo/data/api/Identity.js | 8 + source/lib/dojo/data/api/Item.js | 8 + source/lib/dojo/data/api/Notification.js | 8 + source/lib/dojo/data/api/Read.js | 8 + source/lib/dojo/data/api/Request.js | 8 + source/lib/dojo/data/api/Write.js | 8 + source/lib/dojo/data/util/filter.js | 8 + source/lib/dojo/data/util/simpleFetch.js | 8 + source/lib/dojo/data/util/sorter.js | 8 + source/lib/dojo/date.js | 8 + source/lib/dojo/date/locale.js | 8 + source/lib/dojo/date/stamp.js | 8 + source/lib/dojo/dnd/AutoSource.js | 8 + source/lib/dojo/dnd/Avatar.js | 8 + source/lib/dojo/dnd/Container.js | 8 + source/lib/dojo/dnd/Manager.js | 8 + source/lib/dojo/dnd/Moveable.js | 8 + source/lib/dojo/dnd/Mover.js | 8 + source/lib/dojo/dnd/Selector.js | 8 + source/lib/dojo/dnd/Source.js | 8 + source/lib/dojo/dnd/Target.js | 8 + source/lib/dojo/dnd/TimedMoveable.js | 8 + source/lib/dojo/dnd/autoscroll.js | 8 + source/lib/dojo/dnd/common.js | 8 + source/lib/dojo/dnd/move.js | 8 + source/lib/dojo/dojo.js | 15 + source/lib/dojo/dojo.profile.js | 40 + source/lib/dojo/dom-attr.js | 8 + source/lib/dojo/dom-class.js | 8 + source/lib/dojo/dom-construct.js | 8 + source/lib/dojo/dom-form.js | 8 + source/lib/dojo/dom-geometry.js | 8 + source/lib/dojo/dom-prop.js | 8 + source/lib/dojo/dom-style.js | 8 + source/lib/dojo/dom.js | 8 + source/lib/dojo/domReady.js | 8 + source/lib/dojo/errors/CancelError.js | 8 + source/lib/dojo/errors/RequestError.js | 8 + source/lib/dojo/errors/RequestTimeoutError.js | 8 + source/lib/dojo/errors/create.js | 8 + source/lib/dojo/fx.js | 8 + source/lib/dojo/fx/Toggler.js | 8 + source/lib/dojo/fx/easing.js | 8 + source/lib/dojo/gears.js | 8 + source/lib/dojo/has.js | 8 + source/lib/dojo/hash.js | 8 + source/lib/dojo/hccss.js | 8 + source/lib/dojo/html.js | 8 + source/lib/dojo/i18n.js | 8 + source/lib/dojo/io-query.js | 8 + source/lib/dojo/io/iframe.js | 8 + source/lib/dojo/io/script.js | 8 + source/lib/dojo/jaxer.js | 8 + source/lib/dojo/json.js | 8 + source/lib/dojo/keys.js | 8 + source/lib/dojo/loadInit.js | 8 + source/lib/dojo/main.js | 8 + source/lib/dojo/mouse.js | 8 + source/lib/dojo/nls/ar/colors.js | 8 + source/lib/dojo/nls/az/colors.js | 8 + source/lib/dojo/nls/ca/colors.js | 8 + source/lib/dojo/nls/colors.js | 8 + source/lib/dojo/nls/cs/colors.js | 8 + source/lib/dojo/nls/da/colors.js | 8 + source/lib/dojo/nls/de/colors.js | 8 + source/lib/dojo/nls/el/colors.js | 8 + source/lib/dojo/nls/es/colors.js | 8 + source/lib/dojo/nls/fi/colors.js | 8 + source/lib/dojo/nls/fr/colors.js | 8 + source/lib/dojo/nls/he/colors.js | 8 + source/lib/dojo/nls/hr/colors.js | 8 + source/lib/dojo/nls/hu/colors.js | 8 + source/lib/dojo/nls/it/colors.js | 8 + source/lib/dojo/nls/ja/colors.js | 8 + source/lib/dojo/nls/kk/colors.js | 8 + source/lib/dojo/nls/ko/colors.js | 8 + source/lib/dojo/nls/nb/colors.js | 8 + source/lib/dojo/nls/nl/colors.js | 8 + source/lib/dojo/nls/pl/colors.js | 8 + source/lib/dojo/nls/pt-pt/colors.js | 8 + source/lib/dojo/nls/pt/colors.js | 8 + source/lib/dojo/nls/ro/colors.js | 8 + source/lib/dojo/nls/ru/colors.js | 8 + source/lib/dojo/nls/sk/colors.js | 8 + source/lib/dojo/nls/sl/colors.js | 8 + source/lib/dojo/nls/sv/colors.js | 8 + source/lib/dojo/nls/th/colors.js | 8 + source/lib/dojo/nls/tr/colors.js | 8 + source/lib/dojo/nls/tt-rss-layer_ROOT.js | 8 + source/lib/dojo/nls/tt-rss-layer_ar.js | 8 + source/lib/dojo/nls/tt-rss-layer_ca.js | 8 + source/lib/dojo/nls/tt-rss-layer_cs.js | 8 + source/lib/dojo/nls/tt-rss-layer_da.js | 8 + source/lib/dojo/nls/tt-rss-layer_de.js | 8 + source/lib/dojo/nls/tt-rss-layer_el.js | 8 + source/lib/dojo/nls/tt-rss-layer_en-gb.js | 8 + source/lib/dojo/nls/tt-rss-layer_en-us.js | 8 + source/lib/dojo/nls/tt-rss-layer_es-es.js | 8 + source/lib/dojo/nls/tt-rss-layer_fi-fi.js | 8 + source/lib/dojo/nls/tt-rss-layer_fr-fr.js | 8 + source/lib/dojo/nls/tt-rss-layer_he-il.js | 8 + source/lib/dojo/nls/tt-rss-layer_hu.js | 8 + source/lib/dojo/nls/tt-rss-layer_it-it.js | 8 + source/lib/dojo/nls/tt-rss-layer_ja-jp.js | 8 + source/lib/dojo/nls/tt-rss-layer_ko-kr.js | 8 + source/lib/dojo/nls/tt-rss-layer_nb.js | 8 + source/lib/dojo/nls/tt-rss-layer_nl-nl.js | 8 + source/lib/dojo/nls/tt-rss-layer_pl.js | 8 + source/lib/dojo/nls/tt-rss-layer_pt-br.js | 8 + source/lib/dojo/nls/tt-rss-layer_pt-pt.js | 8 + source/lib/dojo/nls/tt-rss-layer_ru.js | 8 + source/lib/dojo/nls/tt-rss-layer_sk.js | 8 + source/lib/dojo/nls/tt-rss-layer_sl.js | 8 + source/lib/dojo/nls/tt-rss-layer_sv.js | 8 + source/lib/dojo/nls/tt-rss-layer_th.js | 8 + source/lib/dojo/nls/tt-rss-layer_tr.js | 8 + source/lib/dojo/nls/tt-rss-layer_zh-cn.js | 8 + source/lib/dojo/nls/tt-rss-layer_zh-tw.js | 8 + source/lib/dojo/nls/zh-tw/colors.js | 8 + source/lib/dojo/nls/zh/colors.js | 8 + source/lib/dojo/node.js | 8 + source/lib/dojo/number.js | 8 + source/lib/dojo/on.js | 8 + source/lib/dojo/package.json | 23 + source/lib/dojo/parser.js | 8 + source/lib/dojo/promise/Promise.js | 8 + source/lib/dojo/promise/all.js | 8 + source/lib/dojo/promise/first.js | 8 + source/lib/dojo/promise/instrumentation.js | 8 + source/lib/dojo/promise/tracer.js | 8 + source/lib/dojo/query.js | 8 + source/lib/dojo/ready.js | 8 + source/lib/dojo/regexp.js | 8 + source/lib/dojo/request.js | 8 + source/lib/dojo/request/default.js | 8 + source/lib/dojo/request/handlers.js | 8 + source/lib/dojo/request/iframe.js | 8 + source/lib/dojo/request/node.js | 8 + source/lib/dojo/request/notify.js | 8 + source/lib/dojo/request/registry.js | 8 + source/lib/dojo/request/script.js | 8 + source/lib/dojo/request/util.js | 8 + source/lib/dojo/request/watch.js | 8 + source/lib/dojo/request/xhr.js | 8 + source/lib/dojo/require.js | 8 + source/lib/dojo/resources/LICENSE | 30 + source/lib/dojo/resources/blank.gif | Bin 0 -> 43 bytes source/lib/dojo/resources/blank.html | 1 + source/lib/dojo/resources/dnd.css | 1 + source/lib/dojo/resources/dojo.css | 1 + source/lib/dojo/resources/iframe_history.html | 44 + source/lib/dojo/resources/images/dndCopy.png | Bin 0 -> 814 bytes source/lib/dojo/resources/images/dndMove.png | Bin 0 -> 785 bytes .../lib/dojo/resources/images/dndNoCopy.png | Bin 0 -> 1332 bytes .../lib/dojo/resources/images/dndNoMove.png | Bin 0 -> 991 bytes source/lib/dojo/router.js | 8 + source/lib/dojo/router/RouterBase.js | 8 + source/lib/dojo/rpc/JsonService.js | 8 + source/lib/dojo/rpc/JsonpService.js | 8 + source/lib/dojo/rpc/RpcService.js | 8 + source/lib/dojo/selector/_loader.js | 8 + source/lib/dojo/selector/acme.js | 8 + source/lib/dojo/selector/lite.js | 8 + source/lib/dojo/sniff.js | 8 + source/lib/dojo/store/Cache.js | 8 + source/lib/dojo/store/DataStore.js | 8 + source/lib/dojo/store/JsonRest.js | 8 + source/lib/dojo/store/Memory.js | 8 + source/lib/dojo/store/Observable.js | 8 + source/lib/dojo/store/README | 6 + source/lib/dojo/store/api/Store.js | 8 + source/lib/dojo/store/util/QueryResults.js | 8 + .../lib/dojo/store/util/SimpleQueryEngine.js | 8 + source/lib/dojo/string.js | 8 + source/lib/dojo/text.js | 8 + source/lib/dojo/topic.js | 8 + source/lib/dojo/touch.js | 8 + source/lib/dojo/tt-rss-layer.js | 15 + source/lib/dojo/uacss.js | 8 + source/lib/dojo/when.js | 8 + source/lib/dojo/window.js | 8 + source/lib/floIcon.php | 20 + source/lib/gettext/README | 161 + source/lib/gettext/gettext.inc | 536 ++ source/lib/gettext/gettext.php | 432 ++ source/lib/gettext/streams.php | 167 + source/lib/index.html | 0 source/lib/jimIcon.php | 270 + source/lib/jshrink/LICENSE | 24 + source/lib/jshrink/Minifier.php | 470 ++ source/lib/jshrink/README.md | 21 + source/lib/languagedetect/LanguageDetect.php | 1708 +++++ .../Text/LanguageDetect/Exception.php | 57 + .../Text/LanguageDetect/ISO639.php | 341 + .../Text/LanguageDetect/Parser.php | 349 + source/lib/languagedetect/data/lang.dat | 1 + .../languagedetect/data/unicode_blocks.dat | 1 + source/lib/otphp/LICENCE | 20 + source/lib/otphp/lib/hotp.php | 74 + source/lib/otphp/lib/otp.php | 120 + source/lib/otphp/lib/otphp.php | 27 + source/lib/otphp/lib/totp.php | 106 + source/lib/otphp/vendor/base32.php | 83 + source/lib/otphp/vendor/libs.php | 26 + source/lib/phpmailer/class.phpmailer.php | 2826 ++++++++ source/lib/phpmailer/class.smtp.php | 1003 +++ .../phpmailer/language/phpmailer.lang-ar.php | 27 + .../phpmailer/language/phpmailer.lang-br.php | 26 + .../phpmailer/language/phpmailer.lang-ca.php | 26 + .../phpmailer/language/phpmailer.lang-ch.php | 26 + .../phpmailer/language/phpmailer.lang-cz.php | 25 + .../phpmailer/language/phpmailer.lang-de.php | 25 + .../phpmailer/language/phpmailer.lang-dk.php | 26 + .../phpmailer/language/phpmailer.lang-es.php | 26 + .../phpmailer/language/phpmailer.lang-et.php | 26 + .../phpmailer/language/phpmailer.lang-fi.php | 27 + .../phpmailer/language/phpmailer.lang-fo.php | 27 + .../phpmailer/language/phpmailer.lang-fr.php | 25 + .../phpmailer/language/phpmailer.lang-hu.php | 25 + .../phpmailer/language/phpmailer.lang-it.php | 27 + .../phpmailer/language/phpmailer.lang-ja.php | 26 + .../phpmailer/language/phpmailer.lang-nl.php | 25 + .../phpmailer/language/phpmailer.lang-no.php | 25 + .../phpmailer/language/phpmailer.lang-pl.php | 25 + .../phpmailer/language/phpmailer.lang-ro.php | 27 + .../phpmailer/language/phpmailer.lang-ru.php | 26 + .../phpmailer/language/phpmailer.lang-se.php | 26 + .../phpmailer/language/phpmailer.lang-sk.php | 26 + .../phpmailer/language/phpmailer.lang-tr.php | 27 + .../phpmailer/language/phpmailer.lang-zh.php | 26 + .../language/phpmailer.lang-zh_cn.php | 26 + source/lib/phpqrcode/CHANGELOG | 38 + source/lib/phpqrcode/INSTALL | 67 + source/lib/phpqrcode/LICENSE | 165 + source/lib/phpqrcode/README | 45 + source/lib/phpqrcode/VERSION | 2 + .../lib/phpqrcode/bindings/tcpdf/qrcode.php | 2875 ++++++++ source/lib/phpqrcode/cache/frame_1.dat | 2 + source/lib/phpqrcode/cache/frame_1.png | Bin 0 -> 126 bytes source/lib/phpqrcode/cache/frame_10.dat | Bin 0 -> 204 bytes source/lib/phpqrcode/cache/frame_10.png | Bin 0 -> 202 bytes source/lib/phpqrcode/cache/frame_11.dat | Bin 0 -> 210 bytes source/lib/phpqrcode/cache/frame_11.png | Bin 0 -> 205 bytes source/lib/phpqrcode/cache/frame_12.dat | Bin 0 -> 222 bytes source/lib/phpqrcode/cache/frame_12.png | Bin 0 -> 216 bytes source/lib/phpqrcode/cache/frame_13.dat | Bin 0 -> 223 bytes source/lib/phpqrcode/cache/frame_13.png | Bin 0 -> 210 bytes source/lib/phpqrcode/cache/frame_14.dat | Bin 0 -> 227 bytes source/lib/phpqrcode/cache/frame_14.png | Bin 0 -> 213 bytes source/lib/phpqrcode/cache/frame_15.dat | Bin 0 -> 242 bytes source/lib/phpqrcode/cache/frame_15.png | Bin 0 -> 219 bytes source/lib/phpqrcode/cache/frame_16.dat | 1 + source/lib/phpqrcode/cache/frame_16.png | Bin 0 -> 211 bytes source/lib/phpqrcode/cache/frame_17.dat | Bin 0 -> 237 bytes source/lib/phpqrcode/cache/frame_17.png | Bin 0 -> 211 bytes source/lib/phpqrcode/cache/frame_18.dat | 2 + source/lib/phpqrcode/cache/frame_18.png | Bin 0 -> 228 bytes source/lib/phpqrcode/cache/frame_19.dat | 3 + source/lib/phpqrcode/cache/frame_19.png | Bin 0 -> 225 bytes source/lib/phpqrcode/cache/frame_2.dat | 1 + source/lib/phpqrcode/cache/frame_2.png | Bin 0 -> 144 bytes source/lib/phpqrcode/cache/frame_20.dat | Bin 0 -> 250 bytes source/lib/phpqrcode/cache/frame_20.png | Bin 0 -> 225 bytes source/lib/phpqrcode/cache/frame_21.dat | 1 + source/lib/phpqrcode/cache/frame_21.png | Bin 0 -> 235 bytes source/lib/phpqrcode/cache/frame_22.dat | 3 + source/lib/phpqrcode/cache/frame_22.png | Bin 0 -> 226 bytes source/lib/phpqrcode/cache/frame_23.dat | 3 + source/lib/phpqrcode/cache/frame_23.png | Bin 0 -> 220 bytes source/lib/phpqrcode/cache/frame_24.dat | 1 + source/lib/phpqrcode/cache/frame_24.png | Bin 0 -> 242 bytes source/lib/phpqrcode/cache/frame_25.dat | 3 + source/lib/phpqrcode/cache/frame_25.png | Bin 0 -> 242 bytes source/lib/phpqrcode/cache/frame_26.dat | 2 + source/lib/phpqrcode/cache/frame_26.png | Bin 0 -> 244 bytes source/lib/phpqrcode/cache/frame_27.dat | Bin 0 -> 284 bytes source/lib/phpqrcode/cache/frame_27.png | Bin 0 -> 237 bytes source/lib/phpqrcode/cache/frame_28.dat | Bin 0 -> 318 bytes source/lib/phpqrcode/cache/frame_28.png | Bin 0 -> 234 bytes source/lib/phpqrcode/cache/frame_29.dat | 2 + source/lib/phpqrcode/cache/frame_29.png | Bin 0 -> 232 bytes source/lib/phpqrcode/cache/frame_3.dat | 1 + source/lib/phpqrcode/cache/frame_3.png | Bin 0 -> 147 bytes source/lib/phpqrcode/cache/frame_30.dat | Bin 0 -> 324 bytes source/lib/phpqrcode/cache/frame_30.png | Bin 0 -> 255 bytes source/lib/phpqrcode/cache/frame_31.dat | 1 + source/lib/phpqrcode/cache/frame_31.png | Bin 0 -> 260 bytes source/lib/phpqrcode/cache/frame_32.dat | 2 + source/lib/phpqrcode/cache/frame_32.png | Bin 0 -> 262 bytes source/lib/phpqrcode/cache/frame_33.dat | 14 + source/lib/phpqrcode/cache/frame_33.png | Bin 0 -> 253 bytes source/lib/phpqrcode/cache/frame_34.dat | Bin 0 -> 331 bytes source/lib/phpqrcode/cache/frame_34.png | Bin 0 -> 256 bytes source/lib/phpqrcode/cache/frame_35.dat | Bin 0 -> 342 bytes source/lib/phpqrcode/cache/frame_35.png | Bin 0 -> 243 bytes source/lib/phpqrcode/cache/frame_36.dat | Bin 0 -> 370 bytes source/lib/phpqrcode/cache/frame_36.png | Bin 0 -> 272 bytes source/lib/phpqrcode/cache/frame_37.dat | Bin 0 -> 376 bytes source/lib/phpqrcode/cache/frame_37.png | Bin 0 -> 279 bytes source/lib/phpqrcode/cache/frame_38.dat | 1 + source/lib/phpqrcode/cache/frame_38.png | Bin 0 -> 279 bytes source/lib/phpqrcode/cache/frame_39.dat | Bin 0 -> 404 bytes source/lib/phpqrcode/cache/frame_39.png | Bin 0 -> 264 bytes source/lib/phpqrcode/cache/frame_4.dat | 1 + source/lib/phpqrcode/cache/frame_4.png | Bin 0 -> 149 bytes source/lib/phpqrcode/cache/frame_40.dat | 2 + source/lib/phpqrcode/cache/frame_40.png | Bin 0 -> 267 bytes source/lib/phpqrcode/cache/frame_5.dat | 1 + source/lib/phpqrcode/cache/frame_5.png | Bin 0 -> 150 bytes source/lib/phpqrcode/cache/frame_6.dat | Bin 0 -> 132 bytes source/lib/phpqrcode/cache/frame_6.png | Bin 0 -> 151 bytes source/lib/phpqrcode/cache/frame_7.dat | Bin 0 -> 196 bytes source/lib/phpqrcode/cache/frame_7.png | Bin 0 -> 189 bytes source/lib/phpqrcode/cache/frame_8.dat | Bin 0 -> 201 bytes source/lib/phpqrcode/cache/frame_8.png | Bin 0 -> 204 bytes source/lib/phpqrcode/cache/frame_9.dat | Bin 0 -> 206 bytes source/lib/phpqrcode/cache/frame_9.png | Bin 0 -> 199 bytes .../lib/phpqrcode/cache/mask_0/mask_101_0.dat | Bin 0 -> 157 bytes .../lib/phpqrcode/cache/mask_0/mask_105_0.dat | Bin 0 -> 162 bytes .../lib/phpqrcode/cache/mask_0/mask_109_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_113_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_117_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_121_0.dat | 1 + .../lib/phpqrcode/cache/mask_0/mask_125_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_129_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_133_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_137_0.dat | 1 + .../lib/phpqrcode/cache/mask_0/mask_141_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_145_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_149_0.dat | 3 + .../lib/phpqrcode/cache/mask_0/mask_153_0.dat | 1 + .../lib/phpqrcode/cache/mask_0/mask_157_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_161_0.dat | Bin 0 -> 241 bytes .../lib/phpqrcode/cache/mask_0/mask_165_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_169_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_173_0.dat | 1 + .../lib/phpqrcode/cache/mask_0/mask_177_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_21_0.dat | Bin 0 -> 48 bytes .../lib/phpqrcode/cache/mask_0/mask_25_0.dat | Bin 0 -> 57 bytes .../lib/phpqrcode/cache/mask_0/mask_29_0.dat | Bin 0 -> 59 bytes .../lib/phpqrcode/cache/mask_0/mask_33_0.dat | Bin 0 -> 62 bytes .../lib/phpqrcode/cache/mask_0/mask_37_0.dat | Bin 0 -> 65 bytes .../lib/phpqrcode/cache/mask_0/mask_41_0.dat | Bin 0 -> 68 bytes .../lib/phpqrcode/cache/mask_0/mask_45_0.dat | Bin 0 -> 106 bytes .../lib/phpqrcode/cache/mask_0/mask_49_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_53_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_57_0.dat | 4 + .../lib/phpqrcode/cache/mask_0/mask_61_0.dat | Bin 0 -> 119 bytes .../lib/phpqrcode/cache/mask_0/mask_65_0.dat | Bin 0 -> 123 bytes .../lib/phpqrcode/cache/mask_0/mask_69_0.dat | 1 + .../lib/phpqrcode/cache/mask_0/mask_73_0.dat | 1 + .../lib/phpqrcode/cache/mask_0/mask_77_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_81_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_85_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_89_0.dat | 1 + .../lib/phpqrcode/cache/mask_0/mask_93_0.dat | 3 + .../lib/phpqrcode/cache/mask_0/mask_97_0.dat | Bin 0 -> 150 bytes .../lib/phpqrcode/cache/mask_1/mask_101_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_105_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_109_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_113_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_117_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_121_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_125_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_129_1.dat | Bin 0 -> 164 bytes .../lib/phpqrcode/cache/mask_1/mask_133_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_137_1.dat | 3 + .../lib/phpqrcode/cache/mask_1/mask_141_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_145_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_149_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_153_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_157_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_161_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_165_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_169_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_173_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_177_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_21_1.dat | Bin 0 -> 42 bytes .../lib/phpqrcode/cache/mask_1/mask_25_1.dat | Bin 0 -> 48 bytes .../lib/phpqrcode/cache/mask_1/mask_29_1.dat | Bin 0 -> 50 bytes .../lib/phpqrcode/cache/mask_1/mask_33_1.dat | Bin 0 -> 53 bytes .../lib/phpqrcode/cache/mask_1/mask_37_1.dat | Bin 0 -> 56 bytes .../lib/phpqrcode/cache/mask_1/mask_41_1.dat | Bin 0 -> 58 bytes .../lib/phpqrcode/cache/mask_1/mask_45_1.dat | Bin 0 -> 82 bytes .../lib/phpqrcode/cache/mask_1/mask_49_1.dat | Bin 0 -> 84 bytes .../lib/phpqrcode/cache/mask_1/mask_53_1.dat | Bin 0 -> 87 bytes .../lib/phpqrcode/cache/mask_1/mask_57_1.dat | Bin 0 -> 92 bytes .../lib/phpqrcode/cache/mask_1/mask_61_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_65_1.dat | Bin 0 -> 99 bytes .../lib/phpqrcode/cache/mask_1/mask_69_1.dat | Bin 0 -> 102 bytes .../lib/phpqrcode/cache/mask_1/mask_73_1.dat | Bin 0 -> 104 bytes .../lib/phpqrcode/cache/mask_1/mask_77_1.dat | Bin 0 -> 110 bytes .../lib/phpqrcode/cache/mask_1/mask_81_1.dat | Bin 0 -> 114 bytes .../lib/phpqrcode/cache/mask_1/mask_85_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_89_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_93_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_97_1.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_101_2.dat | 3 + .../lib/phpqrcode/cache/mask_2/mask_105_2.dat | 1 + .../lib/phpqrcode/cache/mask_2/mask_109_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_113_2.dat | 1 + .../lib/phpqrcode/cache/mask_2/mask_117_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_121_2.dat | Bin 0 -> 127 bytes .../lib/phpqrcode/cache/mask_2/mask_125_2.dat | 1 + .../lib/phpqrcode/cache/mask_2/mask_129_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_133_2.dat | 10 + .../lib/phpqrcode/cache/mask_2/mask_137_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_141_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_145_2.dat | 4 + .../lib/phpqrcode/cache/mask_2/mask_149_2.dat | 1 + .../lib/phpqrcode/cache/mask_2/mask_153_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_157_2.dat | 3 + .../lib/phpqrcode/cache/mask_2/mask_161_2.dat | Bin 0 -> 190 bytes .../lib/phpqrcode/cache/mask_2/mask_165_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_169_2.dat | Bin 0 -> 196 bytes .../lib/phpqrcode/cache/mask_2/mask_173_2.dat | 1 + .../lib/phpqrcode/cache/mask_2/mask_177_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_21_2.dat | Bin 0 -> 35 bytes .../lib/phpqrcode/cache/mask_2/mask_25_2.dat | Bin 0 -> 41 bytes .../lib/phpqrcode/cache/mask_2/mask_29_2.dat | Bin 0 -> 45 bytes .../lib/phpqrcode/cache/mask_2/mask_33_2.dat | Bin 0 -> 47 bytes .../lib/phpqrcode/cache/mask_2/mask_37_2.dat | Bin 0 -> 47 bytes .../lib/phpqrcode/cache/mask_2/mask_41_2.dat | 1 + .../lib/phpqrcode/cache/mask_2/mask_45_2.dat | Bin 0 -> 68 bytes .../lib/phpqrcode/cache/mask_2/mask_49_2.dat | Bin 0 -> 70 bytes .../lib/phpqrcode/cache/mask_2/mask_53_2.dat | Bin 0 -> 73 bytes .../lib/phpqrcode/cache/mask_2/mask_57_2.dat | Bin 0 -> 76 bytes .../lib/phpqrcode/cache/mask_2/mask_61_2.dat | Bin 0 -> 78 bytes .../lib/phpqrcode/cache/mask_2/mask_65_2.dat | Bin 0 -> 89 bytes .../lib/phpqrcode/cache/mask_2/mask_69_2.dat | Bin 0 -> 88 bytes .../lib/phpqrcode/cache/mask_2/mask_73_2.dat | Bin 0 -> 94 bytes .../lib/phpqrcode/cache/mask_2/mask_77_2.dat | 1 + .../lib/phpqrcode/cache/mask_2/mask_81_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_85_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_89_2.dat | 1 + .../lib/phpqrcode/cache/mask_2/mask_93_2.dat | Bin 0 -> 103 bytes .../lib/phpqrcode/cache/mask_2/mask_97_2.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_101_3.dat | 1 + .../lib/phpqrcode/cache/mask_3/mask_105_3.dat | 1 + .../lib/phpqrcode/cache/mask_3/mask_109_3.dat | 1 + .../lib/phpqrcode/cache/mask_3/mask_113_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_117_3.dat | 4 + .../lib/phpqrcode/cache/mask_3/mask_121_3.dat | Bin 0 -> 212 bytes .../lib/phpqrcode/cache/mask_3/mask_125_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_129_3.dat | 8 + .../lib/phpqrcode/cache/mask_3/mask_133_3.dat | Bin 0 -> 216 bytes .../lib/phpqrcode/cache/mask_3/mask_137_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_141_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_145_3.dat | 3 + .../lib/phpqrcode/cache/mask_3/mask_149_3.dat | 1 + .../lib/phpqrcode/cache/mask_3/mask_153_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_157_3.dat | Bin 0 -> 248 bytes .../lib/phpqrcode/cache/mask_3/mask_161_3.dat | 3 + .../lib/phpqrcode/cache/mask_3/mask_165_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_169_3.dat | 1 + .../lib/phpqrcode/cache/mask_3/mask_173_3.dat | 1 + .../lib/phpqrcode/cache/mask_3/mask_177_3.dat | Bin 0 -> 312 bytes .../lib/phpqrcode/cache/mask_3/mask_21_3.dat | Bin 0 -> 60 bytes .../lib/phpqrcode/cache/mask_3/mask_25_3.dat | Bin 0 -> 75 bytes .../lib/phpqrcode/cache/mask_3/mask_29_3.dat | Bin 0 -> 75 bytes .../lib/phpqrcode/cache/mask_3/mask_33_3.dat | Bin 0 -> 79 bytes .../lib/phpqrcode/cache/mask_3/mask_37_3.dat | Bin 0 -> 83 bytes .../lib/phpqrcode/cache/mask_3/mask_41_3.dat | Bin 0 -> 85 bytes .../lib/phpqrcode/cache/mask_3/mask_45_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_49_3.dat | Bin 0 -> 127 bytes .../lib/phpqrcode/cache/mask_3/mask_53_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_57_3.dat | Bin 0 -> 126 bytes .../lib/phpqrcode/cache/mask_3/mask_61_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_65_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_69_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_73_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_77_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_81_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_85_3.dat | Bin 0 -> 160 bytes .../lib/phpqrcode/cache/mask_3/mask_89_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_93_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_97_3.dat | Bin 0 -> 175 bytes .../lib/phpqrcode/cache/mask_4/mask_101_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_105_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_109_4.dat | Bin 0 -> 182 bytes .../lib/phpqrcode/cache/mask_4/mask_113_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_117_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_121_4.dat | Bin 0 -> 208 bytes .../lib/phpqrcode/cache/mask_4/mask_125_4.dat | Bin 0 -> 213 bytes .../lib/phpqrcode/cache/mask_4/mask_129_4.dat | Bin 0 -> 220 bytes .../lib/phpqrcode/cache/mask_4/mask_133_4.dat | 3 + .../lib/phpqrcode/cache/mask_4/mask_137_4.dat | Bin 0 -> 248 bytes .../lib/phpqrcode/cache/mask_4/mask_141_4.dat | Bin 0 -> 254 bytes .../lib/phpqrcode/cache/mask_4/mask_145_4.dat | Bin 0 -> 255 bytes .../lib/phpqrcode/cache/mask_4/mask_149_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_153_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_157_4.dat | 1 + .../lib/phpqrcode/cache/mask_4/mask_161_4.dat | 1 + .../lib/phpqrcode/cache/mask_4/mask_165_4.dat | 3 + .../lib/phpqrcode/cache/mask_4/mask_169_4.dat | Bin 0 -> 297 bytes .../lib/phpqrcode/cache/mask_4/mask_173_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_177_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_21_4.dat | Bin 0 -> 57 bytes .../lib/phpqrcode/cache/mask_4/mask_25_4.dat | Bin 0 -> 76 bytes .../lib/phpqrcode/cache/mask_4/mask_29_4.dat | Bin 0 -> 78 bytes .../lib/phpqrcode/cache/mask_4/mask_33_4.dat | Bin 0 -> 89 bytes .../lib/phpqrcode/cache/mask_4/mask_37_4.dat | Bin 0 -> 86 bytes .../lib/phpqrcode/cache/mask_4/mask_41_4.dat | Bin 0 -> 89 bytes .../lib/phpqrcode/cache/mask_4/mask_45_4.dat | Bin 0 -> 120 bytes .../lib/phpqrcode/cache/mask_4/mask_49_4.dat | Bin 0 -> 124 bytes .../lib/phpqrcode/cache/mask_4/mask_53_4.dat | Bin 0 -> 128 bytes .../lib/phpqrcode/cache/mask_4/mask_57_4.dat | Bin 0 -> 130 bytes .../lib/phpqrcode/cache/mask_4/mask_61_4.dat | Bin 0 -> 132 bytes .../lib/phpqrcode/cache/mask_4/mask_65_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_69_4.dat | 1 + .../lib/phpqrcode/cache/mask_4/mask_73_4.dat | 3 + .../lib/phpqrcode/cache/mask_4/mask_77_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_81_4.dat | 3 + .../lib/phpqrcode/cache/mask_4/mask_85_4.dat | Bin 0 -> 154 bytes .../lib/phpqrcode/cache/mask_4/mask_89_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_93_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_97_4.dat | Bin 0 -> 176 bytes .../lib/phpqrcode/cache/mask_5/mask_101_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_105_5.dat | Bin 0 -> 224 bytes .../lib/phpqrcode/cache/mask_5/mask_109_5.dat | Bin 0 -> 211 bytes .../lib/phpqrcode/cache/mask_5/mask_113_5.dat | 9 + .../lib/phpqrcode/cache/mask_5/mask_117_5.dat | 1 + .../lib/phpqrcode/cache/mask_5/mask_121_5.dat | Bin 0 -> 256 bytes .../lib/phpqrcode/cache/mask_5/mask_125_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_129_5.dat | Bin 0 -> 259 bytes .../lib/phpqrcode/cache/mask_5/mask_133_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_137_5.dat | 3 + .../lib/phpqrcode/cache/mask_5/mask_141_5.dat | Bin 0 -> 297 bytes .../lib/phpqrcode/cache/mask_5/mask_145_5.dat | Bin 0 -> 300 bytes .../lib/phpqrcode/cache/mask_5/mask_149_5.dat | 3 + .../lib/phpqrcode/cache/mask_5/mask_153_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_157_5.dat | 1 + .../lib/phpqrcode/cache/mask_5/mask_161_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_165_5.dat | Bin 0 -> 332 bytes .../lib/phpqrcode/cache/mask_5/mask_169_5.dat | 1 + .../lib/phpqrcode/cache/mask_5/mask_173_5.dat | 4 + .../lib/phpqrcode/cache/mask_5/mask_177_5.dat | 11 + .../lib/phpqrcode/cache/mask_5/mask_21_5.dat | Bin 0 -> 74 bytes .../lib/phpqrcode/cache/mask_5/mask_25_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_29_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_33_5.dat | Bin 0 -> 106 bytes .../lib/phpqrcode/cache/mask_5/mask_37_5.dat | Bin 0 -> 103 bytes .../lib/phpqrcode/cache/mask_5/mask_41_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_45_5.dat | 1 + .../lib/phpqrcode/cache/mask_5/mask_49_5.dat | Bin 0 -> 146 bytes .../lib/phpqrcode/cache/mask_5/mask_53_5.dat | 1 + .../lib/phpqrcode/cache/mask_5/mask_57_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_61_5.dat | 1 + .../lib/phpqrcode/cache/mask_5/mask_65_5.dat | Bin 0 -> 163 bytes .../lib/phpqrcode/cache/mask_5/mask_69_5.dat | Bin 0 -> 167 bytes .../lib/phpqrcode/cache/mask_5/mask_73_5.dat | Bin 0 -> 184 bytes .../lib/phpqrcode/cache/mask_5/mask_77_5.dat | 1 + .../lib/phpqrcode/cache/mask_5/mask_81_5.dat | 3 + .../lib/phpqrcode/cache/mask_5/mask_85_5.dat | Bin 0 -> 186 bytes .../lib/phpqrcode/cache/mask_5/mask_89_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_93_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_97_5.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_101_6.dat | 2 + .../lib/phpqrcode/cache/mask_6/mask_105_6.dat | 3 + .../lib/phpqrcode/cache/mask_6/mask_109_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_113_6.dat | 3 + .../lib/phpqrcode/cache/mask_6/mask_117_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_121_6.dat | Bin 0 -> 309 bytes .../lib/phpqrcode/cache/mask_6/mask_125_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_129_6.dat | Bin 0 -> 310 bytes .../lib/phpqrcode/cache/mask_6/mask_133_6.dat | Bin 0 -> 296 bytes .../lib/phpqrcode/cache/mask_6/mask_137_6.dat | 2 + .../lib/phpqrcode/cache/mask_6/mask_141_6.dat | 10 + .../lib/phpqrcode/cache/mask_6/mask_145_6.dat | Bin 0 -> 357 bytes .../lib/phpqrcode/cache/mask_6/mask_149_6.dat | 2 + .../lib/phpqrcode/cache/mask_6/mask_153_6.dat | Bin 0 -> 367 bytes .../lib/phpqrcode/cache/mask_6/mask_157_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_161_6.dat | Bin 0 -> 399 bytes .../lib/phpqrcode/cache/mask_6/mask_165_6.dat | Bin 0 -> 400 bytes .../lib/phpqrcode/cache/mask_6/mask_169_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_173_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_177_6.dat | 14 + .../lib/phpqrcode/cache/mask_6/mask_21_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_25_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_29_6.dat | 3 + .../lib/phpqrcode/cache/mask_6/mask_33_6.dat | Bin 0 -> 124 bytes .../lib/phpqrcode/cache/mask_6/mask_37_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_41_6.dat | Bin 0 -> 132 bytes .../lib/phpqrcode/cache/mask_6/mask_45_6.dat | Bin 0 -> 189 bytes .../lib/phpqrcode/cache/mask_6/mask_49_6.dat | 2 + .../lib/phpqrcode/cache/mask_6/mask_53_6.dat | Bin 0 -> 195 bytes .../lib/phpqrcode/cache/mask_6/mask_57_6.dat | 2 + .../lib/phpqrcode/cache/mask_6/mask_61_6.dat | 2 + .../lib/phpqrcode/cache/mask_6/mask_65_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_69_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_73_6.dat | Bin 0 -> 230 bytes .../lib/phpqrcode/cache/mask_6/mask_77_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_81_6.dat | 3 + .../lib/phpqrcode/cache/mask_6/mask_85_6.dat | Bin 0 -> 229 bytes .../lib/phpqrcode/cache/mask_6/mask_89_6.dat | Bin 0 -> 263 bytes .../lib/phpqrcode/cache/mask_6/mask_93_6.dat | Bin 0 -> 276 bytes .../lib/phpqrcode/cache/mask_6/mask_97_6.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_101_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_105_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_109_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_113_7.dat | 11 + .../lib/phpqrcode/cache/mask_7/mask_117_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_121_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_125_7.dat | Bin 0 -> 288 bytes .../lib/phpqrcode/cache/mask_7/mask_129_7.dat | Bin 0 -> 282 bytes .../lib/phpqrcode/cache/mask_7/mask_133_7.dat | Bin 0 -> 281 bytes .../lib/phpqrcode/cache/mask_7/mask_137_7.dat | 5 + .../lib/phpqrcode/cache/mask_7/mask_141_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_145_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_149_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_153_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_157_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_161_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_165_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_169_7.dat | Bin 0 -> 383 bytes .../lib/phpqrcode/cache/mask_7/mask_173_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_177_7.dat | Bin 0 -> 407 bytes .../lib/phpqrcode/cache/mask_7/mask_21_7.dat | 4 + .../lib/phpqrcode/cache/mask_7/mask_25_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_29_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_33_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_37_7.dat | Bin 0 -> 122 bytes .../lib/phpqrcode/cache/mask_7/mask_41_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_45_7.dat | Bin 0 -> 173 bytes .../lib/phpqrcode/cache/mask_7/mask_49_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_53_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_57_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_61_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_65_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_69_7.dat | Bin 0 -> 202 bytes .../lib/phpqrcode/cache/mask_7/mask_73_7.dat | Bin 0 -> 221 bytes .../lib/phpqrcode/cache/mask_7/mask_77_7.dat | Bin 0 -> 226 bytes .../lib/phpqrcode/cache/mask_7/mask_81_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_85_7.dat | Bin 0 -> 213 bytes .../lib/phpqrcode/cache/mask_7/mask_89_7.dat | Bin 0 -> 244 bytes .../lib/phpqrcode/cache/mask_7/mask_93_7.dat | Bin 0 -> 248 bytes .../lib/phpqrcode/cache/mask_7/mask_97_7.dat | 2 + source/lib/phpqrcode/index.php | 94 + source/lib/phpqrcode/phpqrcode.php | 3312 +++++++++ source/lib/phpqrcode/qrbitstream.php | 180 + source/lib/phpqrcode/qrconfig.php | 17 + source/lib/phpqrcode/qrconst.php | 54 + source/lib/phpqrcode/qrencode.php | 502 ++ source/lib/phpqrcode/qrimage.php | 95 + source/lib/phpqrcode/qrinput.php | 729 ++ source/lib/phpqrcode/qrlib.php | 43 + source/lib/phpqrcode/qrmask.php | 328 + source/lib/phpqrcode/qrrscode.php | 210 + source/lib/phpqrcode/qrspec.php | 592 ++ source/lib/phpqrcode/qrsplit.php | 311 + source/lib/phpqrcode/qrtools.php | 172 + source/lib/phpqrcode/tools/merge.bat | 2 + source/lib/phpqrcode/tools/merge.php | 70 + source/lib/phpqrcode/tools/merge.sh | 2 + source/lib/phpqrcode/tools/merged_config.php | 17 + source/lib/phpqrcode/tools/merged_header.php | 36 + source/lib/prototype.js | 6084 +++++++++++++++++ source/lib/pubsubhubbub/README.txt | 21 + source/lib/pubsubhubbub/publisher.php | 86 + source/lib/pubsubhubbub/subscriber.php | 120 + source/lib/scriptaculous/controls.js | 965 +++ source/lib/scriptaculous/dragdrop.js | 974 +++ source/lib/scriptaculous/effects.js | 1123 +++ source/lib/scriptaculous/scriptaculous.js | 68 + source/lib/sphinxapi.php | 1691 +++++ source/lib/timezones.txt | 568 ++ source/lib/xsl_mop-up.js | 86 + source/locale/.htaccess | 2 + source/locale/ca_CA/LC_MESSAGES/messages.mo | Bin 0 -> 23604 bytes source/locale/ca_CA/LC_MESSAGES/messages.po | 5059 ++++++++++++++ source/locale/cs_CZ/LC_MESSAGES/messages.mo | Bin 0 -> 61444 bytes source/locale/cs_CZ/LC_MESSAGES/messages.po | 3783 ++++++++++ source/locale/de_DE/LC_MESSAGES/messages.mo | Bin 0 -> 65134 bytes source/locale/de_DE/LC_MESSAGES/messages.po | 4046 +++++++++++ source/locale/es_ES/LC_MESSAGES/messages.mo | Bin 0 -> 67373 bytes source/locale/es_ES/LC_MESSAGES/messages.po | 4619 +++++++++++++ source/locale/fi_FI/LC_MESSAGES/messages.mo | Bin 0 -> 40850 bytes source/locale/fi_FI/LC_MESSAGES/messages.po | 3687 ++++++++++ source/locale/fr_FR/LC_MESSAGES/messages.mo | Bin 0 -> 66939 bytes source/locale/fr_FR/LC_MESSAGES/messages.po | 3995 +++++++++++ source/locale/hu_HU/LC_MESSAGES/messages.mo | Bin 0 -> 65959 bytes source/locale/hu_HU/LC_MESSAGES/messages.po | 3560 ++++++++++ source/locale/it_IT/LC_MESSAGES/messages.mo | Bin 0 -> 34568 bytes source/locale/it_IT/LC_MESSAGES/messages.po | 4150 +++++++++++ source/locale/ja_JP/LC_MESSAGES/messages.mo | Bin 0 -> 71901 bytes source/locale/ja_JP/LC_MESSAGES/messages.po | 3518 ++++++++++ source/locale/ko_KR/LC_MESSAGES/messages.mo | Bin 0 -> 45785 bytes source/locale/ko_KR/LC_MESSAGES/messages.po | 4688 +++++++++++++ source/locale/lv_LV/LC_MESSAGES/messages.mo | Bin 0 -> 42784 bytes source/locale/lv_LV/LC_MESSAGES/messages.po | 4044 +++++++++++ source/locale/nb_NO/LC_MESSAGES/messages.mo | Bin 0 -> 22368 bytes source/locale/nb_NO/LC_MESSAGES/messages.po | 5107 ++++++++++++++ source/locale/nl_NL/LC_MESSAGES/messages.mo | Bin 0 -> 62280 bytes source/locale/nl_NL/LC_MESSAGES/messages.po | 3842 +++++++++++ source/locale/pl_PL/LC_MESSAGES/messages.mo | Bin 0 -> 66808 bytes source/locale/pl_PL/LC_MESSAGES/messages.po | 4062 +++++++++++ source/locale/pt_BR/LC_MESSAGES/messages.mo | Bin 0 -> 60350 bytes source/locale/pt_BR/LC_MESSAGES/messages.po | 4199 ++++++++++++ source/locale/ru_RU/LC_MESSAGES/messages.mo | Bin 0 -> 38704 bytes source/locale/ru_RU/LC_MESSAGES/messages.po | 5192 ++++++++++++++ source/locale/sv_SE/LC_MESSAGES/messages.mo | Bin 0 -> 60532 bytes source/locale/sv_SE/LC_MESSAGES/messages.po | 4055 +++++++++++ source/locale/zh_CN/LC_MESSAGES/messages.mo | Bin 0 -> 32451 bytes source/locale/zh_CN/LC_MESSAGES/messages.po | 4135 +++++++++++ source/messages.pot | 3339 +++++++++ source/opml.php | 35 + source/plugins/af_buni/init.php | 62 + source/plugins/af_buttersafe/init.php | 62 + source/plugins/af_dilbert/init.php | 64 + source/plugins/af_explosm/init.php | 61 + source/plugins/af_gocomics/init.php | 74 + source/plugins/af_natgeo/init.php | 57 + source/plugins/af_pennyarcade/init.php | 92 + source/plugins/af_redditimgur/init.php | 142 + source/plugins/af_sciam/init.php | 51 + source/plugins/af_unburn/init.php | 134 + source/plugins/af_whomp/init.php | 61 + source/plugins/auth_internal/init.php | 196 + source/plugins/auth_remote/init.php | 87 + source/plugins/bookmarklets/init.php | 54 + source/plugins/cache_starred_images/init.php | 193 + source/plugins/close_button/button.png | Bin 0 -> 655 bytes source/plugins/close_button/init.php | 33 + source/plugins/embed_original/button.png | Bin 0 -> 1298 bytes source/plugins/embed_original/init.css | 13 + source/plugins/embed_original/init.js | 68 + source/plugins/embed_original/init.php | 58 + source/plugins/googlereaderimport/init.js | 53 + source/plugins/googlereaderimport/init.php | 384 ++ source/plugins/googlereaderkeys/init.php | 41 + source/plugins/import_export/import_export.js | 123 + source/plugins/import_export/init.php | 463 ++ source/plugins/index.html | 0 source/plugins/instances/init.php | 452 ++ source/plugins/instances/instances.js | 169 + source/plugins/mail/init.php | 184 + source/plugins/mail/mail.js | 62 + source/plugins/mail/mail.png | Bin 0 -> 641 bytes source/plugins/mailto/init.js | 32 + source/plugins/mailto/init.php | 94 + source/plugins/mailto/mail.png | Bin 0 -> 821 bytes source/plugins/mark_button/init.php | 43 + source/plugins/no_iframes/init.php | 29 + source/plugins/no_title_counters/init.js | 5 + source/plugins/no_title_counters/init.php | 25 + source/plugins/note/init.php | 76 + source/plugins/note/note.js | 51 + source/plugins/note/note.png | Bin 0 -> 500 bytes source/plugins/nsfw/init.js | 12 + source/plugins/nsfw/init.php | 108 + source/plugins/share/init.php | 133 + source/plugins/share/notshared.png | Bin 0 -> 657 bytes source/plugins/share/share.js | 88 + source/plugins/share/share.png | Bin 0 -> 343 bytes source/plugins/share/share_prefs.js | 21 + source/plugins/shorten_expanded/init.css | 9 + source/plugins/shorten_expanded/init.js | 45 + source/plugins/shorten_expanded/init.php | 29 + source/plugins/swap_jk/init.php | 31 + source/plugins/updater/init.php | 394 ++ source/plugins/updater/updater.js | 69 + source/plugins/vf_shared/init.php | 60 + source/plugins/vf_shared/share.png | Bin 0 -> 343 bytes source/prefs.php | 154 + source/public.php | 61 + source/register.php | 367 + source/schema/.htaccess | 2 + source/schema/ttrss_schema_mysql.sql | 496 ++ source/schema/ttrss_schema_pgsql.sql | 438 ++ source/schema/versions/mysql/10.sql | 12 + source/schema/versions/mysql/100.sql | 7 + source/schema/versions/mysql/101.sql | 12 + source/schema/versions/mysql/102.sql | 7 + source/schema/versions/mysql/103.sql | 7 + source/schema/versions/mysql/104.sql | 7 + source/schema/versions/mysql/105.sql | 11 + source/schema/versions/mysql/106.sql | 12 + source/schema/versions/mysql/107.sql | 15 + source/schema/versions/mysql/108.sql | 7 + source/schema/versions/mysql/109.sql | 7 + source/schema/versions/mysql/11.sql | 18 + source/schema/versions/mysql/110.sql | 7 + source/schema/versions/mysql/111.sql | 7 + source/schema/versions/mysql/112.sql | 15 + source/schema/versions/mysql/113.sql | 8 + source/schema/versions/mysql/114.sql | 15 + source/schema/versions/mysql/115.sql | 9 + source/schema/versions/mysql/116.sql | 7 + source/schema/versions/mysql/117.sql | 8 + source/schema/versions/mysql/118.sql | 16 + source/schema/versions/mysql/119.sql | 7 + source/schema/versions/mysql/12.sql | 12 + source/schema/versions/mysql/120.sql | 7 + source/schema/versions/mysql/121.sql | 7 + source/schema/versions/mysql/122.sql | 7 + source/schema/versions/mysql/123.sql | 9 + source/schema/versions/mysql/13.sql | 6 + source/schema/versions/mysql/14.sql | 4 + source/schema/versions/mysql/15.sql | 5 + source/schema/versions/mysql/16.sql | 6 + source/schema/versions/mysql/17.sql | 13 + source/schema/versions/mysql/18.sql | 3 + source/schema/versions/mysql/19.sql | 11 + source/schema/versions/mysql/20.sql | 3 + source/schema/versions/mysql/21.sql | 3 + source/schema/versions/mysql/22.sql | 8 + source/schema/versions/mysql/23.sql | 3 + source/schema/versions/mysql/24.sql | 3 + source/schema/versions/mysql/25.sql | 3 + source/schema/versions/mysql/26.sql | 15 + source/schema/versions/mysql/27.sql | 4 + source/schema/versions/mysql/28.sql | 3 + source/schema/versions/mysql/29.sql | 3 + source/schema/versions/mysql/3.sql | 43 + source/schema/versions/mysql/30.sql | 4 + source/schema/versions/mysql/31.sql | 6 + source/schema/versions/mysql/32.sql | 6 + source/schema/versions/mysql/33.sql | 3 + source/schema/versions/mysql/34.sql | 3 + source/schema/versions/mysql/35.sql | 1 + source/schema/versions/mysql/36.sql | 9 + source/schema/versions/mysql/37.sql | 4 + source/schema/versions/mysql/38.sql | 3 + source/schema/versions/mysql/39.sql | 5 + source/schema/versions/mysql/4.sql | 17 + source/schema/versions/mysql/40.sql | 3 + source/schema/versions/mysql/41.sql | 6 + source/schema/versions/mysql/42.sql | 3 + source/schema/versions/mysql/43.sql | 3 + source/schema/versions/mysql/44.sql | 9 + source/schema/versions/mysql/45.sql | 3 + source/schema/versions/mysql/46.sql | 4 + source/schema/versions/mysql/47.sql | 9 + source/schema/versions/mysql/48.sql | 6 + source/schema/versions/mysql/49.sql | 5 + source/schema/versions/mysql/5.sql | 12 + source/schema/versions/mysql/50.sql | 19 + source/schema/versions/mysql/51.sql | 16 + source/schema/versions/mysql/52.sql | 5 + source/schema/versions/mysql/53.sql | 11 + source/schema/versions/mysql/54.sql | 7 + source/schema/versions/mysql/55.sql | 7 + source/schema/versions/mysql/56.sql | 16 + source/schema/versions/mysql/57.sql | 6 + source/schema/versions/mysql/58.sql | 7 + source/schema/versions/mysql/59.sql | 13 + source/schema/versions/mysql/6.sql | 20 + source/schema/versions/mysql/60.sql | 20 + source/schema/versions/mysql/61.sql | 9 + source/schema/versions/mysql/62.sql | 13 + source/schema/versions/mysql/63.sql | 18 + source/schema/versions/mysql/64.sql | 7 + source/schema/versions/mysql/65.sql | 7 + source/schema/versions/mysql/66.sql | 7 + source/schema/versions/mysql/67.sql | 5 + source/schema/versions/mysql/68.sql | 7 + source/schema/versions/mysql/69.sql | 12 + source/schema/versions/mysql/7.sql | 19 + source/schema/versions/mysql/70.sql | 6 + source/schema/versions/mysql/71.sql | 7 + source/schema/versions/mysql/72.sql | 9 + source/schema/versions/mysql/73.sql | 8 + source/schema/versions/mysql/74.sql | 9 + source/schema/versions/mysql/75.sql | 10 + source/schema/versions/mysql/76.sql | 8 + source/schema/versions/mysql/77.sql | 7 + source/schema/versions/mysql/78.sql | 15 + source/schema/versions/mysql/79.sql | 7 + source/schema/versions/mysql/8.sql | 14 + source/schema/versions/mysql/80.sql | 9 + source/schema/versions/mysql/81.sql | 7 + source/schema/versions/mysql/82.sql | 7 + source/schema/versions/mysql/83.sql | 34 + source/schema/versions/mysql/84.sql | 23 + source/schema/versions/mysql/85.sql | 13 + source/schema/versions/mysql/86.sql | 9 + source/schema/versions/mysql/87.sql | 14 + source/schema/versions/mysql/88.sql | 10 + source/schema/versions/mysql/89.sql | 7 + source/schema/versions/mysql/9.sql | 29 + source/schema/versions/mysql/90.sql | 7 + source/schema/versions/mysql/91.sql | 7 + source/schema/versions/mysql/92.sql | 8 + source/schema/versions/mysql/93.sql | 10 + source/schema/versions/mysql/94.sql | 7 + source/schema/versions/mysql/95.sql | 39 + source/schema/versions/mysql/96.sql | 38 + source/schema/versions/mysql/97.sql | 10 + source/schema/versions/mysql/98.sql | 7 + source/schema/versions/mysql/99.sql | 12 + source/schema/versions/pgsql/10.sql | 12 + source/schema/versions/pgsql/100.sql | 7 + source/schema/versions/pgsql/101.sql | 11 + source/schema/versions/pgsql/102.sql | 7 + source/schema/versions/pgsql/103.sql | 7 + source/schema/versions/pgsql/104.sql | 7 + source/schema/versions/pgsql/105.sql | 11 + source/schema/versions/pgsql/106.sql | 12 + source/schema/versions/pgsql/107.sql | 15 + source/schema/versions/pgsql/108.sql | 7 + source/schema/versions/pgsql/109.sql | 7 + source/schema/versions/pgsql/11.sql | 18 + source/schema/versions/pgsql/110.sql | 7 + source/schema/versions/pgsql/111.sql | 7 + source/schema/versions/pgsql/112.sql | 15 + source/schema/versions/pgsql/113.sql | 8 + source/schema/versions/pgsql/114.sql | 15 + source/schema/versions/pgsql/115.sql | 9 + source/schema/versions/pgsql/116.sql | 7 + source/schema/versions/pgsql/117.sql | 8 + source/schema/versions/pgsql/118.sql | 15 + source/schema/versions/pgsql/119.sql | 7 + source/schema/versions/pgsql/12.sql | 15 + source/schema/versions/pgsql/120.sql | 7 + source/schema/versions/pgsql/121.sql | 7 + source/schema/versions/pgsql/122.sql | 7 + source/schema/versions/pgsql/123.sql | 5 + source/schema/versions/pgsql/13.sql | 10 + source/schema/versions/pgsql/14.sql | 4 + source/schema/versions/pgsql/15.sql | 5 + source/schema/versions/pgsql/16.sql | 6 + source/schema/versions/pgsql/17.sql | 13 + source/schema/versions/pgsql/18.sql | 3 + source/schema/versions/pgsql/19.sql | 11 + source/schema/versions/pgsql/20.sql | 3 + source/schema/versions/pgsql/21.sql | 3 + source/schema/versions/pgsql/22.sql | 8 + source/schema/versions/pgsql/23.sql | 3 + source/schema/versions/pgsql/24.sql | 3 + source/schema/versions/pgsql/25.sql | 3 + source/schema/versions/pgsql/26.sql | 13 + source/schema/versions/pgsql/27.sql | 4 + source/schema/versions/pgsql/28.sql | 3 + source/schema/versions/pgsql/29.sql | 3 + source/schema/versions/pgsql/3.sql | 43 + source/schema/versions/pgsql/30.sql | 4 + source/schema/versions/pgsql/31.sql | 6 + source/schema/versions/pgsql/32.sql | 6 + source/schema/versions/pgsql/33.sql | 3 + source/schema/versions/pgsql/34.sql | 7 + source/schema/versions/pgsql/35.sql | 3 + source/schema/versions/pgsql/36.sql | 9 + source/schema/versions/pgsql/37.sql | 4 + source/schema/versions/pgsql/38.sql | 3 + source/schema/versions/pgsql/39.sql | 5 + source/schema/versions/pgsql/4.sql | 17 + source/schema/versions/pgsql/40.sql | 3 + source/schema/versions/pgsql/41.sql | 6 + source/schema/versions/pgsql/42.sql | 3 + source/schema/versions/pgsql/43.sql | 7 + source/schema/versions/pgsql/44.sql | 6 + source/schema/versions/pgsql/45.sql | 3 + source/schema/versions/pgsql/46.sql | 5 + source/schema/versions/pgsql/47.sql | 12 + source/schema/versions/pgsql/48.sql | 9 + source/schema/versions/pgsql/49.sql | 9 + source/schema/versions/pgsql/5.sql | 10 + source/schema/versions/pgsql/50.sql | 19 + source/schema/versions/pgsql/51.sql | 18 + source/schema/versions/pgsql/52.sql | 9 + source/schema/versions/pgsql/53.sql | 15 + source/schema/versions/pgsql/54.sql | 7 + source/schema/versions/pgsql/55.sql | 7 + source/schema/versions/pgsql/56.sql | 5 + source/schema/versions/pgsql/57.sql | 6 + source/schema/versions/pgsql/58.sql | 7 + source/schema/versions/pgsql/59.sql | 13 + source/schema/versions/pgsql/6.sql | 24 + source/schema/versions/pgsql/60.sql | 18 + source/schema/versions/pgsql/61.sql | 9 + source/schema/versions/pgsql/62.sql | 13 + source/schema/versions/pgsql/63.sql | 16 + source/schema/versions/pgsql/64.sql | 7 + source/schema/versions/pgsql/65.sql | 7 + source/schema/versions/pgsql/66.sql | 7 + source/schema/versions/pgsql/67.sql | 9 + source/schema/versions/pgsql/68.sql | 7 + source/schema/versions/pgsql/69.sql | 11 + source/schema/versions/pgsql/7.sql | 22 + source/schema/versions/pgsql/70.sql | 6 + source/schema/versions/pgsql/71.sql | 7 + source/schema/versions/pgsql/72.sql | 9 + source/schema/versions/pgsql/73.sql | 8 + source/schema/versions/pgsql/74.sql | 9 + source/schema/versions/pgsql/75.sql | 10 + source/schema/versions/pgsql/76.sql | 8 + source/schema/versions/pgsql/77.sql | 7 + source/schema/versions/pgsql/78.sql | 15 + source/schema/versions/pgsql/79.sql | 7 + source/schema/versions/pgsql/8.sql | 17 + source/schema/versions/pgsql/80.sql | 9 + source/schema/versions/pgsql/81.sql | 7 + source/schema/versions/pgsql/82.sql | 7 + source/schema/versions/pgsql/83.sql | 32 + source/schema/versions/pgsql/84.sql | 22 + source/schema/versions/pgsql/85.sql | 13 + source/schema/versions/pgsql/86.sql | 9 + source/schema/versions/pgsql/87.sql | 14 + source/schema/versions/pgsql/88.sql | 10 + source/schema/versions/pgsql/89.sql | 7 + source/schema/versions/pgsql/9.sql | 33 + source/schema/versions/pgsql/90.sql | 7 + source/schema/versions/pgsql/91.sql | 7 + source/schema/versions/pgsql/92.sql | 8 + source/schema/versions/pgsql/93.sql | 10 + source/schema/versions/pgsql/94.sql | 7 + source/schema/versions/pgsql/95.sql | 39 + source/schema/versions/pgsql/96.sql | 23 + source/schema/versions/pgsql/97.sql | 10 + source/schema/versions/pgsql/98.sql | 7 + source/schema/versions/pgsql/99.sql | 12 + source/templates/.htaccess | 2 + source/templates/digest_template.txt | 14 + source/templates/digest_template_html.txt | 17 + source/templates/email_article_template.txt | 16 + source/templates/generated_feed.txt | 40 + source/templates/resetpass_template.txt | 9 + source/themes/.empty | 0 source/themes/default.css | 3 + source/update.php | 352 + source/update_daemon2.php | 238 + source/utils/.htaccess | 2 + source/utils/extract-i18n-js.pl | 15 + source/utils/localized_schema.txt | 17 + source/utils/regen_config_checks.sh | 17 + source/utils/update-translations.sh | 25 + 2353 files changed, 164290 insertions(+) create mode 100644 source/LICENSE create mode 100644 source/README.md create mode 100644 source/api/index.php create mode 100644 source/atom-to-html.xsl create mode 100644 source/backend.php create mode 100755 source/cache/.htaccess create mode 100644 source/classes/.htaccess create mode 100644 source/classes/api.php create mode 100644 source/classes/article.php create mode 100644 source/classes/auth/base.php create mode 100644 source/classes/backend.php create mode 100644 source/classes/db.php create mode 100644 source/classes/db/mysql.php create mode 100644 source/classes/db/mysqli.php create mode 100644 source/classes/db/pdo.php create mode 100644 source/classes/db/pgsql.php create mode 100644 source/classes/db/prefs.php create mode 100644 source/classes/db/stmt.php create mode 100644 source/classes/dbupdater.php create mode 100644 source/classes/dlg.php create mode 100644 source/classes/feedenclosure.php create mode 100644 source/classes/feeditem.php create mode 100644 source/classes/feeditem/atom.php create mode 100644 source/classes/feeditem/common.php create mode 100644 source/classes/feeditem/rss.php create mode 100644 source/classes/feedparser.php create mode 100644 source/classes/feeds.php create mode 100644 source/classes/handler.php create mode 100644 source/classes/handler/protected.php create mode 100644 source/classes/handler/public.php create mode 100644 source/classes/iauthmodule.php create mode 100644 source/classes/idb.php create mode 100644 source/classes/ihandler.php create mode 100644 source/classes/logger.php create mode 100644 source/classes/logger/sql.php create mode 100644 source/classes/logger/syslog.php create mode 100644 source/classes/opml.php create mode 100644 source/classes/plugin.php create mode 100644 source/classes/pluginhandler.php create mode 100644 source/classes/pluginhost.php create mode 100644 source/classes/pref/feeds.php create mode 100644 source/classes/pref/filters.php create mode 100644 source/classes/pref/labels.php create mode 100644 source/classes/pref/prefs.php create mode 100644 source/classes/pref/system.php create mode 100644 source/classes/pref/users.php create mode 100644 source/classes/rpc.php create mode 100644 source/classes/ttrssmailer.php create mode 100644 source/config.php-dist create mode 100644 source/css/cdm.css create mode 100644 source/css/layout.css create mode 100644 source/css/prefs.css create mode 100644 source/css/tt-rss.css create mode 100644 source/css/utility.css create mode 100644 source/errors.php create mode 100644 source/image.php create mode 100644 source/images/alert.png create mode 100644 source/images/archive.png create mode 100644 source/images/blank_icon.gif create mode 100644 source/images/collapse.png create mode 100644 source/images/cross.png create mode 100644 source/images/error.png create mode 100644 source/images/favicon-72px.png create mode 100644 source/images/favicon.png create mode 100644 source/images/feed.png create mode 100644 source/images/filter.png create mode 100644 source/images/folder.png create mode 100644 source/images/fresh.png create mode 100644 source/images/indicator_tiny.gif create mode 100644 source/images/indicator_white.gif create mode 100644 source/images/information.png create mode 100644 source/images/label.png create mode 100644 source/images/logo_small.png create mode 100644 source/images/logo_wide.png create mode 100644 source/images/mark_set.png create mode 100644 source/images/mark_unset.png create mode 100644 source/images/new_version.png create mode 100644 source/images/page_white_go.png create mode 100644 source/images/plugin.png create mode 100644 source/images/plugin_disabled.png create mode 100644 source/images/pub_set.png create mode 100644 source/images/pub_unset.png create mode 100644 source/images/score_half_high.png create mode 100644 source/images/score_half_low.png create mode 100644 source/images/score_high.png create mode 100644 source/images/score_low.png create mode 100644 source/images/score_neutral.png create mode 100644 source/images/star.png create mode 100644 source/images/tag.png create mode 100644 source/images/time.png create mode 100644 source/images/toolbar.png create mode 100644 source/images/user.png create mode 100644 source/include/autoload.php create mode 100644 source/include/ccache.php create mode 100644 source/include/colors.php create mode 100644 source/include/crypt.php create mode 100644 source/include/db-prefs.php create mode 100644 source/include/db.php create mode 100644 source/include/digest.php create mode 100644 source/include/errorhandler.php create mode 100644 source/include/feedbrowser.php create mode 100644 source/include/functions.php create mode 100644 source/include/labels.php create mode 100644 source/include/login_form.php create mode 100644 source/include/rssfuncs.php create mode 100644 source/include/sanity_check.php create mode 100644 source/include/sanity_config.php create mode 100644 source/include/sessions.php create mode 100644 source/include/version.php create mode 100644 source/index.php create mode 100644 source/install/index.php create mode 100644 source/js/FeedTree.js create mode 100644 source/js/PluginHost.js create mode 100644 source/js/PrefFeedTree.js create mode 100644 source/js/PrefFilterTree.js create mode 100644 source/js/PrefLabelTree.js create mode 100644 source/js/deprecated.js create mode 100644 source/js/feedlist.js create mode 100644 source/js/functions.js create mode 100644 source/js/index.html create mode 100644 source/js/prefs.js create mode 100644 source/js/tt-rss.js create mode 100644 source/js/viewfeed.js create mode 100644 source/lib/CheckBoxTree.js create mode 100644 source/lib/MiniTemplator.class.php create mode 100644 source/lib/Mobile_Detect.php create mode 100644 source/lib/accept-to-gettext.php create mode 100644 source/lib/button/license.txt create mode 100644 source/lib/button/musicplayer.swf create mode 100644 source/lib/button/musicplayer_f6.swf create mode 100644 source/lib/dijit/BackgroundIframe.js create mode 100644 source/lib/dijit/Calendar.js create mode 100644 source/lib/dijit/CalendarLite.js create mode 100644 source/lib/dijit/CheckedMenuItem.js create mode 100644 source/lib/dijit/ColorPalette.js create mode 100644 source/lib/dijit/Declaration.js create mode 100644 source/lib/dijit/Destroyable.js create mode 100644 source/lib/dijit/Dialog.js create mode 100644 source/lib/dijit/DialogUnderlay.js create mode 100644 source/lib/dijit/DropDownMenu.js create mode 100644 source/lib/dijit/Editor.js create mode 100644 source/lib/dijit/InlineEditBox.js create mode 100644 source/lib/dijit/LICENSE create mode 100644 source/lib/dijit/Menu.js create mode 100644 source/lib/dijit/MenuBar.js create mode 100644 source/lib/dijit/MenuBarItem.js create mode 100644 source/lib/dijit/MenuItem.js create mode 100644 source/lib/dijit/MenuSeparator.js create mode 100644 source/lib/dijit/PopupMenuBarItem.js create mode 100644 source/lib/dijit/PopupMenuItem.js create mode 100644 source/lib/dijit/ProgressBar.js create mode 100644 source/lib/dijit/TitlePane.js create mode 100644 source/lib/dijit/Toolbar.js create mode 100644 source/lib/dijit/ToolbarSeparator.js create mode 100644 source/lib/dijit/Tooltip.js create mode 100644 source/lib/dijit/TooltipDialog.js create mode 100644 source/lib/dijit/Tree.js create mode 100644 source/lib/dijit/Viewport.js create mode 100644 source/lib/dijit/WidgetSet.js create mode 100644 source/lib/dijit/_BidiSupport.js create mode 100644 source/lib/dijit/_Calendar.js create mode 100644 source/lib/dijit/_Contained.js create mode 100644 source/lib/dijit/_Container.js create mode 100644 source/lib/dijit/_CssStateMixin.js create mode 100644 source/lib/dijit/_DialogMixin.js create mode 100644 source/lib/dijit/_FocusMixin.js create mode 100644 source/lib/dijit/_HasDropDown.js create mode 100644 source/lib/dijit/_KeyNavContainer.js create mode 100644 source/lib/dijit/_MenuBase.js create mode 100644 source/lib/dijit/_OnDijitClickMixin.js create mode 100644 source/lib/dijit/_PaletteMixin.js create mode 100644 source/lib/dijit/_Templated.js create mode 100644 source/lib/dijit/_TemplatedMixin.js create mode 100644 source/lib/dijit/_TimePicker.js create mode 100644 source/lib/dijit/_Widget.js create mode 100644 source/lib/dijit/_WidgetBase.js create mode 100644 source/lib/dijit/_WidgetsInTemplateMixin.js create mode 100644 source/lib/dijit/_base.js create mode 100644 source/lib/dijit/_base/focus.js create mode 100644 source/lib/dijit/_base/manager.js create mode 100644 source/lib/dijit/_base/place.js create mode 100644 source/lib/dijit/_base/popup.js create mode 100644 source/lib/dijit/_base/scroll.js create mode 100644 source/lib/dijit/_base/sniff.js create mode 100644 source/lib/dijit/_base/typematic.js create mode 100644 source/lib/dijit/_base/wai.js create mode 100644 source/lib/dijit/_base/window.js create mode 100644 source/lib/dijit/_editor/RichText.js create mode 100644 source/lib/dijit/_editor/_Plugin.js create mode 100644 source/lib/dijit/_editor/html.js create mode 100644 source/lib/dijit/_editor/nls/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/ar/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/ar/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/ar/commands.js create mode 100644 source/lib/dijit/_editor/nls/az/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/az/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/az/commands.js create mode 100644 source/lib/dijit/_editor/nls/ca/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/ca/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/ca/commands.js create mode 100644 source/lib/dijit/_editor/nls/commands.js create mode 100644 source/lib/dijit/_editor/nls/cs/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/cs/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/cs/commands.js create mode 100644 source/lib/dijit/_editor/nls/da/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/da/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/da/commands.js create mode 100644 source/lib/dijit/_editor/nls/de/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/de/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/de/commands.js create mode 100644 source/lib/dijit/_editor/nls/el/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/el/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/el/commands.js create mode 100644 source/lib/dijit/_editor/nls/es/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/es/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/es/commands.js create mode 100644 source/lib/dijit/_editor/nls/fi/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/fi/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/fi/commands.js create mode 100644 source/lib/dijit/_editor/nls/fr/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/fr/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/fr/commands.js create mode 100644 source/lib/dijit/_editor/nls/he/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/he/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/he/commands.js create mode 100644 source/lib/dijit/_editor/nls/hr/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/hr/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/hr/commands.js create mode 100644 source/lib/dijit/_editor/nls/hu/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/hu/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/hu/commands.js create mode 100644 source/lib/dijit/_editor/nls/it/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/it/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/it/commands.js create mode 100644 source/lib/dijit/_editor/nls/ja/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/ja/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/ja/commands.js create mode 100644 source/lib/dijit/_editor/nls/kk/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/kk/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/kk/commands.js create mode 100644 source/lib/dijit/_editor/nls/ko/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/ko/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/ko/commands.js create mode 100644 source/lib/dijit/_editor/nls/nb/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/nb/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/nb/commands.js create mode 100644 source/lib/dijit/_editor/nls/nl/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/nl/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/nl/commands.js create mode 100644 source/lib/dijit/_editor/nls/pl/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/pl/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/pl/commands.js create mode 100644 source/lib/dijit/_editor/nls/pt-pt/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/pt-pt/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/pt-pt/commands.js create mode 100644 source/lib/dijit/_editor/nls/pt/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/pt/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/pt/commands.js create mode 100644 source/lib/dijit/_editor/nls/ro/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/ro/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/ro/commands.js create mode 100644 source/lib/dijit/_editor/nls/ru/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/ru/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/ru/commands.js create mode 100644 source/lib/dijit/_editor/nls/sk/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/sk/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/sk/commands.js create mode 100644 source/lib/dijit/_editor/nls/sl/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/sl/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/sl/commands.js create mode 100644 source/lib/dijit/_editor/nls/sv/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/sv/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/sv/commands.js create mode 100644 source/lib/dijit/_editor/nls/th/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/th/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/th/commands.js create mode 100644 source/lib/dijit/_editor/nls/tr/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/tr/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/tr/commands.js create mode 100644 source/lib/dijit/_editor/nls/zh-tw/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/zh-tw/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/zh-tw/commands.js create mode 100644 source/lib/dijit/_editor/nls/zh/FontChoice.js create mode 100644 source/lib/dijit/_editor/nls/zh/LinkDialog.js create mode 100644 source/lib/dijit/_editor/nls/zh/commands.js create mode 100644 source/lib/dijit/_editor/plugins/AlwaysShowToolbar.js create mode 100644 source/lib/dijit/_editor/plugins/EnterKeyHandling.js create mode 100644 source/lib/dijit/_editor/plugins/FontChoice.js create mode 100644 source/lib/dijit/_editor/plugins/FullScreen.js create mode 100644 source/lib/dijit/_editor/plugins/LinkDialog.js create mode 100644 source/lib/dijit/_editor/plugins/NewPage.js create mode 100644 source/lib/dijit/_editor/plugins/Print.js create mode 100644 source/lib/dijit/_editor/plugins/TabIndent.js create mode 100644 source/lib/dijit/_editor/plugins/TextColor.js create mode 100644 source/lib/dijit/_editor/plugins/ToggleDir.js create mode 100644 source/lib/dijit/_editor/plugins/ViewSource.js create mode 100644 source/lib/dijit/_editor/range.js create mode 100644 source/lib/dijit/_editor/selection.js create mode 100644 source/lib/dijit/_tree/dndSource.js create mode 100644 source/lib/dijit/a11y.js create mode 100644 source/lib/dijit/a11yclick.js create mode 100644 source/lib/dijit/dijit-all.js create mode 100644 source/lib/dijit/dijit.js create mode 100644 source/lib/dijit/dijit.profile.js create mode 100644 source/lib/dijit/focus.js create mode 100644 source/lib/dijit/form/Button.js create mode 100644 source/lib/dijit/form/CheckBox.js create mode 100644 source/lib/dijit/form/ComboBox.js create mode 100644 source/lib/dijit/form/ComboBoxMixin.js create mode 100644 source/lib/dijit/form/ComboButton.js create mode 100644 source/lib/dijit/form/CurrencyTextBox.js create mode 100644 source/lib/dijit/form/DataList.js create mode 100644 source/lib/dijit/form/DateTextBox.js create mode 100644 source/lib/dijit/form/DropDownButton.js create mode 100644 source/lib/dijit/form/FilteringSelect.js create mode 100644 source/lib/dijit/form/Form.js create mode 100644 source/lib/dijit/form/HorizontalRule.js create mode 100644 source/lib/dijit/form/HorizontalRuleLabels.js create mode 100644 source/lib/dijit/form/HorizontalSlider.js create mode 100644 source/lib/dijit/form/MappedTextBox.js create mode 100644 source/lib/dijit/form/MultiSelect.js create mode 100644 source/lib/dijit/form/NumberSpinner.js create mode 100644 source/lib/dijit/form/NumberTextBox.js create mode 100644 source/lib/dijit/form/RadioButton.js create mode 100644 source/lib/dijit/form/RangeBoundTextBox.js create mode 100644 source/lib/dijit/form/Select.js create mode 100644 source/lib/dijit/form/SimpleTextarea.js create mode 100644 source/lib/dijit/form/Slider.js create mode 100644 source/lib/dijit/form/TextBox.js create mode 100644 source/lib/dijit/form/Textarea.js create mode 100644 source/lib/dijit/form/TimeTextBox.js create mode 100644 source/lib/dijit/form/ToggleButton.js create mode 100644 source/lib/dijit/form/ValidationTextBox.js create mode 100644 source/lib/dijit/form/VerticalRule.js create mode 100644 source/lib/dijit/form/VerticalRuleLabels.js create mode 100644 source/lib/dijit/form/VerticalSlider.js create mode 100644 source/lib/dijit/form/_AutoCompleterMixin.js create mode 100644 source/lib/dijit/form/_ButtonMixin.js create mode 100644 source/lib/dijit/form/_CheckBoxMixin.js create mode 100644 source/lib/dijit/form/_ComboBoxMenu.js create mode 100644 source/lib/dijit/form/_ComboBoxMenuMixin.js create mode 100644 source/lib/dijit/form/_DateTimeTextBox.js create mode 100644 source/lib/dijit/form/_ExpandingTextAreaMixin.js create mode 100644 source/lib/dijit/form/_FormMixin.js create mode 100644 source/lib/dijit/form/_FormSelectWidget.js create mode 100644 source/lib/dijit/form/_FormValueMixin.js create mode 100644 source/lib/dijit/form/_FormValueWidget.js create mode 100644 source/lib/dijit/form/_FormWidget.js create mode 100644 source/lib/dijit/form/_FormWidgetMixin.js create mode 100644 source/lib/dijit/form/_ListBase.js create mode 100644 source/lib/dijit/form/_ListMouseMixin.js create mode 100644 source/lib/dijit/form/_RadioButtonMixin.js create mode 100644 source/lib/dijit/form/_SearchMixin.js create mode 100644 source/lib/dijit/form/_Spinner.js create mode 100644 source/lib/dijit/form/_TextBoxMixin.js create mode 100644 source/lib/dijit/form/_ToggleButtonMixin.js create mode 100644 source/lib/dijit/form/nls/ComboBox.js create mode 100644 source/lib/dijit/form/nls/Textarea.js create mode 100644 source/lib/dijit/form/nls/ar/ComboBox.js create mode 100644 source/lib/dijit/form/nls/ar/Textarea.js create mode 100644 source/lib/dijit/form/nls/ar/validate.js create mode 100644 source/lib/dijit/form/nls/az/ComboBox.js create mode 100644 source/lib/dijit/form/nls/az/Textarea.js create mode 100644 source/lib/dijit/form/nls/az/validate.js create mode 100644 source/lib/dijit/form/nls/ca/ComboBox.js create mode 100644 source/lib/dijit/form/nls/ca/Textarea.js create mode 100644 source/lib/dijit/form/nls/ca/validate.js create mode 100644 source/lib/dijit/form/nls/cs/ComboBox.js create mode 100644 source/lib/dijit/form/nls/cs/Textarea.js create mode 100644 source/lib/dijit/form/nls/cs/validate.js create mode 100644 source/lib/dijit/form/nls/da/ComboBox.js create mode 100644 source/lib/dijit/form/nls/da/Textarea.js create mode 100644 source/lib/dijit/form/nls/da/validate.js create mode 100644 source/lib/dijit/form/nls/de/ComboBox.js create mode 100644 source/lib/dijit/form/nls/de/Textarea.js create mode 100644 source/lib/dijit/form/nls/de/validate.js create mode 100644 source/lib/dijit/form/nls/el/ComboBox.js create mode 100644 source/lib/dijit/form/nls/el/Textarea.js create mode 100644 source/lib/dijit/form/nls/el/validate.js create mode 100644 source/lib/dijit/form/nls/es/ComboBox.js create mode 100644 source/lib/dijit/form/nls/es/Textarea.js create mode 100644 source/lib/dijit/form/nls/es/validate.js create mode 100644 source/lib/dijit/form/nls/fi/ComboBox.js create mode 100644 source/lib/dijit/form/nls/fi/Textarea.js create mode 100644 source/lib/dijit/form/nls/fi/validate.js create mode 100644 source/lib/dijit/form/nls/fr/ComboBox.js create mode 100644 source/lib/dijit/form/nls/fr/Textarea.js create mode 100644 source/lib/dijit/form/nls/fr/validate.js create mode 100644 source/lib/dijit/form/nls/he/ComboBox.js create mode 100644 source/lib/dijit/form/nls/he/Textarea.js create mode 100644 source/lib/dijit/form/nls/he/validate.js create mode 100644 source/lib/dijit/form/nls/hr/ComboBox.js create mode 100644 source/lib/dijit/form/nls/hr/Textarea.js create mode 100644 source/lib/dijit/form/nls/hr/validate.js create mode 100644 source/lib/dijit/form/nls/hu/ComboBox.js create mode 100644 source/lib/dijit/form/nls/hu/Textarea.js create mode 100644 source/lib/dijit/form/nls/hu/validate.js create mode 100644 source/lib/dijit/form/nls/it/ComboBox.js create mode 100644 source/lib/dijit/form/nls/it/Textarea.js create mode 100644 source/lib/dijit/form/nls/it/validate.js create mode 100644 source/lib/dijit/form/nls/ja/ComboBox.js create mode 100644 source/lib/dijit/form/nls/ja/Textarea.js create mode 100644 source/lib/dijit/form/nls/ja/validate.js create mode 100644 source/lib/dijit/form/nls/kk/ComboBox.js create mode 100644 source/lib/dijit/form/nls/kk/Textarea.js create mode 100644 source/lib/dijit/form/nls/kk/validate.js create mode 100644 source/lib/dijit/form/nls/ko/ComboBox.js create mode 100644 source/lib/dijit/form/nls/ko/Textarea.js create mode 100644 source/lib/dijit/form/nls/ko/validate.js create mode 100644 source/lib/dijit/form/nls/nb/ComboBox.js create mode 100644 source/lib/dijit/form/nls/nb/Textarea.js create mode 100644 source/lib/dijit/form/nls/nb/validate.js create mode 100644 source/lib/dijit/form/nls/nl/ComboBox.js create mode 100644 source/lib/dijit/form/nls/nl/Textarea.js create mode 100644 source/lib/dijit/form/nls/nl/validate.js create mode 100644 source/lib/dijit/form/nls/pl/ComboBox.js create mode 100644 source/lib/dijit/form/nls/pl/Textarea.js create mode 100644 source/lib/dijit/form/nls/pl/validate.js create mode 100644 source/lib/dijit/form/nls/pt-pt/ComboBox.js create mode 100644 source/lib/dijit/form/nls/pt-pt/Textarea.js create mode 100644 source/lib/dijit/form/nls/pt-pt/validate.js create mode 100644 source/lib/dijit/form/nls/pt/ComboBox.js create mode 100644 source/lib/dijit/form/nls/pt/Textarea.js create mode 100644 source/lib/dijit/form/nls/pt/validate.js create mode 100644 source/lib/dijit/form/nls/ro/ComboBox.js create mode 100644 source/lib/dijit/form/nls/ro/Textarea.js create mode 100644 source/lib/dijit/form/nls/ro/validate.js create mode 100644 source/lib/dijit/form/nls/ru/ComboBox.js create mode 100644 source/lib/dijit/form/nls/ru/Textarea.js create mode 100644 source/lib/dijit/form/nls/ru/validate.js create mode 100644 source/lib/dijit/form/nls/sk/ComboBox.js create mode 100644 source/lib/dijit/form/nls/sk/Textarea.js create mode 100644 source/lib/dijit/form/nls/sk/validate.js create mode 100644 source/lib/dijit/form/nls/sl/ComboBox.js create mode 100644 source/lib/dijit/form/nls/sl/Textarea.js create mode 100644 source/lib/dijit/form/nls/sl/validate.js create mode 100644 source/lib/dijit/form/nls/sv/ComboBox.js create mode 100644 source/lib/dijit/form/nls/sv/Textarea.js create mode 100644 source/lib/dijit/form/nls/sv/validate.js create mode 100644 source/lib/dijit/form/nls/th/ComboBox.js create mode 100644 source/lib/dijit/form/nls/th/Textarea.js create mode 100644 source/lib/dijit/form/nls/th/validate.js create mode 100644 source/lib/dijit/form/nls/tr/ComboBox.js create mode 100644 source/lib/dijit/form/nls/tr/Textarea.js create mode 100644 source/lib/dijit/form/nls/tr/validate.js create mode 100644 source/lib/dijit/form/nls/validate.js create mode 100644 source/lib/dijit/form/nls/zh-tw/ComboBox.js create mode 100644 source/lib/dijit/form/nls/zh-tw/Textarea.js create mode 100644 source/lib/dijit/form/nls/zh-tw/validate.js create mode 100644 source/lib/dijit/form/nls/zh/ComboBox.js create mode 100644 source/lib/dijit/form/nls/zh/Textarea.js create mode 100644 source/lib/dijit/form/nls/zh/validate.js create mode 100644 source/lib/dijit/form/templates/Button.html create mode 100644 source/lib/dijit/form/templates/CheckBox.html create mode 100644 source/lib/dijit/form/templates/ComboButton.html create mode 100644 source/lib/dijit/form/templates/DropDownBox.html create mode 100644 source/lib/dijit/form/templates/DropDownButton.html create mode 100644 source/lib/dijit/form/templates/HorizontalSlider.html create mode 100644 source/lib/dijit/form/templates/Select.html create mode 100644 source/lib/dijit/form/templates/Spinner.html create mode 100644 source/lib/dijit/form/templates/TextBox.html create mode 100644 source/lib/dijit/form/templates/ValidationTextBox.html create mode 100644 source/lib/dijit/form/templates/VerticalSlider.html create mode 100644 source/lib/dijit/hccss.js create mode 100644 source/lib/dijit/icons/commonIcons.css create mode 100644 source/lib/dijit/icons/commonIcons_rtl.css create mode 100644 source/lib/dijit/icons/editorIcons.css create mode 100644 source/lib/dijit/icons/editorIcons_rtl.css create mode 100644 source/lib/dijit/icons/images/commonIconsObjActDisabled.png create mode 100644 source/lib/dijit/icons/images/commonIconsObjActDisabled_rtl.png create mode 100644 source/lib/dijit/icons/images/commonIconsObjActEnabled.png create mode 100644 source/lib/dijit/icons/images/commonIconsObjActEnabled8bit.png create mode 100644 source/lib/dijit/icons/images/commonIconsObjActEnabled8bit_rtl.png create mode 100644 source/lib/dijit/icons/images/commonIconsObjActEnabled_rtl.png create mode 100644 source/lib/dijit/icons/images/editorIconsDisabled.png create mode 100644 source/lib/dijit/icons/images/editorIconsDisabled_rtl.png create mode 100644 source/lib/dijit/icons/images/editorIconsEnabled.png create mode 100644 source/lib/dijit/icons/images/editorIconsEnabled_rtl.png create mode 100644 source/lib/dijit/icons/images/loadingAnimation_rtl.gif create mode 100644 source/lib/dijit/layout/AccordionContainer.js create mode 100644 source/lib/dijit/layout/AccordionPane.js create mode 100644 source/lib/dijit/layout/BorderContainer.js create mode 100644 source/lib/dijit/layout/ContentPane.js create mode 100644 source/lib/dijit/layout/LayoutContainer.js create mode 100644 source/lib/dijit/layout/LinkPane.js create mode 100644 source/lib/dijit/layout/ScrollingTabController.js create mode 100644 source/lib/dijit/layout/SplitContainer.js create mode 100644 source/lib/dijit/layout/StackContainer.js create mode 100644 source/lib/dijit/layout/StackController.js create mode 100644 source/lib/dijit/layout/TabContainer.js create mode 100644 source/lib/dijit/layout/TabController.js create mode 100644 source/lib/dijit/layout/_ContentPaneResizeMixin.js create mode 100644 source/lib/dijit/layout/_LayoutWidget.js create mode 100644 source/lib/dijit/layout/_TabContainerBase.js create mode 100644 source/lib/dijit/layout/templates/AccordionButton.html create mode 100644 source/lib/dijit/layout/templates/ScrollingTabController.html create mode 100644 source/lib/dijit/layout/templates/TabContainer.html create mode 100644 source/lib/dijit/layout/templates/_ScrollingTabControllerButton.html create mode 100644 source/lib/dijit/layout/templates/_TabButton.html create mode 100644 source/lib/dijit/layout/utils.js create mode 100644 source/lib/dijit/main.js create mode 100644 source/lib/dijit/nls/ar/common.js create mode 100644 source/lib/dijit/nls/ar/loading.js create mode 100644 source/lib/dijit/nls/az/common.js create mode 100644 source/lib/dijit/nls/az/loading.js create mode 100644 source/lib/dijit/nls/ca/common.js create mode 100644 source/lib/dijit/nls/ca/loading.js create mode 100644 source/lib/dijit/nls/common.js create mode 100644 source/lib/dijit/nls/cs/common.js create mode 100644 source/lib/dijit/nls/cs/loading.js create mode 100644 source/lib/dijit/nls/da/common.js create mode 100644 source/lib/dijit/nls/da/loading.js create mode 100644 source/lib/dijit/nls/de/common.js create mode 100644 source/lib/dijit/nls/de/loading.js create mode 100644 source/lib/dijit/nls/el/common.js create mode 100644 source/lib/dijit/nls/el/loading.js create mode 100644 source/lib/dijit/nls/es/common.js create mode 100644 source/lib/dijit/nls/es/loading.js create mode 100644 source/lib/dijit/nls/fi/common.js create mode 100644 source/lib/dijit/nls/fi/loading.js create mode 100644 source/lib/dijit/nls/fr/common.js create mode 100644 source/lib/dijit/nls/fr/loading.js create mode 100644 source/lib/dijit/nls/he/common.js create mode 100644 source/lib/dijit/nls/he/loading.js create mode 100644 source/lib/dijit/nls/hr/common.js create mode 100644 source/lib/dijit/nls/hr/loading.js create mode 100644 source/lib/dijit/nls/hu/common.js create mode 100644 source/lib/dijit/nls/hu/loading.js create mode 100644 source/lib/dijit/nls/it/common.js create mode 100644 source/lib/dijit/nls/it/loading.js create mode 100644 source/lib/dijit/nls/ja/common.js create mode 100644 source/lib/dijit/nls/ja/loading.js create mode 100644 source/lib/dijit/nls/kk/common.js create mode 100644 source/lib/dijit/nls/kk/loading.js create mode 100644 source/lib/dijit/nls/ko/common.js create mode 100644 source/lib/dijit/nls/ko/loading.js create mode 100644 source/lib/dijit/nls/loading.js create mode 100644 source/lib/dijit/nls/nb/common.js create mode 100644 source/lib/dijit/nls/nb/loading.js create mode 100644 source/lib/dijit/nls/nl/common.js create mode 100644 source/lib/dijit/nls/nl/loading.js create mode 100644 source/lib/dijit/nls/pl/common.js create mode 100644 source/lib/dijit/nls/pl/loading.js create mode 100644 source/lib/dijit/nls/pt-pt/common.js create mode 100644 source/lib/dijit/nls/pt-pt/loading.js create mode 100644 source/lib/dijit/nls/pt/common.js create mode 100644 source/lib/dijit/nls/pt/loading.js create mode 100644 source/lib/dijit/nls/ro/common.js create mode 100644 source/lib/dijit/nls/ro/loading.js create mode 100644 source/lib/dijit/nls/ru/common.js create mode 100644 source/lib/dijit/nls/ru/loading.js create mode 100644 source/lib/dijit/nls/sk/common.js create mode 100644 source/lib/dijit/nls/sk/loading.js create mode 100644 source/lib/dijit/nls/sl/common.js create mode 100644 source/lib/dijit/nls/sl/loading.js create mode 100644 source/lib/dijit/nls/sv/common.js create mode 100644 source/lib/dijit/nls/sv/loading.js create mode 100644 source/lib/dijit/nls/th/common.js create mode 100644 source/lib/dijit/nls/th/loading.js create mode 100644 source/lib/dijit/nls/tr/common.js create mode 100644 source/lib/dijit/nls/tr/loading.js create mode 100644 source/lib/dijit/nls/zh-tw/common.js create mode 100644 source/lib/dijit/nls/zh-tw/loading.js create mode 100644 source/lib/dijit/nls/zh/common.js create mode 100644 source/lib/dijit/nls/zh/loading.js create mode 100644 source/lib/dijit/package.json create mode 100644 source/lib/dijit/place.js create mode 100644 source/lib/dijit/popup.js create mode 100644 source/lib/dijit/registry.js create mode 100644 source/lib/dijit/templates/Calendar.html create mode 100644 source/lib/dijit/templates/CheckedMenuItem.html create mode 100644 source/lib/dijit/templates/ColorPalette.html create mode 100644 source/lib/dijit/templates/Dialog.html create mode 100644 source/lib/dijit/templates/InlineEditBox.html create mode 100644 source/lib/dijit/templates/Menu.html create mode 100644 source/lib/dijit/templates/MenuBar.html create mode 100644 source/lib/dijit/templates/MenuBarItem.html create mode 100644 source/lib/dijit/templates/MenuItem.html create mode 100644 source/lib/dijit/templates/MenuSeparator.html create mode 100644 source/lib/dijit/templates/ProgressBar.html create mode 100644 source/lib/dijit/templates/TimePicker.html create mode 100644 source/lib/dijit/templates/TitlePane.html create mode 100644 source/lib/dijit/templates/Tooltip.html create mode 100644 source/lib/dijit/templates/TooltipDialog.html create mode 100644 source/lib/dijit/templates/Tree.html create mode 100644 source/lib/dijit/templates/TreeNode.html create mode 100644 source/lib/dijit/themes/a11y/README.txt create mode 100644 source/lib/dijit/themes/a11y/colors3x4.png create mode 100644 source/lib/dijit/themes/a11y/colors7x10.png create mode 100644 source/lib/dijit/themes/a11y/indeterminate_progress.gif create mode 100644 source/lib/dijit/themes/claro/Calendar.css create mode 100644 source/lib/dijit/themes/claro/Calendar.less create mode 100644 source/lib/dijit/themes/claro/Calendar_rtl.css create mode 100644 source/lib/dijit/themes/claro/Calendar_rtl.less create mode 100644 source/lib/dijit/themes/claro/ColorPalette.css create mode 100644 source/lib/dijit/themes/claro/ColorPalette.less create mode 100644 source/lib/dijit/themes/claro/Common.css create mode 100644 source/lib/dijit/themes/claro/Common.less create mode 100644 source/lib/dijit/themes/claro/Dialog.css create mode 100644 source/lib/dijit/themes/claro/Dialog.less create mode 100644 source/lib/dijit/themes/claro/Dialog_rtl.css create mode 100644 source/lib/dijit/themes/claro/Dialog_rtl.less create mode 100644 source/lib/dijit/themes/claro/Editor.css create mode 100644 source/lib/dijit/themes/claro/Editor.less create mode 100644 source/lib/dijit/themes/claro/Editor_rtl.css create mode 100644 source/lib/dijit/themes/claro/Editor_rtl.less create mode 100644 source/lib/dijit/themes/claro/InlineEditBox.css create mode 100644 source/lib/dijit/themes/claro/InlineEditBox.less create mode 100644 source/lib/dijit/themes/claro/Menu.css create mode 100644 source/lib/dijit/themes/claro/Menu.less create mode 100644 source/lib/dijit/themes/claro/Menu_rtl.css create mode 100644 source/lib/dijit/themes/claro/Menu_rtl.less create mode 100644 source/lib/dijit/themes/claro/ProgressBar.css create mode 100644 source/lib/dijit/themes/claro/ProgressBar.less create mode 100644 source/lib/dijit/themes/claro/README create mode 100644 source/lib/dijit/themes/claro/TimePicker.css create mode 100644 source/lib/dijit/themes/claro/TimePicker.less create mode 100644 source/lib/dijit/themes/claro/TimePicker_rtl.css create mode 100644 source/lib/dijit/themes/claro/TimePicker_rtl.less create mode 100644 source/lib/dijit/themes/claro/TitlePane.css create mode 100644 source/lib/dijit/themes/claro/TitlePane.less create mode 100644 source/lib/dijit/themes/claro/TitlePane_rtl.css create mode 100644 source/lib/dijit/themes/claro/TitlePane_rtl.less create mode 100644 source/lib/dijit/themes/claro/Toolbar.css create mode 100644 source/lib/dijit/themes/claro/Toolbar.less create mode 100644 source/lib/dijit/themes/claro/Toolbar_rtl.css create mode 100644 source/lib/dijit/themes/claro/Toolbar_rtl.less create mode 100644 source/lib/dijit/themes/claro/Tree.css create mode 100644 source/lib/dijit/themes/claro/Tree.less create mode 100644 source/lib/dijit/themes/claro/claro.css create mode 100644 source/lib/dijit/themes/claro/claro_rtl.css create mode 100644 source/lib/dijit/themes/claro/compile.js create mode 100644 source/lib/dijit/themes/claro/document.css create mode 100644 source/lib/dijit/themes/claro/document.less create mode 100644 source/lib/dijit/themes/claro/form/Button.css create mode 100644 source/lib/dijit/themes/claro/form/Button.less create mode 100644 source/lib/dijit/themes/claro/form/Button_rtl.css create mode 100644 source/lib/dijit/themes/claro/form/Button_rtl.less create mode 100644 source/lib/dijit/themes/claro/form/Checkbox.css create mode 100644 source/lib/dijit/themes/claro/form/Checkbox.less create mode 100644 source/lib/dijit/themes/claro/form/Common.css create mode 100644 source/lib/dijit/themes/claro/form/Common.less create mode 100644 source/lib/dijit/themes/claro/form/Common_rtl.css create mode 100644 source/lib/dijit/themes/claro/form/Common_rtl.less create mode 100644 source/lib/dijit/themes/claro/form/NumberSpinner.css create mode 100644 source/lib/dijit/themes/claro/form/NumberSpinner.less create mode 100644 source/lib/dijit/themes/claro/form/RadioButton.css create mode 100644 source/lib/dijit/themes/claro/form/RadioButton.less create mode 100644 source/lib/dijit/themes/claro/form/Select.css create mode 100644 source/lib/dijit/themes/claro/form/Select.less create mode 100644 source/lib/dijit/themes/claro/form/Slider.css create mode 100644 source/lib/dijit/themes/claro/form/Slider.less create mode 100644 source/lib/dijit/themes/claro/form/Slider_rtl.css create mode 100644 source/lib/dijit/themes/claro/form/Slider_rtl.less create mode 100644 source/lib/dijit/themes/claro/form/images/buttonArrows.png create mode 100644 source/lib/dijit/themes/claro/form/images/buttonDisabled.png create mode 100644 source/lib/dijit/themes/claro/form/images/buttonDisabled.svg create mode 100644 source/lib/dijit/themes/claro/form/images/buttonEnabled.png create mode 100644 source/lib/dijit/themes/claro/form/images/buttonEnabled.svg create mode 100644 source/lib/dijit/themes/claro/form/images/checkboxAndRadioButtons_IE6.png create mode 100644 source/lib/dijit/themes/claro/form/images/checkboxRadioButtonStates.png create mode 100644 source/lib/dijit/themes/claro/form/images/commonFormArrows.png create mode 100644 source/lib/dijit/themes/claro/form/images/error.png create mode 100644 source/lib/dijit/themes/claro/form/images/sliderThumbs.png create mode 100644 source/lib/dijit/themes/claro/images/activeGradient.png create mode 100644 source/lib/dijit/themes/claro/images/activeGradient.svg create mode 100644 source/lib/dijit/themes/claro/images/calendar.png create mode 100644 source/lib/dijit/themes/claro/images/calendarArrows.png create mode 100644 source/lib/dijit/themes/claro/images/calendarArrows8bit.png create mode 100644 source/lib/dijit/themes/claro/images/checkmarkNoBorder.gif create mode 100644 source/lib/dijit/themes/claro/images/checkmarkNoBorder.png create mode 100644 source/lib/dijit/themes/claro/images/dialogCloseIcon.png create mode 100644 source/lib/dijit/themes/claro/images/dialogCloseIcon8bit.png create mode 100644 source/lib/dijit/themes/claro/images/dnd.png create mode 100644 source/lib/dijit/themes/claro/images/loadingAnimation.gif create mode 100644 source/lib/dijit/themes/claro/images/progressBarAnim.gif create mode 100644 source/lib/dijit/themes/claro/images/progressBarFull.png create mode 100644 source/lib/dijit/themes/claro/images/spriteArrows.png create mode 100644 source/lib/dijit/themes/claro/images/standardGradient.png create mode 100644 source/lib/dijit/themes/claro/images/standardGradient.svg create mode 100644 source/lib/dijit/themes/claro/images/tooltip.png create mode 100644 source/lib/dijit/themes/claro/images/tooltip8bit.png create mode 100644 source/lib/dijit/themes/claro/images/treeExpandImages.png create mode 100644 source/lib/dijit/themes/claro/images/treeExpandImages8bit.png create mode 100644 source/lib/dijit/themes/claro/layout/AccordionContainer.css create mode 100644 source/lib/dijit/themes/claro/layout/AccordionContainer.less create mode 100644 source/lib/dijit/themes/claro/layout/BorderContainer.css create mode 100644 source/lib/dijit/themes/claro/layout/BorderContainer.less create mode 100644 source/lib/dijit/themes/claro/layout/ContentPane.css create mode 100644 source/lib/dijit/themes/claro/layout/ContentPane.less create mode 100644 source/lib/dijit/themes/claro/layout/TabContainer.css create mode 100644 source/lib/dijit/themes/claro/layout/TabContainer.less create mode 100644 source/lib/dijit/themes/claro/layout/TabContainer_rtl.css create mode 100644 source/lib/dijit/themes/claro/layout/TabContainer_rtl.less create mode 100644 source/lib/dijit/themes/claro/layout/images/tabBottomSelected.png create mode 100644 source/lib/dijit/themes/claro/layout/images/tabBottomSelected.svg create mode 100644 source/lib/dijit/themes/claro/layout/images/tabBottomUnselected.png create mode 100644 source/lib/dijit/themes/claro/layout/images/tabBottomUnselected.svg create mode 100644 source/lib/dijit/themes/claro/layout/images/tabClose.png create mode 100644 source/lib/dijit/themes/claro/layout/images/tabLeftSelected.png create mode 100644 source/lib/dijit/themes/claro/layout/images/tabLeftSelected.svg create mode 100644 source/lib/dijit/themes/claro/layout/images/tabLeftUnselected.png create mode 100644 source/lib/dijit/themes/claro/layout/images/tabLeftUnselected.svg create mode 100644 source/lib/dijit/themes/claro/layout/images/tabNested.png create mode 100644 source/lib/dijit/themes/claro/layout/images/tabRightSelected.png create mode 100644 source/lib/dijit/themes/claro/layout/images/tabRightSelected.svg create mode 100644 source/lib/dijit/themes/claro/layout/images/tabRightUnselected.png create mode 100644 source/lib/dijit/themes/claro/layout/images/tabRightUnselected.svg create mode 100644 source/lib/dijit/themes/claro/layout/images/tabTopSelected.png create mode 100644 source/lib/dijit/themes/claro/layout/images/tabTopSelected.svg create mode 100644 source/lib/dijit/themes/claro/layout/images/tabTopUnselected.png create mode 100644 source/lib/dijit/themes/claro/layout/images/tabTopUnselected.svg create mode 100644 source/lib/dijit/themes/claro/variables.less create mode 100644 source/lib/dijit/themes/dijit.css create mode 100644 source/lib/dijit/themes/dijit_rtl.css create mode 100644 source/lib/dijit/themes/nihilo/Calendar.css create mode 100644 source/lib/dijit/themes/nihilo/Calendar_rtl.css create mode 100644 source/lib/dijit/themes/nihilo/ColorPalette.css create mode 100644 source/lib/dijit/themes/nihilo/Common.css create mode 100644 source/lib/dijit/themes/nihilo/Dialog.css create mode 100644 source/lib/dijit/themes/nihilo/Dialog_rtl.css create mode 100644 source/lib/dijit/themes/nihilo/Editor.css create mode 100644 source/lib/dijit/themes/nihilo/Editor_rtl.css create mode 100644 source/lib/dijit/themes/nihilo/Menu.css create mode 100644 source/lib/dijit/themes/nihilo/Menu_rtl.css create mode 100644 source/lib/dijit/themes/nihilo/ProgressBar.css create mode 100644 source/lib/dijit/themes/nihilo/TimePicker.css create mode 100644 source/lib/dijit/themes/nihilo/TimePicker_rtl.css create mode 100644 source/lib/dijit/themes/nihilo/TitlePane.css create mode 100644 source/lib/dijit/themes/nihilo/TitlePane_rtl.css create mode 100644 source/lib/dijit/themes/nihilo/Toolbar.css create mode 100644 source/lib/dijit/themes/nihilo/Tree.css create mode 100644 source/lib/dijit/themes/nihilo/Tree_rtl.css create mode 100644 source/lib/dijit/themes/nihilo/form/Button.css create mode 100644 source/lib/dijit/themes/nihilo/form/Button_rtl.css create mode 100644 source/lib/dijit/themes/nihilo/form/Checkbox.css create mode 100644 source/lib/dijit/themes/nihilo/form/Common.css create mode 100644 source/lib/dijit/themes/nihilo/form/RadioButton.css create mode 100644 source/lib/dijit/themes/nihilo/form/Select.css create mode 100644 source/lib/dijit/themes/nihilo/form/Slider.css create mode 100644 source/lib/dijit/themes/nihilo/form/Slider_rtl.css create mode 100644 source/lib/dijit/themes/nihilo/form/TimeTextBox.css create mode 100644 source/lib/dijit/themes/nihilo/images/accordionItemActive.png create mode 100644 source/lib/dijit/themes/nihilo/images/buttonActive.png create mode 100644 source/lib/dijit/themes/nihilo/images/buttonDisabled.png create mode 100644 source/lib/dijit/themes/nihilo/images/buttonEnabled.png create mode 100644 source/lib/dijit/themes/nihilo/images/buttonHover.png create mode 100644 source/lib/dijit/themes/nihilo/images/dndCopy.png create mode 100644 source/lib/dijit/themes/nihilo/images/dndMove.png create mode 100644 source/lib/dijit/themes/nihilo/images/dndNoCopy.png create mode 100644 source/lib/dijit/themes/nihilo/images/dndNoMove.png create mode 100644 source/lib/dijit/themes/nihilo/images/no.gif create mode 100644 source/lib/dijit/themes/nihilo/images/preciseSliderThumb.gif create mode 100644 source/lib/dijit/themes/nihilo/images/preciseSliderThumb.png create mode 100644 source/lib/dijit/themes/nihilo/images/preciseSliderThumbFocus.gif create mode 100644 source/lib/dijit/themes/nihilo/images/preciseSliderThumbFocus.png create mode 100644 source/lib/dijit/themes/nihilo/images/progressBarAnim.gif create mode 100644 source/lib/dijit/themes/nihilo/images/progressBarEmpty.png create mode 100644 source/lib/dijit/themes/nihilo/images/progressBarFull.png create mode 100644 source/lib/dijit/themes/nihilo/images/sliderEmpty.png create mode 100644 source/lib/dijit/themes/nihilo/images/sliderEmptyVertical.png create mode 100644 source/lib/dijit/themes/nihilo/images/sliderFull.png create mode 100644 source/lib/dijit/themes/nihilo/images/sliderFullFocus.png create mode 100644 source/lib/dijit/themes/nihilo/images/sliderFullVertical.png create mode 100644 source/lib/dijit/themes/nihilo/images/sliderFullVerticalFocus.png create mode 100644 source/lib/dijit/themes/nihilo/images/sliderThumb.gif create mode 100644 source/lib/dijit/themes/nihilo/images/sliderThumb.png create mode 100644 source/lib/dijit/themes/nihilo/images/sliderThumbFocus.gif create mode 100644 source/lib/dijit/themes/nihilo/images/sliderThumbFocus.png create mode 100644 source/lib/dijit/themes/nihilo/images/splitContainerSizerH-thumb.png create mode 100644 source/lib/dijit/themes/nihilo/images/splitContainerSizerH.png create mode 100644 source/lib/dijit/themes/nihilo/images/splitContainerSizerV-thumb.png create mode 100644 source/lib/dijit/themes/nihilo/images/splitContainerSizerV.png create mode 100644 source/lib/dijit/themes/nihilo/images/spriteArrows.gif create mode 100644 source/lib/dijit/themes/nihilo/images/spriteArrows.png create mode 100644 source/lib/dijit/themes/nihilo/images/spriteCheckbox.gif create mode 100644 source/lib/dijit/themes/nihilo/images/spriteCheckbox.png create mode 100644 source/lib/dijit/themes/nihilo/images/spriteDivIcons.gif create mode 100644 source/lib/dijit/themes/nihilo/images/spriteDivIcons.png create mode 100644 source/lib/dijit/themes/nihilo/images/spriteRadio.gif create mode 100644 source/lib/dijit/themes/nihilo/images/spriteRadio.png create mode 100644 source/lib/dijit/themes/nihilo/images/spriteRoundedIconsSmall.gif create mode 100644 source/lib/dijit/themes/nihilo/images/spriteRoundedIconsSmall.png create mode 100644 source/lib/dijit/themes/nihilo/images/spriteTree.gif create mode 100644 source/lib/dijit/themes/nihilo/images/spriteTree.png create mode 100644 source/lib/dijit/themes/nihilo/images/spriteTree_rtl.gif create mode 100644 source/lib/dijit/themes/nihilo/images/spriteTree_rtl.png create mode 100644 source/lib/dijit/themes/nihilo/images/tabBottomActiveC.gif create mode 100644 source/lib/dijit/themes/nihilo/images/tabBottomEnabledC.gif create mode 100644 source/lib/dijit/themes/nihilo/images/tabBottomHoverC.gif create mode 100644 source/lib/dijit/themes/nihilo/images/tabContainerSprite.gif create mode 100644 source/lib/dijit/themes/nihilo/images/titleBar.png create mode 100644 source/lib/dijit/themes/nihilo/images/titleBarActive.png create mode 100644 source/lib/dijit/themes/nihilo/images/tooltipConnectorDown.gif create mode 100644 source/lib/dijit/themes/nihilo/images/tooltipConnectorDown.png create mode 100644 source/lib/dijit/themes/nihilo/images/tooltipConnectorLeft.gif create mode 100644 source/lib/dijit/themes/nihilo/images/tooltipConnectorLeft.png create mode 100644 source/lib/dijit/themes/nihilo/images/tooltipConnectorRight.gif create mode 100644 source/lib/dijit/themes/nihilo/images/tooltipConnectorRight.png create mode 100644 source/lib/dijit/themes/nihilo/images/tooltipConnectorUp.gif create mode 100644 source/lib/dijit/themes/nihilo/images/tooltipConnectorUp.png create mode 100644 source/lib/dijit/themes/nihilo/images/treeExpand_loading.gif create mode 100644 source/lib/dijit/themes/nihilo/images/treeHover.png create mode 100644 source/lib/dijit/themes/nihilo/images/treeI.gif create mode 100644 source/lib/dijit/themes/nihilo/images/treeI_half.gif create mode 100644 source/lib/dijit/themes/nihilo/images/treeI_half_rtl.gif create mode 100644 source/lib/dijit/themes/nihilo/images/treeI_rtl.gif create mode 100644 source/lib/dijit/themes/nihilo/images/validationInputBg.gif create mode 100644 source/lib/dijit/themes/nihilo/images/validationInputBg.png create mode 100644 source/lib/dijit/themes/nihilo/images/warning.png create mode 100644 source/lib/dijit/themes/nihilo/layout/AccordionContainer.css create mode 100644 source/lib/dijit/themes/nihilo/layout/AccordionContainer_rtl.css create mode 100644 source/lib/dijit/themes/nihilo/layout/BorderContainer.css create mode 100644 source/lib/dijit/themes/nihilo/layout/ContentPane.css create mode 100644 source/lib/dijit/themes/nihilo/layout/SplitContainer.css create mode 100644 source/lib/dijit/themes/nihilo/layout/TabContainer.css create mode 100644 source/lib/dijit/themes/nihilo/layout/TabContainer_rtl.css create mode 100644 source/lib/dijit/themes/nihilo/nihilo.css create mode 100644 source/lib/dijit/themes/nihilo/nihilo_rtl.css create mode 100644 source/lib/dijit/themes/soria/Calendar.css create mode 100644 source/lib/dijit/themes/soria/Calendar_rtl.css create mode 100644 source/lib/dijit/themes/soria/ColorPalette.css create mode 100644 source/lib/dijit/themes/soria/Common.css create mode 100644 source/lib/dijit/themes/soria/Dialog.css create mode 100644 source/lib/dijit/themes/soria/Dialog_rtl.css create mode 100644 source/lib/dijit/themes/soria/Editor.css create mode 100644 source/lib/dijit/themes/soria/Editor_rtl.css create mode 100644 source/lib/dijit/themes/soria/Menu.css create mode 100644 source/lib/dijit/themes/soria/Menu_rtl.css create mode 100644 source/lib/dijit/themes/soria/ProgressBar.css create mode 100644 source/lib/dijit/themes/soria/TimePicker.css create mode 100644 source/lib/dijit/themes/soria/TimePicker_rtl.css create mode 100644 source/lib/dijit/themes/soria/TitlePane.css create mode 100644 source/lib/dijit/themes/soria/TitlePane_rtl.css create mode 100644 source/lib/dijit/themes/soria/Toolbar.css create mode 100644 source/lib/dijit/themes/soria/Tree.css create mode 100644 source/lib/dijit/themes/soria/Tree_rtl.css create mode 100644 source/lib/dijit/themes/soria/form/Button.css create mode 100644 source/lib/dijit/themes/soria/form/Button_rtl.css create mode 100644 source/lib/dijit/themes/soria/form/Checkbox.css create mode 100644 source/lib/dijit/themes/soria/form/Common.css create mode 100644 source/lib/dijit/themes/soria/form/RadioButton.css create mode 100644 source/lib/dijit/themes/soria/form/Select.css create mode 100644 source/lib/dijit/themes/soria/form/Slider.css create mode 100644 source/lib/dijit/themes/soria/form/Slider_rtl.css create mode 100644 source/lib/dijit/themes/soria/form/TimeTextBox.css create mode 100644 source/lib/dijit/themes/soria/images/accordionItemActive.gif create mode 100644 source/lib/dijit/themes/soria/images/accordionItemActive.png create mode 100644 source/lib/dijit/themes/soria/images/buttonActive.png create mode 100644 source/lib/dijit/themes/soria/images/buttonDisabled.png create mode 100644 source/lib/dijit/themes/soria/images/buttonEnabled.png create mode 100644 source/lib/dijit/themes/soria/images/buttonHover.png create mode 100644 source/lib/dijit/themes/soria/images/dndCopy.png create mode 100644 source/lib/dijit/themes/soria/images/dndMove.png create mode 100644 source/lib/dijit/themes/soria/images/dndNoCopy.png create mode 100644 source/lib/dijit/themes/soria/images/dndNoMove.png create mode 100644 source/lib/dijit/themes/soria/images/preciseSliderThumb.gif create mode 100644 source/lib/dijit/themes/soria/images/preciseSliderThumb.png create mode 100644 source/lib/dijit/themes/soria/images/preciseSliderThumbFocus.gif create mode 100644 source/lib/dijit/themes/soria/images/preciseSliderThumbFocus.png create mode 100644 source/lib/dijit/themes/soria/images/progressBarAnim.gif create mode 100644 source/lib/dijit/themes/soria/images/progressBarEmpty.png create mode 100644 source/lib/dijit/themes/soria/images/progressBarFull.png create mode 100644 source/lib/dijit/themes/soria/images/sliderEmpty.png create mode 100644 source/lib/dijit/themes/soria/images/sliderEmptyVertical.png create mode 100644 source/lib/dijit/themes/soria/images/sliderFull.png create mode 100644 source/lib/dijit/themes/soria/images/sliderFullFocus.png create mode 100644 source/lib/dijit/themes/soria/images/sliderFullVertical.png create mode 100644 source/lib/dijit/themes/soria/images/sliderFullVerticalFocus.png create mode 100644 source/lib/dijit/themes/soria/images/sliderThumb.gif create mode 100644 source/lib/dijit/themes/soria/images/sliderThumb.png create mode 100644 source/lib/dijit/themes/soria/images/sliderThumbFocus.gif create mode 100644 source/lib/dijit/themes/soria/images/sliderThumbFocus.png create mode 100644 source/lib/dijit/themes/soria/images/splitContainerSizerH-thumb.png create mode 100644 source/lib/dijit/themes/soria/images/splitContainerSizerH.png create mode 100644 source/lib/dijit/themes/soria/images/splitContainerSizerV-thumb.png create mode 100644 source/lib/dijit/themes/soria/images/splitContainerSizerV.png create mode 100644 source/lib/dijit/themes/soria/images/spriteArrows.gif create mode 100644 source/lib/dijit/themes/soria/images/spriteArrows.png create mode 100644 source/lib/dijit/themes/soria/images/spriteCheckbox.gif create mode 100644 source/lib/dijit/themes/soria/images/spriteCheckbox.png create mode 100644 source/lib/dijit/themes/soria/images/spriteDivIcons.gif create mode 100644 source/lib/dijit/themes/soria/images/spriteDivIcons.png create mode 100644 source/lib/dijit/themes/soria/images/spriteRadio.gif create mode 100644 source/lib/dijit/themes/soria/images/spriteRadio.png create mode 100644 source/lib/dijit/themes/soria/images/spriteRoundedIconsSmall.gif create mode 100644 source/lib/dijit/themes/soria/images/spriteRoundedIconsSmall.png create mode 100644 source/lib/dijit/themes/soria/images/spriteRoundedIconsSmallBl.gif create mode 100644 source/lib/dijit/themes/soria/images/spriteRoundedIconsSmallBl.png create mode 100644 source/lib/dijit/themes/soria/images/spriteTree.gif create mode 100644 source/lib/dijit/themes/soria/images/spriteTree.png create mode 100644 source/lib/dijit/themes/soria/images/spriteTree_rtl.gif create mode 100644 source/lib/dijit/themes/soria/images/spriteTree_rtl.png create mode 100644 source/lib/dijit/themes/soria/images/tabBottomActiveC.gif create mode 100644 source/lib/dijit/themes/soria/images/tabBottomEnabledC.gif create mode 100644 source/lib/dijit/themes/soria/images/tabBottomEnabledSpriteLR.gif create mode 100644 source/lib/dijit/themes/soria/images/tabBottomHoverC.gif create mode 100644 source/lib/dijit/themes/soria/images/tabContainerSprite.gif create mode 100644 source/lib/dijit/themes/soria/images/tabLeftChecked.gif create mode 100644 source/lib/dijit/themes/soria/images/tabRightChecked.gif create mode 100644 source/lib/dijit/themes/soria/images/titleBar.png create mode 100644 source/lib/dijit/themes/soria/images/titleBarActive.png create mode 100644 source/lib/dijit/themes/soria/images/tooltipConnectorDown.gif create mode 100644 source/lib/dijit/themes/soria/images/tooltipConnectorDown.png create mode 100644 source/lib/dijit/themes/soria/images/tooltipConnectorLeft.gif create mode 100644 source/lib/dijit/themes/soria/images/tooltipConnectorLeft.png create mode 100644 source/lib/dijit/themes/soria/images/tooltipConnectorRight.gif create mode 100644 source/lib/dijit/themes/soria/images/tooltipConnectorRight.png create mode 100644 source/lib/dijit/themes/soria/images/tooltipConnectorUp.gif create mode 100644 source/lib/dijit/themes/soria/images/tooltipConnectorUp.png create mode 100644 source/lib/dijit/themes/soria/images/treeExpand_loading.gif create mode 100644 source/lib/dijit/themes/soria/images/treeHover.png create mode 100644 source/lib/dijit/themes/soria/images/treeI.gif create mode 100644 source/lib/dijit/themes/soria/images/treeI_half.gif create mode 100644 source/lib/dijit/themes/soria/images/treeI_half_rtl.gif create mode 100644 source/lib/dijit/themes/soria/images/treeI_rtl.gif create mode 100644 source/lib/dijit/themes/soria/images/validationInputBg.gif create mode 100644 source/lib/dijit/themes/soria/images/validationInputBg.png create mode 100644 source/lib/dijit/themes/soria/images/warning.png create mode 100644 source/lib/dijit/themes/soria/layout/AccordionContainer.css create mode 100644 source/lib/dijit/themes/soria/layout/AccordionContainer_rtl.css create mode 100644 source/lib/dijit/themes/soria/layout/BorderContainer.css create mode 100644 source/lib/dijit/themes/soria/layout/ContentPane.css create mode 100644 source/lib/dijit/themes/soria/layout/SplitContainer.css create mode 100644 source/lib/dijit/themes/soria/layout/TabContainer.css create mode 100644 source/lib/dijit/themes/soria/layout/TabContainer_rtl.css create mode 100644 source/lib/dijit/themes/soria/soria.css create mode 100644 source/lib/dijit/themes/soria/soria_rtl.css create mode 100644 source/lib/dijit/themes/tundra/Calendar.css create mode 100644 source/lib/dijit/themes/tundra/Calendar_rtl.css create mode 100644 source/lib/dijit/themes/tundra/ColorPalette.css create mode 100644 source/lib/dijit/themes/tundra/Common.css create mode 100644 source/lib/dijit/themes/tundra/Dialog.css create mode 100644 source/lib/dijit/themes/tundra/Dialog_rtl.css create mode 100644 source/lib/dijit/themes/tundra/Editor.css create mode 100644 source/lib/dijit/themes/tundra/Editor_rtl.css create mode 100644 source/lib/dijit/themes/tundra/Menu.css create mode 100644 source/lib/dijit/themes/tundra/Menu_rtl.css create mode 100644 source/lib/dijit/themes/tundra/ProgressBar.css create mode 100644 source/lib/dijit/themes/tundra/TimePicker.css create mode 100644 source/lib/dijit/themes/tundra/TimePicker_rtl.css create mode 100644 source/lib/dijit/themes/tundra/TitlePane.css create mode 100644 source/lib/dijit/themes/tundra/TitlePane_rtl.css create mode 100644 source/lib/dijit/themes/tundra/Toolbar.css create mode 100644 source/lib/dijit/themes/tundra/Tree.css create mode 100644 source/lib/dijit/themes/tundra/Tree_rtl.css create mode 100644 source/lib/dijit/themes/tundra/form/Button.css create mode 100644 source/lib/dijit/themes/tundra/form/Checkbox.css create mode 100644 source/lib/dijit/themes/tundra/form/Common.css create mode 100644 source/lib/dijit/themes/tundra/form/RadioButton.css create mode 100644 source/lib/dijit/themes/tundra/form/Select.css create mode 100644 source/lib/dijit/themes/tundra/form/Slider.css create mode 100644 source/lib/dijit/themes/tundra/form/Slider_rtl.css create mode 100644 source/lib/dijit/themes/tundra/images/accordionItemActive.gif create mode 100644 source/lib/dijit/themes/tundra/images/accordionItemHover.gif create mode 100644 source/lib/dijit/themes/tundra/images/buttonActive.png create mode 100644 source/lib/dijit/themes/tundra/images/buttonDisabled.png create mode 100644 source/lib/dijit/themes/tundra/images/buttonEnabled.png create mode 100644 source/lib/dijit/themes/tundra/images/buttonHover.png create mode 100644 source/lib/dijit/themes/tundra/images/calendarDayLabel.png create mode 100644 source/lib/dijit/themes/tundra/images/calendarMonthLabel.png create mode 100644 source/lib/dijit/themes/tundra/images/calendarYearLabel.png create mode 100755 source/lib/dijit/themes/tundra/images/checkmark.gif create mode 100644 source/lib/dijit/themes/tundra/images/checkmark.png create mode 100755 source/lib/dijit/themes/tundra/images/checkmarkNoBorder.gif create mode 100755 source/lib/dijit/themes/tundra/images/checkmarkNoBorder.png create mode 100755 source/lib/dijit/themes/tundra/images/circleIcon.gif create mode 100755 source/lib/dijit/themes/tundra/images/circleIcon.png create mode 100644 source/lib/dijit/themes/tundra/images/comboArrowDown.gif create mode 100644 source/lib/dijit/themes/tundra/images/dijitProgressBarAnim.gif create mode 100644 source/lib/dijit/themes/tundra/images/dijitProgressBarAnim.psd create mode 100644 source/lib/dijit/themes/tundra/images/dndCopy.png create mode 100644 source/lib/dijit/themes/tundra/images/dndMove.png create mode 100644 source/lib/dijit/themes/tundra/images/dndNoCopy.png create mode 100644 source/lib/dijit/themes/tundra/images/dndNoMove.png create mode 100755 source/lib/dijit/themes/tundra/images/dojoTundraGradientBg.gif create mode 100644 source/lib/dijit/themes/tundra/images/dojoTundraGradientBg.png create mode 100644 source/lib/dijit/themes/tundra/images/doubleArrowDown.png create mode 100644 source/lib/dijit/themes/tundra/images/doubleArrowUp.png create mode 100644 source/lib/dijit/themes/tundra/images/folderClosed.gif create mode 100644 source/lib/dijit/themes/tundra/images/folderOpened.gif create mode 100755 source/lib/dijit/themes/tundra/images/i.gif create mode 100755 source/lib/dijit/themes/tundra/images/i_half.gif create mode 100644 source/lib/dijit/themes/tundra/images/i_half_rtl.gif create mode 100644 source/lib/dijit/themes/tundra/images/i_rtl.gif create mode 100644 source/lib/dijit/themes/tundra/images/leaf.gif create mode 100755 source/lib/dijit/themes/tundra/images/loading.gif create mode 100644 source/lib/dijit/themes/tundra/images/menu.png create mode 100644 source/lib/dijit/themes/tundra/images/minusButton.gif create mode 100644 source/lib/dijit/themes/tundra/images/no.gif create mode 100755 source/lib/dijit/themes/tundra/images/noX.gif create mode 100644 source/lib/dijit/themes/tundra/images/plusButton.gif create mode 100644 source/lib/dijit/themes/tundra/images/popupMenuBg.gif create mode 100755 source/lib/dijit/themes/tundra/images/preciseSliderThumb.gif create mode 100644 source/lib/dijit/themes/tundra/images/preciseSliderThumb.png create mode 100644 source/lib/dijit/themes/tundra/images/preciseSliderThumbFocus.gif create mode 100644 source/lib/dijit/themes/tundra/images/preciseSliderThumbFocus.png create mode 100644 source/lib/dijit/themes/tundra/images/progressBarAnim-1.png create mode 100644 source/lib/dijit/themes/tundra/images/progressBarAnim-2.png create mode 100644 source/lib/dijit/themes/tundra/images/progressBarAnim-3.png create mode 100644 source/lib/dijit/themes/tundra/images/progressBarAnim-4.png create mode 100644 source/lib/dijit/themes/tundra/images/progressBarAnim-5.png create mode 100644 source/lib/dijit/themes/tundra/images/progressBarAnim-6.png create mode 100644 source/lib/dijit/themes/tundra/images/progressBarAnim-7.png create mode 100644 source/lib/dijit/themes/tundra/images/progressBarAnim-8.png create mode 100644 source/lib/dijit/themes/tundra/images/progressBarAnim-9.png create mode 100644 source/lib/dijit/themes/tundra/images/progressBarAnim.gif create mode 100644 source/lib/dijit/themes/tundra/images/progressBarAnim.psd create mode 100644 source/lib/dijit/themes/tundra/images/progressBarEmpty.png create mode 100644 source/lib/dijit/themes/tundra/images/progressBarFull.png create mode 100644 source/lib/dijit/themes/tundra/images/radioButtonActive.png create mode 100644 source/lib/dijit/themes/tundra/images/radioButtonActiveDisabled.png create mode 100644 source/lib/dijit/themes/tundra/images/radioButtonActiveHover.png create mode 100644 source/lib/dijit/themes/tundra/images/radioButtonDisabled.png create mode 100644 source/lib/dijit/themes/tundra/images/radioButtonEnabled.png create mode 100644 source/lib/dijit/themes/tundra/images/radioButtonHover.png create mode 100644 source/lib/dijit/themes/tundra/images/sliderEmpty.png create mode 100644 source/lib/dijit/themes/tundra/images/sliderEmptyVertical.png create mode 100644 source/lib/dijit/themes/tundra/images/sliderFull.png create mode 100755 source/lib/dijit/themes/tundra/images/sliderFullFocus.png create mode 100644 source/lib/dijit/themes/tundra/images/sliderFullVertical.png create mode 100755 source/lib/dijit/themes/tundra/images/sliderFullVerticalFocus.png create mode 100644 source/lib/dijit/themes/tundra/images/sliderThumb.png create mode 100644 source/lib/dijit/themes/tundra/images/sliderThumbFocus.gif create mode 100644 source/lib/dijit/themes/tundra/images/sliderThumbFocus.png create mode 100644 source/lib/dijit/themes/tundra/images/smallArrowDown.png create mode 100644 source/lib/dijit/themes/tundra/images/smallArrowUp.png create mode 100644 source/lib/dijit/themes/tundra/images/splitContainerSizerH-thumb.png create mode 100644 source/lib/dijit/themes/tundra/images/splitContainerSizerH.png create mode 100644 source/lib/dijit/themes/tundra/images/splitContainerSizerV-thumb.png create mode 100644 source/lib/dijit/themes/tundra/images/splitContainerSizerV.png create mode 100644 source/lib/dijit/themes/tundra/images/spriteArrows.gif create mode 100644 source/lib/dijit/themes/tundra/images/spriteArrows.png create mode 100644 source/lib/dijit/themes/tundra/images/spriteRoundedIconsSmall.gif create mode 100644 source/lib/dijit/themes/tundra/images/spriteRoundedIconsSmall.png create mode 100644 source/lib/dijit/themes/tundra/images/tabActive.png create mode 100755 source/lib/dijit/themes/tundra/images/tabClose.gif create mode 100644 source/lib/dijit/themes/tundra/images/tabClose.png create mode 100755 source/lib/dijit/themes/tundra/images/tabCloseHover.gif create mode 100644 source/lib/dijit/themes/tundra/images/tabCloseHover.png create mode 100644 source/lib/dijit/themes/tundra/images/tabDisabled.png create mode 100644 source/lib/dijit/themes/tundra/images/tabEnabled.png create mode 100755 source/lib/dijit/themes/tundra/images/tabHover.gif create mode 100644 source/lib/dijit/themes/tundra/images/tabHover.png create mode 100644 source/lib/dijit/themes/tundra/images/titleBar.png create mode 100644 source/lib/dijit/themes/tundra/images/titleBarBg.gif create mode 100644 source/lib/dijit/themes/tundra/images/tooltipConnectorDown.gif create mode 100644 source/lib/dijit/themes/tundra/images/tooltipConnectorDown.png create mode 100644 source/lib/dijit/themes/tundra/images/tooltipConnectorLeft.gif create mode 100644 source/lib/dijit/themes/tundra/images/tooltipConnectorLeft.png create mode 100644 source/lib/dijit/themes/tundra/images/tooltipConnectorRight.gif create mode 100644 source/lib/dijit/themes/tundra/images/tooltipConnectorRight.png create mode 100644 source/lib/dijit/themes/tundra/images/tooltipConnectorUp.gif create mode 100644 source/lib/dijit/themes/tundra/images/tooltipConnectorUp.png create mode 100644 source/lib/dijit/themes/tundra/images/treeExpand_leaf.gif create mode 100644 source/lib/dijit/themes/tundra/images/treeExpand_leaf_rtl.gif create mode 100644 source/lib/dijit/themes/tundra/images/treeExpand_loading.gif create mode 100755 source/lib/dijit/themes/tundra/images/treeExpand_minus.gif create mode 100644 source/lib/dijit/themes/tundra/images/treeExpand_minus_rtl.gif create mode 100644 source/lib/dijit/themes/tundra/images/treeExpand_mius.gif create mode 100755 source/lib/dijit/themes/tundra/images/treeExpand_plus.gif create mode 100644 source/lib/dijit/themes/tundra/images/treeExpand_plus_rtl.gif create mode 100644 source/lib/dijit/themes/tundra/images/treeHover.png create mode 100755 source/lib/dijit/themes/tundra/images/validationInputBg.gif create mode 100644 source/lib/dijit/themes/tundra/images/validationInputBg.png create mode 100644 source/lib/dijit/themes/tundra/images/warning.png create mode 100644 source/lib/dijit/themes/tundra/layout/AccordionContainer.css create mode 100644 source/lib/dijit/themes/tundra/layout/BorderContainer.css create mode 100644 source/lib/dijit/themes/tundra/layout/ContentPane.css create mode 100644 source/lib/dijit/themes/tundra/layout/SplitContainer.css create mode 100644 source/lib/dijit/themes/tundra/layout/TabContainer.css create mode 100644 source/lib/dijit/themes/tundra/layout/TabContainer_rtl.css create mode 100644 source/lib/dijit/themes/tundra/tundra.css create mode 100644 source/lib/dijit/themes/tundra/tundra_rtl.css create mode 100644 source/lib/dijit/tree/ForestStoreModel.js create mode 100644 source/lib/dijit/tree/ObjectStoreModel.js create mode 100644 source/lib/dijit/tree/TreeStoreModel.js create mode 100644 source/lib/dijit/tree/_dndContainer.js create mode 100644 source/lib/dijit/tree/_dndSelector.js create mode 100644 source/lib/dijit/tree/dndSource.js create mode 100644 source/lib/dijit/tree/model.js create mode 100644 source/lib/dijit/typematic.js create mode 100644 source/lib/dojo-src/.gitignore create mode 100755 source/lib/dojo-src/rebuild-dojo.sh create mode 100644 source/lib/dojo-src/tt-rss.profile.js create mode 100644 source/lib/dojo/AdapterRegistry.js create mode 100644 source/lib/dojo/Deferred.js create mode 100644 source/lib/dojo/DeferredList.js create mode 100644 source/lib/dojo/Evented.js create mode 100644 source/lib/dojo/LICENSE create mode 100644 source/lib/dojo/NodeList-data.js create mode 100644 source/lib/dojo/NodeList-dom.js create mode 100644 source/lib/dojo/NodeList-fx.js create mode 100644 source/lib/dojo/NodeList-html.js create mode 100644 source/lib/dojo/NodeList-manipulate.js create mode 100644 source/lib/dojo/NodeList-traverse.js create mode 100644 source/lib/dojo/NodeList.js create mode 100644 source/lib/dojo/OpenAjax.js create mode 100644 source/lib/dojo/Stateful.js create mode 100644 source/lib/dojo/_base/Color.js create mode 100644 source/lib/dojo/_base/Deferred.js create mode 100644 source/lib/dojo/_base/NodeList.js create mode 100644 source/lib/dojo/_base/array.js create mode 100644 source/lib/dojo/_base/browser.js create mode 100644 source/lib/dojo/_base/config.js create mode 100644 source/lib/dojo/_base/configFirefoxExtension.js create mode 100644 source/lib/dojo/_base/configNode.js create mode 100644 source/lib/dojo/_base/configRhino.js create mode 100644 source/lib/dojo/_base/configSpidermonkey.js create mode 100644 source/lib/dojo/_base/connect.js create mode 100644 source/lib/dojo/_base/declare.js create mode 100644 source/lib/dojo/_base/event.js create mode 100644 source/lib/dojo/_base/fx.js create mode 100644 source/lib/dojo/_base/html.js create mode 100644 source/lib/dojo/_base/json.js create mode 100644 source/lib/dojo/_base/kernel.js create mode 100644 source/lib/dojo/_base/lang.js create mode 100644 source/lib/dojo/_base/loader.js create mode 100644 source/lib/dojo/_base/query.js create mode 100644 source/lib/dojo/_base/sniff.js create mode 100644 source/lib/dojo/_base/unload.js create mode 100644 source/lib/dojo/_base/url.js create mode 100644 source/lib/dojo/_base/window.js create mode 100644 source/lib/dojo/_base/xhr.js create mode 100644 source/lib/dojo/_firebug/LICENSE create mode 100644 source/lib/dojo/_firebug/errorIcon.png create mode 100644 source/lib/dojo/_firebug/firebug.css create mode 100644 source/lib/dojo/_firebug/firebug.js create mode 100644 source/lib/dojo/_firebug/infoIcon.png create mode 100644 source/lib/dojo/_firebug/tab_lft_norm.png create mode 100644 source/lib/dojo/_firebug/tab_lft_over.png create mode 100644 source/lib/dojo/_firebug/tab_rgt_norm.png create mode 100644 source/lib/dojo/_firebug/tab_rgt_over.png create mode 100644 source/lib/dojo/_firebug/warningIcon.png create mode 100644 source/lib/dojo/aspect.js create mode 100644 source/lib/dojo/back.js create mode 100644 source/lib/dojo/behavior.js create mode 100644 source/lib/dojo/cache.js create mode 100644 source/lib/dojo/cldr/LICENSE create mode 100644 source/lib/dojo/cldr/README create mode 100644 source/lib/dojo/cldr/monetary.js create mode 100644 source/lib/dojo/cldr/nls/ar/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/ar/currency.js create mode 100644 source/lib/dojo/cldr/nls/ar/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/ar/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/ar/islamic.js create mode 100644 source/lib/dojo/cldr/nls/ar/number.js create mode 100644 source/lib/dojo/cldr/nls/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/ca/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/ca/currency.js create mode 100644 source/lib/dojo/cldr/nls/ca/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/ca/number.js create mode 100644 source/lib/dojo/cldr/nls/cs/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/cs/currency.js create mode 100644 source/lib/dojo/cldr/nls/cs/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/cs/islamic.js create mode 100644 source/lib/dojo/cldr/nls/cs/number.js create mode 100644 source/lib/dojo/cldr/nls/currency.js create mode 100644 source/lib/dojo/cldr/nls/da/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/da/currency.js create mode 100644 source/lib/dojo/cldr/nls/da/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/da/islamic.js create mode 100644 source/lib/dojo/cldr/nls/da/number.js create mode 100644 source/lib/dojo/cldr/nls/de/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/de/currency.js create mode 100644 source/lib/dojo/cldr/nls/de/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/de/islamic.js create mode 100644 source/lib/dojo/cldr/nls/de/number.js create mode 100644 source/lib/dojo/cldr/nls/el/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/el/currency.js create mode 100644 source/lib/dojo/cldr/nls/el/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/el/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/el/number.js create mode 100644 source/lib/dojo/cldr/nls/en-au/currency.js create mode 100644 source/lib/dojo/cldr/nls/en-au/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/en-au/number.js create mode 100644 source/lib/dojo/cldr/nls/en-ca/currency.js create mode 100644 source/lib/dojo/cldr/nls/en-ca/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/en-gb/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/en-gb/currency.js create mode 100644 source/lib/dojo/cldr/nls/en-gb/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/en-gb/islamic.js create mode 100644 source/lib/dojo/cldr/nls/en-gb/number.js create mode 100644 source/lib/dojo/cldr/nls/en/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/en/currency.js create mode 100644 source/lib/dojo/cldr/nls/en/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/en/islamic.js create mode 100644 source/lib/dojo/cldr/nls/en/number.js create mode 100644 source/lib/dojo/cldr/nls/es/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/es/currency.js create mode 100644 source/lib/dojo/cldr/nls/es/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/es/islamic.js create mode 100644 source/lib/dojo/cldr/nls/es/number.js create mode 100644 source/lib/dojo/cldr/nls/fi/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/fi/currency.js create mode 100644 source/lib/dojo/cldr/nls/fi/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/fi/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/fi/islamic.js create mode 100644 source/lib/dojo/cldr/nls/fi/number.js create mode 100644 source/lib/dojo/cldr/nls/fr-ch/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/fr-ch/number.js create mode 100644 source/lib/dojo/cldr/nls/fr/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/fr/currency.js create mode 100644 source/lib/dojo/cldr/nls/fr/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/fr/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/fr/islamic.js create mode 100644 source/lib/dojo/cldr/nls/fr/number.js create mode 100644 source/lib/dojo/cldr/nls/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/he/currency.js create mode 100644 source/lib/dojo/cldr/nls/he/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/he/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/he/islamic.js create mode 100644 source/lib/dojo/cldr/nls/he/number.js create mode 100644 source/lib/dojo/cldr/nls/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/hu/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/hu/currency.js create mode 100644 source/lib/dojo/cldr/nls/hu/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/hu/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/hu/islamic.js create mode 100644 source/lib/dojo/cldr/nls/hu/number.js create mode 100644 source/lib/dojo/cldr/nls/islamic.js create mode 100644 source/lib/dojo/cldr/nls/it/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/it/currency.js create mode 100644 source/lib/dojo/cldr/nls/it/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/it/islamic.js create mode 100644 source/lib/dojo/cldr/nls/it/number.js create mode 100644 source/lib/dojo/cldr/nls/ja/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/ja/currency.js create mode 100644 source/lib/dojo/cldr/nls/ja/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/ja/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/ja/islamic.js create mode 100644 source/lib/dojo/cldr/nls/ja/number.js create mode 100644 source/lib/dojo/cldr/nls/ko/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/ko/currency.js create mode 100644 source/lib/dojo/cldr/nls/ko/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/ko/number.js create mode 100644 source/lib/dojo/cldr/nls/nb/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/nb/currency.js create mode 100644 source/lib/dojo/cldr/nls/nb/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/nb/islamic.js create mode 100644 source/lib/dojo/cldr/nls/nb/number.js create mode 100644 source/lib/dojo/cldr/nls/nl/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/nl/currency.js create mode 100644 source/lib/dojo/cldr/nls/nl/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/nl/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/nl/islamic.js create mode 100644 source/lib/dojo/cldr/nls/nl/number.js create mode 100644 source/lib/dojo/cldr/nls/number.js create mode 100644 source/lib/dojo/cldr/nls/pl/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/pl/currency.js create mode 100644 source/lib/dojo/cldr/nls/pl/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/pl/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/pl/islamic.js create mode 100644 source/lib/dojo/cldr/nls/pl/number.js create mode 100644 source/lib/dojo/cldr/nls/pt-pt/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/pt-pt/currency.js create mode 100644 source/lib/dojo/cldr/nls/pt-pt/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/pt-pt/islamic.js create mode 100644 source/lib/dojo/cldr/nls/pt-pt/number.js create mode 100644 source/lib/dojo/cldr/nls/pt/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/pt/currency.js create mode 100644 source/lib/dojo/cldr/nls/pt/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/pt/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/pt/islamic.js create mode 100644 source/lib/dojo/cldr/nls/pt/number.js create mode 100644 source/lib/dojo/cldr/nls/ro/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/ro/currency.js create mode 100644 source/lib/dojo/cldr/nls/ro/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/ro/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/ro/islamic.js create mode 100644 source/lib/dojo/cldr/nls/ro/number.js create mode 100644 source/lib/dojo/cldr/nls/ru/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/ru/currency.js create mode 100644 source/lib/dojo/cldr/nls/ru/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/ru/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/ru/islamic.js create mode 100644 source/lib/dojo/cldr/nls/ru/number.js create mode 100644 source/lib/dojo/cldr/nls/sk/currency.js create mode 100644 source/lib/dojo/cldr/nls/sk/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/sk/number.js create mode 100644 source/lib/dojo/cldr/nls/sl/currency.js create mode 100644 source/lib/dojo/cldr/nls/sl/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/sl/number.js create mode 100644 source/lib/dojo/cldr/nls/sv/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/sv/currency.js create mode 100644 source/lib/dojo/cldr/nls/sv/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/sv/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/sv/islamic.js create mode 100644 source/lib/dojo/cldr/nls/sv/number.js create mode 100644 source/lib/dojo/cldr/nls/th/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/th/currency.js create mode 100644 source/lib/dojo/cldr/nls/th/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/th/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/th/islamic.js create mode 100644 source/lib/dojo/cldr/nls/th/number.js create mode 100644 source/lib/dojo/cldr/nls/tr/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/tr/currency.js create mode 100644 source/lib/dojo/cldr/nls/tr/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/tr/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/tr/islamic.js create mode 100644 source/lib/dojo/cldr/nls/tr/number.js create mode 100644 source/lib/dojo/cldr/nls/zh-hant/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/zh-hant/currency.js create mode 100644 source/lib/dojo/cldr/nls/zh-hant/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/zh-hant/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/zh-hant/islamic.js create mode 100644 source/lib/dojo/cldr/nls/zh-hant/number.js create mode 100644 source/lib/dojo/cldr/nls/zh-hk/currency.js create mode 100644 source/lib/dojo/cldr/nls/zh-hk/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/zh-hk/number.js create mode 100644 source/lib/dojo/cldr/nls/zh-tw/currency.js create mode 100644 source/lib/dojo/cldr/nls/zh-tw/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/zh-tw/number.js create mode 100644 source/lib/dojo/cldr/nls/zh/buddhist.js create mode 100644 source/lib/dojo/cldr/nls/zh/currency.js create mode 100644 source/lib/dojo/cldr/nls/zh/gregorian.js create mode 100644 source/lib/dojo/cldr/nls/zh/hebrew.js create mode 100644 source/lib/dojo/cldr/nls/zh/islamic.js create mode 100644 source/lib/dojo/cldr/nls/zh/number.js create mode 100644 source/lib/dojo/cldr/supplemental.js create mode 100644 source/lib/dojo/colors.js create mode 100644 source/lib/dojo/cookie.js create mode 100644 source/lib/dojo/currency.js create mode 100644 source/lib/dojo/data/ItemFileReadStore.js create mode 100644 source/lib/dojo/data/ItemFileWriteStore.js create mode 100644 source/lib/dojo/data/ObjectStore.js create mode 100644 source/lib/dojo/data/api/Identity.js create mode 100644 source/lib/dojo/data/api/Item.js create mode 100644 source/lib/dojo/data/api/Notification.js create mode 100644 source/lib/dojo/data/api/Read.js create mode 100644 source/lib/dojo/data/api/Request.js create mode 100644 source/lib/dojo/data/api/Write.js create mode 100644 source/lib/dojo/data/util/filter.js create mode 100644 source/lib/dojo/data/util/simpleFetch.js create mode 100644 source/lib/dojo/data/util/sorter.js create mode 100644 source/lib/dojo/date.js create mode 100644 source/lib/dojo/date/locale.js create mode 100644 source/lib/dojo/date/stamp.js create mode 100644 source/lib/dojo/dnd/AutoSource.js create mode 100644 source/lib/dojo/dnd/Avatar.js create mode 100644 source/lib/dojo/dnd/Container.js create mode 100644 source/lib/dojo/dnd/Manager.js create mode 100644 source/lib/dojo/dnd/Moveable.js create mode 100644 source/lib/dojo/dnd/Mover.js create mode 100644 source/lib/dojo/dnd/Selector.js create mode 100644 source/lib/dojo/dnd/Source.js create mode 100644 source/lib/dojo/dnd/Target.js create mode 100644 source/lib/dojo/dnd/TimedMoveable.js create mode 100644 source/lib/dojo/dnd/autoscroll.js create mode 100644 source/lib/dojo/dnd/common.js create mode 100644 source/lib/dojo/dnd/move.js create mode 100644 source/lib/dojo/dojo.js create mode 100644 source/lib/dojo/dojo.profile.js create mode 100644 source/lib/dojo/dom-attr.js create mode 100644 source/lib/dojo/dom-class.js create mode 100644 source/lib/dojo/dom-construct.js create mode 100644 source/lib/dojo/dom-form.js create mode 100644 source/lib/dojo/dom-geometry.js create mode 100644 source/lib/dojo/dom-prop.js create mode 100644 source/lib/dojo/dom-style.js create mode 100644 source/lib/dojo/dom.js create mode 100644 source/lib/dojo/domReady.js create mode 100644 source/lib/dojo/errors/CancelError.js create mode 100644 source/lib/dojo/errors/RequestError.js create mode 100644 source/lib/dojo/errors/RequestTimeoutError.js create mode 100644 source/lib/dojo/errors/create.js create mode 100644 source/lib/dojo/fx.js create mode 100644 source/lib/dojo/fx/Toggler.js create mode 100644 source/lib/dojo/fx/easing.js create mode 100644 source/lib/dojo/gears.js create mode 100644 source/lib/dojo/has.js create mode 100644 source/lib/dojo/hash.js create mode 100644 source/lib/dojo/hccss.js create mode 100644 source/lib/dojo/html.js create mode 100644 source/lib/dojo/i18n.js create mode 100644 source/lib/dojo/io-query.js create mode 100644 source/lib/dojo/io/iframe.js create mode 100644 source/lib/dojo/io/script.js create mode 100644 source/lib/dojo/jaxer.js create mode 100644 source/lib/dojo/json.js create mode 100644 source/lib/dojo/keys.js create mode 100644 source/lib/dojo/loadInit.js create mode 100644 source/lib/dojo/main.js create mode 100644 source/lib/dojo/mouse.js create mode 100644 source/lib/dojo/nls/ar/colors.js create mode 100644 source/lib/dojo/nls/az/colors.js create mode 100644 source/lib/dojo/nls/ca/colors.js create mode 100644 source/lib/dojo/nls/colors.js create mode 100644 source/lib/dojo/nls/cs/colors.js create mode 100644 source/lib/dojo/nls/da/colors.js create mode 100644 source/lib/dojo/nls/de/colors.js create mode 100644 source/lib/dojo/nls/el/colors.js create mode 100644 source/lib/dojo/nls/es/colors.js create mode 100644 source/lib/dojo/nls/fi/colors.js create mode 100644 source/lib/dojo/nls/fr/colors.js create mode 100644 source/lib/dojo/nls/he/colors.js create mode 100644 source/lib/dojo/nls/hr/colors.js create mode 100644 source/lib/dojo/nls/hu/colors.js create mode 100644 source/lib/dojo/nls/it/colors.js create mode 100644 source/lib/dojo/nls/ja/colors.js create mode 100644 source/lib/dojo/nls/kk/colors.js create mode 100644 source/lib/dojo/nls/ko/colors.js create mode 100644 source/lib/dojo/nls/nb/colors.js create mode 100644 source/lib/dojo/nls/nl/colors.js create mode 100644 source/lib/dojo/nls/pl/colors.js create mode 100644 source/lib/dojo/nls/pt-pt/colors.js create mode 100644 source/lib/dojo/nls/pt/colors.js create mode 100644 source/lib/dojo/nls/ro/colors.js create mode 100644 source/lib/dojo/nls/ru/colors.js create mode 100644 source/lib/dojo/nls/sk/colors.js create mode 100644 source/lib/dojo/nls/sl/colors.js create mode 100644 source/lib/dojo/nls/sv/colors.js create mode 100644 source/lib/dojo/nls/th/colors.js create mode 100644 source/lib/dojo/nls/tr/colors.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_ROOT.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_ar.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_ca.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_cs.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_da.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_de.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_el.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_en-gb.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_en-us.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_es-es.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_fi-fi.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_fr-fr.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_he-il.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_hu.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_it-it.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_ja-jp.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_ko-kr.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_nb.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_nl-nl.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_pl.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_pt-br.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_pt-pt.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_ru.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_sk.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_sl.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_sv.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_th.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_tr.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_zh-cn.js create mode 100644 source/lib/dojo/nls/tt-rss-layer_zh-tw.js create mode 100644 source/lib/dojo/nls/zh-tw/colors.js create mode 100644 source/lib/dojo/nls/zh/colors.js create mode 100644 source/lib/dojo/node.js create mode 100644 source/lib/dojo/number.js create mode 100644 source/lib/dojo/on.js create mode 100644 source/lib/dojo/package.json create mode 100644 source/lib/dojo/parser.js create mode 100644 source/lib/dojo/promise/Promise.js create mode 100644 source/lib/dojo/promise/all.js create mode 100644 source/lib/dojo/promise/first.js create mode 100644 source/lib/dojo/promise/instrumentation.js create mode 100644 source/lib/dojo/promise/tracer.js create mode 100644 source/lib/dojo/query.js create mode 100644 source/lib/dojo/ready.js create mode 100644 source/lib/dojo/regexp.js create mode 100644 source/lib/dojo/request.js create mode 100644 source/lib/dojo/request/default.js create mode 100644 source/lib/dojo/request/handlers.js create mode 100644 source/lib/dojo/request/iframe.js create mode 100644 source/lib/dojo/request/node.js create mode 100644 source/lib/dojo/request/notify.js create mode 100644 source/lib/dojo/request/registry.js create mode 100644 source/lib/dojo/request/script.js create mode 100644 source/lib/dojo/request/util.js create mode 100644 source/lib/dojo/request/watch.js create mode 100644 source/lib/dojo/request/xhr.js create mode 100644 source/lib/dojo/require.js create mode 100644 source/lib/dojo/resources/LICENSE create mode 100644 source/lib/dojo/resources/blank.gif create mode 100644 source/lib/dojo/resources/blank.html create mode 100644 source/lib/dojo/resources/dnd.css create mode 100644 source/lib/dojo/resources/dojo.css create mode 100644 source/lib/dojo/resources/iframe_history.html create mode 100644 source/lib/dojo/resources/images/dndCopy.png create mode 100644 source/lib/dojo/resources/images/dndMove.png create mode 100644 source/lib/dojo/resources/images/dndNoCopy.png create mode 100644 source/lib/dojo/resources/images/dndNoMove.png create mode 100644 source/lib/dojo/router.js create mode 100644 source/lib/dojo/router/RouterBase.js create mode 100644 source/lib/dojo/rpc/JsonService.js create mode 100644 source/lib/dojo/rpc/JsonpService.js create mode 100644 source/lib/dojo/rpc/RpcService.js create mode 100644 source/lib/dojo/selector/_loader.js create mode 100644 source/lib/dojo/selector/acme.js create mode 100644 source/lib/dojo/selector/lite.js create mode 100644 source/lib/dojo/sniff.js create mode 100644 source/lib/dojo/store/Cache.js create mode 100644 source/lib/dojo/store/DataStore.js create mode 100644 source/lib/dojo/store/JsonRest.js create mode 100644 source/lib/dojo/store/Memory.js create mode 100644 source/lib/dojo/store/Observable.js create mode 100644 source/lib/dojo/store/README create mode 100644 source/lib/dojo/store/api/Store.js create mode 100644 source/lib/dojo/store/util/QueryResults.js create mode 100644 source/lib/dojo/store/util/SimpleQueryEngine.js create mode 100644 source/lib/dojo/string.js create mode 100644 source/lib/dojo/text.js create mode 100644 source/lib/dojo/topic.js create mode 100644 source/lib/dojo/touch.js create mode 100644 source/lib/dojo/tt-rss-layer.js create mode 100644 source/lib/dojo/uacss.js create mode 100644 source/lib/dojo/when.js create mode 100644 source/lib/dojo/window.js create mode 100644 source/lib/floIcon.php create mode 100644 source/lib/gettext/README create mode 100644 source/lib/gettext/gettext.inc create mode 100755 source/lib/gettext/gettext.php create mode 100644 source/lib/gettext/streams.php create mode 100644 source/lib/index.html create mode 100644 source/lib/jimIcon.php create mode 100644 source/lib/jshrink/LICENSE create mode 100644 source/lib/jshrink/Minifier.php create mode 100644 source/lib/jshrink/README.md create mode 100644 source/lib/languagedetect/LanguageDetect.php create mode 100644 source/lib/languagedetect/Text/LanguageDetect/Exception.php create mode 100644 source/lib/languagedetect/Text/LanguageDetect/ISO639.php create mode 100644 source/lib/languagedetect/Text/LanguageDetect/Parser.php create mode 100644 source/lib/languagedetect/data/lang.dat create mode 100644 source/lib/languagedetect/data/unicode_blocks.dat create mode 100644 source/lib/otphp/LICENCE create mode 100644 source/lib/otphp/lib/hotp.php create mode 100644 source/lib/otphp/lib/otp.php create mode 100644 source/lib/otphp/lib/otphp.php create mode 100644 source/lib/otphp/lib/totp.php create mode 100644 source/lib/otphp/vendor/base32.php create mode 100644 source/lib/otphp/vendor/libs.php create mode 100644 source/lib/phpmailer/class.phpmailer.php create mode 100644 source/lib/phpmailer/class.smtp.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-ar.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-br.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-ca.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-ch.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-cz.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-de.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-dk.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-es.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-et.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-fi.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-fo.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-fr.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-hu.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-it.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-ja.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-nl.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-no.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-pl.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-ro.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-ru.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-se.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-sk.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-tr.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-zh.php create mode 100644 source/lib/phpmailer/language/phpmailer.lang-zh_cn.php create mode 100644 source/lib/phpqrcode/CHANGELOG create mode 100644 source/lib/phpqrcode/INSTALL create mode 100644 source/lib/phpqrcode/LICENSE create mode 100644 source/lib/phpqrcode/README create mode 100644 source/lib/phpqrcode/VERSION create mode 100644 source/lib/phpqrcode/bindings/tcpdf/qrcode.php create mode 100644 source/lib/phpqrcode/cache/frame_1.dat create mode 100644 source/lib/phpqrcode/cache/frame_1.png create mode 100644 source/lib/phpqrcode/cache/frame_10.dat create mode 100644 source/lib/phpqrcode/cache/frame_10.png create mode 100644 source/lib/phpqrcode/cache/frame_11.dat create mode 100644 source/lib/phpqrcode/cache/frame_11.png create mode 100644 source/lib/phpqrcode/cache/frame_12.dat create mode 100644 source/lib/phpqrcode/cache/frame_12.png create mode 100644 source/lib/phpqrcode/cache/frame_13.dat create mode 100644 source/lib/phpqrcode/cache/frame_13.png create mode 100644 source/lib/phpqrcode/cache/frame_14.dat create mode 100644 source/lib/phpqrcode/cache/frame_14.png create mode 100644 source/lib/phpqrcode/cache/frame_15.dat create mode 100644 source/lib/phpqrcode/cache/frame_15.png create mode 100644 source/lib/phpqrcode/cache/frame_16.dat create mode 100644 source/lib/phpqrcode/cache/frame_16.png create mode 100644 source/lib/phpqrcode/cache/frame_17.dat create mode 100644 source/lib/phpqrcode/cache/frame_17.png create mode 100644 source/lib/phpqrcode/cache/frame_18.dat create mode 100644 source/lib/phpqrcode/cache/frame_18.png create mode 100644 source/lib/phpqrcode/cache/frame_19.dat create mode 100644 source/lib/phpqrcode/cache/frame_19.png create mode 100644 source/lib/phpqrcode/cache/frame_2.dat create mode 100644 source/lib/phpqrcode/cache/frame_2.png create mode 100644 source/lib/phpqrcode/cache/frame_20.dat create mode 100644 source/lib/phpqrcode/cache/frame_20.png create mode 100644 source/lib/phpqrcode/cache/frame_21.dat create mode 100644 source/lib/phpqrcode/cache/frame_21.png create mode 100644 source/lib/phpqrcode/cache/frame_22.dat create mode 100644 source/lib/phpqrcode/cache/frame_22.png create mode 100644 source/lib/phpqrcode/cache/frame_23.dat create mode 100644 source/lib/phpqrcode/cache/frame_23.png create mode 100644 source/lib/phpqrcode/cache/frame_24.dat create mode 100644 source/lib/phpqrcode/cache/frame_24.png create mode 100644 source/lib/phpqrcode/cache/frame_25.dat create mode 100644 source/lib/phpqrcode/cache/frame_25.png create mode 100644 source/lib/phpqrcode/cache/frame_26.dat create mode 100644 source/lib/phpqrcode/cache/frame_26.png create mode 100644 source/lib/phpqrcode/cache/frame_27.dat create mode 100644 source/lib/phpqrcode/cache/frame_27.png create mode 100644 source/lib/phpqrcode/cache/frame_28.dat create mode 100644 source/lib/phpqrcode/cache/frame_28.png create mode 100644 source/lib/phpqrcode/cache/frame_29.dat create mode 100644 source/lib/phpqrcode/cache/frame_29.png create mode 100644 source/lib/phpqrcode/cache/frame_3.dat create mode 100644 source/lib/phpqrcode/cache/frame_3.png create mode 100644 source/lib/phpqrcode/cache/frame_30.dat create mode 100644 source/lib/phpqrcode/cache/frame_30.png create mode 100644 source/lib/phpqrcode/cache/frame_31.dat create mode 100644 source/lib/phpqrcode/cache/frame_31.png create mode 100644 source/lib/phpqrcode/cache/frame_32.dat create mode 100644 source/lib/phpqrcode/cache/frame_32.png create mode 100644 source/lib/phpqrcode/cache/frame_33.dat create mode 100644 source/lib/phpqrcode/cache/frame_33.png create mode 100644 source/lib/phpqrcode/cache/frame_34.dat create mode 100644 source/lib/phpqrcode/cache/frame_34.png create mode 100644 source/lib/phpqrcode/cache/frame_35.dat create mode 100644 source/lib/phpqrcode/cache/frame_35.png create mode 100644 source/lib/phpqrcode/cache/frame_36.dat create mode 100644 source/lib/phpqrcode/cache/frame_36.png create mode 100644 source/lib/phpqrcode/cache/frame_37.dat create mode 100644 source/lib/phpqrcode/cache/frame_37.png create mode 100644 source/lib/phpqrcode/cache/frame_38.dat create mode 100644 source/lib/phpqrcode/cache/frame_38.png create mode 100644 source/lib/phpqrcode/cache/frame_39.dat create mode 100644 source/lib/phpqrcode/cache/frame_39.png create mode 100644 source/lib/phpqrcode/cache/frame_4.dat create mode 100644 source/lib/phpqrcode/cache/frame_4.png create mode 100644 source/lib/phpqrcode/cache/frame_40.dat create mode 100644 source/lib/phpqrcode/cache/frame_40.png create mode 100644 source/lib/phpqrcode/cache/frame_5.dat create mode 100644 source/lib/phpqrcode/cache/frame_5.png create mode 100644 source/lib/phpqrcode/cache/frame_6.dat create mode 100644 source/lib/phpqrcode/cache/frame_6.png create mode 100644 source/lib/phpqrcode/cache/frame_7.dat create mode 100644 source/lib/phpqrcode/cache/frame_7.png create mode 100644 source/lib/phpqrcode/cache/frame_8.dat create mode 100644 source/lib/phpqrcode/cache/frame_8.png create mode 100644 source/lib/phpqrcode/cache/frame_9.dat create mode 100644 source/lib/phpqrcode/cache/frame_9.png create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_101_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_105_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_109_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_113_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_117_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_121_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_125_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_129_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_133_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_137_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_141_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_145_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_149_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_153_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_157_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_161_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_165_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_169_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_173_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_177_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_21_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_25_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_29_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_33_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_37_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_41_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_45_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_49_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_53_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_57_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_61_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_65_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_69_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_73_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_77_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_81_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_85_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_89_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_93_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_0/mask_97_0.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_101_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_105_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_109_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_113_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_117_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_121_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_125_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_129_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_133_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_137_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_141_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_145_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_149_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_153_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_157_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_161_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_165_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_169_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_173_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_177_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_21_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_25_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_29_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_33_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_37_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_41_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_45_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_49_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_53_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_57_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_61_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_65_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_69_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_73_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_77_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_81_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_85_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_89_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_93_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_1/mask_97_1.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_101_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_105_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_109_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_113_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_117_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_121_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_125_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_129_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_133_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_137_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_141_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_145_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_149_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_153_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_157_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_161_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_165_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_169_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_173_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_177_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_21_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_25_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_29_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_33_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_37_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_41_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_45_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_49_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_53_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_57_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_61_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_65_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_69_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_73_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_77_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_81_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_85_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_89_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_93_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_2/mask_97_2.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_101_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_105_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_109_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_113_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_117_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_121_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_125_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_129_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_133_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_137_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_141_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_145_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_149_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_153_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_157_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_161_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_165_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_169_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_173_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_177_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_21_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_25_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_29_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_33_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_37_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_41_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_45_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_49_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_53_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_57_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_61_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_65_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_69_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_73_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_77_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_81_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_85_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_89_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_93_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_3/mask_97_3.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_101_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_105_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_109_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_113_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_117_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_121_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_125_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_129_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_133_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_137_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_141_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_145_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_149_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_153_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_157_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_161_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_165_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_169_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_173_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_177_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_21_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_25_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_29_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_33_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_37_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_41_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_45_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_49_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_53_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_57_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_61_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_65_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_69_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_73_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_77_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_81_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_85_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_89_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_93_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_4/mask_97_4.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_101_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_105_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_109_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_113_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_117_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_121_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_125_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_129_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_133_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_137_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_141_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_145_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_149_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_153_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_157_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_161_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_165_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_169_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_173_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_177_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_21_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_25_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_29_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_33_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_37_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_41_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_45_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_49_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_53_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_57_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_61_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_65_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_69_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_73_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_77_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_81_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_85_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_89_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_93_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_5/mask_97_5.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_101_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_105_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_109_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_113_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_117_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_121_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_125_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_129_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_133_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_137_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_141_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_145_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_149_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_153_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_157_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_161_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_165_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_169_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_173_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_177_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_21_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_25_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_29_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_33_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_37_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_41_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_45_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_49_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_53_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_57_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_61_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_65_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_69_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_73_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_77_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_81_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_85_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_89_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_93_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_6/mask_97_6.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_101_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_105_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_109_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_113_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_117_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_121_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_125_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_129_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_133_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_137_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_141_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_145_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_149_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_153_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_157_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_161_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_165_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_169_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_173_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_177_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_21_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_25_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_29_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_33_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_37_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_41_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_45_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_49_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_53_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_57_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_61_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_65_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_69_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_73_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_77_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_81_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_85_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_89_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_93_7.dat create mode 100644 source/lib/phpqrcode/cache/mask_7/mask_97_7.dat create mode 100644 source/lib/phpqrcode/index.php create mode 100644 source/lib/phpqrcode/phpqrcode.php create mode 100644 source/lib/phpqrcode/qrbitstream.php create mode 100644 source/lib/phpqrcode/qrconfig.php create mode 100644 source/lib/phpqrcode/qrconst.php create mode 100644 source/lib/phpqrcode/qrencode.php create mode 100644 source/lib/phpqrcode/qrimage.php create mode 100644 source/lib/phpqrcode/qrinput.php create mode 100644 source/lib/phpqrcode/qrlib.php create mode 100644 source/lib/phpqrcode/qrmask.php create mode 100644 source/lib/phpqrcode/qrrscode.php create mode 100644 source/lib/phpqrcode/qrspec.php create mode 100644 source/lib/phpqrcode/qrsplit.php create mode 100644 source/lib/phpqrcode/qrtools.php create mode 100644 source/lib/phpqrcode/tools/merge.bat create mode 100644 source/lib/phpqrcode/tools/merge.php create mode 100644 source/lib/phpqrcode/tools/merge.sh create mode 100644 source/lib/phpqrcode/tools/merged_config.php create mode 100644 source/lib/phpqrcode/tools/merged_header.php create mode 100644 source/lib/prototype.js create mode 100644 source/lib/pubsubhubbub/README.txt create mode 100644 source/lib/pubsubhubbub/publisher.php create mode 100644 source/lib/pubsubhubbub/subscriber.php create mode 100644 source/lib/scriptaculous/controls.js create mode 100644 source/lib/scriptaculous/dragdrop.js create mode 100644 source/lib/scriptaculous/effects.js create mode 100644 source/lib/scriptaculous/scriptaculous.js create mode 100644 source/lib/sphinxapi.php create mode 100644 source/lib/timezones.txt create mode 100644 source/lib/xsl_mop-up.js create mode 100644 source/locale/.htaccess create mode 100644 source/locale/ca_CA/LC_MESSAGES/messages.mo create mode 100644 source/locale/ca_CA/LC_MESSAGES/messages.po create mode 100644 source/locale/cs_CZ/LC_MESSAGES/messages.mo create mode 100644 source/locale/cs_CZ/LC_MESSAGES/messages.po create mode 100755 source/locale/de_DE/LC_MESSAGES/messages.mo create mode 100755 source/locale/de_DE/LC_MESSAGES/messages.po create mode 100644 source/locale/es_ES/LC_MESSAGES/messages.mo create mode 100644 source/locale/es_ES/LC_MESSAGES/messages.po create mode 100644 source/locale/fi_FI/LC_MESSAGES/messages.mo create mode 100644 source/locale/fi_FI/LC_MESSAGES/messages.po create mode 100644 source/locale/fr_FR/LC_MESSAGES/messages.mo create mode 100644 source/locale/fr_FR/LC_MESSAGES/messages.po create mode 100644 source/locale/hu_HU/LC_MESSAGES/messages.mo create mode 100644 source/locale/hu_HU/LC_MESSAGES/messages.po create mode 100644 source/locale/it_IT/LC_MESSAGES/messages.mo create mode 100644 source/locale/it_IT/LC_MESSAGES/messages.po create mode 100644 source/locale/ja_JP/LC_MESSAGES/messages.mo create mode 100644 source/locale/ja_JP/LC_MESSAGES/messages.po create mode 100644 source/locale/ko_KR/LC_MESSAGES/messages.mo create mode 100644 source/locale/ko_KR/LC_MESSAGES/messages.po create mode 100644 source/locale/lv_LV/LC_MESSAGES/messages.mo create mode 100644 source/locale/lv_LV/LC_MESSAGES/messages.po create mode 100644 source/locale/nb_NO/LC_MESSAGES/messages.mo create mode 100644 source/locale/nb_NO/LC_MESSAGES/messages.po create mode 100644 source/locale/nl_NL/LC_MESSAGES/messages.mo create mode 100644 source/locale/nl_NL/LC_MESSAGES/messages.po create mode 100644 source/locale/pl_PL/LC_MESSAGES/messages.mo create mode 100644 source/locale/pl_PL/LC_MESSAGES/messages.po create mode 100755 source/locale/pt_BR/LC_MESSAGES/messages.mo create mode 100644 source/locale/pt_BR/LC_MESSAGES/messages.po create mode 100644 source/locale/ru_RU/LC_MESSAGES/messages.mo create mode 100644 source/locale/ru_RU/LC_MESSAGES/messages.po create mode 100644 source/locale/sv_SE/LC_MESSAGES/messages.mo create mode 100644 source/locale/sv_SE/LC_MESSAGES/messages.po create mode 100644 source/locale/zh_CN/LC_MESSAGES/messages.mo create mode 100644 source/locale/zh_CN/LC_MESSAGES/messages.po create mode 100644 source/messages.pot create mode 100644 source/opml.php create mode 100644 source/plugins/af_buni/init.php create mode 100644 source/plugins/af_buttersafe/init.php create mode 100644 source/plugins/af_dilbert/init.php create mode 100644 source/plugins/af_explosm/init.php create mode 100644 source/plugins/af_gocomics/init.php create mode 100644 source/plugins/af_natgeo/init.php create mode 100644 source/plugins/af_pennyarcade/init.php create mode 100644 source/plugins/af_redditimgur/init.php create mode 100644 source/plugins/af_sciam/init.php create mode 100644 source/plugins/af_unburn/init.php create mode 100644 source/plugins/af_whomp/init.php create mode 100644 source/plugins/auth_internal/init.php create mode 100644 source/plugins/auth_remote/init.php create mode 100644 source/plugins/bookmarklets/init.php create mode 100644 source/plugins/cache_starred_images/init.php create mode 100644 source/plugins/close_button/button.png create mode 100644 source/plugins/close_button/init.php create mode 100644 source/plugins/embed_original/button.png create mode 100644 source/plugins/embed_original/init.css create mode 100644 source/plugins/embed_original/init.js create mode 100644 source/plugins/embed_original/init.php create mode 100644 source/plugins/googlereaderimport/init.js create mode 100644 source/plugins/googlereaderimport/init.php create mode 100644 source/plugins/googlereaderkeys/init.php create mode 100644 source/plugins/import_export/import_export.js create mode 100644 source/plugins/import_export/init.php create mode 100644 source/plugins/index.html create mode 100644 source/plugins/instances/init.php create mode 100644 source/plugins/instances/instances.js create mode 100644 source/plugins/mail/init.php create mode 100644 source/plugins/mail/mail.js create mode 100644 source/plugins/mail/mail.png create mode 100644 source/plugins/mailto/init.js create mode 100644 source/plugins/mailto/init.php create mode 100644 source/plugins/mailto/mail.png create mode 100644 source/plugins/mark_button/init.php create mode 100644 source/plugins/no_iframes/init.php create mode 100644 source/plugins/no_title_counters/init.js create mode 100644 source/plugins/no_title_counters/init.php create mode 100644 source/plugins/note/init.php create mode 100644 source/plugins/note/note.js create mode 100644 source/plugins/note/note.png create mode 100644 source/plugins/nsfw/init.js create mode 100644 source/plugins/nsfw/init.php create mode 100644 source/plugins/share/init.php create mode 100644 source/plugins/share/notshared.png create mode 100644 source/plugins/share/share.js create mode 100644 source/plugins/share/share.png create mode 100644 source/plugins/share/share_prefs.js create mode 100644 source/plugins/shorten_expanded/init.css create mode 100644 source/plugins/shorten_expanded/init.js create mode 100644 source/plugins/shorten_expanded/init.php create mode 100644 source/plugins/swap_jk/init.php create mode 100644 source/plugins/updater/init.php create mode 100644 source/plugins/updater/updater.js create mode 100644 source/plugins/vf_shared/init.php create mode 100644 source/plugins/vf_shared/share.png create mode 100644 source/prefs.php create mode 100644 source/public.php create mode 100644 source/register.php create mode 100644 source/schema/.htaccess create mode 100644 source/schema/ttrss_schema_mysql.sql create mode 100644 source/schema/ttrss_schema_pgsql.sql create mode 100644 source/schema/versions/mysql/10.sql create mode 100644 source/schema/versions/mysql/100.sql create mode 100644 source/schema/versions/mysql/101.sql create mode 100644 source/schema/versions/mysql/102.sql create mode 100644 source/schema/versions/mysql/103.sql create mode 100644 source/schema/versions/mysql/104.sql create mode 100644 source/schema/versions/mysql/105.sql create mode 100644 source/schema/versions/mysql/106.sql create mode 100644 source/schema/versions/mysql/107.sql create mode 100644 source/schema/versions/mysql/108.sql create mode 100644 source/schema/versions/mysql/109.sql create mode 100644 source/schema/versions/mysql/11.sql create mode 100644 source/schema/versions/mysql/110.sql create mode 100644 source/schema/versions/mysql/111.sql create mode 100644 source/schema/versions/mysql/112.sql create mode 100644 source/schema/versions/mysql/113.sql create mode 100644 source/schema/versions/mysql/114.sql create mode 100644 source/schema/versions/mysql/115.sql create mode 100644 source/schema/versions/mysql/116.sql create mode 100644 source/schema/versions/mysql/117.sql create mode 100644 source/schema/versions/mysql/118.sql create mode 100644 source/schema/versions/mysql/119.sql create mode 100644 source/schema/versions/mysql/12.sql create mode 100644 source/schema/versions/mysql/120.sql create mode 100644 source/schema/versions/mysql/121.sql create mode 100644 source/schema/versions/mysql/122.sql create mode 100644 source/schema/versions/mysql/123.sql create mode 100644 source/schema/versions/mysql/13.sql create mode 100644 source/schema/versions/mysql/14.sql create mode 100644 source/schema/versions/mysql/15.sql create mode 100644 source/schema/versions/mysql/16.sql create mode 100644 source/schema/versions/mysql/17.sql create mode 100644 source/schema/versions/mysql/18.sql create mode 100644 source/schema/versions/mysql/19.sql create mode 100644 source/schema/versions/mysql/20.sql create mode 100644 source/schema/versions/mysql/21.sql create mode 100644 source/schema/versions/mysql/22.sql create mode 100644 source/schema/versions/mysql/23.sql create mode 100644 source/schema/versions/mysql/24.sql create mode 100644 source/schema/versions/mysql/25.sql create mode 100644 source/schema/versions/mysql/26.sql create mode 100644 source/schema/versions/mysql/27.sql create mode 100644 source/schema/versions/mysql/28.sql create mode 100644 source/schema/versions/mysql/29.sql create mode 100644 source/schema/versions/mysql/3.sql create mode 100644 source/schema/versions/mysql/30.sql create mode 100644 source/schema/versions/mysql/31.sql create mode 100644 source/schema/versions/mysql/32.sql create mode 100644 source/schema/versions/mysql/33.sql create mode 100644 source/schema/versions/mysql/34.sql create mode 100644 source/schema/versions/mysql/35.sql create mode 100644 source/schema/versions/mysql/36.sql create mode 100644 source/schema/versions/mysql/37.sql create mode 100644 source/schema/versions/mysql/38.sql create mode 100644 source/schema/versions/mysql/39.sql create mode 100644 source/schema/versions/mysql/4.sql create mode 100644 source/schema/versions/mysql/40.sql create mode 100644 source/schema/versions/mysql/41.sql create mode 100644 source/schema/versions/mysql/42.sql create mode 100644 source/schema/versions/mysql/43.sql create mode 100644 source/schema/versions/mysql/44.sql create mode 100644 source/schema/versions/mysql/45.sql create mode 100644 source/schema/versions/mysql/46.sql create mode 100644 source/schema/versions/mysql/47.sql create mode 100644 source/schema/versions/mysql/48.sql create mode 100644 source/schema/versions/mysql/49.sql create mode 100644 source/schema/versions/mysql/5.sql create mode 100644 source/schema/versions/mysql/50.sql create mode 100644 source/schema/versions/mysql/51.sql create mode 100644 source/schema/versions/mysql/52.sql create mode 100644 source/schema/versions/mysql/53.sql create mode 100644 source/schema/versions/mysql/54.sql create mode 100644 source/schema/versions/mysql/55.sql create mode 100644 source/schema/versions/mysql/56.sql create mode 100644 source/schema/versions/mysql/57.sql create mode 100644 source/schema/versions/mysql/58.sql create mode 100644 source/schema/versions/mysql/59.sql create mode 100644 source/schema/versions/mysql/6.sql create mode 100644 source/schema/versions/mysql/60.sql create mode 100644 source/schema/versions/mysql/61.sql create mode 100644 source/schema/versions/mysql/62.sql create mode 100644 source/schema/versions/mysql/63.sql create mode 100644 source/schema/versions/mysql/64.sql create mode 100644 source/schema/versions/mysql/65.sql create mode 100644 source/schema/versions/mysql/66.sql create mode 100644 source/schema/versions/mysql/67.sql create mode 100644 source/schema/versions/mysql/68.sql create mode 100644 source/schema/versions/mysql/69.sql create mode 100644 source/schema/versions/mysql/7.sql create mode 100644 source/schema/versions/mysql/70.sql create mode 100644 source/schema/versions/mysql/71.sql create mode 100644 source/schema/versions/mysql/72.sql create mode 100644 source/schema/versions/mysql/73.sql create mode 100644 source/schema/versions/mysql/74.sql create mode 100644 source/schema/versions/mysql/75.sql create mode 100644 source/schema/versions/mysql/76.sql create mode 100644 source/schema/versions/mysql/77.sql create mode 100644 source/schema/versions/mysql/78.sql create mode 100644 source/schema/versions/mysql/79.sql create mode 100644 source/schema/versions/mysql/8.sql create mode 100644 source/schema/versions/mysql/80.sql create mode 100644 source/schema/versions/mysql/81.sql create mode 100644 source/schema/versions/mysql/82.sql create mode 100644 source/schema/versions/mysql/83.sql create mode 100644 source/schema/versions/mysql/84.sql create mode 100644 source/schema/versions/mysql/85.sql create mode 100644 source/schema/versions/mysql/86.sql create mode 100644 source/schema/versions/mysql/87.sql create mode 100644 source/schema/versions/mysql/88.sql create mode 100644 source/schema/versions/mysql/89.sql create mode 100644 source/schema/versions/mysql/9.sql create mode 100644 source/schema/versions/mysql/90.sql create mode 100644 source/schema/versions/mysql/91.sql create mode 100644 source/schema/versions/mysql/92.sql create mode 100644 source/schema/versions/mysql/93.sql create mode 100644 source/schema/versions/mysql/94.sql create mode 100644 source/schema/versions/mysql/95.sql create mode 100644 source/schema/versions/mysql/96.sql create mode 100644 source/schema/versions/mysql/97.sql create mode 100644 source/schema/versions/mysql/98.sql create mode 100644 source/schema/versions/mysql/99.sql create mode 100644 source/schema/versions/pgsql/10.sql create mode 100644 source/schema/versions/pgsql/100.sql create mode 100644 source/schema/versions/pgsql/101.sql create mode 100644 source/schema/versions/pgsql/102.sql create mode 100644 source/schema/versions/pgsql/103.sql create mode 100644 source/schema/versions/pgsql/104.sql create mode 100644 source/schema/versions/pgsql/105.sql create mode 100644 source/schema/versions/pgsql/106.sql create mode 100644 source/schema/versions/pgsql/107.sql create mode 100644 source/schema/versions/pgsql/108.sql create mode 100644 source/schema/versions/pgsql/109.sql create mode 100644 source/schema/versions/pgsql/11.sql create mode 100644 source/schema/versions/pgsql/110.sql create mode 100644 source/schema/versions/pgsql/111.sql create mode 100644 source/schema/versions/pgsql/112.sql create mode 100644 source/schema/versions/pgsql/113.sql create mode 100644 source/schema/versions/pgsql/114.sql create mode 100644 source/schema/versions/pgsql/115.sql create mode 100644 source/schema/versions/pgsql/116.sql create mode 100644 source/schema/versions/pgsql/117.sql create mode 100644 source/schema/versions/pgsql/118.sql create mode 100644 source/schema/versions/pgsql/119.sql create mode 100644 source/schema/versions/pgsql/12.sql create mode 100644 source/schema/versions/pgsql/120.sql create mode 100644 source/schema/versions/pgsql/121.sql create mode 100644 source/schema/versions/pgsql/122.sql create mode 100644 source/schema/versions/pgsql/123.sql create mode 100644 source/schema/versions/pgsql/13.sql create mode 100644 source/schema/versions/pgsql/14.sql create mode 100644 source/schema/versions/pgsql/15.sql create mode 100644 source/schema/versions/pgsql/16.sql create mode 100644 source/schema/versions/pgsql/17.sql create mode 100644 source/schema/versions/pgsql/18.sql create mode 100644 source/schema/versions/pgsql/19.sql create mode 100644 source/schema/versions/pgsql/20.sql create mode 100644 source/schema/versions/pgsql/21.sql create mode 100644 source/schema/versions/pgsql/22.sql create mode 100644 source/schema/versions/pgsql/23.sql create mode 100644 source/schema/versions/pgsql/24.sql create mode 100644 source/schema/versions/pgsql/25.sql create mode 100644 source/schema/versions/pgsql/26.sql create mode 100644 source/schema/versions/pgsql/27.sql create mode 100644 source/schema/versions/pgsql/28.sql create mode 100644 source/schema/versions/pgsql/29.sql create mode 100644 source/schema/versions/pgsql/3.sql create mode 100644 source/schema/versions/pgsql/30.sql create mode 100644 source/schema/versions/pgsql/31.sql create mode 100644 source/schema/versions/pgsql/32.sql create mode 100644 source/schema/versions/pgsql/33.sql create mode 100644 source/schema/versions/pgsql/34.sql create mode 100644 source/schema/versions/pgsql/35.sql create mode 100644 source/schema/versions/pgsql/36.sql create mode 100644 source/schema/versions/pgsql/37.sql create mode 100644 source/schema/versions/pgsql/38.sql create mode 100644 source/schema/versions/pgsql/39.sql create mode 100644 source/schema/versions/pgsql/4.sql create mode 100644 source/schema/versions/pgsql/40.sql create mode 100644 source/schema/versions/pgsql/41.sql create mode 100644 source/schema/versions/pgsql/42.sql create mode 100644 source/schema/versions/pgsql/43.sql create mode 100644 source/schema/versions/pgsql/44.sql create mode 100644 source/schema/versions/pgsql/45.sql create mode 100644 source/schema/versions/pgsql/46.sql create mode 100644 source/schema/versions/pgsql/47.sql create mode 100644 source/schema/versions/pgsql/48.sql create mode 100644 source/schema/versions/pgsql/49.sql create mode 100644 source/schema/versions/pgsql/5.sql create mode 100644 source/schema/versions/pgsql/50.sql create mode 100644 source/schema/versions/pgsql/51.sql create mode 100644 source/schema/versions/pgsql/52.sql create mode 100644 source/schema/versions/pgsql/53.sql create mode 100644 source/schema/versions/pgsql/54.sql create mode 100644 source/schema/versions/pgsql/55.sql create mode 100644 source/schema/versions/pgsql/56.sql create mode 100644 source/schema/versions/pgsql/57.sql create mode 100644 source/schema/versions/pgsql/58.sql create mode 100644 source/schema/versions/pgsql/59.sql create mode 100644 source/schema/versions/pgsql/6.sql create mode 100644 source/schema/versions/pgsql/60.sql create mode 100644 source/schema/versions/pgsql/61.sql create mode 100644 source/schema/versions/pgsql/62.sql create mode 100644 source/schema/versions/pgsql/63.sql create mode 100644 source/schema/versions/pgsql/64.sql create mode 100644 source/schema/versions/pgsql/65.sql create mode 100644 source/schema/versions/pgsql/66.sql create mode 100644 source/schema/versions/pgsql/67.sql create mode 100644 source/schema/versions/pgsql/68.sql create mode 100644 source/schema/versions/pgsql/69.sql create mode 100644 source/schema/versions/pgsql/7.sql create mode 100644 source/schema/versions/pgsql/70.sql create mode 100644 source/schema/versions/pgsql/71.sql create mode 100644 source/schema/versions/pgsql/72.sql create mode 100644 source/schema/versions/pgsql/73.sql create mode 100644 source/schema/versions/pgsql/74.sql create mode 100644 source/schema/versions/pgsql/75.sql create mode 100644 source/schema/versions/pgsql/76.sql create mode 100644 source/schema/versions/pgsql/77.sql create mode 100644 source/schema/versions/pgsql/78.sql create mode 100644 source/schema/versions/pgsql/79.sql create mode 100644 source/schema/versions/pgsql/8.sql create mode 100644 source/schema/versions/pgsql/80.sql create mode 100644 source/schema/versions/pgsql/81.sql create mode 100644 source/schema/versions/pgsql/82.sql create mode 100644 source/schema/versions/pgsql/83.sql create mode 100644 source/schema/versions/pgsql/84.sql create mode 100644 source/schema/versions/pgsql/85.sql create mode 100644 source/schema/versions/pgsql/86.sql create mode 100644 source/schema/versions/pgsql/87.sql create mode 100644 source/schema/versions/pgsql/88.sql create mode 100644 source/schema/versions/pgsql/89.sql create mode 100644 source/schema/versions/pgsql/9.sql create mode 100644 source/schema/versions/pgsql/90.sql create mode 100644 source/schema/versions/pgsql/91.sql create mode 100644 source/schema/versions/pgsql/92.sql create mode 100644 source/schema/versions/pgsql/93.sql create mode 100644 source/schema/versions/pgsql/94.sql create mode 100644 source/schema/versions/pgsql/95.sql create mode 100644 source/schema/versions/pgsql/96.sql create mode 100644 source/schema/versions/pgsql/97.sql create mode 100644 source/schema/versions/pgsql/98.sql create mode 100644 source/schema/versions/pgsql/99.sql create mode 100644 source/templates/.htaccess create mode 100644 source/templates/digest_template.txt create mode 100644 source/templates/digest_template_html.txt create mode 100644 source/templates/email_article_template.txt create mode 100644 source/templates/generated_feed.txt create mode 100644 source/templates/resetpass_template.txt create mode 100644 source/themes/.empty create mode 100644 source/themes/default.css create mode 100755 source/update.php create mode 100755 source/update_daemon2.php create mode 100644 source/utils/.htaccess create mode 100755 source/utils/extract-i18n-js.pl create mode 100644 source/utils/localized_schema.txt create mode 100755 source/utils/regen_config_checks.sh create mode 100755 source/utils/update-translations.sh diff --git a/source/LICENSE b/source/LICENSE new file mode 100644 index 0000000..d511905 --- /dev/null +++ b/source/LICENSE @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/source/README.md b/source/README.md new file mode 100644 index 0000000..97218cd --- /dev/null +++ b/source/README.md @@ -0,0 +1,41 @@ +Tiny Tiny RSS +============= + +Web-based news feed aggregator, designed to allow you to read news from +any location, while feeling as close to a real desktop application as possible. + +http://tt-rss.org + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +Copyright (c) 2005 Andrew Dolgov (unless explicitly stated otherwise). + +Uses Silk icons by Mark James: http://www.famfamfam.com/lab/icons/silk/ + +## Requirements + +* Compatible web browser (http://tt-rss.org/wiki/CompatibleBrowsers) +* Web server, for example Apache +* PHP (with support for mbstring functions) +* PostgreSQL (tested on 8.3) or MySQL (InnoDB and version 4.1+ required) + +## Installation Notes + +http://tt-rss.org/wiki/InstallationNotes + +## See also + +* FAQ: http://tt-rss.org/wiki/FrequentlyAskedQuestions +* Forum: http://tt-rss.org/forum +* Wiki: http://tt-rss.org/wiki/WikiStart diff --git a/source/api/index.php b/source/api/index.php new file mode 100644 index 0000000..facdf82 --- /dev/null +++ b/source/api/index.php @@ -0,0 +1,74 @@ +before($method)) { + if ($method && method_exists($handler, $method)) { + $handler->$method(); + } else if (method_exists($handler, 'index')) { + $handler->index($method); + } + $handler->after(); + } + + header("Api-Content-Length: " . ob_get_length()); + + ob_end_flush(); +?> diff --git a/source/atom-to-html.xsl b/source/atom-to-html.xsl new file mode 100644 index 0000000..1b827bb --- /dev/null +++ b/source/atom-to-html.xsl @@ -0,0 +1,51 @@ + + + + + + + + + <xsl:value-of select="atom:title"/> + + + + + + + + +
+ +

+ +

This feed has been exported from + Tiny Tiny RSS. + It contains the following items:

+ + +

+ +
+ +
+ + +

Extra...

+
+ + +
+ +
+ + + +
+ +
+ diff --git a/source/backend.php b/source/backend.php new file mode 100644 index 0000000..84abc97 --- /dev/null +++ b/source/backend.php @@ -0,0 +1,154 @@ + array("code" => 6))); + return; + } + load_user_plugins( $_SESSION["uid"]); + } + + $purge_intervals = array( + 0 => __("Use default"), + -1 => __("Never purge"), + 5 => __("1 week old"), + 14 => __("2 weeks old"), + 31 => __("1 month old"), + 60 => __("2 months old"), + 90 => __("3 months old")); + + $update_intervals = array( + 0 => __("Default interval"), + -1 => __("Disable updates"), + 15 => __("Each 15 minutes"), + 30 => __("Each 30 minutes"), + 60 => __("Hourly"), + 240 => __("Each 4 hours"), + 720 => __("Each 12 hours"), + 1440 => __("Daily"), + 10080 => __("Weekly")); + + $update_intervals_nodefault = array( + -1 => __("Disable updates"), + 15 => __("Each 15 minutes"), + 30 => __("Each 30 minutes"), + 60 => __("Hourly"), + 240 => __("Each 4 hours"), + 720 => __("Each 12 hours"), + 1440 => __("Daily"), + 10080 => __("Weekly")); + + $access_level_names = array( + 0 => __("User"), + 5 => __("Power User"), + 10 => __("Administrator")); + + #$error = sanity_check(); + + #if ($error['code'] != 0 && $op != "logout") { + # print json_encode(array("error" => $error)); + # return; + #} + + $op = str_replace("-", "_", $op); + + $override = PluginHost::getInstance()->lookup_handler($op, $method); + + if (class_exists($op) || $override) { + + if ($override) { + $handler = $override; + } else { + $handler = new $op($_REQUEST); + } + + if ($handler && implements_interface($handler, 'IHandler')) { + if (validate_csrf($csrf_token) || $handler->csrf_ignore($method)) { + if ($handler->before($method)) { + if ($method && method_exists($handler, $method)) { + $handler->$method(); + } else { + if (method_exists($handler, "catchall")) { + $handler->catchall($method); + } + } + $handler->after(); + return; + } else { + header("Content-Type: text/json"); + print json_encode(array("error" => array("code" => 6))); + return; + } + } else { + header("Content-Type: text/json"); + print json_encode(array("error" => array("code" => 6))); + return; + } + } + } + + header("Content-Type: text/json"); + print json_encode(array("error" => array("code" => 7))); + +?> diff --git a/source/cache/.htaccess b/source/cache/.htaccess new file mode 100755 index 0000000..93169e4 --- /dev/null +++ b/source/cache/.htaccess @@ -0,0 +1,2 @@ +Order deny,allow +Deny from all diff --git a/source/classes/.htaccess b/source/classes/.htaccess new file mode 100644 index 0000000..93169e4 --- /dev/null +++ b/source/classes/.htaccess @@ -0,0 +1,2 @@ +Order deny,allow +Deny from all diff --git a/source/classes/api.php b/source/classes/api.php new file mode 100644 index 0000000..bbbcbb5 --- /dev/null +++ b/source/classes/api.php @@ -0,0 +1,784 @@ +wrap(self::STATUS_ERR, array("error" => 'NOT_LOGGED_IN')); + return false; + } + + if ($_SESSION["uid"] && $method != "logout" && !get_pref('ENABLE_API_ACCESS')) { + $this->wrap(self::STATUS_ERR, array("error" => 'API_DISABLED')); + return false; + } + + $this->seq = (int) $_REQUEST['seq']; + + return true; + } + return false; + } + + function wrap($status, $reply) { + print json_encode(array("seq" => $this->seq, + "status" => $status, + "content" => $reply)); + } + + function getVersion() { + $rv = array("version" => VERSION); + $this->wrap(self::STATUS_OK, $rv); + } + + function getApiLevel() { + $rv = array("level" => self::API_LEVEL); + $this->wrap(self::STATUS_OK, $rv); + } + + function login() { + @session_destroy(); + @session_start(); + + $login = $this->dbh->escape_string($_REQUEST["user"]); + $password = $_REQUEST["password"]; + $password_base64 = base64_decode($_REQUEST["password"]); + + if (SINGLE_USER_MODE) $login = "admin"; + + $result = $this->dbh->query("SELECT id FROM ttrss_users WHERE login = '$login'"); + + if ($this->dbh->num_rows($result) != 0) { + $uid = $this->dbh->fetch_result($result, 0, "id"); + } else { + $uid = 0; + } + + if (!$uid) { + $this->wrap(self::STATUS_ERR, array("error" => "LOGIN_ERROR")); + return; + } + + if (get_pref("ENABLE_API_ACCESS", $uid)) { + if (authenticate_user($login, $password)) { // try login with normal password + $this->wrap(self::STATUS_OK, array("session_id" => session_id(), + "api_level" => self::API_LEVEL)); + } else if (authenticate_user($login, $password_base64)) { // else try with base64_decoded password + $this->wrap(self::STATUS_OK, array("session_id" => session_id(), + "api_level" => self::API_LEVEL)); + } else { // else we are not logged in + $this->wrap(self::STATUS_ERR, array("error" => "LOGIN_ERROR")); + } + } else { + $this->wrap(self::STATUS_ERR, array("error" => "API_DISABLED")); + } + + } + + function logout() { + logout_user(); + $this->wrap(self::STATUS_OK, array("status" => "OK")); + } + + function isLoggedIn() { + $this->wrap(self::STATUS_OK, array("status" => $_SESSION["uid"] != '')); + } + + function getUnread() { + $feed_id = $this->dbh->escape_string($_REQUEST["feed_id"]); + $is_cat = $this->dbh->escape_string($_REQUEST["is_cat"]); + + if ($feed_id) { + $this->wrap(self::STATUS_OK, array("unread" => getFeedUnread($feed_id, $is_cat))); + } else { + $this->wrap(self::STATUS_OK, array("unread" => getGlobalUnread())); + } + } + + /* Method added for ttrss-reader for Android */ + function getCounters() { + $this->wrap(self::STATUS_OK, getAllCounters()); + } + + function getFeeds() { + $cat_id = $this->dbh->escape_string($_REQUEST["cat_id"]); + $unread_only = sql_bool_to_bool($_REQUEST["unread_only"]); + $limit = (int) $this->dbh->escape_string($_REQUEST["limit"]); + $offset = (int) $this->dbh->escape_string($_REQUEST["offset"]); + $include_nested = sql_bool_to_bool($_REQUEST["include_nested"]); + + $feeds = $this->api_get_feeds($cat_id, $unread_only, $limit, $offset, $include_nested); + + $this->wrap(self::STATUS_OK, $feeds); + } + + function getCategories() { + $unread_only = sql_bool_to_bool($_REQUEST["unread_only"]); + $enable_nested = sql_bool_to_bool($_REQUEST["enable_nested"]); + $include_empty = sql_bool_to_bool($_REQUEST['include_empty']); + + // TODO do not return empty categories, return Uncategorized and standard virtual cats + + if ($enable_nested) + $nested_qpart = "parent_cat IS NULL"; + else + $nested_qpart = "true"; + + $result = $this->dbh->query("SELECT + id, title, order_id, (SELECT COUNT(id) FROM + ttrss_feeds WHERE + ttrss_feed_categories.id IS NOT NULL AND cat_id = ttrss_feed_categories.id) AS num_feeds, + (SELECT COUNT(id) FROM + ttrss_feed_categories AS c2 WHERE + c2.parent_cat = ttrss_feed_categories.id) AS num_cats + FROM ttrss_feed_categories + WHERE $nested_qpart AND owner_uid = " . + $_SESSION["uid"]); + + $cats = array(); + + while ($line = $this->dbh->fetch_assoc($result)) { + if ($include_empty || $line["num_feeds"] > 0 || $line["num_cats"] > 0) { + $unread = getFeedUnread($line["id"], true); + + if ($enable_nested) + $unread += getCategoryChildrenUnread($line["id"]); + + if ($unread || !$unread_only) { + array_push($cats, array("id" => $line["id"], + "title" => $line["title"], + "unread" => $unread, + "order_id" => (int) $line["order_id"], + )); + } + } + } + + foreach (array(-2,-1,0) as $cat_id) { + if ($include_empty || !$this->isCategoryEmpty($cat_id)) { + $unread = getFeedUnread($cat_id, true); + + if ($unread || !$unread_only) { + array_push($cats, array("id" => $cat_id, + "title" => getCategoryTitle($cat_id), + "unread" => $unread)); + } + } + } + + $this->wrap(self::STATUS_OK, $cats); + } + + function getHeadlines() { + $feed_id = $this->dbh->escape_string($_REQUEST["feed_id"]); + if ($feed_id != "") { + + $limit = (int)$this->dbh->escape_string($_REQUEST["limit"]); + + if (!$limit || $limit >= 200) $limit = 200; + + $offset = (int)$this->dbh->escape_string($_REQUEST["skip"]); + $filter = $this->dbh->escape_string($_REQUEST["filter"]); + $is_cat = sql_bool_to_bool($_REQUEST["is_cat"]); + $show_excerpt = sql_bool_to_bool($_REQUEST["show_excerpt"]); + $show_content = sql_bool_to_bool($_REQUEST["show_content"]); + /* all_articles, unread, adaptive, marked, updated */ + $view_mode = $this->dbh->escape_string($_REQUEST["view_mode"]); + $include_attachments = sql_bool_to_bool($_REQUEST["include_attachments"]); + $since_id = (int)$this->dbh->escape_string($_REQUEST["since_id"]); + $include_nested = sql_bool_to_bool($_REQUEST["include_nested"]); + $sanitize_content = !isset($_REQUEST["sanitize"]) || + sql_bool_to_bool($_REQUEST["sanitize"]); + + $override_order = false; + switch ($_REQUEST["order_by"]) { + case "date_reverse": + $override_order = "score DESC, date_entered, updated"; + break; + case "feed_dates": + $override_order = "updated DESC"; + break; + } + + /* do not rely on params below */ + + $search = $this->dbh->escape_string($_REQUEST["search"]); + $search_mode = $this->dbh->escape_string($_REQUEST["search_mode"]); + + $headlines = $this->api_get_headlines($feed_id, $limit, $offset, + $filter, $is_cat, $show_excerpt, $show_content, $view_mode, $override_order, + $include_attachments, $since_id, $search, $search_mode, + $include_nested, $sanitize_content); + + $this->wrap(self::STATUS_OK, $headlines); + } else { + $this->wrap(self::STATUS_ERR, array("error" => 'INCORRECT_USAGE')); + } + } + + function updateArticle() { + $article_ids = array_filter(explode(",", $this->dbh->escape_string($_REQUEST["article_ids"])), is_numeric); + $mode = (int) $this->dbh->escape_string($_REQUEST["mode"]); + $data = $this->dbh->escape_string($_REQUEST["data"]); + $field_raw = (int)$this->dbh->escape_string($_REQUEST["field"]); + + $field = ""; + $set_to = ""; + + switch ($field_raw) { + case 0: + $field = "marked"; + $additional_fields = ",last_marked = NOW()"; + break; + case 1: + $field = "published"; + $additional_fields = ",last_published = NOW()"; + break; + case 2: + $field = "unread"; + $additional_fields = ",last_read = NOW()"; + break; + case 3: + $field = "note"; + }; + + switch ($mode) { + case 1: + $set_to = "true"; + break; + case 0: + $set_to = "false"; + break; + case 2: + $set_to = "NOT $field"; + break; + } + + if ($field == "note") $set_to = "'$data'"; + + if ($field && $set_to && count($article_ids) > 0) { + + $article_ids = join(", ", $article_ids); + + $result = $this->dbh->query("UPDATE ttrss_user_entries SET $field = $set_to $additional_fields WHERE ref_id IN ($article_ids) AND owner_uid = " . $_SESSION["uid"]); + + $num_updated = $this->dbh->affected_rows($result); + + if ($num_updated > 0 && $field == "unread") { + $result = $this->dbh->query("SELECT DISTINCT feed_id FROM ttrss_user_entries + WHERE ref_id IN ($article_ids)"); + + while ($line = $this->dbh->fetch_assoc($result)) { + ccache_update($line["feed_id"], $_SESSION["uid"]); + } + } + + if ($num_updated > 0 && $field == "published") { + if (PUBSUBHUBBUB_HUB) { + $rss_link = get_self_url_prefix() . + "/public.php?op=rss&id=-2&key=" . + get_feed_access_key(-2, false); + + $p = new Publisher(PUBSUBHUBBUB_HUB); + $pubsub_result = $p->publish_update($rss_link); + } + } + + $this->wrap(self::STATUS_OK, array("status" => "OK", + "updated" => $num_updated)); + + } else { + $this->wrap(self::STATUS_ERR, array("error" => 'INCORRECT_USAGE')); + } + + } + + function getArticle() { + + $article_id = join(",", array_filter(explode(",", $this->dbh->escape_string($_REQUEST["article_id"])), is_numeric)); + + if ($article_id) { + + $query = "SELECT id,title,link,content,feed_id,comments,int_id, + marked,unread,published,score, + ".SUBSTRING_FOR_DATE."(updated,1,16) as updated, + author,(SELECT title FROM ttrss_feeds WHERE id = feed_id) AS feed_title + FROM ttrss_entries,ttrss_user_entries + WHERE id IN ($article_id) AND ref_id = id AND owner_uid = " . + $_SESSION["uid"] ; + + $result = $this->dbh->query($query); + + $articles = array(); + + if ($this->dbh->num_rows($result) != 0) { + + while ($line = $this->dbh->fetch_assoc($result)) { + + $attachments = get_article_enclosures($line['id']); + + $article = array( + "id" => $line["id"], + "title" => $line["title"], + "link" => $line["link"], + "labels" => get_article_labels($line['id']), + "unread" => sql_bool_to_bool($line["unread"]), + "marked" => sql_bool_to_bool($line["marked"]), + "published" => sql_bool_to_bool($line["published"]), + "comments" => $line["comments"], + "author" => $line["author"], + "updated" => (int) strtotime($line["updated"]), + "content" => $line["content"], + "feed_id" => $line["feed_id"], + "attachments" => $attachments, + "score" => (int)$line["score"], + "feed_title" => $line["feed_title"] + ); + + foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_RENDER_ARTICLE_API) as $p) { + $article = $p->hook_render_article_api(array("article" => $article)); + } + + + array_push($articles, $article); + + } + } + + $this->wrap(self::STATUS_OK, $articles); + } else { + $this->wrap(self::STATUS_ERR, array("error" => 'INCORRECT_USAGE')); + } + } + + function getConfig() { + $config = array( + "icons_dir" => ICONS_DIR, + "icons_url" => ICONS_URL); + + $config["daemon_is_running"] = file_is_locked("update_daemon.lock"); + + $result = $this->dbh->query("SELECT COUNT(*) AS cf FROM + ttrss_feeds WHERE owner_uid = " . $_SESSION["uid"]); + + $num_feeds = $this->dbh->fetch_result($result, 0, "cf"); + + $config["num_feeds"] = (int)$num_feeds; + + $this->wrap(self::STATUS_OK, $config); + } + + function updateFeed() { + require_once "include/rssfuncs.php"; + + $feed_id = (int) $this->dbh->escape_string($_REQUEST["feed_id"]); + + update_rss_feed($feed_id, true); + + $this->wrap(self::STATUS_OK, array("status" => "OK")); + } + + function catchupFeed() { + $feed_id = $this->dbh->escape_string($_REQUEST["feed_id"]); + $is_cat = $this->dbh->escape_string($_REQUEST["is_cat"]); + + catchup_feed($feed_id, $is_cat); + + $this->wrap(self::STATUS_OK, array("status" => "OK")); + } + + function getPref() { + $pref_name = $this->dbh->escape_string($_REQUEST["pref_name"]); + + $this->wrap(self::STATUS_OK, array("value" => get_pref($pref_name))); + } + + function getLabels() { + //$article_ids = array_filter(explode(",", $this->dbh->escape_string($_REQUEST["article_ids"])), is_numeric); + + $article_id = (int)$_REQUEST['article_id']; + + $rv = array(); + + $result = $this->dbh->query("SELECT id, caption, fg_color, bg_color + FROM ttrss_labels2 + WHERE owner_uid = '".$_SESSION['uid']."' ORDER BY caption"); + + if ($article_id) + $article_labels = get_article_labels($article_id); + else + $article_labels = array(); + + while ($line = $this->dbh->fetch_assoc($result)) { + + $checked = false; + foreach ($article_labels as $al) { + if ($al[0] == $line['id']) { + $checked = true; + break; + } + } + + array_push($rv, array( + "id" => (int)label_to_feed_id($line['id']), + "caption" => $line['caption'], + "fg_color" => $line['fg_color'], + "bg_color" => $line['bg_color'], + "checked" => $checked)); + } + + $this->wrap(self::STATUS_OK, $rv); + } + + function setArticleLabel() { + + $article_ids = array_filter(explode(",", $this->dbh->escape_string($_REQUEST["article_ids"])), is_numeric); + $label_id = (int) $this->dbh->escape_string($_REQUEST['label_id']); + $assign = (bool) $this->dbh->escape_string($_REQUEST['assign']) == "true"; + + $label = $this->dbh->escape_string(label_find_caption( + $label_id, $_SESSION["uid"])); + + $num_updated = 0; + + if ($label) { + + foreach ($article_ids as $id) { + + if ($assign) + label_add_article($id, $label, $_SESSION["uid"]); + else + label_remove_article($id, $label, $_SESSION["uid"]); + + ++$num_updated; + + } + } + + $this->wrap(self::STATUS_OK, array("status" => "OK", + "updated" => $num_updated)); + + } + + function index($method) { + $plugin = PluginHost::getInstance()->get_api_method(strtolower($method)); + + if ($plugin && method_exists($plugin, $method)) { + $reply = $plugin->$method(); + + $this->wrap($reply[0], $reply[1]); + + } else { + $this->wrap(self::STATUS_ERR, array("error" => 'UNKNOWN_METHOD', "method" => $method)); + } + } + + function shareToPublished() { + $title = $this->dbh->escape_string(strip_tags($_REQUEST["title"])); + $url = $this->dbh->escape_string(strip_tags($_REQUEST["url"])); + $content = $this->dbh->escape_string(strip_tags($_REQUEST["content"])); + + if (Article::create_published_article($title, $url, $content, "", $_SESSION["uid"])) { + $this->wrap(self::STATUS_OK, array("status" => 'OK')); + } else { + $this->wrap(self::STATUS_ERR, array("error" => 'Publishing failed')); + } + } + + static function api_get_feeds($cat_id, $unread_only, $limit, $offset, $include_nested = false) { + + $feeds = array(); + + /* Labels */ + + if ($cat_id == -4 || $cat_id == -2) { + $counters = getLabelCounters(true); + + foreach (array_values($counters) as $cv) { + + $unread = $cv["counter"]; + + if ($unread || !$unread_only) { + + $row = array( + "id" => $cv["id"], + "title" => $cv["description"], + "unread" => $cv["counter"], + "cat_id" => -2, + ); + + array_push($feeds, $row); + } + } + } + + /* Virtual feeds */ + + if ($cat_id == -4 || $cat_id == -1) { + foreach (array(-1, -2, -3, -4, -6, 0) as $i) { + $unread = getFeedUnread($i); + + if ($unread || !$unread_only) { + $title = getFeedTitle($i); + + $row = array( + "id" => $i, + "title" => $title, + "unread" => $unread, + "cat_id" => -1, + ); + array_push($feeds, $row); + } + + } + } + + /* Child cats */ + + if ($include_nested && $cat_id) { + $result = db_query("SELECT + id, title FROM ttrss_feed_categories + WHERE parent_cat = '$cat_id' AND owner_uid = " . $_SESSION["uid"] . + " ORDER BY id, title"); + + while ($line = db_fetch_assoc($result)) { + $unread = getFeedUnread($line["id"], true) + + getCategoryChildrenUnread($line["id"]); + + if ($unread || !$unread_only) { + $row = array( + "id" => $line["id"], + "title" => $line["title"], + "unread" => $unread, + "is_cat" => true, + ); + array_push($feeds, $row); + } + } + } + + /* Real feeds */ + + if ($limit) { + $limit_qpart = "LIMIT $limit OFFSET $offset"; + } else { + $limit_qpart = ""; + } + + if ($cat_id == -4 || $cat_id == -3) { + $result = db_query("SELECT + id, feed_url, cat_id, title, order_id, ". + SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated + FROM ttrss_feeds WHERE owner_uid = " . $_SESSION["uid"] . + " ORDER BY cat_id, title " . $limit_qpart); + } else { + + if ($cat_id) + $cat_qpart = "cat_id = '$cat_id'"; + else + $cat_qpart = "cat_id IS NULL"; + + $result = db_query("SELECT + id, feed_url, cat_id, title, order_id, ". + SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated + FROM ttrss_feeds WHERE + $cat_qpart AND owner_uid = " . $_SESSION["uid"] . + " ORDER BY cat_id, title " . $limit_qpart); + } + + while ($line = db_fetch_assoc($result)) { + + $unread = getFeedUnread($line["id"]); + + $has_icon = feed_has_icon($line['id']); + + if ($unread || !$unread_only) { + + $row = array( + "feed_url" => $line["feed_url"], + "title" => $line["title"], + "id" => (int)$line["id"], + "unread" => (int)$unread, + "has_icon" => $has_icon, + "cat_id" => (int)$line["cat_id"], + "last_updated" => (int) strtotime($line["last_updated"]), + "order_id" => (int) $line["order_id"], + ); + + array_push($feeds, $row); + } + } + + return $feeds; + } + + static function api_get_headlines($feed_id, $limit, $offset, + $filter, $is_cat, $show_excerpt, $show_content, $view_mode, $order, + $include_attachments, $since_id, + $search = "", $search_mode = "", + $include_nested = false, $sanitize_content = true) { + + $qfh_ret = queryFeedHeadlines($feed_id, $limit, + $view_mode, $is_cat, $search, $search_mode, + $order, $offset, 0, false, $since_id, $include_nested); + + $result = $qfh_ret[0]; + $feed_title = $qfh_ret[1]; + + $headlines = array(); + + while ($line = db_fetch_assoc($result)) { + $line["content_preview"] = truncate_string(strip_tags($line["content_preview"]), 100); + foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_QUERY_HEADLINES) as $p) { + $line = $p->hook_query_headlines($line, 100, true); + } + + $is_updated = ($line["last_read"] == "" && + ($line["unread"] != "t" && $line["unread"] != "1")); + + $tags = explode(",", $line["tag_cache"]); + $labels = json_decode($line["label_cache"], true); + + //if (!$tags) $tags = get_article_tags($line["id"]); + //if (!$labels) $labels = get_article_labels($line["id"]); + + $headline_row = array( + "id" => (int)$line["id"], + "unread" => sql_bool_to_bool($line["unread"]), + "marked" => sql_bool_to_bool($line["marked"]), + "published" => sql_bool_to_bool($line["published"]), + "updated" => (int) strtotime($line["updated"]), + "is_updated" => $is_updated, + "title" => $line["title"], + "link" => $line["link"], + "feed_id" => $line["feed_id"], + "tags" => $tags, + ); + + if ($include_attachments) + $headline_row['attachments'] = get_article_enclosures( + $line['id']); + + if ($show_excerpt) + $headline_row["excerpt"] = $line["content_preview"]; + + if ($show_content) { + + if ($sanitize_content) { + $headline_row["content"] = sanitize( + $line["content"], + sql_bool_to_bool($line['hide_images']), + false, $line["site_url"], false, $line["id"]); + } else { + $headline_row["content"] = $line["content"]; + } + } + + // unify label output to ease parsing + if ($labels["no-labels"] == 1) $labels = array(); + + $headline_row["labels"] = $labels; + + $headline_row["feed_title"] = $line["feed_title"] ? $line["feed_title"] : + $feed_title; + + $headline_row["comments_count"] = (int)$line["num_comments"]; + $headline_row["comments_link"] = $line["comments"]; + + $headline_row["always_display_attachments"] = sql_bool_to_bool($line["always_display_enclosures"]); + + $headline_row["author"] = $line["author"]; + + $headline_row["score"] = (int)$line["score"]; + + foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_RENDER_ARTICLE_API) as $p) { + $headline_row = $p->hook_render_article_api(array("headline" => $headline_row)); + } + + array_push($headlines, $headline_row); + } + + return $headlines; + } + + function unsubscribeFeed() { + $feed_id = (int) $this->dbh->escape_string($_REQUEST["feed_id"]); + + $result = $this->dbh->query("SELECT id FROM ttrss_feeds WHERE + id = '$feed_id' AND owner_uid = ".$_SESSION["uid"]); + + if ($this->dbh->num_rows($result) != 0) { + Pref_Feeds::remove_feed($feed_id, $_SESSION["uid"]); + $this->wrap(self::STATUS_OK, array("status" => "OK")); + } else { + $this->wrap(self::STATUS_ERR, array("error" => "FEED_NOT_FOUND")); + } + } + + function subscribeToFeed() { + $feed_url = $this->dbh->escape_string($_REQUEST["feed_url"]); + $category_id = (int) $this->dbh->escape_string($_REQUEST["category_id"]); + $login = $this->dbh->escape_string($_REQUEST["login"]); + $password = $this->dbh->escape_string($_REQUEST["password"]); + + if ($feed_url) { + $rc = subscribe_to_feed($feed_url, $category_id, $login, $password); + + $this->wrap(self::STATUS_OK, array("status" => $rc)); + } else { + $this->wrap(self::STATUS_ERR, array("error" => 'INCORRECT_USAGE')); + } + } + + function getFeedTree() { + $include_empty = sql_bool_to_bool($_REQUEST['include_empty']); + + $pf = new Pref_Feeds($_REQUEST); + + $_REQUEST['mode'] = 2; + $_REQUEST['force_show_empty'] = $include_empty; + + if ($pf){ + $data = $pf->makefeedtree(); + $this->wrap(self::STATUS_OK, array("categories" => $data)); + } else { + $this->wrap(self::STATUS_ERR, array("error" => + 'UNABLE_TO_INSTANTIATE_OBJECT')); + } + + } + + // only works for labels or uncategorized for the time being + private function isCategoryEmpty($id) { + + if ($id == -2) { + $result = $this->dbh->query("SELECT COUNT(*) AS count FROM ttrss_labels2 + WHERE owner_uid = " . $_SESSION["uid"]); + + return $this->dbh->fetch_result($result, 0, "count") == 0; + + } else if ($id == 0) { + $result = $this->dbh->query("SELECT COUNT(*) AS count FROM ttrss_feeds + WHERE cat_id IS NULL AND owner_uid = " . $_SESSION["uid"]); + + return $this->dbh->fetch_result($result, 0, "count") == 0; + + } + + return false; + } + + +} + +?> diff --git a/source/classes/article.php b/source/classes/article.php new file mode 100644 index 0000000..398132d --- /dev/null +++ b/source/classes/article.php @@ -0,0 +1,346 @@ +dbh->escape_string($_REQUEST['id']); + + $result = $this->dbh->query("SELECT link FROM ttrss_entries, ttrss_user_entries + WHERE id = '$id' AND id = ref_id AND owner_uid = '".$_SESSION['uid']."' + LIMIT 1"); + + if ($this->dbh->num_rows($result) == 1) { + $article_url = $this->dbh->fetch_result($result, 0, 'link'); + $article_url = str_replace("\n", "", $article_url); + + header("Location: $article_url"); + return; + + } else { + print_error(__("Article not found.")); + } + } + + function view() { + $id = $this->dbh->escape_string($_REQUEST["id"]); + $cids = explode(",", $this->dbh->escape_string($_REQUEST["cids"])); + $mode = $this->dbh->escape_string($_REQUEST["mode"]); + $omode = $this->dbh->escape_string($_REQUEST["omode"]); + + // in prefetch mode we only output requested cids, main article + // just gets marked as read (it already exists in client cache) + + $articles = array(); + + if ($mode == "") { + array_push($articles, format_article($id, false)); + } else if ($mode == "zoom") { + array_push($articles, format_article($id, true, true)); + } else if ($mode == "raw") { + if ($_REQUEST['html']) { + header("Content-Type: text/html"); + print ''; + } + + $article = format_article($id, false); + print $article['content']; + return; + } + + $this->catchupArticleById($id, 0); + + if (!$_SESSION["bw_limit"]) { + foreach ($cids as $cid) { + if ($cid) { + array_push($articles, format_article($cid, false, false)); + } + } + } + + print json_encode($articles); + } + + private function catchupArticleById($id, $cmode) { + + if ($cmode == 0) { + $this->dbh->query("UPDATE ttrss_user_entries SET + unread = false,last_read = NOW() + WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]); + } else if ($cmode == 1) { + $this->dbh->query("UPDATE ttrss_user_entries SET + unread = true + WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]); + } else { + $this->dbh->query("UPDATE ttrss_user_entries SET + unread = NOT unread,last_read = NOW() + WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]); + } + + $feed_id = getArticleFeed($id); + ccache_update($feed_id, $_SESSION["uid"]); + } + + static function create_published_article($title, $url, $content, $labels_str, + $owner_uid) { + + $guid = 'SHA1:' . sha1("ttshared:" . $url . $owner_uid); // include owner_uid to prevent global GUID clash + $content_hash = sha1($content); + + if ($labels_str != "") { + $labels = explode(",", $labels_str); + } else { + $labels = array(); + } + + $rc = false; + + if (!$title) $title = $url; + if (!$title && !$url) return false; + + if (filter_var($url, FILTER_VALIDATE_URL) === FALSE) return false; + + db_query("BEGIN"); + + // only check for our user data here, others might have shared this with different content etc + $result = db_query("SELECT id FROM ttrss_entries, ttrss_user_entries WHERE + link = '$url' AND ref_id = id AND owner_uid = '$owner_uid' LIMIT 1"); + + if (db_num_rows($result) != 0) { + $ref_id = db_fetch_result($result, 0, "id"); + + $result = db_query("SELECT int_id FROM ttrss_user_entries WHERE + ref_id = '$ref_id' AND owner_uid = '$owner_uid' LIMIT 1"); + + if (db_num_rows($result) != 0) { + $int_id = db_fetch_result($result, 0, "int_id"); + + db_query("UPDATE ttrss_entries SET + content = '$content', content_hash = '$content_hash' WHERE id = '$ref_id'"); + + db_query("UPDATE ttrss_user_entries SET published = true, + last_published = NOW() WHERE + int_id = '$int_id' AND owner_uid = '$owner_uid'"); + } else { + + db_query("INSERT INTO ttrss_user_entries + (ref_id, uuid, feed_id, orig_feed_id, owner_uid, published, tag_cache, label_cache, + last_read, note, unread, last_published) + VALUES + ('$ref_id', '', NULL, NULL, $owner_uid, true, '', '', NOW(), '', false, NOW())"); + } + + if (count($labels) != 0) { + foreach ($labels as $label) { + label_add_article($ref_id, trim($label), $owner_uid); + } + } + + $rc = true; + + } else { + $result = db_query("INSERT INTO ttrss_entries + (title, guid, link, updated, content, content_hash, date_entered, date_updated) + VALUES + ('$title', '$guid', '$url', NOW(), '$content', '$content_hash', NOW(), NOW())"); + + $result = db_query("SELECT id FROM ttrss_entries WHERE guid = '$guid'"); + + if (db_num_rows($result) != 0) { + $ref_id = db_fetch_result($result, 0, "id"); + + db_query("INSERT INTO ttrss_user_entries + (ref_id, uuid, feed_id, orig_feed_id, owner_uid, published, tag_cache, label_cache, + last_read, note, unread, last_published) + VALUES + ('$ref_id', '', NULL, NULL, $owner_uid, true, '', '', NOW(), '', false, NOW())"); + + if (count($labels) != 0) { + foreach ($labels as $label) { + label_add_article($ref_id, trim($label), $owner_uid); + } + } + + $rc = true; + } + } + + db_query("COMMIT"); + + return $rc; + } + + function editArticleTags() { + + print __("Tags for this article (separated by commas):")."
"; + + $param = $this->dbh->escape_string($_REQUEST['param']); + + $tags = get_article_tags($this->dbh->escape_string($param)); + + $tags_str = join(", ", $tags); + + print ""; + print ""; + print ""; + + print "
"; + + print " +
"; + + print "
"; + + print "
"; + + print " "; + print ""; + print "
"; + + } + + function setScore() { + $ids = $this->dbh->escape_string($_REQUEST['id']); + $score = (int)$this->dbh->escape_string($_REQUEST['score']); + + $this->dbh->query("UPDATE ttrss_user_entries SET + score = '$score' WHERE ref_id IN ($ids) AND owner_uid = " . $_SESSION["uid"]); + + print json_encode(array("id" => $ids, + "score_pic" => get_score_pic($score))); + } + + + function setArticleTags() { + + $id = $this->dbh->escape_string($_REQUEST["id"]); + + $tags_str = $this->dbh->escape_string($_REQUEST["tags_str"]); + $tags = array_unique(trim_array(explode(",", $tags_str))); + + $this->dbh->query("BEGIN"); + + $result = $this->dbh->query("SELECT int_id FROM ttrss_user_entries WHERE + ref_id = '$id' AND owner_uid = '".$_SESSION["uid"]."' LIMIT 1"); + + if ($this->dbh->num_rows($result) == 1) { + + $tags_to_cache = array(); + + $int_id = $this->dbh->fetch_result($result, 0, "int_id"); + + $this->dbh->query("DELETE FROM ttrss_tags WHERE + post_int_id = $int_id AND owner_uid = '".$_SESSION["uid"]."'"); + + foreach ($tags as $tag) { + $tag = sanitize_tag($tag); + + if (!tag_is_valid($tag)) { + continue; + } + + if (preg_match("/^[0-9]*$/", $tag)) { + continue; + } + + // print ""; + + if ($tag != '') { + $this->dbh->query("INSERT INTO ttrss_tags + (post_int_id, owner_uid, tag_name) VALUES ('$int_id', '".$_SESSION["uid"]."', '$tag')"); + } + + array_push($tags_to_cache, $tag); + } + + /* update tag cache */ + + sort($tags_to_cache); + $tags_str = join(",", $tags_to_cache); + + $this->dbh->query("UPDATE ttrss_user_entries + SET tag_cache = '$tags_str' WHERE ref_id = '$id' + AND owner_uid = " . $_SESSION["uid"]); + } + + $this->dbh->query("COMMIT"); + + $tags = get_article_tags($id); + $tags_str = format_tags_string($tags, $id); + $tags_str_full = join(", ", $tags); + + if (!$tags_str_full) $tags_str_full = __("no tags"); + + print json_encode(array("id" => (int)$id, + "content" => $tags_str, "content_full" => $tags_str_full)); + } + + + function completeTags() { + $search = $this->dbh->escape_string($_REQUEST["search"]); + + $result = $this->dbh->query("SELECT DISTINCT tag_name FROM ttrss_tags + WHERE owner_uid = '".$_SESSION["uid"]."' AND + tag_name LIKE '$search%' ORDER BY tag_name + LIMIT 10"); + + print "
    "; + while ($line = $this->dbh->fetch_assoc($result)) { + print "
  • " . $line["tag_name"] . "
  • "; + } + print "
"; + } + + function assigntolabel() { + return $this->labelops(true); + } + + function removefromlabel() { + return $this->labelops(false); + } + + private function labelops($assign) { + $reply = array(); + + $ids = explode(",", $this->dbh->escape_string($_REQUEST["ids"])); + $label_id = $this->dbh->escape_string($_REQUEST["lid"]); + + $label = $this->dbh->escape_string(label_find_caption($label_id, + $_SESSION["uid"])); + + $reply["info-for-headlines"] = array(); + + if ($label) { + + foreach ($ids as $id) { + + if ($assign) + label_add_article($id, $label, $_SESSION["uid"]); + else + label_remove_article($id, $label, $_SESSION["uid"]); + + $labels = get_article_labels($id, $_SESSION["uid"]); + + array_push($reply["info-for-headlines"], + array("id" => $id, "labels" => format_article_labels($labels, $id))); + + } + } + + $reply["message"] = "UPDATE_COUNTERS"; + + print json_encode($reply); + } + + + +} diff --git a/source/classes/auth/base.php b/source/classes/auth/base.php new file mode 100644 index 0000000..69acd09 --- /dev/null +++ b/source/classes/auth/base.php @@ -0,0 +1,61 @@ +dbh = Db::get(); + } + + function check_password($owner_uid, $password) { + return false; + } + + function authenticate($login, $password) { + return false; + } + + // Auto-creates specified user if allowed by system configuration + // Can be used instead of find_user_by_login() by external auth modules + function auto_create_user($login, $password = false) { + if ($login && defined('AUTH_AUTO_CREATE') && AUTH_AUTO_CREATE) { + $user_id = $this->find_user_by_login($login); + + if (!$password) $password = make_password(); + + if (!$user_id) { + $login = $this->dbh->escape_string($login); + $salt = substr(bin2hex(get_random_bytes(125)), 0, 250); + $pwd_hash = encrypt_password($password, $salt, true); + + $query = "INSERT INTO ttrss_users + (login,access_level,last_login,created,pwd_hash,salt) + VALUES ('$login', 0, null, NOW(), '$pwd_hash','$salt')"; + + $this->dbh->query($query); + + return $this->find_user_by_login($login); + + } else { + return $user_id; + } + } + + return $this->find_user_by_login($login); + } + + function find_user_by_login($login) { + $login = $this->dbh->escape_string($login); + + $result = $this->dbh->query("SELECT id FROM ttrss_users WHERE + login = '$login'"); + + if ($this->dbh->num_rows($result) > 0) { + return $this->dbh->fetch_result($result, 0, "id"); + } else { + return false; + } + + } +} + +?> diff --git a/source/classes/backend.php b/source/classes/backend.php new file mode 100644 index 0000000..7737df0 --- /dev/null +++ b/source/classes/backend.php @@ -0,0 +1,119 @@ +"; + } + + function digestTest() { + header("Content-type: text/html"); + + require_once "digest.php"; + + $rv = prepare_headlines_digest($_SESSION['uid'], 1, 1000); + + $rv[3] = "
" . $rv[3] . "
"; + + print_r($rv); + } + + private function display_main_help() { + $info = get_hotkeys_info(); + $imap = get_hotkeys_map(); + $omap = array(); + + foreach ($imap[1] as $sequence => $action) { + if (!isset($omap[$action])) $omap[$action] = array(); + + array_push($omap[$action], $sequence); + } + + print_notice("". + __("Other interface tips are available in the Tiny Tiny RSS wiki.") . + ""); + + print "
    "; + + print "

    " . __("Keyboard Shortcuts") . "

    "; + + foreach ($info as $section => $hotkeys) { + + print "
  • " . $section . "

  • "; + + foreach ($hotkeys as $action => $description) { + + if (is_array($omap[$action])) { + foreach ($omap[$action] as $sequence) { + if (strpos($sequence, "|") !== FALSE) { + $sequence = substr($sequence, + strpos($sequence, "|")+1, + strlen($sequence)); + } else { + $keys = explode(" ", $sequence); + + for ($i = 0; $i < count($keys); $i++) { + if (strlen($keys[$i]) > 1) { + $tmp = ''; + foreach (str_split($keys[$i]) as $c) { + switch ($c) { + case '*': + $tmp .= __('Shift') . '+'; + break; + case '^': + $tmp .= __('Ctrl') . '+'; + break; + default: + $tmp .= $c; + } + } + $keys[$i] = $tmp; + } + } + $sequence = join(" ", $keys); + } + + print "
  • "; + print "$sequence"; + print $description; + print "
  • "; + } + } + } + } + + print "
"; + } + + function help() { + $topic = basename($_REQUEST["topic"]); + + switch ($topic) { + case "main": + $this->display_main_help(); + break; + case "prefs": + //$this->display_prefs_help(); + break; + default: + print "

".__("Help topic not found.")."

"; + } + + print "
"; + print ""; + print "
"; + + /* if (file_exists("help/$topic.php")) { + include("help/$topic.php"); + } else { + print "

".__("Help topic not found.")."

"; + } */ + /* print "
+
"; */ + + } +} +?> diff --git a/source/classes/db.php b/source/classes/db.php new file mode 100644 index 0000000..695ca6e --- /dev/null +++ b/source/classes/db.php @@ -0,0 +1,98 @@ +adapter = new Db_PDO(); + } else { + switch (DB_TYPE) { + case "mysql": + if (function_exists("mysqli_connect")) { + $this->adapter = new Db_Mysqli(); + } else { + $this->adapter = new Db_Mysql(); + } + break; + case "pgsql": + $this->adapter = new Db_Pgsql(); + break; + default: + die("Unknown DB_TYPE: " . DB_TYPE); + } + } + + if (!$this->adapter) die("Error initializing database adapter for " . DB_TYPE); + + $this->link = $this->adapter->connect(DB_HOST, DB_USER, DB_PASS, DB_NAME, defined('DB_PORT') ? DB_PORT : ""); + + if (!$this->link) { + die("Error connecting through adapter: " . $this->adapter->last_error()); + } + + error_reporting($er); + } + + private function __clone() { + // + } + + public static function get() { + if (self::$instance == null) + self::$instance = new self(); + + return self::$instance; + } + + static function quote($str){ + return("'$str'"); + } + + function reconnect() { + $this->link = $this->adapter->connect(DB_HOST, DB_USER, DB_PASS, DB_NAME, defined('DB_PORT') ? DB_PORT : ""); + } + + function connect($host, $user, $pass, $db, $port) { + //return $this->adapter->connect($host, $user, $pass, $db, $port); + return ; + } + + function escape_string($s, $strip_tags = true) { + return $this->adapter->escape_string($s, $strip_tags); + } + + function query($query, $die_on_error = true) { + return $this->adapter->query($query, $die_on_error); + } + + function fetch_assoc($result) { + return $this->adapter->fetch_assoc($result); + } + + function num_rows($result) { + return $this->adapter->num_rows($result); + } + + function fetch_result($result, $row, $param) { + return $this->adapter->fetch_result($result, $row, $param); + } + + function close() { + return $this->adapter->close(); + } + + function affected_rows($result) { + return $this->adapter->affected_rows($result); + } + + function last_error() { + return $this->adapter->last_error(); + } + +} +?> diff --git a/source/classes/db/mysql.php b/source/classes/db/mysql.php new file mode 100644 index 0000000..d4b45b9 --- /dev/null +++ b/source/classes/db/mysql.php @@ -0,0 +1,76 @@ +link = mysql_connect($host, $user, $pass); + + if ($this->link) { + $result = mysql_select_db($db, $this->link); + if (!$result) { + die("Can't select DB: " . mysql_error($this->link)); + } + + $this->init(); + + return $this->link; + } else { + die("Unable to connect to database (as $user to $host, database $db): " . mysql_error()); + } + } + + function escape_string($s, $strip_tags = true) { + if ($strip_tags) $s = strip_tags($s); + + return mysql_real_escape_string($s, $this->link); + } + + function query($query, $die_on_error = true) { + $result = @mysql_query($query, $this->link); + if (!$result) { + $error = @mysql_error($this->link); + + @mysql_query("ROLLBACK", $this->link); + user_error("Query $query failed: " . ($this->link ? $error : "No connection"), + $die_on_error ? E_USER_ERROR : E_USER_WARNING); + } + return $result; + } + + function fetch_assoc($result) { + return mysql_fetch_assoc($result); + } + + + function num_rows($result) { + return mysql_num_rows($result); + } + + function fetch_result($result, $row, $param) { + return mysql_result($result, $row, $param); + } + + function close() { + return mysql_close($this->link); + } + + function affected_rows($result) { + return mysql_affected_rows($this->link); + } + + function last_error() { + return mysql_error(); + } + + function init() { + $this->query("SET time_zone = '+0:0'"); + + if (defined('MYSQL_CHARSET') && MYSQL_CHARSET) { + $this->query("SET NAMES " . MYSQL_CHARSET); + } + + return true; + } + +} +?> diff --git a/source/classes/db/mysqli.php b/source/classes/db/mysqli.php new file mode 100644 index 0000000..c685b75 --- /dev/null +++ b/source/classes/db/mysqli.php @@ -0,0 +1,80 @@ +link = mysqli_connect($host, $user, $pass, $db, $port); + else + $this->link = mysqli_connect($host, $user, $pass, $db); + + if ($this->link) { + $this->init(); + + return $this->link; + } else { + die("Unable to connect to database (as $user to $host, database $db): " . mysqli_connect_error()); + } + } + + function escape_string($s, $strip_tags = true) { + if ($strip_tags) $s = strip_tags($s); + + return mysqli_real_escape_string($this->link, $s); + } + + function query($query, $die_on_error = true) { + $result = @mysqli_query($this->link, $query); + if (!$result) { + $error = @mysqli_error($this->link); + + @mysqli_query($this->link, "ROLLBACK"); + user_error("Query $query failed: " . ($this->link ? $error : "No connection"), + $die_on_error ? E_USER_ERROR : E_USER_WARNING); + } + + return $result; + } + + function fetch_assoc($result) { + return mysqli_fetch_assoc($result); + } + + + function num_rows($result) { + return mysqli_num_rows($result); + } + + function fetch_result($result, $row, $param) { + if (mysqli_data_seek($result, $row)) { + $line = mysqli_fetch_assoc($result); + return $line[$param]; + } else { + return false; + } + } + + function close() { + return mysqli_close($this->link); + } + + function affected_rows($result) { + return mysqli_affected_rows($this->link); + } + + function last_error() { + return mysqli_error(); + } + + function init() { + $this->query("SET time_zone = '+0:0'"); + + if (defined('MYSQL_CHARSET') && MYSQL_CHARSET) { + $this->query("SET NAMES " . MYSQL_CHARSET); + } + + return true; + } + +} +?> diff --git a/source/classes/db/pdo.php b/source/classes/db/pdo.php new file mode 100644 index 0000000..126f515 --- /dev/null +++ b/source/classes/db/pdo.php @@ -0,0 +1,100 @@ +pdo = new PDO($connstr, $user, $pass); + $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + $this->init(); + } catch (PDOException $e) { + die($e->getMessage()); + } + + return $this->pdo; + } + + function escape_string($s, $strip_tags = true) { + if ($strip_tags) $s = strip_tags($s); + + $qs = $this->pdo->quote($s); + + return mb_substr($qs, 1, mb_strlen($qs)-2); + } + + function query($query, $die_on_error = true) { + try { + return new Db_Stmt($this->pdo->query($query)); + } catch (PDOException $e) { + user_error($e->getMessage(), $die_on_error ? E_USER_ERROR : E_USER_WARNING); + } + } + + function fetch_assoc($result) { + try { + if ($result) { + return $result->fetch(); + } else { + return null; + } + } catch (PDOException $e) { + user_error($e->getMessage(), E_USER_WARNING); + } + } + + function num_rows($result) { + try { + if ($result) { + return $result->rowCount(); + } else { + return false; + } + } catch (PDOException $e) { + user_error($e->getMessage(), E_USER_WARNING); + } + } + + function fetch_result($result, $row, $param) { + return $result->fetch_result($row, $param); + } + + function close() { + $this->pdo = null; + } + + function affected_rows($result) { + try { + if ($result) { + return $result->rowCount(); + } else { + return null; + } + } catch (PDOException $e) { + user_error($e->getMessage(), E_USER_WARNING); + } + } + + function last_error() { + return join(" ", $this->pdo->errorInfo()); + } + + function init() { + switch (DB_TYPE) { + case "pgsql": + $this->query("set client_encoding = 'UTF-8'"); + $this->query("set datestyle = 'ISO, european'"); + $this->query("set TIME ZONE 0"); + case "mysql": + $this->query("SET time_zone = '+0:0'"); + return; + } + + return true; + } + +} +?> diff --git a/source/classes/db/pgsql.php b/source/classes/db/pgsql.php new file mode 100644 index 0000000..ba37f83 --- /dev/null +++ b/source/classes/db/pgsql.php @@ -0,0 +1,85 @@ + 0) { + $string = "$string port=" . $port; + } + + $this->link = pg_connect($string); + + if (!$this->link) { + die("Unable to connect to database (as $user to $host, database $db):" . pg_last_error()); + } + + $this->init(); + + return $this->link; + } + + function escape_string($s, $strip_tags = true) { + if ($strip_tags) $s = strip_tags($s); + + return pg_escape_string($s); + } + + function query($query, $die_on_error = true) { + $result = @pg_query($this->link, $query); + + if (!$result) { + $error = @pg_last_error($this->link); + + @pg_query($this->link, "ROLLBACK"); + $query = htmlspecialchars($query); // just in case + user_error("Query $query failed: " . ($this->link ? $error : "No connection"), + $die_on_error ? E_USER_ERROR : E_USER_WARNING); + } + return $result; + } + + function fetch_assoc($result) { + return pg_fetch_assoc($result); + } + + + function num_rows($result) { + return pg_num_rows($result); + } + + function fetch_result($result, $row, $param) { + return pg_fetch_result($result, $row, $param); + } + + function close() { + return pg_close($this->link); + } + + function affected_rows($result) { + return pg_affected_rows($result); + } + + function last_error() { + return pg_last_error($this->link); + } + + function init() { + $this->query("set client_encoding = 'UTF-8'"); + pg_set_client_encoding("UNICODE"); + $this->query("set datestyle = 'ISO, european'"); + $this->query("set TIME ZONE 0"); + + return true; + } +} +?> diff --git a/source/classes/db/prefs.php b/source/classes/db/prefs.php new file mode 100644 index 0000000..3e92bb8 --- /dev/null +++ b/source/classes/db/prefs.php @@ -0,0 +1,190 @@ +dbh = Db::get(); + $this->cache = array(); + + if ($_SESSION["uid"]) $this->cache(); + } + + private function __clone() { + // + } + + public static function get() { + if (self::$instance == null) + self::$instance = new self(); + + return self::$instance; + } + + function cache() { + $profile = false; + + $user_id = $_SESSION["uid"]; + @$profile = $_SESSION["profile"]; + + if ($profile) { + $profile_qpart = "profile = '$profile' AND"; + } else { + $profile_qpart = "profile IS NULL AND"; + } + + if (get_schema_version() < 63) $profile_qpart = ""; + + $result = db_query("SELECT + value,ttrss_prefs_types.type_name as type_name,ttrss_prefs.pref_name AS pref_name + FROM + ttrss_user_prefs,ttrss_prefs,ttrss_prefs_types + WHERE + $profile_qpart + ttrss_prefs.pref_name NOT LIKE '_MOBILE%' AND + ttrss_prefs_types.id = type_id AND + owner_uid = '$user_id' AND + ttrss_user_prefs.pref_name = ttrss_prefs.pref_name"); + + while ($line = db_fetch_assoc($result)) { + if ($user_id == $_SESSION["uid"]) { + $pref_name = $line["pref_name"]; + + $this->cache[$pref_name]["type"] = $line["type_name"]; + $this->cache[$pref_name]["value"] = $line["value"]; + } + } + } + + function read($pref_name, $user_id = false, $die_on_error = false) { + + $pref_name = db_escape_string($pref_name); + $profile = false; + + if (!$user_id) { + $user_id = $_SESSION["uid"]; + @$profile = $_SESSION["profile"]; + } else { + $user_id = sprintf("%d", $user_id); + } + + if (isset($this->cache[$pref_name])) { + $tuple = $this->cache[$pref_name]; + return $this->convert($tuple["value"], $tuple["type"]); + } + + if ($profile) { + $profile_qpart = "profile = '$profile' AND"; + } else { + $profile_qpart = "profile IS NULL AND"; + } + + if (get_schema_version() < 63) $profile_qpart = ""; + + $result = db_query("SELECT + value,ttrss_prefs_types.type_name as type_name + FROM + ttrss_user_prefs,ttrss_prefs,ttrss_prefs_types + WHERE + $profile_qpart + ttrss_user_prefs.pref_name = '$pref_name' AND + ttrss_prefs_types.id = type_id AND + owner_uid = '$user_id' AND + ttrss_user_prefs.pref_name = ttrss_prefs.pref_name"); + + if (db_num_rows($result) > 0) { + $value = db_fetch_result($result, 0, "value"); + $type_name = db_fetch_result($result, 0, "type_name"); + + if ($user_id == $_SESSION["uid"]) { + $this->cache[$pref_name]["type"] = $type_name; + $this->cache[$pref_name]["value"] = $value; + } + + return $this->convert($value, $type_name); + + } else { + user_error("Fatal error, unknown preferences key: $pref_name (owner: $user_id)", $die_on_error ? E_USER_ERROR : E_USER_WARNING); + return null; + } + } + + function convert($value, $type_name) { + if ($type_name == "bool") { + return $value == "true"; + } else if ($type_name == "integer") { + return (int)$value; + } else { + return $value; + } + } + + function write($pref_name, $value, $user_id = false, $strip_tags = true) { + $pref_name = db_escape_string($pref_name); + $value = db_escape_string($value, $strip_tags); + + if (!$user_id) { + $user_id = $_SESSION["uid"]; + @$profile = $_SESSION["profile"]; + } else { + $user_id = sprintf("%d", $user_id); + $prefs_cache = false; + } + + if ($profile) { + $profile_qpart = "AND profile = '$profile'"; + } else { + $profile_qpart = "AND profile IS NULL"; + } + + if (get_schema_version() < 63) $profile_qpart = ""; + + $type_name = ""; + $current_value = ""; + + if (isset($this->cache[$pref_name])) { + $type_name = $this->cache[$pref_name]["type"]; + $current_value = $this->cache[$pref_name]["value"]; + } + + if (!$type_name) { + $result = db_query("SELECT type_name + FROM ttrss_prefs,ttrss_prefs_types + WHERE pref_name = '$pref_name' AND type_id = ttrss_prefs_types.id"); + + if (db_num_rows($result) > 0) + $type_name = db_fetch_result($result, 0, "type_name"); + } else if ($current_value == $value) { + return; + } + + if ($type_name) { + if ($type_name == "bool") { + if ($value == "1" || $value == "true") { + $value = "true"; + } else { + $value = "false"; + } + } else if ($type_name == "integer") { + $value = sprintf("%d", $value); + } + + if ($pref_name == 'USER_TIMEZONE' && $value == '') { + $value = 'UTC'; + } + + db_query("UPDATE ttrss_user_prefs SET + value = '$value' WHERE pref_name = '$pref_name' + $profile_qpart + AND owner_uid = " . $_SESSION["uid"]); + + if ($user_id == $_SESSION["uid"]) { + $this->cache[$pref_name]["type"] = $type_name; + $this->cache[$pref_name]["value"] = $value; + } + } + } + +} +?> diff --git a/source/classes/db/stmt.php b/source/classes/db/stmt.php new file mode 100644 index 0000000..4d3596e --- /dev/null +++ b/source/classes/db/stmt.php @@ -0,0 +1,32 @@ +stmt = $stmt; + $this->cache = false; + } + + function fetch_result($row, $param) { + if (!$this->cache) { + $this->cache = $this->stmt->fetchAll(); + } + + if (isset($this->cache[$row])) { + return $this->cache[$row][$param]; + } else { + user_error("Unable to jump to row $row", E_USER_WARNING); + return false; + } + } + + function rowCount() { + return $this->stmt->rowCount(); + } + + function fetch() { + return $this->stmt->fetch(); + } +} +?> diff --git a/source/classes/dbupdater.php b/source/classes/dbupdater.php new file mode 100644 index 0000000..a319da0 --- /dev/null +++ b/source/classes/dbupdater.php @@ -0,0 +1,65 @@ +dbh = $dbh; + $this->db_type = $db_type; + $this->need_version = (int) $need_version; + } + + function getSchemaVersion() { + $result = db_query("SELECT schema_version FROM ttrss_version"); + return (int) db_fetch_result($result, 0, "schema_version"); + } + + function isUpdateRequired() { + return $this->getSchemaVersion() < $this->need_version; + } + + function getSchemaLines($version) { + $filename = "schema/versions/".$this->db_type."/$version.sql"; + + if (file_exists($filename)) { + return explode(";", preg_replace("/[\r\n]/", "", file_get_contents($filename))); + } else { + return false; + } + } + + function performUpdateTo($version) { + if ($this->getSchemaVersion() == $version - 1) { + + $lines = $this->getSchemaLines($version); + + if (is_array($lines)) { + + db_query("BEGIN"); + + foreach ($lines as $line) { + if (strpos($line, "--") !== 0 && $line) { + db_query($line); + } + } + + $db_version = $this->getSchemaVersion(); + + if ($db_version == $version) { + db_query("COMMIT"); + return true; + } else { + db_query("ROLLBACK"); + return false; + } + } else { + return true; + } + } else { + return false; + } + } + +} ?> diff --git a/source/classes/dlg.php b/source/classes/dlg.php new file mode 100644 index 0000000..cfa960d --- /dev/null +++ b/source/classes/dlg.php @@ -0,0 +1,272 @@ +param = $this->dbh->escape_string($_REQUEST["param"]); + return true; + } + return false; + } + + function importOpml() { + print __("If you have imported labels and/or filters, you might need to reload preferences to see your new data.") . "

"; + + print "
"; + $owner_uid = $_SESSION["uid"]; + + $this->dbh->query("BEGIN"); + + print "
    "; + + $opml = new Opml($_REQUEST); + + $opml->opml_import($_SESSION["uid"]); + + $this->dbh->query("COMMIT"); + + print "
"; + print "
"; + + print "
"; + print ""; + print "
"; + + print ""; + + //return; + } + + function pubOPMLUrl() { + $url_path = Opml::opml_publish_url(); + + print __("Your Public OPML URL is:"); + + print "
"; + print "$url_path"; + print "
"; + + print "
"; + + print " "; + + print ""; + + print "
"; + + //return; + } + + function explainError() { + print "
"; + + if ($this->param == 1) { + print __("Update daemon is enabled in configuration, but daemon process is not running, which prevents all feeds from updating. Please start the daemon process or contact instance owner."); + + $stamp = (int) file_get_contents(LOCK_DIRECTORY . "/update_daemon.stamp"); + + print "

" . __("Last update:") . " " . date("Y.m.d, G:i", $stamp); + + } + + if ($this->param == 3) { + print __("Update daemon is taking too long to perform a feed update. This could indicate a problem like crash or a hang. Please check the daemon process or contact instance owner."); + + $stamp = (int) file_get_contents(LOCK_DIRECTORY . "/update_daemon.stamp"); + + print "

" . __("Last update:") . " " . date("Y.m.d, G:i", $stamp); + + } + + print "

"; + + print "
"; + + print ""; + + print "
"; + + //return; + } + + function printTagCloud() { + print "
"; + + // from here: http://www.roscripts.com/Create_tag_cloud-71.html + + $query = "SELECT tag_name, COUNT(post_int_id) AS count + FROM ttrss_tags WHERE owner_uid = ".$_SESSION["uid"]." + GROUP BY tag_name ORDER BY count DESC LIMIT 50"; + + $result = $this->dbh->query($query); + + $tags = array(); + + while ($line = $this->dbh->fetch_assoc($result)) { + $tags[$line["tag_name"]] = $line["count"]; + } + + if(count($tags) == 0 ){ return; } + + ksort($tags); + + $max_size = 32; // max font size in pixels + $min_size = 11; // min font size in pixels + + // largest and smallest array values + $max_qty = max(array_values($tags)); + $min_qty = min(array_values($tags)); + + // find the range of values + $spread = $max_qty - $min_qty; + if ($spread == 0) { // we don't want to divide by zero + $spread = 1; + } + + // set the font-size increment + $step = ($max_size - $min_size) / ($spread); + + // loop through the tag array + foreach ($tags as $key => $value) { + // calculate font-size + // find the $value in excess of $min_qty + // multiply by the font-size increment ($size) + // and add the $min_size set above + $size = round($min_size + (($value - $min_qty) * $step)); + + $key_escaped = str_replace("'", "\\'", $key); + + echo "' . $key . ' '; + } + + + + print "
"; + + print "
"; + print ""; + print "
"; + + } + + function printTagSelect() { + + print __("Match:"). " " . + ""; + print ""; + print " "; + print ""; + print "