Showing with 478 additions and 220 deletions.
  1. +2 −0 .gitignore
  2. +116 −58 .htaccess.default
  3. +74 −0 CHANGELOG.md
  4. +42 −3 contao/help.php
  5. +4 −0 cron.php
  6. +1 −2 plugins/idna/idna_convert.class.php
  7. BIN plugins/mediabox/1.4.6/NonverBlaster.swf
  8. +4 −0 plugins/mediabox/1.4.6/js/mediabox-uncompressed.js
  9. +1 −1 plugins/mediabox/1.4.6/js/mediabox.js
  10. +5 −5 plugins/simplepie/simplepie.inc
  11. +1 −6 plugins/stylect/js/stylect-uncompressed.js
  12. +1 −1 plugins/stylect/js/stylect.js
  13. +3 −3 system/constants.php
  14. +8 −1 system/drivers/DC_Folder.php
  15. +4 −53 system/drivers/DC_Table.php
  16. +1 −1 system/functions.php
  17. +0 −3 system/libraries/Combiner.php
  18. +66 −9 system/libraries/Controller.php
  19. +1 −0 system/libraries/Date.php
  20. +2 −2 system/libraries/Search.php
  21. +4 −3 system/libraries/String.php
  22. +12 −2 system/libraries/System.php
  23. +5 −2 system/libraries/Widget.php
  24. +7 −2 system/modules/backend/Backend.php
  25. +0 −2 system/modules/backend/BackendModule.php
  26. +1 −2 system/modules/backend/DataContainer.php
  27. +15 −13 system/modules/backend/FileUpload.php
  28. +16 −16 system/modules/backend/StyleSheets.php
  29. +3 −3 system/modules/backend/dca/tl_content.php
  30. +2 −1 system/modules/backend/dca/tl_form_field.php
  31. +3 −2 system/modules/backend/dca/tl_page.php
  32. +1 −0 system/modules/backend/dca/tl_style.php
  33. +19 −0 system/modules/backend/templates/be_install.html5
  34. +1 −1 system/modules/backend/templates/be_login.html5
  35. +1 −1 system/modules/calendar/Events.php
  36. +1 −1 system/modules/calendar/ModuleEventlist.php
  37. +5 −1 system/modules/comments/Comments.php
  38. +1 −1 system/modules/comments/templates/ce_comments.html5
  39. +1 −1 system/modules/comments/templates/ce_comments.xhtml
  40. +1 −1 system/modules/faq/ModuleFaqList.php
  41. +1 −1 system/modules/faq/ModuleFaqPage.php
  42. +1 −1 system/modules/frontend/ContentGallery.php
  43. +1 −1 system/modules/frontend/ContentHyperlink.php
  44. +1 −1 system/modules/frontend/Form.php
  45. +2 −1 system/modules/frontend/FrontendTemplate.php
  46. +2 −2 system/modules/frontend/Module.php
  47. +2 −2 system/modules/frontend/ModuleCustomnav.php
  48. +1 −1 system/modules/listing/ModuleListing.php
  49. +1 −1 system/modules/news/ModuleNews.php
  50. +1 −1 system/modules/news/ModuleNewsArchive.php
  51. +1 −1 system/modules/news/ModuleNewsList.php
  52. +3 −0 system/modules/rep_base/RepositorySettings.php
  53. +2 −1 system/modules/rep_client/RepositoryCatalog.php
  54. +1 −1 system/modules/rep_client/RepositoryManager.php
  55. +1 −0 system/modules/rep_client/languages/de/tl_repository.php
  56. +1 −0 system/modules/rep_client/languages/en/tl_repository.php
  57. +1 −1 system/modules/rep_client/templates/repository_catlist.html5
  58. +7 −0 system/modules/tasks/ModuleTasks.php
  59. +1 −1 system/themes/default/main.css
  60. +12 −0 system/themes/default/src/main.css
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ nbproject/
assets/css/*
assets/images/*
assets/js/*
share/
system/cache/
system/cron/
system/html/*
system/logs/*
system/scripts/*
Expand Down
174 changes: 116 additions & 58 deletions .htaccess.default
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@
# @see http://developer.yahoo.com/performance/rules.html#etags
##
FileETag None
<IfModule mod_headers.c>
Header unset ETag
</IfModule>

##
# Prevent access to the Contao template files
Expand All @@ -38,76 +41,131 @@ FileETag None
Deny from all
</FilesMatch>

##
# Set the proper MIME types
# @see https://github.com/h5bp/html5-boilerplate
##
<IfModule mod_mime.c>

##
# Serve the correct content type for .htc files (CSS3 PIE)
# @see http://css3pie.com/documentation/known-issues/#content-type
##
AddType text/x-component .htc

# JavaScript
AddType application/javascript js jsonp
AddType application/json json
# Audio
AddType audio/ogg oga ogg
AddType audio/mp4 m4a f4a f4b
# Video
AddType video/ogg ogv
AddType video/mp4 mp4 m4v f4v f4p
AddType video/webm webm
AddType video/x-flv flv
# SVG
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
# Webfonts
AddType application/vnd.ms-fontobject eot
AddType application/x-font-ttf ttf ttc
AddType font/opentype otf
AddType application/x-font-woff woff
# Assorted types
AddType image/x-icon ico
AddType image/webp webp
AddType text/cache-manifest appcache manifest
AddType text/x-component htc
AddType application/xml rss atom xml rdf
AddType application/x-web-app-manifest+json webapp
AddType text/x-vcard vcf
AddType application/x-shockwave-flash swf
</IfModule>

##
# Gzip compression
# @see https://github.com/h5bp/html5-boilerplate
##
<IfModule mod_deflate.c>
# Current Apache versions (>= 2.2)
<IfModule filter_module>
FilterDeclare COMPRESS
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/html
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/css
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/plain
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/x-component
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/javascript
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/json
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/xhtml+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/rss+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/atom+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/vnd.ms-fontobject
FilterProvider COMPRESS DEFLATE resp=Content-Type $image/svg+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $image/x-icon
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/x-font-ttf
FilterProvider COMPRESS DEFLATE resp=Content-Type $font/opentype
FilterChain COMPRESS
FilterProtocol COMPRESS DEFLATE change=yes;byteranges=no
</IfModule>
# Legacy Apache versions
<IfModule !mod_filter.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml
AddOutputFilterByType DEFLATE image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype
</IfModule>
</IfModule>

##
# Use mod_deflate to compress JavaScript, CSS, XML, HTML and PHP files.
# @see http://developer.yahoo.com/performance/rules.html#gzip
##
<FilesMatch "\.(css|js|xml|html?|php)$">
SetOutputFilter DEFLATE
</FilesMatch>

##
# Expires headers (for better cache control)
# @see https://github.com/h5bp/html5-boilerplate
##
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType text/cache-manifest "access plus 0 seconds"
ExpiresByType text/html "access plus 0 seconds"
# Data
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"
# Feed
ExpiresByType application/rss+xml "access plus 1 hour"
ExpiresByType application/atom+xml "access plus 1 hour"
# Media: images, video, audio
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
# HTC files (css3pie)
ExpiresByType text/x-component "access plus 1 month"
# Webfonts
ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
# CSS and JavaScript
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
</IfModule>

##
# Add a Vary Accept-Encoding header for the compressed resources. If you
# modify the file types above, make sure to change them here accordingly.
# @see http://developer.yahoo.com/performance/rules.html#gzip
##
<IfModule mod_headers.c>

##
# Disable ETags
# @see http://developer.yahoo.com/performance/rules.html#etags
##
Header unset ETag

##
# Add a Vary Accept-Encoding header for the compressed resources. If you
# modify the file types above, make sure to change them here accordingly.
# @see http://developer.yahoo.com/performance/rules.html#gzip
##
<FilesMatch "\.(js|css|xml|gz)$">
Header append Vary Accept-Encoding
</FilesMatch>

</IfModule>

<IfModule mod_expires.c>

##
# Activate the module
##
ExpiresActive On

##
# Specify an expiration 30 days in the future for images, JavaScripts and
# CSS files. Edit or remove the lines to set up your own expiration logic.
# @see http://developer.yahoo.com/performance/rules.html#expires
##
ExpiresByType image/png A2592000
ExpiresByType image/gif A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/javascript A2592000
ExpiresByType application/x-javascript A2592000
ExpiresByType application/javascript A2592000
ExpiresByType text/css A2592000
ExpiresByType image/x-icon A2592000

</IfModule>

##
# URL rewriting
##
<IfModule mod_rewrite.c>

##
# Activate the module
##
RewriteEngine On

##
Expand Down Expand Up @@ -148,7 +206,7 @@ FileETag None
# Do not rewrite requests for static files or folders such as style sheets,
# images, movies or text documents. Do not add the URL suffix here!
##
<FilesMatch "\.(png|gif|jpe?g|js|css|ico|php|xml|csv|txt|gz|swf|flv|eot|woff|svg|ttf|htm)$">
<FilesMatch "\.(htm|php|js|css|htc|png|gif|jpe?g|ico|xml|csv|txt|swf|flv|eot|woff|svg|ttf|pdf|gz)$">
RewriteEngine Off
</FilesMatch>

Expand All @@ -165,7 +223,6 @@ FileETag None
# line to prevent URLs that point to folders from being rewritten (see #4031).
#
# RewriteCond %{REQUEST_FILENAME} !-d
# RewriteRule .* index.php [L]
#
# If you are using mod_cache, it is recommended to use the RewriteRule below,
# which adds the query string to the internal URL:
Expand All @@ -174,6 +231,7 @@ FileETag None
#
# Note that not all environments support mod_rewrite and mod_cache.
##
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .*\.html$ index.php [L]

##
Expand Down
74 changes: 74 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,80 @@
Contao Open Source CMS Changelog
================================

Version 2.11.3 (2012-05-04)
---------------------------

### Fixed
Always check all modules when looking for `runonce.php` files (see #4200).

### Fixed
Correctly insert the date picker in the DOM tree (see #4158).

### Fixed
Open popup windows so they are not blocked (see #4243).

### Fixed
Replaced `is_a()` with `instanceof` in the simplepie plugin (see #4212).

### Fixed
Use `round()` instead of `ceil()` when resizing images (see #3806).

### Fixed
Correctly handle empty FAQ categories in the front end modules (see #4084).

### Fixed
The comments module does no longer throw an error if there are no comments and
the number of comments per page is greater 0 (see #4064).

### Fixed
Correctly sort content element and module types in the help wizard (see #4156).

### Fixed
Add the admin e-mail address of a website root page to the page object so it can
be used in the form generator (see #4115).

### Fixed
Add a "protected" icon to subpages of a protected page (see #4123).

### Fixed
Allow "disabled" and "readonly" attributes in the back end (see #4131).

### Fixed
Add a log entry if a new version is created by toggling the visibility of an
element via Ajax (see #4163).

### Fixed
Re-added the version 2.9.2 update code in the install tool template (see #4165).

### Fixed
Correctly check the permission to edit tasks (see #4140).

### Fixed
Check the uploader class before instantiation (see #4086).

### Fixed
Convert the "rel" attribute inserted by TinyMCE to a "data-lightbox" attribute
if it is an HTML5 page (see #4073).

### Fixed
Uploaded files should now be resized correctly (see #3806).

### Fixed
Fixed the "setCookie" hook (see #4116).

### Fixed
Fixed the mediabox .mp4 file not found issue (see #4066).

### Fixed
The stylect menus in the module wizard are now duplicated correctly (see #4079).

### Fixed
Define `BE|FE_USER_LOGGED_IN` in the cron script (see #4099).

### Fixed
Correctly align the versions drop-down menu (see #4083).


Version 2.11.2 (2012-03-14)
---------------------------

Expand Down
45 changes: 42 additions & 3 deletions contao/help.php
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,49 @@ public function run()
$this->loadDataContainer($table);

$this->Template = new BackendTemplate('be_help');
$this->Template->rows = array();
$this->Template->explanation = '';

$arrData = $GLOBALS['TL_DCA'][$table]['fields'][$field];

// Add reference
if (!empty($arrData['reference']))
// Front end modules
if ($table == 'tl_module' && $field == 'type')
{
$rows = array();

foreach (array_keys($GLOBALS['FE_MOD']) as $group)
{
$rows[] = array('colspan', $arrData['reference'][$group]);

foreach ($GLOBALS['FE_MOD'][$group] as $module=>$class)
{
$rows[] = $arrData['reference'][$module];
}
}

$this->Template->rows = $rows;
}

// Content elements
if ($table == 'tl_content' && $field == 'type')
{
$rows = array();

foreach (array_keys($GLOBALS['TL_CTE']) as $group)
{
$rows[] = array('colspan', $arrData['reference'][$group]);

foreach ($GLOBALS['TL_CTE'][$group] as $element=>$class)
{
$rows[] = $arrData['reference'][$element];
}
}

$this->Template->rows = $rows;
}

// Add the reference
elseif (!empty($arrData['reference']))
{
$rows = array();
$options = is_array($arrData['options']) ? $arrData['options'] : array_keys($arrData['reference']);
Expand Down Expand Up @@ -115,7 +154,7 @@ public function run()
$this->Template->rows = $rows;
}

// Add explanation
// Add an explanation
if (isset($arrData['explanation']))
{
$this->loadLanguageFile('explain');
Expand Down
4 changes: 4 additions & 0 deletions cron.php
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ class CronJob extends Frontend
public function __construct()
{
parent::__construct();

// See #4099
define('BE_USER_LOGGED_IN', false);
define('FE_USER_LOGGED_IN', false);
}


Expand Down
3 changes: 1 addition & 2 deletions plugins/idna/idna_convert.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -971,9 +971,8 @@ protected static function byteLength($string)
if (self::$_mb_string_overload) {
return mb_strlen($string, '8bit');
}
// PATCH: support PHP 5.2 (see #4044)
//return strlen((binary) $string);
return version_compare(PHP_VERSION, '5.3.0', '>=') ? strlen((binary) $string) : count(unpack('c*', $string));
return utf8_strlen($string); // PATCH: support PHP 5.2 (see #4044)
}

/**
Expand Down
Binary file modified plugins/mediabox/1.4.6/NonverBlaster.swf
Binary file not shown.
Loading