Sam Reed [Sat, 25 Jun 2011 16:30:32 +0000 (16:30 +0000)]
Hack followup to r90643
Comment out the call SHOW SLAVE STATUS for getting replag, leaving the use processlist
Not sure when Tim/someone else will look at it, so easier to just hack the bad code for the moment, so people can develop/test etc
Sam Reed [Sat, 25 Jun 2011 16:15:44 +0000 (16:15 +0000)]
Uncommited documentation from my working copy
Robin Pepermans [Sat, 25 Jun 2011 12:28:42 +0000 (12:28 +0000)]
Correct alignment for RevisionDelete button
Antoine Musso [Sat, 25 Jun 2011 12:18:44 +0000 (12:18 +0000)]
Rename messages from r90670
* uses hyphens instead of underscore
* follow the tooltip-<message> format
* rephrase tooltip-invert per CR
Matěj Grabovský [Sat, 25 Jun 2011 10:04:14 +0000 (10:04 +0000)]
Follow-up r90408: use $user->useRCPatrol()
Robin Pepermans [Sat, 25 Jun 2011 10:03:37 +0000 (10:03 +0000)]
Fix r90743.
Brian Wolff [Sat, 25 Jun 2011 07:21:29 +0000 (07:21 +0000)]
Let $wgCategoryCollation take a class name as a value so that extensions
can define new Collation classes.
(I plan to commit such an extension shortly)
Wasn't sure if it would be better to make an array mapping collation names => class names
instead. However, that seemed to be unneededly complicated so I went with
letting that variable take class names.
Aaron Schulz [Sat, 25 Jun 2011 05:21:53 +0000 (05:21 +0000)]
Follow-up r90749: pushed down accessing of $wgAutopromoteOnce to getAutopromoteOnceGroups()
Aaron Schulz [Sat, 25 Jun 2011 04:58:48 +0000 (04:58 +0000)]
Follow-up r90749:
* Removed clunky autopromoteOnceHook function and added $wgAutopromoteOnce. It currently supports edit or view based triggering. This makes configuration much simpler.
* Added short-circuit to addAutopromoteOnceGroups() by checking if $criteria is empty
* Spacing tweaks and typo fixes.
Aaron Schulz [Sat, 25 Jun 2011 04:11:20 +0000 (04:11 +0000)]
Follow-up r90749:
* Removed useless ufg_group index from user_former_groups
* Index name consistency
Sam Reed [Sat, 25 Jun 2011 03:50:41 +0000 (03:50 +0000)]
Followup r89576, and other related revisions
Move SHA1 has validation functions in ApiQueryBase
Sam Reed [Sat, 25 Jun 2011 02:55:14 +0000 (02:55 +0000)]
Followup r86198 per Happy-melon comment on CR, delete DeleteAction as it's unreferenced/ooold
Aaron Schulz [Sat, 25 Jun 2011 02:52:30 +0000 (02:52 +0000)]
Added one-time promote support via Autopromote::autopromoteOnceHook function. This is still a bit rough on the edges. This uses a hook since extension may want to control when it's called for performance reasons. Patch by lampak. (for bug 24948)
Russ Nelson [Sat, 25 Jun 2011 01:43:24 +0000 (01:43 +0000)]
getPath() does the wrong thing under SwiftMedia, but getRel() works for everything.
Russ Nelson [Sat, 25 Jun 2011 01:19:07 +0000 (01:19 +0000)]
Had trouble distinguishing between these two error messages; the name was a null string hence the quotes.
Robin Pepermans [Fri, 24 Jun 2011 23:01:49 +0000 (23:01 +0000)]
Directionality improvements as part of bug 6100 (under $wgBetterDirectionality):
* Add CSS that should fix all LTR/LTR text on both LTR/RTL wikis, for the editsection link, TOC, and lists (ul/ol).
* Add a class mw-content-ltr/rtl for that.
* Change the divs on CategoryPage so it works wit that CSS.
This is the last relatively major issue for bug 6100.
Robin Pepermans [Fri, 24 Jun 2011 22:10:39 +0000 (22:10 +0000)]
Directionality and language improvements as part of bug 6100 (under $wgBetterDirectionality):
* Make TOC numberings be in the page content language instead of wiki content language.
* Update getPageLanguage() and add a hook (for bug 9360/28970).
* Show redirects (when viewing a page with &redirect=no) in the user language direction (not essential but nicer imo).
Raimond Spekking [Fri, 24 Jun 2011 21:00:23 +0000 (21:00 +0000)]
Localisation updates for core and extension messages from translatewiki.net (2011-06-24 20:31:00 UTC)
Robin Pepermans [Fri, 24 Jun 2011 20:59:26 +0000 (20:59 +0000)]
(bug 28030) LTR usernames are aligned incorrectly in RTL wikis when the date preference is yyyy-mm-ddThh:mm:ss -> add a direction mark
Robin Pepermans [Fri, 24 Jun 2011 20:25:55 +0000 (20:25 +0000)]
(bug 12406) Pages with names in RTL scripts are not listed correctly in Special:Whatlinkshere -> add a direction mark
The direction mark is no longer needed when bug 6100 is fixed, but this fixes it for the meantime.
Aaron Schulz [Fri, 24 Jun 2011 20:25:16 +0000 (20:25 +0000)]
* Removed break in first loop of generateTableHTML(), which caused:
'<b>Notice</b>: Undefined index: type in <b>C:\wamp\www\MW_trunk\includes\parser\Parser.php</b>
* Made some code simplifications
Krinkle [Fri, 24 Jun 2011 19:54:25 +0000 (19:54 +0000)]
Release-notes for r90729 (why doesn't this happen automatically ?)
Krinkle [Fri, 24 Jun 2011 19:52:35 +0000 (19:52 +0000)]
(bug 29567) mw.util.addPortletLink should only wrap link in <span> for "vectorTabs" portlets
* Patch by Erwin Dokter
* This unbreaks test introduced in r90728
Krinkle [Fri, 24 Jun 2011 19:50:53 +0000 (19:50 +0000)]
Adding unit test for span presence in mw.util.addPortletLink
* This is for bug 29567
* Also caching jQuery object while at it and renaming variables to be more descriptive here
Test currently fails (as is supposed to)
Krinkle [Fri, 24 Jun 2011 19:35:21 +0000 (19:35 +0000)]
Removing fake html structure from qunit/index.html, instead putting needed nodes in the test suite. Leaving #content due to onload dependancies.
This will all be redundant as soon as phase 2 for JS Unit testing is complete (at which point it will be on an actual wiki page)
Aaron Schulz [Fri, 24 Jun 2011 19:22:50 +0000 (19:22 +0000)]
* More cleanups for r88084 (and fixed r90692).
* Fixed older problem with PrefixIndex not listing anything if all you give is namespace=NS_MAIN whereas any other NS worked fine.
Krinkle [Fri, 24 Jun 2011 17:32:34 +0000 (17:32 +0000)]
Release-note fixes
Summaries in release notes must describe either what has been done or what should be done, not (just) what "happens" or "happened". ie. "Setting $foo to true triggers Bar" is not very useful. "Do Lorem if $foo is true" or "Lorem is now done when $foo is true" is more useful.
(Also follows up on r88356 CR)
Alexandre Emsenhuber [Fri, 24 Jun 2011 17:15:27 +0000 (17:15 +0000)]
Simplify a bit by using getRawText() instead of creating a Revision object
Siebrand Mazeland [Fri, 24 Jun 2011 10:00:35 +0000 (10:00 +0000)]
Reduce calls to wfTimestampNow() by using temporary variable. Inspired by CR on r88278.
Siebrand Mazeland [Fri, 24 Jun 2011 09:48:38 +0000 (09:48 +0000)]
Follow-up r88278. Do not call $wfTimestampNow() twice, but use a temporary variable.
Aaron Schulz [Fri, 24 Jun 2011 08:29:39 +0000 (08:29 +0000)]
More RELEASE-NOTES-1.19 tweaks
Aaron Schulz [Fri, 24 Jun 2011 08:21:59 +0000 (08:21 +0000)]
Clarify some bug fix notes
Aaron Schulz [Fri, 24 Jun 2011 07:49:50 +0000 (07:49 +0000)]
Code style cleanups, use strict comparison with $data['PreviousTarget'] per CR
Aaron Schulz [Fri, 24 Jun 2011 07:08:44 +0000 (07:08 +0000)]
Minor code cleanups
Neil Kandalgaonkar [Fri, 24 Jun 2011 01:08:24 +0000 (01:08 +0000)]
linted jpegmeta - commas cause IE errors. Not that this library is useful on IE, but it can cause errors just by being loaded
Robin Pepermans [Fri, 24 Jun 2011 00:25:14 +0000 (00:25 +0000)]
The comment refers to the wrong path (should have been languages/classes/LanguageXx.php). Instead, refer to Names.php because it is a complete list (there is e.g. no LanguageNl.php file).
Robin Pepermans [Fri, 24 Jun 2011 00:07:57 +0000 (00:07 +0000)]
localization statistics (transstat.php) now excludes language codes in $wgDummyLanguageCodes (they have always 0%), with a list of them in the description.
Brian Wolff [Thu, 23 Jun 2011 23:25:49 +0000 (23:25 +0000)]
Per CR on r86169, start adding unit tests for metadata extraction.
This is just some initial tests that really only cover png's. I plan
to add more soon.
Also well I'm here, fix the svn prop on broken_exif_date.jpg from r90421.
Derk-Jan Hartman [Thu, 23 Jun 2011 21:26:21 +0000 (21:26 +0000)]
Switch jquery.sortable to use mw-sortable and mw-unsortable classes, to be in line with makeCollapsible. Support for legacy .sortable remains.
Follow up to r86088
Raimond Spekking [Thu, 23 Jun 2011 20:36:17 +0000 (20:36 +0000)]
Localisation updates for core and extension messages from translatewiki.net (2011-06-23 20:15:00 UTC)
Leo Koppelkamm [Thu, 23 Jun 2011 20:21:04 +0000 (20:21 +0000)]
Two more tablesorting tests
Antoine Musso [Thu, 23 Jun 2011 20:05:32 +0000 (20:05 +0000)]
update tests for Xml::label which now support 'title' attribute
follow up r90669
Antoine Musso [Thu, 23 Jun 2011 20:00:05 +0000 (20:00 +0000)]
Add tooltips to the Special:Recentchanges checkboxes
follow up r83110
Antoine Musso [Thu, 23 Jun 2011 19:57:52 +0000 (19:57 +0000)]
Xml::label now apply the 'title' attribute when provided
Alexandre Emsenhuber [Thu, 23 Jun 2011 18:42:51 +0000 (18:42 +0000)]
Fix for r86722: pass the message 'dberrortext' unescaped to the output since it contains. I really don't like to pass unescaped messages to the output *sigh*
Derk-Jan Hartman [Thu, 23 Jun 2011 17:20:54 +0000 (17:20 +0000)]
Set window.wgMonthNamesShort before we start the tests, to be able to pass added-globals detection.
Follow up to r90655
Derk-Jan Hartman [Thu, 23 Jun 2011 17:12:36 +0000 (17:12 +0000)]
Fix global var leaking that was making collationsort fail on Safari 5
Followup to r86088.
Matěj Grabovský [Thu, 23 Jun 2011 15:25:07 +0000 (15:25 +0000)]
wfArrayToCGI() and wfCgiToArray() now handle nested and associative arrays almost correctly
The only problem is that all the indexes have to be set, thus "key[]=value" won't get parsed correctly and array( 'key' => array( 'value' ) ) will transform to "key[0]=value".
Related bug 28928 and bug 22989.
Sam Reed [Thu, 23 Jun 2011 09:26:48 +0000 (09:26 +0000)]
Followup r85596, recursiveTagParse returns a string, not a parser output object
Leo Koppelkamm [Thu, 23 Jun 2011 08:31:00 +0000 (08:31 +0000)]
Adding rowspan tests to tablesorting & make it more stable
Leo Koppelkamm [Thu, 23 Jun 2011 07:39:56 +0000 (07:39 +0000)]
Adding a collation test to tablesorter, fixing var ref from r90630
Brian Wolff [Thu, 23 Jun 2011 04:57:14 +0000 (04:57 +0000)]
Someone on irc had a very screwed up DB, and he reported that the updater gave a fatal error
when trying to update (appearently did not have a recentchanges table, and one of the db
functions returned false, which the updater did not expect). Add check for that since I figure
an exception is much better than a fatal error.
The relavent error this potentially stops is:
Fatal error: Call to a member function isMultipleKey() on a non-object in /../includes/installer/MysqlUpdater.php on line 249"
Not sure if the updater should do something better than an exception, but it seems like
a much better situation than the fatal.
In practise, I think it is rare that this situation would arise.
Tim Starling [Thu, 23 Jun 2011 03:14:11 +0000 (03:14 +0000)]
General database-related code cleanup:
* Merged the 4 simulated implementations of Database*::replace(). I took diffs, they were nearly identical. I made one based on the IBM DB2 version, since it used insert() which looked like a nice touch.
* Provided the non-simulated implementation of Database*::replace() via a protected member function, and made DatabaseMysql::replace() and DatabaseSqlite::replace() into a wrapper for it.
* Moved the MySQL-specific functionality from masterPosWait(), getSlavePos() and getMasterPos() from DatabaseBase to DatabaseMysql.
* Renamed getStatus() to getMysqlStatus() and moved it to DatabaseMysql. Removed "unimplemented" errors from two other subclasses. Really there's no way another DBMS could or should implement this function.
* Split the LoadMonitor class into a no-op class and a MySQL-specific class, to avoid fatal errors due to the getMysqlStatus() call if other DBMSs tried to use LoadBalancer with multiple servers. Of course there are lots of other reasons it won't work, I'm just fixing the architecture issue here.
And while I have a replicated test setup handy:
* On MySQL 4.1.9 and later, use SHOW SLAVE STATUS to get the lag instead of SHOW PROCESSLIST. This has the advantage of reading zero when there are no events for a while.
Brion Vibber [Thu, 23 Jun 2011 00:37:23 +0000 (00:37 +0000)]
Followup r86088: test cases and a correction for bug 17141 (IPv4 address sorting)
Test lists 8 randomly generated IPv4 addresses and attempts to sort them both forward and back.
Turned up a bug where single-digit octets (eg a .1 or .9) were not expanded in the sort key, causing them to mis-sort.
Brion Vibber [Wed, 22 Jun 2011 23:47:29 +0000 (23:47 +0000)]
Followup r90595, r90626: remove async magic from table sorter tests now that the setTimeout has been removed from the sorting click handler. Keeps things a little simpler and more reliable. :)
Leo Koppelkamm [Wed, 22 Jun 2011 23:22:12 +0000 (23:22 +0000)]
Revert accidental change from r90630
Brion Vibber [Wed, 22 Jun 2011 23:19:00 +0000 (23:19 +0000)]
Followup r86088, r87244, r90612: fix jquery.tablesorter for null collation table on IE
Attempt to build a regex from an empty list failed when calling new RegEx('[]', 'ig') on IE 6/7/8.
Now allowing null for the object, and also not trying to create the regex even if we have an empty object just in case.
Leo Koppelkamm [Wed, 22 Jun 2011 23:03:12 +0000 (23:03 +0000)]
Tablesorter: Remove not really necessary setTimeout.
Brion Vibber [Wed, 22 Jun 2011 22:24:49 +0000 (22:24 +0000)]
Followup r87243: qunit test cases for bug 28775 (German-style date sorting)
Leo Koppelkamm [Wed, 22 Jun 2011 22:21:57 +0000 (22:21 +0000)]
Hopefully fix IE6 regex tablesorter issue
Sam Reed [Wed, 22 Jun 2011 22:13:53 +0000 (22:13 +0000)]
require_once( dirname( dirname( __FILE__ ) ) . '/includes/upload/UploadFromUrlTest.php' );
Followup r90607
Sam Reed [Wed, 22 Jun 2011 22:11:31 +0000 (22:11 +0000)]
require_once dirname( dirname( __FILE__ ) ) . '/api/ApiSetup.php';
Followup r90607
Krinkle [Wed, 22 Jun 2011 22:04:00 +0000 (22:04 +0000)]
Fix dependancy order (before instead of after the main module).
Brion Vibber [Wed, 22 Jun 2011 21:56:18 +0000 (21:56 +0000)]
Followup r90595: Tweak tablesorter tests so they run on r86088 version of jquery.tablesorter.js -- which actually passes these tests. The key regressions appear to have come in in r86337.
Leo Koppelkamm [Wed, 22 Jun 2011 21:54:18 +0000 (21:54 +0000)]
Fix tablesorting bug that caused weird interferences between two tables; Make regex more strict to avoid mismatches. All QUnit tests pass now
Chad Horohoe [Wed, 22 Jun 2011 21:48:46 +0000 (21:48 +0000)]
Make Maintenance::error() more useful in dying situations by turning the second parameter into an int to allow dying errors to specify an exit code. Bool t/f will still work for b/c
Sam Reed [Wed, 22 Jun 2011 21:38:02 +0000 (21:38 +0000)]
Fix code style
Platonides [Wed, 22 Jun 2011 21:36:42 +0000 (21:36 +0000)]
Remove unused global $wgContLang
Sam Reed [Wed, 22 Jun 2011 21:34:18 +0000 (21:34 +0000)]
Move upload tests to upload folder
Sam Reed [Wed, 22 Jun 2011 21:32:42 +0000 (21:32 +0000)]
Kill var_dump from r90603
Krinkle [Wed, 22 Jun 2011 21:27:12 +0000 (21:27 +0000)]
New mediawiki.page modules
First step towards cleaning up mw.util.init and removing bugus dependancies on mediawiki.util which are just added there in order to load them on every page and do something on-load.
Introducing mediawiki.page.startup (in the head) and mediawiki.page.ready (on the bottom)
Moved the following to them:
* document.ready from jquery.cient
-- Shouldn't have been in the plugin itself in the first place
* jquery.placeholder
* jquery.makeCollapsible
* mediawiki.action.view.tablesorting
* jquery.checkboxShiftClick
(This also solves part of bug 26799)
Platonides [Wed, 22 Jun 2011 21:07:48 +0000 (21:07 +0000)]
Follow up r86623. Remember to add the proper wfProfileOut when you add a new path to exit a profiled function.
Platonides [Wed, 22 Jun 2011 21:02:07 +0000 (21:02 +0000)]
Readd r90538, this time with the missing global $wgHooks;
Derk-Jan Hartman [Wed, 22 Jun 2011 20:40:00 +0000 (20:40 +0000)]
Fix global var leaks in jquery.tablersorter.js
Raimond Spekking [Wed, 22 Jun 2011 20:28:03 +0000 (20:28 +0000)]
Localisation updates for core and extension messages from translatewiki.net (2011-06-22 20:10:00 UTC)
Brion Vibber [Wed, 22 Jun 2011 19:30:31 +0000 (19:30 +0000)]
Add initial QUnit JS test cases for jquery.tablesorter -- NOTE THERE ARE IN FACT REGRESSIONS FROM 1.17 VISIBLE HERE!
The numeric sorting doesn't work correctly, and the alphabetic sorting sometimes returns wrong results.
Alexandre Emsenhuber [Wed, 22 Jun 2011 18:24:58 +0000 (18:24 +0000)]
Updated calls to Linker to call them statically and removed useless parameter to OutputPage::getSkin()
Alexandre Emsenhuber [Wed, 22 Jun 2011 18:02:28 +0000 (18:02 +0000)]
Removed usage of error suppression operator
Alexandre Emsenhuber [Wed, 22 Jun 2011 17:45:31 +0000 (17:45 +0000)]
Removed hidden usage of $wgTitle in parser and the workarround in ExtraParserTest.php
Matěj Grabovský [Wed, 22 Jun 2011 14:59:05 +0000 (14:59 +0000)]
Follow-up r90482: escape some more wikitext
Matěj Grabovský [Wed, 22 Jun 2011 14:51:25 +0000 (14:51 +0000)]
Follow-up r90359: modify code per Krinkle's comments
Jure Kajzer [Wed, 22 Jun 2011 14:10:55 +0000 (14:10 +0000)]
* removed DEFAULT '' NOT NULL constraints as '' is internaly converted to NULL in Oracle and throws an error
* fixed tableName handling doSchemaUpgrade17 (must be careful to avoid multiple tableName calls as names don't get taged in DDL mode)
* exit/reenter DDL mode on updatelog inserts
Matěj Grabovský [Wed, 22 Jun 2011 13:35:24 +0000 (13:35 +0000)]
Follow-up r90369: Add third parameter to filetype-unwanted-type (for PLURAL)
Also use params() insted of numParams() on an ocassion, as it's not really needed there
Robin Pepermans [Wed, 22 Jun 2011 13:10:46 +0000 (13:10 +0000)]
Directionality improvements as part of bug 6100 (under $wgBetterDirectionality) for the File namespace:
* exclude File namespace from div with lang & dir attributes, since most information on file pages is in the user language
* add <div id="mw-imagepage-content"> around the actual wikitext that is in the content language
Sam Reed [Wed, 22 Jun 2011 00:37:34 +0000 (00:37 +0000)]
Fix comment formatting
Chad Horohoe [Wed, 22 Jun 2011 00:01:15 +0000 (00:01 +0000)]
Provisional revert of r90538. I can't replicate the failures, but CI's been complaining since this commit
Sam Reed [Tue, 21 Jun 2011 23:28:50 +0000 (23:28 +0000)]
Followup r90261
Restore returning old value
Chad Horohoe [Tue, 21 Jun 2011 21:38:29 +0000 (21:38 +0000)]
*grumble grumble* stupid fime on r90192
Chad Horohoe [Tue, 21 Jun 2011 21:14:26 +0000 (21:14 +0000)]
Followup r90020: use startid for consistency, and document endid
Raimond Spekking [Tue, 21 Jun 2011 20:39:02 +0000 (20:39 +0000)]
Localisation updates for core and extension messages from translatewiki.net (2011-06-21 20:15:00 UTC)
Alexandre Emsenhuber [Tue, 21 Jun 2011 20:05:00 +0000 (20:05 +0000)]
Simplify checks by using wfMessage() instead of wfEmptyMsg()
Platonides [Tue, 21 Jun 2011 17:41:25 +0000 (17:41 +0000)]
UploadTest::testTitleValidation accessed the database to fetch the interwikis.
phase3/includes/upload/UploadBase.php:620
phase3/tests/phpunit/includes/UploadTest.php:120
phase3/tests/phpunit/includes/UploadTest.php:55
phase3/tests/phpunit/includes/UploadTest.php:35
$wgContLang not needed, TitlePermissionTest.php changes the language, inheriting from MediaWikiLangTestCase
Platonides [Tue, 21 Jun 2011 15:13:03 +0000 (15:13 +0000)]
Follow up with the problem noted in r90530.
You can't pass the result of a function to reset(), since it expects a reference.
Those random errors show now as UploadStashFileException: error storing file in
'tests/phpunit/includes/upload/bug29408.': fileexistserror images/temp/0/02/
20110621151405!bug29408.
because it gets run twice in the same second.
Platonides [Tue, 21 Jun 2011 15:06:59 +0000 (15:06 +0000)]
Revert r90483, if tesla has problems, it should get proper permissions to the affected folders (or change the test to use a temp folder)
The test was not consistent, since first time it would use the svn file, which renames it... and on next run it would be missing!
I added the '.' to the unlik() step so it properly cleans up. Opened bug 29512 for the strange UploadStash behavior.
However, although it passes now most of the times, it sometimes fails with the strange exception:
Only variables should be passed by reference
phase3/includes/upload/UploadStash.php:143
phase3/tests/phpunit/includes/upload/UploadStashTest.php:22
phase3/tests/phpunit/MediaWikiTestCase.php:64
phase3/tests/phpunit/MediaWikiPHPUnitCommand.php:20
phase3/tests/phpunit/phpunit.php:60
Rotem Liss [Tue, 21 Jun 2011 14:12:15 +0000 (14:12 +0000)]
Localization update for he.
Robin Pepermans [Tue, 21 Jun 2011 12:16:01 +0000 (12:16 +0000)]
Fix r90500: move release note from API to bug fixes section
Robin Pepermans [Tue, 21 Jun 2011 10:14:34 +0000 (10:14 +0000)]
* Improvements as part of bug 6100: Use wfUILang() instead of $wgContLang where appropriate
* Remove $wgContLang in SpecialVersion per r90302
Robin Pepermans [Tue, 21 Jun 2011 09:45:06 +0000 (09:45 +0000)]
Per comment by Platonides on r90337: use wfGetLangObj() instead of Language::factory() and this->mPageLanguage is not needed
Alexandre Emsenhuber [Tue, 21 Jun 2011 07:43:27 +0000 (07:43 +0000)]
* Made $useDB parameter of wfMsgGetKey() optional as in wfMsgReal() and removed it where possible
* Removed it from the call to wfMsgReal() in wfMsg() too
Neil Kandalgaonkar [Tue, 21 Jun 2011 03:40:53 +0000 (03:40 +0000)]
create images with orientation (had to use exiv2 hack, imagemagick not helpful)